body{margin:0;background:#111111;color:#EFEBE3;font-family:Manrope,system-ui,sans-serif;}
a{color:var(--ink);}a:hover{color:var(--accent);}
.sm *{box-sizing:border-box;}
.disp{font-family:Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:0.01em;line-height:0.9;font-weight:400;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:0.14em;font-size:13px;}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;background:var(--accent);color:var(--onAccent);text-decoration:none;font-weight:700;font-size:16px;transition:transform .2s ease;}
.btn:hover{color:var(--onAccent);transform:translateY(-2px);}
.ghost{display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border-radius:999px;border:1px solid color-mix(in srgb, var(--ink) 35%, transparent);color:var(--ink);text-decoration:none;font-weight:500;}
.ghost:hover{border-color:var(--accent);color:var(--accent);}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marq 38s linear infinite;}
@keyframes marq{to{transform:translateX(-50%);}}
.pillar{transition:color .25s ease, padding-left .25s ease;}
.pillar:hover{color:var(--accent);padding-left:24px;}
.disp em{font-style:normal;}
.serif .h-serif{font-family:'Instrument Serif',Georgia,serif;text-transform:none;letter-spacing:-0.025em;line-height:.92;font-weight:400;}
.serif .h-serif em{font-style:italic;letter-spacing:-0.01em;}
.serif .h-serif.on-bg{color:var(--display);}
.serif .h-serif.on-bg .hero-accent{color:var(--display) !important;}
.serif .hero-title.h-serif{font-size:clamp(64px, 15vw, 260px) !important;}
.serif .fill-text{background-image:linear-gradient(var(--display),var(--display)) !important;}
.mixed .h-serif em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;text-transform:none;letter-spacing:-0.02em;font-size:1.12em;line-height:.8;}
.mixed .h-serif.on-bg em{color:var(--display);}
.mixed .h-serif.on-bg .hero-accent{color:var(--ink) !important;}
.on-accent{background:var(--accent-raw) !important;color:var(--onAccent-raw) !important;--ink:var(--onAccent-raw);--display:var(--onAccent-raw);--accent:var(--onAccent-raw);--onAccent:var(--accent-raw);--onSurface:var(--onAccent-raw);--muted:color-mix(in srgb, var(--onAccent-raw) 72%, var(--accent-raw));--soft:color-mix(in srgb, var(--onAccent-raw) 85%, var(--accent-raw));--faint:color-mix(in srgb, var(--onAccent-raw) 55%, var(--accent-raw));}
.on-accent .reset-theme{--ink:var(--ink-raw);--display:var(--display-raw);--accent:var(--accent-raw);--onAccent:var(--onAccent-raw);--onSurface:var(--onSurface-raw);--muted:var(--muted-raw);--soft:var(--soft-raw);--faint:var(--faint-raw);color:var(--ink-raw);}
.hero-canvas{display:none;}
.grad-on .hero-canvas,.grad-on .hero-scrim,.grad-on .hero-grain{display:block;}
.hero-grain{display:none;}
.hero-canvas{background:radial-gradient(60% 55% at 50% 45%, #2B47E0, #192A99 55%, #9CC48A 100%);}
.grad-on > :not(.hero-canvas):not(.hero-scrim):not(.hero-grain){position:relative;z-index:1;}
.grad-on{color:#F7F5EE;}
.grad-on .hero-title,.grad-on .hero-title *{color:#F7F5EE !important;}
.grad-on .hero-title{text-shadow:0 2px 40px rgba(10,20,90,.25);}
.grad-on p,.grad-on .mono{color:#F7F5EE !important;}
.grad-on .btn{background:#F8FC9E !important;color:#0A0A0B !important;}
.grad-on .ghost{color:#F7F5EE !important;border-color:rgba(247,245,238,.6) !important;}
.hero-scrim{display:none;}
.fx-canvas,.fx-grain{display:none;}
.fx-on .fx-canvas,.fx-on .fx-grain{display:block;}
.fx-canvas{background:radial-gradient(70% 70% at 40% 40%, #FFFDE3, #F8FC9E 50%, #E6F27A 100%);}
.fx-band > :not(.fx-canvas):not(.fx-grain){position:relative;z-index:1;}
.fx-band.fx-on{--ink:#0A0A0B;--display:#0A0A0B;--muted:#3A3A2A;color:#0A0A0B !important;}
.fx-band.fx-on .btn{background:#0A0A0B !important;color:#F8FC9E !important;}
.pal-butter .card-blue{background:radial-gradient(120% 100% at 15% 0%, #5A78FF 0%, #2B47E0 45%, #172892 100%) !important;color:#F7F5EE !important;border:0 !important;}
.pal-butter .card-sage{background:radial-gradient(120% 100% at 85% 0%, #6FA383 0%, #2F6457 50%, #173833 100%) !important;color:#F7F5EE !important;border:0 !important;}
.pal-butter .card-blue .mono,.pal-butter .card-sage .mono{color:#F7F5EE !important;}
.fx-session > :not(.fx-canvas):not(.fx-grain){position:relative;z-index:1;}
.fx-session.fx-on .fx-canvas{background:radial-gradient(80% 80% at 30% 30%, #3F6BF4, #2B47E0 50%, #192A99 100%);}
.fx-session.fx-on{--ink:#F7F5EE;--display:#F7F5EE;--onSurface:#F7F5EE;--muted:rgba(247,245,238,.8);color:#F7F5EE !important;}
.count::before{content:counter(v);}
.count{counter-reset:v var(--v);}
@property --v{syntax:'<integer>';initial-value:0;inherits:false;}
.card-step{position:sticky;}
.hs-track{overflow-x:auto;}
input,select,textarea{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 40%, transparent);padding:12px 0;width:100%;outline:none;}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--accent);}
select option{background:var(--bg);color:var(--ink);}
.aw-hero .aw-photo{position:absolute !important;z-index:0 !important;mix-blend-mode:screen;}
.aw-hero .aw-text{position:relative;z-index:1;}
.aw-hero .hero-canvas{background:#0A0A0A !important;}
.aw-hero .aw-title,.aw-hero .aw-title em{color:#F8FC9E !important;}
.aw-hero .aw-eyebrow{color:#F8FC9E !important;}
.mixed .aw-title{font-size:clamp(56px, 7.6vw, 136px) !important;}
.grad-on .aw-body{color:#F2F2EC !important;}
.short{display:none;}
.fx-lost{visibility:hidden !important;}
.hero.grad-on:not(.aw-hero){background:radial-gradient(60% 55% at 50% 45%, #2B47E0, #192A99 55%, #9CC48A 100%);}
.sm .fx-band.fx-on{background:radial-gradient(70% 70% at 40% 40%, #FFFDE3, #F8FC9E 50%, #E6F27A 100%) !important;}
.sm .fx-session.fx-on{background:radial-gradient(80% 80% at 30% 30%, #3F6BF4, #2B47E0 50%, #192A99 100%) !important;}
.phone img{filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));}
.awd-spot{background:radial-gradient(520px circle at var(--px, 50%) var(--py, 40%), rgba(248,252,158,.09), transparent 65%);}
.awd-tilt{transform:perspective(900px) rotateX(calc(var(--my, 0) * -6deg)) rotateY(calc(var(--mx, 0) * 8deg));transition:transform .4s ease, border-color .4s ease, background .4s ease;}
.awd-img{filter:grayscale(1) contrast(1.12) brightness(.92) drop-shadow(0 24px 40px rgba(0,0,0,.6));transition:filter .5s ease, transform .5s ease;}
.awd-card{outline:none;cursor:default;}
.awd-card:hover .awd-img,.awd-card:focus .awd-img,.awd-card:focus-within .awd-img{filter:grayscale(0) contrast(1) brightness(1) drop-shadow(0 30px 50px rgba(0,0,0,.6));transform:scale(1.05) translateY(-6px);}
.awd-card:hover .awd-tilt,.awd-card:focus .awd-tilt{border-color:rgba(248,252,158,.45);background:#171712;}
.awd-card:focus-visible .awd-tilt{outline:2px solid #F8FC9E;outline-offset:4px;}
.awd-tall .awd-img{max-height:100%;}
@media (max-width: 1100px){
  .navlink{display:none !important;}
  .cols2{grid-template-columns:minmax(0,1fr) !important;gap:56px !important;}
  .cols3{grid-template-columns:minmax(0,1fr) !important;gap:8px !important;}
  .cols3 > *{grid-column:auto !important;}
  .stickyL{position:static !important;}
  .awd-row{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
  .aw-hero{justify-content:flex-start !important;padding:0 48px 64px !important;}
  .aw-hero .aw-text{z-index:2;}
  .aw-hero .aw-photo{position:relative !important;z-index:1 !important;order:-1;height:62vw;max-height:620px;margin:0 -48px -48px;}
  .aw-hero .aw-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(to bottom,rgba(0,0,0,0),#000);}
  .aw-hero .aw-photo img{object-fit:cover !important;object-position:80% 55% !important;}
  .aw-body{max-width:640px !important;}
  .aw-rule{width:100% !important;max-width:640px;}
}
@media (max-width: 760px){
  .hdr{padding:12px 16px !important;}
  .sm .st-wrap{padding:0 !important;}
  .st-sticky{padding-left:20px !important;padding-right:20px !important;}
  .logo svg{height:30px !important;}
  .navlink{display:none !important;}
  .long{display:none;} .short{display:inline;}
  .hero{padding:96px 20px 40px !important;gap:28px !important;}
  .sec{padding:72px 20px !important;gap:32px !important;}
  .cols2{grid-template-columns:minmax(0,1fr) !important;}
  .cols3{grid-template-columns:minmax(0,1fr) !important;gap:8px !important;}
  .cols3 > *, .card-step > *{grid-column:auto !important;}
  .stickyL{position:static !important;}
  .phones{height:540px !important;}
  .phone{width:168px !important;height:auto !important;}
  .awd-sticky{padding:72px 20px !important;gap:36px !important;}
  .awd-row{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;gap:16px !important;row-gap:28px !important;}
  .awd-tilt{height:200px !important;padding:16px !important;border-radius:18px !important;}
  .awd-card figcaption span:nth-child(2){font-size:16px !important;}
  .awd-card .mono{font-size:10px !important;letter-spacing:.08em !important;}
  .cardpad{padding:24px !important;}
  .hs-head{padding:0 20px !important;}
  .hs-track{padding:0 20px !important;gap:16px !important;}
  .card-step{grid-template-columns:minmax(0,1fr) !important;padding:28px !important;gap:8px !important;min-height:0 !important;}
  .pillar:hover{padding-left:0;}
  .aw-hero{padding:0 20px 48px !important;}
  .aw-hero .aw-photo{height:min(104vw, 520px);margin:0 -20px -8px;}
  .aw-hero .aw-photo img{object-position:88% 55% !important;}
  .aw-title{margin-top:28px !important;}
  .aw-meta span,.aw-meta div{font-size:14px !important;}
}
@supports (animation-timeline: view()){
  .progress{animation:grow linear both;animation-timeline:scroll(root);}
  @keyframes grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  .aw-text{animation:awtext linear both;animation-timeline:scroll(root);animation-range:0px 800px;}
  @keyframes awtext{to{transform:translateY(-90px);opacity:.15;}}
  .aw-photo img{animation:awphoto linear both;animation-timeline:scroll(root);animation-range:0px 1000px;}
  @keyframes awphoto{from{transform:translateY(0) scale(1);}to{transform:translateY(220px) scale(1.12);}}
  .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 5% cover 30%;}
  @keyframes rise{from{opacity:0;transform:translateY(70px);}to{opacity:1;transform:none;}}
  .fill-text{color:transparent;background:linear-gradient(var(--ink),var(--ink)) 0 0 / 0% 100% no-repeat, color-mix(in srgb, var(--ink) 16%, transparent);-webkit-background-clip:text;background-clip:text;animation:filltext linear both;animation-timeline:view();animation-range:cover 15% cover 55%;}
  @keyframes filltext{to{background-size:100% 100%, auto;}}
  .count{animation:countup linear both;animation-timeline:view();animation-range:entry 10% cover 45%;}
  @keyframes countup{from{--v:0;}}
  .par-a{animation:para linear both;animation-timeline:view();}
  .par-b{animation:parb linear both;animation-timeline:view();}
  @keyframes para{from{transform:translateY(140px) rotate(-4deg);}to{transform:translateY(-140px) rotate(-4deg);}}
  @keyframes parb{from{transform:translateY(260px) rotate(3deg);}to{transform:translateY(-200px) rotate(3deg);}}
  .hs{height:420vh;view-timeline-name:--hs;}
  .hs-sticky{position:sticky;top:0;height:100vh;overflow:hidden;}
  .hs-track{overflow:visible;animation:slide linear both;animation-timeline:--hs;animation-range:contain 0% contain 100%;}
  @keyframes slide{to{transform:translateX(calc(-100% + 100vw));}}
  .card-step{animation:dim linear both;animation-timeline:view();animation-range:exit 0% exit 100%;}
  @keyframes dim{to{transform:scale(.92);filter:brightness(.55);}}
}

@media (max-width: 760px){
  @supports (animation-timeline: view()){
    .awd{height:auto !important;}
    .awd-sticky{position:relative !important;height:auto !important;}
    .awd-word{animation:none !important;display:none;}
    .awd-head{animation:rise linear both !important;animation-timeline:view() !important;animation-range:entry 5% cover 30% !important;}
    .awd-card{animation:awdm linear both !important;animation-timeline:view() !important;animation-range:entry 0% cover 35% !important;}
    @keyframes awdm{from{opacity:0;transform:translateY(120px) rotate(calc(var(--r) * 2));}to{opacity:1;transform:rotate(calc(var(--r) * .5));}}
    .awd-foot{animation:none !important;}
  }
}


.st-text em{font-style:italic;}
.st-hint{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);z-index:1;display:none;flex-direction:column;align-items:center;gap:12px;color:#8A8A85;font-size:12px;letter-spacing:.24em;white-space:nowrap;pointer-events:none;}
.st-hint-line{display:block;width:1px;height:40px;background:linear-gradient(#8A8A85,transparent);animation:hintline 1.6s ease-in-out infinite;transform-origin:top;}
@keyframes hintline{0%{transform:scaleY(0);opacity:1;}60%{transform:scaleY(1);opacity:1;}100%{transform:scaleY(1);opacity:0;}}
@supports (animation-timeline: view()){
  .st-wrap{view-timeline-name:--st;height:230vh;}
  .st-wrap.on-accent{background:var(--bg-raw) !important;}
  .st-sticky{position:sticky !important;top:0;height:100vh;padding-top:0 !important;padding-bottom:0 !important;overflow:hidden;}
  .st-bg{animation:stcircle linear both;animation-timeline:--st;animation-range:entry 20% contain 14%;}
  .st-hint{display:flex;animation:hintfade linear both;animation-timeline:--st;animation-range:entry 60% contain 70%;}
  @keyframes hintfade{0%{opacity:0;}12%{opacity:1;}85%{opacity:1;}100%{opacity:0;}}
  @keyframes stcircle{from{clip-path:circle(0% at 50% 40%);}to{clip-path:circle(110% at 50% 40%);}}
  .st-text .w{display:inline-block;animation:stword linear both;animation-timeline:--st;animation-range:contain calc(10% + var(--i) * 2.6%) contain calc(18% + var(--i) * 2.6%);}
  @keyframes stword{from{opacity:.1;transform:translateY(.3em) rotate(2deg);filter:blur(8px);}to{opacity:1;transform:none;filter:blur(0);}}
}
@supports (animation-timeline: view()){
  .awd{height:320vh;view-timeline-name:--awd;}
  .awd-sticky{position:sticky !important;top:0;height:100vh;}
  .awd-word{animation:awdword linear both;animation-timeline:--awd;animation-range:contain 0% contain 100%;}
  @keyframes awdword{from{transform:translate(10%,-50%);}to{transform:translate(-60%,-50%);}}
  .awd-head{animation:awdhead linear both;animation-timeline:--awd;animation-range:contain 0% contain 14%;}
  @keyframes awdhead{from{opacity:0;transform:translateY(60px);}to{opacity:1;transform:none;}}
  .awd-card{animation:awdcard linear both;animation-timeline:--awd;animation-range:contain calc(6% + var(--k) * 13%) contain calc(30% + var(--k) * 13%);}
  @keyframes awdcard{from{opacity:0;transform:translateY(65vh) rotate(calc(var(--r) * 3)) scale(.8);}to{opacity:1;transform:translateY(0) rotate(var(--r)) scale(1);}}
  .awd-foot{animation:awdhead linear both;animation-timeline:--awd;animation-range:contain 70% contain 85%;}
}
@media (prefers-reduced-motion: reduce){
  .st-bg,.st-text .w,.st-hint{animation:none !important;}
  .st-hint{display:none !important;}
  .sm .st-wrap{height:auto !important;}
  .sm .st-sticky{position:relative !important;height:auto !important;padding-top:120px !important;padding-bottom:120px !important;}
  .marquee-track,.progress,.hero-title,.aw-text,.aw-photo img,.reveal,.fill-text,.count,.par-a,.par-b,.hs-track,.card-step,.awd-word,.awd-head,.awd-card,.awd-foot{animation:none !important;}
  .awd{height:auto !important;}
  .awd-sticky{position:relative !important;height:auto !important;}
  .fill-text{color:var(--ink);background:none;}
}
.skip-link{position:absolute;left:-9999px;top:12px;z-index:100;background:#F8FC9E;color:#0A0A0B;padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none;}
.skip-link:focus{left:16px !important;}
.contact-mail em{font-style:italic;}
.contact-mail:hover{opacity:.8;}
@media (max-width: 760px){ .contact-strip{padding-top:28px !important;} }
