/* Shared frame shows the complete panorama rather than cropping its story. */
.page-hero.photo-hero{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;height:600px;min-height:600px;padding:48px 0;display:flex;align-items:center;background:#0c1724;color:#edf3fa;--ink:#edf3fa;--muted:#d7e2ef;--accent:#79aaff;--line:rgba(190,211,238,.22)}
.photo-hero>.wrap{position:relative;z-index:2}
.photo-hero .header-art{position:absolute;inset:0;pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:flex-end}
.photo-hero .header-art img{display:block;width:100%;height:auto;max-width:calc(600px * 3840 / 1648);max-height:100%;object-fit:contain;object-position:right center;opacity:1;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 12%,#000 42%),linear-gradient(0deg,transparent 0%,#000 10%,#000 90%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
.page-hero.photo-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0c1724 0%,rgba(12,23,36,.93) 20%,rgba(12,23,36,.62) 43%,rgba(12,23,36,.08) 70%,transparent),linear-gradient(0deg,#0c1724 0%,transparent 12%)}
.photo-hero h1{max-width:980px}
.photo-hero p{color:#d7e2ef}
.photo-hero .breadcrumb{color:#b9cff0}
.photo-hero .button{color:#0c1724}
.photo-hero .header-art svg,.photo-hero .header-motion-toggle{display:none}
.photo-hero-quiet .header-art{opacity:.78}
/* Article headers share typography, spacing and theme, without generated art. */
.page-hero.plain-article-hero{background:var(--surface);padding:64px 0;min-height:0;height:auto}
.plain-article-hero h1{max-width:1000px}
@media(max-width:1000px){
 .page-hero.photo-hero{height:auto;min-height:0;padding:40px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .photo-hero>.wrap{order:0;min-height:440px;display:flex;flex-direction:column;justify-content:center}
 .photo-hero .header-art{order:1;position:relative;inset:auto;width:100%;aspect-ratio:21/9;flex:none}
 .photo-hero .header-art img{object-position:center;max-width:none;max-height:none}
 .page-hero.photo-hero::before{display:none}
 .page-hero.plain-article-hero{padding:46px 0}
}
@media(max-width:480px){.photo-hero>.wrap{min-height:490px}.photo-hero h1{overflow-wrap:anywhere}}
@media print{.photo-hero .header-art,.page-hero.photo-hero::before{display:none}.page-hero.photo-hero{height:auto;min-height:0;background:white;color:black;--ink:black;--muted:#333;--accent:#1761dd;--line:#aaa}.photo-hero>.wrap{min-height:0}.photo-hero p,.photo-hero .breadcrumb{color:#333}}
