:root{--ink:#111;--muted:#6b6b6b;--line:#dedede;--surface:#f4f4f2;--white:#fff;--accent:#d72c2c;--shell:min(1180px, calc(100vw - 80px));--display:"Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;--body:Inter, "Helvetica Neue", "Hiragino Sans", "Yu Gothic", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px;overflow-x:hidden}body{min-width:320px;color:var(--ink);background:var(--white);font-family:var(--body);letter-spacing:.025em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.8;overflow-x:hidden}button,a{color:inherit}a{text-decoration:none}img{max-width:100%;display:block}.shell{width:var(--shell);margin-inline:auto}.skip-link{z-index:1000;background:var(--ink);color:var(--white);padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header{z-index:100;backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #11111114;height:84px;position:fixed;inset:0 0 auto}.header-inner{width:var(--shell);justify-content:space-between;align-items:center;height:100%;margin-inline:auto;display:flex}.header-logo{min-width:122px;display:inline-flex}.brand-logo{place-items:center start;width:180px;min-height:64px;display:inline-grid;position:relative}.brand-logo img{object-fit:contain;object-position:left center;width:180px;height:64px}.brand-logo--compact,.brand-logo--compact img{width:122px;height:44px;min-height:44px}.brand-logo__placeholder{color:var(--ink);align-items:center;gap:10px;display:none}.brand-logo__placeholder>span{background:var(--accent);width:48px;height:1px}.brand-logo__placeholder small{letter-spacing:.22em;font-size:9px;line-height:1}.brand-logo--missing img{display:none}.brand-logo--missing .brand-logo__placeholder{display:flex}.brand-logo--light .brand-logo__placeholder{color:var(--white)}.global-nav{letter-spacing:.08em;align-items:center;gap:34px;font-size:13px;font-weight:500;display:flex}.global-nav a{position:relative}.global-nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .18s;position:absolute;inset:auto 0 -5px;transform:scaleX(0)}.global-nav a:hover:after,.global-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.global-nav__contact{color:var(--white);background:var(--ink);padding:11px 18px}.global-nav__contact:after{display:none}.menu-toggle{font:inherit;background:0 0;border:0;display:none}.hero{border-bottom:1px solid var(--line);isolation:isolate;min-height:100svh;padding-top:84px;position:relative}.hero-grid{z-index:-1;pointer-events:none;grid-template-columns:1fr repeat(2,minmax(0,590px)) 1fr;display:grid;position:absolute;inset:84px 0 0}.hero-grid span{border-left:1px solid #1111110b}.hero-grid span:last-child{border-right:1px solid #1111110b}.hero-inner{grid-template-rows:auto 1fr auto;min-height:calc(100svh - 84px);padding:52px 0 30px;display:grid}.hero-logo{display:none}.hero-main{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:end;gap:8vw;padding:7vh 0 8vh;display:grid}.eyebrow,.section-heading__label{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 24px;font-size:11px;font-weight:600;line-height:1.2;display:flex}.eyebrow>span,.section-heading__label>span{background:var(--accent);width:28px;height:1px}.hero h1{font-family:var(--display);letter-spacing:-.075em;margin:0;font-size:clamp(72px,10vw,154px);font-weight:500;line-height:.94}.hero-support{padding-bottom:1.1em}.hero-support>p{color:#444;margin:0 0 38px;line-height:2}.button-row{align-items:center;gap:26px;display:flex}.button{letter-spacing:.06em;justify-content:space-between;align-items:center;gap:40px;min-height:52px;padding:12px 20px;font-size:13px;font-weight:600;transition:color .18s,background-color .18s,transform .18s;display:inline-flex}.button--dark{min-width:178px;color:var(--white);background:var(--ink)}.button--dark:hover{background:#2c2c2c;transform:translateY(-2px)}.button--text{border-bottom:1px solid var(--ink);min-width:116px;padding-inline:0}.button--text:hover{color:var(--accent);border-color:var(--accent)}.hero-foot{color:#898989;letter-spacing:.16em;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;font-size:9px;display:grid}.hero-foot__line{background:var(--line);height:1px}.section{padding:150px 0}.section-heading{grid-template-columns:1fr 2fr;align-items:start;padding-bottom:48px;display:grid}.section-heading h2{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(40px,5vw,72px);font-weight:500;line-height:1.15}.service-list{border-top:1px solid var(--ink)}.service-item{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(220px,.8fr) minmax(280px,1.2fr) 36px;align-items:center;gap:28px;min-height:148px;display:grid;position:relative}.service-number{color:var(--accent);letter-spacing:.16em;align-self:start;padding-top:38px;font-size:11px;font-weight:700}.service-item h3{letter-spacing:-.025em;margin:0;font-size:23px;font-weight:500}.service-item p{max-width:520px;color:var(--muted);margin:0;font-size:14px}.service-mark{width:32px;height:32px;position:relative}.service-mark:before,.service-mark:after{content:"";background:var(--ink);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.service-mark:before{width:28px;height:1px}.service-mark:after{width:1px;height:28px}.works{background:var(--surface)}.works-note{width:max-content;max-width:100%;color:var(--muted);margin:-25px 0 48px auto;font-size:12px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:62px 28px;display:grid}.work-card{min-width:0}.work-visual{aspect-ratio:1.55;background:#e5e5e2;position:relative;overflow:hidden}.work-visual img{z-index:2;object-fit:cover;width:100%;height:108%;transition:transform .3s;position:absolute;inset:-8% 0 0}.work-card:hover .work-visual img{transform:scale(1.018)}.work-visual__mask{z-index:3;pointer-events:none;background:linear-gradient(#11111152,#0000);height:15%;position:absolute;inset:0 0 auto}.work-visual__fallback{background:#fff;border:1px solid #11111124;padding:10%;position:absolute;inset:12% 9% 0;box-shadow:0 18px 45px #11111112}.work-visual__fallback:before{content:"";background:#262626;height:9%;position:absolute;inset:0 0 auto}.work-visual__fallback span{background:#e6e6e4;height:8%;margin-bottom:7%;display:block}.work-visual__fallback span:first-child{background:var(--accent);width:35%;margin-top:8%}.work-visual__fallback span:nth-child(2){background:#bdbdb9;width:72%;height:16%}.work-visual__fallback span:nth-child(3){width:92%}.work-visual__fallback span:nth-child(4){width:58%}.work-visual--2 .work-visual__fallback{background:#181818}.work-visual--2 .work-visual__fallback span{background:#4a4a4a}.work-visual--3 .work-visual__fallback,.work-visual--4 .work-visual__fallback{background:#f8f8f7;grid-template-columns:1fr 1fr;gap:8%;display:grid}.work-visual--3 .work-visual__fallback span,.work-visual--4 .work-visual__fallback span{background:#dededb;width:auto;height:auto;margin:0}.work-body{padding-top:20px}.work-meta{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.work-meta span:first-child{color:var(--accent)}.work-body h3{letter-spacing:-.025em;margin:12px 0 18px;font-size:24px;font-weight:500}.work-body ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.work-body li{color:var(--muted);border:1px solid #cfcfcc;padding:5px 10px;font-size:10px}.about-grid{grid-template-columns:1fr 2fr;align-items:start;display:grid}.about-grid .section-heading{padding-right:48px;display:block;position:sticky;top:130px}.about-grid .section-heading h2{font-size:clamp(36px,4.1vw,62px)}.about-body{border-left:1px solid var(--line);padding-left:7vw}.about-lead{letter-spacing:-.04em;margin:0 0 70px;font-size:clamp(28px,3.6vw,50px);font-weight:500;line-height:1.5}.about-copy{color:#484848;max-width:620px}.about-copy>p{margin:0 0 28px}.about-copy blockquote{border-left:2px solid var(--accent);color:var(--ink);margin:44px 0;padding:3px 0 3px 28px}.about-copy blockquote p{margin:0 0 5px}.contact{color:var(--white);background:var(--ink);position:relative;overflow:hidden}.contact-grid{z-index:2;grid-template-columns:1fr 2fr;display:grid;position:relative}.contact .section-heading{padding-right:50px;display:block}.section-heading--light .section-heading__label{color:#aaa}.section-heading--light h2{font-size:clamp(38px,5vw,70px)}.contact-content{border-left:1px solid #383838;padding-left:7vw}.contact-content>p{color:#b9b9b9;margin:4px 0 66px}.contact-links{border-top:1px solid #4a4a4a}.contact-links a,.contact-link{border-bottom:1px solid #4a4a4a;justify-content:space-between;align-items:center;min-height:112px;transition:color .18s,padding .18s;display:flex}.contact-links a:hover{color:#e66363;padding-left:10px}.contact-links a>span:first-child,.contact-link>span:first-child{gap:5px;font-size:24px;display:grid}.contact-links small{color:#8e8e8e;letter-spacing:.13em;text-transform:uppercase;font-size:9px}.contact-link--disabled{color:#878787}.contact-link--disabled>span:last-child{letter-spacing:.12em;font-size:10px}.contact-orbit{pointer-events:none;border:1px solid #ffffff0a;border-radius:50%;position:absolute}.contact-orbit--one{width:560px;height:560px;top:-260px;right:-280px}.contact-orbit--two{border-color:#d72c2c33;width:320px;height:320px;top:-140px;right:-160px}.site-footer{color:var(--white);background:var(--ink);border-top:1px solid #313131}.footer-main{justify-content:space-between;align-items:center;min-height:260px;display:flex}.footer-main p{color:#929292;margin:14px 0 0;font-size:13px}.footer-main nav{gap:30px;font-size:12px;display:flex}.footer-main nav span{color:#666}.footer-bottom{color:#8c8c8c;border-top:1px solid #313131;justify-content:space-between;align-items:center;min-height:70px;font-size:10px;display:flex}.footer-bottom a:hover{color:var(--white)}.not-found{flex-direction:column;justify-content:center;width:min(780px,100vw - 48px);min-height:100svh;margin-inline:auto;display:flex}.not-found h1{letter-spacing:-.06em;margin:0 0 30px;font-size:clamp(54px,9vw,108px);font-weight:500;line-height:1.05}.not-found>p:not(.eyebrow){color:var(--muted);margin:0 0 36px}.not-found .button{width:max-content}[data-reveal]{opacity:0;transition:opacity .42s,transform .42s;transform:translateY(8px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (width<=900px){:root{--shell:min(100% - 48px, 760px)}.hero-main{grid-template-columns:1fr;align-content:center;gap:50px}.hero-support{max-width:520px}.service-item{grid-template-columns:54px 1fr 30px;padding:28px 0}.service-number{padding-top:4px}.service-item p{grid-column:2/4}.service-mark{grid-area:1/3}.about-grid,.contact-grid{grid-template-columns:1fr}.about-grid .section-heading{padding-right:0;position:static}.about-body,.contact-content{border-left:0;padding:0}}@media (width<=760px){:root{--shell:calc(100vw - 40px)}.site-header{height:70px}.menu-toggle{z-index:2;letter-spacing:.1em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:9px;min-width:64px;min-height:44px;padding:0;font-size:10px;display:flex;position:relative}.menu-toggle__lines{border-top:1px solid;border-bottom:1px solid;width:20px;height:12px;position:relative}.global-nav{border-bottom:1px solid var(--line);visibility:hidden;background:#fffffffa;gap:0;padding:10px 20px 22px;transition:transform .2s,visibility .2s;display:grid;position:fixed;inset:70px 0 auto;transform:translateY(-130%)}.global-nav.is-open{visibility:visible;transform:translateY(0)}.global-nav a{border-bottom:1px solid #ededed;align-items:center;min-height:48px;display:flex}.global-nav__contact{justify-content:center;margin-top:10px;border-bottom:0!important}.brand-logo--compact,.brand-logo--compact img{width:106px;height:38px;min-height:38px}.hero{min-height:100svh;padding-top:70px}.hero-grid{grid-template-columns:20px 1fr 20px;inset:70px 0 0}.hero-grid span:nth-child(3){display:none}.hero-inner{min-height:calc(100svh - 70px);padding:32px 0 22px}.hero-main{gap:38px;padding:5vh 0}.hero h1{letter-spacing:-.08em;font-size:clamp(58px,20vw,78px);line-height:1.02}.eyebrow{margin-bottom:18px;font-size:9px}.hero-support>p{margin-bottom:28px;font-size:14px;line-height:1.9}.hero-support>p br{display:none}.button-row{gap:20px}.button{min-height:50px}.button--dark{min-width:156px}.hero-foot{gap:13px;font-size:7px}.section{padding:94px 0}.section-heading{grid-template-columns:1fr;gap:7px;padding-bottom:36px}.section-heading__label{margin-bottom:12px}.section-heading h2{font-size:43px}.service-item{grid-template-columns:40px 1fr 26px;gap:10px;padding:25px 0 27px}.service-item h3{font-size:19px}.service-item p{margin-top:8px;font-size:13px;line-height:1.8}.service-mark{width:24px;height:24px}.service-mark:before{width:22px}.service-mark:after{height:22px}.works-note{width:auto;margin:-18px 0 35px;line-height:1.7}.works-grid{grid-template-columns:1fr;gap:48px}.work-body h3{font-size:21px}.about-lead{margin-bottom:42px;font-size:29px}.about-copy{font-size:14px}.about-copy blockquote{margin:34px 0;padding-left:18px;font-size:13px}.contact .section-heading{padding-right:0}.contact-content>p{margin-bottom:40px;font-size:14px}.contact-content>p br{display:none}.contact-links a,.contact-link{min-height:92px}.contact-links a>span:first-child,.contact-link>span:first-child{font-size:20px}.footer-main{flex-direction:column;justify-content:center;align-items:flex-start;gap:35px;min-height:230px}.footer-main nav{gap:24px}}@media (width<=380px){:root{--shell:calc(100vw - 32px)}.hero h1{font-size:56px}.button-row{flex-direction:column;align-items:stretch;gap:6px}.button--text{width:max-content;min-width:156px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
