/* Quiet liquid light, clear chapters, and a scroll-driven closing reel. */
body{background:#f5f3ec;isolation:isolate}
#ambient-flow{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
main{position:relative}
/* A quiet response underneath the glyphs; no text movement or color changes. */
.flow-text-near{text-shadow:0 3px 12px #65775524}
.header{background:rgba(248,247,242,.9);backdrop-filter:blur(18px)}
.achievements{border-bottom-color:#aaa99b66}
.section{position:relative}
.section-head .eyebrow,.platform-top .eyebrow,.api-topline .eyebrow,.business-intro .eyebrow{font-size:12px;letter-spacing:.13em;display:flex;align-items:center;gap:15px}
.section-head .eyebrow::before,.platform-top .eyebrow::before,.api-topline .eyebrow::before,.business-intro .eyebrow::before{content:'';width:25px;height:1px;background:currentColor}
.works{background:transparent}
.platform{background:rgba(218,224,216,.38);border-block:1px solid #9aab9d40}
.platform-stage{background:rgba(247,248,242,.72);backdrop-filter:blur(6px)}
.model-api{background:rgba(255,255,250,.25);border-block:0}
.model-card{background:#fffefa}
.model-card{border-radius:8px;border-color:#d6dbd0}
.model-card:hover{background:#fffefa;border-color:#82917b;box-shadow:none}
.model-provider-mark{border:0;background:#edf0e8;color:#34452f;border-radius:4px}
.model-card-modality{background:transparent;padding-inline:0;color:#52604b}
.model-filter[aria-pressed=true]{color:#30432c;border-bottom-color:#30432c}
.model-card-provider,.model-result-count,.model-directory-foot{font-size:12px}
.model-card-footer{padding-top:8px}
.model-search input::placeholder{color:#62685b;opacity:1}
.achievement-label,.achievement-metric dt,.achievement-detail h3,.achievement-metric .metric-unit{color:var(--muted)}
.service-number{color:#52604b}
.business .service-tags span{font-size:12px}
.business-intro>.text-link{min-height:48px;padding:0 20px;gap:24px;background:#263724;color:#fffefa;border-radius:8px;font-size:14px}
.business-intro>.text-link:hover{background:#3b4d35;text-decoration:none}
.chapter-location{position:fixed;left:25px;bottom:23px;z-index:35;display:flex;align-items:center;gap:12px;padding:12px 17px;border:1px solid #b9bbae66;border-radius:40px;background:#fafaf2df;backdrop-filter:blur(12px);color:#454b41;font-size:11px;letter-spacing:.04em;box-shadow:0 3px 18px #222b1f06;transition:opacity .25s,transform .25s;pointer-events:none}
.chapter-location[hidden]{display:none}
.chapter-location-number{font-variant-numeric:tabular-nums;color:#858d7c;font-size:10px;border-right:1px solid #c5cabc;padding-right:12px}
.chapter-location.is-dark{background:#151a17c9;color:#f4f4e9;border-color:#ffffff25}
.chapter-location.is-dark .chapter-location-number{color:#b6c0ac;border-color:#ffffff30}
.closing-reel{position:relative;height:260svh;background:#edf0e9;--reel-bg:0;--reel-dim:0;--reel-title:0;--reel-intro:1}
.reel-stage{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;isolation:isolate}
.reel-stage::before{content:'';position:absolute;inset:0;background:#131916;opacity:var(--reel-bg);z-index:-1}
.reel-topline{position:absolute;top:125px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.15em;color:#626b5d;z-index:4;opacity:var(--reel-intro)}
.reel-topline span:last-child{letter-spacing:.03em}
.reel-heading{position:absolute;left:0;right:0;top:22%;text-align:center;color:#283529;z-index:3;opacity:var(--reel-intro);pointer-events:none}
.reel-heading h2{font-size:clamp(34px,4.5vw,68px);font-weight:400;line-height:1.25;letter-spacing:-.045em}
.reel-heading p{font-size:13px;margin-top:18px;color:#71796c}
.reel-frame{position:absolute;left:50%;top:53%;overflow:hidden;will-change:transform,width,height;border:1px solid #fff3;box-shadow:0 15px 60px #15231b20;backface-visibility:hidden;background:#28342c}
.reel-frame video,.reel-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel-frame-main{z-index:2;width:42vw;height:25vw;max-height:42vh;border-radius:12px;transform:translate(-50%,-50%)}
.reel-frame-side{width:15vw;height:23vw;max-height:37vh;border-radius:10px;z-index:1}
.reel-frame-left{transform:translate(calc(-50% - 32vw),-35%) rotate(-9deg)}
.reel-frame-right{transform:translate(calc(-50% + 32vw),-68%) rotate(9deg)}
.reel-shade{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,#111a1110,#101a1199 75%,#101a11e8);opacity:var(--reel-dim);pointer-events:none}
.reel-finale{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fffdf2;padding:100px 24px 60px;opacity:var(--reel-title);transform:translateY(calc((1 - var(--reel-title))*32px));pointer-events:none}
.reel-finale .eyebrow{font-size:11px;letter-spacing:.2em;color:#e0e5d0;margin-bottom:27px}
.reel-finale h3{font-size:clamp(40px,6.5vw,94px);font-weight:400;line-height:1.25;letter-spacing:-.05em}
.reel-finale p{font-size:14px;color:#e0e5d5;margin-top:25px;line-height:1.9}
.reel-finale a{margin-top:34px;color:#f5f7eb;border:1px solid #ffffff70;border-radius:30px;padding:14px 24px;font-size:13px;display:inline-flex;align-items:center;gap:30px;pointer-events:auto;background:#ffffff0c;backdrop-filter:blur(10px)}
.reel-finale a:hover{background:#ffffff25}
.reel-scroll-note{position:absolute;bottom:35px;left:0;right:0;z-index:4;text-align:center;color:#717c68;font-size:10px;letter-spacing:.16em;opacity:var(--reel-intro)}
.reel-scroll-note::after{content:'';display:block;width:1px;height:23px;background:#82937480;margin:13px auto 0}
.reel-skip{position:absolute;right:var(--gutter);top:163px;z-index:5;font-size:11px;color:#596450;text-decoration:underline;text-underline-offset:5px}
.reel-stage.is-expanded .reel-skip{color:#eef3df}
.business{background:#e7ece2;border-top:1px solid #bcc8b5;padding-top:110px;padding-bottom:100px}
.business-intro .eyebrow{color:#64735b}
#business-title{font-size:clamp(40px,4.5vw,65px);line-height:1.2;color:#263724}
.business .service{border-color:#a5b69b70}
.business .service h3{color:#30432c}
.business .service-tags span{background:#f5f7ee;color:#52604b}
.business-footer{border-color:#afbea480;color:#52604b}
.contact{background:#f5f5ec;border-color:#d4dacb}
.footer{background:#f5f5ec}
@media(min-width:761px){.platform,.model-api,.business{padding-block:115px}.section-head,.platform-top{margin-bottom:48px}}
@media(max-width:760px){
 .chapter-location{display:none}
 .closing-reel{height:210svh}
 .reel-stage{min-height:520px}
 .reel-topline{top:102px;font-size:8px;letter-spacing:.08em}
 .reel-topline span:last-child{display:none}
 .reel-heading{top:25%}
 .reel-heading h2{font-size:clamp(27px,7.7vw,35px);padding-inline:18px}
 .reel-heading p{font-size:12px;padding-inline:24px}
 .reel-frame{top:58%}
 .reel-frame-main{width:70vw;height:45vw}
 .reel-frame-side{width:28vw;height:45vw}
 .reel-frame-left{transform:translate(calc(-50% - 37vw),-30%) rotate(-10deg)}
 .reel-frame-right{transform:translate(calc(-50% + 37vw),-68%) rotate(10deg)}
 .reel-finale h3{font-size:43px}
 .reel-finale p{font-size:12px;max-width:260px}
 .reel-finale .eyebrow{font-size:9px}
 .reel-scroll-note{bottom:70px;font-size:8px}
 .reel-skip{top:102px;font-size:10px}
 .business{padding-block:70px}
 #business-title{font-size:40px}
}
.closing-reel.is-static{height:auto}
.closing-reel.is-static .reel-stage{position:relative;height:85svh;min-height:520px}
.closing-reel.is-static .reel-frame-main{width:100%;height:100%;max-height:none;top:50%;border-radius:0}
.closing-reel.is-static .reel-frame-side,.closing-reel.is-static .reel-heading,.closing-reel.is-static .reel-topline,.closing-reel.is-static .reel-scroll-note{display:none}
.closing-reel.is-static .reel-shade{opacity:.8}
.closing-reel.is-static .reel-finale{opacity:1;transform:none}
.closing-reel.is-static .reel-skip{color:#fff}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 #ambient-flow{display:none}
 .reel-frame,.reel-finale{will-change:auto;transition:none}
}
@media(max-width:380px){
 .api-topline>span{display:none}
 .api-topline .eyebrow{white-space:nowrap}
}
