:root{--ink:#111318;--cyan:#03c6fc;--paper:#f4f1e8;--orange:#ff6848;--lilac:#c6b7ff;--line:rgba(17,19,24,.2);--max:1540px;--margin:clamp(20px,4.5vw,86px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.is-menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img,svg{display:block;max-width:100%}::selection{background:var(--orange);color:var(--ink)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip{position:fixed;top:-60px;left:18px;z-index:200;background:#fff;padding:12px 16px;font-weight:800}.skip:focus{top:12px}.wrap{width:min(var(--max),calc(100% - 2 * var(--margin)));margin-inline:auto}.eyebrow{font-weight:800;font-size:clamp(11px,.9vw,13px);letter-spacing:.11em;text-transform:uppercase}.type{font-family:Impact,'Arial Narrow','Arial Black',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.88}.body-copy{font-size:clamp(18px,1.55vw,23px);line-height:1.43;letter-spacing:-.025em}.muted{opacity:.7}.arrow{display:inline-block;font-size:1.3em;margin-left:.5em;transition:transform .25s}.link:hover .arrow,.btn:hover .arrow{transform:translate(3px,-3px)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:15px 21px;background:var(--ink);color:#fff;font-size:14px;letter-spacing:.005em;font-weight:800;border:2px solid var(--ink);transition:background .2s,color .2s}.btn:hover{background:transparent;color:var(--ink)}.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.light:hover{background:transparent;color:var(--paper)}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:var(--ink);color:var(--paper)}
.site-header{height:78px;position:relative;z-index:100;background:var(--paper);border-bottom:1px solid var(--ink)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:900;font-size:22px;letter-spacing:-.06em}.brand-icon{width:27px;height:27px;background:var(--cyan);display:grid;place-items:center;transform:rotate(-11deg);border:1.5px solid var(--ink)}.brand-icon span{transform:rotate(11deg);font-family:Impact,sans-serif;font-size:23px;line-height:1}.brand span.soft{font-weight:400}.nav{display:flex;align-items:center;gap:clamp(22px,3vw,50px)}.nav>a{font-size:13px;font-weight:800;padding:5px 0;position:relative}.nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav>a:hover:after,.nav>a[aria-current=page]:after{transform:scaleX(1)}.nav .nav-contact{background:var(--ink);color:var(--paper);padding:14px 19px}.menu-button{display:none;border:1px solid var(--ink);padding:11px 14px;background:transparent;font-weight:800;font-size:13px}
/* Homepage */
.hero{min-height:min(850px,calc(100svh - 78px));background:var(--cyan);position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column}.hero:after{content:'';position:absolute;right:-11%;top:-24%;width:55%;aspect-ratio:1;border:1px solid rgba(17,19,24,.22);border-radius:50%;pointer-events:none;z-index:-1;transform:translate3d(0,var(--orb-y,0px),0)}.hero-inner{flex:1;display:grid;grid-template-columns:60% 40%;align-items:end;gap:0;padding-top:100px;padding-bottom:70px}.hero-main{position:relative;z-index:2}.hero h1{font-size:clamp(102px,12.9vw,235px);margin:20px 0 0;position:relative}.hero h1 span{display:block}.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.hero h1 .shift{margin-left:10%}.hero-side{align-self:end;padding-left:5%;padding-bottom:10px;position:relative;z-index:2}.hero-side p{font-size:clamp(22px,2.25vw,34px);font-weight:700;letter-spacing:-.055em;line-height:1.16;margin:0 0 32px;max-width:430px}.hero-side .mini{display:flex;gap:16px;align-items:center;margin-bottom:30px;border-top:1px solid var(--ink);padding-top:14px}.hero-shape{position:absolute;width:clamp(180px,22vw,370px);aspect-ratio:1;right:-3%;top:4%;border:2px solid var(--ink);border-radius:50%;background:var(--orange);z-index:0;transform:translate3d(0,var(--shape-y,0px),0)}.hero-shape:after{content:'';position:absolute;inset:21%;border:2px solid var(--ink);border-radius:50%}.hero-ticker{border-top:1px solid var(--ink);padding:18px var(--margin);display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-ticker span:last-child{opacity:.65}
.intro{padding:clamp(86px,10vw,158px) 0;background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.9fr 1.6fr;gap:9vw}.intro h2{font-size:clamp(56px,8.2vw,134px);margin:0;max-width:10ch}.intro-right p{font-size:clamp(26px,3.8vw,56px);letter-spacing:-.057em;line-height:1.13;font-weight:700;margin:0 0 37px;max-width:950px}.intro-right p em{font-style:normal;color:#858489}.intro-link{display:inline-flex;align-items:center;gap:15px;padding-bottom:8px;border-bottom:2px solid var(--ink);font-size:15px;font-weight:800}
.services{background:var(--ink);color:var(--paper);padding:clamp(70px,8vw,120px) 0}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:54px}.section-top h2{font-size:clamp(80px,11vw,185px);margin:12px 0 0}.section-top p{max-width:365px;margin:0 0 10px;font-size:clamp(17px,1.55vw,22px);line-height:1.3}.service-rows{border-top:1px solid rgba(255,255,255,.28)}.service-row{display:grid;grid-template-columns:88px minmax(0,1.15fr) minmax(260px,.8fr) 36px;gap:25px;align-items:center;border-bottom:1px solid rgba(255,255,255,.28);min-height:210px;padding:35px 0;position:relative;transition:padding .35s}.service-row:hover{padding-left:10px}.service-row h3{font-family:Impact,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(44px,5.6vw,88px);line-height:.95;margin:0}.service-row p{font-size:clamp(17px,1.4vw,21px);line-height:1.35;margin:0;max-width:500px}.service-row .service-num{font-weight:800;color:var(--cyan);font-size:15px;align-self:start;margin-top:7px}.service-row .service-arrow{font-size:32px;align-self:start;text-align:right}.service-row:nth-child(2) .service-num{color:var(--orange)}.service-row:nth-child(3) .service-num{color:var(--lilac)}
.work{background:var(--lilac);padding:clamp(90px,9vw,145px) 0}.work .section-top h2{font-size:clamp(74px,10.5vw,170px)}.work .section-top p{font-size:clamp(18px,1.5vw,23px)}.work-lead{max-width:890px;font-size:clamp(23px,2.4vw,37px);font-weight:700;letter-spacing:-.04em;line-height:1.22;margin:-20px 0 45px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project{border:1px solid var(--ink);background:var(--paper);overflow:hidden;display:flex;flex-direction:column;min-height:530px}.project:first-child{grid-row:span 2;background:var(--cyan)}.project-visual{height:270px;padding:clamp(18px,3vw,45px);border-bottom:1px solid var(--ink);position:relative;overflow:hidden}.project:first-child .project-visual{height:440px}.proj-ui{width:100%;height:100%;border:2px solid var(--ink);background:var(--paper);box-shadow:14px 14px 0 var(--ink);overflow:hidden;transform:rotate(-3deg) translateY(9%);transition:transform .6s cubic-bezier(.2,1,.3,1);position:relative}.project:hover .proj-ui{transform:rotate(0deg) translateY(2%)}.proj-ui-head{height:45px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;font-weight:800;letter-spacing:.06em}.proj-ui-body{padding:24px}.proj-ui-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}.proj-ui-grid span{height:75px;border:1.5px solid var(--ink);background:var(--lilac);display:flex;align-items:end;padding:10px;font-size:11px;font-weight:800}.proj-ui-grid span:nth-child(2){background:var(--orange)}.proj-ui-grid span:nth-child(3){background:var(--cyan)}.proj-ui-grid span:nth-child(4){background:#d8f647}.proj-ui h4{font-family:Impact,sans-serif;text-transform:uppercase;font-size:clamp(30px,4vw,60px);line-height:1;margin:0}.project:nth-child(2) .project-visual{background:var(--orange)}.project:nth-child(3) .project-visual{background:#d8f647}.project:nth-child(2) .proj-ui,.project:nth-child(3) .proj-ui{transform:rotate(4deg) translateY(25%)}.project:nth-child(2):hover .proj-ui,.project:nth-child(3):hover .proj-ui{transform:rotate(0deg) translateY(12%)}.project:nth-child(2) .proj-ui-body,.project:nth-child(3) .proj-ui-body{padding:16px}.project:nth-child(2) .proj-ui h4,.project:nth-child(3) .proj-ui h4{font-size:35px}.project-detail{padding:27px 30px 34px;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:15px}.project-meta{font-size:12px;letter-spacing:.07em;font-weight:900;text-transform:uppercase}.project-detail h3{font-family:Impact,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(40px,4vw,70px);line-height:.95;margin:0}.project-detail p{font-size:17px;line-height:1.37;margin:0;max-width:480px}.project-note{font-size:13px;border-top:1px solid var(--ink);margin-top:24px;padding-top:17px;line-height:1.5}
.studio{background:var(--paper);padding:clamp(80px,10vw,155px) 0}.studio-inner{display:grid;grid-template-columns:1.25fr .8fr;gap:9vw;align-items:end}.studio h2{font-size:clamp(79px,10vw,170px);margin:15px 0 0}.studio .statement{font-size:clamp(27px,3vw,48px);font-weight:700;letter-spacing:-.05em;line-height:1.16;margin:0 0 26px}.studio p{font-size:clamp(17px,1.4vw,21px);line-height:1.48}.studio .no{display:inline-flex;gap:10px;align-items:center;margin-top:20px;font-weight:800;font-size:15px;border-bottom:2px solid var(--ink);padding-bottom:10px}
.contact-stripe{background:var(--orange);padding:clamp(80px,9vw,138px) 0;overflow:hidden}.contact-stripe-inner{display:grid;grid-template-columns:1.3fr .65fr;gap:7vw;align-items:end}.contact-stripe h2{font-size:clamp(85px,11.7vw,200px);margin:16px 0 0}.contact-stripe p{font-size:clamp(20px,2vw,30px);font-weight:700;line-height:1.25;letter-spacing:-.035em;margin:0 0 28px}.contact-stripe .link-mail{font-size:clamp(17px,1.8vw,28px);font-weight:900;display:block;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
/* subpages */
.subhero{padding:clamp(80px,9vw,130px) 0 clamp(65px,7vw,100px);background:var(--cyan);border-bottom:2px solid var(--ink)}.subhero.orange{background:var(--orange)}.subhero.lilac{background:var(--lilac)}.subhero.paper{background:var(--paper)}.subhero h1{font-size:clamp(78px,13vw,205px);margin:18px 0 29px;max-width:1250px}.subhero .dek{font-size:clamp(22px,2.65vw,39px);line-height:1.16;letter-spacing:-.04em;font-weight:700;max-width:900px;margin:0}.subpage{padding:clamp(62px,8vw,120px) 0}.reading{max-width:920px}.reading h2{font-family:Impact,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:-.018em;font-size:clamp(35px,4vw,64px);line-height:1;margin:56px 0 18px}.reading h2:first-child{margin-top:0}.reading h3{font-size:21px;margin:25px 0 8px}.reading p,.reading li{font-size:18px;line-height:1.6;margin-top:0}.reading ul{padding-left:23px;margin-bottom:22px}.reading a:not(.btn){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:45px}.fact{border:1.5px solid var(--ink);padding:25px;background:#fff}.fact .fact-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.fact p{font-size:clamp(20px,2vw,29px);font-weight:700;letter-spacing:-.04em;line-height:1.3;margin:0;overflow-wrap:anywhere}.contact-box{border:2px solid var(--ink);background:var(--lilac);padding:clamp(24px,4vw,45px);margin-top:42px}.contact-box h2{font-size:clamp(37px,5vw,75px);margin:0 0 20px}.contact-box a{font-size:clamp(20px,3vw,39px);font-weight:800;letter-spacing:-.045em;text-decoration:underline;overflow-wrap:anywhere}.note{font-size:14px!important;color:#424249}.utility-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:35px}.utility{border:2px solid var(--ink);padding:26px;background:var(--cyan)}.utility:nth-child(2){background:var(--lilac)}.utility:nth-child(3){background:var(--orange)}.utility h3{font-family:Impact,sans-serif;font-size:42px;text-transform:uppercase;margin:0 0 16px;line-height:1}.utility p{font-size:17px;line-height:1.45;margin:0}.site-footer{background:var(--ink);color:var(--paper);padding:55px 0 28px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding-bottom:60px}.footer-brand{font-family:Impact,sans-serif;font-size:clamp(56px,7vw,115px);letter-spacing:-.04em;line-height:.95}.footer-text{font-size:17px;line-height:1.55;max-width:520px;justify-self:end}.footer-bottom{border-top:1px solid rgba(255,255,255,.29);padding-top:24px;display:flex;justify-content:space-between;gap:25px;align-items:start}.footer-bottom small{font-size:12px;line-height:1.7;color:rgba(255,255,255,.75)}.footer-links{display:flex;gap:13px 24px;flex-wrap:wrap;justify-content:end;font-size:13px;font-weight:800}.footer-links a:hover{text-decoration:underline}.reveal{transition:transform .7s cubic-bezier(.2,1,.3,1),opacity .7s}.js .reveal:not(.visible){transform:translateY(28px);opacity:0}
@media(max-width:1100px){.hero-inner{grid-template-columns:58% 42%}.hero h1{font-size:clamp(90px,12.6vw,150px)}.hero-shape{top:12%;right:-8%}.intro-grid{gap:5vw}.service-row{grid-template-columns:50px 1fr 1fr 28px}.project:first-child .project-visual{height:360px}}
@media(max-width:770px){:root{--margin:22px}.site-header{height:69px}.brand{font-size:20px}.menu-button{display:block}.nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:20px 22px 28px;border-bottom:2px solid var(--ink);box-shadow:0 12px 0 rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:17px 0;font-size:19px;border-bottom:1px solid var(--line)}.nav>a:after{display:none}.nav .nav-contact{margin-top:12px;padding:18px}.hero{min-height:0}.hero-inner{padding-top:88px;padding-bottom:66px;display:block}.hero h1{font-size:clamp(87px,18.2vw,150px);margin:23px 0 45px}.hero h1 .shift{margin-left:6%}.hero-side{padding:0;max-width:550px}.hero-side p{font-size:clamp(22px,5vw,31px);max-width:540px;margin-bottom:26px}.hero-side .mini{margin-bottom:18px}.hero-shape{width:240px;right:-130px;top:30px;opacity:.9}.hero-ticker{padding:14px 22px;font-size:10px}.hero-ticker span:last-child{display:none}.intro-grid{display:block}.intro h2{font-size:clamp(65px,13vw,110px);margin-bottom:28px}.intro-right p{font-size:clamp(26px,5vw,40px)}.section-top{display:block;margin-bottom:34px}.section-top h2{font-size:clamp(77px,14vw,130px)}.section-top p{margin-top:20px}.service-row{grid-template-columns:45px 1fr 27px;gap:12px;min-height:auto;padding:31px 0}.service-row h3{font-size:clamp(49px,8vw,78px)}.service-row p{grid-column:2;grid-row:2;font-size:17px;padding-top:4px}.service-row .service-arrow{grid-column:3;grid-row:1}.work-lead{margin:0 0 30px}.project-grid{display:block}.project{min-height:auto;margin-bottom:14px}.project:first-child .project-visual{height:300px}.project-visual{height:260px}.project-detail{min-height:200px;padding:25px}.project-detail h3{font-size:53px}.studio-inner{display:block}.studio h2{font-size:clamp(86px,15vw,135px);margin-bottom:36px}.studio .statement{font-size:clamp(27px,5vw,42px)}.contact-stripe-inner{display:block}.contact-stripe h2{font-size:clamp(83px,16vw,138px);margin-bottom:40px}.subhero h1{font-size:clamp(77px,15vw,130px)}.fact-grid,.utility-list{grid-template-columns:1fr}.footer-top{display:block}.footer-text{margin-top:35px;max-width:550px}.footer-bottom{display:block}.footer-links{justify-content:start;margin-top:25px}}
@media(max-width:420px){.hero h1{font-size:18vw}.hero-inner{padding-top:80px}.intro{padding:70px 0}.services,.work,.studio,.contact-stripe{padding:72px 0}.service-row{grid-template-columns:32px 1fr 20px;gap:9px}.service-row h3{font-size:12.4vw}.project-visual{height:225px}.project:first-child .project-visual{height:250px}.contact-stripe h2{font-size:16.2vw}.footer-brand{font-size:14vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .reveal:not(.visible){transform:none;opacity:1}.hero-shape,.hero:after{transform:none!important}}
