/* Phone pass (iPhone SE and up). Loaded last by scripts/build.mjs, after site.css, extras.css and home.css.
   Scope: nothing here touches layouts above 850px unless a rule says otherwise. The goal on a phone is that each
   section reads on one screen: smaller type, compact controls, visuals that fit, and nothing you have to scroll
   sideways to find. */

/* ===== Mobile menu: the nav is a scrolling column; packing it to the end pushed its content above the top ===== */
@media(max-width:850px){
  .main-nav{justify-content:flex-start;max-height:calc(100dvh - 90px);overscroll-behavior:contain}
  .main-nav>*{flex:none}
  .nav-dropdown.mega{margin:4px 0 10px;padding:4px 6px 8px}
  .nav-dropdown.mega .mega-top{padding:12px 10px}
  .mega-cols{gap:4px 10px;padding-top:8px;margin-top:4px}
  .nav-dropdown .mega-col a{padding:9px 10px;font-size:14px}
  .nav-dropdown .mega-col a.mega-h{padding-top:10px}
}
@media(max-width:520px){.mega-cols{grid-template-columns:1fr 1fr}.nav-dropdown .mega-col a{font-size:13px;padding:8px 8px}}
@media(max-width:400px){.mega-cols{grid-template-columns:1fr}}

/* ===== Breadcrumbs: off on phones ===== */
@media(max-width:760px){.breadcrumbs{display:none!important}.page-hero{padding-top:28px}.fx-hero-copy .fx-eyebrow{margin-top:0}}

/* ===== Buttons and headings: smaller everywhere on phones ===== */
@media(max-width:600px){
  .button{min-height:44px;padding:11px 18px;font-size:13px;gap:10px}
  .button .icon{width:16px;height:16px}
  .hero .button,.hero-actions .button{min-height:44px;padding:11px 18px;font-size:13px}
  .text-link{font-size:13px}
  .home-h2,.flow-title,.onboarding h2,.ob-head h2,.closing-home h2,.closing h2,.stp-head h2{font-size:26px!important;line-height:1.12;letter-spacing:-.03em}
  .section{padding:52px 0}
  .section-shell>.container{padding-top:38px;padding-bottom:40px}
}

/* ===== Hero: more mountain, moving under your finger ===== */
@media(max-width:600px){
  .hero{padding:30px 0 220px!important;min-height:calc(100svh - 64px)}
  .hero-kicker{font-size:13px;margin-bottom:14px}
  .hero-outcome{font-size:clamp(30px,8.8vw,38px)!important}
  .hero-unlocks{font-size:15px;margin-top:16px}
  .hero .hero-actions{margin-top:22px;gap:10px}
  .mesh-canvas{height:100%!important;opacity:1}
  @keyframes canvas-in{from{opacity:0;transform:translateY(50px)}to{opacity:.95;transform:none}}
  .hero-glow{height:360px}
}

