@font-face{font-family:DM;src:url('assets/fonts/dm-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/dm-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--ink:#211b3a;--ink-soft:#57506b;--violet:#6d57df;--rose:#ff9fc8;--cloud:#f8f7fd;--white:#fff;--night:#171427;--line:rgba(33,27,58,.13);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cloud);color:var(--ink);font-family:DM,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:#d9c4ff;color:#231d40}
:focus-visible{outline:3px solid #aa64df;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 16px;background:#fff;color:#111;border-radius:10px}
.skip-link:focus{top:12px}
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px clamp(24px,4.8vw,80px);color:#241d44;transition:background .35s ease,box-shadow .35s ease,padding .35s ease,backdrop-filter .35s ease}
.site-header.is-scrolled,.site-header.menu-active{padding-top:16px;padding-bottom:16px;background:rgba(251,249,255,.91);box-shadow:0 1px 0 rgba(25,18,52,.08);backdrop-filter:blur(18px)}
.site-header.menu-active{background:transparent;box-shadow:none;backdrop-filter:none}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:20px;font-weight:700;letter-spacing:.16em;white-space:nowrap;line-height:1;position:relative;z-index:82}
.brand-mark{width:32px;height:32px;flex:none;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#f3b5ce url('assets/archerora-avatar.png') center/cover no-repeat;box-shadow:0 0 0 1px rgba(45,30,91,.22),0 5px 12px rgba(37,23,83,.12);transition:transform .5s var(--ease)}
.brand:hover .brand-mark{transform:rotate(-12deg) scale(1.08)}
.main-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,38px)}
.main-nav a{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;position:relative;padding:9px 0}
.main-nav a:not(.nav-contact):after{content:"";position:absolute;bottom:3px;left:0;right:100%;height:1px;background:currentColor;transition:right .4s var(--ease)}
.main-nav a:not(.nav-contact):hover:after,.main-nav a[aria-current="page"]:after{right:0}
.main-nav .nav-contact{background:var(--ink);color:#fff;border-radius:100px;padding:13px 19px;transition:transform .3s var(--ease),background .3s}
.main-nav .nav-contact:hover{transform:translateY(-3px);background:var(--violet)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff8;color:var(--ink);width:45px;height:45px;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:18px;height:2px;background:currentColor;transition:transform .3s,opacity .3s}
.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.cursor-glow{position:fixed;width:430px;height:430px;left:0;top:0;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(circle,rgba(255,255,255,.23),rgba(255,255,255,0) 66%);opacity:0;transform:translate3d(-50%,-50%,0);transition:opacity .25s}
body.pointer-active .cursor-glow{opacity:1}
.page-wrap{width:min(100% - 10vw,1440px);margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.22em;font-weight:700;text-transform:uppercase}
.eyebrow:before{content:"";width:26px;height:1px;background:currentColor}
.eyebrow.light{color:#d7caff}
.hero{min-height:740px;min-height:100svh;position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;background:linear-gradient(115deg,#bad0f5 0%,#b5b4f6 38%,#d9b4ed 67%,#f5bfd5 100%)}
.hero:before{content:"";position:absolute;inset:-18%;z-index:-1;background:radial-gradient(circle at 68% 38%,rgba(255,255,255,.73),transparent 26%),radial-gradient(circle at 18% 79%,rgba(103,102,215,.34),transparent 33%);animation:sky-drift 18s ease-in-out infinite alternate;will-change:transform}
@keyframes sky-drift{from{transform:translate3d(-2%,0,0) scale(1)}to{transform:translate3d(2%,-2%,0) scale(1.04)}}
.hero-grid{position:relative;z-index:3;width:min(100% - 10vw,1440px);margin:0 auto;display:grid;grid-template-columns:52% 48%;align-items:center;padding:130px 0 115px}
.hero-copy{position:relative;z-index:5;max-width:760px}
.hero-copy .eyebrow{margin-bottom:34px}
.hero h1{font-family:Playfair,Georgia,serif;font-weight:400;font-size:clamp(68px,8vw,139px);line-height:.94;letter-spacing:-.065em;margin:0 0 34px}
.hero h1 em{display:block;font-weight:400;white-space:nowrap;color:#4d3d9c}
.hero-lede{max-width:480px;color:#3d365a;font-size:clamp(16px,1.22vw,20px);line-height:1.6;margin:0 0 32px}
.hero-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:100px;padding:17px 24px;min-height:54px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;transition:transform .35s var(--ease),background .35s,color .35s,box-shadow .35s;border:1px solid transparent;white-space:nowrap}
.button:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(37,25,79,.18)}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#4d3d9c}
.button-light{background:#fff;color:var(--ink)}
.button-outline{border-color:rgba(32,25,60,.35);color:var(--ink);background:rgba(255,255,255,.1)}
.button-outline:hover{background:#fff}
.button-arrow{font-size:18px;letter-spacing:0;line-height:0}
.hero-visual{position:absolute;right:-3.5vw;bottom:4%;height:min(83svh,820px);width:min(55vw,830px);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3}
.hero-visual-glow{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85) 0%,rgba(229,227,255,.53) 41%,rgba(196,163,233,0) 72%);animation:glow-breathe 9s ease-in-out infinite;will-change:transform}
.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.66);border-radius:50%;box-shadow:0 0 58px rgba(255,255,255,.22),inset 0 0 32px rgba(255,255,255,.11)}
.hero-orbit-outer{width:91%;aspect-ratio:1;animation:orbit-outer 32s linear infinite}
.hero-orbit-inner{width:69%;aspect-ratio:1;border-style:dashed;border-color:rgba(92,74,175,.32);animation:orbit-inner 41s linear infinite}
.hero-orbit-outer:before,.hero-orbit-inner:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 18px #fff,0 0 36px rgba(124,106,222,.8)}
.hero-orbit-outer:before{top:16%;left:17%}
.hero-orbit-inner:after{right:6%;bottom:17%;width:5px;height:5px}
.hero-art{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0);transition:transform .85s var(--ease);will-change:transform}
.mascot-button{position:relative;display:block;width:min(100%,68svh,600px);aspect-ratio:1;border:0;padding:0;border-radius:50%;background:none;pointer-events:auto;cursor:default;animation:mascot-hover 8s ease-in-out infinite;filter:drop-shadow(0 32px 36px rgba(39,26,88,.21))}
.mascot-button:before{content:"";position:absolute;inset:-10px;z-index:-1;border-radius:50%;background:conic-gradient(from 70deg,#ffffff96,#ffffff22,#8f84e3a8,#ffffffc9,#ffffff33);box-shadow:0 0 0 1px rgba(255,255,255,.28),0 0 46px rgba(255,255,255,.4)}
.mascot-disc{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:50%;background:#efd2e3;border:4px solid rgba(255,255,255,.88);transform:rotate(var(--mascot-roll,0deg)) scale(var(--mascot-scale,1));transition:transform .65s var(--ease),box-shadow .6s var(--ease);box-shadow:inset 0 0 0 1px rgba(33,24,71,.12);isolation:isolate}
.mascot-button:hover .mascot-disc,.mascot-button:focus-visible .mascot-disc{--mascot-scale:1.025;box-shadow:inset 0 0 0 1px rgba(33,24,71,.12),0 0 0 12px rgba(255,255,255,.12)}
.mascot-button.is-reacting .mascot-disc{--mascot-scale:.96}
.mascot-base{width:100%;height:100%;object-fit:cover}
.mascot-eye{position:absolute;display:block;overflow:hidden;opacity:0;z-index:3;clip-path:ellipse(49% 50% at 50% 50%)}
.mascot-button.eyes-ready .mascot-eye{opacity:1}
.mascot-eye-left{left:35.65%;top:35.17%;width:8.12%;height:11.48%}
.mascot-eye-right{left:56.14%;top:34.53%;width:8.69%;height:11.64%}
.mascot-iris{position:absolute;inset:0;display:block;transform:translate3d(var(--eye-x,0px),var(--eye-y,0px),0);will-change:transform}
.mascot-iris img{position:absolute;display:block;max-width:none;height:auto;object-fit:initial}
.mascot-eye-left img{width:1230%;left:-439%;top:-306%}
.mascot-eye-right img{width:1150%;left:-646%;top:-297%}
.mascot-blink{position:absolute;display:block;z-index:4;pointer-events:none;opacity:0;transform:scaleY(.04);transform-origin:center top;background:linear-gradient(165deg,#f2aeb0 0%,#ffe2d4 72%,#f6cbc3 100%);border-bottom:2px solid #7a3d4f;border-radius:48% 48% 50% 50%}
.mascot-blink-left{left:33.1%;top:34.9%;width:11.2%;height:12.7%}
.mascot-blink-right{left:55.8%;top:34.5%;width:12.1%;height:12.5%}
.mascot-button.is-blinking .mascot-blink{opacity:1;animation:mascot-blink .29s ease-in-out both}
.mascot-spark{position:absolute;color:#fff;text-shadow:0 0 16px #fff,0 0 33px #caa4f6;pointer-events:none;animation:spark-drift 6s ease-in-out infinite}
.mascot-spark-one{left:-3%;top:23%;font-size:36px}
.mascot-spark-two{right:2%;bottom:11%;font-size:24px;animation-delay:-2.6s}
@keyframes mascot-hover{50%{transform:translate3d(0,-13px,0)}}
@keyframes mascot-blink{0%,100%{transform:scaleY(.04);opacity:0}30%,70%{transform:scaleY(1);opacity:1}}
@keyframes spark-drift{50%{transform:translate3d(0,-13px,0) rotate(17deg);opacity:.58}}
.hero-axis{position:absolute;z-index:1;width:8px;height:8px;border:1px solid rgba(44,35,86,.7);transform:rotate(45deg)}
.hero-axis-top{top:19%;right:16%}
.hero-axis-bottom{left:14%;bottom:23%}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0)}}
@keyframes glow-breathe{50%{transform:scale(1.13);opacity:.7}}
@keyframes orbit-outer{from{transform:rotate(-25deg) scaleX(.82)}to{transform:rotate(335deg) scaleX(.82)}}
@keyframes orbit-inner{from{transform:rotate(30deg) scaleX(.9)}to{transform:rotate(-330deg) scaleX(.9)}}
.hero-side-note{position:absolute;z-index:5;right:4vw;top:30%;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:15px}
.hero-side-note:after{content:"";width:1px;height:70px;background:currentColor}
.hero-bottom{position:absolute;bottom:20px;left:5vw;right:5vw;z-index:5;display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.scroll-cue{display:flex;align-items:center;gap:13px}
.scroll-cue .cue-line{height:32px;width:1px;background:var(--ink);animation:cue-pulse 1.8s ease-in-out infinite}
@keyframes cue-pulse{50%{transform:scaleY(.45);opacity:.35}}
.hero-word{position:absolute;left:-2%;bottom:0;z-index:1;font-size:clamp(180px,29vw,540px);letter-spacing:-.08em;font-weight:700;color:rgba(255,255,255,.21);white-space:nowrap;line-height:.85;user-select:none;pointer-events:none}
.section{padding:clamp(90px,10vw,165px) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}
.section-head h2,.section-title{font:400 clamp(48px,6.4vw,98px)/1 Playfair,Georgia,serif;letter-spacing:-.055em;margin:20px 0 0}
.section-head h2 em,.section-title em{font-weight:400;color:var(--violet)}
.section-head p{max-width:360px;margin:0;color:var(--ink-soft);font-size:16px;line-height:1.65}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:8px;transition:gap .25s var(--ease)}
.text-link:hover{gap:20px}
.mission{background:#201b3b;color:#f8f5ff;position:relative;overflow:hidden}
.mission:before{content:"✦";position:absolute;right:4%;top:-120px;font:400 560px/1 Playfair,Georgia,serif;color:rgba(223,193,255,.06);pointer-events:none}
.mission-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:end}
.mission h2{font:400 clamp(50px,6vw,100px)/1.03 Playfair,Georgia,serif;letter-spacing:-.06em;margin:24px 0 0}
.mission h2 em{color:#f3aecf}
.mission p{font-size:clamp(19px,2vw,29px);line-height:1.45;color:#d7cee8;margin:0 0 28px}
.mission .text-link{color:#fff}
.featured{background:#faf9fe}
.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.feature-card{position:relative;display:block;background:#fff;border:1px solid rgba(40,30,73,.08);border-radius:32px;padding:11px;transition:transform .55s var(--ease),box-shadow .55s var(--ease);box-shadow:0 22px 52px rgba(32,23,69,.07)}
.feature-card:hover{transform:translateY(-9px);box-shadow:0 36px 90px rgba(32,23,69,.17)}
.media-stage{position:relative;perspective:1600px}
.media-surface{position:relative;border-radius:23px;overflow:hidden;isolation:isolate;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--tilt-scale,1));transform-style:preserve-3d;will-change:transform;box-shadow:0 14px 35px rgba(31,24,70,.13);transition:box-shadow .45s var(--ease)}
.feature-card:first-child .media-surface{--tilt-y:-3deg}
.feature-card.small .media-surface{--tilt-y:3deg}
.feature-card:hover .media-surface{box-shadow:0 24px 55px rgba(31,24,70,.25)}
.surface-glare,.surface-curve{position:absolute;inset:0;pointer-events:none;border-radius:inherit}
.surface-glare{z-index:3;background:radial-gradient(420px circle at var(--glare-x,50%) var(--glare-y,0%),rgba(255,255,255,.6),transparent 62%);mix-blend-mode:soft-light;opacity:.28;transition:opacity .4s}
.feature-card:hover .surface-glare{opacity:.9}
.surface-curve{z-index:4;border:1px solid rgba(255,255,255,.43);box-shadow:inset 0 18px 32px -18px rgba(255,255,255,.7),inset 0 -28px 46px -23px rgba(25,16,56,.34),inset 18px 0 28px -26px rgba(255,255,255,.68),inset -18px 0 28px -26px rgba(255,255,255,.68)}
.feature-card .media{position:relative;aspect-ratio:1.28;overflow:hidden;background:#d7d0ed}
.feature-card.small .media{aspect-ratio:1.05}
.feature-card .media img,.feature-card .media video{height:100%;width:100%;object-fit:cover;object-position:center 38%;transition:transform .9s var(--ease)}
.feature-card:hover .media img,.feature-card:hover .media video{transform:scale(1.05)}
.feature-card.small .media img,.feature-card.small .media video{transform:scale(1.18);object-position:center 25%}
.feature-card.small:hover .media img,.feature-card.small:hover .media video{transform:scale(1.23)}
.feature-card .media video{position:absolute;inset:0;opacity:0;transition:opacity .4s,transform .9s var(--ease)}
.feature-card.is-playing .media video{opacity:1}
.feature-card .media-overlay{position:absolute;inset:auto 20px 20px auto;z-index:2;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-size:20px;box-shadow:0 8px 28px rgba(22,16,49,.13)}
.feature-card .card-copy{padding:31px clamp(25px,2.8vw,42px) 37px}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:var(--violet);margin-bottom:19px}
.feature-card h3{font:400 clamp(32px,3.1vw,53px)/1.06 Playfair,Georgia,serif;letter-spacing:-.04em;margin:0 0 15px}
.feature-card p{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0}
.feature-card .card-arrow{position:absolute;bottom:34px;right:32px;font-size:26px}
.feature-card.small .card-copy{padding-right:54px}
.archive-link{margin-top:38px;display:flex;justify-content:flex-end}
.principles{background:#eeeafb}
.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}
.principle{min-height:280px;padding:33px;border:1px solid rgba(71,54,128,.17);border-radius:23px;background:rgba(255,255,255,.43);display:flex;flex-direction:column;justify-content:space-between;transition:background .35s,transform .35s var(--ease)}
.principle:hover{background:#fff;transform:translateY(-7px)}
.principle .number{font:italic 30px Playfair,Georgia,serif;color:var(--violet)}
.principle h3{font:400 33px Playfair,Georgia,serif;margin:0 0 12px}
.principle p{margin:0;color:#5d5570;font-size:15px;line-height:1.6}
.signal{background:#161528;color:#fff;overflow:hidden}
.signal .section-head p{color:#aca6bf}
.signal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:42px 0 30px}
.signal-tab{border:1px solid rgba(255,255,255,.27);background:transparent;color:#ddd7ee;border-radius:100px;padding:12px 20px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:background .3s,color .3s,transform .3s}
.signal-tab:hover{transform:translateY(-3px)}
.signal-tab[aria-selected="true"]{color:#1c1735;background:#f3e9ff;border-color:#f3e9ff}
.signal-panel{display:grid;grid-template-columns:1fr .8fr;align-items:center;min-height:400px;border:1px solid rgba(255,255,255,.16);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 80% 50%,rgba(115,89,202,.4),transparent 35%),#231e3e}
.signal-panel-copy{padding:clamp(36px,5vw,76px)}
.signal-kicker{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#f1b6d7}
.signal-panel h3{font:400 clamp(42px,5vw,75px)/1.02 Playfair,Georgia,serif;letter-spacing:-.05em;margin:22px 0}
.signal-panel p{font-size:16px;line-height:1.65;max-width:480px;color:#d4cde7;margin:0}
.signal-graphic{position:relative;height:100%;min-height:400px;overflow:hidden;display:grid;place-items:center}
.signal-graphic:before,.signal-graphic:after{content:"";position:absolute;border:1px solid rgba(225,201,255,.29);border-radius:50%;aspect-ratio:1;animation:orbit 18s linear infinite}
.signal-graphic:before{width:66%;transform:rotate(-25deg) scaleX(.65)}
.signal-graphic:after{width:95%;animation-direction:reverse;transform:rotate(18deg) scaleX(.72)}
.signal-core{position:relative;z-index:2;width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 31% 28%,#fff,#f0bde6 25%,#9777db 59%,#302b67 85%);box-shadow:0 0 80px rgba(216,164,255,.36),inset -20px -22px 35px rgba(38,30,95,.5);font:italic 90px Playfair,Georgia,serif;color:#fff8;animation:float 7s ease-in-out infinite}
@keyframes orbit{from{rotate:0deg}to{rotate:360deg}}
.collab{background:linear-gradient(115deg,#cfdef7 0%,#e9d1ef 55%,#ffcbd9 100%);text-align:center;position:relative;overflow:hidden}
.collab:before{content:"ARCHERORA";position:absolute;bottom:-.25em;left:50%;transform:translateX(-50%);font-size:clamp(110px,20vw,350px);font-weight:700;letter-spacing:-.08em;white-space:nowrap;color:rgba(255,255,255,.23);pointer-events:none}
.collab .page-wrap{position:relative;z-index:1}
.collab h2{font:400 clamp(55px,8vw,132px)/.96 Playfair,Georgia,serif;letter-spacing:-.07em;max-width:1000px;margin:27px auto 27px}
.collab h2 em{color:#5a459f}
.collab p{font-size:17px;line-height:1.7;max-width:600px;margin:0 auto 32px;color:#49405f}
.site-footer{background:#171427;color:#f1ecfa;padding:70px 0 30px}
.footer-top{display:grid;grid-template-columns:1.2fr .6fr .6fr;gap:50px;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-brand{font-size:clamp(30px,3.7vw,60px);font-weight:700;letter-spacing:.12em;line-height:1;margin-bottom:22px}
.footer-top p{color:#bfb7d2;max-width:440px;line-height:1.65;margin:0}
.footer-col h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#d6aee7;margin:3px 0 22px}
.footer-col a{display:block;color:#f3eefc;margin:0 0 13px;font-size:14px;width:max-content;max-width:100%}
.footer-col a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{padding-top:26px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:#a79dbd;font-size:12px;line-height:1.6}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.sub-hero{position:relative;overflow:hidden;padding:190px 0 95px;background:linear-gradient(110deg,#c5d5f7,#d7c3ef 55%,#f0c9dc)}
.sub-hero:after{content:"";position:absolute;width:55vw;height:55vw;right:-20vw;top:-35vw;background:radial-gradient(circle,rgba(255,255,255,.76),transparent 65%);pointer-events:none}
.sub-hero .page-wrap{position:relative;z-index:2}
.sub-hero h1{font:400 clamp(65px,9vw,145px)/.96 Playfair,Georgia,serif;letter-spacing:-.07em;max-width:1100px;margin:24px 0}
.sub-hero h1 em{color:#624bb8}
.sub-hero p{font-size:clamp(17px,1.5vw,21px);line-height:1.6;max-width:610px;margin:0;color:#51486d}
.sub-index{position:absolute;right:5vw;bottom:45px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}
.filter-button{border:1px solid #b9afd0;background:transparent;border-radius:50px;padding:11px 20px;color:#5e5272;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:background .3s,color .3s}
.filter-button:hover,.filter-button[aria-pressed="true"]{background:#2b234b;color:#fff;border-color:#2b234b}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.work-tile{display:flex;flex-direction:column;min-width:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.work-tile:hover{transform:translateY(-7px);box-shadow:0 20px 55px rgba(38,27,85,.12)}
.work-tile[hidden]{display:none}
.work-tile .tile-media{aspect-ratio:1.12;overflow:hidden;background:#d9d2ed;position:relative}
.work-tile .tile-media img,.work-tile .tile-media video{width:100%;height:100%;object-fit:cover;object-position:center 37%;transition:transform .7s var(--ease)}
.work-tile:hover .tile-media img,.work-tile:hover .tile-media video{transform:scale(1.05)}
.work-tile[data-category="3d"] .tile-media img{transform:scale(1.18);object-position:center 25%}
.work-tile[data-category="3d"]:hover .tile-media img{transform:scale(1.23)}
.work-tile .tile-copy{padding:29px;display:flex;flex-direction:column;flex:1}
.work-tile .tile-copy h2{font:400 35px/1.1 Playfair,Georgia,serif;letter-spacing:-.045em;margin:12px 0}
.work-tile .tile-copy p{color:#625a73;line-height:1.6;font-size:14px;margin:0 0 25px}
.work-tile .tile-copy .text-link{margin-top:auto;align-self:flex-start}
.type-media{height:100%;display:flex;align-items:end;padding:30px;background:linear-gradient(130deg,#453b83,#9088d0 60%,#f4aecf);color:#fff;font:400 clamp(50px,5vw,80px)/.9 Playfair,Georgia,serif;letter-spacing:-.08em}
.type-media span{display:block;max-width:80%}
.type-media b{position:absolute;right:23px;top:20px;font:700 11px DM,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.note-bar{border:1px solid var(--line);border-radius:20px;padding:24px 28px;color:#5c536e;background:#fff;line-height:1.65;margin-top:35px}
.case-page{background:#fbfaff}
.case-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.55fr);gap:6vw;padding:95px 0 125px}
.case-main h2{font:400 clamp(36px,4vw,58px)/1.07 Playfair,Georgia,serif;letter-spacing:-.05em;margin:0 0 22px}
.case-main p,.case-main li{font-size:16px;line-height:1.75;color:#534c63}
.case-main p{margin:0 0 22px}
.case-main ul{padding-left:20px;margin:0 0 30px}
.case-main h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:50px 0 18px}
.case-aside{position:sticky;top:115px;align-self:start;border:1px solid var(--line);border-radius:22px;background:#fff;padding:30px}
.case-aside dl{margin:0}
.case-aside dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#766b8d;margin:0 0 8px}
.case-aside dd{font-size:15px;line-height:1.5;margin:0 0 25px}
.case-aside dd:last-child{margin:0}
.case-media{border-radius:24px;overflow:hidden;background:#211e2e;position:relative;margin:36px 0 12px}
.case-media video,.case-media img{width:100%;max-height:660px;object-fit:contain;margin:auto}
.case-media video{cursor:pointer}
.media-caption{font-size:12px!important;color:#7a708e!important;margin:0 0 35px!important}
.case-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.case-media-grid .case-media{margin-bottom:12px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.about-grid .large-copy{font:400 clamp(31px,3.5vw,57px)/1.14 Playfair,Georgia,serif;letter-spacing:-.04em;margin:0}
.about-grid .large-copy em{color:var(--violet)}
.about-grid p{color:#5d566f;font-size:17px;line-height:1.8;margin:0 0 23px}
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:70px}
.roadmap article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:27px;min-height:240px}
.roadmap .stage{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--violet);font-weight:700}
.roadmap h3{font:400 30px Playfair,Georgia,serif;margin:20px 0 12px}
.roadmap p{font-size:14px;line-height:1.65;color:#6a607b;margin:0}
.case-roadmap{margin:35px 0 50px}
.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:start}
.contact-grid h2{font:400 clamp(45px,5vw,80px)/1.05 Playfair,Georgia,serif;letter-spacing:-.05em;margin:0 0 30px}
.contact-grid p{font-size:17px;line-height:1.7;color:#5f566e}
.email-link{font:400 clamp(24px,3vw,42px)/1.2 Playfair,Georgia,serif;border-bottom:1px solid currentColor;word-break:break-word;display:inline-block;padding-bottom:8px}
.contact-card{border-radius:26px;border:1px solid var(--line);background:#fff;padding:35px}
.contact-card h3{font:400 34px Playfair,Georgia,serif;margin:0 0 16px}
.contact-card ul{padding-left:20px;color:#5c526a;line-height:1.9;margin:0}
.contact-card .social-links{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}
.contact-card .social-links a{border:1px solid #c6bfd4;border-radius:30px;padding:11px 17px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.contact-card .social-links a:hover{background:#eee8fb}
.legal{max-width:800px;margin:0 auto}
.legal h2{font:400 40px Playfair,Georgia,serif;margin:35px 0 15px}
.legal p,.legal li{font-size:16px;line-height:1.75;color:#5e556c}
.legal a{text-decoration:underline;text-underline-offset:3px}
.js .reveal{opacity:0;transform:translate3d(0,32px,0);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.hero-copy>*{animation:hero-in .95s var(--ease) both}
.hero-copy>*:nth-child(1){animation-delay:.13s}.hero-copy>*:nth-child(2){animation-delay:.23s}.hero-copy>*:nth-child(3){animation-delay:.36s}.hero-copy>*:nth-child(4){animation-delay:.46s}
.hero-visual{animation:hero-art-in 1.3s .28s var(--ease) both}
@keyframes hero-in{from{opacity:0;transform:translate3d(0,25px,0)}to{opacity:1;transform:none}}
@keyframes hero-art-in{from{opacity:0;transform:translate3d(50px,35px,0) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:1050px){.hero-grid{grid-template-columns:56% 44%}.hero h1{font-size:clamp(64px,8.5vw,110px)}.hero-visual{right:-10vw;width:64vw}.feature-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1.2fr .6fr .6fr}}
@media(max-width:900px){.site-header{padding:17px 21px}.site-header.is-scrolled,.site-header.menu-active{padding:13px 21px}.brand{font-size:17px}.brand-mark{width:24px;height:24px}.menu-toggle{display:flex;z-index:82}.main-nav{position:fixed;inset:0;z-index:81;background:#f4edfc;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;padding:90px 8vw;transform:translate3d(105%,0,0);transition:transform .6s var(--ease)}.menu-open .main-nav{transform:none}.main-nav a{font:400 46px Playfair,Georgia,serif;text-transform:none;letter-spacing:-.04em;padding:2px 0}.main-nav .nav-contact{font:700 13px DM,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;padding:17px 23px;margin-top:15px}.page-wrap{width:min(100% - 42px,1440px)}.hero{min-height:850px;min-height:100svh;align-items:flex-start}.hero-grid{display:block;width:min(100% - 42px,1440px);padding:130px 0 410px}.hero-copy{max-width:620px}.hero-copy .eyebrow{margin-bottom:23px}.hero h1{font-size:clamp(60px,13vw,100px);margin-bottom:22px}.hero h1 em{white-space:normal}.hero-lede{font-size:16px;max-width:430px}.hero-visual{height:54%;width:90vw;right:-12vw;bottom:0}.hero-side-note{display:none}.hero-word{font-size:50vw;bottom:10%;left:-4%}.hero-bottom{left:21px;right:21px;bottom:14px}.hero-bottom>span:last-child{display:none}.mission-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.section{padding:85px 0}.section-head{align-items:start;flex-direction:column;gap:18px;margin-bottom:35px}.section-head h2,.section-title{font-size:clamp(45px,10vw,72px)}.feature-grid,.principles-grid,.work-grid,.roadmap,.case-main,.case-media-grid{grid-template-columns:1fr}.feature-card .media{aspect-ratio:1.35}.feature-card.small .media{aspect-ratio:1.35}.principles-grid{gap:12px;margin-top:40px}.principle{min-height:205px}.signal-panel{grid-template-columns:1fr}.signal-graphic{min-height:280px}.signal-core{width:140px;height:140px;font-size:60px}.collab h2{font-size:clamp(56px,11vw,92px)}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{align-items:start;flex-direction:column}.sub-hero{padding:150px 0 70px}.sub-hero h1{font-size:clamp(56px,13vw,98px)}.sub-index{display:none}.case-main{gap:50px;padding:70px 0 90px}.case-aside{position:static;order:-1}.work-grid{gap:14px}.about-grid .large-copy{font-size:40px}}
@media(max-width:480px){.hero{min-height:830px}.hero-grid{padding-top:117px;padding-bottom:420px}.hero h1{font-size:clamp(59px,15.2vw,74px)}.hero-lede{font-size:15px}.hero-visual{width:108vw;right:-29vw;height:51%}.hero-actions{gap:10px}.button{min-height:49px;padding:14px 17px;gap:14px;font-size:10px}.hero-bottom{font-size:9px}.feature-card .card-copy{padding:25px 23px 31px}.feature-card h3{font-size:35px}.signal-tabs{gap:7px}.signal-tab{padding:10px 13px;font-size:10px}.signal-panel-copy{padding:30px}.signal-panel h3{font-size:45px}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{font-size:28px}.footer-col a{font-size:13px}.contact-card{padding:25px}.case-media-grid{grid-template-columns:1fr}}
@media(pointer:coarse){.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.marquee-track{animation:none!important}.hero-visual img{animation:none!important}.js .reveal{opacity:1;transform:none}}

/* Kinetic editorial type and interactive surfaces */
.word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.12em .13em .22em;margin:-.12em -.13em -.22em;white-space:nowrap}
.word-rise{display:inline-block}
.js .kinetic .word-rise{opacity:0;filter:blur(4px);transform:translate3d(0,112%,0) rotate(5deg);transform-origin:0 100%;transition:transform 1.05s var(--ease),opacity .72s ease,filter .9s ease;transition-delay:var(--word-delay,0ms)}
.js .kinetic.is-visible .word-rise{opacity:1;filter:blur(0);transform:none}
.hero-copy>h1.kinetic{animation:none}
.hero h1 em{color:transparent;background:linear-gradient(105deg,#40318d,#8262c8,#342b79,#735bc4);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:ink-flow 10s ease-in-out infinite alternate}
@keyframes ink-flow{to{background-position:100% 0}}
.feature-card h3{transition:transform .6s var(--ease),color .4s}
.feature-card:hover h3{transform:translateX(6px);color:#51409e}
.js .feature-card.reveal.is-visible:hover{transform:translateY(-9px)}
.feature-card .media-overlay{z-index:5;transition:transform .55s var(--ease),background .4s,color .4s}
.feature-card:hover .media-overlay{transform:translate3d(-5px,-5px,0) rotate(45deg);background:#29214d;color:#fff}
.feature-card .media img,.feature-card .media video{transform:scale(1.045);will-change:transform}
.feature-card:hover .media img,.feature-card:hover .media video{transform:scale(1.095)}
.feature-card.small .media img,.feature-card.small .media video{transform:scale(1.21)}
.feature-card.small:hover .media img,.feature-card.small:hover .media video{transform:scale(1.27)}
.eyebrow:before{transform-origin:left;animation:line-breathe 4s ease-in-out infinite}
@keyframes line-breathe{50%{transform:scaleX(.55);opacity:.55}}
.button[data-magnetic]{transform:translate3d(var(--mag-x,0px),var(--mag-y,0px),0)}
.button[data-magnetic]:hover{transform:translate3d(var(--mag-x,0px),calc(var(--mag-y,0px) - 4px),0)}
@media(max-width:900px){.hero{display:block;min-height:0}.hero-grid{padding-bottom:35px}.hero-visual{position:relative;width:min(86vw,560px);height:auto;aspect-ratio:1;right:auto;bottom:auto;margin:25px auto 80px}.mascot-button{width:100%}.mascot-note{font-size:9px;padding:10px 14px}}
@media(min-width:901px) and (max-width:1050px){.mascot-button{width:min(100%,54svh,430px)}}
@media(max-width:480px){.hero-grid{padding-top:100px}.hero-visual{width:86vw;margin-top:20px;margin-bottom:72px}.hero-orbit-outer{width:103%}.hero-orbit-inner{width:79%}.mascot-spark-one{left:-6%}.mascot-spark-two{right:-3%}.mascot-note{bottom:-3%;left:0}}
@media(any-hover:none),(any-pointer:none){.media-surface{transform:none!important}.surface-glare{display:none}.mascot-button{cursor:default}}
@media(prefers-reduced-motion:reduce){.js .kinetic .word-rise{opacity:1;filter:none;transform:none}.hero h1 em{animation:none}.mascot-button,.hero-orbit,.hero-visual-glow,.mascot-spark{animation:none!important}.feature-card .media img,.feature-card .media video{will-change:auto}}

/* Open hero and two continuously playing, curved video surfaces. */
@media(min-width:1060px){
  .hero-grid{grid-template-columns:58% 42%}
  .hero-visual{right:-6vw}
}
.hero-copy{max-width:810px}
.hero h1{font-size:clamp(74px,8.65vw,156px);line-height:1.045;letter-spacing:-.07em;margin-bottom:32px}
.hero-lede{max-width:560px;font-size:clamp(18px,1.35vw,21px)}
.hero-actions{gap:18px}
.hero-actions .button{min-height:64px;padding:20px 30px;font-size:13px;gap:26px}
.hero-word{left:clamp(24px,3.2vw,60px);bottom:2%;line-height:1;letter-spacing:-.035em;animation:hero-letter-glow 7s ease-in-out infinite alternate}
.sub-hero h1{line-height:1.08;padding-block:.045em}
.section-head h2,.section-title,.collab h2{line-height:1.08}
@keyframes hero-letter-glow{from{opacity:.48;text-shadow:0 0 0 rgba(255,255,255,0)}to{opacity:.95;text-shadow:0 0 70px rgba(255,255,255,.34)}}
.hero h1.typewriter-ready .type-char{display:inline-block;position:relative;opacity:0;filter:blur(3px);transform:translate3d(0,.12em,0);transition:opacity .25s ease,filter .34s ease,transform .38s var(--ease)}
.hero h1.typewriter-ready .type-char.is-typed{opacity:1;filter:none;transform:none}
.hero h1 .type-char.is-current:after{content:"";position:absolute;right:-.07em;top:.18em;height:.68em;width:2px;background:#30215a;animation:type-caret .55s steps(1,end) infinite}
.hero h1 em .type-char.is-current:after{background:#624bb8}
@keyframes type-caret{50%{opacity:0}}

.featured{overflow:hidden;padding-bottom:clamp(100px,10vw,170px)}
.featured .section-head{margin-bottom:clamp(48px,6vw,88px)}
.featured .feature-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:clamp(28px,4vw,70px);align-items:center;padding:12px 8px 42px}
.featured .feature-card{min-width:0;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.featured .feature-card.small{margin-top:clamp(70px,10vw,165px)}
.featured .feature-card:hover,.js .featured .feature-card.reveal.is-visible:hover{transform:none;box-shadow:none}
.featured .media-surface{border-radius:clamp(26px,3.2vw,48px);box-shadow:0 36px 80px rgba(34,24,74,.17),0 8px 23px rgba(34,24,74,.12)}
.featured .feature-card:hover .media-surface{box-shadow:0 48px 100px rgba(34,24,74,.23),0 12px 28px rgba(34,24,74,.13)}
.featured .feature-card .media{aspect-ratio:1.23;border-radius:inherit}
.featured .feature-card.small .media{aspect-ratio:.95}
.featured .feature-card .media video,.featured .feature-card.small .media video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transform:scale(1.04);transition:transform 1s var(--ease)}
.featured .feature-card:hover .media video,.featured .feature-card.small:hover .media video{transform:scale(1.07)}
.featured .surface-curve{border:0;box-shadow:inset 0 20px 35px -22px rgba(255,255,255,.75),inset 0 -34px 55px -28px rgba(25,16,56,.42),inset 16px 0 28px -24px rgba(255,255,255,.48),inset -16px 0 28px -24px rgba(255,255,255,.48)}
.featured .media-overlay,.featured .card-copy,.featured .archive-link{display:none}

@media(max-width:1059px){
  .hero h1{font-size:clamp(64px,8.5vw,110px)}
}
@media(max-width:900px){
  .hero h1{font-size:clamp(60px,13vw,100px)}
  .hero-word{left:auto;right:5vw;top:clamp(350px,48vw,490px);bottom:auto;font-size:min(34vw,220px)}
  .featured .feature-grid{grid-template-columns:1fr;gap:45px;padding:0 3px 35px}
  .featured .feature-card.small{width:82%;justify-self:end;margin-top:0}
  .featured .feature-card .media{aspect-ratio:1.35}
  .featured .feature-card.small .media{aspect-ratio:1.23}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(59px,15.2vw,74px)}
  .hero-actions .button{min-height:54px;padding:15px 18px;font-size:10px;gap:12px}
  .hero-word{left:auto;right:5vw;top:420px;bottom:auto;font-size:35vw}
  .featured .feature-grid{gap:32px}
  .featured .feature-card.small{width:88%}
}
@media(prefers-reduced-motion:reduce){
  .hero-word{animation:none}
  .hero h1.typewriter-ready .type-char{opacity:1;filter:none;transform:none}
  .hero h1 .type-char.is-current:after{animation:none}
}
