
  :root{
    --ink:#0B1F33;--slate:#33475B;--slate-soft:#5B6B7C;--steel:#1E3A5F;
    --azure:#2D6CDF;--azure-soft:#E8F0FD;--green:#16B981;--line:#E2E8F0;
    --paper:#FFFFFF;--mist:#F5F8FC;--cloud:#EEF3F9;
    --shadow:0 18px 48px -24px rgba(11,31,51,.35);--radius:18px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:88px}
  body{font-family:'Inter',system-ui,sans-serif;color:var(--slate);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip}
  .eng-card,.scene-card,.client,.node,.logo-cell,.btn{-webkit-tap-highlight-color:transparent;cursor:pointer}
  h1,h2,h3{font-family:'Sora',sans-serif;color:var(--ink);letter-spacing:-.02em;line-height:1.12}
  .wrap{max-width:1120px;margin:0 auto;padding:0 28px}
  a{text-decoration:none;color:inherit}
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:11px;font-family:'Sora';font-weight:700;color:var(--ink);font-size:1.02rem}
  .brand .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--steel),var(--azure));display:grid;place-items:center;color:#fff;font-size:.9rem;font-weight:800}
  .nav-links{display:flex;flex-wrap:nowrap;gap:32px;align-items:center;font-size:.93rem;font-weight:500}
  .nav-links a{color:var(--slate);transition:color .2s;white-space:nowrap}
  @media(hover:hover){.nav-links a:not(.btn):hover{color:var(--azure)}}
  .nav-links a:not(.btn):active{color:var(--azure)}
  .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;gap:8px;font-family:'Sora';font-weight:600;font-size:.92rem;padding:12px 22px;border-radius:11px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:none}
  .btn-primary{background:var(--azure);color:#fff;box-shadow:0 12px 28px -12px rgba(45,108,223,.65)}
  @media(hover:hover){.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(45,108,223,.7)}}
  .btn-primary:active{transform:translateY(0) scale(.98);box-shadow:0 10px 24px -12px rgba(45,108,223,.7)}
  /* nav button matches the hero button exactly: blue, white text, lift on hover */
  .nav .btn{padding:10px 18px}
  @media(max-width:1000px){.nav-links{gap:20px;font-size:.9rem}}
  @media(max-width:860px){.nav-links{gap:14px}.nav .btn{padding:10px 14px}}
  @media(max-width:760px){.nav-links a:not(.btn){display:none}}
  .hero{position:relative;overflow:hidden;background:radial-gradient(1100px 500px at 80% -10%,rgba(45,108,223,.10),transparent 60%),linear-gradient(180deg,#fff,var(--mist))}
  .hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center;padding-top:20px;padding-bottom:24px}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--azure);margin-bottom:20px}
  .eyebrow::before{content:"";width:24px;height:2px;background:var(--azure);border-radius:2px}
  .hero h1{font-size:clamp(2.3rem,4.8vw,3.4rem);font-weight:800}
  .hero h1 .accent{background:linear-gradient(120deg,var(--steel),var(--azure));-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p.lead{font-size:1.1rem;color:var(--slate);max-width:28em;margin:20px 0 28px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .portrait-frame{position:relative;max-width:300px;margin-left:auto}
  .portrait{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,var(--cloud),#dfe9f5);box-shadow:var(--shadow)}
  .portrait img{width:100%;height:100%;object-fit:cover;display:block}
  .badge-card{position:absolute;bottom:-20px;left:-20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 17px;box-shadow:var(--shadow);max-width:215px}
  .badge-card .t{font-family:'Sora';font-weight:700;color:var(--ink);font-size:.9rem}
  .badge-card .s{font-size:.78rem;color:var(--slate-soft);margin-top:2px}
  @media(max-width:880px){
    .hero-grid{grid-template-columns:1fr;gap:32px;padding-top:20px;padding-bottom:28px;text-align:center}
    .portrait-frame{max-width:340px;margin:0 auto}
    .hero p.lead{margin-left:auto;margin-right:auto}
    .hero-cta{justify-content:center}
  }
  .roi-hero{background:var(--ink);color:#fff;padding:64px 0}
  .roi-hero h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);text-align:center}
  .roi-hero .sub{color:#9DB2CC;max-width:34em;font-size:1rem;margin:10px auto 40px;text-align:center}
  .scene{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0}
  .scene-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:22px 22px 20px}
  .scene-card.before{border-color:rgba(217,83,79,.4)}
  .scene-card.after{border-color:rgba(91,230,168,.4)}
  .scene-tag{font-family:'Sora';font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
  .scene-card.before .scene-tag{color:#E2899A}.scene-card.after .scene-tag{color:#5BE6A8}
  .figs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end;margin-bottom:18px}
  .fig{display:flex;flex-direction:column;align-items:center;gap:8px}
  .fig svg{width:72px;height:72px;display:block}
  .fig-lbl{font-family:'Sora';font-weight:600;font-size:.82rem;color:#C7D6E8}
  .fig-lbl.bad{color:#E2899A}.fig-lbl.good{color:#5BE6A8}
  .rev-pill{display:inline-flex;align-items:center;gap:8px;font-family:'Sora';font-weight:700;font-size:.92rem;padding:7px 16px;border-radius:30px;margin-bottom:16px}
  .rev-pill svg{width:17px;height:17px}
  .rev-pill.bad{color:#E2899A;background:rgba(217,83,79,.14);border:1px solid rgba(217,83,79,.35)}
  .rev-pill.good{color:#5BE6A8;background:rgba(91,230,168,.12);border:1px solid rgba(91,230,168,.35)}
  .scene-metrics{display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:.86rem;color:#9DB2CC}
  .scene-metrics span{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:7px}
  .scene-metrics span:last-child{border-bottom:none;padding-bottom:0}
  .scene-metrics b{font-family:'Sora';margin-left:12px;font-size:.95rem}
  .scene-metrics .bad{color:#E2899A}.scene-metrics .good{color:#5BE6A8}
  .scene-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;gap:10px}
  .scene-circle{width:50px;height:50px;border-radius:50%;background:var(--azure);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px -10px rgba(45,108,223,.7)}
  .scene-circle svg{width:23px;height:23px}
  .scene-arrow-lbl{font-family:'Sora';font-weight:600;font-size:.78rem;color:#7FB0FF;text-align:center;line-height:1.3}
  @media(max-width:780px){.scene{grid-template-columns:1fr;gap:16px}.scene-arrow{flex-direction:row}.scene-circle{transform:rotate(90deg)}}
  .channels{margin-top:34px;text-align:center}
  .channels .ch-lbl{display:block;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#9DB2CC;font-weight:600;margin-bottom:16px}
  .ch-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
  .ch{display:inline-flex;align-items:center;gap:8px;font-family:'Sora';font-weight:600;font-size:.86rem;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:30px;padding:8px 18px}
  .ch svg{width:16px;height:16px;color:#7FB0FF;flex:0 0 auto}
  .money{padding:0}
  .money-inner{background:linear-gradient(135deg,var(--steel),var(--azure));padding:52px 0;width:100%}
  .money-figure{display:flex;align-items:center;gap:18px}
  .cash-icon{width:62px;height:62px;flex:0 0 auto}
  .money-big{font-family:'Sora';font-weight:800;font-size:clamp(3rem,8vw,5rem);color:#fff;line-height:1;letter-spacing:-.03em}
  .money-copy{max-width:30em}
  .money-copy h3,.money-copy .money-h{color:#fff;font-size:clamp(1.1rem,2.2vw,1.5rem);margin:0 0 8px;font-family:'Sora',sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.12}
  .money-copy p{color:#D5E3F5;font-size:.98rem}
  @media(max-width:620px){.money-inner{flex-direction:column;text-align:center;gap:14px}}
  /* INDUSTRY VERTICAL FLIP */
  .industries{padding:64px 0;background:var(--mist);border-bottom:1px solid var(--line)}
  .ind-flip{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-family:'Sora';font-weight:700;font-size:clamp(1.4rem,3.4vw,2.1rem);color:var(--ink);line-height:2em}
  .ind-lead{color:var(--slate);line-height:2em}
  @media(max-width:560px){
    .ind-flip{font-size:1.35rem;gap:6px;flex-direction:column;line-height:1.4}
    .ind-lead{line-height:1.4}
    .ind-window{min-width:0;justify-content:center}
    .ind-item{justify-content:center}
  }
  .ind-window{position:relative;overflow:hidden;display:inline-block;min-width:9em;height:2em;vertical-align:middle}
  .ind-stack{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.65,0,.35,1);will-change:transform}
  .ind-item{height:2em;line-height:2em;display:flex;align-items:center;gap:12px;color:var(--azure);white-space:nowrap}
  .ind-item svg{width:.95em;height:.95em;flex:0 0 auto;color:var(--azure)}
  @media(prefers-reduced-motion:reduce){.ind-stack{transition:none}}
  .dual{padding:56px 0}
  .dual-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .dual-side{padding:34px 36px}
  .dual-side .k{font-family:'Sora';font-weight:700;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--azure);margin-bottom:8px}
  .dual-side h3{font-size:1.25rem;margin-bottom:8px}
  .dual-side p{font-size:.95rem;color:var(--slate)}
  .dual-plus{display:grid;place-items:center;padding:0 8px;background:linear-gradient(160deg,var(--steel),var(--azure));color:#fff;font-family:'Sora';font-weight:800;font-size:1.7rem;min-width:66px}
  .dual-foot{text-align:center;margin-top:22px;font-family:'Sora';font-weight:700;color:var(--ink);font-size:1.12rem}
  .dual-foot span{color:var(--azure)}
  .sec-head.wide{max-width:760px}
  .big-title{font-size:clamp(2.1rem,4.2vw,3rem)!important}
  .engage{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .eng-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;transition:transform .2s,box-shadow .2s,border-color .2s,background .25s;position:relative}
  .eng-num{font-family:'Sora';font-weight:800;font-size:.9rem;color:var(--azure);letter-spacing:.04em;margin-bottom:14px;transition:color .25s}
  .eng-card h3{font-size:1.22rem;margin-bottom:10px;transition:color .25s}
  .eng-card p{font-size:.96rem;color:var(--slate);transition:color .25s}
  /* desktop: hover. mobile: tap (:active). both get the navy treatment */
  @media(hover:hover){
    .eng-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent;background:linear-gradient(160deg,#16324F,var(--ink))}
    .eng-card:hover .eng-num{color:#7FB0FF}
    .eng-card:hover h3{color:#fff}
    .eng-card:hover p{color:#C7D6E8}
  }
  .eng-card:active{transform:translateY(-2px);box-shadow:var(--shadow);border-color:transparent;background:linear-gradient(160deg,#16324F,var(--ink))}
  .eng-card:active .eng-num{color:#7FB0FF}
  .eng-card:active h3{color:#fff}
  .eng-card:active p{color:#C7D6E8}
  @media(max-width:820px){.engage{grid-template-columns:1fr}}
  @media(max-width:760px){.dual-inner{grid-template-columns:1fr}.dual-plus{padding:14px 0;min-width:0}}
  section{padding:80px 0}
  .sec-head{max-width:600px;margin:0 auto 46px;text-align:center}
  .sec-head .eyebrow{margin-bottom:14px}
  .sec-head h2{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:700}
  .sec-head p{margin-top:14px;font-size:1.02rem;color:var(--slate)}
  .tint{background:var(--mist)}
  #faq{background:var(--paper)}
  .faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 44px;max-width:1000px;margin:0 auto}
  .faq-item h3{font-size:1.1rem;margin-bottom:8px;color:var(--ink)}
  .faq-item p{color:var(--slate);font-size:.98rem;line-height:1.65}
  .about-copy .entity{font-weight:500;color:var(--ink)}
  @media(max-width:720px){.faq-grid{grid-template-columns:1fr;gap:24px}}
  .logos{padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
  .logos .cap{text-align:center;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-soft);font-weight:600;margin-bottom:28px}
  .marquee{position:relative;overflow:hidden}
  /* edge fade via overlays (iOS-safe; -webkit-mask + animation can render blank on Safari) */
  .marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:2;pointer-events:none}
  .marquee::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
  .marquee::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
  .marquee-track{display:flex;gap:20px;width:max-content;animation:scroll 30s linear infinite;will-change:transform;transform:translateZ(0)}
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes scroll{to{transform:translateX(-50%)}}
  .logo-cell{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:92px;width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 28px}
  .logo-cell img{max-height:100%;max-width:100%;object-fit:contain;filter:grayscale(100%);opacity:.7;transition:filter .3s,opacity .3s}
  @media(hover:hover){.logo-cell:hover img{filter:grayscale(0);opacity:1}}
  .logo-cell:active img{filter:grayscale(0);opacity:1}
  .logo-cell .name{font-family:'Sora';font-weight:700;font-size:1.15rem;color:var(--slate)}
  @media(prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}
  .cycle-wrap{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
  .cycle{position:relative;width:330px;height:330px;flex:0 0 auto;margin:0 auto}
  .cycle .core{position:absolute;inset:33%;border-radius:50%;background:linear-gradient(135deg,var(--steel),var(--azure));color:#fff;display:grid;place-items:center;text-align:center;font-family:'Sora';font-weight:700;font-size:.86rem;line-height:1.25;box-shadow:0 16px 40px -16px rgba(45,108,223,.7)}
  .node{position:absolute;width:104px;text-align:center;transform-origin:52px 25px}
  .node .ring{width:50px;height:50px;border-radius:50%;background:#fff;border:2px solid var(--azure);display:grid;place-items:center;margin:0 auto 7px;font-family:'Sora';font-weight:700;color:var(--azure);font-size:1rem;box-shadow:var(--shadow);transition:transform .2s}
  @media(hover:hover){.node:hover .ring{transform:scale(1.1)}}
  .node:active .ring{transform:scale(1.1)}
  .node.done .ring{background:var(--green);border-color:var(--green);color:#fff}
  /* reserve 2 lines for every label so one- and two-line nodes are the same height (visual balance) */
  .node .nlabel{font-family:'Sora';font-weight:600;font-size:.8rem;color:var(--ink);line-height:1.2;min-height:2.4em;display:flex;align-items:flex-start;justify-content:center}
  .cycle .spin{position:absolute;inset:0;animation:rot 28s linear infinite}
  @keyframes rot{to{transform:rotate(360deg)}}
  @media(prefers-reduced-motion:reduce){.cycle .spin{animation:none}}
  /* SCROLL REVEAL */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
  /* SCENE entrance: slide in from each side */
  /* vertical-only slide-in: a horizontal offset overflowed the viewport at some widths */
  .scene-card.before.reveal,.scene-card.after.reveal{transform:translateY(22px)}
  .scene-card.before.reveal.in,.scene-card.after.reveal.in{transform:none}
  /* SCENE hover: lift + subtle zoom */
  .scene-card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s,opacity .7s cubic-bezier(.22,1,.36,1)}
  /* faces pop on card hover */
  .fig svg{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
  @media(hover:hover){
    .scene-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
    .scene-card:hover .fig svg{transform:scale(1.12)}
    /* frustrated faces shake; happy faces bounce */
    .scene-card.before:hover .fig:nth-child(2) svg,
    .scene-card.before:hover .fig:nth-child(3) svg{animation:shake .5s ease}
    .scene-card.after:hover .fig:nth-child(2) svg,
    .scene-card.after:hover .fig:nth-child(3) svg{animation:bounce .6s ease}
  }
  .scene-card:active{transform:translateY(-4px);box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
  .scene-card:active .fig svg{transform:scale(1.12)}
  .scene-card.before:active .fig:nth-child(2) svg,
  .scene-card.before:active .fig:nth-child(3) svg{animation:shake .5s ease}
  .scene-card.after:active .fig:nth-child(2) svg,
  .scene-card.after:active .fig:nth-child(3) svg{animation:bounce .6s ease}
  @keyframes shake{0%,100%{transform:scale(1.12) rotate(0)}20%{transform:scale(1.12) rotate(-7deg)}40%{transform:scale(1.12) rotate(6deg)}60%{transform:scale(1.12) rotate(-4deg)}80%{transform:scale(1.12) rotate(3deg)}}
  @keyframes bounce{0%{transform:scale(1.12) translateY(0)}30%{transform:scale(1.2) translateY(-7px)}55%{transform:scale(1.14) translateY(0)}75%{transform:scale(1.17) translateY(-3px)}100%{transform:scale(1.12) translateY(0)}}
  @media(prefers-reduced-motion:reduce){.scene-card:hover{transform:none}.scene-card:hover .fig svg{transform:none;animation:none}}
  /* KPI metrics brighten on card hover (no scale — scaling pushed the lines outside the card) */
  @media(hover:hover){.scene-card:hover .scene-metrics b{filter:brightness(1.25)}}
  .scene-card:active .scene-metrics b{filter:brightness(1.25)}
  .scene-metrics b{transition:filter .35s ease}
  .cycle-copy h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:14px}
  .cycle-copy p{font-size:1.02rem;margin-bottom:14px}
  .cycle-copy .punch{font-family:'Sora';font-weight:700;color:var(--ink);font-size:1.05rem;border-left:3px solid var(--azure);padding-left:16px;margin-top:22px;line-height:1.4}
  .value-block{margin-top:22px;background:var(--azure-soft);border-radius:14px;padding:20px 22px;border-left:3px solid var(--azure)}
  .value-tag{font-family:'Sora';font-weight:800;color:var(--azure);font-size:.95rem;margin-bottom:8px;letter-spacing:.01em}
  .value-block p{font-size:.98rem;color:var(--slate);margin:0;line-height:1.55}
  .formula{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
  .f-item{font-family:'Sora';font-weight:700;color:var(--ink);font-size:.95rem;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 14px}
  .f-op{font-family:'Sora';font-weight:800;color:var(--azure);font-size:1.1rem}
  .f-break{flex-basis:100%;height:0}
  .f-result{font-family:'Sora',sans-serif;font-weight:700;font-size:.95rem;line-height:1.2;letter-spacing:-.01em;color:#fff;background:linear-gradient(135deg,var(--steel),var(--azure));border-radius:9px;padding:8px 16px;box-shadow:0 10px 24px -12px rgba(45,108,223,.6)}
  @media(max-width:880px){.cycle-wrap{grid-template-columns:1fr;gap:40px}.cycle{width:300px;height:300px}}
  @media(max-width:480px){.cycle{width:248px;height:248px}}
  .impact-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch}
  .state{border-radius:var(--radius);padding:30px 28px}
  .state.before{background:#fff;border:1px solid var(--line)}
  .state.after{background:linear-gradient(160deg,#16324F,#0B1F33);color:#fff}
  .state .face{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:14px}
  .state.before .face{background:#FBE9E7;color:#D9534F}
  .state.after .face{background:rgba(45,108,223,.25);color:#7FB0FF}
  .state .face svg{width:27px;height:27px}
  .state .tag{font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px}
  .state.before .tag{color:#D9534F}.state.after .tag{color:#7FB0FF}
  .state h3{font-size:1.2rem;margin-bottom:14px}.state.after h3{color:#fff}
  .metric-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem}
  .state.after .metric-row{border-bottom:1px solid rgba(255,255,255,.12)}
  .metric-row:last-child{border-bottom:none}
  .metric-row .v{font-family:'Sora';font-weight:700}
  .state.before .v{color:#D9534F}.state.after .v{color:#5BE6A8}
  .arrow-col{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;gap:10px}
  .arrow-col .circle{width:50px;height:50px;border-radius:50%;background:var(--azure);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px -10px rgba(45,108,223,.7)}
  .arrow-col .circle svg{width:23px;height:23px}
  .arrow-col .lbl{font-family:'Sora';font-weight:600;font-size:.78rem;color:var(--azure);text-align:center;max-width:88px;line-height:1.3}
  @media(max-width:860px){.impact-wrap{grid-template-columns:1fr;gap:16px}.arrow-col{flex-direction:row}.arrow-col .circle{transform:rotate(90deg)}}
  /* flex + centered so a leftover card in the final row centers instead of hugging the left */
  .roster{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
  .client{flex:0 0 calc(20% - 12px);height:74px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;text-align:center;padding:0 12px;font-family:'Sora';font-weight:600;font-size:.85rem;color:var(--slate);transition:transform .2s,box-shadow .2s,color .2s}
  @media(hover:hover){.client:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--azure)}}
  .client:active{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--azure)}
  @media(max-width:860px){.client{flex:0 0 calc(33.333% - 10px)}}
  @media(max-width:520px){.client{flex:0 0 calc(50% - 7px)}}
  .book{background:linear-gradient(135deg,var(--steel),var(--ink));color:#fff;border-radius:26px;padding:60px 48px;text-align:center;position:relative;overflow:hidden}
  .book::after{content:"";position:absolute;inset:0;background:radial-gradient(560px 280px at 80% 0%,rgba(45,108,223,.35),transparent 60%);pointer-events:none}
  .book h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.3rem);position:relative}
  .book p{color:#C7D6E8;max-width:32em;margin:14px auto 26px;font-size:1.05rem;position:relative}
  .book .btn-primary{background:#fff;color:var(--steel);position:relative;font-size:1rem;padding:15px 30px}
  .book .micro{margin-top:16px;font-size:.84rem;color:#9DB2CC;position:relative}
  footer{padding:44px 0;border-top:1px solid var(--line)}
  .foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
  .foot .contact{font-size:.9rem;color:var(--slate-soft)}
  .foot .contact a{color:var(--azure);font-weight:500}
  /* STATS FRAME NOTE */
  .stats-note{text-align:center;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#9DB2CC;opacity:.8;margin:-26px 0 20px}
  /* ABOUT SEAN */
  .about-wrap{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:start}
  .about-photo{width:200px;height:200px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow);display:block}
  .about-copy h2{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:700;margin-bottom:14px}
  .about-copy .eyebrow{margin-bottom:14px}
  .about-copy>p{font-size:1.02rem;color:var(--slate);max-width:44em}
  .testimonial{margin-top:26px;border-left:3px solid #1E3A5F;padding:6px 0 6px 20px}
  .testimonial p{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:1.05rem;color:var(--ink);margin:0}
  .testimonial cite{display:block;margin-top:8px;font-size:.88rem;color:var(--slate-soft);font-style:normal}
  @media(max-width:760px){.about-wrap{grid-template-columns:1fr;gap:28px}.about-photo{width:160px;height:160px;margin:0 auto}}
  /* AI DEFLECTION DEMO */
  .ai-demo{margin-top:26px;max-width:390px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px -22px rgba(11,31,51,.35);overflow:hidden}
  .ai-demo-head{display:flex;align-items:center;gap:8px;font-family:'Sora';font-weight:600;font-size:.78rem;color:var(--slate-soft);padding:10px 14px;border-bottom:1px solid var(--line);background:var(--mist)}
  .ai-demo-head .dot{width:8px;height:8px;border-radius:50%;background:#378ADD;flex:0 0 auto}
  .ai-demo-body{padding:14px;min-height:248px;display:flex;flex-direction:column;gap:8px}
  .ai-msg{max-width:84%;padding:8px 12px;border-radius:12px;font-size:.86rem;line-height:1.45;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}
  .ai-msg.show{opacity:1;transform:none}
  .ai-msg.cust{align-self:flex-end;background:var(--cloud);color:var(--ink);border-bottom-right-radius:4px;text-align:left}
  .ai-msg.bot{align-self:flex-start;background:#E6F1FB;color:#0C447C;border-bottom-left-radius:4px;text-align:left}
  .ai-typing{align-self:flex-start;background:#E6F1FB;border-radius:12px;border-bottom-left-radius:4px;padding:11px 14px;display:flex;gap:4px;opacity:0;transition:opacity .25s}
  .ai-typing.show{opacity:1}
  .ai-typing i{width:6px;height:6px;border-radius:50%;background:#0C447C;animation:aiBlink 1s infinite}
  .ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
  @keyframes aiBlink{0%,100%{opacity:.25}50%{opacity:.9}}
  .ai-chip{align-self:center;margin-top:6px;background:#E1F5EE;color:#085041;font-family:'Sora';font-weight:600;font-size:.78rem;padding:7px 14px;border-radius:30px;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s;text-align:center}
  .ai-chip.show{opacity:1;transform:none}
  @media(max-width:880px){.ai-demo{margin:26px auto 0}}
  /* ROI CALCULATOR */
  .calc{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 32px;box-shadow:0 18px 48px -30px rgba(11,31,51,.25)}
  .calc-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .calc-field label{display:flex;justify-content:space-between;align-items:baseline;font-family:'Sora';font-weight:600;font-size:.85rem;color:var(--ink);margin-bottom:10px;gap:10px}
  .calc-field label b{color:#378ADD;font-weight:800;font-size:.95rem;white-space:nowrap}
  .calc-field input[type=range]{width:100%;accent-color:#378ADD;cursor:pointer}
  .calc-out{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
  .calc-card{background:var(--mist);border:1px solid var(--line);border-radius:14px;padding:20px 18px;text-align:center}
  .calc-card .n{font-family:'Sora';font-weight:800;font-size:clamp(1.5rem,3.4vw,2.1rem);color:#378ADD;letter-spacing:-.02em}
  .calc-card .l{font-size:.85rem;color:var(--slate-soft);margin-top:6px}
  .calc-note{font-size:.8rem;color:var(--slate-soft);margin-top:18px;text-align:center}
  .calc-cta{text-align:center;margin-top:18px}
  .btn-navy{background:#1E3A5F;color:#fff;box-shadow:0 12px 28px -14px rgba(30,58,95,.6)}
  @media(hover:hover){.btn-navy:hover{transform:translateY(-2px);box-shadow:0 16px 32px -14px rgba(30,58,95,.65)}}
  .btn-navy:active{transform:translateY(0) scale(.98)}
  @media(max-width:760px){.calc-controls{grid-template-columns:1fr}.calc-out{grid-template-columns:1fr}.calc{padding:26px 20px}}
  /* SECTION SCROLL-REVEAL (12px variant; booking section excluded) */
  .reveal-sec{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
  .reveal-sec.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal-sec{opacity:1;transform:none;transition:none}}
  /* STICKY BOOK PILL */
  .book-pill{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:60;background:#1E3A5F;color:#fff;font-family:'Sora';font-weight:600;font-size:.9rem;padding:12px 22px;border-radius:999px;box-shadow:0 14px 34px -14px rgba(11,31,51,.55);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
  .book-pill.on{opacity:1;transform:none;pointer-events:auto}
  @media(hover:hover){.book-pill:hover{background:#16324F}}

/* ===== Inner pages ===== */
.page-hero{background:radial-gradient(1100px 500px at 80% -10%,rgba(45,108,223,.10),transparent 60%),linear-gradient(180deg,#fff,var(--mist));padding:64px 0 56px}
.page-hero .wrap{max-width:880px}
.crumbs{font-size:.85rem;color:var(--slate-soft);margin-bottom:18px}
.crumbs a{color:var(--slate-soft)}.crumbs a:hover{color:var(--azure)}.crumbs span{margin:0 8px;color:var(--line)}
.page-hero h1{font-size:clamp(2rem,4.2vw,3rem);font-weight:800;max-width:18em;text-wrap:balance}
.page-hero .lead{font-size:1.12rem;color:var(--slate);max-width:36em;margin:18px 0 26px}
.page-hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost{background:#fff;color:var(--steel);border:1.5px solid var(--line)!important}
.btn-ghost:hover{border-color:var(--azure)!important;color:var(--azure)}
.article{padding:56px 0}
.article .wrap{max-width:880px}
.article h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin:44px 0 14px;text-align:left}
.article h2:first-child{margin-top:0}
.article h3{font-size:1.12rem;margin:22px 0 8px}
.article p{margin:0 0 16px;font-size:1.02rem;line-height:1.7}
.article ul,.article ol{margin:0 0 18px 1.2em;padding:0;font-size:1.02rem;line-height:1.7}
.article li{margin-bottom:8px}
.article .def{background:var(--azure-soft);border-left:4px solid var(--azure);border-radius:10px;padding:16px 20px;margin:0 0 22px;font-size:1.04rem;color:var(--ink)}
.kpi-table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:.98rem}
.kpi-table th,.kpi-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.kpi-table th{font-family:'Sora',sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-soft)}
.kpi-table td b{color:var(--ink);font-family:'Sora',sans-serif;font-variant-numeric:tabular-nums}
.table-wrap{overflow-x:auto}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:8px 0 24px}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 14px}
.step b{display:block;font-family:'Sora',sans-serif;color:var(--azure);font-size:.8rem;letter-spacing:.06em;margin-bottom:6px}
.step span{font-size:.92rem;color:var(--slate);line-height:1.45;display:block}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 40px;max-width:1000px;margin:0 auto}
.faq-item h3{font-size:1.08rem;margin:0 0 8px;color:var(--ink)}
.faq-item p{color:var(--slate);font-size:.98rem;line-height:1.65;margin:0}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;transition:border-color .2s,transform .2s,box-shadow .2s}
.rel-card:hover{border-color:var(--azure);transform:translateY(-2px);box-shadow:var(--shadow)}
.rel-card b{display:block;font-family:'Sora',sans-serif;color:var(--ink);font-size:1.05rem;margin-bottom:6px}
.rel-card span{font-size:.93rem;color:var(--slate)}
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:64px 0}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px}
.cta-band p{color:#B9C9DE;max-width:36em;margin:0 auto 24px}
.svc-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 18px;margin:30px auto 0;font-size:.95rem;color:var(--slate-soft)}
.svc-links a{color:var(--azure);font-weight:500;white-space:nowrap}
.foot-links{width:100%;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.88rem;margin-top:6px}
.foot-links a{color:var(--slate-soft)}.foot-links a:hover{color:var(--azure)}
.calc-page .calc{max-width:880px;margin:0 auto}
.updated{font-size:.85rem;color:var(--slate-soft)}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}.related{grid-template-columns:1fr}}
@media(max-width:720px){.faq-grid{grid-template-columns:1fr;gap:22px}.page-hero{padding:44px 0 40px}.article{padding:40px 0}.steps{grid-template-columns:1fr}}

  /* Services dropdown in the primary nav */
  .nav-item{position:relative;display:flex;align-items:center;height:72px}
  .nav-item>a{display:inline-flex;align-items:center;gap:6px}
  .nav-item>a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
  .nav-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:6px;display:none;z-index:60}
  .nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{display:block}
  .nav-menu-inner{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:260px;display:flex;flex-direction:column;gap:2px}
  .nav-menu-inner a{display:block;padding:10px 12px;border-radius:9px;font-size:.9rem;color:var(--ink)!important;white-space:nowrap}
  .nav-menu-inner a small{display:block;font-size:.78rem;color:var(--slate-soft);font-weight:400;margin-top:1px}
  .nav-menu-inner a:hover,.nav-menu-inner a:focus-visible{background:var(--azure-soft);color:var(--azure)!important}
  .nav-menu-inner .all{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;color:var(--azure)!important;font-weight:600}
  @media(max-width:760px){.nav-item{display:none}}
  .byline{font-size:.9rem;color:var(--slate-soft);margin:10px 0 0}
  .byline a{color:var(--steel);font-weight:600}
  .byline a:hover{color:var(--azure)}

  .skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;z-index:100}
.skip:focus{left:12px}
.about-grid{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start;margin-bottom:8px}
.about-photo-page{width:200px;height:200px;border-radius:20px;object-fit:cover;box-shadow:var(--shadow)}
.related-1{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto}
@media(max-width:720px){.about-grid{grid-template-columns:1fr}.about-photo-page{width:140px;height:140px}}

.opt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.opt-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px}
.opt-card .tag{display:inline-block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--azure);margin-bottom:10px}
.opt-card h3{font-size:1.08rem;margin:0 0 10px;line-height:1.3}
.opt-card p{font-size:.95rem;color:var(--slate);margin:0 0 10px;line-height:1.6}
.opt-links{text-align:center;margin-top:22px;font-size:.95rem;color:var(--slate-soft)}
.opt-links a{color:var(--azure);font-weight:500;margin:0 7px;white-space:nowrap}
@media(max-width:900px){.opt-grid{grid-template-columns:1fr}}
