@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Lora;src:url('/assets/fonts/lora-italic.ttf') format('truetype');font-style:italic;font-weight:400 700;font-display:swap}
:root{--logo-blue:#2457a7;--blue:#193d77;--purple:#6c3fc5;--ink:#182943;--muted:#53647b;--paper:#f8f7fb;--line:#d9deec;--lilac:#eee8f8}
body{font-family:Manrope,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:550;letter-spacing:-.045em;line-height:1.14;text-wrap:balance}
h1{font-size:clamp(45px,4.9vw,74px);font-weight:600;line-height:1.13}
h2{font-size:clamp(36px,3.9vw,56px)}
em{font-family:Lora,Georgia,serif;font-style:italic;font-weight:450;letter-spacing:-.055em}
.hero{position:relative;padding-top:68px;gap:45px}
.hero:before{content:'';position:absolute;inset:0 -15px auto auto;width:55%;height:85%;z-index:-1;background:radial-gradient(ellipse at 70% 35%,#eae3f780,transparent 70%);pointer-events:none}
.hero-copy{min-width:0}.intro{font-size:16px;line-height:1.85;max-width:500px;color:var(--muted)}
.header nav{font-size:13px;font-weight:550;gap:24px}.header nav>a:not(.nav-contact){position:relative;padding-block:8px}
.header nav>a:not(.nav-contact):after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:2px;border-radius:2px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .22s}
.header nav>a:hover:after,.header nav>a:focus-visible:after{transform:scaleX(1)}
.nav-contact{border-color:#2457a777;color:var(--logo-blue);transition:background .2s,border-color .2s}.nav-contact:hover{background:#e9edf9;border-color:var(--logo-blue)}
.button{font-size:13px;line-height:1.6;font-weight:700;padding:16px 23px;transition:transform .2s,box-shadow .2s,background .2s}
.button.green{background:var(--logo-blue);box-shadow:0 6px 16px #2457a71a}.button.green:hover{background:#1c478b;box-shadow:0 10px 24px #2457a728}
.button span,.nav-contact span,.text-link,.service>a span{transition:transform .22s}.button:hover span,.nav-contact:hover span,.service>a:hover span{transform:translate(3px,-2px)}
.text-link{font-size:13px}.hero-actions{gap:22px}.hero-note{font-size:11px;letter-spacing:.02em;color:var(--muted);gap:25px}
.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.13em;font-weight:750}.media-label{font-size:10px;line-height:1.6}.media-caption{font-size:9px;line-height:1.7;letter-spacing:.03em}.media-caption small{font-size:9px}
.floating-reel{border-color:#ded8ef;box-shadow:0 18px 45px #293e6814}.floating-reel>span{font-size:13px}.floating-reel small{font-size:11px}.creative-icon{background:#eee7f8;color:var(--purple)}
.service-strip{background:linear-gradient(110deg,#2457a7 0%,#334da5 52%,#6c3fc5 100%);color:white;font-size:11px;font-weight:600;letter-spacing:.12em}.service-strip i{color:#eee6ff}
.service{border-radius:9px 9px 0 0;transition:background .24s,box-shadow .24s}.service:hover{background:#eeebf840;box-shadow:inset 0 3px 0 #6c3fc5}
.index{font-size:11px;letter-spacing:.1em;color:var(--muted)}.service h3{font-size:29px;line-height:1.25}.service p{font-size:15px;line-height:1.8;min-height:135px}.service ul{font-size:13px;line-height:2.2}.service>a{font-size:13px;line-height:1.7}
.service-symbol{color:var(--logo-blue)}.service:nth-child(2) .service-symbol{color:var(--purple)}
.section-heading>p:last-child,.showcase-heading>p{font-size:16px;line-height:1.8}
.showcase{background:#193d77}.showcase h2,.contact h2{color:#fff}.showcase-heading .eyebrow{color:#d5c3f5}.showcase-heading>p{color:#dce5f5}
.demo-tabs{gap:28px}.demo-tabs button{font-size:12px;line-height:1.6;min-height:52px;color:#d2def1;transition:color .2s,border-color .2s}.demo-tabs button:hover{color:white}.demo-tabs button[aria-selected=true]{border-color:#c4a4f1}
.demo-copy h3{font-size:39px;line-height:1.2}.demo-copy p{font-size:15px;line-height:1.85;color:#dce5f5}.demo-copy dl{font-size:13px;line-height:1.7}.demo-copy dt{color:#d0def1}.pill{font-size:11px;color:#ede2ff;border-color:#dfd1f580}.demo-note{font-size:12px;line-height:1.8;color:#d0def1}
.general-content{border-radius:12px}.general-content-caption{background:linear-gradient(transparent,#14213bed 55%)}.general-content-caption strong{font-size:36px;line-height:1.2}.general-content-caption small{font-size:12px}.micro{font-size:10px;line-height:1.8}
.flow small{font-size:12px;line-height:1.7}.flow span{font-size:21px}.flow>div{border-radius:8px}.word-label,.word-sheet>span{font-size:11px;line-height:1.8}
.film-section{background:radial-gradient(ellipse at 85% 20%,#332653 0,transparent 56%),#111f36}.film-copy em,.contact em{color:#ceb3f7}.film-copy .eyebrow{color:#d5c3f5}.film-copy p{color:#d3deed;font-size:15px;line-height:1.8}.film-copy p.film-intro{font-size:21px}.film-copy p.film-disclosure{font-size:12px;color:#c6d1e3;line-height:1.8}.film-facts span{font-size:11px;color:#eee4ff}.film-player{transform:rotate(1deg)}.film-player figcaption{font-size:11px;line-height:1.8;color:#c6d1e3}.film-player-label{font-size:9px}
.steps li{position:relative;border-color:#ccd7eb}.steps li>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#e7ecf8;color:var(--logo-blue);font-weight:700}.steps h3{font-size:24px;line-height:1.25;margin-top:22px}.steps p{font-size:14px;line-height:1.85}
.about{background:linear-gradient(125deg,#edf0fb,#eee7f9)}.about h2{font-size:51px}.large-copy{font-size:23px;line-height:1.65}.about-copy>p:not(.large-copy){font-size:15px;line-height:1.85}.about-principles{font-size:11px;line-height:1.8;border-color:#ccc4df}.about-copy p.small{font-size:13px;line-height:1.8;color:#514e68}
summary{font-size:15px;line-height:1.7;font-weight:600}details p{font-size:14px;line-height:1.85}details[open]{border-bottom-color:#b4a0dc}details[open] summary{color:var(--purple)}
.contact{background:#193d77}.contact p{color:#d8e2f2;line-height:1.85}.contact label,.contact input,.contact select,.contact textarea{font-size:14px;line-height:1.7}.contact input,.contact select,.contact textarea{background:#ffffff0d;border-color:#a9bfdf}.contact input::placeholder,.contact textarea::placeholder{color:#d0daea}.contact .eyebrow{color:#d5c3f5}.contact p.contact-note{font-size:12px}.contact small{font-size:12px;line-height:1.8;color:#d3def0}.contact form>p{font-size:13px}.contact label span{color:#d0def1}.light{background:#eee5fc;color:#193d77}.light:hover{background:#fff}
footer{background:#edf0f8}.footer-bottom{font-size:12px;line-height:1.8;color:var(--muted)}.footer-top>a:last-child{font-size:14px}.footer-top p{font-size:14px}.legal p{font-size:16px;line-height:1.9;color:var(--muted)}.legal h2{font-size:26px;line-height:1.3}
:focus-visible{outline:3px solid #a478e9;outline-offset:5px}a,button,summary{touch-action:manipulation}
@media(max-width:1100px){.header nav{gap:16px;font-size:12px}.hero{gap:28px}.hero-actions{flex-wrap:wrap}.demo-tabs{gap:20px}.service h3{font-size:26px}.about h2{font-size:45px}}
@media(max-width:760px){.hero{padding-top:42px}.hero h1{font-size:clamp(41px,10.5vw,65px);line-height:1.15}.hero-note{flex-wrap:wrap;font-size:11px;gap:12px 22px}.hero-actions{gap:20px}.hero-actions .text-link{font-size:13px}.header nav{font-size:15px}.media-label{font-size:9px}.media-caption,.media-caption small{font-size:9px}.service p{min-height:0}.service h3{font-size:30px}.service ul{font-size:14px}.service-strip{font-size:9px;line-height:1.8}.section-heading>p:last-child,.showcase-heading>p{font-size:15px}.demo-tabs button{font-size:12px}.demo-tabs{gap:20px}.demo-copy h3{font-size:34px}.general-content-caption strong{font-size:30px}.general-content-caption{padding:70px 22px 24px}.film-copy h2{font-size:36px}.film-player{transform:none}.film-copy p.film-intro{font-size:20px}.about h2{font-size:42px}.contact h2{font-size:42px}.steps h3{font-size:22px}.steps p{font-size:14px}.legal h1{font-size:44px}.email-link{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover,.floating-reel:hover,.service:hover .service-symbol,.button:hover span,.nav-contact:hover span{transform:none}}
