:root{--background:#fff;--foreground:#111;--muted:#6f6f6f;--line:#d9d9d9;--soft:#f5f4f1;--accent:#b83d2f;--max:1680px;--gutter:clamp(1.25rem, 4.25vw, 5.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);text-rendering:optimizelegibility;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}.site-shell{min-height:100vh}.container{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.site-header{border-bottom:1px solid var(--line);z-index:20;background:#fffffff0;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{width:56px;height:56px;display:inline-flex}.brand img{object-fit:contain;width:100%;height:100%}.nav{align-items:center;gap:clamp(1rem,2vw,2.2rem);display:flex}.nav a{color:var(--muted);font-size:.95rem}.nav a[aria-current=page],.nav a:hover{color:var(--foreground)}.footer{border-top:1px solid var(--line);margin-top:clamp(5rem,10vw,10rem);padding:2rem 0}.footer__inner{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-size:.82rem}.hero,.page-intro{padding-block:clamp(3.5rem,7vw,7rem) clamp(2.5rem,5vw,5rem)}.hero h1,.page-intro h1,.about-hero h1,.contact-intro h1{letter-spacing:0;max-width:14ch;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.98}.hero__summary{max-width:860px;margin-top:clamp(1.5rem,4vw,4rem);display:block}.hero__summary p,.page-intro p:not(.eyebrow),.about-hero p:not(.eyebrow){color:var(--foreground);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.4vw,2.35rem);font-weight:400;line-height:1.24}.section-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;margin-bottom:clamp(2rem,4vw,4rem);padding-top:1rem;display:flex}.section-heading h2{letter-spacing:0;margin:0;font-size:clamp(2.6rem,6vw,6rem);font-weight:400;line-height:1}.project-list{gap:clamp(4rem,8vw,9rem);display:grid}.project-feature{gap:1.4rem;display:grid}.project-feature__image{background:var(--background);width:100%}.project-feature__image img{object-fit:contain;width:100%;height:auto;max-height:86vh;margin:0 auto}.project-feature__meta{grid-template-columns:minmax(0,1fr) minmax(240px,420px);align-items:start;gap:1rem;display:grid}.project-feature h3{letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,6vw,8rem);font-weight:400;line-height:.95}.project-feature p{color:var(--muted);margin:.4rem 0 0}.project-feature__label{color:var(--muted);gap:.7rem;margin-bottom:.6rem;display:flex}.button-link{border-bottom:1px solid;margin-top:1.2rem;padding-bottom:.1rem;display:inline-flex}.filter-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1.7rem;margin-bottom:clamp(2rem,4vw,4rem);padding-bottom:1.2rem;display:flex}.filter-bar a,.filter-bar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:.2rem 0}.filter-bar a[aria-current=true],.filter-bar button[aria-current=true]{color:var(--foreground);border-color:currentColor}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(2.2rem,4vw,4rem) clamp(1.2rem,2.2vw,2.8rem);display:grid}.work-card{text-align:left;justify-items:start;gap:.75rem;display:grid}.work-card a{justify-content:flex-start;align-items:center;display:flex}.work-card img{background:var(--background);object-fit:contain;width:auto;max-width:100%;height:auto;max-height:clamp(320px,36vw,640px);margin:0}.work-card h2{letter-spacing:0;margin:0;font-size:clamp(1.05rem,1.4vw,1.45rem);font-weight:700;line-height:1.12}.work-card p{color:var(--muted);margin:.2rem 0 0;font-size:.95rem}.work-card__category{color:var(--muted)}.page-intro p:not(.eyebrow){max-width:860px;margin:2rem 0 0}.project-hero{padding-block:clamp(3.5rem,8vw,8rem) 0}.project-hero h1{letter-spacing:0;max-width:13ch;margin:0 0 clamp(1.2rem,3vw,2.5rem);font-family:Arial,Helvetica,sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92}.project-subtitle{color:var(--foreground);margin:0 0 clamp(2rem,5vw,5rem);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2.1vw,2.15rem);font-weight:400;line-height:1.18}.project-hero img{background:var(--background);object-fit:contain;width:100%;height:auto;max-height:86vh;margin:0 auto}.project-info{grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,7vw,7rem);display:grid}.project-facts{border-top:1px solid var(--line);gap:1rem;padding-top:1rem;display:grid}.fact{gap:.3rem;display:grid}.fact dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.fact dd{margin:0}.project-copy{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,1.85vw,1.8rem);font-weight:400;line-height:1.22}.project-copy p{margin:0 0 1.2rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);display:grid}.gallery figure{margin:0}.gallery img{background:var(--background);object-fit:contain;width:100%;height:auto;max-height:90vh;margin:0 auto}.gallery__item--full,.gallery__item--wide{grid-column:1/-1}.gallery__item--contained{grid-column:1/-1;width:100%;max-width:1120px;margin:0 auto}.gallery__item--portrait img{width:auto;max-height:92vh}.gallery__item--contained img{object-fit:contain}.gallery figcaption{color:var(--muted);margin-top:.75rem}.project-nav{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(4rem,8vw,8rem);padding-top:1rem;display:grid}.project-nav a{gap:.4rem;display:grid}.project-nav a:last-child{text-align:right;justify-items:end}.project-nav span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.text-page{grid-template-columns:minmax(0,1fr) minmax(280px,760px);gap:clamp(2rem,6vw,6rem);padding-block:clamp(4rem,9vw,10rem);display:grid}.text-page h1{letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92}.text-page p{color:var(--foreground);margin:0 0 1.1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.18rem,2vw,1.9rem);font-weight:400;line-height:1.2}.section-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.72rem}.about-hero{text-align:left;grid-template-columns:minmax(0,2fr) minmax(180px,.7fr);align-items:end;gap:clamp(1rem,2vw,2rem) clamp(2rem,5vw,5rem);padding-block:clamp(4rem,8vw,8rem) clamp(3rem,6vw,6rem);display:grid}.about-hero .eyebrow{grid-column:1/-1}.about-portrait{grid-area:2/2/span 2;justify-self:end;width:clamp(120px,16vw,210px)}.about-portrait img{border-radius:50%;width:100%}.about-section p{color:var(--foreground);max-width:920px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2.1vw,2rem);line-height:1.2}.about-hero p:not(.eyebrow){max-width:860px}.about-section{border-top:1px solid var(--line);text-align:left;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(2rem,5vw,5rem);display:grid}.clients-section{border-top:1px solid var(--line);text-align:left;padding-block:clamp(2rem,5vw,5rem) clamp(4rem,8vw,8rem)}.clients-section h2{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:400}.client-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(2rem,5vw,5rem);margin-top:clamp(3rem,6vw,6rem);display:grid}.client-grid img{filter:grayscale();opacity:.72;width:100%;margin:0 auto}.contact-main{padding-block:clamp(4rem,8vw,8rem) clamp(5rem,10vw,10rem)}.contact-intro{grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:clamp(1rem,2vw,2rem) clamp(2rem,6vw,6rem);display:grid}.contact-intro .eyebrow{grid-column:1/-1}.contact-intro h1{max-width:13ch}.contact-intro p:last-child{color:var(--muted);align-self:end;margin:0;font-size:1.05rem;line-height:1.55}.contact-layout{grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:clamp(3rem,7vw,7rem);margin-top:clamp(4rem,8vw,8rem);display:grid}.contact-form{max-width:980px}.form-honeypot{opacity:0!important;width:1px!important;height:1px!important;position:absolute!important;left:-9999px!important}.contact-form label{border-top:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;padding:1.15rem 0 2.1rem;font-size:.72rem;display:block}.contact-form label span{color:var(--muted);float:right}.contact-form input,.contact-form textarea{color:var(--foreground);letter-spacing:0;resize:vertical;background:0 0;border:0;outline:none;width:100%;padding:1rem 0 0;font-size:clamp(1.35rem,2.4vw,2.4rem);display:block}.contact-form button{background:var(--foreground);color:var(--background);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;gap:1.2rem;width:150px;height:150px;margin-top:1.5rem;display:inline-flex}.contact-form button:disabled{cursor:wait;opacity:.62}.ui-arrow{border-top:1px solid;border-right:1px solid;width:14px;height:14px;display:inline-block;transform:rotate(45deg)}.form-status{color:var(--muted);min-height:1.4rem}.contact-details>div{border-top:1px solid var(--line);margin-bottom:3rem;padding-top:1rem}.contact-details a,.contact-details p:not(.section-label){margin:0;line-height:1.7;display:block}.skip-link{background:var(--foreground);color:var(--background);z-index:100;padding:.7rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}@media (max-width:760px){.site-header__inner{flex-direction:column;align-items:flex-start;gap:1rem;padding-block:1rem}.nav{justify-content:space-between;width:100%}.hero__summary,.project-feature__meta,.project-info,.text-page,.about-hero,.about-section,.contact-intro,.contact-layout{grid-template-columns:1fr}.about-portrait{grid-area:auto/1;justify-self:start}.client-grid,.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card img{max-height:460px}.gallery,.project-nav{grid-template-columns:1fr}.project-nav a:last-child{text-align:left;justify-items:start}}@media (max-width:520px){.work-grid{grid-template-columns:1fr}.work-card a{min-height:auto}.work-card img{width:100%;max-height:none}}
