:root{--paper:#f3f1eb;--paper-deep:#e6e3da;--ink:#1d2928;--muted:#68736f;--line:#1d29282e;--teal:#1f5a5b;--teal-dark:#153f40;--coral:#e86d58;--yellow:#d7b45c;--white:#fffdf8;--max-width:1240px;--font-sans:"Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-display:"Helvetica Neue", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.75}body.menu-is-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.skip-link{z-index:20;color:var(--ink);background:var(--yellow);padding:8px 12px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;max-width:var(--max-width);color:var(--white);justify-content:space-between;align-items:center;margin:0 auto;padding:26px 32px;display:flex;position:absolute;top:0;left:0;right:0}.brand{font-family:var(--font-display);letter-spacing:.14em;align-items:center;gap:11px;font-size:13px;font-weight:700;display:inline-flex}.brand-mark{width:28px;height:28px;color:var(--ink);background:var(--yellow);letter-spacing:0;place-items:center;font-size:15px;display:grid}.main-nav{letter-spacing:.08em;align-items:center;gap:30px;font-size:12px;display:flex}.main-nav a{opacity:.9;position:relative}.main-nav a:not(.nav-contact):after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.main-nav a:not(.nav-contact):hover:after{transform-origin:0;transform:scaleX(1)}.nav-contact{color:var(--yellow);border-left:1px solid #fffdf880;padding:8px 0 8px 15px}.nav-contact span,.button span,.contact-email span{margin-left:8px;transition:transform .18s;display:inline-block}.nav-contact:hover span,.button:hover span,.contact-email:hover span{transform:translate(3px,-3px)}.menu-toggle{color:var(--white);letter-spacing:.14em;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;display:none}.hero{min-height:88svh;color:var(--white);background:var(--teal-dark);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-overlay{background:#0c20208a}.hero-content{z-index:1;width:min(var(--max-width), 100%);margin:0 auto;padding:180px 32px 118px;position:relative}.eyebrow{font-family:var(--font-display);letter-spacing:.18em;margin:0 0 20px;font-size:11px;font-weight:700;line-height:1.4}.eyebrow-light{color:var(--yellow)}.eyebrow-dark{color:var(--teal)}.hero h1,.section-heading h2,.works-heading h2,.contact-copy h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:500;line-height:1.12}.hero h1{max-width:760px;font-size:76px}h1 em,h2 em{color:var(--yellow);font-style:normal}.hero-lead{color:#fffdf8d6;margin:28px 0 32px;font-size:17px;line-height:1.9}.button{letter-spacing:.04em;cursor:pointer;border:1px solid #0000;align-items:center;min-height:48px;padding:0 18px;font-size:12px;font-weight:700;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-light{color:var(--ink);background:var(--white)}.button-light:hover{background:var(--yellow)}.button-coral{color:var(--white);background:var(--coral)}.button-coral:hover{background:#cf5845}.hero-meta{z-index:1;color:#fffdf8b3;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;gap:20px;font-size:10px;display:flex;position:absolute;bottom:38px;right:32px}.hero-scroll{z-index:1;color:#fffdf8c2;font-family:var(--font-display);letter-spacing:.14em;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:34px;left:32px}.scroll-line{background:currentColor;width:42px;height:1px;display:inline-block}.section{width:min(var(--max-width), 100%);margin:0 auto;padding:128px 32px}.about-section{background:var(--paper)}.section-label{color:var(--teal);font-family:var(--font-display);letter-spacing:.16em;align-items:center;gap:8px;margin-bottom:74px;font-size:11px;font-weight:700;display:flex}.section-label span{color:var(--coral)}.section-label-light{color:#fffdf8b8}.section-label-light span{color:var(--yellow)}.about-layout,.process-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:12%;display:grid}.section-heading h2,.works-heading h2,.contact-copy h2{font-size:57px}.section-heading h2 em,.works-heading h2 em{color:var(--coral)}.about-copy{color:var(--muted);padding-top:11px}.about-copy p{margin:0 0 22px}.about-copy .lead-copy{color:var(--ink);font-size:21px;line-height:1.7}.text-link{border-bottom:1px solid var(--ink);align-items:center;margin-top:20px;padding-bottom:5px;font-size:12px;font-weight:700;display:inline-flex}.text-link span{color:var(--coral);margin-left:15px;font-size:19px;line-height:1;transition:transform .18s}.text-link:hover span{transform:translate(5px)}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:30px;margin-top:108px;padding-top:24px;display:grid}.stat-item{align-items:baseline;gap:14px;display:flex}.stat-item strong{color:var(--teal);font-family:var(--font-display);font-size:52px;font-weight:500;line-height:1}.stat-item span{color:var(--muted);font-family:var(--font-display);letter-spacing:.12em;font-size:9px;font-weight:700;line-height:1.45}.works-section{max-width:none;padding-right:max(32px, calc((100vw - var(--max-width)) / 2 + 32px));padding-left:max(32px, calc((100vw - var(--max-width)) / 2 + 32px));color:var(--white);background:var(--teal)}.section-topline{justify-content:space-between;align-items:flex-start;display:flex}.section-note{color:#fffdf8ab;text-align:right;margin:0;font-size:13px}.works-heading{margin-bottom:46px}.filter-bar{gap:8px;margin-bottom:42px;display:flex}.filter-button{color:#fffdf8b8;cursor:pointer;background:0 0;border:1px solid #fffdf861;min-height:35px;padding:0 15px;font-size:11px;transition:color .18s,border-color .18s,background .18s}.filter-button:hover,.filter-button.is-active{border-color:var(--yellow);color:var(--ink);background:var(--yellow)}.work-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:64px 38px;display:grid}.work-card-large{grid-row:span 2}.work-image{background:var(--teal-dark);display:block;position:relative;overflow:hidden}.work-card-large .work-image{height:620px}.work-card:not(.work-card-large) .work-image{height:260px}.work-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.work-image:hover img{transform:scale(1.04)}.work-number,.work-arrow{color:var(--white);font-family:var(--font-display);letter-spacing:.08em;font-size:12px;font-weight:700;position:absolute;top:20px}.work-number{left:20px}.work-arrow{font-size:21px;line-height:1;transition:transform .18s;right:20px}.work-image:hover .work-arrow{transform:translate(3px,-3px)}.work-info{border-top:1px solid #fffdf859;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:16px;display:flex}.work-info h3{font-family:var(--font-display);letter-spacing:.04em;margin:0 0 3px;font-size:16px;font-weight:500}.work-info p,.work-info>span{color:#fffdf89e;margin:0;font-size:11px}.work-info>span{font-family:var(--font-display)}.process-section{background:var(--paper-deep)}.process-list{border-top:1px solid var(--line)}.process-item{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr;gap:20px;padding:25px 0;display:grid}.process-item>span{color:var(--coral);font-family:var(--font-display);font-size:11px;font-weight:700}.process-item h3{font-family:var(--font-display);margin:-5px 0 5px;font-size:23px;font-weight:500}.process-item p{max-width:420px;color:var(--muted);margin:0;font-size:13px}.contact-section{color:var(--white);background:var(--teal-dark)}.contact-inner{width:min(var(--max-width), 100%);grid-template-columns:minmax(0,.9fr) minmax(320px,.8fr);gap:14%;margin:0 auto;padding:128px 32px;display:grid}.contact-copy h2{margin-bottom:28px}.contact-copy>p:not(.eyebrow){color:#fffdf8b8;max-width:370px;margin:0 0 35px;font-size:14px}.contact-email{border-bottom:1px solid var(--yellow);color:var(--yellow);font-family:var(--font-display);align-items:center;padding-bottom:6px;font-size:13px;display:inline-flex}.contact-form{flex-direction:column;align-items:stretch;display:flex}.contact-form label{color:#fffdf8d4;margin:0 0 7px;font-size:12px}.contact-form label:not(:first-child){margin-top:19px}.contact-form label span{color:var(--yellow);margin-left:7px;font-size:10px}.contact-form input,.contact-form textarea{width:100%;color:var(--white);resize:vertical;background:0 0;border:0;border-bottom:1px solid #fffdf859;border-radius:0;outline:0;padding:11px 0;font-size:14px;transition:border-color .18s}.contact-form textarea{min-height:108px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#fffdf85c}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--yellow)}.contact-form .button{align-self:flex-start;margin-top:30px}.form-note{color:#fffdf875;margin:12px 0 0;font-size:10px}.site-footer{width:min(var(--max-width), 100%);color:var(--muted);font-family:var(--font-display);letter-spacing:.1em;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:0 auto;padding:28px 32px;font-size:10px;display:grid}.brand-footer{color:var(--ink)}.site-footer p{margin:0}.footer-copy{text-align:right}.toast{z-index:30;max-width:min(360px,100vw - 40px);color:var(--white);background:var(--coral);opacity:0;pointer-events:none;padding:14px 17px;font-size:12px;transition:opacity .18s,transform .18s;position:fixed;bottom:20px;right:20px;transform:translateY(12px)}.toast.is-visible{opacity:1;transform:translateY(0)}[data-reveal]{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.work-card.is-hidden{display:none}@media (width<=900px){.main-nav{gap:18px}.hero h1{font-size:62px}.about-layout,.process-layout,.contact-inner{gap:60px}.work-grid{gap:44px 24px}.work-card-large .work-image{height:510px}}@media (width<=700px){.site-header{padding:20px}.brand-name{font-size:11px}.menu-toggle{display:block}.main-nav{color:var(--white);background:var(--teal-dark);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;padding:100px 32px 40px;font-size:22px;transition:opacity .2s,transform .2s;display:flex;position:fixed;inset:0;transform:translate(100%)}.main-nav.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.nav-contact{border-top:1px solid #fffdf866;border-left:0;padding:12px 0 0;font-size:13px}.hero{min-height:760px}.hero-content{padding:160px 20px 145px}.hero h1{font-size:45px}.hero-lead{font-size:14px}.hero-meta{font-size:9px;bottom:28px;right:20px}.hero-scroll{bottom:28px;left:20px}.section{padding:86px 20px}.section-label{margin-bottom:52px}.about-layout,.process-layout,.contact-inner{display:block}.section-heading h2,.works-heading h2,.contact-copy h2{font-size:43px}.about-copy{margin-top:45px}.about-copy .lead-copy{font-size:18px}.stats{gap:14px;margin-top:72px}.stat-item{display:block}.stat-item strong{margin-bottom:9px;font-size:39px;display:block}.stat-item span{font-size:8px}.works-section{padding-left:20px;padding-right:20px}.section-topline{display:block}.section-note{text-align:left;margin-top:-22px}.works-heading{margin-top:60px}.filter-bar{margin-right:-20px;padding-bottom:5px;padding-right:20px;overflow-x:auto}.filter-button{flex:none}.work-grid{display:block}.work-card,.work-card-large{margin-bottom:48px}.work-card-large .work-image,.work-card:not(.work-card-large) .work-image{height:330px}.process-list{margin-top:52px}.process-item{grid-template-columns:34px 1fr;gap:10px}.contact-inner{padding:86px 20px}.contact-form{margin-top:58px}.site-footer{padding:25px 20px;display:block}.site-footer p{margin-top:15px}.footer-copy{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
