@font-face{font-family:Archivo;src:url('assets/fonts/archivo-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--black:#050506;--obsidian:#0d0d0f;--graphite:#1a191c;--ivory:#f4f2f3;--ash:#a9a4a7;--steel:#343136;--crimson:#ad0543;--wine:#5a102d;--crimson-light:#d2185a;--font:Archivo,Arial,sans-serif;--gutter:clamp(22px,4.3vw,80px);--container:1600px;--ease:cubic-bezier(.16,1,.3,1);--header:88px;--radius:6px}
*,*::before,*::after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:110px;color-scheme:dark;scrollbar-color:var(--steel) var(--black)}body{background:var(--black);color:var(--ivory);font:400 16px/1.6 var(--font);-webkit-font-smoothing:antialiased}img,video,svg{display:block;max-width:100%}img{height:auto}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button,summary,a{touch-action:manipulation}button:disabled{opacity:.5;cursor:default}ul,ol{list-style:none;padding:0}h1,h2,h3{font-weight:500;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(48px,7.5vw,112px)}h2{font-size:clamp(34px,4.7vw,72px)}h3{font-size:clamp(24px,2.7vw,38px)}p{color:var(--ash);text-wrap:pretty}p+p{margin-top:24px}::selection{color:var(--ivory);background:var(--crimson)}:focus-visible{outline:2px solid var(--ivory);outline-offset:6px}input,textarea{caret-color:var(--crimson-light)}[hidden]{display:none!important}.wrap{width:min(100%,var(--container));margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 24px;background:var(--ivory);color:var(--black);z-index:100}.skip-link:focus{top:20px}.logo{mix-blend-mode:screen;object-fit:contain}.lead{font-size:clamp(20px,2.1vw,30px);line-height:1.4;color:var(--ivory);letter-spacing:-.015em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:14px 24px;border:1px solid var(--steel);border-radius:3px;font-size:15px;font-weight:500;transition:background .2s,color .2s,transform .2s var(--ease)}.button svg{width:20px;height:20px;flex-shrink:0}.button-crimson{background:var(--crimson);border-color:transparent}.button:active,.icon-button:active{transform:scale(.97);transition-duration:.1s}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding-block:8px;border-bottom:1px solid var(--steel);font-size:15px;transition:border-color .2s}.text-link svg{width:20px;height:20px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--steel);border-radius:50%;transition:background .2s,transform .2s}.circle-link{width:72px;height:72px;border:1px solid var(--ash);border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .2s}.social-links{display:flex;gap:6px}.social-links a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;transition:background .2s}.social-links svg{width:20px;height:20px}
/* A quiet shell leaves the original identity and the work in charge. */
.site-header{position:sticky;top:0;z-index:30;background:var(--black);height:var(--header);border-bottom:1px solid transparent;transition:border-color .2s}.site-header.is-scrolled{border-color:var(--steel)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;min-height:44px;flex-shrink:0}.brand .logo{width:125px}.desktop-nav{display:flex;gap:30px;margin-left:auto;margin-right:auto}.desktop-nav a{position:relative;padding:14px 0;color:var(--ash);font-size:14px;transition:color .2s}.desktop-nav a[aria-current]{color:var(--ivory)}.desktop-nav a[aria-current]::after{position:absolute;content:'';width:4px;height:4px;background:var(--crimson-light);border-radius:50%;left:50%;bottom:5px}.header-actions{display:flex;align-items:center;gap:30px}.language-picker select{min-height:44px;padding:0 18px 0 7px;border:0;background:var(--black);font-size:12px;cursor:pointer}.header-contact{display:flex;align-items:center;gap:16px;font-size:14px;min-height:44px}.header-contact svg{width:18px;height:18px;color:var(--crimson-light)}.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{height:1px;width:24px;background:var(--ivory)}.mobile-menu{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:24px var(--gutter);border:0;background:var(--black);color:var(--ivory)}.mobile-menu::backdrop{background:var(--black)}.mobile-menu[open]{display:flex;flex-direction:column}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between}.mobile-menu-top .logo{width:130px}.mobile-menu nav{display:flex;flex-direction:column;gap:12px;margin:auto 0}.mobile-menu nav a{font-size:clamp(38px,9vw,64px);letter-spacing:-.03em}.mobile-menu nav a[aria-current]{color:var(--ash)}.mobile-menu-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.menu-close{border:0}
.home-hero{padding-top:52px;padding-bottom:60px}.hero-meta{display:flex;justify-content:space-between;gap:24px;color:var(--ash);font-size:12px;letter-spacing:.02em}.hero-wordmark{margin:61px -6px 60px;line-height:0}.hero-wordmark .logo{width:100%;height:auto}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.hero-bottom h2{font-size:clamp(38px,4.4vw,68px);font-weight:450}.hero-aside{max-width:285px}.hero-aside p{font-size:15px;line-height:1.6}.scroll-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--ash);margin-top:20px;padding:8px 0;min-height:44px}.scroll-link svg{width:18px;height:18px;color:var(--ivory)}.film-frame{position:relative;overflow:hidden;background:var(--obsidian);aspect-ratio:2.15}.film video{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.film-control{position:absolute;bottom:24px;right:24px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(5,5,6,.8);color:var(--ivory);border:1px solid #ffffff55}.film-control svg{width:18px;height:18px}.film figcaption{padding-top:14px;display:flex;justify-content:space-between;gap:20px;color:var(--ash);font-size:12px}.film figcaption span:last-child{font-size:12px;letter-spacing:.1em}.intro-section{display:grid;grid-template-columns:1.12fr 1fr;gap:10%;padding-block:145px}.intro-section h2{font-size:clamp(35px,4.25vw,65px)}.intro-copy{padding-top:5px;max-width:540px}.intro-copy>.text-link{margin-top:28px}.services-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-bottom:140px}.services-section>h2{font-size:clamp(30px,3.2vw,48px)}.service-list details{border-top:1px solid var(--steel)}.service-list details:last-child{border-bottom:1px solid var(--steel)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:26px;font-size:clamp(22px,2.5vw,36px);letter-spacing:-.025em}.service-list summary svg{width:22px;flex-shrink:0;transition:transform .25s var(--ease)}details[open]>summary svg{transform:rotate(45deg)}.service-list details>p{padding-bottom:30px;max-width:48ch}
/* Mechanical split-flap lettering is part of the supplied brief. */
.board-section{background:var(--obsidian);padding-block:80px}.flap-board{display:grid;gap:9px;max-width:1220px;margin-inline:auto;perspective:1000px}.flap-row{display:flex;justify-content:center;gap:5px;font-size:clamp(18px,4.5vw,70px);font-weight:600;line-height:1.55;letter-spacing:0;white-space:pre}.flap-tile{position:relative;display:block;flex:1 1 0;min-width:0;max-width:70px;text-align:center;background:var(--graphite);border-radius:4px;box-shadow:0 2px 2px #0005;transform-origin:center;backface-visibility:hidden}.flap-tile::after{content:'';position:absolute;inset:50% 0 auto;height:1px;background:var(--black)}.flap-tile.blank{color:transparent}.board-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1220px;margin:28px auto 0}.board-footer p{font-size:13px}.board-footer>div{display:flex;gap:8px}.board-footer .icon-button{width:44px;height:44px;border:0}.board-footer svg{width:18px;height:18px}
.selected-work{padding-top:140px;padding-bottom:40px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}.project-cover{display:block}.project-cover-art{position:relative;background:#133a2b;padding:65px 12% 0;overflow:hidden;aspect-ratio:1.9}.project-screen{border-radius:6px 6px 0 0;overflow:hidden;box-shadow:0 30px 70px #0005;transform:translateY(8px);transition:transform .28s var(--ease)}.project-screen img{width:100%}.project-open{position:absolute;right:32px;bottom:32px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--ivory);color:var(--black)}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px}.project-caption h3{font-size:24px}.project-caption span{font-size:13px;color:var(--ash)}.project-cta{padding-top:140px;padding-bottom:140px;display:flex;justify-content:space-between;gap:70px;align-items:flex-end}.project-cta h2{font-size:clamp(45px,6.8vw,100px)}.project-cta>div{max-width:300px}.project-cta p{font-size:16px;margin-bottom:28px}.site-footer{padding-top:50px;padding-bottom:28px;border-top:1px solid var(--steel)}.footer-main{display:grid;grid-template-columns:1.05fr 1fr .8fr;gap:50px;padding-bottom:52px}.footer-main>a{max-width:210px;align-self:start}.footer-main>div>span{display:block;font-size:12px;color:var(--ash);margin-bottom:8px}.footer-email{font-size:17px;display:inline-block}.footer-main .social-links{margin-left:-10px;margin-top:12px}.footer-main>p{font-size:13px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--ash);font-size:12px}.footer-bottom nav{display:flex;gap:24px}.footer-bottom a{display:flex;align-items:center;min-height:44px}
.page-intro{padding-top:90px;padding-bottom:70px;display:flex;align-items:flex-end;justify-content:space-between;gap:70px}.page-intro>p{max-width:330px;margin-bottom:8px;font-size:18px}.studio-image{position:relative}.studio-image img{width:100%;aspect-ratio:2.05;object-fit:cover;object-position:50% 50%}.studio-image figcaption{font-size:12px;color:var(--ash);margin-top:14px}.story-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:140px}.story-section h2{font-size:clamp(34px,3.8vw,58px)}.story-section p{max-width:60ch;font-size:17px}.studio-belief{background:var(--crimson);padding-block:100px}.studio-belief>.wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:80px}.studio-belief p{color:var(--ivory);max-width:900px;font-size:clamp(34px,4.8vw,72px);line-height:1.13;letter-spacing:-.03em}.studio-belief .logo{width:120px;flex-shrink:0}.values-section{padding-block:120px;display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.values-section article{border-top:1px solid var(--steel);padding-top:25px}.values-section h2{font-size:28px;margin-bottom:24px}.values-section p{font-size:15px;max-width:38ch}.languages-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;padding-block:50px 120px}.languages-section h2{font-size:clamp(34px,4vw,58px)}.languages-section p{margin-top:25px;max-width:38ch}.language-words{display:flex;flex-direction:column;font-size:clamp(52px,7vw,105px);line-height:1.06;letter-spacing:-.03em}.language-words span:nth-child(2){align-self:center;color:var(--ash)}.language-words span:nth-child(3){align-self:flex-end;color:var(--crimson-light)}.process-section{padding-block:100px;background:var(--obsidian)}.process-section>h2{margin-bottom:70px}.process-list li{display:grid;grid-template-columns:80px 1fr 1fr;gap:35px;align-items:baseline;border-top:1px solid var(--steel);padding-block:30px}.process-list li:last-child{border-bottom:1px solid var(--steel)}.step-number{color:var(--ash);font-size:14px;font-variant-numeric:tabular-nums}.process-list h3{font-size:26px}.process-list p{font-size:15px;max-width:50ch}
.work-hero{min-height:700px;display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;padding-top:100px;padding-bottom:140px}.work-hero h1{font-size:clamp(45px,6.4vw,96px)}.work-hero>div>p{margin-top:28px;max-width:34ch}.project-folder{position:relative;display:block;width:100%;height:350px;perspective:1000px;isolation:isolate;margin-top:40px;animation:folder-arrive .75s var(--ease) both}.folder-back{position:absolute;inset:35px 0 0;background:#791735;border-radius:9px}.folder-back::before{content:'';position:absolute;top:-20px;left:0;width:42%;height:30px;background:#791735;border-radius:9px 12px 0 0}.folder-sheet{position:absolute;left:10%;top:0;width:80%;height:70%;background:var(--ivory);padding:8px;border-radius:4px;overflow:hidden;box-shadow:0 12px 30px #0004;transition:transform .32s var(--ease)}.folder-sheet img{width:100%;height:100%;object-fit:cover;object-position:top}.sheet-one{transform:translate(-30px,-30px) rotate(-10deg)}.sheet-two{transform:translate(32px,-22px) rotate(10deg)}.sheet-three{transform:translate(0,-5px) rotate(-1deg)}.folder-front{position:absolute;inset:115px 0 0;background:var(--crimson);border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:26px 30px;transform-origin:bottom;transition:transform .32s var(--ease);box-shadow:0 20px 50px #0004}.folder-front>span:first-child{font-size:12px;letter-spacing:.06em}.folder-front>strong{font-size:46px;font-weight:500;letter-spacing:-.035em}.folder-front>span:last-child{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.folder-front svg{width:22px;height:22px}.case-study{padding-top:110px;background:var(--obsidian)}.case-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:end}.case-client{display:block;color:var(--ash);font-size:14px;margin-bottom:26px}.case-heading h2{font-size:clamp(38px,4.8vw,72px)}.case-heading p{max-width:48ch;font-size:17px}.case-heading .text-link{margin-top:24px}.case-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-block:64px 44px;border-top:1px solid var(--steel);padding-top:24px}.case-meta dt{color:var(--ash);font-size:12px;margin-bottom:6px}.case-meta dd{font-size:15px}.case-main-image{display:block;overflow:hidden}.case-main-image img{width:100%;height:auto}.case-brief{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;padding-block:130px 90px}.case-brief h2{font-size:clamp(34px,4.2vw,64px)}.case-brief .lead{font-size:23px}.case-brief dl{margin-top:36px}.case-brief dl>div{display:grid;grid-template-columns:100px 1fr;gap:25px;border-top:1px solid var(--steel);padding-block:24px}.case-brief dt{font-size:13px}.case-brief dd{color:var(--ash);font-size:15px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-gallery img{width:100%;aspect-ratio:1.72;object-fit:cover;object-position:top}.case-gallery figcaption,.case-result figcaption{font-size:12px;color:var(--ash);margin-top:12px}.case-result{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center;padding-block:110px}.case-result p{margin-top:28px;max-width:49ch}.case-result .text-link{margin-top:24px}.case-result figure{background:#163626;padding:30px}.case-result figure img{width:100%}.testimonial{position:relative;padding-top:40px;padding-bottom:110px;display:grid;grid-template-columns:1.5fr .6fr;gap:12%;align-items:end}.quote-mark{position:absolute;left:var(--gutter);top:-30px;font-size:120px;line-height:1;color:var(--crimson-light)}.testimonial blockquote{font-size:clamp(27px,3.3vw,48px);line-height:1.22;letter-spacing:-.025em;max-width:26ch}.testimonial figcaption{display:flex;flex-direction:column}.testimonial strong{font-size:17px}.testimonial figcaption>span{color:var(--ash);font-size:13px;margin-top:3px}.testimonial small{font-size:12px;line-height:1.5;color:var(--ash);max-width:30ch;margin-top:25px}@keyframes folder-arrive{from{transform:translateY(20px) rotate(-3deg);opacity:.5}to{transform:none;opacity:1}}
.contact-landscape{position:relative;min-height:680px;height:calc(100svh - var(--header));max-height:1000px;display:flex;align-items:stretch;overflow:hidden}.mountain-image{position:absolute;inset:0;background:var(--black)}.mountain-image>img{height:100%;width:100%;object-fit:cover;filter:grayscale(1) brightness(.45)}.mountain-image canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}.mountain-image canvas.is-ready{opacity:1}.mountain-image::after{position:absolute;inset:0;content:'';background:#05050655}.contact-landscape-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding-block:80px}.mountain-logo{display:block;max-width:340px;margin-bottom:auto;margin-top:40px;align-self:center;transition:transform .3s var(--ease)}.mountain-logo .logo{width:100%}.contact-landscape-content>div{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.contact-landscape h1{font-size:clamp(46px,6.3vw,94px)}.contact-landscape-content>p{margin-top:24px;color:var(--ivory);max-width:430px;font-size:17px}.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:13%;padding-block:125px 140px}.contact-intro h2{font-size:clamp(36px,4.1vw,62px)}.contact-intro>p{margin-top:30px;max-width:33ch}.contact-direct{margin-top:65px}.contact-direct>span{display:block;color:var(--ash);font-size:12px;margin-bottom:10px}.contact-direct>a{font-size:20px}.contact-direct>.social-links{margin-left:-10px;margin-top:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}.field{margin-bottom:24px;min-width:0}.field label{font-size:13px;display:block;margin-bottom:10px}.field label>span{color:var(--ash)}.field input,.field select,.field textarea{width:100%;max-width:100%;padding:11px 0 14px;border:0;border-bottom:1px solid var(--steel);background:transparent;border-radius:0;min-height:48px;transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-bottom-color:var(--ivory);box-shadow:0 1px 0 var(--ivory)}.field textarea{resize:vertical;min-height:135px;max-height:440px;line-height:1.6}.field ::placeholder{color:var(--ash);opacity:1}.field select option{background:var(--black);color:var(--ivory)}.field-error{display:block;color:#ff9bbb;font-size:12px;margin-top:6px;min-height:0}.field-error:empty{display:none}[aria-invalid=true]{border-color:#ff9bbb!important}.consent-field{margin-block:25px 32px}.consent-field label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:12px;line-height:1.65;color:var(--ash)}.consent-field input{appearance:auto;accent-color:var(--crimson);width:18px;height:18px;flex-shrink:0;margin-top:2px}.consent-field a{display:inline-flex;align-items:center;color:var(--ivory);gap:5px;min-height:28px;text-decoration:underline;text-underline-offset:4px}.consent-field svg{height:12px;width:12px}.form-hint{font-size:12px;margin-top:16px;max-width:49ch}.message-preview{background:var(--obsidian);padding:30px;border:1px solid var(--steel);border-radius:var(--radius)}.message-preview h3{font-size:30px}.message-preview>p{font-size:14px;margin-top:15px}.message-preview pre{font:14px/1.65 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;margin-block:24px;padding-block:20px;border-top:1px solid var(--steel);border-bottom:1px solid var(--steel)}.preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.preview-actions .text-link{font-size:13px}#form-status{margin-top:18px;font-size:14px}
.chat-fab{position:fixed;right:24px;bottom:24px;z-index:35;width:54px;height:54px;border-radius:50%;background:var(--crimson);color:var(--ivory);box-shadow:0 6px 24px #0004;display:grid;place-items:center;transition:background .2s,transform .2s var(--ease)}.chat-fab svg{width:23px;height:23px}.chat-panel{position:fixed;inset:auto 24px 90px auto;width:380px;max-width:calc(100% - 32px);max-height:min(680px,calc(100dvh - 130px));padding:0;color:var(--ivory);background:var(--obsidian);border:1px solid var(--steel);border-radius:12px;overflow:hidden;box-shadow:0 16px 60px #0007;z-index:40}.chat-panel[open]{display:flex;flex-direction:column;animation:chat-in .23s var(--ease)}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 20px;border-bottom:1px solid var(--steel)}.chat-head h2{font-size:26px;letter-spacing:-.025em}.chat-head p{font-size:12px;margin-top:5px}.chat-close{border:0;flex-shrink:0}.chat-content{overflow:auto;overscroll-behavior:contain;padding:22px 20px}.chat-welcome{font-size:14px;margin-bottom:22px}.chat-start{font-size:14px;width:100%;gap:20px}.chat-faqs details{border-top:1px solid var(--steel)}.chat-faqs summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:52px;padding-block:13px;font-size:14px}.chat-faqs summary svg{width:16px;height:16px;flex-shrink:0;transition:transform .2s}.chat-faqs details>p{font-size:13px;line-height:1.7;padding:0 0 20px}.chat-footer{padding:17px 20px;border-top:1px solid var(--steel)}.chat-footer a{display:flex;align-items:center;justify-content:space-between;font-size:13px;min-height:36px}.chat-footer a svg{width:17px;height:17px}.chat-footer small{font-size:12px;color:var(--ash)}@keyframes chat-in{from{transform:translateY(8px);opacity:.7}to{transform:none;opacity:1}}
.legal-page{display:grid;grid-template-columns:.85fr 1.1fr;gap:12%;padding-block:100px 140px}.legal-page h1{font-size:clamp(42px,5vw,76px)}.legal-page>div>p{font-size:12px;margin-top:28px}.legal-page>div>nav{display:flex;flex-direction:column;gap:8px;margin-top:40px}.legal-page>div>nav>a{font-size:14px;color:var(--ash);padding-block:6px;min-height:36px}.legal-content section+section{margin-top:48px}.legal-content h2{font-size:26px;margin-bottom:20px}.legal-content p{font-size:16px;line-height:1.75}.legal-content a{text-decoration:underline;text-underline-offset:4px}.not-found{padding-block:100px 140px}.not-found>span{color:var(--crimson-light);font-size:22px}.not-found h1{margin-top:20px}.not-found p{margin-block:30px;max-width:45ch}
@media(hover:hover) and (pointer:fine){.button:hover{background:var(--ivory);color:var(--black)}.button-crimson:hover{background:var(--crimson-light);color:var(--ivory)}.text-link:hover{border-color:var(--ivory)}.desktop-nav a:hover{color:var(--ivory)}.icon-button:hover,.social-links a:hover{background:var(--graphite)}.circle-link:hover{background:var(--ivory);color:var(--black)}.project-cover:hover .project-screen{transform:translateY(-5px)}.project-folder:hover .sheet-one,.project-folder:focus-visible .sheet-one{transform:translate(-40px,-68px) rotate(-15deg)}.project-folder:hover .sheet-two,.project-folder:focus-visible .sheet-two{transform:translate(46px,-60px) rotate(15deg)}.project-folder:hover .sheet-three,.project-folder:focus-visible .sheet-three{transform:translate(0,-70px) rotate(-2deg)}.project-folder:hover .folder-front{transform:rotateX(-12deg)}.mountain-logo:hover{transform:translateY(-4px)}.chat-fab:hover{background:var(--crimson-light);transform:translateY(-2px)}.footer-bottom a:hover{color:var(--ivory)}}
@media(min-width:1800px){.home-hero{padding-top:70px;padding-bottom:80px}.hero-wordmark{margin-block:80px}.hero-bottom h2{font-size:76px}}
@media(max-width:1000px){:root{--header:76px}.desktop-nav{gap:20px}.header-actions{gap:15px}.header-contact{display:none}.home-hero{padding-top:40px}.hero-wordmark{margin-block:60px 45px}.hero-bottom{gap:40px}.hero-aside{max-width:250px}.intro-section,.services-section{gap:7%}.intro-section{padding-block:100px}.services-section{padding-bottom:100px}.project-cta{padding-block:100px;gap:40px}.footer-main{gap:30px;grid-template-columns:1fr 1fr}.footer-main>p{display:none}.page-intro{padding-top:65px;gap:45px}.page-intro>p{max-width:260px;font-size:16px}.story-section{gap:8%;padding-block:100px}.values-section{gap:30px;padding-block:90px}.work-hero{gap:7%;min-height:580px}.project-folder{height:275px}.folder-front{inset:95px 0 0;padding:18px 22px}.folder-front>strong{font-size:34px}.folder-front>span:last-child{font-size:12px}.contact-landscape{min-height:600px}.contact-section{gap:8%;padding-block:90px}.case-heading,.case-brief,.case-result{gap:8%}.legal-page{gap:8%}}
@media(max-width:700px){:root{--header:72px}.header-inner{gap:20px}.brand .logo{width:110px}.desktop-nav{display:none}.header-actions{gap:12px}.menu-toggle{display:flex}.home-hero{padding-top:35px;padding-bottom:38px}.hero-meta{font-size:12px;gap:20px}.hero-meta>span{max-width:150px}.hero-meta>span:last-child{text-align:right}.hero-wordmark{margin:65px -3px 50px}.hero-bottom{display:block}.hero-bottom h2{font-size:clamp(34px,8vw,52px)}.hero-aside{display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:none;margin-top:25px}.hero-aside p{font-size:12px;max-width:210px}.scroll-link{font-size:0;flex-shrink:0;width:44px;height:44px;border:1px solid var(--steel);border-radius:50%;justify-content:center;padding:0;margin:0}.scroll-link svg{width:16px;height:16px}.film-frame{aspect-ratio:1.14}.film video{object-position:50% 50%}.film-control{bottom:16px;right:16px;width:44px;height:44px}.film figcaption{font-size:12px;gap:20px}.film figcaption>span:first-child{max-width:220px}.film figcaption>span:last-child{font-size:12px}.intro-section{display:block;padding-block:85px}.intro-section h2{font-size:clamp(34px,8.2vw,52px)}.intro-copy{margin-top:35px}.intro-copy .lead{font-size:23px}.intro-copy>p:not(.lead){font-size:15px}.services-section{display:block;padding-bottom:80px}.services-section>h2{font-size:32px;margin-bottom:35px}.service-list summary{padding-block:22px;font-size:25px}.service-list details>p{font-size:14px}.board-section{padding-block:45px}.flap-board{gap:5px}.flap-row{gap:2px;font-size:clamp(14px,4.3vw,26px);line-height:1.9}.flap-tile{border-radius:2px}.board-footer{margin-top:18px;gap:10px}.board-footer p{font-size:12px;max-width:200px}.board-footer>div{gap:0}.selected-work{padding-top:80px;padding-bottom:0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:42px}.section-heading .text-link{margin-top:20px;font-size:13px}.project-cover-art{aspect-ratio:1.3;padding:35px 6% 0}.project-screen{height:100%;border-radius:3px 3px 0 0}.project-screen img{height:100%;object-fit:cover;object-position:top left}.project-open{right:15px;bottom:15px;width:42px;height:42px}.project-open svg{width:20px;height:20px}.project-caption{display:block;padding-top:20px}.project-caption h3{font-size:21px}.project-caption span{display:block;font-size:12px;margin-top:7px}.project-cta{display:block;padding-block:85px}.project-cta h2{font-size:clamp(42px,10vw,62px)}.project-cta>div{margin-top:30px;max-width:320px}.project-cta p{font-size:14px;margin-bottom:23px}.site-footer{padding-top:35px;padding-bottom:85px}.footer-main{display:block;padding-bottom:22px}.footer-main>a{display:block;max-width:155px;margin-bottom:35px}.footer-main>div>span{font-size:12px}.footer-email{font-size:17px}.footer-main .social-links{margin-top:8px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:5px;font-size:12px}.footer-bottom nav{gap:26px}.page-intro{display:block;padding-top:55px;padding-bottom:35px}.page-intro h1{font-size:clamp(49px,12vw,78px)}.page-intro>p{max-width:34ch;font-size:16px;margin-top:28px}.studio-image img{aspect-ratio:1.05;object-position:60% center}.studio-image figcaption{font-size:12px}.story-section{display:block;padding-block:80px}.story-section h2{font-size:37px}.story-section>div{margin-top:35px}.story-section p{font-size:15px}.studio-belief{padding-block:65px}.studio-belief>.wrap{display:block}.studio-belief p{font-size:37px}.studio-belief .logo{width:110px;margin-top:35px}.values-section{display:block;padding-block:75px 45px}.values-section article{padding-top:22px;padding-bottom:35px}.values-section h2{font-size:27px;margin-bottom:18px}.values-section p{max-width:50ch}.languages-section{display:block;padding-block:20px 75px}.languages-section h2{font-size:34px}.languages-section p{font-size:15px;margin-top:20px}.language-words{margin-top:40px;font-size:75px;max-width:340px}.process-section{padding-block:65px}.process-section>h2{font-size:37px;margin-bottom:35px}.process-list li{grid-template-columns:30px 1fr;gap:10px 16px;padding-block:24px}.process-list h3{font-size:22px}.process-list p{grid-column:2;font-size:14px}.step-number{font-size:12px}.work-hero{display:block;padding-top:55px;padding-bottom:85px;min-height:0}.work-hero h1{font-size:clamp(47px,11.5vw,70px)}.work-hero>div>p{font-size:15px;margin-top:24px}.project-folder{width:85%;height:280px;margin:100px auto 0;max-width:390px}.folder-front{inset:95px 0 0;padding:22px}.folder-front>strong{font-size:40px}.case-study{padding-top:65px}.case-heading{display:block}.case-client{font-size:12px;margin-bottom:23px}.case-heading h2{font-size:39px}.case-heading>div+div{margin-top:25px}.case-heading p{font-size:15px}.case-meta{display:flex;flex-wrap:wrap;gap:25px 30px;margin-block:35px 30px}.case-meta>div{flex:1 1 40%}.case-meta dt{font-size:12px}.case-meta dd{font-size:12px}.case-main-image{margin-inline:calc(var(--gutter)*-1)}.case-main-image img{min-height:245px;object-fit:cover;object-position:left top}.case-brief{display:block;padding-block:70px 45px}.case-brief h2{font-size:37px;margin-bottom:30px}.case-brief .lead{font-size:20px}.case-brief dl>div{grid-template-columns:75px 1fr;gap:20px;padding-block:20px}.case-brief dt{font-size:12px}.case-brief dd{font-size:14px}.case-gallery{grid-template-columns:1fr;gap:28px}.case-gallery img{aspect-ratio:auto}.case-result{display:block;padding-block:65px}.case-result h2{font-size:37px}.case-result p{font-size:15px;margin-top:25px}.case-result figure{margin-top:35px;padding:20px}.testimonial{display:block;padding-top:45px;padding-bottom:65px}.quote-mark{font-size:100px;top:-10px}.testimonial blockquote{font-size:30px;max-width:none}.testimonial figcaption{margin-top:28px}.testimonial small{margin-top:16px;max-width:38ch}.contact-landscape{min-height:600px;height:calc(90svh - var(--header));max-height:820px}.contact-landscape-content{padding-block:45px}.mountain-logo{max-width:240px;margin-top:35px}.contact-landscape h1{font-size:clamp(38px,9.8vw,60px)}.contact-landscape-content>div{gap:16px}.contact-landscape .circle-link{width:45px;height:45px}.contact-landscape-content>p{font-size:14px;max-width:33ch}.contact-section{display:block;padding-block:75px 85px}.contact-intro h2{font-size:40px}.contact-intro>p{font-size:15px;margin-top:23px}.contact-direct{margin-top:30px}.contact-direct>a{font-size:19px}.contact-direct>.social-links{margin-top:10px}#contact-form{margin-top:55px}.form-row{gap:20px}.field input,.field select,.field textarea{font-size:16px}.field label{font-size:12px}.form-hint{font-size:12px}.message-preview{padding:22px}.message-preview h3{font-size:27px}.chat-fab{right:18px;bottom:18px;width:50px;height:50px}.chat-panel{right:16px;bottom:80px;max-height:calc(100dvh - 105px)}.chat-head{padding:18px}.chat-content{padding:18px}.chat-head h2{font-size:24px}.legal-page{display:block;padding-block:60px 80px}.legal-page h1{font-size:45px}.legal-page>div>nav{display:none}.legal-content{margin-top:50px}.legal-content h2{font-size:25px}.legal-content p{font-size:15px}.not-found{padding-block:70px}.not-found h1{font-size:50px}}
@media(max-width:360px){.hero-meta{font-size:12px}.hero-wordmark{margin-block:50px 40px}.form-row{grid-template-columns:1fr;gap:0}.flap-row{font-size:12px}.project-folder{width:92%}.contact-landscape-content>div{display:block}.contact-landscape .circle-link{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.project-folder{animation:none}.hero-wordmark{transform:none!important;opacity:1!important}}

/* Blend the whole landscape content layer against its photographic backdrop. */
.contact-landscape-content{mix-blend-mode:screen}
/* Stationary tile shells with independently rolling letter strips. */
.hero-wordmark{overflow:hidden}
.hero-wordmark .logo{animation:wordmark-enter 820ms var(--ease) 80ms both}
@keyframes wordmark-enter{
  from{transform:translateY(110%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .hero-wordmark .logo{animation:wordmark-fade 180ms linear both;animation-duration:180ms!important;animation-delay:0ms}
  @keyframes wordmark-fade{from{opacity:0}to{opacity:1}}
}
.flap-tile{height:1.55em;overflow:hidden}
.flap-track{display:block}
.flap-glyph{display:block;height:1.55em;line-height:1.55}
.flap-tile::after{z-index:1;pointer-events:none}
.board-next:disabled{opacity:.35;cursor:default}
@media(max-width:700px){.flap-tile,.flap-glyph{height:1.9em}.flap-glyph{line-height:1.9}}
/* Occasional, once-per-view entrance for long-form sections; keeps scroll depth feeling built, not dumped. */
[data-reveal]{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-reveal].reveal-ready:not(.is-visible){opacity:0;transform:translateY(26px)}
[data-reveal].is-visible{opacity:1;transform:none}
.values-section article[data-reveal]:nth-child(2){transition-delay:.08s}
.values-section article[data-reveal]:nth-child(3){transition-delay:.16s}
.service-list details[data-reveal]:nth-child(2){transition-delay:.07s}
.service-list details[data-reveal]:nth-child(3){transition-delay:.14s}
.process-list li[data-reveal]:nth-child(2){transition-delay:.06s}
.process-list li[data-reveal]:nth-child(3){transition-delay:.12s}
.process-list li[data-reveal]:nth-child(4){transition-delay:.18s}
.case-gallery figure[data-reveal]:nth-child(2){transition-delay:.09s}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal].reveal-ready:not(.is-visible){opacity:1;transform:none;transition:none}}

/* Touch targets retain their visual size while offering room for a fingertip. */
.brand,.contact-direct>a,.mobile-menu-bottom>a{display:inline-flex;align-items:center;min-height:44px}
.mobile-menu-top{position:sticky;top:-24px;z-index:1;background:var(--black);flex-shrink:0}
.mobile-menu-bottom{flex-shrink:0}
@media(max-width:700px){
  .chat-fab{bottom:max(18px,env(safe-area-inset-bottom))}
  .chat-panel{bottom:calc(62px + max(18px,env(safe-area-inset-bottom)))}
}
@media(max-width:700px) and (max-height:500px){
  .mobile-menu{padding-block:16px}
  .mobile-menu-top{top:-16px}
  .mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:20px 0}
  .mobile-menu nav a{font-size:clamp(28px,5vw,36px);line-height:1.25;min-height:44px;display:flex;align-items:center}
  .mobile-menu-bottom{margin-bottom:0;gap:8px}
}
