:root{
  --indigo:#010080;
  --deep:#050044;
  --electric:#2418d6;
  --white:#fff;
  --mist:#f5f5ff;
  --line:rgba(255,255,255,.38);
  --muted:rgba(255,255,255,.68);
  --pad:clamp(22px,3.4vw,58px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--indigo);color:var(--white);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
body.menu-open,body:has(.policy[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.section-indigo{background:var(--indigo);color:var(--white)}
.section-deep{background:var(--deep);color:var(--white)}
.loader{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:var(--indigo);transform-origin:top;transition:transform .8s cubic-bezier(.77,0,.18,1)}
.loader img{width:min(35vw,360px);height:auto}
.loader i{position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--white);animation:loading 1.05s forwards}
.loader.done{transform:scaleY(0)}
@keyframes loading{to{width:100%}}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px var(--pad)}
.brand{display:block;width:94px}
.brand img{display:block;width:100%;height:auto}
.site-header nav{display:flex;gap:28px;font-size:11px;letter-spacing:.12em}
.site-header nav a{border-bottom:1px solid transparent;padding:5px 0;transition:opacity .2s,border-color .2s}
.site-header nav a:hover{border-color:currentColor;opacity:.7}
.menu{display:none;border:0;background:none;color:inherit}
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;padding:110px var(--pad) 36px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.hero::after{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 50% 46%,rgba(36,24,214,.65),transparent 41%),linear-gradient(145deg,transparent 0 53%,rgba(255,255,255,.035) 53% 53.2%,transparent 53.2%)}
.hero-meta,.section-index,.direction-meta{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}
.hero-logo{position:relative;z-index:2;width:min(49vw,680px);margin:auto}
.hero-logo img{display:block;width:100%;height:auto}
.hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end}
.hero-bottom p{margin:0;font-size:clamp(17px,1.6vw,23px);font-weight:600;letter-spacing:-.025em}
.round-link{position:relative;width:138px;height:138px;border:1px solid var(--white);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s}
.round-link:hover{background:var(--white);color:var(--indigo)}
.round-link b{position:absolute;right:24px;bottom:19px;font-size:18px}
.orb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform;filter:blur(42px);mix-blend-mode:screen}
.orb-a{z-index:-1;width:25vw;height:25vw;right:-8vw;top:-9vw;background:rgba(255,255,255,.18)}
.orb-b{z-index:-1;width:20vw;height:20vw;left:-7vw;bottom:-8vw;background:rgba(36,24,214,.92)}
.intro{position:relative;min-height:100svh;overflow:hidden;padding:9vh var(--pad) 11vh;isolation:isolate}
.intro>.section-index{position:relative;z-index:2}
.intro-content{position:relative;z-index:2;min-height:78svh;display:flex;flex-direction:column;justify-content:center}
.section-title{margin:0;font:900 clamp(52px,7.7vw,116px)/.84 Inter,Arial,sans-serif;letter-spacing:-.072em;text-transform:uppercase}
.intro .section-title{margin-bottom:clamp(58px,9vh,105px)}
.intro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(50px,8vw,142px)}
.intro-grid article{display:grid;grid-template-rows:minmax(3.15em,auto) auto;align-content:start;gap:clamp(28px,4vh,44px)}
.intro-grid h3{max-width:620px;margin:0;font-size:clamp(30px,3.4vw,54px);line-height:1.01;letter-spacing:-.055em}
.intro-grid p{margin:0;font-size:clamp(16px,1.35vw,20px);color:var(--muted)}
.ghost-mark{position:absolute;z-index:-1;left:-.1em;top:10%;font:900 min(78vw,1120px)/1 Inter;color:rgba(255,255,255,.035);letter-spacing:-.13em;transform:rotate(-8deg);filter:blur(3px);user-select:none}
.statement{min-height:100svh;padding:9vh var(--pad);display:flex;flex-direction:column;justify-content:space-between}
.statement-title{margin:8vh 0;font:900 clamp(65px,12.5vw,190px)/.76 Inter;letter-spacing:-.09em}
.statement-title span{color:transparent;-webkit-text-stroke:1.5px var(--electric);text-shadow:0 0 42px rgba(36,24,214,.65)}
.statement-note{align-self:flex-end;width:min(420px,100%);margin:0;font-size:clamp(16px,1.5vw,21px);line-height:1.5;color:var(--muted)}
.directions{position:relative;min-height:100svh;overflow:hidden;padding:10vh var(--pad);isolation:isolate}
.section-head{position:relative;z-index:2;display:grid;gap:9vh;margin-bottom:9vh}
.directions-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(42px,8vw,130px)}
.direction{padding-top:24px;border-top:1px solid var(--line)}
.direction h3{margin:clamp(38px,6vh,68px) 0 32px;font-size:clamp(38px,4.4vw,68px);line-height:.92;letter-spacing:-.06em}
.direction ul{display:grid;gap:15px;max-width:610px;margin:0;padding:0;list-style:none}
.direction li{display:flex;gap:14px;font-size:clamp(15px,1.25vw,18px);line-height:1.45;color:var(--muted)}
.direction li::before{content:"";width:7px;height:7px;flex:0 0 auto;margin-top:.48em;border-radius:50%;background:var(--white);box-shadow:0 0 13px rgba(255,255,255,.65)}
.glass-object{position:absolute;z-index:0;top:-10vw;right:-10vw;width:min(60vw,850px);aspect-ratio:1;border:1px solid rgba(255,255,255,.27);border-radius:43% 57% 62% 38%/45% 38% 62% 55%;background:radial-gradient(circle at 29% 23%,rgba(255,255,255,.31),transparent 18%),linear-gradient(145deg,rgba(255,255,255,.15),rgba(36,24,214,.08) 48%,rgba(255,255,255,.025));box-shadow:inset 18px 18px 42px rgba(255,255,255,.11),inset -22px -26px 44px rgba(5,0,68,.42),0 40px 90px rgba(5,0,68,.35);backdrop-filter:blur(12px);opacity:.62;transform:rotate(14deg);animation:floatGlass 15s ease-in-out infinite}
.glass-object::after{content:"";position:absolute;inset:7%;border:1px solid rgba(255,255,255,.14);border-radius:inherit;filter:blur(1px)}
.glass-object__inner{position:absolute;inset:0;display:grid;place-items:center;font:900 21vw/1 Inter;letter-spacing:-.13em;color:rgba(255,255,255,.08);filter:blur(2px)}
@keyframes floatGlass{0%,100%{transform:translate3d(0,0,0) rotate(14deg) scale(1)}50%{transform:translate3d(-2vw,2.2vh,0) rotate(9deg) scale(1.025)}}
.process{padding:10vh var(--pad)}
.process-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:9vh}
.process-head>div{display:grid;gap:7vh}
.process-head>p{max-width:420px;margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.process-grid li{min-height:310px;padding:26px 24px 25px 0;border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto}
.process-grid li+li{padding-left:24px}
.process-grid li:last-child{border-right:0}
.process-grid span{font-size:11px;letter-spacing:.12em}
.process-grid h3{align-self:end;min-height:2em;margin:0 0 18px;font-size:clamp(24px,2.2vw,34px);line-height:1;letter-spacing:-.045em}
.process-grid p{min-height:3em;margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.projects{padding:10vh var(--pad)}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.project{min-width:0;padding:30px 30px 38px 0;border-bottom:1px solid var(--line)}
.project:nth-child(odd){border-right:1px solid var(--line)}
.project:nth-child(even){padding-left:30px}
.project-visual{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--deep),var(--electric));isolation:isolate}
.project-visual::before{content:"";position:absolute;inset:15%;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 60px rgba(255,255,255,.13);transform:rotate(-13deg) scale(1.2)}
.project-visual::after{content:"HB";position:absolute;right:-.08em;bottom:-.2em;font:900 clamp(110px,17vw,270px)/.8 Inter;letter-spacing:-.13em;color:rgba(255,255,255,.08)}
.project-visual>span{position:absolute;z-index:2;top:18px;left:20px;font-size:11px;letter-spacing:.12em}
.project-visual i{position:absolute;width:42%;aspect-ratio:1;right:8%;top:12%;border-radius:38% 62% 55% 45%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);transform:rotate(20deg)}
.project-copy{padding-top:25px}
.project-copy p{margin:0 0 28px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.project-copy h3{margin:0 0 30px;font-size:clamp(31px,3.5vw,54px);line-height:.96;letter-spacing:-.06em}
.project-copy a{display:inline-block;border-bottom:1px solid;padding-bottom:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:opacity .2s}
.project-copy a:hover{opacity:.6}
.team{padding:10vh var(--pad)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);border-top:1px solid var(--line)}
.team-grid article{padding-top:26px}
.portrait{position:relative;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,var(--deep),var(--electric));border:1px solid rgba(255,255,255,.14)}
.portrait::before{content:"";position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(14px)}
.portrait span{position:relative;font:900 clamp(70px,10vw,150px)/1 Inter;letter-spacing:-.13em;color:rgba(255,255,255,.14)}
.team-grid h3{margin:24px 0 10px;font-size:clamp(38px,4vw,62px);line-height:.9;letter-spacing:-.06em}
.team-grid p{margin:0;color:var(--muted);font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.contact{position:relative;min-height:100svh;overflow:hidden;padding:9vh var(--pad);display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.contact>.section-index{position:absolute;top:9vh;left:var(--pad);right:var(--pad)}
.contact-title{position:relative;z-index:2;margin:7vh 0;font:900 clamp(78px,15vw,224px)/.75 Inter;letter-spacing:-.095em}
.contact-links{position:relative;z-index:2;align-self:flex-end;width:min(620px,100%)}
.contact-links a{min-height:62px;border-bottom:2px solid;display:flex;align-items:center;justify-content:space-between;font-size:clamp(18px,2.3vw,32px)}
.contact-links a+a{margin-top:10px}
.orb-c{z-index:-1;width:38vw;height:38vw;right:-12vw;top:-10vw;background:rgba(36,24,214,.78)}
footer{padding:7vh var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;border-top:1px solid rgba(255,255,255,.1)}
.footer-brand{width:100px}
footer p{margin:0;font-size:11px;line-height:1.6;text-transform:uppercase}
footer button{justify-self:end;max-width:270px;padding:0 0 4px;border:0;border-bottom:1px solid transparent;background:none;color:inherit;font-size:10px;line-height:1.45;text-align:right;text-transform:uppercase;cursor:pointer}
footer button:hover{border-color:currentColor}
.policy{width:min(980px,calc(100% - 40px));max-height:calc(100svh - 40px);margin:auto;padding:0;border:0;background:var(--mist);color:var(--indigo);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.policy::backdrop{background:rgba(5,0,68,.82);backdrop-filter:blur(8px)}
.policy>div{position:relative;padding:clamp(30px,6vw,76px)}
.policy-close{position:sticky;z-index:2;top:0;float:right;padding:8px 0;border:0;border-bottom:1px solid;background:var(--mist);color:inherit;font:600 10px/1 Inter;text-transform:uppercase;cursor:pointer}
.policy>div>p{margin:0 0 60px;font-size:10px;letter-spacing:.12em}
.policy h2{max-width:800px;margin:0 0 70px;font:900 clamp(42px,7vw,92px)/.86 Inter;letter-spacing:-.07em}
.policy-placeholder{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 60px}
.policy-placeholder i{height:130px;border-top:1px solid;background:repeating-linear-gradient(to bottom,transparent 0 20px,rgba(1,0,128,.14) 20px 21px)}
.reveal{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.hbs-reveal-ready .reveal:not(.visible){opacity:0;transform:translateY(40px)}
.reveal.visible{opacity:1;transform:none}
.cursor{position:fixed;z-index:90;width:10px;height:10px;border-radius:50%;background:var(--white);mix-blend-mode:difference;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .12s ease}
.cursor.is-visible{opacity:1}
.cursor.over-control{opacity:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--white);outline-offset:5px}
.policy button:focus-visible{outline-color:var(--indigo)}
@media(max-width:800px){
  :root{--pad:clamp(18px,5.35vw,24px)}
  .cursor{display:none}
  .site-header{padding:max(20px,env(safe-area-inset-top)) var(--pad) 20px}
  .brand{width:82px}
  .site-header nav{position:fixed;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:90px var(--pad) 44px;background:var(--mist);color:var(--indigo);font-size:clamp(28px,9vw,40px);font-weight:700;transform:translateY(-100%);transition:transform .55s cubic-bezier(.77,0,.18,1)}
  .site-header nav.open{transform:none}
  .site-header nav a{min-width:64px;min-height:48px;display:grid;place-items:center}
  .menu{position:relative;z-index:12;width:44px;height:44px;margin-right:-10px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
  .menu span{width:22px;height:2px;background:currentColor;transition:transform .25s}
  .menu[aria-expanded="true"]{position:fixed;top:14px;right:var(--pad);color:var(--indigo)}
  .menu[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .hero{min-height:640px;padding:104px var(--pad) 28px}
  .hero-meta{font-size:9px}
  .hero-logo{width:min(82vw,470px)}
  .hero-bottom{gap:18px}
  .hero-bottom p{font-size:15px}
  .round-link{width:104px;height:104px;flex:0 0 104px}
  .round-link b{right:18px;bottom:15px}
  .orb-a{width:55vw;height:55vw}.orb-b{width:48vw;height:48vw}
  .intro,.directions,.process,.projects,.team{min-height:auto;padding:96px var(--pad)}
  .intro-content{min-height:0;padding-top:92px}
  .section-title{font-size:clamp(49px,14.5vw,66px);line-height:.87}
  .intro .section-title{margin-bottom:58px}
  .intro-grid{grid-template-columns:1fr;gap:56px}
  .intro-grid article{display:block}
  .intro-grid h3{margin-bottom:22px;font-size:clamp(29px,8.5vw,39px)}
  .intro-grid p{font-size:16px}
  .ghost-mark{top:20%;font-size:150vw}
  .statement{min-height:auto;padding:96px var(--pad)}
  .statement-title{margin:82px 0 90px;font-size:clamp(48px,14.5vw,66px);line-height:.81}
  .statement-note{align-self:flex-start;font-size:16px}
  .section-head{gap:62px;margin-bottom:64px}
  .glass-object{top:2vh;right:-42vw;width:118vw;opacity:.42}
  .directions-grid{grid-template-columns:1fr;gap:54px}
  .direction h3{margin:32px 0 26px;font-size:clamp(38px,11.5vw,52px)}
  .direction li{font-size:16px}
  .process-head{grid-template-columns:1fr;gap:30px;margin-bottom:58px}
  .process-head>div{gap:62px}
  .process-head>p{font-size:14px}
  .process-grid{grid-template-columns:1fr}
  .process-grid li,.process-grid li+li{min-height:0;padding:28px 0 30px;border-right:0;border-bottom:1px solid var(--line)}
  .process-grid h3{min-height:0;margin:34px 0 14px;font-size:clamp(27px,8vw,36px)}
  .process-grid p{min-height:0;font-size:16px}
  .projects-grid{grid-template-columns:1fr}
  .project,.project:nth-child(even){padding:30px 0 34px;border-right:0}
  .project-copy h3{font-size:clamp(32px,9.5vw,43px)}
  .team-grid{grid-template-columns:1fr;gap:0}
  .team-grid article{padding:28px 0 42px;border-bottom:1px solid var(--line)}
  .portrait{aspect-ratio:4/5}
  .team-grid h3{font-size:clamp(48px,14vw,62px)}
  .contact{min-height:auto;padding:110px var(--pad) 96px}
  .contact>.section-index{top:72px}
  .contact-title{margin:94px 0 88px;font-size:clamp(55px,17vw,76px)}
  .contact-links{width:100%}
  .contact-links a{font-size:clamp(17px,5vw,22px);overflow-wrap:anywhere}
  footer{grid-template-columns:1fr;gap:28px;padding:48px var(--pad)}
  footer button{justify-self:start;text-align:left;min-height:44px}
  .policy{width:100%;height:100%;max-height:100%;margin:0}
  .policy>div{min-height:100%;padding:24px var(--pad) 54px}
  .policy h2{font-size:clamp(38px,12vw,60px)}
  .policy-placeholder{grid-template-columns:1fr}
}
@media(max-width:380px){
  .hero{min-height:600px}
  .round-link{width:94px;height:94px;flex-basis:94px}
  .statement-title{font-size:45px}
  .contact-title{font-size:50px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .loader{display:none}
  .reveal,.hbs-reveal-ready .reveal:not(.visible){opacity:1;transform:none;transition:none}
  .glass-object{animation:none}
}
