/* FAMILY TIDE visual QA pass: cleaner photography, restrained overlays, readable headlines, map-first cartography */
:root{--paper:#f4f0e7;--ink:#17201e;--map-water:#dce9ea;--map-land:#eef0e6;--map-line:#c8c9bd;--route:#9a4f36}
/* The 13 April 1952 Van Daele departure photograph was taken in Belgium. Do not substitute Rotterdam imagery for it. */
.front-cover{background-image:radial-gradient(circle at 72% 30%,rgba(220,213,193,.34),transparent 25%),linear-gradient(135deg,#263536 0%,#46534f 48%,#8d8979 100%)!important;background-position:center}
.front-cover:before{content:'BELGIUM · 13 APRIL 1952 · FAMILY PHOTOGRAPH PENDING WEB CONNECTION'!important}
.front-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,18,.45) 0 32%,rgba(9,18,18,.08) 60%,transparent 80%);pointer-events:none}
.cover-copy,.cover-folio,.cover-evidence{position:relative;z-index:2}.cover-copy{text-shadow:0 1px 8px rgba(0,0,0,.24)}
.story-visual-hero:before,.rabbit-feature-hero:before{background:linear-gradient(0deg,rgba(7,14,14,.62) 0,rgba(7,14,14,.30) 28%,rgba(7,14,14,.05) 52%,transparent 72%)}
.story-visual-hero h1,.rabbit-feature-hero h1{font-size:clamp(48px,6.6vw,96px);line-height:.9;max-width:1050px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.story-visual-hero[data-story="charlemagne"],.feature-medieval{background-position:center 18%!important;background-size:cover!important}.feature-medieval:before{background:linear-gradient(0deg,rgba(10,8,5,.68),transparent 58%)}
.feature-door:before{background:linear-gradient(0deg,rgba(5,12,12,.70) 0,rgba(5,12,12,.18) 44%,transparent 70%)}.feature-door h3{font-size:clamp(28px,3vw,48px);text-shadow:0 1px 8px rgba(0,0,0,.35)}
.period-visual-grid img{height:auto;max-height:none;object-fit:contain;object-position:center;background:#ddd8ce;filter:none}.period-visual-grid figure{transform:none;padding:10px}.period-visual-grid figcaption{font-size:15px}
.journey-map{background:var(--map-water);overflow:hidden;border:1px solid #c8d1d0}.journey-map svg{min-height:520px;background:var(--map-water)}.journey-map .map-land{fill:var(--map-land);stroke:#c9cec6;stroke-width:1.2}.journey-map .map-coast{fill:none;stroke:#b7c2c0;stroke-width:1.5}.journey-map .map-city{fill:#687673}.journey-map .map-city-label{font:600 12px 'DM Sans',sans-serif;fill:#5b6865;letter-spacing:.02em}.journey-route{stroke:var(--route);stroke-width:3.5;stroke-dasharray:none}.journey-pin circle:first-child{fill:#fff;stroke:var(--route);stroke-width:3}.journey-pin circle:nth-child(2){fill:var(--route)}.journey-pin text{font-size:15px}.journey-pin .pin-sub{font-size:10px}.journey-caption{background:rgba(255,255,255,.92);box-shadow:0 6px 24px rgba(25,39,38,.08);border:1px solid #d7dcda}.story-map{background:#eef1ec;color:var(--ink)}.story-map-copy{background:#183033;color:#fff}.map-legend{color:#dce5e2}.story-photo-caption{background:rgba(12,23,23,.74);backdrop-filter:blur(3px)}
@media(max-width:900px){.story-visual-hero h1,.rabbit-feature-hero h1{font-size:clamp(44px,9vw,72px)}.front-cover:after{background:linear-gradient(0deg,rgba(9,18,18,.52) 0 30%,rgba(9,18,18,.08) 62%,transparent 82%)}}@media(max-width:600px){.story-visual-hero h1,.rabbit-feature-hero h1{font-size:46px;line-height:.94}.journey-map svg{min-height:430px}.feature-door h3{font-size:30px}}
