

:root{
  --ink:#0c2231;          
  --ink-deep:#06151f;
  --mint:#eef0ea;         
  --mint-soft:#e4e8e1;
  --sage:#6f889b;         
  --tan:#e8836a;          
  --muted:#7d93a3;
  --pad:clamp(20px,5.2vw,75px);
  --wrap:1290px;
  --bar:120px;
  --disp:"Newsreader",Georgia,serif;
  --text:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--mint);
  font-family:var(--text);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:400;font-family:var(--disp)}
p{margin:0 0 1.05em}
ul{margin:0;padding:0;list-style:none}

.wrap{max-width:calc(var(--wrap) + var(--pad) * 2);margin:0 auto;padding-inline:var(--pad)}
.center{display:flex;justify-content:center}

.topbar{
  position:fixed;inset:0 0 auto 0;height:var(--bar);z-index:60;
  display:flex;align-items:center;padding-inline:var(--pad);
  pointer-events:none;
  
  background:linear-gradient(180deg,rgba(12,34,49,.70),rgba(12,34,49,0));
}
.topbar::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(#000 52%,rgba(0,0,0,.55) 78%,transparent);
  mask-image:linear-gradient(#000 52%,rgba(0,0,0,.55) 78%,transparent);
}
.topbar>*{position:relative;pointer-events:auto}
.brand{width:78px;flex:0 0 auto}
.brand svg{width:100%;height:auto;fill:none;stroke:var(--mint);stroke-width:5.2;stroke-linejoin:miter}

.mainnav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:628px}
.mainnav ul{display:flex;justify-content:space-between;align-items:baseline}
.mainnav a{
  font-size:15px;letter-spacing:.005em;color:rgba(238,240,234,.68);
  transition:color .22s ease;white-space:nowrap;
}
.mainnav a:hover,.mainnav a.is-active{color:#fff}
.navtrack{position:absolute;left:0;right:0;bottom:-14px;height:1px;background:rgba(238,240,234,.22);display:block}

.navfill{position:absolute;left:0;top:-.5px;height:2px;width:100px;background:var(--mint);display:block;transform-origin:0 50%;transform:scaleX(.06);transition:transform .25s ease}

.lang{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:15px;color:rgba(238,240,234,.85);cursor:pointer}
.lang svg{width:11px;height:8px}
.burger{display:none;margin-left:auto;width:34px;height:22px;flex-direction:column;justify-content:space-between;padding:4px 0}
.burger span{display:block;height:1.6px;background:var(--mint);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.burger[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}

.drawer{
  position:fixed;inset:var(--bar) 0 auto 0;z-index:55;background:var(--ink);
  padding:14px var(--pad) 30px;display:flex;flex-direction:column;gap:2px;
  border-bottom:1px solid rgba(238,240,234,.14);
}
.drawer[hidden]{display:none}
.drawer a{font-family:var(--disp);font-size:26px;padding:9px 0;color:var(--mint)}

.hero{position:fixed;inset:0;height:100svh;z-index:0;background:var(--ink);overflow:hidden}
.hero-photo{
  position:absolute;inset:0 0 0 50%;
  background:url("./assets/hero-bg.jpg") center/cover no-repeat;
}
.hero-photo::after{content:"";position:absolute;inset:0;background:rgba(12,34,49,.46)}
.hero-inner{position:absolute;inset:0;padding:0 var(--pad)}
.hero-title{
  position:absolute;left:var(--pad);top:calc(var(--bar) + 35px);
  font-size:clamp(30px,3.3vw,47px);line-height:1.11;letter-spacing:.004em;color:var(--mint);
}
.hero-card{
  position:absolute;left:50%;top:55.2%;width:min(410px,86vw);aspect-ratio:16/9;
  transform:translate(-50%,-50%) scale(var(--heroScale,1));
  transform-origin:50% 50%;overflow:hidden;
}
.hero-card video{width:100%;height:100%;object-fit:cover}
.playbtn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:50%;background:var(--mint-soft);color:var(--ink);
  display:grid;place-items:center;transition:transform .28s cubic-bezier(.2,.7,.3,1)
}
.playbtn svg{width:21px;height:21px}
.playbtn:hover{transform:translate(-50%,-50%) scale(1.1)}
.hero-sub{
  position:absolute;left:var(--pad);bottom:188px;margin:0;max-width:345px;
  font-size:19px;line-height:1.5;
}
.pill{
  display:inline-flex;align-items:center;justify-content:center;
  height:63px;padding:0 34px;border-radius:999px;
  background:var(--mint-soft);color:var(--ink);font-size:15px;
  transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.pill:hover{transform:scale(1.045)}
.hero-inner .pill{position:absolute;left:var(--pad);bottom:60px}
.pill--dark{background:var(--ink);color:var(--mint)}
.hero-spacer{height:100svh}

.page{position:relative;z-index:2}

.pin{position:sticky;top:0;height:100svh;overflow:hidden}
.s-line{height:230svh;background:var(--ink)}
.s-line .pin{display:grid;place-items:center}
.linehead{
  font-size:clamp(28px,4.5vw,64px);line-height:1.16;text-align:center;color:var(--sage);
  padding-inline:var(--pad);
}
.linehead span{display:block;opacity:.14;transition:opacity .45s ease}
.linehead span.on{opacity:1}

.s-gallery{height:420svh;background:var(--ink)}
.s-gallery .pin{display:flex;align-items:center}
.galtrack{display:flex;gap:36px;will-change:transform}
.galtrack figure{margin:0;flex:0 0 auto;width:min(1044px,72vw)}
.galtrack img{width:100%;aspect-ratio:2/1;object-fit:cover}

.s-manifest{height:420svh;background:var(--ink)}
.manifest-bg{
  position:absolute;inset:0;
  background:url("./assets/manifest-bg.jpg") center/cover no-repeat;
}
.manifest-bg::after{content:"";position:absolute;inset:0;background:rgba(12,34,49,.30)}
.manifest-head{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;padding-inline:var(--pad);text-align:center;
  font-size:clamp(26px,4.2vw,60px);line-height:1.18;letter-spacing:.02em;color:var(--mint);
}
.floaters{position:absolute;inset:0}
.floaters img{
  position:absolute;left:var(--x);width:var(--w);height:auto;
  top:calc(var(--y) + 100% + (var(--s) * 150%) - (var(--fp,0) * 300%));
  will-change:top;
}
@media (max-width:899px){.floaters img{width:calc(var(--w) * .55)}}

.s-foil{
  background:#d9dcd6 url("./assets/foil-bg.jpg") center/cover no-repeat;
  color:var(--ink);padding:120px 0 130px;
}
.foil-grid{display:grid;grid-template-columns:410px 1fr;gap:0 96px;align-items:start}
.foil-stage{position:relative;width:100%;aspect-ratio:412/512;overflow:hidden;background:var(--ink)}
.foil-stage>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease}
.foil-stage>.on{opacity:1}
.foil-ctl{display:flex;align-items:center;gap:14px;margin-top:26px}
.pausebtn{
  width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--mint);
  display:grid;place-items:center;transition:transform .25s ease
}
.pausebtn svg{width:20px;height:20px}
.pausebtn:hover{transform:scale(1.1)}
.dots{display:flex;align-items:center;gap:20px;height:38px;padding:0 22px;border-radius:999px;background:var(--ink)}

