:root {
  --bg: #080808;
  --panel: #11110f;
  --panel-2: #171612;
  --text: #f4f1e9;
  --muted: #aaa69d;
  --accent: #b78a4b;
  --line: rgba(255,255,255,.12);
}

* { box-sizing: border-box; }
html { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  padding: 18px 34px;
  background: linear-gradient(to bottom, rgba(0,0,0,.78), rgba(0,0,0,0));
  transition: background .3s ease, backdrop-filter .3s ease;
}
.site-header.scrolled {
  background: rgba(7,7,7,.86);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; flex-direction: column; width: max-content; }
.brand-name { font: 500 28px/1 Georgia, "Times New Roman", Times, serif; letter-spacing: .18em; }
.brand-sub { margin-top: 3px; font-size: 9px; letter-spacing: .32em; }
.main-nav { display: flex; gap: 28px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.main-nav a, .footer-links a { opacity: .86; transition: opacity .2s ease, color .2s ease; }
.main-nav a:hover, .footer-links a:hover { opacity: 1; color: var(--accent); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 7px; font-size: 12px; }
.lang { border: 0; background: none; color: var(--muted); cursor: pointer; padding: 0; }
.lang.active { color: var(--text); border-bottom: 1px solid var(--accent); }

.hero {
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: center;
  background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 64%,rgba(0,0,0,.26)), url('assets/photos/zimbabwe/img_4306-1.jpg') center/cover no-repeat;
}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.45), transparent 45%); }
.hero-content { position: relative; z-index: 2; max-width: 720px; padding: 120px 7vw 80px; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .2em; font-size: 11px; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", Times, serif; font-weight: 500; margin: 0; }
h1 { font-size: clamp(56px, 7vw, 104px); line-height: .94; max-width: 900px; }
h2 { font-size: clamp(38px, 4vw, 64px); line-height: 1; }
h3 { font-size: 28px; }
.hero-copy { max-width: 580px; color: #d2cec6; font-size: 17px; line-height: 1.75; margin: 24px 0 30px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 1px solid var(--accent); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; transition: .25s ease; }
.button-primary { background: var(--accent); color: #100d08; }
.button-primary:hover { filter: brightness(1.08); }
.button-secondary { background: transparent; color: var(--text); }
.button-secondary:hover { background: rgba(183,138,75,.12); }
.hero-meta { position: absolute; right: 34px; bottom: 28px; z-index: 2; font-size: 11px; color: #c9c5bc; letter-spacing: .14em; }
.scroll-cue { position: absolute; left: 50%; bottom: 28px; z-index: 2; font-size: 30px; opacity: .8; }

.section { padding: 90px 4vw; border-top: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
.text-link { color: var(--accent); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; }
.collection-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.collection-card {
  min-height: 270px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: end;
  padding: 18px;
  background-size: cover;
  background-position: center;
  filter: saturate(.8);
}
.collection-card::before { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.72),transparent 62%); }
.collection-card span { position:relative; z-index:2; font-family:"Cormorant Garamond",serif; font-size:28px; }
.africa { background-image:none; }
.asia { background-image:none; }
.europe { background-image:none; }
.people { background-image:none; }
.nature { background-image:none; }
.documentary { background-image:none; }

.split { display:grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items:center; }
.about-copy { max-width: 600px; }
.about-copy p:not(.eyebrow) { color: var(--muted); line-height: 1.8; font-size: 16px; }

.gallery-grid { display:grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 200px; gap: 12px; }
.gallery-item { position:relative; margin:0; background-size:cover; background-position:center; overflow:hidden; }
.gallery-item::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.7),transparent 55%); }
.gallery-item figcaption { position:absolute; z-index:2; left:18px; bottom:16px; font-size:12px; letter-spacing:.08em; }
.tall { grid-column: span 5; grid-row: span 2; }
.wide { grid-column: span 7; }
.gallery-item:not(.tall):not(.wide) { grid-column: span 7; }
.g1 { background-image:none; }
.g2 { background-image:none; }
.g3 { background-image:none; }
.g4 { background-image:none; }
.g5 { background-image:none; }

.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.story-image { aspect-ratio: 4/3; background-size:cover; background-position:center; margin-bottom:18px; }
.story-1 { background-image:none; }
.story-2 { background-image:none; }
.story-3 { background-image:none; }
.story-card p { color: var(--muted); line-height:1.6; }
.story-kicker { color:var(--accent) !important; text-transform:uppercase; font-size:10px; letter-spacing:.16em; }

