      :root{
        --navy:#0D2B4E;
        --navy-deep:#060f1a;
        --navy-mid:#1A3F6E;
        --blue:#1A6FBF;
        --blue-light:#2E8DE8;
        --gold:#F5A623;
        --gold-dark:#D4891A;
        --red:#EF4444;
        --green:#059669;
        --white:#fff;
        --gray-100:#F1F5F9;
        --gray-200:#E2E8F0;
        --gray-400:#94A3B8;
        --gray-600:#475569;
      }

/* Blocksy's parent stylesheet sets a direct colour on h1-h6, which overrides
   colour inherited from a dark section wrapper. These pages are full-canvas
   and expect headings to inherit, so restore that. Specificity of 0,0,2 beats
   Blocksy's 0,0,1 regardless of stylesheet load order. Any explicit rule of
   ours (.hero h1, .cta-bg h2) still wins. */
body h1, body h2, body h3, body h4, body h5, body h6 { color: inherit; }

      *{
        margin:0;
        padding:0;
        box-sizing:border-box;
      }
      html{
        scroll-behavior:smooth;
      }
      body{
        font-family:'DM Sans',sans-serif;
        color:var(--navy);
        overflow-x:hidden;
      }
      h1,h2,h3,h4,h5{
        font-family:'Sora',sans-serif;
      }
      a{
        text-decoration:none;
        color:inherit;
      }
      .btn:hover,.btn-gold:hover,.nav-cta:hover,a.btn:hover,.hero-cta-row a:hover{
        text-decoration:none;
      }
      .wrap{
        max-width:1180px;
        margin:0 auto;
        padding:0 24px;
      }
      .btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:15px 30px;
        border-radius:12px;
        font-weight:700;
        font-family:'Sora',sans-serif;
        font-size:16px;
        cursor:pointer;
        border:none;
        transition:all .3s;
      }
      .btn-gold{
        background:linear-gradient(135deg,var(--gold),#FFB84D);
        color:var(--navy);
        box-shadow:0 4px 20px rgba(245,166,35,0.35);
        text-decoration:none;
      }
      .btn-gold:hover{
        transform:translateY(-2px);
        color:var(--navy);
        text-decoration:none;
        box-shadow:0 8px 30px rgba(245,166,35,0.55),0 0 20px rgba(245,166,35,0.4);
      }
      .btn-ghost{
        border:1.5px solid rgba(255,255,255,0.25);
        color:#fff;
        backdrop-filter:blur(4px);
        text-decoration:none;
        transition:border-color .3s,background .3s,box-shadow .3s,transform .3s;
      }
      .btn-ghost:hover{
        border-color:rgba(255,255,255,0.6);
        background:rgba(255,255,255,0.08);
        color:#fff;
        text-decoration:none;
        transform:translateY(-2px);
        box-shadow:0 0 18px rgba(255,255,255,0.15);
      }
      /* === STICKY BAR === */
      .sticky-bar{
        background:var(--navy-deep);
        color:#fff;
        text-align:center;
        padding:9px 16px;
        font-size:13px;
        font-weight:600;
        font-family:'Sora',sans-serif;
        letter-spacing:.02em;
      }
      .sticky-bar span{
        color:var(--gold);
      }
      /* === NAV === */
      .nav-glass{
        background:rgba(255,255,255,0.9);
        backdrop-filter:blur(20px);
        border-bottom:1px solid rgba(226,232,240,0.6);
        position:sticky;
        top:0;
        z-index:50;
      }
      .nav-inner{
        max-width:1180px;
        margin:0 auto;
        padding:16px 24px;
        display:flex;
        align-items:center;
        justify-content:space-between;
      }
      .logo{
        display:flex;
        align-items:center;
        gap:9px;
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:19px;
        color:var(--navy);
      }
      .logo-mark{
        width:30px;
        height:34px;
        display:flex;
        align-items:center;
        justify-content:center;
      }
      .logo-mark img{
        width:100%;
        height:auto;
        display:block;
      }
      .nav-links{
        display:flex;
        align-items:center;
        gap:28px;
        font-size:14.5px;
        font-weight:600;
        color:var(--navy);
      }
      .nav-links a{
        transition:color .3s;
      }
      .nav-links a:hover{
        color:var(--blue);
      }
      .nav-dropdown{
        position:relative;
      }
      .nav-dropdown > a{
        cursor:default;
      }
      .nav-dropdown-menu{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .16s ease, transform .16s ease, visibility 0s linear .5s;
        position:absolute;
        top:100%;
        margin-top:12px;
        left:50%;
        transform:translateX(-50%) translateY(-6px);
        background:#fff;
        border:1px solid var(--gray-200);
        border-radius:14px;
        box-shadow:0 20px 45px rgba(13,43,78,0.14);
        padding:10px;
        min-width:230px;
        z-index:60;
      }
      /* Invisible bridge across the gap between trigger and menu, so moving the
         cursor down does not drop the hover and close it. */
      .nav-dropdown::after{
        content:'';
        position:absolute;
        top:100%;
        left:-10px;
        right:-10px;
        height:22px;
      }
      .nav-dropdown:hover .nav-dropdown-menu,
      .nav-dropdown:focus-within .nav-dropdown-menu{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateX(-50%) translateY(0);
        transition-delay:0s;
      }
      .nav-dropdown-menu a{
        display:flex;
        align-items:center;
        gap:9px;
        padding:10px 12px;
        border-radius:9px;
        font-size:14px;
        font-weight:600;
        color:var(--navy);
      }
      .ndm-icon{
        width:20px;
        height:22px;
        min-width:20px;
        display:inline-flex;
      }
      .ndm-icon svg{
        width:20px;
        height:22px;
      }
      .nav-dropdown-menu a:hover .sh-shield{
        stroke:url(#sh-stroke-hover);
      }
      .nav-dropdown-menu a:hover .sh-glyph{
        stroke:#197CD7;
      }
      .nav-dropdown-menu a:hover .sh-glyph-f{
        fill:#197CD7;
      }
      .nav-dropdown-menu a:hover{
        background:var(--gray-100);
        color:var(--blue);
      }
      .nav-dropdown-menu .ndm-overview{
        border-bottom:1px solid var(--gray-100);
        margin-bottom:6px;
        padding-bottom:12px;
        color:var(--blue);
        font-weight:700;
      }
      .nav-dropdown-menu .ndm-sub{
        padding:5px 12px 7px 41px;
        font-size:12.5px;
        font-weight:600;
        color:var(--gray-600);
      }
      .nav-dropdown-menu .ndm-sub:hover{
        color:var(--blue);
        background:var(--gray-100);
      }
      /* MOBILE NAV */
      .nav-burger{
        display:none;
        background:none;
        border:0;
        cursor:pointer;
        padding:8px 4px;
        flex-direction:column;
        gap:5px;
      }
      .nav-burger span{
        display:block;
        width:24px;
        height:2.5px;
        background:var(--navy);
        border-radius:2px;
        transition:transform .3s,opacity .3s;
      }
      .nav-burger.open span:nth-child(1){
        transform:translateY(7.5px) rotate(45deg);
      }
      .nav-burger.open span:nth-child(2){
        opacity:0;
      }
      .nav-burger.open span:nth-child(3){
        transform:translateY(-7.5px) rotate(-45deg);
      }
      .mobile-menu{
        display:none;
        background:#fff;
        border-top:1px solid var(--gray-100);
        padding:6px 24px 22px;
        max-height:calc(100vh - 80px);
        overflow-y:auto;
      }
      .mobile-menu a{
        display:block;
        padding:12px 4px;
        font-size:15px;
        font-weight:600;
        color:var(--navy);
        text-decoration:none;
        border-bottom:1px solid var(--gray-100);
      }
      .mobile-menu .mm-group{
        font-family:'Sora',sans-serif;
        font-size:11px;
        font-weight:700;
        letter-spacing:0.1em;
        text-transform:uppercase;
        color:var(--gray-400);
        padding:16px 4px 6px;
      }
      .mobile-menu .mm-sub{
        padding-left:20px;
        font-size:14px;
        color:var(--gray-600);
      }
      .mobile-menu .mm-cta{
        background:var(--blue);
        color:#fff;
        text-align:center;
        border-radius:10px;
        margin-top:16px;
        border-bottom:none;
        padding:13px;
        font-family:'Sora',sans-serif;
      }
      .nav-cta{
        background:linear-gradient(135deg,var(--blue),var(--blue-light));
        color:#fff;
        padding:11px 22px;
        border-radius:10px;
        font-weight:700;
        font-size:14px;
        box-shadow:0 2px 12px rgba(26,111,191,0.25);
        transition:box-shadow .3s,transform .3s;
      }
      .nav-links a.nav-cta:hover{
        color:#fff;
        text-decoration:none;
        transform:translateY(-1px);
        box-shadow:0 4px 16px rgba(46,141,232,0.4);
      }
      /* === HERO === */
      .hero{
        background:linear-gradient(160deg,#091D38 0%,#0D2B4E 30%,#1A3F6E 60%,#1A6FBF 100%);
        position:relative;
        overflow:hidden;
        padding:88px 0 72px;
      }
      .hero-orb{
        position:absolute;
        border-radius:50%;
        filter:blur(80px);
        opacity:.25;
      }
      .hero-orb:nth-child(1){
        width:400px;
        height:400px;
        background:var(--blue);
        top:-100px;
        right:-100px;
      }
      .hero-orb:nth-child(2){
        width:300px;
        height:300px;
        background:var(--gold);
        bottom:-50px;
        left:-80px;
      }
      .hero-grid-bg{
        position:absolute;
        inset:0;
        background-image:radial-gradient(rgba(255,255,255,0.04) 1px,transparent 1px);
        background-size:40px 40px;
        pointer-events:none;
      }
      .hero-wrap{
        position:relative;
        z-index:1;
      }
      .hero-inner{
        display:grid;
        grid-template-columns:1.05fr 0.95fr;
        gap:52px;
        align-items:center;
        text-align:left;
      }
      .hero-left{
        max-width:560px;
      }
      .hero-video{
        position:relative;
      }
      .hv-frame{
        aspect-ratio:16/9;
        background:rgba(255,255,255,0.06);
        border:1px solid rgba(255,255,255,0.16);
        border-radius:18px;
        backdrop-filter:blur(8px);
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:15px;
        box-shadow:0 30px 70px rgba(6,15,26,0.45);
        cursor:pointer;
        transition:all .3s;
      }
      .hv-frame.video-live{
        padding:0;
        overflow:hidden;
        cursor:default;
        backdrop-filter:none;
      }
      .hv-frame.video-live wistia-player{
        width:100%;
        height:100%;
        border-radius:18px;
        overflow:hidden;
        display:block;
      }
      .hv-frame:hover{
        border-color:rgba(245,166,35,0.5);
        transform:translateY(-3px);
      }
      .hv-play{
        width:64px;
        height:64px;
        border-radius:50%;
        background:linear-gradient(135deg,var(--gold),#FFB84D);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:21px;
        color:var(--navy);
        box-shadow:0 8px 24px rgba(245,166,35,0.45);
        padding-left:4px;
      }
      .hv-label{
        font-size:13px;
        color:#cdd9ea;
        font-weight:600;
        font-family:'Sora',sans-serif;
      }
      .badge{
        display:inline-flex;
        align-items:center;
        gap:8px;
        background:rgba(245,166,35,0.14);
        border:1px solid rgba(245,166,35,0.35);
        color:var(--gold);
        padding:7px 18px;
        border-radius:999px;
        font-size:13px;
        font-weight:700;
        font-family:'Sora',sans-serif;
        margin-bottom:22px;
        letter-spacing:.05em;
      }
      .hero h1{
        font-size:clamp(28px,2.9vw,34px);
        line-height:1.18;
        color:#fff;
        font-weight:800;
        margin-bottom:18px;
        white-space:nowrap;
      }
      .hero h1 .hl{
        background:linear-gradient(90deg,var(--gold),#FFD580,var(--gold));
        background-size:200% auto;
        -webkit-background-clip:text;
        -webkit-text-fill-color:transparent;
        background-clip:text;
      }
      .hero p.sub{
        font-size:17.5px;
        color:#cdd9ea;
        margin:0 0 30px;
      }
      .hero-cta-row{
        display:flex;
        gap:14px;
        flex-wrap:wrap;
        margin-bottom:14px;
      }
      .hero-cta-note{
        font-size:12.5px;
        color:#9fb1c9;
      }
      .hero-stats{
        display:flex;
        justify-content:center;
        gap:16px;
        flex-wrap:wrap;
        margin-top:48px;
      }
      .stat-card{
        background:rgba(255,255,255,0.06);
        backdrop-filter:blur(8px);
        border:1px solid rgba(255,255,255,0.08);
        border-radius:16px;
        padding:18px 26px;
        text-align:center;
      }
      .stat-card .num{
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:24px;
        color:var(--gold);
      }
      .stat-card .lbl{
        font-size:12.5px;
        color:#aebdd2;
        margin-top:2px;
      }
      /* === SECTION COMMON === */
      section{
        padding:84px 0;
      }
      .eyebrow{
        display:inline-flex;
        align-items:center;
        gap:6px;
        background:#E8F3FC;
        color:var(--blue);
        padding:6px 16px;
        border-radius:100px;
        font-size:12px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.1em;
        font-family:'Sora',sans-serif;
        margin-bottom:14px;
      }
      .section-head{
        max-width:920px;
        margin:0 auto 52px;
        text-align:center;
      }
      .section-head h2{
        font-size:30px;
        line-height:1.25;
        color:var(--navy);
      }
      .section-head p{
        font-size:18.5px;
        color:var(--gray-600);
        margin:14px auto 0;
        max-width:660px;
      }
      .dark-section{
        background:linear-gradient(160deg,#091D38,var(--navy) 50%,var(--navy-mid) 100%);
        color:#fff;
      }
      .dark-section .section-head h2{
        color:#fff;
      }
      .dark-section .section-head p{
        color:#b9c6da;
      }
      .dark-section .eyebrow{
        background:rgba(245,166,35,0.14);
        color:var(--gold);
      }
      /* === PROBLEM CARDS === */
      .pgrid{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:20px;
      }
      .pcard{
        background:#fff;
        border:1px solid var(--gray-200);
        border-radius:16px;
        padding:26px;
        transition:all .3s;
      }
      .pcard:hover{
        transform:translateY(-5px);
        box-shadow:0 20px 40px rgba(13,43,78,0.1);
      }
      .picon{
        width:44px;
        height:49px;
        margin-bottom:16px;
      }
      .picon svg{
        width:44px;
        height:49px;
      }
      .picon .sh-shield{
        fill:url(#sh-fill-red);
        stroke:#DC5B4B;
      }
      .picon .sh-glyph{
        stroke:#8B2E22;
      }
      .picon .sh-glyph-f{
        fill:#8B2E22;
      }
      .pcard h3{
        font-size:16px;
        margin-bottom:8px;
      }
      .pcard p{
        font-size:16px;
        color:var(--gray-600);
        line-height:1.6;
      }
      /* === GROWTH SCORE TEASER === */
      .gs-section{
        background:linear-gradient(160deg,var(--navy-deep) 0%,#0a1f35 40%,var(--navy) 100%);
        position:relative;
        overflow:hidden;
      }
      .gs-section::before{
        content:'';
        position:absolute;
        inset:0;
        background-image:linear-gradient(rgba(26,111,191,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(26,111,191,0.06) 1px,transparent 1px);
        background-size:48px 48px;
        pointer-events:none;
      }
      .gs-inner{
        position:relative;
        z-index:1;
        display:grid;
        grid-template-columns:1.1fr 1fr;
        gap:52px;
        align-items:center;
        max-width:1060px;
        margin:0 auto;
      }
      .gs-copy .gs-eyebrow{
        display:inline-flex;
        background:rgba(245,166,35,0.12);
        border:1px solid rgba(245,166,35,0.3);
        color:var(--gold);
        padding:6px 18px;
        border-radius:100px;
        font-size:12px;
        font-weight:700;
        font-family:'Sora',sans-serif;
        letter-spacing:.1em;
        text-transform:uppercase;
        margin-bottom:18px;
      }
      .gs-copy h2{
        font-size:clamp(28px,3.6vw,40px);
        color:#fff;
        margin-bottom:16px;
        line-height:1.18;
      }
      .gs-copy h2 em{
        color:var(--gold);
        font-style:normal;
      }
      .gs-copy p{
        font-size:18px;
        color:rgba(255,255,255,0.65);
        margin-bottom:14px;
        line-height:1.7;
      }
      .gs-points{
        margin:20px 0 28px;
        display:flex;
        flex-direction:column;
        gap:10px;
      }
      .gs-points div{
        font-size:17px;
        color:#cdd9ea;
        display:flex;
        gap:9px;
        align-items:flex-start;
      }
      .gs-points div::before{
        content:"\2713";
        color:var(--gold);
        font-weight:800;
        flex-shrink:0;
      }
      .gs-mock{
        background:rgba(255,255,255,0.04);
        border:1px solid rgba(255,255,255,0.1);
        border-radius:20px;
        padding:26px;
        backdrop-filter:blur(8px);
      }
      .gs-slides{
        position:relative;
        height:340px;
      }
      .gs-slide{
        position:absolute;
        inset:0;
        opacity:0;
        transition:opacity .7s ease;
        pointer-events:none;
        display:flex;
        flex-direction:column;
        justify-content:center;
      }
      .gs-slide.active{
        opacity:1;
        pointer-events:auto;
      }
      .gs-slide-pill{
        align-self:center;
        font-size:10.5px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        color:var(--gold);
        background:rgba(245,166,35,0.14);
        border:1px solid rgba(245,166,35,0.3);
        padding:4px 14px;
        border-radius:999px;
        margin-bottom:12px;
        text-transform:uppercase;
        letter-spacing:.06em;
      }
      .gs-slide-card{
        background:#fff;
        border-radius:12px;
        padding:14px;
      }
      .gs-shot{
        flex:1;
        min-height:0;
        width:100%;
        object-fit:cover;
        object-position:top;
        border-radius:14px;
        border:1px solid rgba(255,255,255,0.14);
        box-shadow:0 12px 30px rgba(6,15,26,0.4);
      }
      .gs-dots{
        display:flex;
        gap:7px;
        justify-content:center;
        margin-top:16px;
      }
      .gs-dot{
        width:7px;
        height:7px;
        border-radius:50%;
        background:rgba(255,255,255,0.25);
        transition:background .3s;
      }
      .gs-dot.on{
        background:var(--gold);
      }
      .gs-mock-head{
        text-align:center;
        margin-bottom:22px;
      }
      .gs-mock-score{
        font-family:'Sora',sans-serif;
        font-size:44px;
        font-weight:800;
        background:linear-gradient(135deg,var(--gold),#FFD580);
        -webkit-background-clip:text;
        -webkit-text-fill-color:transparent;
        background-clip:text;
      }
      .gs-mock-sub{
        font-size:12px;
        color:rgba(255,255,255,0.5);
      }
      .gs-bar{
        margin-bottom:14px;
      }
      .gs-bar-top{
        display:flex;
        justify-content:space-between;
        font-size:12.5px;
        color:rgba(255,255,255,0.75);
        margin-bottom:6px;
        font-family:'Sora',sans-serif;
        font-weight:600;
      }
      .gs-bar-track{
        height:7px;
        background:rgba(255,255,255,0.08);
        border-radius:99px;
        overflow:hidden;
      }
      .gs-bar-fill{
        height:100%;
        border-radius:99px;
      }
      .fill-g{
        background:linear-gradient(90deg,#059669,#34D399);
      }
      .fill-m{
        background:linear-gradient(90deg,#D97706,#FBBF24);
      }
      .fill-r{
        background:linear-gradient(90deg,#DC2626,#F87171);
      }
      /* === ENGINES / JOURNEY === */
      .journey{
        max-width:840px;
        margin:0 auto;
      }
      .jrow{
        display:flex;
        gap:22px;
        align-items:flex-start;
        position:relative;
        padding-bottom:34px;
      }
      .jrow:last-child{
        padding-bottom:0;
      }
      .jrow::before{
        content:'';
        position:absolute;
        left:27px;
        top:56px;
        bottom:0;
        width:2.5px;
        background:linear-gradient(180deg,var(--gray-200),transparent);
      }
      .jrow:last-child::before{
        display:none;
      }
      .jicon{
        width:56px;
        height:56px;
        min-width:56px;
        border-radius:16px;
        background:linear-gradient(135deg,var(--navy),var(--navy-mid));
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:24px;
        box-shadow:0 6px 18px rgba(13,43,78,0.18);
        position:relative;
        z-index:1;
      }
      .jbody h3{
        font-size:17px;
        margin-bottom:4px;
      }
      .jbody .jtag{
        font-size:12px;
        font-weight:700;
        color:var(--blue);
        text-transform:uppercase;
        letter-spacing:.06em;
        font-family:'Sora',sans-serif;
        margin-bottom:8px;
      }
      .jbody p{
        font-size:17px;
        color:var(--gray-600);
        line-height:1.65;
        max-width:620px;
      }
      /* === ENGINE TABS (ServiceTitan-style) === */
      #engines{
        background:#F6F9FC;
      }
      .eng-layout{
        display:grid;
        grid-template-columns:0.9fr 1.1fr;
        gap:44px;
        align-items:start;
      }
      .eng-tabs{
        display:flex;
        flex-direction:column;
        gap:6px;
      }
      .eng-tab{
        display:flex;
        gap:14px;
        align-items:flex-start;
        padding:16px 18px;
        border-radius:14px;
        cursor:pointer;
        border:1.5px solid transparent;
        transition:all .25s;
        background:transparent;
        text-align:left;
        width:100%;
        font-family:'DM Sans',sans-serif;
      }
      .eng-tab:hover{
        background:rgba(255,255,255,0.7);
      }
      .eng-tab.active{
        background:#fff;
        border-color:var(--gray-200);
        box-shadow:0 14px 34px rgba(13,43,78,0.1);
      }
      .sh-shield{
        fill:url(#sh-fill);
        stroke:#F0B858;
        stroke-width:2.2;
        transition:stroke .25s;
      }
      .sh-glyph{
        fill:none;
        stroke:#0D3B60;
        stroke-width:2.6;
        stroke-linecap:round;
        stroke-linejoin:round;
        transition:stroke .25s;
      }
      .sh-glyph-f{
        fill:#0D3B60;
        stroke:none;
        transition:fill .25s;
      }
      .sh-num-box{
        fill:#FFFCF5;
        stroke:#F7DCA8;
        stroke-width:1.6;
        filter:drop-shadow(0 2px 4px rgba(240,184,88,0.3));
      }
      .sh-num{
        font-family:'Sora',sans-serif;
        font-weight:700;
        font-size:13px;
        fill:#0D3B60;
      }
      .eng-tab .et-icon{
        width:52px;
        height:58px;
        min-width:52px;
        display:flex;
        align-items:center;
        justify-content:center;
      }
      .eng-tab .et-icon svg{
        width:52px;
        height:58px;
      }
      .eng-tab:hover .et-icon .sh-shield,.eng-tab.active .et-icon .sh-shield{
        stroke:url(#sh-stroke-hover);
      }
      .eng-tab:hover .et-icon .sh-glyph,.eng-tab.active .et-icon .sh-glyph{
        stroke:#197CD7;
      }
      .eng-tab:hover .et-icon .sh-glyph-f,.eng-tab.active .et-icon .sh-glyph-f{
        fill:#197CD7;
      }
      .eng-tab h3{
        font-size:15.5px;
        color:var(--navy);
        margin-bottom:3px;
        font-family:'Sora',sans-serif;
      }
      .eng-tab .et-tag{
        font-size:10.5px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        color:var(--blue);
        text-transform:uppercase;
        letter-spacing:.05em;
        display:block;
        margin-bottom:2px;
      }
      .eng-tab p{
        font-size:12.5px;
        color:var(--gray-600);
        line-height:1.5;
      }
      .eng-panels{
        position:relative;
      }
      .eng-panel{
        display:none;
      }
      .eng-panel.active{
        display:block;
        animation:fadeUpE .4s ease;
      }
      @keyframes fadeUpE{
        from{
          opacity:0;
          transform:translateY(12px)}
        to{
          opacity:1;
          transform:translateY(0)}
      }
      .eng-panel h3{
        font-size:22px;
        color:var(--navy);
        margin:22px 0 10px;
        text-align:center;
      }
      .eng-panel > p{
        font-size:17.5px;
        color:var(--gray-600);
        line-height:1.7;
        text-align:center;
        max-width:480px;
        margin:0 auto;
      }
      .eng-more{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        margin-top:16px;
        font-size:16px;
        font-weight:700;
        color:var(--blue);
        font-family:'Sora',sans-serif;
      }
      .eng-more:hover{
        color:var(--gold-dark);
      }
      .eng-demo-link{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        margin-top:16px;
        font-size:12.5px;
        font-weight:600;
        color:var(--gray-600);
        font-family:'Sora',sans-serif;
        text-decoration:none;
        transition:color .3s;
      }
      .eng-demo-link:hover{
        color:var(--blue);
        text-decoration:none;
      }
      .ep-visual{
        background:#fff;
        border:1px solid var(--gray-200);
        border-radius:16px;
        box-shadow:0 18px 44px rgba(13,43,78,0.12);
        padding:20px;
        min-height:250px;
        display:flex;
        flex-direction:column;
        justify-content:center;
      }
      /* per-engine mocks */
      .mv-search{
        display:flex;
        align-items:center;
        gap:8px;
        background:#F1F5F9;
        border-radius:999px;
        padding:8px 14px;
        font-size:12px;
        color:var(--gray-600);
        margin-bottom:12px;
      }
      .mv-map{
        height:52px;
        border-radius:10px;
        background:linear-gradient(120deg,#DCEAF7,#EAF3EC 60%,#F4EFE2);
        position:relative;
        margin-bottom:12px;
      }
      .mv-map::after{
        content:'📍';
        position:absolute;
        left:46%;
        top:8px;
        font-size:18px;
      }
      .mv-row{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:9px 12px;
        border-radius:10px;
        font-size:12.5px;
        color:var(--gray-600);
        margin-bottom:6px;
        background:#F8FAFC;
      }
      .mv-row.win{
        background:#FDF6E8;
        border:1.5px solid #F0D9A8;
        color:var(--navy);
        font-weight:700;
      }
      .mv-row .stars{
        color:#E8A93C;
        font-size:11px;
      }
      .mp-chrome{
        display:flex;
        gap:5px;
        margin-bottom:10px;
      }
      .mp-chrome i{
        width:9px;
        height:9px;
        border-radius:50%;
        background:#E2E8F0;
        display:block;
      }
      .mp-url{
        flex:1;
        background:#F1F5F9;
        border-radius:99px;
        font-size:9.5px;
        color:var(--gray-400);
        padding:3px 12px;
        margin-left:8px;
      }
      .mp-hero{
        background:linear-gradient(150deg,#0D2B4E,#1A3F6E);
        border-radius:12px;
        padding:16px 18px 18px;
        margin-bottom:10px;
      }
      .mp-nav{
        display:flex;
        align-items:center;
        gap:9px;
        margin-bottom:15px;
      }
      .mp-nav .mp-logo{
        width:14px;
        height:14px;
        border-radius:4px;
        background:var(--gold);
        flex-shrink:0;
      }
      .mp-nav i{
        width:24px;
        height:4px;
        border-radius:99px;
        background:rgba(255,255,255,0.3);
        display:block;
      }
      .mp-nav i:last-child{
        margin-left:auto;
        width:38px;
        height:14px;
        border-radius:5px;
        background:rgba(245,166,35,0.5);
      }
      .mp-hero .h1t{
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:14.5px;
        color:#fff;
        margin-bottom:5px;
      }
      .mp-hero .h2t{
        font-size:10px;
        color:rgba(255,255,255,0.65);
        margin-bottom:13px;
      }
      .mp-hero .cta{
        display:inline-block;
        background:var(--gold);
        border-radius:8px;
        padding:6px 15px;
        font-size:10px;
        font-weight:800;
        color:var(--navy);
        font-family:'Sora',sans-serif;
      }
      .mp-chips{
        display:flex;
        gap:8px;
      }
      .mp-chips span{
        flex:1;
        background:#F8FAFC;
        border:1px solid #EEF2F7;
        border-radius:8px;
        padding:8px 6px;
        font-size:10.5px;
        color:var(--gray-600);
        text-align:center;
        font-weight:600;
      }
      .mt-head{
        display:flex;
        align-items:center;
        gap:14px;
        margin-bottom:14px;
      }
      .mt-big{
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:34px;
        color:var(--navy);
      }
      .mt-stars{
        color:#E8A93C;
        font-size:15px;
        letter-spacing:2px;
      }
      .mt-count{
        font-size:11.5px;
        color:var(--gray-400);
      }
      .mt-review{
        background:#F8FAFC;
        border-radius:10px;
        padding:10px 12px;
        margin-bottom:7px;
      }
      .mt-review .rs{
        color:#E8A93C;
        font-size:10px;
        letter-spacing:1px;
        margin-bottom:5px;
      }
      .mt-review i{
        display:block;
        height:6px;
        border-radius:99px;
        background:#E2E8F0;
        margin-bottom:4px;
      }
      .mc-sys{
        text-align:center;
        font-size:10.5px;
        color:var(--gray-400);
        margin-bottom:10px;
      }
      .mc-in{
        background:#F1F5F9;
        border-radius:12px 12px 12px 3px;
        padding:9px 13px;
        font-size:12px;
        color:var(--gray-600);
        max-width:75%;
        margin-bottom:8px;
      }
      .mc-out{
        background:linear-gradient(135deg,var(--blue),var(--blue-light));
        color:#fff;
        border-radius:12px 12px 3px 12px;
        padding:9px 13px;
        font-size:12px;
        max-width:78%;
        margin-left:auto;
        margin-bottom:5px;
      }
      .mc-time{
        text-align:right;
        font-size:9.5px;
        color:var(--gold-dark);
        font-weight:700;
      }
      .mf-step{
        display:flex;
        align-items:center;
        gap:11px;
        padding:9px 12px;
        background:#F8FAFC;
        border-radius:10px;
        margin-bottom:7px;
        font-size:12px;
        color:var(--gray-600);
      }
      .mf-step .st{
        width:20px;
        height:20px;
        min-width:20px;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:10px;
      }
      .mf-step .done{
        background:#D1FAE5;
        color:#059669;
      }
      .mf-step .wait{
        background:#FDF0DC;
        color:#B07514;
      }
      .mf-step b{
        color:var(--navy);
        margin-right:4px;
      }
      /* === ADAPT BLOCK + PLATFORM STRIP === */
      .adapt-block{
        max-width:840px;
        margin:48px auto 0;
        background:linear-gradient(135deg,#E8F3FC,#F0F7FE);
        border:1px solid #CBE2F7;
        border-radius:18px;
        padding:32px 36px;
      }
      .adapt-inner h3{
        font-size:19px;
        color:var(--navy);
        margin-bottom:10px;
      }
      .adapt-inner p{
        font-size:17.5px;
        color:var(--gray-600);
        line-height:1.7;
      }
      .platform-strip{
        max-width:840px;
        margin:26px auto 0;
        text-align:center;
      }
      .platform-label{
        font-size:12px;
        font-weight:700;
        color:var(--gray-400);
        text-transform:uppercase;
        letter-spacing:.1em;
        font-family:'Sora',sans-serif;
        margin-bottom:14px;
      }
      .platform-items{
        display:flex;
        justify-content:center;
        flex-wrap:wrap;
        gap:10px;
      }
      .platform-items span{
        background:#fff;
        border:1px solid var(--gray-200);
        border-radius:999px;
        padding:8px 16px;
        font-size:13px;
        color:var(--gray-600);
        font-weight:600;
      }
      /* === FIT SECTION === */
      .fit-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:22px;
        max-width:960px;
        margin:0 auto;
      }
      .fit-card{
        border-radius:18px;
        padding:30px 32px;
      }
      .fit-card.f-yes{
        background:#F0FAF5;
        border:1.5px solid #BBE5CD;
      }
      .fit-card.f-no{
        background:#FDF3F2;
        border:1.5px solid #F5CBC7;
      }
      .fit-card h3{
        font-size:18px;
        margin-bottom:18px;
        display:flex;
        align-items:center;
        gap:9px;
      }
      .fit-card.f-yes h3{
        color:#0B6E44;
      }
      .fit-card.f-no h3{
        color:#B0362C;
      }
      .fit-card ul{
        padding:0;
        margin:0;
        list-style:none;
        display:flex;
        flex-direction:column;
        gap:12px;
      }
      .fit-card li{
        display:flex;
        gap:10px;
        align-items:flex-start;
        font-size:17px;
        line-height:1.6;
        color:var(--gray-600);
      }
      .fit-card.f-yes li::before{
        content:"\2713";
        color:#0B6E44;
        font-weight:800;
        flex-shrink:0;
      }
      .fit-card.f-no li::before{
        content:"\2715";
        color:#B0362C;
        font-weight:800;
        flex-shrink:0;
      }
      .fit-tieline{
        max-width:720px;
        margin:28px auto 0;
        text-align:center;
        font-size:17px;
        color:var(--gray-600);
      }
      .fit-tieline b{
        color:var(--navy);
      }
      /* === PROCESS === */
      .timeline-wrap{
        position:relative;
      }
      .timeline-line{
        position:absolute;
        top:27px;
        left:0;
        right:0;
        height:3px;
        background:var(--gray-200);
        z-index:0;
      }
      .timeline-fill{
        height:100%;
        width:100%;
        background:linear-gradient(90deg,var(--blue),var(--gold));
        border-radius:3px;
      }
      .steps-grid{
        display:grid;
        grid-template-columns:repeat(5,1fr);
        gap:18px;
        position:relative;
        z-index:1;
      }
      .step-card{
        text-align:center;
        padding:0 10px;
      }
      .step-num{
        width:52px;
        height:52px;
        background:linear-gradient(135deg,var(--navy),var(--navy-mid));
        color:#fff;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        font-family:'Sora',sans-serif;
        font-weight:700;
        font-size:17px;
        margin:0 auto 16px;
        border:3px solid #fff;
        box-shadow:0 4px 15px rgba(13,43,78,0.2);
      }
      .step-card h3{
        font-size:15.5px;
        margin-bottom:6px;
      }
      .step-card p{
        font-size:15.5px;
        color:var(--gray-600);
      }
      /* === LF JOURNEY === */
      .jour-grid{
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:22px;
      }
      .jour-card{
        background:rgba(255,255,255,0.04);
        border:1px solid rgba(255,255,255,0.1);
        border-radius:20px;
        padding:28px 26px;
        display:flex;
        flex-direction:column;
        backdrop-filter:blur(6px);
      }
      .jour-pill{
        display:inline-flex;
        align-self:flex-start;
        font-size:11px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        letter-spacing:.08em;
        text-transform:uppercase;
        padding:5px 14px;
        border-radius:999px;
        margin-bottom:14px;
      }
      .jp-1{
        background:rgba(46,141,232,0.18);
        color:#7FBBF2;
      }
      .jp-2{
        background:rgba(245,166,35,0.16);
        color:var(--gold);
      }
      .jp-3{
        background:rgba(255,255,255,0.12);
        color:#fff;
      }
      .jour-card h3{
        font-size:19px;
        color:#fff;
        margin-bottom:10px;
      }
      .jour-card > p{
        font-size:16px;
        color:#b9c6da;
        line-height:1.65;
        margin-bottom:18px;
      }
      /* Step 1: laptop frame */
      .jm-laptop{
        margin-top:auto;
      }
      .jm-screen{
        background:#fff;
        border-radius:10px 10px 0 0;
        border:5px solid #23303f;
        border-bottom:none;
        padding:14px;
        color:var(--navy);
      }
      .jm-base{
        height:9px;
        background:linear-gradient(180deg,#3a4a5c,#23303f);
        border-radius:0 0 10px 10px;
        margin:0 -8px;
      }
      .jm-screen .jt{
        font-size:10.5px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        color:var(--navy);
        margin-bottom:10px;
      }
      .jm-score{
        display:flex;
        align-items:center;
        gap:12px;
      }
      .jm-ring{
        width:56px;
        height:56px;
        border-radius:50%;
        background:conic-gradient(#059669 0 62%,#E2E8F0 62% 100%);
        display:flex;
        align-items:center;
        justify-content:center;
        flex-shrink:0;
      }
      .jm-ring span{
        width:42px;
        height:42px;
        border-radius:50%;
        background:#fff;
        display:flex;
        align-items:center;
        justify-content:center;
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:14px;
        color:var(--navy);
      }
      .jm-engines{
        flex:1;
        display:flex;
        flex-direction:column;
        gap:6px;
      }
      .jm-eng{
        display:flex;
        align-items:center;
        gap:7px;
      }
      .jm-eng .en{
        font-size:8.5px;
        font-weight:700;
        color:var(--gray-600);
        width:64px;
        text-transform:uppercase;
        letter-spacing:.02em;
        flex-shrink:0;
        font-family:'Sora',sans-serif;
      }
      .jm-eng .eb{
        flex:1;
        height:5px;
        border-radius:99px;
        background:#EEF2F7;
        overflow:hidden;
      }
      .jm-eng .eb i{
        display:block;
        height:100%;
        border-radius:99px;
      }
      /* Step 2: layered document stack */
      .jm-stack{
        margin-top:auto;
        position:relative;
        padding:10px 14px 4px;
      }
      .jm-doc-back{
        position:absolute;
        background:#F3F6FA;
        border:1px solid #E2E8F0;
        border-radius:9px;
        width:78%;
        height:88%;
      }
      .jm-doc-back.b1{
        left:2px;
        top:16px;
        transform:rotate(-4deg);
      }
      .jm-doc-back.b2{
        right:2px;
        top:14px;
        transform:rotate(4deg);
      }
      .jm-doc{
        position:relative;
        background:#fff;
        border:1px solid #E2E8F0;
        border-radius:10px;
        padding:13px 14px;
        color:var(--navy);
        box-shadow:0 8px 22px rgba(6,15,26,0.35);
        width:88%;
        margin:0 auto;
      }
      .jm-doc .jt{
        font-size:10.5px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        margin-bottom:8px;
      }
      .jm-doc-score{
        display:flex;
        align-items:baseline;
        gap:5px;
        margin-bottom:9px;
      }
      .jm-doc-score b{
        font-family:'Sora',sans-serif;
        font-size:19px;
        color:var(--blue);
      }
      .jm-doc-score span{
        font-size:9px;
        color:var(--gray-400);
      }
      .jm-act{
        display:flex;
        justify-content:space-between;
        align-items:center;
        font-size:9px;
        color:var(--gray-600);
        background:#F8FAFC;
        border-radius:6px;
        padding:6px 8px;
        margin-bottom:5px;
      }
      .jm-imp{
        font-size:7.5px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        padding:2px 7px;
        border-radius:999px;
        text-transform:uppercase;
      }
      .imp-hi{
        background:#FDF0DC;
        color:#B07514;
      }
      .imp-md{
        background:#E4EFFB;
        color:#2467A8;
      }
      /* Step 3: dashboard frame, light GHL-style */
      .jm-dash{
        margin-top:auto;
        background:#fff;
        border:5px solid #23303f;
        border-radius:12px;
        display:flex;
        overflow:hidden;
        box-shadow:0 8px 22px rgba(6,15,26,0.35);
      }
      .jm-side{
        width:58px;
        background:#10233A;
        padding:9px 7px;
        display:flex;
        flex-direction:column;
        gap:2px;
        flex-shrink:0;
      }
      .jm-side .lg{
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:7px;
        color:var(--gold);
        letter-spacing:.03em;
        margin-bottom:7px;
        padding-left:3px;
      }
      .jm-nav{
        font-size:6.5px;
        color:#8ea3bd;
        padding:4px 5px;
        border-radius:5px;
        font-weight:600;
      }
      .jm-nav.on{
        background:rgba(46,141,232,0.25);
        color:#fff;
      }
      .jm-main{
        flex:1;
        padding:0;
      }
      .jm-top{
        padding:7px 10px;
        border-bottom:1px solid #EEF2F7;
        font-size:8px;
        font-weight:800;
        font-family:'Sora',sans-serif;
        color:var(--navy);
      }
      .jm-body{
        padding:8px 10px 10px;
      }
      .jm-tiles{
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:6px;
        margin-bottom:7px;
      }
      .jm-tile{
        background:#F8FAFC;
        border:1px solid #EEF2F7;
        border-radius:7px;
        padding:6px 5px;
        text-align:center;
      }
      .jm-tile .tn{
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:11.5px;
        color:var(--navy);
      }
      .jm-tile .tg{
        font-size:6.5px;
        color:#059669;
        font-weight:800;
      }
      .jm-tile .tl{
        font-size:7px;
        color:var(--gray-400);
        margin-top:1px;
      }
      .jm-chart{
        display:flex;
        gap:6px;
        align-items:stretch;
      }
      .jm-line{
        flex:1.4;
        background:#F8FAFC;
        border:1px solid #EEF2F7;
        border-radius:7px;
        padding:5px;
      }
      .jm-line .cl{
        font-size:6.5px;
        color:var(--gray-400);
        font-weight:700;
        margin-bottom:2px;
      }
      .jm-line svg{
        display:block;
        width:100%;
        height:26px;
      }
      .jm-donut{
        flex:1;
        background:#F8FAFC;
        border:1px solid #EEF2F7;
        border-radius:7px;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        padding:4px;
      }
      .jm-donut .d{
        width:26px;
        height:26px;
        border-radius:50%;
        background:conic-gradient(var(--blue) 0 55%,var(--gold) 55% 80%,#E2E8F0 80% 100%);
        position:relative;
        flex-shrink:0;
      }
      .jm-donut .d::after{
        content:'';
        position:absolute;
        inset:7px;
        border-radius:50%;
        background:#F8FAFC;
      }
      .jm-leg{
        display:flex;
        flex-direction:column;
        gap:2px;
      }
      .jm-leg span{
        font-size:6px;
        color:var(--gray-600);
        display:flex;
        align-items:center;
        gap:3px;
        font-weight:600;
      }
      .jm-leg span::before{
        content:'';
        width:5px;
        height:5px;
        border-radius:2px;
        background:var(--blue);
      }
      .jm-leg span:nth-child(2)::before{
        background:var(--gold);
      }
      .jm-leg span:nth-child(3)::before{
        background:#CBD5E1;
      }
      .jour-foot{
        font-size:12.5px;
        color:#8ea3bd;
        margin-top:14px;
        font-style:italic;
      }
      .jour-tagline{
        text-align:center;
        margin-top:40px;
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:17px;
        letter-spacing:.14em;
        color:var(--gold);
        text-transform:uppercase;
      }
      /* === PRICING === */
      .founder-strip{
        text-align:center;
        margin-bottom:30px;
      }
      .founder-strip .slots{
        display:inline-flex;
        align-items:center;
        gap:8px;
        background:rgba(245,166,35,0.12);
        border:1px solid rgba(245,166,35,0.35);
        color:var(--gold);
        padding:8px 22px;
        border-radius:999px;
        font-size:13.5px;
        font-weight:700;
        font-family:'Sora',sans-serif;
      }
      .system-card{
        background:#fff;
        border:2.5px solid var(--gold);
        border-radius:22px;
        padding:44px;
        position:relative;
        box-shadow:0 25px 60px rgba(13,43,78,0.2);
        max-width:720px;
        margin:0 auto;
        color:var(--navy);
      }
      .system-card .ribbon{
        position:absolute;
        top:-15px;
        left:50%;
        transform:translateX(-50%);
        background:linear-gradient(135deg,var(--gold),#FFB84D);
        color:var(--navy);
        font-size:12.5px;
        font-weight:800;
        padding:6px 20px;
        border-radius:999px;
        text-transform:uppercase;
        letter-spacing:.03em;
        font-family:'Sora',sans-serif;
        white-space:nowrap;
      }
      .system-top{
        text-align:center;
        margin-bottom:28px;
      }
      .system-top h3{
        font-size:25px;
        margin-bottom:4px;
      }
      .system-top .sub{
        font-size:17px;
        color:var(--gray-600);
      }
      .price-row{
        display:flex;
        justify-content:center;
        align-items:baseline;
        gap:14px;
        margin:20px 0 4px;
      }
      .price-old{
        font-family:'Sora',sans-serif;
        font-size:24px;
        font-weight:700;
        color:var(--gray-400);
        text-decoration:line-through;
      }
      .price-now{
        font-family:'Sora',sans-serif;
        font-size:52px;
        font-weight:800;
        color:var(--navy);
      }
      .price-now span{
        font-size:17px;
        color:var(--gray-600);
        font-weight:600;
      }
      .price-lock{
        text-align:center;
        font-size:15.5px;
        color:var(--gold-dark);
        font-weight:700;
        margin-bottom:26px;
        font-family:'Sora',sans-serif;
      }
      .system-features{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0 24px;
        margin:0 0 24px;
        padding:0;
        list-style:none;
      }
      .system-features li{
        display:flex;
        gap:10px;
        align-items:flex-start;
        padding:9px 0;
        font-size:17px;
        border-bottom:1px solid var(--gray-100);
      }
      .check{
        width:19px;
        height:19px;
        min-width:19px;
        background:linear-gradient(135deg,#D1FAE5,#A7F3D0);
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:11px;
        color:var(--green);
        margin-top:2px;
      }
      .deposit-note{
        background:#fff7ed;
        border:1px solid #fde0b0;
        border-radius:10px;
        padding:13px 18px;
        margin-top:20px;
        font-size:16px;
        color:#7c4a12;
      }
      .deposit-note b{
        color:var(--gold-dark);
      }
      .system-card .btn{
        width:100%;
        margin-top:20px;
      }
      .pricing-under{
        max-width:720px;
        margin:22px auto 0;
        text-align:center;
        font-size:16px;
        color:#b9c6da;
      }
      /* === FAQ === */
      .faq-wrap{
        max-width:720px;
        margin:0 auto;
      }
      .faq-item{
        border:1px solid var(--gray-200);
        border-radius:14px;
        margin-bottom:12px;
        overflow:hidden;
        background:#fff;
        transition:all .3s;
      }
      .faq-item:hover{
        border-color:var(--blue);
      }
      .faq-item.open{
        border-color:var(--blue);
        box-shadow:0 4px 20px rgba(26,111,191,0.08);
      }
      .faq-q{
        padding:19px 22px;
        cursor:pointer;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:16px;
      }
      .faq-q h3{
        font-size:15px;
        font-weight:600;
        color:var(--navy);
        margin:0;
      }
      .faq-chevron{
        width:22px;
        height:22px;
        min-width:22px;
        display:flex;
        align-items:center;
        justify-content:center;
        color:var(--gray-400);
        transition:transform .3s;
      }
      .faq-item.open .faq-chevron{
        transform:rotate(180deg);
        color:var(--blue);
      }
      .faq-a{
        max-height:0;
        overflow:hidden;
        transition:max-height .4s;
      }
      .faq-item.open .faq-a{
        max-height:420px;
      }
      .faq-a-inner{
        padding:0 22px 19px;
        font-size:17px;
        color:var(--gray-600);
        line-height:1.75;
      }
      /* === CTA BANNER === */
      .cta-bg{
        background:linear-gradient(160deg,#091D38,var(--navy) 40%,var(--navy-mid) 70%,var(--blue) 100%);
        color:#fff;
        text-align:center;
        position:relative;
        overflow:hidden;
      }
      .cta-bg h2{
        font-size:34px;
        margin-bottom:14px;
      }
      .cta-bg p{
        color:#b9c6da;
        font-size:18.5px;
        margin-bottom:30px;
        max-width:540px;
        margin-left:auto;
        margin-right:auto;
      }
      .deposit-pill{
        display:inline-block;
        background:rgba(245,166,35,0.12);
        border:2px solid rgba(245,166,35,0.4);
        color:var(--gold);
        font-family:'Sora',sans-serif;
        font-weight:800;
        font-size:20px;
        padding:11px 30px;
        border-radius:12px;
        margin-bottom:26px;
      }
      /* === FOOTER === */
      footer{
        background:linear-gradient(180deg,#091D38,var(--navy));
        color:#9fb1c9;
        padding:50px 0 26px;
        font-size:16px;
      }
      .footer-grid{
        display:grid;
        grid-template-columns:1.6fr 1fr 1fr 1fr;
        gap:32px;
        margin-bottom:34px;
      }
      .footer-brand p{
        margin-top:12px;
        color:#8398b3;
        line-height:1.6;
      }
      .footer-col h3{
        color:#fff;
        font-size:14px;
        margin-bottom:14px;
        font-family:'Sora',sans-serif;
      }
      .footer-col a{
        display:block;
        color:#9fb1c9;
        padding:5px 0;
      }
      .footer-col a:hover{
        color:#fff;
      }
      .footer-bottom{
        border-top:1px solid rgba(255,255,255,0.08);
        padding-top:20px;
        display:flex;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:12px;
        font-size:12.5px;
        color:#7d90ab;
      }
      .footer-bottom a{
        color:#7d90ab;
      }
      .footer-bottom a:hover{
        color:#fff;
      }
      /* unified body text */
      .section-head p,.pcard p,.eng-tab p,.eng-panel>p,.fit-card li,.faq-a-inner,.adapt-inner p,.pricing-under{
        color:#3D4A5C;
      }
      .section-head p{
        font-size:18px;
      }
      .pcard p{
        font-size:17.5px;
      }
      .eng-panel>p{
        font-size:17.5px;
      }
      .fit-card li{
        font-size:17.5px;
      }
      .faq-a-inner{
        font-size:17.5px;
      }
      .adapt-inner p{
        font-size:17.5px;
      }
      .dark-section .section-head p{
        color:#b9c6da;
      }
      @media(min-width:901px) and (max-width:1100px){
        .hero h1{
          white-space:normal;
        }
      }
      @media(max-width:900px){
        .hero h1{
          white-space:normal;
        }
        .hero-inner{
          grid-template-columns:1fr;
          text-align:center;
          gap:34px;
        }
        .hero-left{
          max-width:100%;
        }
        .hero-cta-row{
          justify-content:center;
        }
        .pgrid{
          grid-template-columns:repeat(2,1fr);
        }
        .gs-inner{
          grid-template-columns:1fr;
        }
        .steps-grid{
          grid-template-columns:repeat(2,1fr);
        }
        .jour-grid{
          grid-template-columns:1fr;
        }
        .eng-layout{
          grid-template-columns:1fr;
          gap:26px;
        }
        .fit-grid{
          grid-template-columns:1fr;
        }
        .timeline-line{
          display:none;
        }
        .system-features{
          grid-template-columns:1fr;
        }
        .system-card{
          padding:34px 24px 30px;
        }
        .founder-strip{
          margin-bottom:26px;
        }
        .footer-grid{
          grid-template-columns:1fr;
        }
        .nav-links{
          display:none;
        }
        .nav-burger{
          display:flex;
        }
        .mobile-menu.open{
          display:block;
        }
      }
      @media(max-width:600px){
        .hero h1{
          font-size:29px;
        }
        .pgrid{
          grid-template-columns:1fr;
        }
        .steps-grid{
          grid-template-columns:1fr;
        }
      }

/* === INDUSTRIES === */
      .industries{
        padding:80px 5%;
        background:#EAF2FB;
        font-family:'DM Sans',sans-serif;
      }
      .industries .ind-inner{
        max-width:1040px;
        margin:0 auto;
        text-align:center;
      }
      .industries .ind-eyebrow{
        display:inline-block;
        font-family:'Sora',sans-serif;
        font-weight:700;
        font-size:12px;
        letter-spacing:0.12em;
        text-transform:uppercase;
        color:var(--blue);
        margin-bottom:12px;
      }
      .industries .ind-title{
        font-family:'Sora',sans-serif;
        font-size:32px;
        font-weight:700;
        color:var(--navy);
        line-height:1.25;
        margin-bottom:14px;
      }
      .industries .ind-sub{
        font-size:18px;
        color:var(--gray-600);
        max-width:600px;
        margin:0 auto 44px;
      }
      .industries .ind-grid{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:16px;
      }
      .industries .ind-card{
        background:#fff;
        border:1px solid var(--gray-200);
        border-radius:12px;
        padding:26px 18px;
        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center;
        text-decoration:none;
        transition:transform 0.18s,box-shadow 0.18s,border-color 0.18s;
      }
      .industries a.ind-card:hover{
        transform:translateY(-4px);
        box-shadow:0 16px 36px rgba(13,43,78,0.12);
        border-color:var(--blue);
      }
      .industries .ind-card.live{
        border-color:var(--blue);
        border-width:1.5px;
        position:relative;
      }
      .industries .ind-icon{
        width:46px;
        height:46px;
        margin-bottom:14px;
      }
      .industries .ind-card h3{
        font-family:'Sora',sans-serif;
        font-size:16px;
        font-weight:700;
        color:var(--navy);
        margin-bottom:6px;
      }
      .industries .ind-badge{
        font-family:'Sora',sans-serif;
        font-size:10.5px;
        font-weight:700;
        letter-spacing:0.05em;
        text-transform:uppercase;
        padding:4px 12px;
        border-radius:100px;
        margin-top:4px;
      }
      .industries .ind-badge.now{
        background:#F1F8FE;
        color:var(--blue);
      }
      .industries .ind-badge.soon{
        background:var(--gray-100);
        color:var(--gray-400);
      }
      .industries .ind-card.soon-card{
        opacity:1;
      }
      .industries .ind-foot{
        margin-top:36px;
        font-size:17.5px;
        color:var(--gray-600);
      }
      .industries .ind-foot a{
        color:var(--blue);
        font-weight:600;
        text-decoration:none;
      }
      .industries .ind-foot a:hover{
        color:var(--navy);
      }
      @media(max-width:820px){
        .industries .ind-grid{
          grid-template-columns:repeat(2,1fr);
        }
      }
      @media(max-width:440px){
        .industries .ind-grid{
          grid-template-columns:1fr;
        }
      }

/* === BUTTON STATE LOCK ===
   Blocksy styles a:hover and a:visited directly. Where a button rule
   changes only background or transform on hover, Blocksy wins and the
   label turns dark, or purple once visited. Pin every state to the
   button's own colour. */
.btn-gold, .btn-gold:link, .btn-gold:visited, .btn-gold:hover, .btn-gold:focus, .btn-gold:focus-visible, .btn-gold:active{color:var(--navy);}
.btn-ghost, .btn-ghost:link, .btn-ghost:visited, .btn-ghost:hover, .btn-ghost:focus, .btn-ghost:focus-visible, .btn-ghost:active{color:#fff;}
.mm-cta, .mm-cta:link, .mm-cta:visited, .mm-cta:hover, .mm-cta:focus, .mm-cta:focus-visible, .mm-cta:active{color:#fff;}
.nav-cta, .nav-cta:link, .nav-cta:visited, .nav-cta:hover, .nav-cta:focus, .nav-cta:focus-visible, .nav-cta:active{color:#fff;}

.cta, .cta:link, .cta:visited, .cta:hover, .cta:focus, .cta:active{color:var(--navy);}

      /* === GROWTH ACCELERATOR CARD === */
      /* Mirrors the System card's structure: centred header, two-column
         feature grid, full-width CTA. Light blue rather than white and gold,
         so it reads as an optional layer above the System rather than a
         second tier. No price: the Accelerator is scoped per account. */
      .accel-card{
        position:relative;
        max-width:720px;
        margin:30px auto 0;
        background:linear-gradient(150deg,#EAF4FD 0%,#F4F9FE 55%,#E4F0FB 100%);
        border:1px solid #C5DFF6;
        border-radius:22px;
        padding:36px 38px 32px;
        color:var(--navy);
        box-shadow:0 14px 34px rgba(13,43,78,0.08);
      }
      .accel-tag{
        position:absolute;
        top:-13px;
        left:38px;
        background:linear-gradient(135deg,#1A6FBF,#2E8DE8);
        color:#fff;
        font-family:'Sora',sans-serif;
        font-size:11px;
        font-weight:800;
        letter-spacing:.12em;
        text-transform:uppercase;
        padding:6px 16px;
        border-radius:999px;
        white-space:nowrap;
        box-shadow:0 4px 12px rgba(26,111,191,0.28);
      }
      .accel-top{
        text-align:center;
        margin-bottom:24px;
      }
      .accel-top h3{
        font-size:21px;
        color:var(--navy);
        margin-bottom:5px;
      }
      .accel-lead{
        font-size:17px;
        color:var(--gray-600);
        line-height:1.6;
        max-width:480px;
        margin:0 auto;
      }
      .accel-chan{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0 24px;
        list-style:none;
        padding:0;
        margin:0;
      }
      .accel-chan li{
        position:relative;
        padding:9px 0 9px 22px;
        font-size:17px;
        color:#3D4A5C;
        line-height:1.5;
        border-bottom:1px solid rgba(13,43,78,0.09);
      }
      .accel-chan li::before{
        content:'+';
        position:absolute;
        left:2px;
        top:9px;
        color:var(--gold-dark);
        font-family:'Sora',sans-serif;
        font-weight:800;
      }
      .accel-chan li strong{
        color:var(--navy);
        font-weight:700;
      }
      .accel-note{
        text-align:center;
        font-size:15.5px;
        color:var(--gray-600);
        line-height:1.7;
        max-width:560px;
        margin:22px auto 0;
      }
      /* Secondary CTA for light cards. Deliberately not gold, so it never
         competes with the System card's primary button directly above it. */
      .btn-outline{
        background:#fff;
        border:1.5px solid var(--blue);
        color:var(--blue);
        text-decoration:none;
        transition:background .3s,color .3s,box-shadow .3s,transform .3s;
      }
      .btn-outline:link,
      .btn-outline:visited{
        color:var(--blue);
      }
      .btn-outline:hover,
      .btn-outline:focus,
      .btn-outline:active{
        background:var(--blue);
        color:#fff;
        text-decoration:none;
        transform:translateY(-2px);
        box-shadow:0 8px 22px rgba(26,111,191,0.28);
      }
      .accel-card .btn{
        width:100%;
        margin-top:20px;
      }
      @media(max-width:760px){
        .accel-card{
          padding:32px 24px 28px;
        }
        .accel-tag{
          left:24px;
        }
        .accel-chan{
          grid-template-columns:1fr;
        }
      }

      /* Trades without a written-up page yet. Deliberately not greyed:
         the System serves them today, only the page is pending. */
      .ind-badge.next{
        background:#FFF6E8;
        color:var(--gold-dark);
      }
      @media(max-width:900px){
        .ind-grid{
          grid-template-columns:repeat(2,1fr);
        }
      }
      @media(max-width:560px){
        .ind-grid{
          grid-template-columns:1fr;
        }
      }