.dots i{display:block;width:7px;height:7px;border-radius:999px;background:rgba(238,240,234,.35);transition:background .35s ease}
.dots i.on{width:34px;background:var(--mint)}
.foil-text{width:410px;max-width:100%;margin-left:auto;padding-left:38px;border-left:1px solid rgba(12,34,49,.35)}
.foil-text p{font-size:17px;line-height:1.62}
.foil-text p:last-child{margin-bottom:0}

.s-wheel{height:330svh;background:var(--ink)}
.wheel-head{
  position:absolute;left:var(--pad);top:calc(var(--bar) + 35px);
  font-size:clamp(28px,4.4vw,64px);color:var(--mint);
}
.ring{position:absolute;left:50%;top:105%;width:1090px;height:1090px;transform:translate(-50%,-50%)}
.ring-line{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(238,240,234,.16)}
.ring-rot{position:absolute;inset:0;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.node{
  position:absolute;left:50%;top:50%;width:0;height:0;
  transform:rotate(calc(var(--i) * 60deg - 90deg)) translate(545px,0);
}
.badge{
  position:absolute;left:-21px;top:-21px;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;font-family:var(--disp);font-size:17px;
  border:1px solid rgba(238,240,234,.42);color:rgba(238,240,234,.6);
  transform:rotate(90deg);
  transition:background .4s ease,color .4s ease,border-color .4s ease;
}
.node.on .badge{background:var(--mint);color:var(--ink);border-color:var(--mint)}
.tick{position:absolute;left:-42px;top:-3.5px;width:7px;height:7px;border-radius:50%;background:var(--tan);opacity:0;transition:opacity .4s ease}
.node.on .tick{opacity:1}
.spoke{
  position:absolute;left:50%;top:50%;width:1px;height:133px;background:rgba(238,240,234,.3);
  transform:translate(-50%,-545px) translateY(42px);
}
.wheel-copy{position:absolute;left:50%;top:68%;transform:translateX(-50%);width:min(600px,86vw);text-align:center}
.wheel-copy article{position:absolute;left:0;right:0;top:0;opacity:0;transition:opacity .5s ease;pointer-events:none}
.wheel-copy article.on{opacity:1}
.wheel-copy h3{font-size:clamp(22px,2.3vw,32px);color:var(--tan);margin-bottom:.55em;letter-spacing:.01em}
.wheel-copy p{font-size:16px;line-height:1.7;color:rgba(238,240,234,.9);margin:0}

.s-weare{height:300svh;background:var(--mint);color:var(--ink)}
.s-weare .pin{display:grid;place-items:center}
.weare-card{
  position:absolute;left:50%;top:50%;
  width:calc(774px + var(--grow,0) * 1400px);
  height:calc(482px + var(--grow,0) * 900px);
  max-width:none;transform:translate(-50%,-50%);
  background:var(--ink) url("./assets/topo.svg") center/cover no-repeat;
  overflow:hidden;
}
.weare-head{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100vw;max-width:1440px;text-align:center;padding-inline:var(--pad);
  font-size:clamp(24px,4.4vw,63px);line-height:1.2;letter-spacing:.005em;white-space:nowrap;
}
.weare-head--out{color:var(--ink);z-index:0}
.weare-head--in{color:var(--sage)}
.weare-card{z-index:1}
@media (max-width:1100px){.weare-head{white-space:normal;font-size:clamp(22px,5vw,38px)}}

.s-cta{
  background:var(--ink) url("./assets/topo.svg") center/cover no-repeat;
  padding:150px 0 160px;text-align:center;
}
.s-cta p{font-family:var(--disp);font-size:clamp(22px,2.4vw,34px);line-height:1.3;max-width:760px;margin:0 auto 42px;color:var(--mint)}

.head-xl{font-size:clamp(30px,4.4vw,63px);line-height:1.15;margin-bottom:.9em}
.lead{font-family:var(--text);font-weight:600;font-size:19px;margin-bottom:1em}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.7,.3,1)}
.reveal.on{opacity:1;transform:none}