/* ===== From investment data to investment decisions: two tilted plates, Altius as a sphere, data in motion ===== */
.flow-fx{display:none}
@media(max-width:600px){
  .connection-section>.container{padding-top:34px!important;padding-bottom:30px!important}
  .flow-head{margin-bottom:4px}
  .flow-intro{display:none}
  .flow{--ex:1;position:relative;max-width:none;perspective:none;padding:2px 0 4px;gap:0!important}
  .flow-fx{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
  .fx-plate.flow-in,.fx-plate.flow-out{position:relative;z-index:1;width:88%;margin:0 auto;padding:9px 9px 9px;border-radius:18px;border:1px solid rgba(53,196,206,.4);
    background:linear-gradient(160deg,rgba(26,70,104,.94),rgba(10,32,54,.96));box-shadow:0 22px 30px -12px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);
    transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s;opacity:calc(.3 + var(--ex) * .7)}
  .fx-plate.flow-in{transform:translateY(calc((1 - var(--ex)) * 60px)) perspective(720px) rotateX(32deg) rotateZ(-6deg)}
  .fx-plate.flow-out{transform:translateY(calc((1 - var(--ex)) * -60px)) perspective(720px) rotateX(32deg) rotateZ(-6deg)}
  /* a little thickness: a darker slab under each plate */
  .fx-plate.flow-in,.fx-plate.flow-out{transform-style:preserve-3d}
  .fx-plate.flow-in::after,.fx-plate.flow-out::after{content:"";position:absolute;inset:0;border-radius:18px;transform:translateZ(-9px);background:linear-gradient(180deg,#0B2740,#04101F);border:1px solid rgba(53,196,206,.28);pointer-events:none}
  .flow-col{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .flow-col::before{font-size:10px;letter-spacing:.12em;margin-bottom:2px;color:#8FD3DA}
  .flow-node{padding:7px 8px 7px 7px!important;gap:7px;border-radius:10px;min-height:0!important;background:linear-gradient(180deg,#163A59,#0F2A44);transition:border-color .35s,box-shadow .35s}
  .flow-node.is-send{border-color:rgba(53,196,206,.9);box-shadow:0 0 0 1px rgba(53,196,206,.35),0 0 16px rgba(53,196,206,.35)}
  .flow-node.is-recv{border-color:rgba(226,189,130,.9);box-shadow:0 0 0 1px rgba(226,189,130,.35),0 0 16px rgba(226,189,130,.35)}
  .flow-icon{width:26px!important;height:26px!important;border-radius:8px}
  .flow-icon .icon{width:15px;height:15px}
  .flow-label{font-size:12.5px!important;line-height:1.2}
  .flow-detail{display:none}
  .flow-in li,.flow-out li,.flow-node{animation:none!important;opacity:1!important;transform:none!important}
  /* Altius: a lit sphere with an orbit ring and the label beneath */
  .fx-plate.flow-core{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;margin:0!important;padding:22px 0 20px!important;background:none;border:0;box-shadow:none;transform:scale(calc(.85 + var(--ex) * .15))}
  .flow-core::after,.core-ring-2,.core-orbit,.core-pop{display:none!important}
  .core-disc{position:relative;width:100px!important;height:100px!important;z-index:2;border-radius:50%;gap:0!important;overflow:visible;
    background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 18%),radial-gradient(circle at 38% 32%,#4FD3DC 0%,#1B8A98 22%,#0F4E6E 50%,#0A2642 76%,#06142A 100%)!important;
    border:0!important;box-shadow:inset -14px -18px 28px rgba(0,0,0,.55),inset 6px 8px 18px rgba(255,255,255,.12),0 20px 30px -8px rgba(0,0,0,.6),0 0 44px rgba(53,196,206,.35)!important;
    transition:box-shadow .5s}
  .core-disc.is-pulse{box-shadow:inset -14px -18px 28px rgba(0,0,0,.5),inset 6px 8px 18px rgba(255,255,255,.18),0 20px 30px -8px rgba(0,0,0,.6),0 0 64px rgba(53,196,206,.7)!important}
  .core-disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 70% 78%,rgba(53,196,206,.35),transparent 45%);pointer-events:none}
  .core-disc img,.core-disc .brand img{width:74px!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));transform:perspective(120px) rotateX(16deg) scaleY(.92);
    -webkit-mask-image:radial-gradient(ellipse 52% 140% at 50% 50%,#000 55%,rgba(0,0,0,.25) 82%,transparent 100%);mask-image:radial-gradient(ellipse 52% 140% at 50% 50%,#000 55%,rgba(0,0,0,.25) 82%,transparent 100%)}
  .core-disc{flex-direction:column;justify-content:center}
  .core-disc.is-emit{box-shadow:inset -14px -18px 28px rgba(0,0,0,.5),inset 0 0 26px rgba(226,189,130,.45),0 20px 30px -8px rgba(0,0,0,.6),0 0 54px rgba(226,189,130,.45)!important}
  /* the plane the sphere sits on, tilted like the other two */
  .flow-core::before{content:""!important;display:block!important;position:absolute;left:12%;right:12%;top:50%;height:92px;z-index:1;border-radius:18px;pointer-events:none;
    transform:translateY(-36%) perspective(720px) rotateX(32deg) rotateZ(-6deg);border:1px dashed rgba(53,196,206,.45);
    background:radial-gradient(ellipse 45% 55% at 50% 55%,rgba(53,196,206,.28),transparent 70%),repeating-linear-gradient(0deg,rgba(53,196,206,.12) 0 1px,transparent 1px 16px),repeating-linear-gradient(90deg,rgba(53,196,206,.12) 0 1px,transparent 1px 16px)}
  .core-label{position:static!important;transform:none;font-size:0!important;margin:1px 0 0!important;padding:0;background:none;border:0;line-height:1}
  .core-label::after{content:"AI";font-size:11px;font-weight:800;letter-spacing:.18em;color:#9BEFF4;text-shadow:0 0 10px rgba(53,196,206,.8)}
  .core-ring{position:absolute!important;left:50%;top:50%;width:150px!important;height:42px!important;z-index:3;border-radius:50%!important;border:1.5px solid rgba(53,196,206,.55)!important;background:none!important;box-shadow:none!important;
    transform:translate(-50%,-50%) rotate(-14deg);z-index:0;animation:ring-tilt 6s ease-in-out infinite}
  .core-ring::after{content:"";position:absolute;left:12%;top:8%;width:7px;height:7px;border-radius:50%;background:#E2BD82;box-shadow:0 0 10px #E2BD82;animation:ring-dot 3.2s linear infinite;offset-path:ellipse(75px 21px at 50% 50%)}
  @keyframes ring-tilt{0%,100%{transform:translate(-50%,-50%) rotate(-14deg)}50%{transform:translate(-50%,-50%) rotate(-8deg)}}
  @keyframes ring-dot{from{offset-distance:0%}to{offset-distance:100%}}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.fx-plate,.core-ring,.core-ring::after{transition:none;animation:none}}

/* ===== The platform in action: four tabs always visible, one chapter per screen ===== */
@media(max-width:600px){
  .product-story{padding:48px 0 16px!important}
  .story-head{display:block}
  .story-intro{display:none}
  .story{margin-top:16px!important}
  .story-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible;padding:4px;border-radius:16px;background:#DCE7EE}
  .story-tab,.story-tab:hover,.story-tab[aria-selected="true"]{min-width:0;flex-direction:column;gap:4px;padding:9px 2px 8px!important;border-radius:12px;font-size:12px;white-space:nowrap;line-height:1.1;text-align:center;background:transparent;color:var(--navy)}
  .story-tab .st-long{display:none}
  .story-tab .st-short{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:700;letter-spacing:-.01em}
  .story-tab .st-short .icon{width:19px;height:19px;color:var(--teal-dark)}
  .story-tab[aria-selected="true"]{background:var(--navy-deep);color:white;box-shadow:0 8px 18px -8px rgba(10,29,53,.6)}
  .story-tab[aria-selected="true"] .st-short .icon{color:var(--teal-bright)}
  .story-tab[aria-selected="true"]::before{display:block;left:22%;right:22%}
  .story-tab[aria-selected="true"]::after{display:none}
  .story-panels{margin-top:10px;border-radius:18px!important;padding:16px 14px 18px}
  .story-panel{display:flex!important;flex-direction:column;gap:0}
  .story.is-tabbed .story-panel:not(.is-active){display:none!important}
  .story-copy{display:contents}
  .story-copy h3{order:1;font-size:21px;line-height:1.18;margin:0 0 12px}
  .story-body{display:none}
  .story-visual{order:2;width:100%;max-width:none}
  .story-copy .ask-chips{order:3}
  .story-copy .text-link{order:4;margin-top:14px;align-self:flex-start}
  .story.is-tabbed .story-panel.is-active .story-copy>*{animation:none}
  .viz{min-height:0;padding:12px;border-radius:14px;box-shadow:0 16px 36px rgba(0,0,0,.3)}

  /* Portfolio: three KPIs on one line, the asset-class strip, the holdings table. No donut, no unfunded tile. */
  .viz-portfolio{padding:12px}
  .viz-portfolio .pf-top{margin-bottom:8px}
  .pf-title{font-size:13px}
  .pf-cur select{font-size:11px;padding:4px 22px 4px 9px}
  .pf-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}
  .pf-kpi{padding:7px 8px!important}
  .pf-kpi span{font-size:10px}
  .viz-portfolio .pf-kpi b{font-size:14px}
  .pf-kpi:nth-child(4){display:none}
  .viz-portfolio .pf-body{display:block;margin-top:8px}
  .viz-portfolio .pf-donut-wrap{display:none}
  .viz-portfolio .pf-detail{padding:8px 10px 6px}
  .viz-portfolio .pf-detail-name{font-size:13px}
  .pf-chips{gap:5px}
  .pf-chip{font-size:10.5px;padding:3px 8px}
  .viz-portfolio .pf-line{height:46px;margin-top:4px}
  .pf-axis{font-size:9px}
  .pf-tbl{margin-top:8px;font-size:11.5px}
  .pf-tbl th{font-size:9.5px;padding:0 6px 4px}
  .pf-tbl td{padding:5px 6px}

  /* Liquidity: tighter head and chart */
  .lq-head{margin-bottom:6px;gap:8px}
  .lq-seg button{padding:6px 4px;font-size:11px}
  .lq-kpi span{font-size:9.5px}
  .lq-kpi b{font-size:15px}
  .lq-legend{gap:4px 12px;margin-top:6px;font-size:10px}

  /* Ask: a fixed-height chat window that never changes the page height; newest content stays visible */
  .viz-ask{padding:0!important}
  .ask-window{min-height:0}
  .ask-thread{min-height:0!important;height:300px;overflow:hidden;justify-content:flex-end;padding:12px!important;gap:9px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%);mask-image:linear-gradient(to bottom,transparent,#000 14%)}
  .ask-q{font-size:13.5px;padding:9px 13px;border-radius:14px 14px 3px 14px;max-width:92%}
  .ask-attach{font-size:11px;padding:5px 10px}
  .ask-run{gap:5px}
  .ask-agent{font-size:10px;padding:4px 9px}
  .ask-a{font-size:13px;line-height:1.5;padding:11px 13px;max-width:100%}
  .ask-a-tag{font-size:11px}
  .ask-findings{grid-template-columns:1fr 1fr!important;gap:6px;margin-top:9px}
  .ask-finding{padding:7px 9px}
  .ask-finding span{font-size:9.5px}
  .ask-finding b{font-size:12px}
  .ask-chips{flex-direction:row!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;margin:10px 0 0;padding:2px 0 4px;gap:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .ask-chips::-webkit-scrollbar{display:none}
  .ask-chip{flex:0 0 auto;max-width:76vw;font-size:12px;padding:8px 12px;border-radius:999px;scroll-snap-align:start;white-space:normal}

  /* Network: the graph fills the card, the warm-path callout sits under it instead of over it */
  .viz-network{padding:8px}
  .nw-stats{padding:2px 2px 0;gap:6px}
  .nw-stats span{font-size:10px;padding:4px 8px}
  .nw-stats span:nth-child(n+3){display:none}
  .viz-network .nw-svg,.viz-network.is-small .nw-svg{aspect-ratio:460/370;width:100%;height:auto}
  .nw-callout{position:static!important;margin:6px 2px 2px;padding:9px 11px;min-height:0;flex-direction:row!important;align-items:center!important;gap:10px;font-size:11px;line-height:1.35}
  .nw-callout b{font-size:12.5px}
  .nw-callout .nw-bar{display:none}
  .nw-callout .nw-intro{font-size:10px;padding:4px 8px}
}

/* ===== One platform for the entire LP lifecycle: the four stages as a cycle around Altius ===== */
@media(max-width:600px){
  .cap-band{margin-top:12px;margin-bottom:12px}
  .cap-band>.container{display:flex;flex-direction:column;padding-top:34px!important;padding-bottom:30px!important}
  .cap-band-head{display:contents}
  .cap-band-head h2{order:1}
  .stage-cards{order:2;position:relative;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
  .stage-cards::after{content:"";position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-50%);border-radius:50%;z-index:2;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2335C4CE' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 0 1-14.2 5'/%3E%3Cpath d='M4 12a8 8 0 0 1 14.2-5'/%3E%3Cpath d='M18.5 3v4.2h-4.2M5.5 21v-4.2h4.2'/%3E%3C/svg%3E") center/30px no-repeat,radial-gradient(circle at 50% 35%,#1A4A70,#0A1D35);border:1.5px solid rgba(53,196,206,.6);box-shadow:0 0 0 6px var(--navy-deep,#0A1D35),0 0 26px rgba(53,196,206,.35);animation:hub-spin 9s linear infinite}
  @keyframes hub-spin{to{background-position:center,center;transform:translate(-50%,-50%) rotate(360deg)}}
  .stage-card{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;min-height:138px;padding:14px!important;border-radius:18px;position:relative}
  .stage-card:hover{transform:none}
  .stage-cards>:nth-child(1) .stage-card,.stage-cards>.stage-card:nth-child(1){padding-right:30px!important;padding-bottom:30px!important}
  .stage-cards>:nth-child(2) .stage-card,.stage-cards>.stage-card:nth-child(2){padding-left:30px!important;padding-bottom:30px!important}
  .stage-cards>:nth-child(3) .stage-card,.stage-cards>.stage-card:nth-child(3){padding-right:30px!important;padding-top:30px!important}
  .stage-cards>:nth-child(4) .stage-card,.stage-cards>.stage-card:nth-child(4){padding-left:30px!important;padding-top:30px!important;align-items:flex-end!important;text-align:right}
  .stage-cards>:nth-child(4) .stage-icons,.stage-cards>.stage-card:nth-child(4) .stage-icons{justify-content:flex-end}
  .stage-cards>li{list-style:none;display:flex}
  .stage-cards>li>.stage-card{flex:1}
  .stage-no{font-size:12px;grid-row:auto}
  .stage-card b{font-size:16px;line-height:1.2;white-space:normal;overflow:visible}
  .stage-icons{margin-top:auto;gap:4px;flex-wrap:wrap}
  .stage-icons i{width:24px;height:24px;border-radius:7px}
  .stage-icons i .icon{width:13px;height:13px}
  .stage-icons i.ai{font-size:9.5px}
  .stage-tools,.stage-arrow{display:none!important}
  .cap-cta{order:3;align-self:stretch;justify-content:center;margin-top:16px;min-height:44px;padding:11px 18px;font-size:14px;gap:10px;animation:none;
    background:transparent!important;color:#BFEFF2!important;border:1.5px solid rgba(53,196,206,.55);box-shadow:none!important}
  .cap-cta .icon{width:16px;height:16px}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.stage-cards::after{animation:none}}

/* ===== Solutions: two tiles that fit, titles clear of the button ===== */
@media(max-width:600px){
  .audience-section .home-h2{margin-bottom:0}
  .audience-grid{gap:10px;margin-top:16px}
  .audience-tile{min-height:168px!important;padding:16px 18px!important}
  .audience-tile h3{font-size:22px!important;line-height:1.15;padding-right:64px}
  .audience-tile .audience-go{width:38px!important;height:38px!important;bottom:16px!important;right:16px!important}
  .audience-go .icon{width:18px;height:18px}
}

/* ===== Live in days, not months: a joined timeline on one row, three plain steps, no document theatre ===== */
@media(max-width:760px){
  .ob-track{grid-template-columns:repeat(calc(var(--n) + 1),minmax(0,1fr))!important;row-gap:0;padding:14px 4px 12px!important;margin-top:18px!important;column-gap:0}
  .ob-track .ob-rail{display:block!important;left:0;right:0;top:36px;height:2px}
  .ob-seg{height:2px}
  .ob-seg:nth-child(1){left:calc(12.5% + 24px)!important;width:calc(25% - 48px)!important}
  .ob-seg:nth-child(2){left:calc(37.5% + 24px)!important;width:calc(25% - 48px)!important}
  .ob-seg:nth-child(3){left:calc(62.5% + 24px)!important;width:calc(25% - 48px)!important}
  .ob-mile{transform:none}
  .ob-ring{width:46px;height:46px}
  .ob-ring>svg{width:46px;height:46px}
  .ob-ring-fg,.ob-ring-bg{stroke-width:4}
  .ob-ring-icon .icon{width:16px;height:16px}
  .ob-mile-num{margin-top:6px!important}
  .ob-mile-num b{font-size:17px!important}
  .ob-mile-num small{font-size:10px;margin-left:2px}
  .ob-mile-label{font-size:10px!important;line-height:1.2;margin-top:3px!important;padding:0 2px}
  .ob-live .ob-mile-num b{font-size:14px!important}
}
@media(max-width:600px){
  .onboarding{padding:40px 0!important}
  .ob-box{padding:18px 16px 16px;border-radius:18px}
  .ob-tagline{font-size:16px!important;line-height:1.35;margin-top:6px}
  .ob-inside{margin:14px 0 0;font-size:13px;line-height:1.4}
  .ob-inside span::before{width:8px;height:8px;box-shadow:0 0 0 3px rgba(26,166,176,.18)}
  .ob-box .ob-grid{margin-top:10px;gap:8px;display:flex;flex-direction:column}
  /* Four step pills on one row; the active step's line sits under them; the stage below plays the stage. */
  .ob-steps{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible!important;padding-bottom:46px}
  .ob-steps li{min-width:0!important;position:static}
  .ob-step{position:static;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:8px 4px 7px!important;border-radius:10px}
  .ob-num{width:20px;height:20px;font-size:10.5px;flex:none}
  .ob-step-text b{display:block;font-size:11px!important;line-height:1.15;letter-spacing:-.01em}
  .ob-step-text span{display:none;position:absolute;left:0;right:0;bottom:0;font-size:12.5px;line-height:1.4;text-align:left;color:var(--navy);padding:0 2px}
  .ob-step.is-on .ob-step-text span{display:block;opacity:1!important;max-height:none!important;margin:0!important;overflow:visible!important;color:var(--navy)!important}
  .ob-progress{display:none}
  /* One compact stage, 240px tall: the document, then the validated rows over it, then the dashboard, then support. */
  .ob-visual{display:block!important;position:relative;height:218px;padding:10px!important;border-radius:16px;overflow:hidden}
  .ob-arrow{display:none!important}
  .ob-doc{position:absolute;left:10px;right:10px;top:10px;bottom:10px;padding:10px 12px;transform:none;overflow:hidden}
  .ob-doc-head{font-size:11.5px;padding-bottom:7px}
  .ob-line{margin:6px 0}
  .ob-hl{font-size:10.5px}
  .ob-doc-table{margin-top:10px}
  .ob-out{position:absolute;left:10px;right:10px;top:10px;bottom:10px;min-height:0;display:block}
  .ob-rows{position:absolute;inset:0;gap:5px;align-content:start;opacity:0;transform:translateY(10px)}
  .ob-row{grid-template-columns:72px minmax(0,1fr) 18px;gap:8px;padding:6px 10px;font-size:12px;border-radius:8px}
  .ob-key{font-size:10px}
  .ob-check{width:18px;height:18px}
  .ob-check .icon{width:11px;height:11px}
  .ob-visual[data-stage="0"] .ob-doc{opacity:1;transform:none}
  .ob-visual[data-stage="1"] .ob-doc{opacity:.08;transform:scale(.94)}
  .ob-visual[data-stage="1"] .ob-rows{opacity:1;transform:none}
  .ob-visual[data-stage="2"] .ob-doc,.ob-visual[data-stage="3"] .ob-doc{opacity:0;transform:scale(.94)}
  .ob-visual[data-stage="2"] .ob-rows,.ob-visual[data-stage="3"] .ob-rows{opacity:0;transform:translateY(-10px)}
  .ob-dash{gap:6px;grid-template-rows:auto auto 1fr}
  .ob-kpis{gap:5px}
  .ob-kpis div{padding:6px 8px}
  .ob-kpis span{font-size:9.5px}
  .ob-kpis b{font-size:14px}
  .ob-chart{min-height:0;height:58px;padding:7px 8px;gap:5px}
  .ob-table p{padding:4px 8px;font-size:11px;gap:8px}
  .ob-table p:nth-child(n+4){display:none}
  .ob-support{left:4%;right:4%;padding:10px 12px 9px;border-radius:12px}
  .ob-sup-av{width:28px;height:28px}
  .ob-sup-av .icon{width:14px;height:14px}
  .ob-sup-h{gap:9px}
  .ob-sup-h b{font-size:12.5px}
  .ob-sup-h small{font-size:11.5px;line-height:1.35}
  .ob-support ul{margin-top:8px;padding-top:7px;gap:4px}
  .ob-support li{font-size:11.5px;gap:6px}
  .ob-support li .icon{width:14px;height:14px}
  .ob-links{flex-direction:row!important;flex-wrap:wrap;gap:8px 18px!important;margin-top:16px}
  .ob-links .text-link{font-size:12px}
}

/* ===== Closing: the two paths first, compact; then the demo button ===== */
@media(max-width:600px){
  .closing-home>.container{padding-top:36px!important;padding-bottom:36px!important}
  .closing-home .closing-inner{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .closing-home .closing-inner h2{order:1}
  .closing-home .closing-inner .button{order:3;align-self:stretch;margin-top:14px}
  .closing-home .closing-paths{order:2;margin-top:14px;gap:8px}
  .closing-home .closing-inner::after{content:"";order:2}
  .closing-home .fit-path,.closing-home .fit-path-sm{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;padding:12px 14px;border-radius:14px}
  .closing-home .fit-path .icon-badge{grid-row:1/3;width:38px;height:38px;border-radius:10px}
  .closing-home .fit-path .icon-badge .icon{width:18px;height:18px}
  .closing-home .fit-path h3{font-size:15px!important;line-height:1.25}
  .closing-home .fit-path p{display:none}
  .closing-home .fit-path .card-link{font-size:12px;margin-top:3px;width:auto;justify-content:flex-start;gap:8px}
  .closing-home .fit-path .card-link .icon{width:14px}
  .closing-home .fit-path-sm{grid-template-columns:minmax(0,1fr);align-self:auto;padding:12px 14px}
}
/* The grid can't reorder across the two wrappers, so the closing block is laid out as one column in source order
   with the paths pulled between the heading and the button via flex order on a shared parent. */
@media(max-width:600px){
  .closing-home>.container{display:flex;flex-direction:column}
  .closing-home .closing-inner{display:contents}
  .closing-home .closing-inner h2{order:1;margin:0}
  .closing-home .closing-paths{order:2}
  .closing-home .closing-inner .button{order:3;align-self:stretch;margin-top:14px!important}
  .closing-home .closing-inner .eyebrow{order:0}
}

/* ===== Platform page: the feature map folds by stage; tiles become list rows ===== */
@media(max-width:700px){
  .capability-overview .cap-head{margin-bottom:0}
  .tile-rows{gap:8px;margin-top:16px}
  .tile-row{grid-template-columns:1fr!important;gap:0;padding:0;border-radius:16px;background:white;border:1px solid var(--line);overflow:hidden}
  .tile-row-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 16px!important;font-size:16px!important;cursor:pointer;background:#E9F1F4;user-select:none;-webkit-user-select:none}
  .tile-row-title::after{content:"";width:9px;height:9px;border-right:2px solid var(--teal-dark);border-bottom:2px solid var(--teal-dark);transform:rotate(45deg);transition:transform .25s;margin-right:4px;margin-top:-4px;flex:none}
  .tile-row.is-open .tile-row-title::after{transform:rotate(-135deg);margin-top:4px}
  .tile-row:not(.is-open) .tile-list{display:none}
  .tile-row .tile-list{grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:0!important;padding:4px 0}
  .tile-row .tile-list li{display:block;padding:0!important}
  .tile-row .tile-list li+li{border-top:1px solid var(--line)}
  .tile-row .tile-list li.is-ai::before{display:none}
  .tile-row .tile{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;column-gap:12px;align-items:center;min-height:0!important;padding:11px 14px 11px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
  .tile-row .tile-head{display:contents}
  .tile-row .tile-icon{grid-column:1;grid-row:1/3;width:34px;height:34px;border-radius:9px;margin:0}
  .tile-row .tile-icon .icon{width:17px;height:17px}
  .tile-row .tile-ai{font-size:10px}
  .tile-row .tile-title{grid-column:2;grid-row:1;font-size:14px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
  .tile-row .tile-tag{grid-column:2;grid-row:3;justify-self:start;margin:4px 0 0;font-size:9.5px}
  .tile-row .tile-body{grid-column:2;grid-row:2;font-size:12px;line-height:1.4;color:var(--muted);margin:2px 0 0;white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .tile-row .tile-arrow{grid-column:3;grid-row:1/3;position:static;width:16px!important;height:16px!important;opacity:.6;transform:none!important}
  .tile-row .tile-scan,.tile-row .tile-go,.tile-row .tile-pop,.tile-row .tile-ai-row::after{display:none!important}
  .tile-row .tile-ai-row{background:#EEF8F9!important}
  .page-hero h1{font-size:30px!important;line-height:1.14}
  .page-hero .lead{font-size:15px;line-height:1.6;margin-top:14px}
  .tile-row .tile.is-soon,.tile-row .tile.is-auto{opacity:.85}
}

/* ===== Tool pages: hero movie bigger, how-it-works on one screen per step ===== */
@media(max-width:700px){
  .fx-hero>.container{padding-top:28px!important;padding-bottom:28px!important}
  .fx-hero-copy h1{font-size:clamp(26px,7.4vw,32px);line-height:1.12}
  .fx-hero-copy .lead{font-size:15px;line-height:1.55;margin-top:12px}
  .fx-hero-copy .hero-actions{margin-top:16px}
  .fx-hero-grid{gap:14px!important;padding-top:0;padding-bottom:0}
  .fx-hero-visual{margin-top:0}
  .fx-hero-visual .pv-hero{width:calc(100% + 36px);margin-left:-18px;padding:6px;border-radius:14px}
  .fx-hero-visual .pv-hero .pv-stage{border-radius:10px}
  .fx-srcs{gap:6px;margin-bottom:10px}
  .fx-srcs li{font-size:11px;padding:4px 9px}
  .stp{padding:40px 0!important}
  .stp-head{margin-bottom:0}
  .stp-grid{display:flex;flex-direction:column;gap:12px;margin-top:14px}
  .stp-stage{order:1;width:calc(100% + 20px);margin-left:-10px;padding:10px!important;min-height:0!important;border-radius:16px;box-shadow:0 18px 40px rgba(10,29,53,.18)}
  .stp-pane{inset:auto!important;left:10px!important;top:50%!important;width:calc(var(--stp-dw,480) * 1px);display:block;transform:translateY(-50%) scale(var(--sk,1));transform-origin:0 50%}
  .stp-pane>*{max-width:none!important;width:calc(var(--stp-dw,480) * 1px)}
  .stp-stage:has(.sv-tr5),.stp-stage:has(.sv-board){--stp-dw:620}
  .stp-stage .sv-rp-grid{grid-template-columns:1fr}
  .stp-stage .sv-lv{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .stp-list{order:2;gap:6px}
  .stp-step{padding:10px 12px;gap:10px;border-radius:12px;align-items:flex-start}
  .stp-n{width:24px;height:24px;font-size:12px}
  .stp-text b{font-size:14.5px;line-height:1.25}
  .stp-body{font-size:12.5px;line-height:1.45;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .3s,margin-top .4s}
  .stp-step.is-on .stp-body{max-height:120px;opacity:1;margin-top:4px}
  .stp-before{display:none!important}
  /* The scaled panes keep their desktop grids; the narrow-viewport reflows are undone inside the stage. */
  .stp-stage .sv-files{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}
  .stp-stage .sv-extract{grid-template-columns:minmax(0,.85fr) 34px minmax(0,1.15fr)}
  .stp-stage .sv-export{grid-template-columns:minmax(0,1.2fr) 34px minmax(0,.8fr)}
  .stp-stage .sv-arrow{transform:none}
  .stp-stage .sv-org,.stp-stage .sv-intro{grid-template-columns:1fr 1fr}
  .stp-stage .sv-ws{grid-template-columns:160px 1fr}
  .stp-stage .sv-act-grid{grid-template-columns:1fr 1.15fr}
  .stp-stage .sv-board{grid-template-columns:repeat(var(--lanes),minmax(0,1fr));overflow:visible}
  .stp-stage .sv-tree{display:block}
  .stp-stage .sv-tgrid{grid-template-columns:repeat(3,1fr)}
  .stp-stage .sv-bld{grid-template-columns:118px 1fr}
  .stp-stage .sv-ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stp-stage .sv-pal{flex-direction:column}
  .stp-stage .sv-rpt p{font-size:inherit}
  .stp-stage .sv-kv{grid-template-columns:1fr auto 18px}
  .fx-features.section,.fx-tagger.section,.fx-detail.section{padding:36px 0}
  .fx-grid{gap:10px;margin-top:14px}
  .fx-card{padding:14px 16px}
  .fx-card h3{font-size:16px}
  .fx-card p{font-size:13px;line-height:1.5}
  .fx-tagger-box{padding:20px 18px;gap:16px}
  .fx-tagger-box h2{font-size:22px}
  .fx-tagger-box p{font-size:14px}
}

/* ===== Audience pages inherit the same compact rules for shared modules ===== */
@media(max-width:600px){
  .au-big{padding:40px 0 44px}
  .au-big-head h2{font-size:26px}
  .au-big-head p{font-size:14.5px}
  .closing>.container{padding-top:36px;padding-bottom:36px}
  .closing .button{margin-top:16px}
}

/* ===== Audience pages (family offices, institutional investors): same treatment as the tool pages ===== */
@media(max-width:700px){
  .au-head>.container{padding-top:30px!important;padding-bottom:28px!important}
  .au-eyebrow{font-size:12px}
  .au-head h1{font-size:clamp(26px,7.4vw,32px)!important;line-height:1.12;margin-top:8px}
  .au-sub{font-size:15px;line-height:1.55;margin-top:12px}
  .au-proof{margin-top:20px;padding-top:16px;gap:12px 22px}
  .au-proof b{font-size:20px!important}
  .au-proof small{font-size:12px}
  .au-mark img{width:36px!important;height:36px!important}
  .au-chapters{padding:0 0 8px}
  .au-ch{padding:28px 0!important;gap:12px!important}
  .au-feat{font-size:15px!important}
  .au-copy h2{font-size:22px;line-height:1.18;margin-top:6px}
  .au-body{font-size:14px;line-height:1.5;margin-top:8px}
  .au-stage{position:relative;display:block!important;width:calc(100% + 20px);margin-left:-10px;padding:10px!important;min-height:0!important;border-radius:16px;overflow:hidden}
  .au-stage>*:not(.au-case){position:absolute;left:10px;top:50%;width:calc(var(--stp-dw,480) * 1px)!important;max-width:none!important;transform:translateY(-50%) scale(var(--sk,1));transform-origin:0 50%}
  .au-stage:has(.av-board),.au-stage:has(.av-tr5){--stp-dw:620}
  .au-stage .sv-rp-grid{grid-template-columns:1fr}
  .au-stage .sv-lv{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .au-scene.has-case .au-stage{padding-bottom:10px!important}
  .au-scene.has-case{margin-bottom:0}
  .au-case{position:relative!important;left:auto;right:auto;bottom:auto;margin:10px 0 0!important;padding:10px 12px;border-radius:14px;gap:10px}
  .au-case-t b{font-size:16px}
  .au-case-t span,.au-case-t small{font-size:11.5px}
  .au-case-ic{width:32px;height:32px}
  /* Undo the narrow-viewport reflows inside the scaled stage. */
  .au-stage .av-close{grid-template-columns:minmax(0,.82fr) minmax(0,.72fr) minmax(0,1.3fr)}
  .au-stage .av-calls{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
  .au-stage .av-df-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .au-stage .av-k1-top{grid-template-columns:minmax(0,1fr) 30px minmax(0,1.05fr)}
  .au-stage .av-k1-bot{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
  .au-stage .av-k1-top>.sv-arrow{transform:none}
  .au-stage .av-board{grid-template-columns:repeat(var(--lanes),minmax(0,1fr));overflow:visible}
  .au-stage .av-docs{display:block}
  .au-stage .sv-ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .au-stage .av-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
  .au-stage .av-kpis span:nth-child(n+4){display:block}
  .au-stage .sv-files{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}
  .au-stage .sv-extract{grid-template-columns:minmax(0,.85fr) 34px minmax(0,1.15fr)}
  .au-stage .sv-export{grid-template-columns:minmax(0,1.2fr) 34px minmax(0,.8fr)}
  .au-stage .sv-arrow{transform:none}
  .au-stage .sv-org,.au-stage .sv-intro{grid-template-columns:1fr 1fr}
  .au-stage .sv-ws{grid-template-columns:160px 1fr}
  .au-stage .sv-act-grid{grid-template-columns:1fr 1.15fr}
  .au-stage .sv-board{grid-template-columns:repeat(var(--lanes),minmax(0,1fr));overflow:visible}
  .au-stage .sv-tree{display:block}
  .au-stage .sv-tgrid{grid-template-columns:repeat(3,1fr)}
  .au-stage .sv-bld{grid-template-columns:118px 1fr}
  .au-stage .sv-pal{flex-direction:column}
  .au-stage .sv-kv{grid-template-columns:1fr auto 18px}
  .au-rows>.container{padding-top:36px!important;padding-bottom:36px!important}
  .au-rows h2{font-size:24px!important}
  .au-row{padding:16px 0;gap:8px}
  .au-row-figs b{font-size:26px!important}
  .au-quote{padding:36px 0}
  .au-quote figure{padding-left:16px}
  .au-quote blockquote p{font-size:18px!important}
  .au-quote figcaption{font-size:13px;margin-top:12px}
  .fo-card{padding:20px 18px!important}
  .fo-card h3{font-size:21px!important}
  .fo-body,.fo-quote{font-size:14px!important}
  .fo-tile{padding:14px 16px}
  .fo-tx b{font-size:17px}
}

/* ===== Auto K-1 page: the before/after wipe scales both layers; the season and consolidation boards compact ===== */
@media(max-width:700px){
  .fx-k1-head{gap:12px!important}
  .fx-k1-head h1{font-size:clamp(26px,7.4vw,32px)!important;line-height:1.12}
  .fx-k1-head .lead{font-size:15px;line-height:1.55}
  .fx-k1-head .hero-actions{margin-top:14px}
  .k1-compare{margin-top:14px;height:300px;border-radius:16px;width:calc(100% + 36px);margin-left:-18px}
  .k1-layer{padding:12px}
  .k1-layer>*{width:480px!important;max-width:none!important;min-height:0!important;flex:none;transform:scale(var(--sk,1));transform-origin:50% 50%}
  .k1-tag{top:10px;left:12px;font-size:10.5px;padding:4px 9px}
  .k1-tag-after{right:12px;left:auto}
  .k1-hint{font-size:12px;margin-top:8px}
  .k1-season-grid,.k1-consol-grid{gap:16px}
  .k1-board{padding:14px;border-radius:16px}
  .k1-fund{font-size:13px;padding:8px 2px;gap:8px}
  .k1-points{gap:8px;margin-top:14px;font-size:14px}
  .k1-chips{gap:6px;margin-top:14px}
  .k1-tree{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border-radius:16px}
}

/* ===== Cybersecurity: the three cards no longer ride up over the intro text ===== */
@media(max-width:600px){
  .cy-hero>.container{padding-top:36px!important;padding-bottom:36px!important}
  .cy-cards{margin-top:-12px!important}
  .cy-card{padding:20px 18px 18px!important;border-radius:16px}
  .cy-num{font-size:26px}
  .cy-card h2,.cy-card h3{font-size:20px}
  .cy-lead{font-size:15px}
  .cy-foot{gap:10px}
  .cy-foot .button{white-space:nowrap;padding:10px 14px}
  .cy-free{font-size:10px;padding:4px 8px}
}

/* ===== Blog: lighter hero card, shorter card images ===== */
@media(max-width:600px){
  .bp-card{padding:20px 18px 18px!important}
  .bp-q{font-size:23px!important;line-height:1.2}
  .bp-card h1{font-size:15px!important;margin-top:10px}
  .bp-hook{font-size:17px!important;line-height:1.45}
  .bp-statement{font-size:17px;line-height:1.4}
  .bp-section{padding:36px 0 56px}
  .bl-art{aspect-ratio:16/8!important}
  .bl-copy{padding:16px 18px 18px!important}
  .bl-copy h2,.bl-copy h3{font-size:17px;line-height:1.3}
  .bl-sum{font-size:13.5px;line-height:1.5}
  .bl-more{padding-top:12px;font-size:13px}
}

/* ===== Platform in action: tap cues, asset-class chips, Ask room, network callout ===== */
.st-short{display:none}
.pf-chiprow{display:none} /* phone-only chip row: built by JS at every width, shown only under 600px */
.ob-desc{display:none}
@media(max-width:600px){
  .has-cue{position:relative}
  .has-cue::after{content:attr(data-cue);position:absolute;z-index:4;top:-9px;right:-4px;transform:translateY(-100%);font:700 9.5px/1 var(--body,inherit);letter-spacing:.04em;text-transform:uppercase;color:#0A1D35;background:#E2BD82;padding:4px 7px 4px 18px;border-radius:999px;white-space:nowrap;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1D35' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11V5a2 2 0 0 1 4 0v5m0-1a2 2 0 0 1 4 0v2m0-1a2 2 0 0 1 4 0v4a7 7 0 0 1-7 7h-1a6 6 0 0 1-5-3l-3-5a2 2 0 0 1 3-2l1 1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:11px;background-position:5px 50%;animation:cue-bob 1.6s ease-in-out infinite}
  .has-cue::before{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid rgba(226,189,130,.85);pointer-events:none;animation:cue-ring 1.6s ease-out infinite}
  .has-cue.cue-done::after,.has-cue.cue-done::before{display:none}
  @keyframes cue-bob{0%,100%{transform:translateY(-100%)}50%{transform:translateY(calc(-100% - 3px))}}
  @keyframes cue-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
  .pf-cur{border-radius:999px}
  .pf-cur.flash select{background-color:rgba(53,196,206,.35)}
  .pf-cur select{transition:background-color .4s}
  .lq-seg{border-radius:10px}
  /* Portfolio: the class legend becomes a chip row between the KPIs and the detail card */
  .viz-portfolio .pf-chiprow{display:flex;gap:5px;margin:8px -12px 0;padding:2px 12px;overflow-x:auto;scrollbar-width:none;position:relative}
  .viz-portfolio .pf-chiprow::-webkit-scrollbar{display:none}
  .pf-chiprow button{flex:none;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:11px;font-weight:600;line-height:1;color:#A9BFD0;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);cursor:pointer}
  .pf-chiprow button i{width:8px;height:8px;border-radius:2px}
  .pf-chiprow button.is-on{border-color:rgba(53,196,206,.75);background:rgba(53,196,206,.16);color:white}
  .viz-portfolio .pf-chiprow.has-cue::after{top:auto;bottom:-6px;right:14px;transform:translateY(100%);animation:none}
  .viz-portfolio .pf-chiprow.has-cue::before{display:none}
  .viz.has-cue::after{top:auto;bottom:10px;right:10px;transform:none;animation:cue-pulse 1.6s ease-in-out infinite}
  .viz-network.has-cue::after{bottom:auto;top:10px;right:auto;left:10px}
  .viz.has-cue::before{display:none}
  @keyframes cue-pulse{0%,100%{opacity:1}50%{opacity:.55}}
  .nw-stats{display:none!important}
  .pf-tbl tbody tr:nth-child(n+3){display:none}
  /* Ask: more room for the answer */
  .ask-thread{height:350px!important}
  /* Network: just the warm path and a compact two-line button */
  .nw-call-text span:not(.nw-bar){display:none}
  .nw-callout{justify-content:space-between}
  .nw-callout .nw-intro{flex:none;text-align:center;line-height:1.15;padding:6px 10px!important;border-radius:10px}
  .nw-intro .m-br{display:block;height:0}
  .viz-network{overflow:hidden}
}

/* ===== Onboarding, phone: PDF top-left, structured page overlapping bottom-right, one compact stage ===== */
@media(max-width:600px){
  .onboarding .ob-inside{font-size:0!important;line-height:1;margin:16px 0 0!important;display:flex;align-items:center;gap:8px}
  .onboarding .ob-inside::after{content:"Onboarding flow";font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-dark)}
  .onboarding .ob-visual{height:236px!important;min-height:0!important;padding:0!important;display:block!important;position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(160deg,#143A5A,#0A1D35)!important}
  .onboarding .ob-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 85%,rgba(53,196,206,.18),transparent 55%);pointer-events:none}
  .onboarding .ob-doc{position:absolute!important;left:12px!important;top:12px!important;right:auto!important;bottom:auto!important;width:58%;height:160px;padding:10px 11px!important;border-radius:12px;z-index:2;box-shadow:0 14px 26px rgba(0,0,0,.4);transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .6s;opacity:1}
  .onboarding .ob-doc-head{font-size:11px;padding-bottom:6px;gap:7px}
  .onboarding .ob-doc-icon{width:20px;height:20px}
  .onboarding .ob-line{margin:5px 0}
  .onboarding .ob-hl{font-size:9.5px;padding:1px 5px}
  .onboarding .ob-doc-table{display:none}
  .onboarding .ob-out{position:absolute!important;left:auto!important;top:auto!important;right:12px!important;bottom:12px!important;width:66%;height:150px;min-height:0;z-index:1;transform-origin:100% 100%;transition:transform .7s cubic-bezier(.2,.8,.2,1),z-index 0s .35s}
  .onboarding .ob-visual .ob-rows{position:absolute;inset:0;display:grid;gap:4px;align-content:center;padding:8px;border-radius:12px;background:rgba(10,29,53,.95);border:1px solid rgba(53,196,206,.35);box-shadow:0 14px 26px rgba(0,0,0,.45);opacity:1;transform:none;transition:opacity .5s,transform .5s}
  .onboarding .ob-row{grid-template-columns:54px minmax(0,1fr) 16px;gap:6px;padding:5px 8px;font-size:11px;border-radius:7px}
  .onboarding .ob-row:nth-child(n+5){display:none}
  .onboarding .ob-key{font-size:9.5px}
  .onboarding .ob-check{width:16px;height:16px}
  .onboarding .ob-visual .ob-dash{position:absolute;inset:0;padding:8px;border-radius:12px;background:#0A1D35;border:1px solid rgba(53,196,206,.4);box-shadow:0 14px 26px rgba(0,0,0,.45);opacity:0;transform:translateY(8px);transition:opacity .5s .15s,transform .5s .15s;gap:5px}
  .onboarding .ob-kpis div{padding:5px 7px}
  .onboarding .ob-kpis span{font-size:8.5px}
  .onboarding .ob-kpis b{font-size:12.5px}
  .onboarding .ob-chart{height:42px;padding:5px 6px;gap:4px}
  .onboarding .ob-table p{font-size:10px;padding:3px 6px}
  .onboarding .ob-table p:nth-child(n+3){display:none}
  /* stage 0, cleaned: the PDF in front, being scanned; the structured page waits behind it */
  .onboarding .ob-visual[data-stage="0"] .ob-out{transform:translate(6px,8px) scale(.94)}
  /* stage 1, validated: the structured page comes forward */
  .onboarding .ob-visual[data-stage="1"] .ob-doc{opacity:.5;transform:translate(-4px,-4px) scale(.95)}
  .onboarding .ob-visual[data-stage="1"] .ob-out{z-index:3;transform:scale(1.06)}
  /* stage 2, configured: the page becomes the dashboard */
  .onboarding .ob-visual[data-stage="2"] .ob-doc,.onboarding .ob-visual[data-stage="3"] .ob-doc{opacity:.32;transform:translate(-6px,-6px) scale(.92)}
  .onboarding .ob-visual[data-stage="2"] .ob-out,.onboarding .ob-visual[data-stage="3"] .ob-out{z-index:3;transform:scale(1.12)}
  .onboarding .ob-visual[data-stage="2"] .ob-rows,.onboarding .ob-visual[data-stage="3"] .ob-rows{opacity:0;transform:translateY(-8px)}
  .onboarding .ob-visual[data-stage="2"] .ob-dash{opacity:1;transform:none}
  .onboarding .ob-visual[data-stage="3"] .ob-dash{opacity:.4;transform:none}
  /* stage 3, support: a card over the top */
  .onboarding .ob-support{z-index:5;left:10%!important;right:10%!important;top:50%!important}
  .onboarding .ob-sup-h small{display:none}
  .onboarding .ob-support{padding:10px 12px!important;border-radius:12px}
  .onboarding .ob-sup-av{width:26px;height:26px}
  .onboarding .ob-sup-h b{font-size:13px}
  .onboarding .ob-support ul{margin-top:7px;padding-top:6px;gap:3px}
  .onboarding .ob-support li{font-size:11.5px;line-height:1.3}
  /* the active step's description sits in normal flow under the pills, never over them */
  .onboarding .ob-steps{padding-bottom:0!important}
  .onboarding .ob-step-text span{position:static!important;display:none!important}
  .onboarding .ob-desc{display:block;font-size:12.5px;line-height:1.45;color:var(--navy);margin:8px 2px 0;min-height:36px}
}

/* ===== Closing, phone: atmosphere, numbered paths with substance, a glowing primary action ===== */
@media(max-width:600px){
  .closing-home>.container{position:relative;overflow:hidden;isolation:isolate}
  .closing-home>.container::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:radial-gradient(120% 60% at 100% 0%,rgba(53,196,206,.28),transparent 60%),radial-gradient(90% 50% at 0% 100%,rgba(226,189,130,.14),transparent 60%),
      repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 28px);
    -webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.4));mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.4))}
  .closing-home .closing-inner h2{font-size:30px!important;line-height:1.08;letter-spacing:-.035em;background:linear-gradient(100deg,#fff 30%,#8FE6EC 75%,#E2BD82);-webkit-background-clip:text;background-clip:text;color:transparent}
  .closing-home .closing-paths{counter-reset:path;gap:10px!important;margin-top:18px!important}
  .closing-home .fit-path:not(.fit-path-sm){counter-increment:path;position:relative;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;column-gap:12px;row-gap:4px;padding:16px 16px 14px!important;border-radius:18px;
    background:linear-gradient(160deg,rgba(26,70,104,.75),rgba(12,36,60,.85)) padding-box,linear-gradient(140deg,rgba(53,196,206,.65),rgba(53,196,206,.08) 50%,rgba(226,189,130,.45)) border-box!important;border:1px solid transparent!important}
  .closing-home .fit-path:not(.fit-path-sm)::after{content:"0" counter(path);position:absolute;top:14px;right:16px;font-size:11px;font-weight:700;letter-spacing:.1em;color:rgba(226,189,130,.85)}
  .closing-home .fit-path .icon-badge{grid-row:1/4!important;align-self:start;width:44px!important;height:44px!important;border-radius:13px!important;background:radial-gradient(circle at 35% 30%,rgba(53,196,206,.45),rgba(53,196,206,.08))!important;box-shadow:0 0 22px rgba(53,196,206,.3),inset 0 0 0 1px rgba(53,196,206,.5)}
  .closing-home .fit-path .icon-badge .icon{width:20px!important;height:20px!important;color:#BFF3F6}
  .closing-home .fit-path h3{font-size:17px!important;line-height:1.2;padding-right:22px}
  .closing-home .fit-path:not(.fit-path-sm) p{display:block!important;font-size:13px;line-height:1.45;color:#B9CAD8;margin:2px 0 0}
  .closing-home .fit-path .card-link{font-size:13px!important;margin-top:8px!important}
  .closing-home .fit-path-sm{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px!important;border-radius:14px}
  .closing-home .fit-path-sm h3{font-size:14px!important;padding:0;flex:1;min-width:0}
  .closing-home .fit-path-sm{flex-wrap:nowrap!important}
  .closing-home .fit-path-sm p{display:none!important}
  .closing-home .fit-path-sm .card-link{margin:0!important;white-space:nowrap}
  .closing-home .closing-inner .button{min-height:52px!important;font-size:15px!important;border-radius:16px!important;margin-top:16px!important;box-shadow:0 0 0 1px rgba(53,196,206,.5),0 14px 34px -6px rgba(53,196,206,.55)!important;animation:cta-glow 2.8s ease-in-out infinite}
  .closing-home .closing-inner .button::after{content:"Live in days, not months · No IT project";position:absolute;left:0;right:0;top:calc(100% + 10px);text-align:center;font-size:11.5px;font-weight:500;color:#9FB4C6;letter-spacing:0;pointer-events:none}
  .closing-home .closing-inner .button{position:relative;margin-bottom:26px!important}
  @keyframes cta-glow{0%,100%{box-shadow:0 0 0 1px rgba(53,196,206,.5),0 14px 34px -6px rgba(53,196,206,.55)}50%{box-shadow:0 0 0 1px rgba(53,196,206,.8),0 16px 44px -4px rgba(53,196,206,.8)}}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.closing-home .closing-inner .button{animation:none}}

/* ===== Platform page feature map, phone: clear open/closed stages, a rail for the tools, a distinct AI row ===== */
@media(max-width:700px){
  /* hover is sticky after a touch: neutralise every desktop hover state, use a pressed state instead */
  .tile-rows .tile-row .tile:hover,.tile-rows .tile-row .tile:focus-visible{background:transparent!important;color:var(--navy)!important;transform:none!important;box-shadow:none!important}
  .tile-rows .tile-row .tile:hover .tile-body{color:var(--muted)!important}
  .tile-rows .tile-row .tile:hover .tile-tag{opacity:1!important}
  .tile-rows .tile-row .tile:hover .tile-icon{background:#E3F2F4!important;color:var(--teal-dark)!important}
  .tile-rows .tile-row .tile:active{background:#EEF6F8!important}
  .tile-rows .tile-row .tile-ai-row:hover,.tile-rows .tile-row .tile-ai-row{background:linear-gradient(160deg,#FBF4E8,#F5E8D2)!important;border-color:transparent!important}
  .tile-rows .tile-row .tile-ai-row:hover .tile-icon,.tile-rows .tile-row .tile-ai-row .tile-icon{background:linear-gradient(135deg,#E2BD82,#C9974F)!important;color:#0A1D35!important}
  .tile-rows .tile-row .tile-ai-row .tile-title{color:#5A3E12!important}
  .tile-rows .tile-row .tile-ai-row .tile-body{color:#7A6440!important}
  .tile-rows .tile-row .tile-ai-row .tile-arrow{color:#A57A35}
  /* stage headers */
  .tile-rows .tile-row{border-color:#D5E2E9;transition:box-shadow .3s}
  .tile-rows .tile-row-title{background:white!important;color:var(--navy)!important;padding:15px 16px!important;transition:background .3s,color .3s}
  .tile-rows .tile-row-title::before{content:attr(data-count);order:2;margin-left:auto;margin-right:8px;font-size:11px;font-weight:600;letter-spacing:0;color:var(--muted);background:#EEF4F7;border-radius:999px;padding:3px 8px}
  .tile-rows .tile-row.is-open{box-shadow:0 14px 30px -14px rgba(10,29,53,.35)}
  .tile-rows .tile-row.is-open .tile-row-title{background:var(--navy-deep)!important;color:white!important}
  .tile-rows .tile-row.is-open .tile-row-title::after{border-color:var(--teal-bright)}
  .tile-rows .tile-row.is-open .tile-row-title::before{background:rgba(255,255,255,.12);color:#BFEFF2}
  .tile-rows .tile-row-title::after{order:3;margin-left:0}
  /* the tools hang off a rail, so they read as the stage's sub-items */
  .tile-rows .tile-row.is-open .tile-list{position:relative;margin:4px 0 6px 0;padding:2px 0 2px 0}
  .tile-rows .tile-row.is-open .tile-list::before{content:"";position:absolute;left:30px;top:6px;bottom:22px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--teal-bright),rgba(53,196,206,.15))}
  .tile-rows .tile-row .tile-list li+li{border-top:0}
  .tile-rows .tile-row .tile{padding:9px 14px 9px 14px!important;position:relative}
  .tile-rows .tile-row .tile-icon{position:relative;z-index:1;box-shadow:0 0 0 3px white}
  .tile-rows .tile-row .tile-ai-row .tile-icon{box-shadow:0 0 0 3px #F8EFDF}
}

/* ===== Round 3 feedback ===== */
@media(max-width:600px){
  .hero{padding-bottom:200px!important}
  /* Ask: smaller, agents side by side, findings in one row, questions read as suggestions */
  .ask-thread{height:280px!important;gap:7px!important;padding:10px!important}
  .ask-q{font-size:12.5px!important;padding:7px 11px!important}
  .ask-attach{font-size:10.5px!important}
  .ask-run{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important}
  .ask-agent{font-size:10.5px!important;line-height:1.15;padding:5px 6px!important;justify-content:center;text-align:center;white-space:normal!important;border-radius:9px!important}
  .ask-agent .icon,.ask-agent svg{width:11px;height:11px;flex:none}
  .ask-a{font-size:12.5px!important;line-height:1.45!important;padding:9px 11px!important}
  .ask-findings{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin-top:7px!important}
  .ask-finding{padding:5px 7px!important;border-radius:8px}
  .ask-finding span{font-size:10px!important;line-height:1.2}
  .ask-finding b{font-size:12px!important}
  .ask-chips{margin-top:12px!important;align-items:center}
  .ask-chips::before{content:"Try asking";flex:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7FA6BC;margin-right:2px}
  .ask-chip,.ask-chip.is-on,.ask-chip[aria-pressed="true"]{background:transparent!important;color:#BFEFF2!important;border:1px dashed rgba(53,196,206,.55)!important;box-shadow:none!important;font-weight:500!important;font-size:12px!important}
  .ask-chip.is-on,.ask-chip[aria-pressed="true"]{border-style:solid!important;background:rgba(53,196,206,.12)!important}
  /* Onboarding: less overlap, aligned fields, validation shows only the change in text */
  .onboarding .ob-doc{width:52%!important;height:146px!important}
  .onboarding .ob-out{width:56%!important;height:134px!important}
  .onboarding .ob-line{display:grid!important;grid-template-columns:22% max-content 1fr;align-items:center;gap:5px}
  .onboarding .ob-line .ob-l{width:auto!important;flex:none}
  .onboarding .ob-hl{justify-self:start}
  .onboarding .ob-raw,.onboarding .ob-clean{color:#E9F4F7!important;font-style:normal!important;font-family:inherit!important;font-weight:600!important;letter-spacing:0!important}
  .onboarding .ob-table p{display:flex!important;align-items:center;justify-content:space-between;gap:6px;white-space:nowrap;overflow:hidden}
  .onboarding .ob-table p>*:first-child{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
  .onboarding .ob-table p>*:not(:first-child){flex:0 0 22%;min-width:0;max-width:22%}
  .onboarding .ob-support{left:5%!important;right:5%!important;padding:12px 14px!important;border-radius:14px!important;
    background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#E2BD82,rgba(53,196,206,.6)) border-box!important;border:1.5px solid transparent!important;box-shadow:0 20px 40px -10px rgba(0,0,0,.55)!important}
  .onboarding .ob-sup-h small{display:block!important;font-size:11.5px!important;line-height:1.35}
  .onboarding .ob-sup-h b{font-size:14px!important}
  .onboarding .ob-sup-av{width:30px!important;height:30px!important}
  .onboarding .ob-support ul{display:grid!important;grid-template-columns:1fr;gap:3px}
  /* Closing: the day-to-day card gets an icon and some presence */
  .closing-home .fit-path-sm{position:relative;padding:12px 14px 12px 58px!important;border:1px solid rgba(226,189,130,.45)!important;border-style:solid!important;background:linear-gradient(160deg,rgba(226,189,130,.1),rgba(226,189,130,.02))!important}
  .closing-home .fit-path-sm::before{content:"";position:absolute;left:14px;top:50%;width:32px;height:32px;transform:translateY(-50%);border-radius:10px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E2BD82' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18'/%3E%3C/svg%3E") center/17px no-repeat,rgba(226,189,130,.14);box-shadow:inset 0 0 0 1px rgba(226,189,130,.45)}
}
@media(max-width:600px){
  .fx-plate.flow-core{align-self:stretch!important;width:100%!important}
  .flow-core::before{left:6%!important;right:6%!important;height:96px!important}
}
@media(max-width:600px){
  .fx-plate.flow-in,.fx-plate.flow-out{opacity:1!important}
  .flow-core::before{width:auto!important;bottom:auto!important;border-left:1px dashed rgba(53,196,206,.45)!important;border:1px dashed rgba(53,196,206,.45)!important;opacity:1!important;animation:none!important;
    background:radial-gradient(ellipse 45% 55% at 50% 55%,rgba(53,196,206,.3),transparent 70%),repeating-linear-gradient(0deg,rgba(53,196,206,.13) 0 1px,transparent 1px 16px),repeating-linear-gradient(90deg,rgba(53,196,206,.13) 0 1px,transparent 1px 16px)!important;
    -webkit-mask-image:none!important;mask-image:none!important}
}
@media(max-width:600px){
  .onboarding .ob-doc-head{font-size:10.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:5px!important}
  .onboarding .ob-doc-head>*{min-width:0}
  .onboarding .ob-line{margin:4px 0!important}
  .onboarding .ob-out{width:60%!important}
  .onboarding .ob-row{grid-template-columns:44px minmax(0,1fr) 15px!important;gap:5px!important;padding:5px 7px!important}
  .onboarding .ob-key{font-size:9.5px!important}
  .onboarding .ob-val{font-size:10.5px!important}
  .closing-home .fit-path-sm{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}
}

/* ===== Tool pages, phone: How it works = pills → active step → visual; lighter visuals ===== */
.stp-desc{display:none}
@media(max-width:700px){
  .stp-grid{gap:10px!important;margin-top:12px!important}
  .stp-list{order:1!important;display:grid!important;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:6px!important}
  .stp-list li{min-width:0}
  .stp-step{display:flex!important;justify-content:center;align-items:center;padding:8px 4px!important;border-radius:12px!important;position:relative;overflow:hidden}
  .stp-step .stp-text{display:none!important}
  .stp-step .stp-n{margin:0!important;width:26px!important;height:26px!important;font-size:12.5px!important}
  .stp-desc{order:2;display:block;min-height:58px}
  .stp-desc b{display:block;font-size:16px;line-height:1.25;color:var(--navy);letter-spacing:-.015em}
  .stp-desc span{display:block;font-size:13px;line-height:1.45;color:var(--muted);margin-top:3px}
  .stp-stage{order:3!important}
  /* connect: four portals are enough */
  .stp-pane .sv-card:has(.sv-logo)>.sv-row:nth-of-type(n+6){display:none}
  /* files: keep the hub inside its column */
  .stp-stage .sv-files{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;gap:6px!important}
  .stp-stage .sv-files>*{min-width:0}
  .stp-stage .sv-files .sv-card{overflow:hidden}
  /* extract: the homepage idea, document top-left and the structured card overlapping bottom-right */
  .stp-stage:has(.sv-extract){--stp-dw:360}
  .stp-stage .sv-extract{display:block!important;position:relative;min-height:236px}
  .stp-stage .sv-extract .sv-paper{width:60%;position:relative;z-index:1}
  .stp-stage .sv-extract .sv-arrow{display:none!important}
  .stp-stage .sv-extract>.sv-card{position:absolute;right:0;top:64px;width:62%;z-index:2;box-shadow:0 16px 30px rgba(0,0,0,.45)}
}
@media(max-width:700px){
  .stp-stage:has(.sv-files){--stp-dw:540}
  .stp-stage .sv-files{grid-template-columns:minmax(0,.85fr) 24px minmax(0,1.15fr)!important}
  .stp-stage .sv-extract .sv-paper{z-index:1!important}
  .stp-stage .sv-extract>.sv-card{z-index:5!important;background:linear-gradient(180deg,#123251,#0B2340)!important;border:1px solid rgba(53,196,206,.45)!important;opacity:1!important}
}
@media(max-width:700px){.stp-stage:has(.sv-rp){--stp-dw:580}}
/* ===== Audience pages: breathing room, calmer AI chapter, wider K-1 composition ===== */
@media(max-width:700px){
  .au-stage{width:100%!important;margin-left:0!important;padding:14px!important;border-radius:16px}
  .au-stage>*:not(.au-case){left:14px!important}
  .au-stage .sv-ag-grid{gap:8px!important}
  .au-stage .sv-ag-grid .sv-card{padding:12px 14px!important}
  .au-stage .sv-ag-grid .sv-card>p:not(:first-child),.au-stage .sv-ag-grid .sv-card>ul,.au-stage .sv-ag-grid .sv-card li{display:none!important}
  .au-stage .sv-card{padding:12px 14px}
  .au-stage:has(.av-k1-top){--stp-dw:600}
}
/* ===== Download pages: a Download button beside the type pill (phones) ===== */
.dl-toprow{display:contents}
.dl-jump{display:none}
@media(max-width:700px){
  .dl-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .dl-jump{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;background:var(--teal-dark,#117780);color:white;text-decoration:none;box-shadow:0 8px 18px -8px rgba(17,119,128,.7)}
  .dl-jump .icon{width:15px;height:15px}
  #download{scroll-margin-top:76px}
}
/* ===== Audience pages: agent cards show name and status only; wider default composition; fo tiles on one row ===== */
@media(max-width:700px){
  .au-stage{--stp-dw:540}
  .au-stage .sv-agl{display:none!important}
  .au-stage .sv-agc{padding:12px 14px!important}
  .au-stage .sv-agc-h{font-size:14px!important}
  .fo-tile{flex-wrap:nowrap!important;gap:12px!important;padding:12px 14px!important}
  .fo-ic{width:38px!important;height:38px!important}
  .fo-tx b{font-size:15px!important}
  .fo-tx small{font-size:12px!important}
  .fo-go{margin-left:auto!important;font-size:0!important;width:38px;height:38px;padding:0!important;justify-content:center;gap:0!important;border-radius:50%!important}
  .fo-go .icon{width:18px;height:18px}
}
@media(max-width:700px){.au-stage:has(.av-src-doc){--stp-dw:660}}

/* ===== Round 4: flat data → decisions with a flat Altius circle; leaner Ask ===== */
@media(max-width:600px){
  .fx-plate.flow-in,.fx-plate.flow-out{transform:translateY(calc((1 - var(--ex)) * 40px))!important;transform-style:flat!important}
  .fx-plate.flow-out{transform:translateY(calc((1 - var(--ex)) * -40px))!important}
  .fx-plate.flow-in::after,.fx-plate.flow-out::after{display:none!important}
  .flow-core::before{display:none!important}
  .core-disc{background:radial-gradient(circle at 50% 35%,#1A4A70,#0A1D35)!important;border:1.5px solid rgba(53,196,206,.65)!important;
    box-shadow:0 0 0 6px rgba(53,196,206,.08),0 0 34px rgba(53,196,206,.32)!important}
  .core-disc::after{display:none!important}
  .core-disc.is-pulse{box-shadow:0 0 0 6px rgba(53,196,206,.16),0 0 48px rgba(53,196,206,.6)!important}
  .core-disc.is-emit{box-shadow:0 0 0 6px rgba(226,189,130,.14),0 0 44px rgba(226,189,130,.45)!important}
  .core-disc img,.core-disc .brand img{transform:none!important;-webkit-mask-image:none!important;mask-image:none!important;width:70px!important}
  .core-ring{width:124px!important;height:124px!important;border:1px dashed rgba(53,196,206,.45)!important;animation:ring-spin 24s linear infinite!important;transform:translate(-50%,-50%)}
  .core-ring::after{offset-path:circle(62px at 50% 50%)!important;left:0;top:0}
  @keyframes ring-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
  /* Ask */
  .viz-ask ~ .ask-chips,.story-copy .ask-chips{display:none!important}
  .ask-thread{height:300px!important;justify-content:flex-start!important;-webkit-mask-image:none!important;mask-image:none!important}
  .ask-findings{gap:3px!important;margin-top:6px!important}
  .ask-finding{padding:4px 6px!important}
  .ask-finding span{font-size:9.5px!important;line-height:1.15!important}
  .ask-finding b{font-size:11px!important;line-height:1.2!important}
  .ask-a{font-size:12px!important;line-height:1.42!important}
}
/* ===== Audience pages: the step list sits under the visual as titled rows; only the playing step opens ===== */
@media(max-width:700px){
  body[data-page^="/who-its-for"] .stp-stage{order:1!important}
  body[data-page^="/who-its-for"] .stp-desc{display:none!important}
  body[data-page^="/who-its-for"] .stp-list{order:2!important;display:flex!important;flex-direction:column;gap:6px!important}
  body[data-page^="/who-its-for"] .stp-step{display:flex!important;justify-content:flex-start;align-items:flex-start;gap:10px;padding:9px 12px!important;border-radius:12px!important;text-align:left}
  body[data-page^="/who-its-for"] .stp-step .stp-text{display:block!important;min-width:0}
  body[data-page^="/who-its-for"] .stp-step .stp-n{width:24px!important;height:24px!important;font-size:12px!important;flex:none}
  body[data-page^="/who-its-for"] .stp-text b{font-size:14px;line-height:1.3}
  body[data-page^="/who-its-for"] .stp-body{display:block;font-size:12.5px;line-height:1.45;max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .4s,opacity .3s,margin-top .4s}
  body[data-page^="/who-its-for"] .stp-step.is-on .stp-body{max-height:90px;opacity:1;margin-top:3px}
}
/* ===== Onboarding, round 4: one frame, rows that fit, clean swaps, a full-width dashboard, a compact support card ===== */
@media(max-width:600px){
  .onboarding .ob-out{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;transition:transform .7s cubic-bezier(.2,.8,.2,1),width .6s cubic-bezier(.2,.8,.2,1),height .6s,z-index 0s .35s!important}
  .onboarding .ob-visual .ob-rows{gap:4px!important;padding:7px!important;align-content:start!important;overflow:hidden}
  .onboarding .ob-row{grid-template-columns:52px minmax(0,1fr) 15px!important;align-items:center;min-height:0;padding:5px 6px!important;gap:4px!important}
  .onboarding .ob-key{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px!important}
  .onboarding .ob-val{position:relative;display:block;min-width:0;height:15px}
  .onboarding .ob-raw,.onboarding .ob-clean{position:absolute;left:0;right:0;top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px!important;line-height:15px}
  /* the old value is gone before the new one arrives: the change reads as a swap, not an overlap */
  .onboarding .ob-visual[data-stage="1"] .ob-raw{transition:opacity .15s,transform .15s!important;transition-delay:calc(.2s + var(--i) * .35s)!important}
  .onboarding .ob-visual[data-stage="1"] .ob-clean{transition:opacity .25s,transform .25s!important;transition-delay:calc(.42s + var(--i) * .35s)!important}
  /* configured: the dashboard takes the whole stage */
  .onboarding .ob-visual[data-stage="2"] .ob-out,.onboarding .ob-visual[data-stage="3"] .ob-out{width:calc(100% - 24px)!important;height:calc(100% - 24px)!important;transform:none!important}
  .onboarding .ob-visual[data-stage="2"] .ob-doc,.onboarding .ob-visual[data-stage="3"] .ob-doc{opacity:0!important}
  .onboarding .ob-visual .ob-dash{padding:10px!important;gap:7px!important;display:grid;grid-template-rows:auto 1fr auto}
  .onboarding .ob-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}
  .onboarding .ob-kpis div{padding:6px 8px!important;min-width:0}
  .onboarding .ob-kpis span{display:block;font-size:9.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .onboarding .ob-kpis b{display:block;font-size:14px!important;white-space:nowrap}
  .onboarding .ob-chart{height:auto!important;min-height:52px}
  .onboarding .ob-table p:nth-child(n+3){display:flex!important}
  .onboarding .ob-table p:nth-child(n+4){display:none!important}
  /* support: compact, the same text size as the rest of the stage, nearly full width */
  .onboarding .ob-support{left:14px!important;right:14px!important;padding:10px 12px!important}
  .onboarding .ob-sup-h{gap:9px!important;align-items:center}
  .onboarding .ob-sup-av{width:26px!important;height:26px!important}
  .onboarding .ob-sup-av .icon{width:13px!important;height:13px!important}
  .onboarding .ob-sup-h b{font-size:12px!important;line-height:1.2}
  .onboarding .ob-sup-h small{font-size:10.5px!important;line-height:1.35!important}
  .onboarding .ob-support ul{margin-top:7px!important;padding-top:6px!important;gap:3px!important}
  .onboarding .ob-support li{font-size:10.5px!important;line-height:1.3!important;gap:6px!important}
  .onboarding .ob-support li .icon{width:12px!important;height:12px!important}
}
/* ===== FAQ: one sticky topic switcher on phones ===== */
.fj-toggle{display:none}
.fj-panel{display:contents}
@media(max-width:700px){
  .faq-jump{position:sticky!important;top:calc(var(--header-height,64px) + 6px)!important;display:block!important;padding:0!important;margin-bottom:12px!important;background:transparent!important;z-index:8}
  .faq-jump .fj-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;border:1px solid var(--line,#D5E2E9);background:white;color:var(--navy);font:inherit;text-align:left;cursor:pointer;box-shadow:0 6px 16px -10px rgba(10,29,53,.35)}
  .fj-toggle>span{display:flex;flex-direction:column;min-width:0}
  .fj-toggle small{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-dark)}
  .fj-toggle b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fj-toggle i{flex:none;width:9px;height:9px;border-right:2px solid var(--teal-dark);border-bottom:2px solid var(--teal-dark);transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .25s}
  .faq-jump.is-open .fj-toggle i{transform:rotate(-135deg);margin-top:4px}
  .faq-jump .fj-panel{display:none}
  .faq-jump.is-open .fj-panel{display:grid;gap:2px;margin-top:6px;padding:6px;border-radius:14px;border:1px solid var(--line,#D5E2E9);background:white;box-shadow:0 18px 36px -16px rgba(10,29,53,.4)}
  .faq-jump.is-open.is-stuck .fj-panel{position:absolute;left:0;right:0;top:100%}
  .fj-panel a{display:block;padding:11px 12px!important;border-radius:10px!important;font-size:14px!important;font-weight:600;color:var(--navy)!important;background:transparent!important;border:0!important;text-decoration:none}
  .fj-panel a.is-current{background:#E6F3F5!important;color:var(--teal-dark)!important}
  .faq-group{scroll-margin-top:calc(var(--header-height,64px) + 70px)!important}
}
@media(max-width:700px){.faq-jump{top:var(--header-height,64px)!important;padding:6px 0 8px!important;background:var(--cream,#F3F7F9)!important;margin-left:-2px;margin-right:-2px}}
