@font-face{font-family:Barlow;src:url('assets/barlow-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url('assets/barlow-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#f4f1e9;--ink:#171717;--blue:#2454ff;--muted:#585750;--rule:#bcbab2;--body:Barlow,Arial,sans-serif;--display:'Arial Black','Helvetica Neue',Arial,sans-serif;--gutter:clamp(20px,3.35vw,64px);--space:clamp(64px,8vw,128px);--progress:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.45 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:white}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:900;letter-spacing:-.055em;line-height:1.02}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;top:12px;left:12px;z-index:20;background:var(--ink);color:white;padding:12px;transform:translateY(-160%)}.skip:focus{transform:none}.header{padding:22px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--rule)}.brand{font-weight:700;font-size:20px;line-height:1.05;letter-spacing:-.6px}.brand span{display:block}.header nav{display:flex;gap:36px;align-items:center;font-size:16px}.header nav a{min-height:44px;display:flex;align-items:center;gap:14px}.header nav a:hover{color:var(--blue)}.nav-contact{margin-left:36px}.menu-toggle{border:0;background:none;padding:12px 0;font-weight:700}.menu-toggle[hidden]{display:none}
.opening{padding:0 var(--gutter) 38px}.ooo-stage{height:clamp(180px,22vw,335px);position:relative;overflow:hidden;display:flex;align-items:center}.ooo{display:flex;width:75%;font:900 clamp(210px,31vw,465px)/.73 var(--display);letter-spacing:-.11em;color:var(--blue);transform-origin:left center;transform:scale(calc(1 - var(--progress)*.25));will-change:transform}.ooo span{display:block;transform:translateX(calc(var(--progress)*var(--move,0px)))}.ooo span:nth-child(2){--move:-20px}.ooo span:nth-child(3){--move:-40px}.device-caption{position:absolute;right:0;bottom:36px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.03em}.intro-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:end;padding-top:16px}.intro-grid h1{font-size:clamp(36px,4.5vw,70px)}.intro-aside{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;font-size:18px}.hero-links{display:flex;flex-direction:column;gap:12px}.link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:700;font-size:16px;width:fit-content}.link:hover{color:var(--blue)}
.work{padding:0 var(--gutter)}.section-line{border-top:1px solid var(--ink);padding:14px 0;display:flex;justify-content:space-between;align-items:center;font-size:14px}.section-line h2{font:700 14px var(--body);letter-spacing:0}.project-image{display:block;overflow:hidden;position:relative}.project-image img{display:block;transition:transform .5s ease}.project-image:hover img{transform:scale(1.015)}.golf-image{background:#20211d;aspect-ratio:1.95}.golf-image img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.image-link{position:absolute;bottom:22px;right:24px;background:var(--paper);color:var(--ink);display:flex;gap:30px;align-items:center;padding:14px 18px;font-size:14px;font-weight:700}.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:24px}.project-caption h3{font-size:clamp(26px,3vw,44px)}.project-caption p{font-size:16px}.project-caption .muted{color:var(--muted);max-width:470px;margin:10px 0 18px}.mha{display:grid;grid-template-columns:1fr 1.6fr;gap:9%;margin:var(--space) 0}.work-note{padding-top:25px;display:flex;flex-direction:column;justify-content:space-between;align-self:stretch}.work-note>span{font:900 clamp(30px,3.8vw,56px)/1.05 var(--display);letter-spacing:-.05em}.work-note p{font-size:16px;color:var(--muted);padding-bottom:24px}.mha-image{background:#fff;aspect-ratio:1.22;display:grid;place-items:center;padding:10%}.mha-image img{width:100%;height:auto;object-fit:contain}.corner-arrow{position:absolute;right:24px;bottom:24px}.mha .project-caption{grid-template-columns:1fr;gap:10px}.mha .project-caption h3{font-size:32px}.project-description{max-width:650px;font-size:17px;color:var(--muted);padding-top:18px;scroll-margin-top:35px}
.section-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:9%;padding:var(--space) var(--gutter)}.services{background:var(--ink);color:var(--paper)}.eyebrow{font-size:14px;display:block;margin-bottom:28px}.section-intro h2{font-size:clamp(38px,4vw,62px)}.service-list{margin:0}.service-list>div{border-top:1px solid #66665f;display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:26px 0}.service-list>div:first-child{padding-top:0;border-top:0}.service-list>div:last-child{padding-bottom:0}.service-list dt{font:700 clamp(23px,2.2vw,32px)/1.08 var(--body);letter-spacing:-.03em}.service-list dd{margin:0;font-size:17px;color:#d5d2ca}.about h2{font-size:clamp(48px,6vw,88px);margin-bottom:30px}.about p{font-size:clamp(20px,2vw,28px);line-height:1.4;max-width:690px;margin-bottom:24px}.about .link{margin-top:12px}.contact{background:var(--blue);color:var(--paper);padding:38px var(--gutter) 50px}.contact-top{display:flex;justify-content:space-between;font-size:15px}.contact-title{display:flex;justify-content:space-between;align-items:center;margin:50px 0 38px}.contact-title h2{font-size:clamp(70px,11vw,168px);letter-spacing:-.065em;line-height:.94}.contact-title svg{width:clamp(60px,15vw,220px);height:clamp(60px,15vw,220px);stroke-width:1}.contact a:focus-visible{outline-color:var(--paper)}.contact-title:hover{color:white}.email{display:inline-block;border-bottom:1px solid currentColor;font-size:clamp(19px,2.5vw,36px);overflow-wrap:anywhere}footer{padding:30px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:28px}footer p{font-size:13px}footer p a{text-decoration:underline;text-underline-offset:3px}.back-top{display:flex;align-items:center;gap:12px;font-size:14px}
@media(min-width:1600px){.opening,.work,.section-grid,.contact,.header,footer{padding-left:max(var(--gutter),calc((100vw - 1700px)/2));padding-right:max(var(--gutter),calc((100vw - 1700px)/2))}}
@media(max-width:1000px){.intro-aside{display:block}.hero-links{flex-direction:row;margin-top:20px;gap:24px}.intro-grid{gap:30px}.device-caption{font-size:11px;bottom:20px}.ooo{font-size:32vw}.nav-contact{margin-left:0}.header nav{gap:22px}.section-grid{gap:5%;grid-template-columns:1fr 1.6fr}.service-list>div{grid-template-columns:1fr;gap:12px}.mha{gap:5%}footer{flex-wrap:wrap}.golf-image{aspect-ratio:1.7}.image-link{bottom:16px;right:16px}}
@media(max-width:600px){:root{--space:70px}.header{padding-top:16px;padding-bottom:16px;flex-wrap:wrap;gap:18px}.brand{font-size:18px}.header nav{width:100%;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:16px}.js .menu-toggle{display:block}.js .header nav{display:none}.js .header nav.is-open{display:flex}.header nav a{min-height:44px}.nav-contact{margin-left:0}.opening{padding-bottom:30px}.ooo-stage{height:140px}.ooo{font-size:38vw;width:100%;transform:scale(calc(1 - var(--progress)*.08))}.ooo span:nth-child(2){--move:-4px}.ooo span:nth-child(3){--move:-8px}.device-caption{display:none}.intro-grid{grid-template-columns:1fr;gap:20px;padding-top:0}.intro-grid h1{font-size:40px;letter-spacing:-.06em}.intro-aside{font-size:16px}.intro-aside p br{display:none}.hero-links{margin-top:22px;justify-content:space-between;gap:14px}.link{font-size:15px;gap:12px}.section-line{font-size:12px}.golf-image{aspect-ratio:1.15}.golf-image img{object-fit:cover;object-position:35% 50%}.image-link{position:static;background:var(--ink);color:var(--paper);justify-content:space-between;padding:14px}.golf-image{aspect-ratio:auto}.golf-image img{aspect-ratio:1.15;height:auto}.project-caption{grid-template-columns:1fr;gap:16px;padding-top:20px}.project-caption h3{font-size:31px}.mha{grid-template-columns:1fr;gap:24px;margin-top:60px}.work-note{display:none}.mha-image{aspect-ratio:1.12;padding:9%}.mha .project-caption h3{font-size:29px}.section-grid{grid-template-columns:1fr;gap:40px}.section-intro h2{font-size:44px}.service-list>div{grid-template-columns:1fr;gap:12px;padding:24px 0}.service-list dt{font-size:28px}.service-list dt br{display:none}.about{gap:8px}.about h2{font-size:52px}.about p{font-size:22px}.contact-top{font-size:13px;gap:24px}.contact-top span:last-child{text-align:right}.contact-title{margin:44px 0 28px;align-items:flex-start}.contact-title h2{font-size:64px}.contact-title svg{width:48px;height:48px;margin-top:4px}.email{font-size:21px}.contact{padding-bottom:38px}footer{align-items:flex-start;display:grid;grid-template-columns:1fr;gap:20px}footer .brand{margin-bottom:6px}.back-top{width:fit-content}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ooo,.ooo span{transform:none!important;will-change:auto}.project-image img{transition:none}.project-image:hover img{transform:none}}
/* Keep the typographic device inside its own grid cell. */
.menu-toggle{display:none}
.ooo{font-size:clamp(190px,26vw,400px);line-height:1;letter-spacing:-.085em;gap:.045em;width:100%}
.ooo-stage{height:clamp(180px,24vw,345px)}
.intro-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
@media(max-width:600px){.js .menu-toggle{display:block}.ooo-stage{height:136px}.ooo{font-size:37vw;letter-spacing:-.08em;gap:.025em}.intro-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.golf-image img{aspect-ratio:auto;object-fit:contain;height:auto}.golf-image picture{display:block}}
