:root{color-scheme:dark;--bg:#121915;--surface:#19231d;--ink:#f3f1e9;--muted:#b6beb6;--gold:#c9a451;--line:#c9a45155;--gutter:clamp(22px,5vw,90px);font-family:'Segoe UI',Arial,sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%;height:auto}button{border:0;background:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Baskerville Old Face',Baskerville,Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(44px,6.6vw,92px)}h2{font-size:clamp(32px,4.2vw,56px)}em{font-weight:400}p{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.skip-link{position:absolute;left:20px;top:-100px;z-index:90;padding:12px 20px;background:var(--bg)}.skip-link:focus{top:20px}.landing-banner{position:relative;background:#080e0d;isolation:isolate}.banner-image{display:block;width:100%;padding:0;line-height:0}.banner-image img{width:100%;max-height:920px;object-fit:contain}.banner-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.65),transparent 30%,transparent 68%,rgba(0,0,0,.72));z-index:1}.hero-brand{position:absolute;top:clamp(25px,4vw,65px);left:50%;transform:translateX(-50%);width:min(450px,48%);z-index:2}.hero-brand img{width:100%}.central-nav{position:absolute;bottom:clamp(65px,8vw,126px);left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:clamp(20px,3.4vw,54px);padding:14px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(9,15,11,.56);backdrop-filter:blur(12px);z-index:3;white-space:nowrap;animation:nav-arrive .9s cubic-bezier(.2,.7,.2,1) both}.central-nav a{font-size:.875rem;letter-spacing:.1em;padding:9px 0;position:relative}.central-nav a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.central-nav a:hover:after,.central-nav a[aria-current=page]:after{transform:scaleX(1)}.banner-note{position:absolute;left:var(--gutter);right:var(--gutter);bottom:22px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#eee9dd;z-index:2;pointer-events:none}.portfolio-section{padding:95px var(--gutter) 110px;max-width:1800px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading>p{max-width:33ch;padding-bottom:7px}.gallery-filters{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin:0 0 32px}.gallery-filters button{padding:12px 0;min-width:44px;font-size:.875rem;color:var(--muted);border-bottom:1px solid transparent}.gallery-filters button[aria-pressed=true]{color:var(--ink);border-color:var(--gold)}#gallery-count{font-size:.75rem;margin-left:auto;color:var(--muted)}.gallery-wall{columns:3;column-gap:28px}.photo-card{break-inside:avoid;margin-bottom:28px}.photo-trigger{width:100%;display:block;padding:0;text-align:left;position:relative;touch-action:manipulation}.photo-trigger img{width:100%;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.photo-card .photo-trigger:after{content:'View photograph';position:absolute;bottom:16px;left:18px;font-size:.75rem;letter-spacing:.08em;color:#fff;background:#080e0dcc;padding:5px 9px;opacity:0;transition:opacity .25s}.photo-trigger:hover:after,.photo-trigger:focus-visible:after{opacity:1}.photo-card[hidden]{display:none}.site-footer{border-top:1px solid var(--line);padding:60px var(--gutter) 25px;display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:45px;background:#0b120e}.site-footer>div:first-child img{width:280px}.site-footer p{font-size:.875rem;margin-top:20px}.site-footer nav,.footer-contact{display:flex;flex-direction:column;gap:13px;font-size:.875rem}.footer-contact{align-items:flex-end}.footer-contact a:first-child{overflow-wrap:anywhere}.site-footer a:hover{color:var(--gold)}.footer-base{grid-column:1/-1;border-top:1px solid #c9a4512a;padding-top:25px;font-size:.75rem;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}@keyframes nav-arrive{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@media(max-width:900px){.gallery-wall{columns:2}.section-heading{align-items:flex-start;flex-direction:column;gap:24px}.site-footer{grid-template-columns:1fr 1fr}.footer-contact{align-items:flex-start;grid-column:1/-1}.central-nav{gap:25px;padding:10px 24px}}@media(max-width:600px){.hero-brand{width:65%;top:24px}.banner-image{padding-top:125px!important;padding-bottom:130px!important}.banner-image img{max-height:none}.banner-shade{background:linear-gradient(180deg,#080e0d 5%,transparent 32%,transparent 58%,#080e0d 89%)}.central-nav{bottom:53px;width:calc(100% - 40px);padding:10px 14px;gap:0;justify-content:space-between}.central-nav a{font-size:.8rem;letter-spacing:.055em}.banner-note{bottom:19px;font-size:.65rem;letter-spacing:.08em}.portfolio-section{padding-top:58px;padding-bottom:60px}.gallery-wall{column-gap:16px}.photo-card{margin-bottom:16px}.gallery-filters{gap:22px}.gallery-filters button{font-size:.875rem}#gallery-count{width:100%;margin-left:0}.site-footer{padding-top:40px;gap:30px;grid-template-columns:1fr}.site-footer>div:first-child img{width:260px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}.footer-contact{grid-column:auto}.footer-base{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Slim, fluid photographic entrance. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-page="home"]{min-height:100svh;display:flex;flex-direction:column}
.landing-main{flex:1;display:flex;flex-direction:column}
.landing-banner{height:clamp(340px,35vw,530px);width:100%;overflow:hidden}
.landing-banner .banner-image{height:100%;padding:0!important}
.landing-banner .banner-image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 50%}
.banner-shade{background:linear-gradient(180deg,#080e0d65,transparent 35%,#080e0d10 60%,#080e0d99)}
.hero-brand{top:clamp(30px,4vw,58px);width:min(450px,50%);animation:brand-arrive 1.1s ease both}
.central-nav{bottom:clamp(30px,4vw,58px);background:#0c181344;border:0;backdrop-filter:blur(5px);padding:13px 30px;gap:clamp(22px,3.4vw,54px)}
.central-nav:before,.central-nav:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:rule-arrive 1.4s ease both}
.central-nav:before{top:0}.central-nav:after{bottom:0}
.central-nav a{animation:link-arrive .9s ease both}.central-nav a:nth-child(2){animation-delay:.10s}.central-nav a:nth-child(3){animation-delay:.20s}.central-nav a:nth-child(4){animation-delay:.30s}
@keyframes brand-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes link-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes rule-arrive{from{scale:.2 1;opacity:0}to{scale:1 1;opacity:1}}
@media(max-width:600px){.landing-banner{height:360px}.hero-brand{width:78%;top:32px}.central-nav{width:calc(100% - 32px);bottom:29px;gap:0;justify-content:space-between;padding:12px 15px}.central-nav a{letter-spacing:.02em;font-size:.875rem}}
