/* A quieter header and a photo-led passport. */
.header{height:auto;min-height:108px;padding-block:4px;margin-bottom:12px;gap:16px}
.brand{flex-shrink:0}
.brand .brand-logo{width:100px;height:100px}
.header-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px}
.studio-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px}
.studio-link{min-height:44px;font-size:.875rem;gap:8px}
#languages{gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#0b1b24cc}
#languages button{min-width:40px;border:0;border-radius:5px}
#languages button.active{background:#263b40;color:#e9cd87}
.status-line{margin:0 0 14px;gap:10px 20px}
.record-ref{letter-spacing:.05em}
.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:0;border-radius:12px;overflow:hidden;box-shadow:0 16px 48px #0003}
.hero-copy{padding:34px;min-width:0}
.hero-copy h1{font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.04;letter-spacing:-.025em;margin:14px 0 16px}
.hero-copy .eyebrow{margin-bottom:0;line-height:1.7}
.hero-copy .latin{margin-bottom:22px}
.hero-copy .intro{max-width:none;margin-bottom:22px;line-height:1.75}
.hero-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding-block:8px}
.hero .fish-plate{min-width:0;min-height:340px}
.hero--photo{grid-template-columns:minmax(0,1fr)}
.hero--photo .hero-copy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:28px 56px;padding:30px 36px}
.hero--photo .hero-copy .latin{margin-bottom:0}
.hero--photo .hero-copy .intro{margin-bottom:12px}
.hero--photo .fish-plate.has-photo{display:flex;min-height:0;padding:0;background:#07141c}
.photo-open{position:relative;display:block;width:100%;height:clamp(300px,43vw,520px);padding:0;border:0;background:transparent;cursor:zoom-in;color:var(--ink)}
.fish-plate.has-photo .photo-open .fish-photo{position:absolute;inset:0;width:100%;height:100%;max-width:100%;margin:0;object-fit:contain}
.photo-open:focus-visible{outline:3px solid var(--gold);outline-offset:-5px}
.photo-expand{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #c6d4d359;border-radius:50%;background:#08151de8;color:#f2eee5}
.photo-expand svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.photo-open:hover .photo-expand{border-color:var(--gold);color:var(--gold)}
.hero .photo-caption{position:static;width:100%;padding:13px 22px;border-top:1px solid var(--line);background:#0b1b24;gap:12px 24px;font-size:.75rem;line-height:1.6}
.photo-caption span{min-width:0;overflow-wrap:anywhere}
.facts-strip{margin-top:20px;padding:26px 8px;gap:0;background:var(--navy);border:1px solid var(--line);border-top-color:#a18a4c;border-radius:10px;box-shadow:0 12px 36px #0002}
.facts-strip .fact,.facts-strip .fact:first-child,.facts-strip .fact:last-child{padding:0 24px;min-width:0}
.facts-strip .fact{border-right:1px solid #8e7b464f}
.facts-strip .fact:last-child{border-right:0}
.facts-strip .fact .eyebrow{font-size:.8125rem;letter-spacing:.065em;line-height:1.65;margin-bottom:12px}
.facts-strip .fact .value{font-size:clamp(1.75rem,2.5vw,2.125rem);line-height:1.2;overflow-wrap:anywhere}
.facts-strip .fact .value small{font-size:1rem;color:var(--muted)}

/* The native dialog keeps keyboard focus within the full-screen photograph. */
html.photo-viewing{overflow:hidden}
dialog.photo-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#040b11;color:var(--ink);text-align:left;overflow:auto}
.photo-dialog::backdrop{background:#040b11}
.photo-dialog-layout{display:flex;flex-direction:column;min-height:100%;height:100%;padding:16px 24px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
.photo-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;padding-bottom:12px}
.photo-dialog-toolbar p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.photo-dialog-close{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--navy);color:var(--ink);font-size:2rem;line-height:1}
.photo-dialog-close:hover{border-color:var(--gold);color:var(--gold)}
.photo-dialog-stage{display:grid;place-items:center;flex:1;min-height:0}
.photo-dialog-stage img{display:block;grid-area:1/1;width:100%;height:100%;min-height:0;object-fit:contain}
.photo-dialog-stage p{grid-area:1/1;max-width:32rem;text-align:center;color:var(--muted);font-size:1rem}
.photo-dialog [hidden]{display:none}
@media(max-width:900px){
  .facts-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 0}
  .facts-strip .fact,.facts-strip .fact:first-child,.facts-strip .fact:last-child{padding:20px 24px}
  .facts-strip .fact:nth-child(even){border-right:0}
  .facts-strip .fact:nth-child(-n+2){border-bottom:1px solid #8e7b464f}
  .hero--photo .hero-copy{gap:24px;padding:28px}
}
@media(max-width:650px){
  .header{min-height:96px;margin-bottom:8px;gap:12px;padding-block:4px}
  .brand .brand-logo{width:88px;height:88px}
  .header-actions{flex-direction:column;gap:0;align-items:flex-end}
  .studio-actions{gap:0 12px}
  .studio-link{font-size:.875rem;min-height:44px}
  #languages button{min-width:36px}
  .hero{grid-template-columns:minmax(0,1fr);border-radius:10px}
  .hero-copy,.hero--photo .hero-copy{display:block;padding:25px 23px}
  .hero-copy h1,html[lang="hr"] .hero-copy h1{font-size:clamp(2.125rem,8.5vw,2.75rem);line-height:1.07;margin:12px 0}
  .hero-copy .latin,.hero--photo .hero-copy .latin{margin-bottom:18px}
  .hero-copy .intro,.hero--photo .hero-copy .intro{margin-bottom:12px}
  .hero .fish-plate{min-height:260px}
  .hero .fish-plate.has-photo{min-height:0}
  .photo-open{height:auto;aspect-ratio:4/3}
  .photo-expand{right:12px;bottom:12px}
  .hero .photo-caption{padding:12px 16px}
  .facts-strip{margin-top:16px;padding:0}
  .facts-strip .fact,.facts-strip .fact:first-child,.facts-strip .fact:last-child{padding:20px 16px}
  .facts-strip .fact .eyebrow{font-size:.75rem;letter-spacing:.04em;margin-bottom:10px}
  .facts-strip .fact .value{font-size:1.75rem}
  .photo-dialog-layout{padding-inline:12px}
}
@media print{
  .hero{box-shadow:none;border-radius:0}
  .facts-strip{background:#fff;box-shadow:none;break-inside:avoid}
  .photo-expand,.photo-dialog{display:none!important}
  .photo-caption{color:var(--ink)!important;background:#fff!important}
  html.photo-viewing{overflow:visible}
}
