
    :root {
      --paper:#fff; --paper-soft:#f7f6f3; --ink:#2a2a2a; --ink-soft:#6e6c66;
      --charcoal:#232323; --charcoal-2:#2b2b2b; --on-dark:#f4f2ed; --on-dark-soft:#b4b2aa;
      --line:rgba(42,42,42,.15); --line-dark:rgba(244,242,237,.16);
      --pink:#e84274; --orange:#f59700; --coral:#ec625f; --violet:#6c5cff; --acid:#ffe44d;
      --grad:linear-gradient(135deg,#ff9d00,#ff5c35,#f22f83); --maxw:1180px;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    section[id] { scroll-margin-top:72px; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; }
    ::selection { background:rgba(232,66,116,.22); }
    :focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
    a { color:inherit; }
    img,svg { display:block; max-width:100%; }
    .wrap { width:min(100%,var(--maxw)); margin:0 auto; padding-inline:40px; }
    .section { padding:108px 0; border-top:1px solid var(--line); }
    .section-dark { background:var(--charcoal); color:var(--on-dark); border-color:var(--line-dark); }
    .eyebrow { margin:0 0 20px; color:var(--pink); font-size:.82rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
    .section-dark .eyebrow { color:var(--orange); }
    h1,h2,h3 { margin:0; line-height:1.03; letter-spacing:-.025em; }
    h1 { font-size:clamp(3.25rem,6vw,5.8rem); font-weight:800; }
    h2 { font-size:clamp(2.25rem,5vw,4.8rem); font-weight:750; max-width:17ch; }
    h3 { font-size:1.35rem; font-weight:700; }
    p { margin:0; color:var(--ink-soft); font-size:1.05rem; }
    .section-dark p { color:var(--on-dark-soft); }
    .intro { max-width:62ch; margin-top:25px; font-size:1.18rem; }
    .btn-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
    .btn { position:relative; isolation:isolate; overflow:hidden; display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:52px; padding:14px 26px; border:1px solid transparent; border-radius:999px; font-weight:700; text-decoration:none; transition:transform .2s ease,background .2s ease,filter .2s ease; }
    .btn:hover { transform:translateY(-2px); }
    .btn-dark { background:#17171b; color:#fff; }
    .btn-yellow { background:var(--acid); color:#17171b; }
    .btn-light { background:#fff; color:#17171b; }
    .btn-outline { border-color:var(--line); background:transparent; color:var(--ink); }
    .btn::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-up-right) center/contain no-repeat; mask:var(--icon-arrow-up-right) center/contain no-repeat; position:relative; z-index:2; font-size:1.05em; line-height:1; transition:transform .25s ease; }
    .btn:hover::after { transform:translate(3px,-3px); }
    .btn-yellow::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-down) center/contain no-repeat; mask:var(--icon-arrow-down) center/contain no-repeat; }
    .liquid-label { position:relative; z-index:2; pointer-events:none; }
    .liquid-carve-layer { position:absolute; z-index:1; width:58px; height:58px; left:0; top:50%; border-radius:50%; pointer-events:none; opacity:0; background:linear-gradient(135deg,#ff9d00,#f22f83 62%,#6c5cff); transform:translate(-50%,-50%) scale(.12); transition:opacity .18s ease,transform .28s cubic-bezier(.2,.8,.2,1); }
    .btn.is-liquid-active .liquid-carve-layer { opacity:.92; transform:translate(-50%,-50%) scale(1); }
    .btn-yellow .liquid-carve-layer,.btn-light .liquid-carve-layer { background:linear-gradient(135deg,#f22f83,#6c5cff); }

    .reading-progress { position:fixed; inset:0 auto auto 0; z-index:90; width:0; height:3px; background:linear-gradient(90deg,var(--orange),var(--pink),var(--violet)); pointer-events:none; }
    .section-nav { position:fixed; top:50%; right:24px; z-index:35; display:grid; gap:10px; transform:translateY(-50%); }
    .section-nav a { position:relative; display:block; width:9px; height:9px; border:1px solid rgba(42,42,42,.34); border-radius:50%; background:rgba(255,255,255,.78); text-decoration:none; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
    .section-nav a::before { content:attr(data-label); position:absolute; top:50%; right:17px; padding:5px 8px; border-radius:6px; background:#17171b; color:#fff; font-size:.68rem; font-weight:650; white-space:nowrap; opacity:0; transform:translate(6px,-50%); pointer-events:none; transition:opacity .18s ease,transform .18s ease; }
    .section-nav a:hover::before,.section-nav a:focus-visible::before { opacity:1; transform:translate(0,-50%); }
    .section-nav a.is-active { transform:scale(1.45); border-color:var(--pink); background:var(--pink); }
    .scope-card { transition:background-color 180ms ease; }
    .scope-card:focus-within { background:var(--paper-soft); }
    @media(hover:hover) and (pointer:fine) { .scope-card:hover { background:var(--paper-soft); } }
    @media(max-width:1199px){.section-nav{display:none}}

    .hero { padding:118px 0 106px; min-height:690px; display:flex; align-items:center; overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); gap:80px; align-items:center; }
    .hero h1 span { display:block; }
    .hero-copy { max-width:56ch; margin-top:27px; font-size:1.2rem; }
    .hero-note { margin-top:13px; max-width:52ch; }
    .system-orbit { position:relative; aspect-ratio:1; max-width:480px; width:100%; justify-self:end; }
    .system-orbit::before,.system-orbit::after { content:""; position:absolute; border:1px solid var(--line); border-radius:50%; inset:8%; }
    .system-orbit::after { inset:25%; border-color:rgba(232,66,116,.38); }
    .orbit-core { position:absolute; inset:37%; display:grid; place-items:center; border-radius:50%; background:#17171b; color:#fff; text-align:center; font-size:.76rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
    .orbit-label { position:absolute; padding:9px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:.75rem; font-weight:700; box-shadow:0 8px 30px rgba(23,23,27,.06); }
    .o1{top:3%;left:38%}.o2{top:25%;right:0}.o3{bottom:17%;right:2%}.o4{bottom:1%;left:32%}.o5{bottom:22%;left:0}.o6{top:21%;left:1%}

    .journey { background:var(--charcoal); color:var(--on-dark); }
    .journey h2 { max-width:15ch; }
    .journey-lead { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:end; }
    .journey-lead p { font-size:1.18rem; max-width:44ch; }
    .journey-flow { margin:60px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:0; list-style:none; }
    .journey-step { position:relative; padding:0 24px 0 0; min-height:180px; }
    .journey-step:not(:last-child)::before { content:""; position:absolute; top:20px; left:48px; right:8px; height:1px; background:var(--line-dark); }
    .journey-step > span:first-child { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--pink); border-radius:50%; color:var(--pink); font-size:.78rem; font-weight:700; }
    .journey-step strong { display:block; margin:24px 0 9px; color:#fff; font-size:1.15rem; }
    .journey-step p { max-width:18ch; font-size:.9rem; }
    .journey-close { margin-top:28px; color:#fff!important; font-weight:600; }

    .services-head { display:flex; justify-content:space-between; gap:50px; align-items:end; }
    .services-head p { max-width:47ch; }
    .service-grid { margin-top:58px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
    .service-card { position:relative; overflow:hidden; min-height:370px; padding:38px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; transition:background-color 180ms ease,color 180ms ease; }
    .service-card:focus-within { background:#17171b; color:#fff; }
    .service-card:focus-within p,.service-card:focus-within .keywords { color:var(--on-dark-soft); }
    .service-card:focus-within .service-link { color:var(--acid); }
    @media(hover:hover) and (pointer:fine) {
      .service-card:hover { background:#17171b; color:#fff; }
      .service-card:hover p,.service-card:hover .keywords { color:var(--on-dark-soft); }
      .service-card:hover .service-link { color:var(--acid); }
    }
    .service-num { color:var(--pink); font-size:.78rem; font-weight:750; letter-spacing:.12em; }
    .service-card h3 { margin-top:38px; font-size:clamp(1.8rem,3vw,2.6rem); max-width:13ch; }
    .service-card>p { margin-top:15px; max-width:36ch; }
    .keywords { margin-top:24px!important; color:var(--ink-soft); font-size:.82rem!important; line-height:1.7; }
    .service-link { margin-top:auto; padding-top:32px; color:var(--ink); font-weight:700; text-decoration:none; }
    .capability-strip { margin-top:1px; padding:35px 38px; background:var(--paper-soft); display:grid; grid-template-columns:1fr 1.8fr auto; gap:35px; align-items:center; }
    .capability-strip strong { font-size:1.28rem; }
    .capability-strip p { font-size:.93rem; }
    .text-link { color:var(--ink); font-weight:700; text-decoration:none; white-space:nowrap; }

    .research-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
    .research-points { margin-top:48px; border-top:1px solid var(--line); }
    .research-point { display:grid; grid-template-columns:130px 1fr; gap:25px; padding:19px 0; border-bottom:1px solid var(--line); }
    .research-point strong { color:var(--pink); font-size:.78rem; letter-spacing:.11em; }
    .research-point span { color:var(--ink-soft); }
    .loop { position:relative; min-height:610px; background:#17171b; border-radius:30px; padding:55px; overflow:hidden; }
    .loop::before { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(255,255,255,.23); border-radius:50%; top:75px; left:50%; transform:translateX(-50%); }
    .loop-stage { position:absolute; width:124px; min-height:54px; padding:11px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:#232323; color:#fff; text-align:center; font-size:.74rem; font-weight:750; letter-spacing:.08em; }
    .l1{top:45px;left:calc(50% - 62px)}.l2{top:165px;right:23px}.l3{bottom:150px;right:24px}.l4{bottom:46px;left:calc(50% - 62px)}.l5{bottom:150px;left:24px}.l6{top:165px;left:24px}
    .loop-core { position:absolute; inset:42% 34%; display:grid; place-items:center; border-radius:50%; background:var(--pink); color:#fff; font:italic 1.5rem 'Instrument Serif',serif; text-align:center; }

    .team-section { overflow:hidden; }
    .team-title { display:flex; justify-content:space-between; gap:50px; align-items:end; }
    .team-title p { max-width:42ch; }
    .comparison { margin-top:55px; display:grid; grid-template-columns:.75fr 1.25fr; gap:1px; background:var(--line); border:1px solid var(--line); }
    .compare-card { padding:42px; background:#fff; }
    .compare-card.featured { background:#17171b; color:#fff; }
    .compare-label { color:var(--pink); font-size:.76rem; font-weight:750; letter-spacing:.11em; }
    .compare-card h3 { margin-top:22px; font-size:1.85rem; }
    .compare-list { margin:32px 0 0; padding:0; list-style:none; }
    .compare-list li { padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); }
    .featured .compare-list li { border-color:var(--line-dark); color:var(--on-dark-soft); }
    .compare-close { margin-top:30px!important; font-weight:700; color:inherit!important; }
    .portal-block { margin-top:90px; display:grid; grid-template-columns:1.35fr .65fr; gap:65px; align-items:center; }
    .portal { position:relative; min-height:520px; padding:22px; border-radius:24px; background:#17171b; box-shadow:22px 22px 0 #ecece9; }
    .portal-bar { display:flex; justify-content:space-between; align-items:center; color:#fff; font-size:.76rem; }
    .portal-dot { width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:16px 0 var(--orange),32px 0 var(--acid); }
    .portal-grid { margin-top:30px; display:grid; grid-template-columns:1.2fr .8fr; gap:14px; }
    .portal-card { min-height:155px; padding:20px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:#242428; color:#fff; }
    .portal-card.wide { grid-column:1/-1; min-height:180px; }
    .portal-card span { display:block; color:var(--on-dark-soft); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
    .portal-metric { margin-top:18px; font-size:2rem; font-weight:700; }
    .portal-lines { margin-top:25px; height:64px; background:linear-gradient(165deg,transparent 47%,var(--pink) 48% 51%,transparent 52%),linear-gradient(18deg,transparent 47%,var(--orange) 48% 51%,transparent 52%); opacity:.8; }
    .report-list { margin-top:35px; }
    .report-item { padding:18px 0; border-bottom:1px solid var(--line); }
    .report-item strong { display:block; font-size:.82rem; color:var(--pink); letter-spacing:.08em; }
    .report-item span { display:block; margin-top:5px; color:var(--ink-soft); }

    .scope { background:var(--paper-soft); }
    .scope-head { display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:end; }
    .scope-grid { margin-top:60px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
    .scope-card { min-height:300px; padding:32px; border-right:1px solid var(--line); background:#fff; display:flex; flex-direction:column; }
    .scope-card:last-child { border:0; }
    .scope-card span { color:var(--pink); font-size:.75rem; font-weight:750; letter-spacing:.11em; }
    .scope-card h3 { margin-top:34px; }
    .scope-card p { margin-top:12px; font-size:.94rem; }
    .scope-card .text-link { margin-top:auto; padding-top:30px; }
    .scope-close { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:28px; }
    .scope-close strong { font-size:1.12rem; }

    .restaurant-proof { background:var(--charcoal); color:var(--on-dark); }
    .restaurant-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; }
    .restaurant-proof h2 { max-width:16ch; }
    .problem-cloud { display:flex; flex-wrap:wrap; align-content:flex-start; gap:11px; }
    .problem-cloud span { padding:12px 16px; border:1px solid rgba(255,255,255,.19); border-radius:999px; color:var(--on-dark-soft); font-size:.91rem; }
    .restaurant-line { margin-top:38px!important; max-width:60ch; }
    .stories { margin-top:90px; padding-top:65px; border-top:1px solid var(--line-dark); }
    .stories h2 { max-width:none; }
    .story-grid { margin-top:40px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .story-card { min-height:280px; padding:28px; border:1px solid var(--line-dark); display:flex; flex-direction:column; background:#232323; }
    .story-card span { color:var(--pink); font-size:.74rem; font-weight:750; letter-spacing:.1em; }
    .story-card h3 { margin-top:auto; font-size:1.6rem; color:#fff; }
    .story-card p { margin-top:10px; font-size:.9rem; }

    .faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; }
    .faq-list { border-top:1px solid var(--line); }
    details { border-bottom:1px solid var(--line); }
    summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:25px; padding:25px 0; font-size:1.08rem; font-weight:700; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-plus) center/contain no-repeat; mask:var(--icon-plus) center/contain no-repeat; color:var(--pink); font-size:1.35rem; font-weight:400; }
    details[open] summary::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-minus) center/contain no-repeat; mask:var(--icon-minus) center/contain no-repeat; }
    details p { padding:0 35px 26px 0; max-width:64ch; font-size:.97rem; }
    .faq-list details[open] p { animation:faq-in .28s ease both; }
    @keyframes faq-in { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:none} }

    .final-cta { background:var(--paper); color:var(--ink); border-top:1px solid var(--line); }
    .final-inner { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; }
    .final-cta h2 { max-width:14ch; }
    .final-cta p { color:#3b392f; max-width:48ch; }

    @media(max-width:960px){
      .hero-grid,.journey-lead,.research-layout,.portal-block,.restaurant-grid,.faq-layout,.final-inner{grid-template-columns:1fr}
      .system-orbit{justify-self:start;max-width:420px}.journey-flow{grid-template-columns:1fr;gap:0}.journey-step{min-height:120px;padding:0 0 32px 62px}.journey-step > span:first-child{position:absolute;left:0;top:0}.journey-step strong{margin:0 0 9px;padding-top:6px}.journey-step:not(:last-child)::before{top:48px;bottom:8px;left:20px;width:1px;height:auto;right:auto}.journey-step p{max-width:none}
      .comparison{grid-template-columns:1fr}.portal-block{gap:45px}.scope-head{grid-template-columns:1fr}
    }
    @media(max-width:720px){
      .wrap{padding-inline:22px}.section{padding:72px 0}.hero{padding:78px 0;min-height:0}.hero-grid{gap:55px}
      .service-grid,.story-grid,.scope-grid{grid-template-columns:1fr}.service-card{min-height:330px;padding:29px}.services-head,.team-title{display:block}.services-head p,.team-title p{margin-top:22px}
      .capability-strip{grid-template-columns:1fr;padding:28px}.loop{min-height:500px;padding:25px}.loop::before{width:340px;height:340px;top:80px}.loop-stage{width:100px;font-size:.64rem}.l2{right:7px}.l3{right:7px}.l5{left:7px}.l6{left:7px}.loop-core{inset:43% 33%}
      .comparison{margin-top:38px}.compare-card{padding:29px}.portal{min-height:450px;padding:16px}.portal-grid{grid-template-columns:1fr}.portal-card.wide{grid-column:auto}.portal-card{min-height:110px}.portal-card:nth-child(2){display:none}
      .scope-card{min-height:240px;border-right:0;border-bottom:1px solid var(--line)}.scope-close{align-items:flex-start;flex-direction:column}.story-card{min-height:220px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.liquid-carve-layer{display:none}*{transition:none!important}}
  
