/* Expressive marketing surfaces; the legal reading surfaces stay quiet. */
.zero-top{padding-top:0!important}
.contact-links>.privacy-link{font:14px/1.6 var(--font-body);letter-spacing:0}
::selection{background:var(--accent);color:var(--bg)}
html{scrollbar-color:#645472 var(--bg)}
body{font-family:var(--font-body)}
.header{height:88px;border-bottom:1px solid var(--line)}
.brand strong{font-weight:600}
.brand small{color:var(--accent)}
.button{border-radius:var(--radius-pill);transition:transform var(--motion-fast) var(--ease-out),background var(--motion-fast),border-color var(--motion-fast)}
.button.primary{background:var(--accent);color:#1c122f;border-color:var(--accent);font-weight:600;box-shadow:0 12px 32px #0003}
.button.primary:hover{background:#d4c2ff;color:#1c122f}
.button:not(.primary):hover,.header-cta:hover{border-color:var(--accent)}
.header-cta{font-weight:500}
.home-hero{grid-template-columns:1.08fr 1fr;min-height:780px;padding-block:64px 72px}
.hero-copy h1{font-size:clamp(56px,6.2vw,88px);font-weight:450;letter-spacing:-.04em;line-height:1.06;max-width:760px}
.hero-copy h1 .impact{color:var(--accent);font-weight:650}
.hero-copy p{max-width:510px;font-size:18px;margin-top:32px}
.hero-copy .actions{margin-top:40px}
.hero-art{min-height:600px}
.media{inset:-12% -30%}
.float-link{background:#16121dd9;box-shadow:var(--shadow-raised);border-color:#c2a9ff40}
.float-link:first-of-type{top:5%;left:6%}
.float-link:last-of-type{bottom:8%;right:-8px}
.float-link:hover{border-color:var(--accent);color:var(--text)}
.float-link span{font-size:13px}
.float-link strong{font-size:16px}
.principles{font-size:15px;gap:64px;justify-content:flex-start}
.section{padding-block:var(--space-section)}
.section h2{font-size:clamp(38px,4.8vw,68px);line-height:1.08;font-weight:450;letter-spacing:-.04em}
.intro{font-size:20px;max-width:650px}
.service-list{gap:0 72px}
.service-item{padding-block:36px 48px}
.service-item h2,.service-item h3{font-size:clamp(26px,2.7vw,38px);line-height:1.18;letter-spacing:-.035em;font-weight:450;max-width:420px}
.service-item .service-link{align-items:flex-start}
.service-item .arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;transition:background var(--motion-fast),color var(--motion-fast)}
.service-item:hover .arrow{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.service-item p{max-width:440px}
.brand-stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:72px;margin-block:16px 64px;border:1px solid #bda1ed42;border-radius:var(--radius-large);position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 78% 48%,#7256b825,transparent 65%),#121016}
.brand-stage:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.brand-stage h2{font:500 clamp(46px,5.3vw,80px)/1.04 var(--font-display);letter-spacing:-.04em;margin:0 0 32px;max-width:570px}
.brand-stage h2 em{font-style:normal;color:var(--accent)}
.brand-stage p{color:var(--muted);max-width:430px;font-size:18px;line-height:1.7}
.brand-stage figure{margin:0;position:relative;display:grid;place-items:center}
.brand-stage img{width:100%;max-width:470px;filter:drop-shadow(0 32px 30px #0007)}
.about-strip{border-top:0;gap:96px}
.about-strip img{aspect-ratio:1.05;border-radius:var(--radius-large)}
.process{gap:56px}
.process article{padding-left:0;border:0}
.process b{display:inline-block;padding-bottom:16px;border-bottom:1px solid var(--line);width:100%;font-size:14px}
.process h3{margin-block:24px 16px;font-size:29px;line-height:1.15}
.process p{font-size:16px}
.cta{padding:72px;margin-top:32px;background:linear-gradient(115deg,#21172f,#15111e);border-color:#c2a9ff40}
.cta h2{font:450 clamp(40px,4.8vw,64px)/1.1 var(--font-display);letter-spacing:-.04em;max-width:650px}
.footer{padding-top:72px}
.footer-top{margin-bottom:64px}
.page-head{padding-block:72px}
.page-head h1{font-size:clamp(46px,6.5vw,88px);font-weight:450;letter-spacing:-.04em;max-width:1080px}
.page-head .lead{font-size:21px;max-width:720px}
.detail-layout h2{font-weight:500;font-size:38px}
.feature-list li{padding-block:24px}
.team{max-width:none;gap:64px}
.team img{border-radius:var(--radius-large);aspect-ratio:1.1}
.team h2{font-size:30px}
.contact-address{background:linear-gradient(135deg,#21182e,#16141d);border-color:#c2a9ff40}
.contact-links>a:hover{color:var(--accent)}
.legal h2{font-size:25px;letter-spacing:-.02em}
.page-legal .page-head h1{font-size:clamp(40px,5.5vw,68px)}
.reveal{animation:none}
.hero-copy{animation:hero-arrival var(--motion-enter) var(--ease-out)}
@keyframes hero-arrival{from{transform:translateY(18px);filter:blur(3px)}to{transform:translateY(0);filter:blur(0)}}
@keyframes emblem-arrival{from{transform:translateY(24px) rotate(-4deg) scale(.96)}to{transform:translateY(0) rotate(0) scale(1)}}
.brand-stage.is-seen figure{animation:emblem-arrival 1200ms var(--ease-out) both}
@media(min-width:1600px){.home-hero{min-height:860px}.hero-copy h1{font-size:96px}.hero-art{min-height:660px}}
@media(max-width:1199px) and (min-width:1024px){
  .home-hero{min-height:690px;padding-block:48px;grid-template-columns:1fr 1fr}
  .hero-copy h1{font-size:60px}
  .hero-art{min-height:560px}
  .hero-copy .actions{gap:12px}
  .hero-copy .button{padding-inline:20px}
  .float-link{width:240px;padding:20px}
  .float-link:first-of-type{left:8%;top:0}
  .brand-stage{padding:48px}
}
@media(max-width:1023px){
  .header{height:80px}
  .home-hero{grid-template-columns:1fr;min-height:0;padding-top:48px;padding-bottom:24px}
  .hero-copy{max-width:700px}
  .hero-copy h1{font-size:clamp(48px,8vw,72px);max-width:700px}
  .hero-copy p{max-width:580px;font-size:18px;margin-top:28px}
  .hero-copy .actions{margin-top:28px}
  .hero-art{min-height:480px;max-width:680px}
  .media{inset:-8% -10%}
  .float-link:first-of-type{left:0;top:5%}
  .float-link:last-of-type{right:0;bottom:10%}
  .principles{justify-content:space-between;gap:24px;font-size:14px}
  .brand-stage{padding:40px;gap:24px;grid-template-columns:1.1fr 1fr}
  .brand-stage h2{font-size:48px}
  .brand-stage p{font-size:16px}
  .brand-stage img{max-width:340px}
  .service-list{gap:0}
  .service-item h2,.service-item h3{font-size:32px}
  .about-strip{gap:40px}
  .about-strip img{aspect-ratio:1.2}
  .process{gap:32px}
  .cta{padding:40px}
  .team{gap:32px}
  .team h2{font-size:26px}
  .page-head{padding-block:40px}
  .page-head h1{font-size:clamp(42px,7.8vw,72px)}
}
@media(max-width:639px){
  .header{height:76px}
  .home-hero{padding-top:36px}
  .hero-copy h1{font-size:clamp(32px,8.5vw,50px);line-height:1.09;letter-spacing:-.035em;margin-bottom:24px}
  .hero-copy p{font-size:16px;margin-top:0;margin-bottom:28px}
  .hero-copy .actions{margin-top:0}
  .hero-art{min-height:0;height:clamp(370px,102vw,490px);margin-top:32px}
  .media{inset:-3% -14%}
  .float-link{width:clamp(196px,56vw,248px);padding:16px}
  .float-link:first-of-type{top:0;left:0}
  .float-link:last-of-type{bottom:48px}
  .float-link strong{font-size:14px}
  .float-link span{font-size:12px}
  .principles{font-size:12px;gap:12px}
  .section{padding-block:56px}
  .section h2{font-size:36px;line-height:1.12}
  .intro{font-size:17px}
  .service-item{padding-block:28px 32px}
  .service-item h2,.service-item h3{font-size:27px;line-height:1.2}
  .service-item .arrow{width:40px;height:40px;padding:0}
  .brand-stage{grid-template-columns:1fr;padding:32px 24px;gap:24px;margin-block:8px 24px}
  .brand-stage h2{font-size:clamp(38px,10vw,52px);margin-bottom:24px}
  .brand-stage p{margin-bottom:0}
  .brand-stage figure{grid-row:2}
  .brand-stage img{max-width:290px;width:90%}
  .about-strip{gap:28px}
  .about-strip img{aspect-ratio:1.12}
  .process{gap:32px}
  .process h3{font-size:26px;margin-block:16px 12px}
  .process b{padding-bottom:12px}
  .cta{padding:32px 24px;margin-top:16px;margin-bottom:48px}
  .cta h2{font-size:36px}
  .footer{padding-top:48px}
  .footer-top{margin-bottom:32px}
  .page-head{padding:28px 0 36px}
  .page-head h1{font-size:clamp(35px,9vw,54px);line-height:1.1}
  .page-head .lead{font-size:17px}
  .detail-layout h2{font-size:30px}
  .feature-list li{padding-block:18px}
  .team img{aspect-ratio:1.05}
  .team h2{font-size:26px}
  .legal h2{font-size:23px}
  .page-legal .page-head h1{font-size:clamp(33px,8.5vw,48px)}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.brand-stage.is-seen figure{animation:none}.button{transition:none}}
@media(prefers-reduced-transparency:reduce){.float-link{background:var(--surface)}}
