/* Generated from the approved mockup; WordPress adjustments are in site.css. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-color:var(--muted) var(--fog);scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--fog)}::-webkit-scrollbar-thumb{background:var(--muted);border:2px solid var(--fog)}::-webkit-scrollbar-thumb:hover{background:var(--tide)}
body{margin:0;background:var(--fog);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
::selection{background:var(--lichen);color:var(--tide)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:6px;cursor:pointer}a:hover{text-decoration-color:currentColor}a:active{opacity:.76}
button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}
img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}h1,h2,.display{font-family:var(--display);line-height:1.02;letter-spacing:-.025em}
h2{font-size:clamp(44px,5.3vw,78px)}h3{font-family:var(--display);font-size:36px;line-height:1.1}p{max-width:60ch}p+p{margin-top:1em}
.wrap{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;top:8px;left:12px;padding:10px 20px;background:var(--lichen);color:var(--tide);z-index:50;transform:translateY(-160%)}.skip:focus{transform:none}
.eyebrow{font:500 11px/1.5 var(--body);letter-spacing:.15em;text-transform:uppercase}
.muted{color:var(--muted)}.dark{background:var(--tide);color:var(--fog)}.dark .muted{color:var(--lichen)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:29px;border-bottom:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.wordmark{font-family:var(--display);font-size:35px;line-height:1;text-decoration:none;white-space:nowrap;letter-spacing:-.025em}.wordmark em{color:inherit}
.site-nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.site-nav a:hover{text-decoration:underline}
.nav-inquiry{border-bottom:1px solid currentColor;gap:24px}
.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.mobile-nav[open] nav{display:grid;gap:10px;padding:12px 0}.mobile-nav nav a{display:block;padding:5px 0}
.hero-intro{display:grid;grid-template-columns:1fr 285px;align-items:end;gap:40px;padding-top:58px;padding-bottom:45px}
.hero-intro h1{font-size:clamp(65px,8.2vw,118px);max-width:950px;margin-top:24px;line-height:.98}
.hero-intro h1 em{color:var(--lichen)}.hero-summary{font-size:15px;padding-bottom:9px;max-width:27ch}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:44px;text-decoration:none;border-bottom:1px solid currentColor;font-size:13px;font-weight:500}.text-link:hover{gap:40px}
.hero-summary .text-link{margin-top:20px}.arrow{font-size:21px;line-height:1}
.hero-photo{aspect-ratio:2.15;object-fit:cover;object-position:50% 52%}
.caption{display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.6;padding-block:15px 21px;letter-spacing:.025em}.caption span:last-child{text-align:right}
.intro{display:grid;grid-template-columns:1fr 1.7fr;gap:8vw;padding-block:var(--section)}.intro h2{max-width:17ch}.intro .eyebrow{margin-top:12px}.intro p{margin-top:30px;max-width:50ch;font-size:17px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:35px}.section-head h2{font-size:54px}
.work{padding-bottom:var(--section)}.featured{display:grid;grid-template-columns:1.7fr 1fr;gap:5vw;align-items:center}.featured .picture{overflow:hidden}.featured img{aspect-ratio:1.35;object-fit:cover;transition:transform var(--duration)}.picture:hover img{transform:scale(1.015)}.featured h3{font-size:54px;margin:18px 0}.featured p{margin:20px 0 26px;max-width:31ch}
.approach{padding-block:var(--section);background:var(--chalk)}.approach-head{display:grid;grid-template-columns:1fr 1.7fr;gap:8vw}.approach h2{max-width:19ch}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:64px}.step{border-top:1px solid var(--line);padding-top:20px}.step h3{margin:22px 0 16px}.step p{font-size:15px;max-width:32ch}.step-number{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.inquiry{padding-block:var(--section)}.inquiry-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw}.inquiry h2{font-size:clamp(50px,6vw,82px);max-width:10ch;margin:20px 0 25px}.inquiry-copy{font-size:14px;max-width:34ch}
.preview-form{align-self:center}.preview-form p{font-size:12px;margin-bottom:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block;font-size:12px;margin-bottom:22px}.field input,.field textarea{display:block;width:100%;margin-top:7px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:inherit;font:16px/1.5 var(--body);padding:10px 0}.field textarea{min-height:90px;resize:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-bottom-width:3px}.field-error{display:block;min-height:18px;font-size:12px}.form-status{min-height:48px;padding-top:14px}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 20px;gap:40px;border:1px solid currentColor;color:inherit;background:transparent;text-decoration:none;font-size:13px}.button:hover{background:var(--lichen);color:var(--tide)}.button:active{transform:translateY(1px)}.button-solid{background:var(--lichen);color:var(--tide);border-color:var(--lichen)}.button-solid:hover{background:var(--fog)}
.site-footer{padding-block:28px 88px;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);display:flex;justify-content:space-between;align-items:start;gap:35px}.site-footer p{font-size:11px;max-width:57ch}.site-footer .wordmark{font-size:27px}
.project-heading{padding-block:50px 40px}.breadcrumb{font-size:12px}.project-title-row{display:grid;grid-template-columns:1.5fr 1fr;gap:6vw;align-items:end;margin-top:38px}.project-title-row h1{font-size:clamp(76px,10.3vw,148px);line-height:.9}.project-title-row p{max-width:36ch;margin-bottom:12px;font-size:17px}
.project-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:42px;padding:22px 0;border-top:1px solid var(--line)}.project-meta dt{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.project-meta dd{margin:7px 0 0;font-size:13px}.project-hero{aspect-ratio:1.9;object-fit:cover}.project-story{display:grid;grid-template-columns:1fr 1.5fr;gap:9vw;padding-block:var(--section)}.project-story h2{max-width:14ch}.project-story p{margin-top:8px;font-size:17px}.detail-image{aspect-ratio:1.5;object-fit:cover}.project-next{padding-block:70px;display:flex;align-items:center;justify-content:space-between;gap:30px}