.s-portfolio{background:var(--mint);color:var(--ink);padding:120px 0 130px}
.pfgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:64px}
.pfgrid figure{position:relative;margin:0;overflow:hidden}
.pfgrid img{width:100%;aspect-ratio:960/635;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.pfgrid figure:hover img{transform:scale(1.045)}
.pfgrid figcaption{position:absolute;left:22px;bottom:20px;display:flex;flex-wrap:wrap;gap:8px}
.pfgrid figcaption span{
  background:var(--mint-soft);color:var(--ink);
  font-size:12px;letter-spacing:.09em;padding:7px 13px;
}

.s-services{background:var(--mint);color:var(--ink);padding:120px 0 0}
.svc-wide,.svc-card{position:relative;display:block;overflow:hidden;color:var(--mint)}
.svc-wide{height:300px;margin-bottom:2px}
.svc-card{aspect-ratio:300/410}
.svc-wide img,.svc-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1);transition:transform .8s cubic-bezier(.2,.7,.3,1);
}
.svc-wide::after,.svc-card::after{content:"";position:absolute;inset:0;background:rgba(12,34,49,.42);mix-blend-mode:multiply}
.svc-wide:hover img,.svc-card:hover img{transform:scale(1.05)}
.svc-no{position:absolute;left:30px;top:26px;z-index:2;font-size:15px}
.svc-name{position:absolute;left:30px;bottom:24px;z-index:2;font-family:var(--disp);font-size:clamp(20px,2vw,30px);line-height:1.15;max-width:80%}
.arrow{
  width:58px;height:58px;border-radius:50%;background:var(--mint-soft);color:var(--ink);
  display:grid;place-items:center;flex:0 0 auto;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),background .3s ease;
}
.arrow svg{width:24px;height:24px}
.svc-wide .arrow,.svc-card .arrow{position:absolute;right:30px;top:26px;z-index:2}
.svc-wide:hover .arrow,.svc-card:hover .arrow{transform:rotate(45deg) scale(1.06)}
.svc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-bottom:110px}
.svc-list{background:var(--ink);color:var(--mint);margin:0 calc(50% - 50vw);padding:0 max(var(--pad),calc(50vw - var(--wrap)/2)) 120px}
.svc-list li{border-bottom:1px solid rgba(238,240,234,.16)}
.svc-list li:first-child{border-top:1px solid rgba(238,240,234,.16)}
.svc-list a{display:grid;grid-template-columns:440px 1fr auto;align-items:center;gap:20px;padding:18px 0}
.svc-list .svc-no,.svc-list .svc-name{position:static}
.svc-list .svc-no{font-size:18px;color:rgba(238,240,234,.85)}
.svc-list .svc-name{font-size:clamp(22px,2.3vw,33px);max-width:none}
.svc-list a:hover .svc-name{color:#fff}
.svc-list a:hover .arrow{transform:rotate(45deg) scale(1.06)}

.s-team{background:var(--mint);color:var(--ink);padding:120px 0 130px}
.team-intro{display:grid;grid-template-columns:410px 1fr;gap:0 96px;margin-bottom:90px}
.team-intro figure{margin:0}
.team-intro img{width:100%;aspect-ratio:410/588;object-fit:cover}
.team-copy{width:410px;max-width:100%;margin-left:auto;padding-left:38px;border-left:1px solid rgba(12,34,49,.35)}
.team-copy .lead{font-family:var(--text);font-weight:400;font-size:19px;line-height:1.5}
.team-copy p:last-child{font-size:16px;color:rgba(12,34,49,.78);margin-bottom:0}
.tabs{display:flex;gap:36px;margin-bottom:54px;flex-wrap:wrap}
.tab{font-size:16px;padding-bottom:9px;border-bottom:1.5px solid transparent;color:rgba(12,34,49,.6);transition:color .25s ease,border-color .25s ease}
.tab:hover{color:var(--ink)}
.tab.is-on{color:var(--ink);border-color:var(--ink)}
.teamgrid{display:grid;grid-template-columns:300px 300px;justify-content:center;gap:129px 250px}
.teamgrid>*:nth-child(even){transform:translateY(-99px)}
.member .shot{position:relative;display:block;overflow:hidden}
.member img{width:100%;aspect-ratio:680/850;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.member:hover img{transform:scale(1.04)}
.member .arrow{position:absolute;right:20px;top:20px;width:54px;height:54px}
.member:hover .arrow{transform:rotate(45deg) scale(1.06)}
.member h3{font-family:var(--text);font-weight:500;font-size:23px;margin:20px 0 6px}
.member p{font-size:12.5px;letter-spacing:.09em;font-weight:600;margin:0;color:rgba(12,34,49,.82)}
.joincard{
  width:410px;background:var(--ink);color:var(--mint);padding:52px 42px 42px;
  display:flex;flex-direction:column;justify-content:space-between;min-height:390px;
}
.joincard h3{font-size:clamp(24px,2.2vw,33px);line-height:1.24}
.joinrow{display:inline-flex;align-items:center;gap:18px;font-family:var(--disp);font-size:clamp(20px,1.8vw,27px)}
.joinrow .arrow{width:52px;height:52px}
.joincard:hover .arrow,.joinrow:hover .arrow{transform:rotate(45deg) scale(1.06)}

.s-pricing{background:var(--mint);color:var(--ink);padding:120px 0 130px}
.s-pricing>.wrap>p{max-width:1250px;font-size:16.5px}
.tabs--line{margin-top:56px;border-bottom:0}
.priceitem{border-top:1px solid rgba(12,34,49,.25)}
.pricehead{display:flex;width:100%;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;text-align:left}
.pricename{font-family:var(--disp);font-size:clamp(20px,1.9vw,28px)}
.priceval{font-family:var(--disp);font-size:clamp(20px,1.9vw,28px);white-space:nowrap}
.pricehead:hover .pricename{opacity:.7}
.pricebody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}
.priceitem.is-open .pricebody{grid-template-rows:1fr}
.pricebody>*{overflow:hidden}
.pricebody li{position:relative;padding:0 0 18px 22px;font-size:16.5px}
.pricebody li::before{content:"–";position:absolute;left:0;top:0}
.pricebody .note{color:rgba(12,34,49,.62);font-size:16px;padding-top:6px;padding-bottom:34px}

.s-faq{background:var(--mint);color:var(--ink);padding:120px 0 130px}
.faqgroup{border-bottom:1px solid rgba(12,34,49,.22)}
.faqgroup:first-of-type{border-top:1px solid rgba(12,34,49,.22)}
.grouphead{
  display:flex;width:100%;justify-content:space-between;align-items:center;
  padding:30px 0;font-family:var(--disp);font-size:clamp(22px,2vw,30px);text-align:left;
}
.grouphead:hover{opacity:.7}
.plus{position:relative;width:26px;height:26px;flex:0 0 auto}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;background:currentColor;transition:transform .3s ease}
.plus::before{width:26px;height:1.6px;transform:translate(-50%,-50%)}
.plus::after{width:1.6px;height:26px;transform:translate(-50%,-50%)}
.faqgroup.is-open .plus::after{transform:translate(-50%,-50%) scaleY(0)}
.groupbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}
.faqgroup.is-open .groupbody{grid-template-rows:1fr}
.groupbody>*{overflow:hidden}
.qa{border-top:1px solid rgba(12,34,49,.14)}
.qhead{display:block;width:100%;text-align:left;padding:20px 0;font-size:17px}
.qhead:hover{opacity:.65}
.qbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}
.qa.is-open .qbody{grid-template-rows:1fr}
.qbody>*{overflow:hidden}
.qbody p{font-size:16.5px;color:rgba(12,34,49,.82)}
.qbody p:last-child{padding-bottom:20px}

