@font-face{font-family:'DM Sans';src:url('assets/dm-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'DM Sans';src:url('assets/dm-medium.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:'DM Sans';src:url('assets/dm-semibold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:'Instrument Serif';src:url('assets/instrument-regular.ttf') format('truetype');font-style:normal;font-display:swap}@font-face{font-family:'Instrument Serif';src:url('assets/instrument-italic.ttf') format('truetype');font-style:italic;font-display:swap}
:root{color-scheme:dark;--bg:#111513;--ink:#eeeee8;--muted:#aaaFAA;--line:#424943;--accent:#d6ed8e;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(100% - 7vw,1440px);margin-inline:auto}.draft-note{background:#d6ed8e;color:#1a2118;text-align:center;padding:.48rem 1rem;font-size:.8rem;font-weight:600;letter-spacing:.02em}.site-header{width:min(100% - 7vw,1440px);margin:auto;min-height:94px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:2rem}.brand{font-size:1.6rem;font-weight:600;letter-spacing:-.1em;white-space:nowrap}.brand-slash{font-weight:400;color:var(--accent);margin:0 .09em}.brand-name{font-size:.83rem;font-weight:500;letter-spacing:.02em;margin-left:1rem;vertical-align:middle}.site-header nav{display:flex;align-items:center;gap:2.3rem;font-size:.86rem}.site-header nav a:hover,.text-link:hover,.site-footer a:hover{color:var(--accent)}.nav-contact{border:1px solid #768078;padding:.72rem 1.1rem;border-radius:100px}.nav-contact:hover{border-color:var(--accent)}.hero{padding-top:3.1rem}.hero-overline,.hero-bottom,.section-head,.gallery-caption,.site-footer{display:flex;justify-content:space-between;gap:2rem}.hero-overline,.eyebrow,.gallery-caption,.hero-image figcaption{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.hero-overline{color:#b9c0b5}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:400}h1{font:400 clamp(5.6rem,12.2vw,13.5rem)/.88 var(--serif);letter-spacing:-.055em;margin:3.2rem 0 2.5rem;max-width:1250px}h1 em{font-weight:400}.period{color:var(--accent)}.hero-bottom{align-items:end;margin-bottom:3.5rem}.hero-bottom p{max-width:27rem;color:#c5cac1;font-size:1.06rem;line-height:1.55}.text-link{border-bottom:1px solid currentColor;padding-bottom:.35rem;font-size:.88rem;white-space:nowrap}.text-link span{font-size:1.15rem;padding-left:2rem}.hero-image{position:relative;height:min(55vw,710px);min-height:380px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.82)}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:2rem;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff}.work{padding-top:8.5rem;padding-bottom:9rem}.eyebrow{display:block;color:var(--accent);font-weight:500}.section-head{align-items:end;margin-bottom:3.7rem}.section-head h2,.services h2,.about h2,.contact h2{font:400 clamp(4.2rem,7.4vw,8.4rem)/.95 var(--serif);letter-spacing:-.04em}.section-head h2{margin-top:1.1rem}.section-head p{max-width:22rem;color:var(--muted);font-size:1rem}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.gallery-card{position:relative;border:0;padding:0;overflow:hidden;background:#26312c;color:white;text-align:left}.gallery-card img{height:100%;width:100%;object-fit:cover;transition:transform .7s ease,filter .5s ease;filter:saturate(.8)}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.035);filter:saturate(1)}.gallery-card:focus-visible,.close-lightbox:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.gallery-card-tall{grid-row:span 2;height:750px}.gallery-card-tall img{object-position:50% 40%}.gallery-card-wide,.gallery-card-small{height:365px}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(transparent,rgba(0,0,0,.48));font-size:.84rem}.services{border-top:1px solid var(--line);padding:7.8rem 0 9rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem}.services h2{margin-top:1.5rem}.service-list>div{display:grid;grid-template-columns:3.4rem 1fr;gap:1rem;border-top:1px solid var(--line);padding:1.6rem 0 2rem}.service-list>div:last-child{border-bottom:1px solid var(--line)}.service-list>div>span{color:var(--accent);font-size:.78rem}.service-list h3{font:400 2rem/1.1 var(--serif)}.service-list p{color:var(--muted);margin-top:.65rem;max-width:28rem}.about{background:#e6e7df;color:#1b211d;padding:8rem 0}.about-inner{display:grid;grid-template-columns:1fr 2fr .6fr;gap:2rem;align-items:start}.about .eyebrow{color:#556635}.about h2{margin:-.8rem 0 2rem}.about p{max-width:45rem;font-size:clamp(1.3rem,2.25vw,2.4rem);line-height:1.35;letter-spacing:-.025em}.about .period{color:#708945}.about-stamp{font:400 4.3rem/.81 var(--serif);text-align:right;letter-spacing:-.05em;color:#9ca596}.contact{padding-top:9rem;padding-bottom:10rem}.contact h2{font-size:clamp(5rem,10vw,11.5rem);margin:1.5rem 0 2.1rem}.contact>p{color:var(--muted);margin-bottom:3rem}.contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:6rem;max-width:100%;border-bottom:1px solid #98a39a;padding-bottom:.55rem;font:400 clamp(1.6rem,3vw,3rem)/1.15 var(--serif);overflow-wrap:anywhere}.contact-link:hover{color:var(--accent);border-color:var(--accent)}.contact small{display:block;margin-top:1rem;color:#a8b09f;font-size:.75rem}.site-footer{border-top:1px solid var(--line);padding:2.1rem 0 2.8rem;color:#aeb5ac;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;border:0;padding:5rem 2rem 2rem;background:rgba(9,12,10,.96);color:white}.lightbox:not([open]){display:none}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox img{width:100%;height:calc(100% - 3rem);object-fit:contain}.lightbox p{text-align:center;margin-top:.7rem;font-size:.83rem}.close-lightbox{position:absolute;right:2rem;top:1.4rem;border:1px solid #66716a;background:transparent;color:white;border-radius:100px;padding:.5rem 1rem}.close-lightbox:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:900px){.site-header nav{gap:1rem}.services{gap:3rem}.gallery-card-tall{height:620px}.gallery-card-wide,.gallery-card-small{height:300px}.about-inner{grid-template-columns:1fr 2.5fr}.about-stamp{display:none}}@media(max-width:650px){.wrap,.site-header{width:min(100% - 2.5rem,1440px)}.site-header{min-height:78px}.brand-name{display:none}.site-header nav{gap:1.2rem}.site-header nav a:not(.nav-contact){display:none}.nav-contact{padding:.5rem .85rem}.hero{padding-top:2rem}.hero-overline{font-size:.64rem;gap:1rem}.hero-overline span:last-child{text-align:right}h1{font-size:clamp(4.4rem,15.5vw,7rem);margin:3.6rem 0 2rem}.hero-bottom{align-items:start;flex-direction:column;gap:1.8rem;margin-bottom:2.5rem}.hero-bottom p{font-size:1rem}.hero-image{height:72vw;min-height:300px}.hero-image figcaption{padding:1.1rem;font-size:.68rem}.work{padding:6rem 0}.section-head{display:block;margin-bottom:2.5rem}.section-head h2,.services h2,.about h2{font-size:clamp(3.9rem,13vw,6rem)}.section-head p{margin-top:1.4rem}.gallery{display:block}.gallery-card{display:block;width:100%;height:65vw;min-height:300px;margin-bottom:1rem}.gallery-card-tall{height:105vw;max-height:650px}.gallery-caption{padding:1.4rem}.services{display:block;padding:5.5rem 0 6rem}.services-lead{margin-bottom:3rem}.service-list h3{font-size:1.7rem}.about{padding:6rem 0}.about-inner{display:block}.about h2{margin:2.5rem 0 1.6rem}.about p{font-size:1.45rem}.contact{padding:6.5rem 0 7rem}.contact h2{font-size:clamp(4.4rem,15vw,7rem)}.contact-link{gap:1.5rem}.site-footer{flex-wrap:wrap;gap:.8rem 2rem}.site-footer span:nth-child(2){order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-card img{transition:none}}
/* Portfolio gallery and direct contact */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(220px,22vw,310px);gap:1.3rem}
.gallery-card{height:auto;min-width:0;display:block}
.gallery-card img{width:100%;height:100%;object-fit:cover}
.gallery-feature{grid-column:span 2;grid-row:span 2}
.gallery-feature img{object-position:center 55%}
.phone-link{display:block;width:max-content;max-width:100%;margin-top:1.3rem;color:#d8ddd2;font-size:1.15rem;border-bottom:1px solid transparent}
.phone-link:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:250px}.gallery-feature{grid-column:span 2;grid-row:span 2}}
@media(max-width:650px){.gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:1rem}.gallery-card,.gallery-feature{height:68vw;min-height:260px;max-height:420px;grid-column:auto;grid-row:auto;margin:0}.gallery-feature{height:85vw;max-height:520px}.phone-link{margin-top:1.5rem}}
