/* People-led PYROX layout. Motion supports the content; forms and navigation
   reuse the shared primitives in site-clean.css. */
@font-face{font-family:Anton;src:url('/fonts/anton-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DC,U+02DD,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Anton;src:url('/fonts/anton-latin-ext.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DA,U+02DE-02FF,U+0300-036F,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{color-scheme:dark;--paper:#080d13;--ink:#f3f3ec;--muted:#acb7c1;--line:#2c3740;--accent:#80e3ef;--white:#111b24}
html{scroll-padding-top:110px}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--accent);color:var(--paper)}
.container{width:min(1240px,calc(100% - 80px))}
.site-header{position:sticky;top:0;z-index:20;background:#080d13f5;border-color:#ffffff16}
.header-inner{min-height:80px}
.brand{font-size:17px;letter-spacing:.055em}
.brand img{width:38px;height:38px}
.desktop-nav{gap:26px}
.desktop-nav .button{min-height:42px;padding:9px 18px}
.desktop-nav .button:hover{color:var(--paper)}
.button{border-radius:3px;background:var(--accent);border-color:var(--accent);color:var(--paper);transition:background .2s,transform .2s}
.button:hover{background:#b1f3f7;border-color:#b1f3f7;transform:translateY(-2px)}
.button.secondary{background:transparent;color:var(--ink);border-color:#63727d}
.button.secondary:hover{background:#17242e;border-color:var(--accent)}
.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.16em}
.hero{position:relative;isolation:isolate;padding:72px 0 80px;--scene-progress:0}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#080d13 url('/images/hero-loop-poster.webp') center/cover no-repeat}
.hero-atmosphere::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080d13f5 0%,#080d13c9 45%,#080d138a 100%),linear-gradient(0deg,#080d13,transparent 60%)}
.hero-atmosphere video{width:100%;height:100%;object-fit:cover;opacity:0}
.hero[data-film-ready] video{opacity:1}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;text-align:left}
.hero h1{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(48px,5vw,72px);line-height:1.1;letter-spacing:-.012em;max-width:none;text-wrap:initial}
.hero h1 span{display:block}
.hero h1 span:last-child{color:var(--accent)}
.hero .lead{font-size:17px;line-height:1.75;max-width:47ch;margin-top:28px;color:#c5cdd3}
.hero-actions{gap:24px;margin-top:30px}
.hero-note{font-size:12px;max-width:47ch;line-height:1.7;color:#a7b5c0}
.hero-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;text-decoration:none;position:relative;padding-top:16px}
.hero-people img{width:100%;height:340px;object-fit:cover;object-position:center;border-radius:2px;transform:translateY(calc(var(--scene-progress)*-16px));transition:filter .25s}
.hero-people img:nth-child(2){margin-top:46px;object-position:50% 40%;transform:translateY(calc(var(--scene-progress)*-32px))}
.hero-people img:nth-child(3){margin-top:92px;object-position:50% 30%}
.hero-people img:nth-child(4){margin-top:138px;object-position:50% 20%;background:#d8d4cd}
.hero-people:hover img{filter:brightness(1.08)}
.hero-people-caption{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;margin-top:16px;border-top:1px solid #6a7e896b;padding-top:16px;font-size:12px;color:#cbd3d8}
.hero-people-caption span{font-size:20px;color:var(--accent)}
.section{padding:88px 0;border-color:var(--line)}
.section.alt{background:#101820}
.section-heading{align-items:start;gap:60px;margin-bottom:46px}
.section-heading h2{max-width:20ch}
h2{font-size:clamp(32px,3.6vw,48px);font-weight:500;line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.section-heading p{font-size:15px;line-height:1.8;max-width:43ch}
/* Service rows replace decorative mock interfaces with the actual offer. */
#agents .cards{display:block}
.card{display:grid;grid-template-columns:40px minmax(0,.8fr) minmax(0,1.2fr) minmax(100px,.5fr);gap:30px;align-items:center;padding:28px 0;border:0;border-top:1px solid var(--line);background:transparent;border-radius:0}
.card:last-child{border-bottom:1px solid var(--line)}
.card-number{font:11px/1.5 ui-monospace,monospace;letter-spacing:.06em;color:var(--accent);margin:0}
.card h3{font-size:23px;font-weight:500;letter-spacing:-.035em}
.card p{font-size:14px;line-height:1.8;margin:0}
.card-link{font-size:13px;color:var(--ink);padding:12px 0;margin:0;text-align:right;min-height:44px}
.proof-grid{gap:40px}
.proof-item{display:flex;flex-direction:column;align-items:start;padding-top:24px;border-top:1px solid #52606a}
.proof-value{font-size:clamp(25px,2.5vw,34px);line-height:1.18;font-weight:500;letter-spacing:-.04em;margin:22px 0 16px;overflow-wrap:anywhere}
.proof-item p{font-size:14px;line-height:1.8;margin-bottom:26px}
.proof-item .text-link{margin-top:auto;font-size:13px;color:var(--accent)}
.proof-lab{background:#101820;border-color:var(--line);padding:56px 40px}
.proof-lab h2{font:500 clamp(30px,3vw,42px)/1.15 Inter,sans-serif;letter-spacing:-.035em}
.lab-eyebrow{color:var(--accent)}
.lab-expand>summary{border-color:#607a8a;border-radius:3px}
.price-card{display:flex;flex-direction:column;padding:32px;background:transparent;border-color:var(--line);border-radius:3px}
.price-card:nth-child(2){border-color:#6dcedb;background:#11232d}
.price-card h3{font-size:20px;font-weight:500}
.price{font-size:34px;color:var(--ink)}
.price-card ul{flex:1;color:#b4bfc8;line-height:1.8}
.price-card .button{align-self:start}
.step{border-color:#657683}
.step>span{color:var(--accent);font-family:ui-monospace,monospace}
.step h3{font-size:19px;font-weight:500}
.step p{line-height:1.8}
#team{padding-top:100px;padding-bottom:100px}
.team-grid{gap:36px}
.person img{width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;object-position:50% 35%;border-radius:2px;margin-bottom:24px}
.person:nth-child(2){padding-top:28px}
.person:nth-child(3){padding-top:56px}
.person h3{font-size:23px;font-weight:500;letter-spacing:-.025em}
.person p{font-size:13px;margin-top:10px;line-height:1.6;color:#aebdc8}
.faq{max-width:none}
.faq summary{font-size:16px;padding-block:24px}
.faq details p{max-width:800px;line-height:1.8}
.contact-grid{gap:90px}
.contact-copy h2{max-width:17ch}
.contact-copy .eyebrow{margin-top:0}
.field input,.field textarea{background:#080f15;border-color:#566674;color:var(--ink);border-radius:3px;font-size:16px}
.field input:focus,.field textarea:focus{border-color:var(--accent)}
.field label{font-size:13px;color:#c3cdd4}
.site-footer{background:var(--paper);border-color:var(--line)}
.skip-link{background:var(--accent);color:var(--paper)}
@media(max-width:1099px){
 .hero{padding:65px 0 76px}
 .hero-grid{gap:36px}
 .hero-people img{height:285px}
 .card{grid-template-columns:30px minmax(0,.8fr) minmax(0,1.2fr);gap:22px}
 .card-link{grid-column:2/-1;text-align:left}
 #menu-toggle{border-color:#617481;background:transparent;color:var(--ink);border-radius:3px}
 .mobile-menu.open{background:var(--paper);border-color:var(--line)}
}
@media(max-width:800px){
 .container{width:calc(100% - 48px)}
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:35px}
 .hero h1{font-size:clamp(48px,8.6vw,68px);max-width:18ch}
 .hero .lead{max-width:57ch}
 .hero-people{max-width:620px;padding:0}
 .hero-people img{height:280px}
 .hero-people img:nth-child(2){margin-top:24px}
 .hero-people{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-people img:nth-child(3){margin-top:48px}
 .hero-people img:nth-child(4){margin-top:72px}
 .section{padding-block:64px}
 .section-heading{margin-bottom:32px}
 .section-heading p{max-width:60ch}
 .proof-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .proof-item{padding-top:22px}
 .proof-value{margin:16px 0 12px;font-size:30px}
 .proof-item p{margin-bottom:16px}
 .team-grid{gap:20px}
 .person:nth-child(2){padding-top:24px}
 .person:nth-child(3){padding-top:48px}
 .person h3{font-size:18px}
 .person p{font-size:12px}
 .contact-grid{gap:36px}
 .proof-lab{padding:48px 24px}
}
@media(max-width:540px){
 .container{width:calc(100% - 40px)}
 .header-inner{min-height:70px}
 .hero{padding:40px 0 52px}
 .hero h1{font-size:clamp(43px,11.5vw,62px);max-width:14ch}
 .hero .eyebrow{font-size:10px;line-height:1.8}
 .hero .lead{font-size:16px;margin-top:22px}
 .hero-actions{gap:18px;margin-top:26px}
 .hero-people{gap:7px}
 .hero-people img{height:200px}
 .hero-people-caption{margin-top:12px;font-size:11px}
 .section{padding-block:50px}
 .card{grid-template-columns:25px minmax(0,1fr);gap:14px;padding:24px 0}
 .card h3{font-size:23px}
 .card p,.card-link{grid-column:2}
 .card-link{margin-top:6px}
 .price-card{padding:26px}
 #team{padding-block:56px}
 .team-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .person,.person:nth-child(2),.person:nth-child(3){padding-top:0}
 .person img{aspect-ratio:1/1;max-width:380px}
 .person h3{font-size:24px}
 .person p{font-size:14px}
 .contact-copy h2{font-size:37px}
}
@media(prefers-reduced-motion:reduce){
 .hero-people img,.hero-people img:nth-child(2),.button:hover{transform:none}
 .hero-atmosphere video{display:none}
}
/* Equal portrait frames keep the team readable without staggered miniature crops. */
.hero-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;padding:0;max-width:580px;width:100%}
.team-portrait{margin:0;min-width:0}
.portrait-frame{height:220px;overflow:hidden;background:#11191e;border-radius:3px}
.hero-people .team-portrait img{display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:50% 24%;transform:none;filter:none}
.hero-people .team-portrait-ceo img{height:180%;object-fit:contain;object-position:50% 0;transform:translateY(-25%)}
.hero-people .team-portrait:nth-child(2) img{transform:scale(1.18);transform-origin:50% 22%}
.hero-people .team-portrait:nth-child(3) img{object-position:50% 30%}
.team-portrait figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:10px;font-size:14px;line-height:1.4;color:#e5ebee}
.team-portrait figcaption small{font-size:10px;letter-spacing:.12em;color:var(--accent)}
@media(max-width:1099px) and (min-width:801px){.portrait-frame{height:190px}.team-portrait figcaption{font-size:12px}}
@media(max-width:540px){.hero-people{gap:20px 14px}.portrait-frame{height:180px}.team-portrait figcaption{font-size:12px;flex-wrap:wrap;gap:2px 8px}}