.s-contacts{background:var(--mint);color:var(--ink);padding:120px 0 0}
.mapgrid{display:grid;grid-template-columns:880px 1fr;gap:0 76px;align-items:start;margin-top:40px}
.mapgrid figure{margin:0}
.mapgrid img{width:100%;height:auto}
.mapgrid>p{max-width:400px;padding-left:38px;border-left:1px solid rgba(12,34,49,.35);font-size:16.5px;align-self:end}
.location{margin:96px 0 0}
.location img{width:100%;aspect-ratio:2580/620;object-fit:cover}

.s-footer{background:var(--ink);color:var(--mint);padding:110px 0 60px;margin-top:110px}
.footgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 76px}
.footlogo img{width:100%;max-width:590px;height:auto}
.footcols{display:grid;grid-template-columns:1fr;gap:44px}
.footblock h4{font-size:12.5px;letter-spacing:.1em;font-family:var(--text);font-weight:600;color:var(--muted);margin-bottom:16px}
.bigline{
  display:block;font-family:var(--disp);font-size:clamp(23px,2vw,32px);
  padding-bottom:14px;margin-bottom:14px;border-bottom:1px dashed rgba(238,240,234,.42);
  transition:color .25s ease;
}
.bigline:hover{color:#fff}
.bigline.plain{border-bottom:0;padding-bottom:0;margin-bottom:16px;line-height:1.25}
.small{font-size:15.5px;line-height:1.62;color:rgba(238,240,234,.86)}
.dashlist li{position:relative;padding-left:20px}
.dashlist li::before{content:"–";position:absolute;left:0}
.footblock .joinrow{margin-top:22px;font-size:clamp(20px,1.7vw,26px)}
.footbottom{margin-top:80px}
.social{display:flex;gap:22px;float:left}
.social a{width:26px;height:26px;color:var(--mint);transition:opacity .25s ease}
.social a:hover{opacity:.65}
.social svg{width:100%;height:100%}
.privacy{float:right;font-size:15.5px;transition:color .25s ease}
.privacy:hover{color:#fff}
.footbottom hr{clear:both;border:0;border-top:1px solid rgba(238,240,234,.2);margin:34px 0 22px}
.copy{font-size:13px;letter-spacing:.07em;color:var(--muted);margin:0}

@media (max-width:1100px){
  .mainnav{display:none}
  .burger{display:flex}
  .lang{margin-left:auto;margin-right:22px}
  .burger{margin-left:0}
  .foil-grid,.team-intro{grid-template-columns:1fr;gap:44px}
  .foil-text,.team-copy{width:auto;max-width:none;margin-left:0}
  .svc-row{grid-template-columns:repeat(2,1fr);gap:22px}
  .svc-list a{grid-template-columns:64px 1fr auto}
  .teamgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px}
  .teamgrid>*:nth-child(even){transform:none}
  .joincard{width:auto}
  .mapgrid{grid-template-columns:1fr;gap:32px}
  .mapgrid>p{padding-left:26px;max-width:none}
  .footgrid{grid-template-columns:1fr;gap:56px}
  .ring{width:820px;height:820px;top:112%}
  .node{transform:rotate(calc(var(--i) * 60deg - 90deg)) translate(410px,0)}
  .spoke{transform:translate(-50%,-410px) translateY(42px);height:100px}
}

@media (max-width:640px){
  body{font-size:16px}
  :root{--bar:88px}
  .brand{width:62px}
  .lang{display:none}
  .burger{margin-left:auto}
  .hero-title{top:calc(var(--bar) + 14px);font-size:26px}
  .hero-card{width:calc(100% - var(--pad) * 2);left:var(--pad);transform:translateY(-50%) scale(var(--heroScale,1));transform-origin:50% 50%}
  .hero-sub{bottom:150px;font-size:17px;max-width:280px}
  .hero-inner .pill{bottom:46px;height:56px;padding:0 26px}
  .playbtn{width:48px;height:48px}
  .playbtn svg{width:21px;height:21px}
  .s-line{height:200svh}
  .s-gallery{height:300svh}
  .galtrack{gap:18px}
  .galtrack figure{width:88vw}
  .s-manifest{height:320svh}
  .s-foil,.s-portfolio,.s-services,.s-team,.s-pricing,.s-faq,.s-contacts{padding-top:76px}
  .s-foil,.s-portfolio,.s-team,.s-pricing,.s-faq{padding-bottom:84px}
  .s-cta{padding:96px 0 100px}
  .foil-text{padding-left:20px}
  .pfgrid{grid-template-columns:1fr 1fr;gap:2px}
  .pfgrid figcaption{left:10px;bottom:10px;gap:5px}
  .pfgrid figcaption span{font-size:10px;padding:5px 8px}
  .svc-row{grid-template-columns:1fr;gap:16px}
  .svc-card{aspect-ratio:3/2}
  .svc-wide{height:220px}
  .svc-wide .arrow,.svc-card .arrow{width:46px;height:46px;right:18px;top:18px}
  .svc-no{left:18px;top:16px}
  .svc-name{left:18px;bottom:16px}
  .svc-list{padding-bottom:78px}
  .svc-list a{grid-template-columns:44px 1fr auto;gap:12px;padding:14px 0}
  .svc-list .arrow{width:44px;height:44px}
  .teamgrid{grid-template-columns:minmax(0,1fr);gap:44px}
  .joincard{min-height:0;padding:36px 26px 30px}
  .tabs{gap:22px}
  .team-copy,.foil-text{padding-left:18px}
  .location{margin-top:56px}
  .location img{aspect-ratio:3/2}
  .s-footer{padding:76px 0 46px;margin-top:76px}
  .ring{width:600px;height:600px;top:92%}
  .node{transform:rotate(calc(var(--i) * 60deg - 90deg)) translate(300px,0)}
  .badge{left:-17px;top:-17px;width:34px;height:34px;font-size:14px}
  .tick{left:-32px}
  .spoke{transform:translate(-50%,-300px) translateY(34px);height:86px}
  .wheel-head{font-size:26px;top:calc(var(--bar) + 14px)}
  .wheel-copy{top:64%;width:calc(100% - var(--pad) * 2)}
  .wheel-copy h3{font-size:21px}
  .wheel-copy p{font-size:15px}
  .weare-card{width:calc(88vw + var(--grow,0) * 120vw);height:calc(230px + var(--grow,0) * 700px)}
  .drawer a{font-size:22px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

.linehead span{text-wrap:balance}
@media (max-width:1100px) and (min-width:641px){.wheel-copy{top:34%}}
@media (max-width:640px){.pfgrid figure:last-child:nth-child(odd){grid-column:1/-1}}
