:root{--photo-bg-1:17 18 17;--photo-bg-2:32 31 28;--photo-accent:198 159 102;--hu-ink:#eeeae1;--hu-muted:#a9a49a;--hu-line:rgba(238,234,225,.13)}
html{background:#0d0e0d}body{background:rgb(var(--photo-bg-1));color:var(--hu-ink);transition:background-color .8s ease;min-height:100vh}body.hu-dynamic-bg::before{content:"";position:fixed;inset:-8%;z-index:-2;background-image:var(--dynamic-image);background-size:cover;background-position:center;filter:blur(90px) saturate(.72) brightness(.22);opacity:.16;transform:scale(1.12);transition:background-image .8s ease,opacity .8s ease}body.hu-dynamic-bg::after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 82% 24%,rgb(var(--photo-bg-2)/.68),transparent 42%),linear-gradient(135deg,rgb(var(--photo-bg-1)/.94),rgb(8 9 8/.96) 68%);pointer-events:none}.site-header,.footer,main{position:relative;z-index:1}.site-header{background:rgba(10,11,10,.58)!important;border-bottom:1px solid var(--hu-line)!important;backdrop-filter:blur(18px);padding:22px clamp(24px,4vw,72px)!important}.hu-brand-logo{height:48px!important;width:auto!important;object-fit:contain}.main-nav{gap:clamp(18px,2vw,34px)!important}.main-nav a,.header-actions,.header-actions a{color:#d6d1c8!important;font-size:.72rem!important;letter-spacing:.13em;text-transform:uppercase}.main-nav a:hover{color:white!important}.mobile-nav{background:#0d0e0d!important}.footer{background:rgba(7,8,7,.78)!important;border-top:1px solid var(--hu-line)!important;margin-top:16vh!important;padding-top:64px!important}.footer .brand-name,.footer .brand-sub{color:#e7e1d6!important}
/* homepage minimal split */
.minimal-home{padding:0!important}.hu-split-home{min-height:calc(100vh - 93px);display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);overflow:hidden}.hu-split-visual{position:relative;min-height:calc(100vh - 93px);background:#0b0c0b}.hu-split-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity 1.15s ease,transform 7s ease}.hu-split-slide.is-active{opacity:1;transform:scale(1)}.hu-split-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 72%,rgba(8,9,8,.22)),linear-gradient(0deg,rgba(7,8,7,.24),transparent 42%);pointer-events:none}.hu-split-panel{min-height:calc(100vh - 93px);display:flex;flex-direction:column;justify-content:center;padding:clamp(54px,7vw,126px);position:relative}.hu-split-kicker{font-size:.67rem;letter-spacing:.28em;text-transform:uppercase;color:rgb(var(--photo-accent));margin:0 0 26px}.hu-split-panel h1{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(3.25rem,5.8vw,7rem);line-height:.92;max-width:760px;margin:0 0 34px;letter-spacing:-.035em}.hu-split-panel .hu-split-deck{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7;color:#c2bdb3;max-width:530px;margin:0 0 44px}.hu-min-link{display:inline-flex;align-items:center;gap:18px;width:max-content;color:#eeeae1;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;padding:15px 0;border-bottom:1px solid rgba(238,234,225,.35)}.hu-min-link::after{content:"→";font-size:1.1rem;transition:transform .25s}.hu-min-link:hover::after{transform:translateX(6px)}.hu-split-caption{position:absolute;left:clamp(54px,7vw,126px);right:clamp(54px,7vw,126px);bottom:48px;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--hu-line);padding-top:18px}.hu-slide-meta{display:flex;flex-direction:column;gap:5px}.hu-slide-meta strong{font-family:"Cormorant Garamond",serif;font-size:1.12rem;font-weight:500}.hu-slide-meta span,.hu-split-counter{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:#9f9a90}.hu-slide-controls{display:flex;align-items:center;gap:14px}.hu-slide-controls button{border:0;background:transparent;color:#d8d3ca;width:34px;height:34px;font-size:1.1rem;cursor:pointer;opacity:.75}.hu-slide-controls button:hover{opacity:1}.hu-split-counter{min-width:56px;text-align:center}.hu-minimal-index{min-height:72vh;display:grid;place-items:center;padding:14vh clamp(28px,8vw,150px)}.hu-minimal-index-inner{width:min(1120px,100%)}.hu-minimal-index .eyebrow{margin-bottom:32px}.hu-minimal-index h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2.5rem,5vw,5.4rem);font-weight:400;line-height:1.05;max-width:780px;margin:0 0 72px}.hu-index-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hu-line);border-top:1px solid var(--hu-line);border-bottom:1px solid var(--hu-line)}.hu-index-links a{background:rgb(var(--photo-bg-1)/.66);padding:34px 28px;color:#d9d4ca;text-decoration:none;display:flex;justify-content:space-between;align-items:center;min-height:110px;transition:background .3s}.hu-index-links a:hover{background:rgb(var(--photo-bg-2)/.72)}.hu-index-links strong{font-family:"Cormorant Garamond",serif;font-size:1.55rem;font-weight:400}.hu-index-links span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#918c83}
/* spacious site-wide dark treatment */
.page-hero{padding-top:clamp(110px,14vh,180px)!important;padding-bottom:clamp(80px,12vh,160px)!important}.page-hero h1,.story-page h1,.photo-info h1{color:#eeeae1!important;font-weight:400!important}.page-hero p,.photo-info p,.story-page p{color:#aaa59b!important}.portfolio-toolbar{background:rgba(12,13,12,.58)!important;border-color:var(--hu-line)!important;backdrop-filter:blur(14px)}.portfolio-toolbar input,.portfolio-toolbar select{background:transparent!important;color:#dcd7cd!important;border-color:rgba(238,234,225,.18)!important}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(50px,7vw,110px) clamp(28px,5vw,76px)!important;padding:8vh clamp(24px,5vw,88px) 16vh!important}.photo-card{background:transparent!important}.photo-media{border-radius:0!important;overflow:hidden}.photo-card:nth-child(4n+2),.photo-card:nth-child(4n+3){margin-top:9vh}.card-caption{padding:16px 0 0!important;border:0!important}.card-caption h2{font-family:"Cormorant Garamond",serif!important;font-weight:400!important;font-size:1.35rem!important;color:#e6e1d8!important}.card-caption p,.caption-map{color:#928d84!important}.photo-hover{background:linear-gradient(0deg,rgba(5,6,5,.78),transparent 55%)!important}.location-drawer{background:rgb(var(--photo-bg-1)/.96)!important;border-left:1px solid var(--hu-line)!important;backdrop-filter:blur(25px)}.drawer-backdrop{background:rgba(0,0,0,.58)!important}.photo-view{min-height:calc(100vh - 90px);display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr)!important;gap:0!important;padding:0!important}.photo-stage{min-height:calc(100vh - 90px)!important;display:grid!important;place-items:center;background:rgba(0,0,0,.2)!important;padding:clamp(20px,3vw,48px)!important}.photo-stage img{max-height:calc(100vh - 140px)!important;max-width:100%!important;object-fit:contain!important}.photo-info{padding:clamp(48px,6vw,100px)!important;display:flex!important;flex-direction:column;justify-content:center;background:rgb(var(--photo-bg-1)/.58)!important;border-left:1px solid var(--hu-line)!important}.photo-info dl{border-top:1px solid var(--hu-line)!important;border-bottom:1px solid var(--hu-line)!important;padding:24px 0!important}.photo-location-card{margin-top:28px!important}.related-photos{padding:16vh clamp(24px,6vw,100px)!important}.related-grid{gap:clamp(24px,4vw,60px)!important}.button-primary{background:#e8e2d8!important;color:#141513!important}.button-secondary{border-color:rgba(238,234,225,.3)!important;color:#e7e1d6!important}.hu-watermark-overlay{opacity:.26!important;filter:drop-shadow(0 1px 5px rgba(0,0,0,.28))}.hu-bg-watermark::after{opacity:.13!important}
@media(max-width:980px){.hu-split-home{grid-template-columns:1fr}.hu-split-visual{min-height:58vh}.hu-split-panel{min-height:54vh;padding:64px 28px 120px}.hu-split-caption{left:28px;right:28px;bottom:34px}.hu-index-links{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr!important}.photo-card:nth-child(n){margin-top:0}.photo-view{grid-template-columns:1fr!important}.photo-stage{min-height:65vh!important}.photo-info{border-left:0!important;border-top:1px solid var(--hu-line)!important}.main-nav{display:none!important}}
@media(max-width:620px){.site-header{padding:17px 18px!important}.hu-brand-logo{height:39px!important}.hu-split-visual{min-height:52vh}.hu-split-panel h1{font-size:3.5rem}.hu-split-deck{font-size:.98rem!important}.hu-minimal-index{min-height:auto;padding-top:110px;padding-bottom:110px}.portfolio-grid{padding-left:18px!important;padding-right:18px!important}.photo-info{padding:42px 24px!important}}

.footer .footer-brand,.footer .footer-note{display:none!important}.footer{display:grid!important;grid-template-columns:minmax(150px,240px) 1fr auto!important;gap:36px!important;align-items:end!important}.footer-links{justify-content:center!important}.footer-meta{text-align:right!important}
@media(max-width:820px){.footer{grid-template-columns:1fr!important}.footer-links{justify-content:flex-start!important}.footer-meta{text-align:left!important}}

.hu-portfolio-meta{display:none!important}

/* Red-team audit: clarity, filters, forms */
.hu-current-scope,.hu-current-archive-note{max-width:560px;color:#969187;font-size:.82rem;line-height:1.65;margin:-24px 0 34px}.portfolio-toolbar{display:grid!important;grid-template-columns:minmax(250px,1.25fr) minmax(280px,1fr) minmax(180px,.7fr)!important;gap:18px!important;align-items:end!important;padding:22px!important}.filter-block{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-search{grid-template-columns:1fr}.filter-label,.filter-block>label:not(.sr-only){grid-column:1/-1;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#9f9a90}.filter-block select,.filter-block input{width:100%;min-width:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.hu-portfolio-meta{display:flex!important;gap:24px!important;margin-top:28px!important;color:#9f9a90!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.1em!important}.hu-portfolio-meta b{color:#eeeae1;font-weight:500}.form-status:not(:empty),.form-privacy-note{display:block;margin-top:14px;color:#a9a49a;font-size:.82rem;line-height:1.55}.contact-form button:disabled{opacity:.42;cursor:not-allowed}.card-caption h2 a{color:inherit;text-decoration:none}.card-caption h2 a:hover{text-decoration:underline;text-underline-offset:4px}.notice-panel .photo-actions{margin-top:32px}.legal h2{margin-top:48px}.legal h2:first-child{margin-top:0}
@media(max-width:900px){.portfolio-toolbar{grid-template-columns:1fr!important}.filter-block{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.filter-block{grid-template-columns:1fr}.hu-current-scope{margin-top:-18px}}


/* Red Team mobile overflow guard */
html,body{overflow-x:clip}
.location-drawer{transform:translateX(100%);visibility:hidden;pointer-events:none}
.location-drawer.open{transform:translateX(0);visibility:visible;pointer-events:auto}
@media(max-width:520px){
  .site-header{padding-left:18px!important;padding-right:18px!important}
  .header-actions{max-width:100%;min-width:0;gap:5px!important}
}

/* Production performance guard: keep palette-based dynamic background everywhere, but skip the blurred image texture where it is expensive. */
@media (max-width: 640px), (prefers-reduced-motion: reduce) {
  body.hu-dynamic-bg::before { display:none; }
  body { transition:none; }
  .hu-split-slide { transition:opacity .45s ease; transform:none!important; }
}


/* HU launch notice */
.hu-launch-notice{position:relative;z-index:3;padding:10px clamp(18px,4vw,72px);border-bottom:1px solid var(--hu-line);background:rgba(8,9,8,.88);color:#aaa59b;font-size:.68rem;line-height:1.45;letter-spacing:.055em;text-align:center;backdrop-filter:blur(14px)}
@media(max-width:620px){.hu-launch-notice{padding:9px 18px;font-size:.64rem;text-align:left}}

/* HU prelaunch viewport compensation */
.hu-prelaunch .hu-split-home,.hu-prelaunch .hu-split-visual,.hu-prelaunch .hu-split-panel{min-height:calc(100svh - 127px)}
@media(max-width:620px){.hu-prelaunch .hu-split-home,.hu-prelaunch .hu-split-visual,.hu-prelaunch .hu-split-panel{min-height:auto}.hu-prelaunch .hu-split-visual{min-height:50svh}}
