@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@300;400;500;600;700&family=Syne:wght@500;600;700&display=swap');

:root{
  --black:#060808;
  --black2:#0d1010;
  --white:#f2f0e9;
  --paper:#dedbd2;
  --grey:#8a8f8d;
  --line:rgba(242,240,233,.16);
  --red:#ff3b30;
  --acid:#c7ff41;
  --mono:"DM Mono",monospace;
  --sans:"Manrope",sans-serif;
  --display:"Syne",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black);overflow-x:clip;max-width:100vw}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);overflow-x:clip;width:100%;max-width:100vw}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:auto}
button{font:inherit}
::selection{background:var(--red);color:#fff}

.grain{position:fixed;inset:-50%;z-index:1000;pointer-events:none;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");animation:noise .22s steps(2) infinite}
@keyframes noise{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(-2%,-1%)}}
.vignette{position:fixed;inset:0;z-index:999;pointer-events:none;box-shadow:inset 0 0 130px rgba(0,0,0,.22)}
.cursor{position:fixed;z-index:1200;width:36px;height:36px;border:1px solid rgba(255,255,255,.75);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:width .2s,height .2s,border-color .2s,background .2s}
.cursor:before,.cursor:after{content:"";position:absolute;background:rgba(255,255,255,.55)}
.cursor:before{width:8px;height:1px;left:50%;top:50%;transform:translate(-50%,-50%)}
.cursor:after{width:1px;height:8px;left:50%;top:50%;transform:translate(-50%,-50%)}
.cursor.active{width:58px;height:58px;border-color:var(--red);background:rgba(255,59,48,.08)}

.page-loader{position:fixed;z-index:5000;inset:0;background:#050606;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .65s ease,visibility .65s ease}
.page-loader.done{opacity:0;visibility:hidden}
.loader-logo{font-family:var(--display);font-size:clamp(28px,5vw,72px);font-weight:700;letter-spacing:-.04em}
.loader-logo span{color:var(--red)}
.loader-bar{width:min(420px,70vw);height:1px;background:#252828;margin-top:25px;overflow:hidden}
.loader-bar i{display:block;width:0;height:100%;background:var(--red);animation:load 1.25s ease forwards}
@keyframes load{to{width:100%}}
.loader-meta{width:min(420px,70vw);display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.12em;color:#727776;margin-top:10px}

.site-header{position:fixed;z-index:200;top:0;left:0;right:0;width:100%;max-width:100vw;box-sizing:border-box;height:82px;padding:0 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);transition:.35s;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent)}
.site-header.scrolled{height:68px;background:rgba(6,8,8,.84);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.09)}
.logo{display:flex;align-items:baseline;gap:10px;font-family:var(--display)}
.logo b{font-size:20px;letter-spacing:-.04em}
.logo span{font:8px var(--mono);letter-spacing:.15em;color:#aaa}
.desktop-nav{display:flex;gap:30px}
.desktop-nav a{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#c3c5c2;transition:.2s}
.desktop-nav a:hover{color:var(--red)}
.header-cta{justify-self:end;display:flex;gap:18px;align-items:center;border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:10px 14px 10px 17px;font:9px var(--mono);letter-spacing:.1em;transition:.25s}
.header-cta b{font-size:14px;color:var(--red)}
.header-cta:hover{background:var(--white);color:var(--black)}
.menu-btn{display:none;justify-self:end;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:none;position:relative}
.menu-btn span{position:absolute;width:15px;height:1px;background:white;left:11px;transition:.25s}
.menu-btn span:first-child{top:15px}.menu-btn span:last-child{top:21px}
.menu-btn.open span:first-child{top:18px;transform:rotate(45deg)}.menu-btn.open span:last-child{top:18px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;z-index:150;inset:0;background:#090b0b;padding:110px 7vw 50px;transform:translateY(-105%);transition:.55s cubic-bezier(.77,0,.18,1);display:flex;flex-direction:column;justify-content:center}
.mobile-menu.open{transform:none}
.mobile-menu-no{position:absolute;top:105px;left:7vw;font:9px var(--mono);letter-spacing:.12em;color:#777}
.mobile-menu a{font-family:var(--display);font-size:clamp(38px,9vw,70px);font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);padding:15px 0;display:flex;justify-content:space-between}
.mobile-menu a span{font:9px var(--mono);color:#777;padding-top:12px}

.hero{height:100svh;min-height:780px;position:relative;overflow:hidden;background:#050707}
.hero-image,.hero-image img,.hero-overlay,.hero-grid{position:absolute;inset:0;width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:center center;transform:scale(1.045);animation:heroDrift 16s ease-in-out infinite alternate}
@keyframes heroDrift{to{transform:scale(1.11) translateX(-1.2%)}}
.hero-overlay{background:linear-gradient(90deg,rgba(3,5,5,.89) 0%,rgba(3,5,5,.61) 41%,rgba(3,5,5,.08) 75%),linear-gradient(0deg,rgba(3,5,5,.68) 0%,transparent 40%)}
.hero-grid{opacity:.11;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:25% 25%}
.frame{position:absolute;z-index:4;width:26px;height:26px;opacity:.55}
.frame-tl{top:112px;left:3vw;border-top:1px solid #fff;border-left:1px solid #fff}
.frame-tr{top:112px;right:3vw;border-top:1px solid #fff;border-right:1px solid #fff}
.frame-bl{bottom:86px;left:3vw;border-bottom:1px solid #fff;border-left:1px solid #fff}
.frame-br{bottom:86px;right:3vw;border-bottom:1px solid #fff;border-right:1px solid #fff}
.recording-ui{position:absolute;z-index:5;top:108px;left:7vw;right:7vw;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.65)}
.rec{color:#fff}.rec i{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:6px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
.hero-copy{position:absolute;z-index:6;left:7vw;top:50%;transform:translateY(-45%);max-width:1180px}
.overline{font:10px var(--mono);letter-spacing:.16em;color:#b6bbb8;margin:0 0 22px}
.hero h1{font-family:var(--display);font-weight:600;letter-spacing:-.065em;font-size:clamp(62px,8vw,133px);line-height:.82;margin:0}
.hero h1 em{font-style:normal;color:var(--red)}
.hero h1 strong{font-weight:600;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.76)}
.hero-lead{max-width:750px;font-size:clamp(15px,1.25vw,19px);line-height:1.62;color:#c1c5c1;margin:32px 0 28px}
.hero-lead b{color:white;font-weight:500}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:100px;padding:15px 20px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;min-width:225px;transition:.25s}
.btn b{font-size:16px}
.btn-red{background:var(--red);color:white}
.btn-red:hover{background:#e8251c}
.btn-line{border:1px solid rgba(255,255,255,.3)}
.btn-line:hover{background:white;color:black}
.hero-side-label{position:absolute;z-index:5;right:1.4vw;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right center;font:8px var(--mono);letter-spacing:.18em;color:#a7aaa8}
.hero-bottom{position:absolute;z-index:5;left:7vw;right:7vw;bottom:26px;display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:35px;align-items:end}
.hero-bottom div{display:flex;flex-direction:column;gap:3px}
.hero-bottom span{font:7px var(--mono);letter-spacing:.12em;color:#737977}
.hero-bottom b{font:9px var(--mono);font-weight:400;letter-spacing:.08em}
.hero-bottom>a{justify-self:end;font:8px var(--mono);letter-spacing:.12em;color:#a9adaa}.hero-bottom>a i{font-style:normal;color:var(--red);margin-left:10px}

.film-strip{height:83px;background:#111414;border-top:1px solid #252929;border-bottom:1px solid #252929;overflow:hidden;position:relative;padding:0}
.perfs{position:absolute;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,transparent 0 24px,#3b3f3e 24px 38px,transparent 38px 56px);opacity:.75}
.perfs.top{top:5px}.perfs.bottom{bottom:5px}
.strip-track{height:100%;display:inline-flex;align-items:center;gap:24px;white-space:nowrap;animation:ticker 28s linear infinite;font:10px var(--mono);letter-spacing:.13em;color:#aeb2b0;padding-top:1px}
.strip-track i{font-style:normal;color:var(--red);font-size:7px}
@keyframes ticker{to{transform:translateX(-50%)}}

.section{padding:130px 7vw}
.section-code{display:grid;grid-template-columns:45px 1fr auto;align-items:center;border-top:1px solid rgba(255,255,255,.16);padding-top:14px;font:9px var(--mono);letter-spacing:.12em;color:#757a78;margin-bottom:75px}
.section-code span{color:var(--red)}.section-code b{font-weight:400;color:#b8bbb9}.section-code em{font-style:normal}
.section-code.light{border-color:rgba(255,255,255,.28)}.section-code.light b,.section-code.light em{color:#d1d3cf}
.mega{font-family:var(--display);font-size:clamp(58px,8vw,132px);line-height:.86;letter-spacing:-.065em;font-weight:600;margin:0}
.mega em{font-style:normal;color:var(--red)}
.manifesto{background:var(--black)}
.manifesto-small{font:10px var(--mono);letter-spacing:.13em;color:#777;margin:0 0 20px}
.manifesto .mega span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.75)}
.manifesto-bottom{margin:85px 0 0 auto;max-width:950px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.manifesto-bottom p{font-size:17px;line-height:1.75;color:#8f9592;margin:0}
.manifesto-bottom strong{font-weight:500;color:#e3e2dc}

.showcase{padding:0 3vw 140px;background:var(--black)}
.scene{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;margin-bottom:140px}
.scene-b{grid-template-columns:.8fr 1.2fr}
.scene-media{position:relative;overflow:hidden;background:#111}
.scene-a .scene-media{height:78vh;min-height:650px}
.scene-b .scene-media{height:76vh;min-height:630px}
.scene-media img{width:100%;height:112%;object-fit:cover;transform:translateY(-5%) scale(1.01)}
.scene-number{position:absolute;top:14px;left:14px;background:rgba(5,7,7,.75);backdrop-filter:blur(8px);padding:7px 9px;font:8px var(--mono);letter-spacing:.1em}
.scene-copy{max-width:610px}
.scene-copy>span{font:8px var(--mono);letter-spacing:.15em;color:var(--red)}
.scene-copy h3,.wide-caption h3{font-family:var(--display);font-size:clamp(47px,5vw,85px);line-height:.91;letter-spacing:-.055em;margin:19px 0 27px}
.scene-copy h3 em,.wide-caption h3 em{font-style:normal;color:var(--red)}
.scene-copy p{font-size:16px;line-height:1.75;color:#8c9290;max-width:520px}
.scene-wide{display:block;position:relative;margin-bottom:0}
.scene-wide .scene-media{height:78vh;min-height:650px}
.scene-wide .scene-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}
.wide-caption{position:absolute;left:4vw;bottom:4vw;z-index:4}
.wide-caption p,.wide-caption span{font:8px var(--mono);letter-spacing:.15em;color:#c4c7c4}
.wide-caption h3{margin:12px 0 15px;font-size:clamp(43px,5vw,80px)}

.services{background:#e1dfd7;color:#0a0c0c}
.services .section-code{border-color:rgba(0,0,0,.18);color:#787b78}.services .section-code b{color:#222}
.services-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:80px}
.services-head .mega em{color:var(--red)}
.services-head p{font-size:18px;line-height:1.7;color:#686b68;max-width:600px}
.service-list{border-top:1px solid rgba(0,0,0,.18)}
.service-item{position:relative;display:grid;grid-template-columns:70px 1fr 90px 35px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid rgba(0,0,0,.18);overflow:hidden;transition:.3s}
.service-item:before{content:attr(data-word);position:absolute;right:8%;font-family:var(--display);font-size:120px;font-weight:700;color:rgba(0,0,0,.03);letter-spacing:-.06em;opacity:0;transform:translateY(30%);transition:.35s}
.service-item:hover:before{opacity:1;transform:none}
.service-item:hover{padding-left:12px}
.service-no{font:9px var(--mono);color:var(--red)}
.service-item h3{font-family:var(--display);font-size:clamp(25px,3vw,42px);letter-spacing:-.04em;margin:0 0 5px}
.service-item p{font-size:13px;color:#6e706d;margin:0}
.service-item>b{font-family:var(--display);font-size:28px;font-weight:500;color:#8c8c84;text-align:center}.service-item>i{font-style:normal;font-size:20px}
.legal-note{font:10px/1.6 var(--mono);color:#747771;max-width:900px;margin:25px 0 0}

.bts{height:100svh;min-height:780px;position:relative;overflow:hidden}
.bts-image,.bts-image img,.bts-overlay{position:absolute;inset:0;width:100%;height:100%}
.bts-image img{object-fit:cover;height:112%;transform:translateY(-5%)}
.bts-overlay{background:linear-gradient(90deg,rgba(4,6,6,.88),rgba(4,6,6,.38) 58%,rgba(4,6,6,.08)),linear-gradient(0deg,rgba(4,6,6,.4),transparent)}
.bts-copy{position:absolute;z-index:4;left:7vw;top:50%;transform:translateY(-50%);width:min(900px,72vw)}
.bts-copy .section-code{margin-bottom:48px}
.bts-copy .mega{font-size:clamp(57px,7vw,112px)}
.bts-copy p{font-size:17px;line-height:1.7;color:#c2c5c1;max-width:650px;margin-top:32px}
.focus-box{position:absolute;z-index:4;right:9vw;top:24%;width:24vw;height:42vh;min-width:250px;min-height:300px}
.focus-box span{position:absolute;width:34px;height:34px}.f-tl{left:0;top:0;border-left:1px solid white;border-top:1px solid white}.f-tr{right:0;top:0;border-right:1px solid white;border-top:1px solid white}.f-bl{left:0;bottom:0;border-left:1px solid white;border-bottom:1px solid white}.f-br{right:0;bottom:0;border-right:1px solid white;border-bottom:1px solid white}
.focus-box i{position:absolute;bottom:-25px;right:0;font:8px var(--mono);letter-spacing:.12em;color:#d4d5d2;font-style:normal}

.process{background:var(--black)}
.process-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:8vw}
.process-intro{position:sticky;top:130px;align-self:start}
.process-intro .mega{font-size:clamp(54px,6vw,98px)}
.process-intro>p{font-size:17px;line-height:1.7;color:#858b88;max-width:550px;margin-top:35px}
.timeline{border-top:1px solid var(--line)}
.timeline-item{display:grid;grid-template-columns:45px 1fr auto;gap:20px;padding:30px 0 35px;border-bottom:1px solid var(--line)}
.timeline-item>span{font:9px var(--mono);color:var(--red)}
.timeline-item div>b{font:8px var(--mono);letter-spacing:.14em;color:#6f7472;font-weight:400}
.timeline-item h3{font-family:var(--display);font-size:30px;letter-spacing:-.04em;margin:8px 0}
.timeline-item p{font-size:14px;line-height:1.65;color:#777d7a;margin:0;max-width:580px}
.timeline-item>em{font:8px var(--mono);letter-spacing:.12em;font-style:normal;color:#767b78;border:1px solid #343838;border-radius:100px;padding:7px 8px;height:max-content}

.location{background:#121515;position:relative;overflow:hidden;min-height:800px}
.location-jp{position:absolute;right:-2vw;top:-4vw;font-family:var(--display);font-size:45vw;font-weight:600;line-height:.8;color:rgba(255,255,255,.025)}
.location-copy{position:relative;z-index:2}
.location .mega{max-width:1100px}
.location-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:980px;margin:80px 0 0 auto}
.location-columns p{font-size:17px;line-height:1.75;color:#909693;margin:0}
.location-columns strong{color:#e4e2dc;font-weight:500}
.location-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:980px;margin:35px 0 0 auto}
.location-tags span{border:1px solid #3b403e;border-radius:100px;padding:8px 11px;font:8px var(--mono);letter-spacing:.1em;color:#a5aaa7}

.about{background:#e1dfd7;color:#090b0b}
.about .section-code{border-color:rgba(0,0,0,.18);color:#777}.about .section-code b{color:#222}
.about-title .mega{font-size:clamp(54px,7vw,110px)}
.about-content{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;margin-top:85px}
.about-card{background:#111;color:white;padding:10px}
.about-card img{aspect-ratio:4/5;object-fit:cover;object-position:72% center;filter:saturate(.78) contrast(1.06)}
.about-card-top,.about-card-bottom{height:28px;display:flex;justify-content:space-between;align-items:center;font:7px var(--mono);letter-spacing:.11em;color:#999}
.about-text .lead{font-size:25px;line-height:1.5;color:#222}
.about-text p{font-size:16px;line-height:1.75;color:#696c68;max-width:700px}
.text-link{display:inline-flex;gap:20px;border-bottom:1px solid #111;padding-bottom:5px;margin-top:15px;font:9px var(--mono);letter-spacing:.12em}

.cta{height:90svh;min-height:700px;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden}
.cta-bg,.cta-bg img,.cta-overlay{position:absolute;inset:0;width:100%;height:100%}.cta-bg img{object-fit:cover;transform:scale(1.04)}
.cta-overlay{background:rgba(3,5,5,.69);backdrop-filter:blur(1px)}
.cta-content{position:relative;z-index:3;max-width:1100px;padding:80px 5vw}
.cta-content>p:first-child{font:9px var(--mono);letter-spacing:.15em;color:#b1b4b1}
.cta h2{font-family:var(--display);font-size:clamp(55px,8vw,120px);line-height:.86;letter-spacing:-.065em;margin:18px 0 28px}.cta h2 em{font-style:normal;color:var(--red)}
.cta-lead{font-size:17px;line-height:1.65;color:#bfc2be;max-width:690px;margin:0 auto 32px}
.big-play{display:inline-flex;align-items:center;gap:15px;text-align:left}
.play-icon{width:62px;height:62px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-size:21px;transition:.3s}
.big-play:hover .play-icon{transform:rotate(45deg) scale(1.08)}
.big-play>span:last-child{display:flex;flex-direction:column}.big-play b{font:11px var(--mono);letter-spacing:.12em}.big-play small{font:10px var(--sans);color:#8d9290;margin-top:3px}
.cta-timecode{position:absolute;z-index:3;bottom:25px;left:3vw;font:8px var(--mono);letter-spacing:.14em;color:#858987}

footer{background:#050606;padding:80px 7vw 25px;display:grid;grid-template-columns:1fr .7fr .55fr;gap:70px}
.footer-main p{font-size:12px;line-height:1.6;color:#686d6a;margin-top:25px}
.footer-contact,.footer-place{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-contact>span,.footer-place>span{font:8px var(--mono);letter-spacing:.14em;color:#5d6260;margin-bottom:8px}
.footer-contact a{font-size:12px;border-bottom:1px solid #252928;padding-bottom:3px;color:#b4b8b5}
.footer-place b{font-family:var(--display);font-size:45px;letter-spacing:-.05em}.footer-place em{font:8px var(--mono);font-style:normal;color:#676c69}
.footer-bottom{grid-column:1/-1;border-top:1px solid #202423;padding-top:20px;margin-top:10px;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.13em;color:#545957}

.floating-contact{position:fixed;z-index:180;right:20px;bottom:20px;height:48px;background:var(--white);color:var(--black);border-radius:100px;padding:0 15px;display:flex;align-items:center;gap:9px;box-shadow:0 10px 40px rgba(0,0,0,.3);font:9px var(--mono);letter-spacing:.1em}
.floating-contact i{width:7px;height:7px;background:var(--red);border-radius:50%;animation:blink 1.2s steps(2) infinite}.floating-contact b{font-size:14px;color:var(--red)}

.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  .desktop-nav,.header-cta{display:none}.menu-btn{display:block}
  .site-header{grid-template-columns:1fr 1fr}
  .hero h1{font-size:clamp(63px,11vw,110px)}
  .hero-copy{left:6vw;right:6vw}
  .hero-bottom{grid-template-columns:repeat(3,1fr)}.hero-bottom>a{display:none}
  .manifesto-bottom,.location-columns{max-width:none}
  .scene,.scene-b{grid-template-columns:1fr;gap:50px}.scene-b .scene-copy{order:2}.scene-b .scene-media{order:1}
  .scene-copy{padding:0 4vw;max-width:800px}
  .scene-a .scene-media,.scene-b .scene-media{height:65vh}
  .services-head,.process-grid,.about-content{grid-template-columns:1fr}
  .process-intro{position:static;margin-bottom:40px}
  .focus-box{opacity:.45}
}
@media(max-width:700px){
  .cursor{display:none}.vignette{display:none}
  .site-header{height:70px;padding:0 5vw}
  .hero{min-height:790px}
  .hero-image img{object-position:64% center}
  .hero-overlay{background:linear-gradient(0deg,rgba(3,5,5,.9) 0%,rgba(3,5,5,.5) 68%,rgba(3,5,5,.28))}
  .hero-grid{background-size:50% 25%}
  .recording-ui{top:96px;left:6vw;right:6vw}.recording-ui span:nth-child(2){display:none}
  .frame-tl,.frame-tr{top:95px}.frame{width:18px;height:18px}
  .hero-copy{top:auto;bottom:108px;transform:none;left:5vw;right:5vw}
  .overline{font-size:8px;margin-bottom:15px}
  .hero h1{font-size:53px;line-height:.87}
  .hero-lead{font-size:14px;margin:22px 0}
  .hero-actions{display:grid}.btn{width:100%}
  .hero-bottom{left:5vw;right:5vw;bottom:27px;grid-template-columns:1fr 1fr}.hero-bottom div:nth-child(3){display:none}
  .hero-side-label{display:none}
  .film-strip{height:70px}
  .section{padding:90px 5vw}
  .section-code{grid-template-columns:33px 1fr;margin-bottom:45px}.section-code em{display:none}
  .mega{font-size:53px}
  .manifesto-bottom{grid-template-columns:1fr;gap:25px;margin-top:50px}.manifesto-bottom p{font-size:15px}
  .showcase{padding:0 3vw 90px}
  .scene{margin-bottom:85px;gap:38px}.scene-a .scene-media,.scene-b .scene-media{height:66vh;min-height:500px}.scene-copy{padding:0 2vw}.scene-copy h3{font-size:48px}
  .scene-wide .scene-media{height:68vh;min-height:520px}.wide-caption{left:6vw;bottom:7vw;right:6vw}.wide-caption h3{font-size:43px}
  .services-head{gap:30px;margin-bottom:50px}.services-head p{font-size:15px}
  .service-item{grid-template-columns:36px 1fr 40px;padding:22px 0}.service-item>b{font-size:20px}.service-item>i{display:none}.service-item p{font-size:12px}
  .bts{min-height:800px}.bts-image img{object-position:58% center}.bts-overlay{background:linear-gradient(0deg,rgba(4,6,6,.86),rgba(4,6,6,.28))}
  .bts-copy{left:5vw;right:5vw;top:auto;bottom:60px;transform:none;width:auto}.bts-copy .mega{font-size:52px}.bts-copy p{font-size:15px}.focus-box{right:6vw;top:20%;width:48vw;height:32vh}
  .timeline-item{grid-template-columns:32px 1fr}.timeline-item>em{display:none}.timeline-item h3{font-size:24px}
  .location{min-height:auto}.location-columns{grid-template-columns:1fr;gap:25px;margin-top:50px}.location-columns p{font-size:15px}.location-jp{font-size:90vw}
  .about-content{margin-top:55px}.about-card{max-width:500px}.about-text .lead{font-size:21px}
  .cta{min-height:740px}.cta h2{font-size:54px}.cta-lead{font-size:14px}
  footer{grid-template-columns:1fr;gap:35px;padding:60px 5vw 25px}.footer-bottom{flex-direction:column;gap:9px}
  .floating-contact{right:12px;bottom:12px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}.page-loader{display:none}
}