.commerce, .licensing { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.commerce { background: linear-gradient(135deg,#14120e,#0b0b0b); }
.commerce > div:first-child { max-width:780px; }
.commerce-actions { display:flex; gap:12px; flex-wrap:wrap; }
.licensing-copy { max-width:780px; }
.licensing-copy p:last-child { color:var(--muted); line-height:1.8; }

.footer { padding:46px 4vw; display:grid; grid-template-columns:1fr auto 1fr; gap:30px; align-items:end; border-top:1px solid var(--line); }
.footer-note, .footer-meta { color:var(--muted); font-size:11px; }
.footer-links { display:flex; gap:20px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.footer-meta { justify-self:end; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }

@media (max-width: 1100px) {
  .main-nav { display:none; }
  .site-header { grid-template-columns:1fr 1fr; }
  .header-actions { grid-column:2; }
  .collection-grid { grid-template-columns:repeat(3,1fr); }
  .split { grid-template-columns:1fr; }
  .footer { grid-template-columns:1fr; }
  .footer-meta { justify-self:start; align-items:flex-start; }
}

@media (max-width: 720px) {
  .site-header { padding:16px 18px; }
  .brand-name { font-size:22px; }
  .hero-content { padding:120px 20px 70px; }
  h1 { font-size:54px; }
  .hero-meta { right:18px; bottom:18px; }
  .section { padding:64px 20px; }
  .section-heading, .commerce, .licensing { align-items:flex-start; flex-direction:column; }
  .collection-grid { grid-template-columns:repeat(2,1fr); }
  .collection-card { min-height:200px; }
  .gallery-grid { display:block; }
  .gallery-item { min-height:280px; margin-bottom:12px; }
  .story-grid { grid-template-columns:1fr; }
      .footer-links { flex-wrap:wrap; }
}

/* --- V2 multi-page & production polish --- */
body { min-height:100vh; }
img { max-width:100%; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.section-note { color:var(--muted); font-size:12px; line-height:1.6; max-width:460px; }
.menu-toggle { display:none; border:0; background:transparent; color:var(--text); font-size:19px; cursor:pointer; padding:4px; }
.mobile-nav { display:none; position:fixed; inset:70px 0 auto 0; z-index:45; padding:18px 20px 24px; background:rgba(8,8,8,.98); border-bottom:1px solid var(--line); }
.mobile-nav.open { display:flex; flex-direction:column; gap:18px; }
.mobile-nav a { font-size:14px; text-transform:uppercase; letter-spacing:.12em; }
.page-hero { min-height:62svh; padding:150px 7vw 80px; display:flex; flex-direction:column; justify-content:end; background:linear-gradient(180deg,#11100e,#080808); border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:1000px; }
.page-hero > p:last-child { max-width:760px; color:var(--muted); font-size:18px; line-height:1.75; }
.error-page { min-height:100svh; justify-content:center; }
.editorial-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.prose { max-width:780px; }
.prose p { color:var(--muted); font-size:17px; line-height:1.9; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:0; background:var(--line); }
.stats-grid > div { background:var(--bg); padding:70px 4vw; display:flex; flex-direction:column; gap:10px; }
.stats-grid strong { font:500 clamp(48px,6vw,84px)/1 "Cormorant Garamond",serif; color:var(--accent); }
.stats-grid span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.story-title { font-size:40px; }
.story-meta { font-size:11px!important; text-transform:uppercase; letter-spacing:.12em; }
.license-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:0; background:var(--line); }
.license-grid article { background:var(--bg); padding:70px 4vw; }
.license-grid article p:last-child { color:var(--muted); line-height:1.8; }
.form-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; align-items:start; }
.contact-form { display:grid; gap:18px; max-width:820px; width:100%; }
.contact-form label { display:grid; gap:8px; color:#d5d0c6; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.contact-form input,.contact-form textarea,.contact-form select { width:100%; border:1px solid var(--line); background:#0e0e0d; color:var(--text); padding:14px 15px; border-radius:0; }
.contact-form textarea { resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-status { min-height:18px; margin:0; color:var(--accent); font-size:12px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-card { border:1px solid var(--line); padding-bottom:28px; background:#0d0d0c; }
.product-card > *:not(.product-image) { margin-left:24px; margin-right:24px; }
.product-card h2 { font-size:40px; }
.product-card p:not(.eyebrow) { color:var(--muted); line-height:1.7; min-height:84px; }
.product-image { aspect-ratio:4/3; background-size:cover; background-position:center; margin-bottom:24px; }
.notice-panel { background:linear-gradient(135deg,#14120e,#0b0b0b); }
.notice-panel p:last-child { color:var(--muted); max-width:820px; line-height:1.8; }
.legal { margin:0 auto; }
.footer-meta a:hover { color:var(--accent); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}

@media (max-width:1100px) {
  .menu-toggle { display:inline-block; }
  .editorial-layout,.form-section { grid-template-columns:1fr; }
  .license-grid,.product-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr 1fr 1fr; }
}
@media (max-width:720px) {
  .page-hero { min-height:56svh; padding:120px 20px 58px; }
  .page-hero > p:last-child { font-size:16px; }
  .form-row { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr; }
  .stats-grid > div,.license-grid article { padding:48px 20px; }
  .product-card h2 { font-size:34px; }
  .footer-links { display:grid; grid-template-columns:1fr 1fr; }
}

/* --- V3 photo library, portfolio & upload center --- */
.menu-toggle{display:none;background:none;border:0;color:var(--text);font-size:20px;cursor:pointer}
.mobile-nav{display:none;position:fixed;inset:72px 0 auto 0;z-index:49;background:rgba(8,8,8,.98);border-bottom:1px solid var(--line);padding:18px 22px;flex-direction:column;gap:16px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.mobile-nav.open{display:flex}
.page-hero{padding:170px 7vw 90px;min-height:50vh;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,#11100d,#080808);border-bottom:1px solid var(--line)}
.page-hero>p{max-width:760px;color:var(--muted);line-height:1.8;font-size:17px}
.page-hero h1{font-size:clamp(52px,6vw,92px);max-width:1050px}
.section-note{color:var(--muted);font-size:12px;line-height:1.6}
.license-grid,.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.license-grid article,.product-card{border:1px solid var(--line);background:var(--panel);padding:34px;min-height:280px}
.license-grid article p:not(.eyebrow),.product-card p{color:var(--muted);line-height:1.75}
.form-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.contact-form{display:flex;flex-direction:column;gap:18px;max-width:900px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.contact-form input,.contact-form textarea,.contact-form select,.portfolio-toolbar input,.portfolio-toolbar select{width:100%;background:#0d0d0c;border:1px solid var(--line);color:var(--text);padding:14px 15px;min-height:48px;border-radius:0}
.contact-form textarea{resize:vertical}
.form-status{color:var(--accent);font-size:12px;line-height:1.5}
.upload-shell{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.upload-drop{border:1px dashed rgba(183,138,75,.65);min-height:310px;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;background:linear-gradient(135deg,rgba(183,138,75,.06),rgba(255,255,255,.015));transition:.2s ease}
.upload-drop.dragging{background:rgba(183,138,75,.14);border-color:var(--accent)}
.upload-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-drop label{cursor:pointer;display:block}
.upload-drop h2{margin-bottom:14px}.upload-drop p{color:var(--muted);line-height:1.7}.upload-drop .button{margin-top:14px}
.upload-side{border:1px solid var(--line);background:var(--panel);padding:26px;position:sticky;top:100px}
.upload-side strong{font:500 48px/1 "Cormorant Garamond",serif;display:block;color:var(--accent)}
.upload-side p,.upload-side li{color:var(--muted);font-size:12px;line-height:1.7}
.upload-side ul{padding-left:18px}
.upload-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.upload-tools button{background:none;color:var(--text);border:1px solid var(--line);padding:10px 12px;cursor:pointer}
.upload-queue{display:flex;flex-direction:column;gap:10px;margin-top:22px}.upload-row{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:center;border:1px solid var(--line);padding:10px;background:var(--panel)}.upload-row img{width:100px;height:76px;object-fit:cover}.upload-meta{display:flex;flex-direction:column;gap:5px}.upload-meta span{color:var(--muted);font-size:11px}.upload-error{border:1px solid #6a2d2d;padding:12px;color:#ffb3b3}
.portfolio-toolbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin-bottom:26px}.portfolio-grid{columns:3 320px;column-gap:14px}.photo-card{display:block;break-inside:avoid;margin:0 0 14px;background:var(--panel);border:1px solid var(--line)}.photo-card img{width:100%;display:block}.photo-card>div{padding:14px}.photo-card h2{font-size:24px}.photo-card p{color:var(--muted);font-size:11px;margin:7px 0 0}.empty-state{columns:initial;display:block;border:1px solid var(--line);padding:50px;max-width:720px}.empty-state p{color:var(--muted)}
.photo-view{min-height:100vh;padding:110px 4vw 50px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.6fr);gap:34px;align-items:start}.photo-stage{min-height:75vh;display:flex;align-items:center;justify-content:center;background:#030303}.photo-stage img{max-width:100%;max-height:82vh;object-fit:contain}.photo-info{position:sticky;top:110px;padding:20px 10px}.photo-info h1{font-size:clamp(48px,5vw,76px)}.photo-info>p:not(.eyebrow){color:var(--muted);line-height:1.8}.photo-info dl{display:grid;grid-template-columns:100px 1fr;gap:10px 16px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.photo-info dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.photo-info dd{margin:0;font-size:12px}.photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.admin-note{border-left:2px solid var(--accent);padding:14px 18px;background:rgba(183,138,75,.06);color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:1100px){.menu-toggle{display:block}.upload-shell,.photo-view,.form-section{grid-template-columns:1fr}.upload-side,.photo-info{position:static}.portfolio-toolbar{grid-template-columns:1fr 1fr}.license-grid,.product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.page-hero{padding:130px 20px 60px}.page-hero h1{font-size:52px}.license-grid,.product-grid,.form-row,.portfolio-toolbar{grid-template-columns:1fr}.upload-row{grid-template-columns:76px 1fr}.upload-row img{width:76px;height:64px}.upload-row .text-link{grid-column:2}.portfolio-grid{columns:1}.photo-view{padding:90px 14px 30px}.photo-stage{min-height:50vh}.photo-info dl{grid-template-columns:80px 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.prose{max-width:900px;margin:0 auto}.prose p{font-family:"Cormorant Garamond",serif;font-size:clamp(22px,2.4vw,34px);line-height:1.55;color:#d8d3c9}.story-title a:hover{color:var(--accent)}

/* --- Simplified upload flow --- */
.upload-progress{margin-top:22px;border:1px solid var(--line);background:var(--panel);padding:20px 22px}
.upload-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}
.upload-progress-head strong{font:500 24px/1.2 "Cormorant Garamond",serif}
.upload-progress-head span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.upload-progress-track{height:5px;background:#24231f;overflow:hidden}
.upload-progress-track span{display:block;height:100%;width:0;background:var(--accent);transition:width .25s ease}
.upload-progress .form-status{margin:12px 0 0;color:var(--muted)}
.upload-complete{margin-top:22px;border:1px solid rgba(183,138,75,.6);background:linear-gradient(135deg,rgba(183,138,75,.12),rgba(255,255,255,.02));padding:24px}
.upload-complete>strong{font:500 31px/1.2 "Cormorant Garamond",serif;color:var(--accent)}
.upload-complete>p{color:var(--muted);line-height:1.65;margin:8px 0 18px}
.upload-complete-actions{display:flex;gap:10px;flex-wrap:wrap}
.button-secondary{background:transparent;border:1px solid var(--line);color:var(--text);cursor:pointer}
.upload-drop.is-processing{opacity:.58;pointer-events:none}
@media(max-width:720px){.upload-progress-head{align-items:flex-start}.upload-complete-actions .button{width:100%;text-align:center}}

/* Horizons Unbound brand lockup */
.brand-name{letter-spacing:.15em;}
.brand-sub{letter-spacing:.19em;}
@media (max-width:560px){.brand-name{font-size:1rem;letter-spacing:.11em}.brand-sub{font-size:.52rem;letter-spacing:.12em}}

/* ===== User photography integration ===== */
.hero{background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.10) 62%,rgba(0,0,0,.24)),url("assets/photos/zimbabwe/img_4306-1.jpg") center 42%/cover no-repeat;}
.collection-card.nigeria{background-image:url("assets/photos/maiduguri/img_0583.jpg")}
.collection-card.car{background-image:url("assets/photos/bangassou/img_1351.jpg")}
.collection-card.zimbabwe{background-image:url("assets/photos/zimbabwe/img_4338-1.jpg")}
.collection-card.people{background-image:url("assets/photos/bangassou/img_1314.jpg")}
.collection-card.wildlife{background-image:url("assets/photos/zimbabwe/img_4347-1.jpg")}
.collection-card.architecture{background-image:url("assets/photos/abuja/img_7891.jpg")}
.g1{background-image:url("assets/photos/bangassou/img_1351.jpg")}
.g2{background-image:url("assets/photos/zimbabwe/img_4338-1.jpg")}
.g3{background-image:url("assets/photos/abuja/img_7891.jpg")}
.g4{background-image:url("assets/photos/maiduguri/img_0583.jpg")}
.g5{background-image:url("assets/photos/bangassou/img_1280.jpg")}
.story-1{background-image:url("assets/photos/maiduguri/img_0583.jpg")}
.story-2{background-image:url("assets/photos/bangassou/img_1357.jpg")}
.story-3{background-image:url("assets/photos/zimbabwe/img_4306-1.jpg")}
.about-image.real-photo{background:url("assets/photos/zimbabwe/img_4411.jpg") center/cover no-repeat;min-height:560px}
.about-image.real-photo span{display:none}
.collection-card{cursor:pointer}
.collection-card a{position:absolute;inset:0;z-index:3}
.collection-card span{pointer-events:none}
.section-note.ready{color:#b8ad9b}
.library-count{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#b8ad9b}
.portfolio-grid.static-library{columns:3 320px;column-gap:18px;display:block}
.portfolio-grid.static-library .photo-card{break-inside:avoid;display:block;margin:0 0 18px;background:#111;border:1px solid #252525;text-decoration:none;color:inherit;overflow:hidden}
.portfolio-grid.static-library .photo-card img{width:100%;height:auto;display:block;transition:transform .45s ease}
.portfolio-grid.static-library .photo-card:hover img{transform:scale(1.015)}
.portfolio-grid.static-library .photo-card>div{padding:14px 15px 16px}
.portfolio-grid.static-library .photo-card h2{font-family:"Cormorant Garamond",serif;font-size:1.45rem;margin:0 0 4px;font-weight:500}
.portfolio-grid.static-library .photo-card p{margin:0;color:#a9a9a9;font-size:.78rem;letter-spacing:.03em}
.photo-stage img{max-height:86vh;object-fit:contain}
.home-photo-strip{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:10px;margin-top:28px}
.home-photo-strip img{width:100%;height:360px;object-fit:cover}
.home-photo-strip img:first-child{height:520px;grid-row:span 2}
.collection-card::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);pointer-events:none}
@media(max-width:800px){
  .home-photo-strip{grid-template-columns:1fr}
  .home-photo-strip img,.home-photo-strip img:first-child{height:300px;grid-row:auto}
}

/* =========================================================
   HORIZONS UNBOUND — DARK EDITORIAL V2
   Clean, cinematic, location-aware editorial system
   ========================================================= */
:root{
  --hu-bg:#080807;
  --hu-surface:#0f0f0d;
  --hu-surface-2:#151411;
  --hu-ink:#f1ede5;
  --hu-muted:#96928a;
  --hu-gold:#b89158;
  --hu-gold-soft:#d0b07a;
  --hu-line:rgba(241,237,229,.12);
  --hu-line-strong:rgba(241,237,229,.22);
  --hu-pad:clamp(24px,4.3vw,72px);
}
body{background:var(--hu-bg);color:var(--hu-ink);overflow-x:hidden}
::selection{background:var(--hu-gold);color:#0a0907}
.site-header{padding:21px var(--hu-pad);grid-template-columns:1fr auto 1fr;background:linear-gradient(to bottom,rgba(0,0,0,.78),transparent);}
.site-header.scrolled{background:rgba(8,8,7,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--hu-line)}
.brand-name{font-size:24px;letter-spacing:.22em}.brand-sub{font-size:8px;letter-spacing:.26em;color:#c4bdb0}
.main-nav{gap:clamp(18px,2vw,32px);font-size:10px;letter-spacing:.15em}.main-nav a{position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--hu-gold);transition:right .25s ease}.main-nav a:hover::after{right:0}

/* Home */
.hu-home-hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(4,4,3,.78) 0%,rgba(4,4,3,.20) 56%,rgba(4,4,3,.34) 100%),linear-gradient(to top,rgba(4,4,3,.78),transparent 50%),url("assets/photos/zimbabwe/img_4320-1.jpg") 50% 44%/cover no-repeat;}
.hu-home-hero::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.03);pointer-events:none}
.hu-hero-inner{position:relative;z-index:2;width:100%;padding:150px var(--hu-pad) clamp(58px,8vh,96px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end}
.hu-hero-copy{max-width:810px}.hu-hero-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--hu-gold-soft);margin:0 0 20px}.hu-home-hero h1{font-size:clamp(64px,8.5vw,132px);line-height:.84;letter-spacing:-.035em;max-width:980px}.hu-hero-deck{max-width:530px;margin:26px 0 0;color:#d0cbc1;font-size:15px;line-height:1.8}.hu-hero-enter{margin-top:32px;display:inline-flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.hu-hero-enter i{display:block;width:42px;height:1px;background:var(--hu-gold);transition:width .25s}.hu-hero-enter:hover i{width:66px}.hu-hero-index{align-self:end;display:grid;gap:10px;text-align:right;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#c5c0b7}.hu-hero-index span{display:block}.hu-hero-index strong{font-weight:400;color:var(--hu-gold-soft)}
.hu-editorial-section{padding:clamp(80px,10vw,150px) var(--hu-pad);border-top:1px solid var(--hu-line)}
.hu-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,440px);gap:40px;align-items:end;margin-bottom:clamp(42px,6vw,82px)}.hu-section-head .eyebrow{margin-bottom:14px}.hu-section-head h2{font-size:clamp(42px,5.2vw,76px);max-width:780px}.hu-section-head p:last-child{margin:0;color:var(--hu-muted);line-height:1.75;font-size:14px}
.hu-journey-grid{display:grid;grid-template-columns:1.22fr .88fr .88fr;gap:clamp(12px,1.7vw,26px)}
.hu-journey{position:relative;overflow:hidden;min-height:clamp(400px,48vw,690px);background:#111}.hu-journey:nth-child(2),.hu-journey:nth-child(3){min-height:clamp(350px,39vw,560px);align-self:end}.hu-journey img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.88) contrast(1.03);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}.hu-journey::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),transparent 58%)}.hu-journey:hover img{transform:scale(1.025);filter:saturate(1)}.hu-journey-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.hu-journey-copy span{display:block;color:#cabda9;text-transform:uppercase;letter-spacing:.16em;font-size:9px;margin-bottom:7px}.hu-journey-copy h3{font-size:clamp(28px,3vw,43px)}
.hu-selected-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(14px,2vw,30px);align-items:start}.hu-selected-primary{position:relative}.hu-selected-primary img{width:100%;height:clamp(520px,64vw,880px);object-fit:cover;display:block}.hu-selected-stack{display:grid;gap:clamp(14px,2vw,30px)}.hu-selected-stack figure,.hu-selected-primary{margin:0;position:relative}.hu-selected-stack img{width:100%;height:clamp(250px,30vw,420px);object-fit:cover;display:block}.hu-selected-grid figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:13px;color:#c9c4ba;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.hu-selected-grid figcaption span:last-child{color:var(--hu-muted)}
.hu-location-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hu-line);border-bottom:1px solid var(--hu-line)}.hu-location-index a{padding:28px 22px;border-right:1px solid var(--hu-line);transition:background .25s}.hu-location-index a:last-child{border-right:0}.hu-location-index a:hover{background:#11110f}.hu-location-index small{display:block;color:var(--hu-gold-soft);font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}.hu-location-index strong{font:500 27px/1.1 "Cormorant Garamond",serif}.hu-location-index em{display:block;margin-top:7px;color:var(--hu-muted);font-size:11px;font-style:normal}
.hu-home-story{display:grid;grid-template-columns:1.45fr .55fr;min-height:650px;border-top:1px solid var(--hu-line)}.hu-home-story-image{background:url("assets/photos/bangassou/img_1357.jpg") center/cover no-repeat;min-height:600px}.hu-home-story-copy{padding:clamp(50px,6vw,90px);align-self:center}.hu-home-story-copy h2{font-size:clamp(42px,4.5vw,70px);margin:12px 0 22px}.hu-home-story-copy p{color:var(--hu-muted);font-size:14px;line-height:1.85;max-width:480px}

/* Page intros */
.page-hero{padding:clamp(160px,18vh,220px) var(--hu-pad) clamp(64px,8vw,110px);min-height:0;background:none!important;border-bottom:1px solid var(--hu-line)}.page-hero h1{font-size:clamp(54px,7vw,104px);max-width:1040px;line-height:.9}.page-hero>p:last-child{max-width:640px;color:var(--hu-muted);line-height:1.8;margin:28px 0 0}.page-hero .eyebrow{margin-bottom:20px}

/* Portfolio */
.hu-portfolio-hero{padding-bottom:42px}.hu-portfolio-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px;color:#b8b2a7;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.hu-portfolio-meta b{font-weight:400;color:var(--hu-gold-soft)}
.portfolio-toolbar{position:sticky;top:69px;z-index:18;display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(145px,.7fr));gap:10px;padding:14px var(--hu-pad);margin:0 calc(var(--hu-pad)*-1) 48px;background:rgba(8,8,7,.92);backdrop-filter:blur(18px);border-top:1px solid var(--hu-line);border-bottom:1px solid var(--hu-line)}.portfolio-toolbar input,.portfolio-toolbar select{height:46px;border:0;border-bottom:1px solid var(--hu-line-strong);border-radius:0;background:transparent;color:var(--hu-ink);padding:0 4px;font-size:11px;letter-spacing:.05em}.portfolio-toolbar select option{background:#111;color:#eee}.portfolio-toolbar input:focus,.portfolio-toolbar select:focus{outline:none;border-bottom-color:var(--hu-gold)}
.portfolio-grid.static-library{columns:2 420px;column-gap:clamp(24px,3vw,52px);display:block}.portfolio-grid.static-library .photo-card{position:relative;break-inside:avoid;display:block;margin:0 0 clamp(30px,4vw,58px);background:transparent;border:0;color:inherit;overflow:hidden}.portfolio-grid.static-library .photo-card .photo-media{position:relative;overflow:hidden;background:#111}.portfolio-grid.static-library .photo-card img{width:100%;height:auto;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s;filter:saturate(.92)}.portfolio-grid.static-library .photo-card:hover img{transform:scale(1.018);filter:saturate(1)}.photo-hover{position:absolute;inset:0;display:flex;align-items:flex-end;padding:22px;background:linear-gradient(to top,rgba(0,0,0,.78),transparent 45%);opacity:0;transition:opacity .3s}.photo-card:hover .photo-hover{opacity:1}.photo-hover .ph-copy{display:flex;width:100%;justify-content:space-between;align-items:end;gap:20px}.photo-hover h2{font-size:clamp(25px,2.3vw,34px)!important;margin:0!important}.photo-hover p{margin:7px 0 0!important;color:#d5d0c7!important;font-size:10px!important;letter-spacing:.13em!important;text-transform:uppercase}.photo-hover .map-hint{font-size:9px;color:var(--hu-gold-soft);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.photo-card>.card-caption{display:flex!important;justify-content:space-between;align-items:center;padding:12px 0 0!important;border:0!important}.photo-card>.card-caption h2{font-size:20px!important;margin:0!important}.photo-card>.card-caption p{font-size:9px!important;text-transform:uppercase;letter-spacing:.12em!important}.photo-card>.card-caption .caption-map{color:var(--hu-gold-soft);font-size:9px;letter-spacing:.12em;text-transform:uppercase}

/* location drawer */
.location-drawer-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s}.location-drawer-backdrop.open{opacity:1;pointer-events:auto}.location-drawer{position:fixed;z-index:81;top:0;right:0;height:100dvh;width:min(520px,94vw);background:#0d0d0b;border-left:1px solid var(--hu-line-strong);transform:translateX(102%);transition:transform .42s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column}.location-drawer.open{transform:translateX(0)}.drawer-close{position:absolute;z-index:2;top:22px;right:22px;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);background:rgba(8,8,7,.55);color:#fff;border-radius:50%;cursor:pointer}.drawer-photo{width:100%;height:43vh;object-fit:cover;background:#111}.drawer-body{padding:28px 30px 38px;overflow:auto}.drawer-kicker{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--hu-gold-soft)}.drawer-body h2{font-size:42px;margin:9px 0 6px}.drawer-loc{color:#c9c4ba;font-size:12px;margin:0 0 24px}.drawer-map{position:relative;min-height:220px;background:#111 center/cover no-repeat;border:1px solid var(--hu-line);margin:0 0 21px;overflow:hidden}.drawer-map::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 55px rgba(0,0,0,.4);pointer-events:none}.map-precision{position:absolute;left:12px;bottom:11px;z-index:2;padding:7px 9px;background:rgba(8,8,7,.78);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#d4c7b0}.drawer-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hu-line);border-bottom:1px solid var(--hu-line);margin:20px 0}.drawer-meta div{padding:14px 0}.drawer-meta div+div{border-left:1px solid var(--hu-line);padding-left:16px}.drawer-meta small{display:block;color:var(--hu-muted);text-transform:uppercase;letter-spacing:.13em;font-size:8px;margin-bottom:5px}.drawer-meta strong{font-size:11px;font-weight:400}.drawer-actions{display:flex;gap:10px}.drawer-actions .button{flex:1}
body.drawer-open{overflow:hidden}

/* Single photograph */
.photo-view{padding:118px var(--hu-pad) 80px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.45fr);gap:clamp(34px,4vw,72px);align-items:start}.photo-stage{min-height:72vh;display:flex;align-items:center;justify-content:center;background:#050505}.photo-stage img{width:100%;height:auto;max-height:calc(100vh - 160px);object-fit:contain;display:block}.photo-info{position:sticky;top:112px;padding-top:14px}.photo-info h1{font-size:clamp(46px,4.4vw,72px);line-height:.92;margin:8px 0 22px}.photo-info>p:not(.eyebrow){color:var(--hu-muted);line-height:1.7;font-size:13px}.photo-info dl{display:grid;grid-template-columns:90px 1fr;margin:28px 0;border-top:1px solid var(--hu-line)}.photo-info dt,.photo-info dd{margin:0;padding:13px 0;border-bottom:1px solid var(--hu-line);font-size:10px}.photo-info dt{color:var(--hu-muted);text-transform:uppercase;letter-spacing:.12em}.photo-info dd{color:#d8d3ca}.photo-location-card{margin:26px 0}.photo-location-map{height:190px;background:#111 center/cover no-repeat;border:1px solid var(--hu-line);position:relative}.photo-location-map .map-precision{bottom:10px}.photo-location-note{font-size:9px!important;color:var(--hu-muted)!important;margin:9px 0 0!important}.photo-actions{display:grid;gap:9px}.photo-actions .button{width:100%}.related-photos{padding:64px var(--hu-pad) 110px;border-top:1px solid var(--hu-line)}.related-photos h2{font-size:42px;margin-bottom:28px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-grid a{display:block}.related-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.related-grid span{display:block;margin-top:9px;color:#bdb7ad;font-size:10px;letter-spacing:.08em;text-transform:uppercase}

/* Stories */
.hu-stories-hero{min-height:68vh;display:flex;align-items:flex-end;padding:140px var(--hu-pad) 70px;background:linear-gradient(to top,rgba(5,5,4,.86),rgba(5,5,4,.12)),url("assets/photos/bangassou/img_1357.jpg") center 52%/cover no-repeat}.hu-stories-hero>div{max-width:900px}.hu-stories-hero h1{font-size:clamp(60px,7vw,108px);line-height:.88}.hu-stories-hero p:last-child{max-width:580px;color:#d0cbc1;line-height:1.7}.hu-story-list{padding:0 var(--hu-pad) 110px}.hu-story-row{display:grid;grid-template-columns:1.35fr .65fr;border-top:1px solid var(--hu-line);min-height:600px}.hu-story-row:nth-child(even){grid-template-columns:.65fr 1.35fr}.hu-story-row:nth-child(even) .hu-story-row-image{order:2}.hu-story-row-image{min-height:520px;background-size:cover;background-position:center}.hu-story-row-copy{padding:clamp(44px,6vw,88px);align-self:center}.hu-story-row-copy h2{font-size:clamp(44px,4.8vw,72px);margin:12px 0 20px}.hu-story-row-copy p{color:var(--hu-muted);line-height:1.8;font-size:14px}.hu-story-1{background-image:url("assets/photos/maiduguri/img_0583.jpg")}.hu-story-2{background-image:url("assets/photos/bangassou/img_1351.jpg")}.hu-story-3{background-image:url("assets/photos/zimbabwe/img_4315-1.jpg")}.hu-story-4{background-image:url("assets/photos/abuja/img_7802.jpg")}

/* About */
.hu-about-hero{padding:145px var(--hu-pad) 100px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(45px,7vw,110px);align-items:center;border-bottom:1px solid var(--hu-line)}.hu-about-portrait{min-height:680px;background:url("assets/photos/bangassou/img_1210-edit.jpg") center/cover no-repeat}.hu-about-copy h1{font-size:clamp(56px,6.2vw,94px);line-height:.9;margin:14px 0 28px}.hu-about-copy p{color:var(--hu-muted);line-height:1.9;max-width:620px}.hu-about-manifesto{padding:100px var(--hu-pad);display:grid;grid-template-columns:.45fr 1fr;gap:50px}.hu-about-manifesto blockquote{margin:0;font:500 clamp(38px,4.2vw,64px)/1.08 "Cormorant Garamond",serif;max-width:900px}.hu-about-manifesto .eyebrow{padding-top:9px}

/* Existing commercial / forms simplified */
.section{padding:clamp(70px,8vw,118px) var(--hu-pad)}.license-grid,.product-grid{gap:1px;background:var(--hu-line)}.license-grid article,.product-card{background:var(--hu-bg);padding:38px}.product-image{filter:saturate(.85)}.notice-panel{background:#0e0e0c}.form-section{grid-template-columns:.6fr 1fr}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid var(--hu-line-strong);border-radius:0;color:var(--hu-ink)}
.footer{padding:60px var(--hu-pad);border-top:1px solid var(--hu-line);background:#070706}

@media(max-width:1040px){
  .main-nav{display:none}.menu-toggle{display:block}.site-header{grid-template-columns:1fr auto}.header-actions{grid-column:2}.hu-hero-inner{grid-template-columns:1fr}.hu-hero-index{text-align:left;grid-auto-flow:column;justify-content:start;gap:18px}.hu-section-head{grid-template-columns:1fr}.hu-journey-grid{grid-template-columns:1fr 1fr}.hu-journey:first-child{grid-column:1/-1;min-height:650px}.hu-selected-grid{grid-template-columns:1fr}.hu-selected-primary img{height:auto}.hu-location-index{grid-template-columns:1fr 1fr}.hu-location-index a:nth-child(2){border-right:0}.hu-location-index a:nth-child(-n+2){border-bottom:1px solid var(--hu-line)}.hu-home-story{grid-template-columns:1fr}.photo-view{grid-template-columns:1fr}.photo-info{position:static}.portfolio-toolbar{top:64px;grid-template-columns:1fr 1fr}.hu-about-hero{grid-template-columns:1fr}.hu-about-portrait{min-height:70vh}.hu-story-row,.hu-story-row:nth-child(even){grid-template-columns:1fr}.hu-story-row:nth-child(even) .hu-story-row-image{order:0}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .site-header{padding:16px 18px}.hu-home-hero{min-height:92svh}.hu-hero-inner{padding:120px 22px 45px}.hu-home-hero h1{font-size:58px}.hu-hero-index{display:none}.hu-editorial-section,.section,.related-photos{padding-left:22px;padding-right:22px}.hu-journey-grid{grid-template-columns:1fr}.hu-journey:first-child{grid-column:auto}.hu-journey,.hu-journey:first-child,.hu-journey:nth-child(2),.hu-journey:nth-child(3){min-height:470px}.hu-location-index{grid-template-columns:1fr}.hu-location-index a{border-right:0;border-bottom:1px solid var(--hu-line)}.hu-location-index a:last-child{border-bottom:0}.portfolio-toolbar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px;grid-template-columns:1fr}.portfolio-grid.static-library{columns:1}.photo-view{padding:95px 18px 55px}.photo-stage{min-height:0}.drawer-photo{height:36vh}.drawer-body{padding:25px 20px 34px}.hu-story-list{padding-left:0;padding-right:0}.hu-story-row-image{min-height:430px}.hu-story-row-copy{padding:42px 22px 65px}.hu-about-hero{padding:110px 22px 70px}.hu-about-manifesto{padding:75px 22px;grid-template-columns:1fr}.related-grid{grid-template-columns:1fr}.page-hero{padding-left:22px;padding-right:22px}}
.photo-media,.caption-map{appearance:none;-webkit-appearance:none;border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;text-align:inherit;cursor:pointer}.photo-media{display:block;width:100%}.caption-map{white-space:nowrap}.caption-map:hover{color:var(--hu-ink)}

/* Horizons Unbound confirmed-logo watermark */
.hu-watermark-host{position:relative!important;overflow:hidden}
.hu-watermark-overlay{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(58%,760px)!important;height:auto!important;opacity:.26!important;z-index:4!important;pointer-events:none!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.48)) drop-shadow(0 -1px 1px rgba(255,255,255,.16))!important;mix-blend-mode:screen!important;object-fit:contain!important}
.photo-hover,.card-caption,.hu-journey-copy,figcaption{position:relative;z-index:6}
.hu-bg-watermark{position:relative;overflow:hidden}
.hu-bg-watermark::after{content:"";position:absolute;inset:0;background:url("assets/branding/horizons-unbound-watermark.png") center/52% auto no-repeat;opacity:.22;pointer-events:none;z-index:3;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}
.en .hu-bg-watermark::after{background-image:url("assets/branding/horizons-unbound-watermark.png")}


/* === Horizons Unbound confirmed brand logo / watermark === */
:root{
  --hu-watermark-opacity:.23;
}
.hu-brand-logo{
  display:block;
  width:min(230px,42vw);
  height:auto;
  object-fit:contain;
}
.site-header .hu-brand-logo{
  width:clamp(145px,16vw,220px);
}
.hu-footer-logo{
  width:clamp(130px,14vw,190px);
  opacity:.78;
  margin-bottom:1rem;
}
.hu-watermarked{
  position:relative;
  overflow:hidden;
}
.hu-watermarked::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
  background-image:url("assets/brand/horizons-unbound-watermark.png");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:min(58%,680px) auto;
  opacity:var(--hu-watermark-opacity);
  mix-blend-mode:screen;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
}
.hu-watermarked.hu-watermark-small::after{
  background-size:min(42%,380px) auto;
  opacity:.18;
}
.hu-watermarked img{
  position:relative;
  z-index:1;
}
@media(max-width:720px){
  .hu-watermarked::after{
    background-size:64% auto;
    opacity:.20;
  }
  .site-header .hu-brand-logo{
    width:145px;
  }
}
