:root {
    --blue-950: #06233f;
    --blue-900: #08365f;
    --blue-800: #004b8d;
    --blue-700: #0057a8;
    --blue-600: #0a68c7;
    --blue-100: #e8f2fb;
    --ink: #152235;
    --muted: #64748b;
    --line: #dbe4ee;
    --bg: #f5f8fb;
    --paper: #ffffff;
    --accent: #e21b2d;
    --shadow: 0 18px 48px rgba(8, 54, 95, 0.14);
    --radius: 8px;
}

/* Jedno zaglavlje za cijeli javni web: identično naslovnici */
:is(.page-home,.page-inner) {
  --home3-shell:min(1460px,calc(100% - 72px));
}
:is(.page-home,.page-inner) .site-header {
  position:absolute;
  inset:0 0 auto;
  z-index:5000;
  isolation:isolate;
  width:100%;
  border:0;
  background:linear-gradient(180deg,rgba(1,23,43,.82),rgba(1,23,43,.2));
  box-shadow:none;
  color:#fff;
  transition:background 180ms ease,box-shadow 180ms ease,color 180ms ease;
}
:is(.page-home,.page-inner) .site-header.is-scrolled {
  position:fixed;
  background:rgba(255,255,255,.97);
  box-shadow:0 14px 42px rgba(6,29,53,.14);
  color:var(--ld-navy);
  backdrop-filter:blur(12px);
}
:is(.page-home,.page-inner) .header-main {
  width:var(--home3-shell);
  min-height:94px;
  margin-inline:auto;
  padding:0;
  gap:2rem;
}
:is(.page-home,.page-inner) .brand {
  min-width:230px;
  flex:0 0 auto;
  gap:.8rem;
  color:#fff;
}
:is(.page-home,.page-inner) .site-header.is-scrolled .brand { color:var(--ld-navy); }
:is(.page-home,.page-inner) .brand-mark {
  width:58px;
  height:58px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 24px rgba(0,0,0,.16);
}
:is(.page-home,.page-inner) .brand-copy strong {
  color:inherit;
  font-size:1rem;
  line-height:1.1;
  letter-spacing:.03em;
  text-transform:none;
}
:is(.page-home,.page-inner) .brand-copy strong br { display:none; }
:is(.page-home,.page-inner) .brand-copy small {
  margin-top:.2rem;
  color:inherit;
  font-size:.67rem;
  opacity:.78;
}
:is(.page-home,.page-inner) .site-nav {
  margin-left:auto;
  align-self:center;
  gap:clamp(.2rem,.7vw,.8rem);
  font-size:.68rem;
}
:is(.page-home,.page-inner) .site-nav-item { position:relative; }
:is(.page-home,.page-inner) .site-nav-item > a {
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:2rem .6rem;
  color:#fff;
  font-size:.7rem;
  letter-spacing:.025em;
}
:is(.page-home,.page-inner) .site-nav-item > a svg { width:.75rem; height:.75rem; }
:is(.page-home,.page-inner) .site-header.is-scrolled .site-nav-item > a { color:var(--ld-navy); }
:is(.page-home,.page-inner) .site-nav-item > a:hover,
:is(.page-home,.page-inner) .site-nav-item > a.is-active { color:#fff; }
:is(.page-home,.page-inner) .site-header.is-scrolled .site-nav-item > a:hover,
:is(.page-home,.page-inner) .site-header.is-scrolled .site-nav-item > a.is-active { color:var(--ld-blue); }
:is(.page-home,.page-inner) .site-nav-item > a::after {
  left:.6rem;
  right:.6rem;
  bottom:1.4rem;
  height:1px;
}
:is(.page-home,.page-inner) .site-nav-item > a.is-active::after { background:currentColor; }
:is(.page-home,.page-inner) .header-tools {
  gap:.35rem;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
}
:is(.page-home,.page-inner) .site-header.is-scrolled .header-tools { color:var(--ld-navy); }
:is(.page-home,.page-inner) .site-header.is-scrolled .header-search-toggle {
  border-color:#afc0cc;
  color:var(--final-navy,var(--ld-navy));
}

@media(max-width:1249px){
  :is(.page-home,.page-inner) { --home3-shell:min(1180px,calc(100% - 44px)); }
  :is(.page-home,.page-inner) .header-main { min-height:82px; }
  :is(.page-home,.page-inner) .site-nav-item > a { padding-inline:.38rem; font-size:.62rem; }
}
@media(max-width:850px){
  :is(.page-home,.page-inner) { --home3-shell:calc(100% - 28px); }
  :is(.page-home,.page-inner) .header-main { width:100%; min-height:82px; padding-inline:14px; }
  :is(.page-home,.page-inner) .brand { min-width:0; }
  :is(.page-home,.page-inner) .brand-mark { width:48px; height:48px; }
  :is(.page-home,.page-inner) .brand-copy strong { font-size:.8rem; }
  :is(.page-home,.page-inner) .brand-copy small { display:none; }
  :is(.page-home,.page-inner) .site-nav { top:82px; padding:12px; }
  :is(.page-home,.page-inner) .site-nav-item > a {
    display:flex;
    width:100%;
    padding:.72rem;
    color:#092d4d;
  }
  :is(.page-home,.page-inner) .site-nav-item > a::after { display:none; }
  :is(.page-home,.page-inner) .nav-toggle {
    display:block;
    margin-left:auto;
    border-color:rgba(255,255,255,.45);
    background:rgba(255,255,255,.1);
  }
  :is(.page-home,.page-inner) .nav-toggle span { background:#fff; }
  :is(.page-home,.page-inner) .site-header.is-scrolled .nav-toggle { border-color:var(--ld-line); background:#fff; }
  :is(.page-home,.page-inner) .site-header.is-scrolled .nav-toggle span { background:var(--ld-navy); }
}

/* Public arrivals calendar — premium, responsive schedule */
.arrival-public {
  position:relative;
  padding:clamp(26px,3vw,44px) 0 clamp(64px,7vw,104px);
  background:
    radial-gradient(circle at 100% 0,rgba(35,137,189,.1),transparent 32%),
    linear-gradient(180deg,#eef4f7 0,#f8fafb 42%,#eef4f7 100%);
}
.arrival-public-shell { width:min(1540px,calc(100% - 64px)); }
.arrival-schedule-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:38px;
  margin-bottom:16px;
}
.arrival-schedule-head > div:first-child { max-width:780px; }
.arrival-schedule-head .eyebrow {
  margin:0 0 6px;
  color:#bf850e;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.arrival-schedule-head h2 {
  margin:0;
  color:#062b4b;
  font-family:var(--display-font,Georgia,serif);
  font-size:clamp(1.8rem,2.35vw,2.65rem);
  font-weight:550;
  line-height:1.08;
}
.arrival-schedule-head h2::after {
  display:block;
  width:48px;
  height:2px;
  margin-top:10px;
  background:#e4a51f;
  content:"";
}
.arrival-schedule-head > div:first-child > p:last-child {
  max-width:720px;
  margin:10px 0 0;
  color:#557086;
  font-size:.9rem;
  line-height:1.5;
}
.arrival-month-nav {
  display:grid;
  grid-template-columns:48px minmax(170px,1fr) 48px;
  align-items:center;
  gap:5px;
  min-width:290px;
  border:1px solid #d5e1e8;
  border-radius:14px;
  padding:7px;
  background:#fff;
  box-shadow:0 16px 42px rgba(7,47,78,.08);
}
.arrival-month-nav a {
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:10px;
  color:#0b6194;
  transition:.2s ease;
}
.arrival-month-nav a:hover { background:#e9f3f8; transform:translateX(-2px); }
.arrival-month-nav a:last-child:hover { transform:translateX(2px); }
.arrival-month-nav svg { width:19px; }
.arrival-month-nav span { display:flex; flex-direction:column; text-align:center; }
.arrival-month-nav small { color:#728798; font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.arrival-month-nav strong { margin-top:2px; color:#082f50; font-size:.94rem; }
.arrival-month-picker {
  position:relative;
  display:grid;
  min-width:0;
  place-items:center;
  margin:0;
  cursor:pointer;
}
.arrival-month-picker input[type="month"] {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  opacity:0;
  cursor:pointer;
}
.arrival-month-picker > .arrival-month-picker-icon {
  position:absolute;
  right:1px;
  width:15px;
  height:15px;
  color:#6d8798;
  pointer-events:none;
}
.arrival-month-picker:focus-within {
  border-radius:9px;
  outline:2px solid #1682bb;
  outline-offset:2px;
}
.arrival-command-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:14px;
  border:1px solid #d8e3e9;
  border-radius:15px;
  padding:9px;
  background:#fff;
  box-shadow:0 14px 38px rgba(7,43,71,.07);
}
.arrival-view-switch { display:flex; gap:5px; }
.arrival-view-switch a {
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  border-radius:10px;
  padding:0 18px;
  color:#345269;
  font-size:.78rem;
  font-weight:850;
  text-decoration:none;
  transition:.2s ease;
}
.arrival-view-switch a:hover { background:#eef5f8; color:#006ba9; }
.arrival-view-switch a.is-active { background:#073b63; color:#fff; box-shadow:0 7px 18px rgba(3,49,83,.17); }
.arrival-view-switch svg { width:18px; }
.arrival-summary { display:flex; align-items:center; gap:9px; padding-right:7px; }
.arrival-summary > span {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  border-left:1px solid #d9e4ea;
  padding:0 15px;
  color:#38566c;
  font-size:.73rem;
}
.arrival-summary svg { width:19px; color:#0684c1; }
.arrival-summary strong { font-weight:800; }
.arrival-filter-panel {
  margin-bottom:18px;
  border:1px solid #d6e2e9;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 36px rgba(7,43,71,.06);
}
.arrival-filter-panel summary {
  display:flex;
  min-height:58px;
  align-items:center;
  gap:12px;
  padding:0 18px;
  color:#0a3557;
  cursor:pointer;
  list-style:none;
}
.arrival-filter-panel summary::-webkit-details-marker { display:none; }
.arrival-filter-panel summary > span { display:flex; align-items:center; gap:10px; font-size:.82rem; font-weight:850; }
.arrival-filter-panel summary > span svg { width:18px; color:#0b7eb8; }
.arrival-filter-panel summary small { margin-left:auto; color:#6a8295; font-size:.7rem; }
.arrival-filter-panel summary > svg { width:17px; transition:transform .2s ease; }
.arrival-filter-panel[open] summary > svg { transform:rotate(180deg); }
.arrival-filter-modern {
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr auto;
  gap:12px;
  border-top:1px solid #e0e8ed;
  padding:17px 18px 19px;
  background:#f7fafb;
}
.arrival-filter-modern label { display:flex; flex-direction:column; gap:7px; }
.arrival-filter-modern label > span { color:#3e5a6f; font-size:.66rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.arrival-filter-modern :is(input,select) {
  width:100%;
  min-height:46px;
  border:1px solid #cbd9e2;
  border-radius:8px;
  padding:0 12px;
  background:#fff;
  color:#082e4e;
  font:inherit;
  font-size:.79rem;
}
.arrival-filter-control {
  position:relative;
  display:flex;
  align-items:center;
}
.arrival-filter-control > svg {
  position:absolute;
  left:12px;
  z-index:1;
  width:17px;
  height:17px;
  color:#6b8496;
  pointer-events:none;
}
.arrival-filter-control > input:first-of-type { padding-right:42px; padding-left:38px; }
.arrival-date-control > button {
  position:absolute;
  right:5px;
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:0;
  border-radius:7px;
  background:#edf5f8;
  color:#0873aa;
  cursor:pointer;
}
.arrival-date-control > button:hover { background:#dceef6; }
.arrival-date-control > button svg { width:17px; height:17px; }
.arrival-date-control > input[type="date"] {
  position:absolute;
  right:10px;
  bottom:0;
  width:1px;
  height:1px;
  min-height:0;
  padding:0;
  border:0;
  opacity:0;
  pointer-events:none;
}
.arrival-filter-actions { display:flex; align-items:flex-end; gap:12px; }
.arrival-filter-actions button {
  display:inline-flex;
  min-height:46px;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:8px;
  padding:0 20px;
  background:#dca327;
  color:#082a47;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
  text-transform:uppercase;
  cursor:pointer;
}
.arrival-filter-actions button svg { width:16px; }
.arrival-filter-actions > a { align-self:center; color:#536d80; font-size:.72rem; font-weight:800; text-decoration:underline; }
.arrival-active-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  border-top:1px solid #e0e8ed;
  padding:10px 18px 14px;
  background:#f7fafb;
  color:#526d80;
  font-size:.7rem;
}
.arrival-active-filters > strong { color:#173e59; }
.arrival-active-filters > span {
  display:inline-flex;
  min-height:30px;
  align-items:center;
  gap:6px;
  border:1px solid #c8dce7;
  border-radius:999px;
  padding:0 10px;
  background:#fff;
  color:#0b456d;
  font-weight:800;
}
.arrival-active-filters svg { width:14px; height:14px; color:#0878b1; }
.arrival-calendar-modern {
  border:1px solid #cfdee6;
  border-radius:17px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 23px 64px rgba(5,43,72,.11);
}
.arrival-calendar-week-modern {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-bottom:1px solid #d4e1e8;
  background:#073b63;
}
.arrival-calendar-week-modern span {
  padding:15px 13px;
  color:#dbeaf3;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.arrival-calendar-grid-modern { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.arrival-day {
  position:relative;
  min-height:170px;
  border-right:1px solid #dce6eb;
  border-bottom:1px solid #dce6eb;
  padding:12px;
  background:#fff;
  transition:.2s ease;
  scroll-margin-top:110px;
}
.arrival-day:nth-child(7n) { border-right:0; }
.arrival-day.is-outside { background:#f2f5f7; }
.arrival-day.has-arrivals { background:linear-gradient(180deg,#fbfdfe,#f4f9fb); }
.arrival-day.has-arrivals:hover { z-index:1; background:#fff; box-shadow:0 12px 34px rgba(0,77,119,.14); transform:translateY(-2px); }
.arrival-day.is-today::before {
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:#e0a329;
  content:"";
}
.arrival-day:target {
  z-index:2;
  outline:3px solid #dfa52c;
  outline-offset:-3px;
  background:#fffaf0;
  box-shadow:0 12px 35px rgba(7,52,86,.18);
}
.arrival-day header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; }
.arrival-day header > a { display:flex; align-items:center; gap:8px; color:#173d59; text-decoration:none; }
.arrival-day header > a strong {
  display:grid;
  width:29px;
  height:29px;
  place-items:center;
  border-radius:50%;
  font-size:.82rem;
}
.arrival-day.is-today header > a strong { background:#dda426; color:#fff; }
.arrival-day header > a span { display:none; }
.arrival-day header > small {
  display:grid;
  min-width:24px;
  height:24px;
  place-items:center;
  border-radius:999px;
  padding:0 7px;
  background:#dceef6;
  color:#006aa5;
  font-size:.66rem;
  font-weight:900;
}
.arrival-day-events { display:flex; flex-direction:column; gap:5px; }
.arrival-day-events > a:not(.arrival-more) {
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:8px;
  border-left:2px solid #e1a328;
  border-radius:4px;
  padding:6px 7px;
  background:#edf4f7;
  color:#153d59;
  text-decoration:none;
  transition:.15s ease;
}
.arrival-day-events > a:not(.arrival-more):hover { background:#e3f0f5; transform:translateX(2px); }
.arrival-day-events time { color:#a56b00; font-size:.68rem; font-weight:900; }
.arrival-day-events > a > span { min-width:0; }
.arrival-day-events strong { display:block; overflow:hidden; font-size:.66rem; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.arrival-day-events small { display:block; margin-top:2px; overflow:hidden; color:#6a8192; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
.arrival-day-events .arrival-more { padding:3px 5px; color:#006ea8; font-size:.64rem; font-weight:850; text-decoration:none; }

/* Compact public calendar: date picker on the left, selected-day schedule on the right. */
.arrival-calendar-workspace {
  display:grid;
  grid-template-columns:minmax(440px,.88fr) minmax(480px,1.12fr);
  align-items:stretch;
  border:1px solid #cfdee6;
  border-radius:17px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 23px 64px rgba(5,43,72,.11);
  scroll-margin-top:105px;
}
.arrival-date-picker { min-width:0; padding:22px; background:#fff; }
.arrival-date-picker-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.arrival-date-picker-head > div { display:flex; flex-direction:column; gap:3px; }
.arrival-date-picker-head > .arrival-date-picker-title {
  flex:1 1 auto;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.arrival-date-picker-head span,
.arrival-selected-day-head span {
  color:#a97006;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.arrival-date-picker-head strong { color:#082f50; font-size:1.12rem; }
.arrival-date-picker-head > small { max-width:250px; color:#6b8294; font-size:.68rem; line-height:1.45; text-align:right; }
.arrival-month-nav-calendar {
  grid-template-columns:38px minmax(185px,1fr) 38px;
  gap:3px;
  min-width:285px;
  border-radius:11px;
  padding:4px;
  box-shadow:none;
}
.arrival-month-nav-calendar a {
  width:38px;
  height:38px;
  border-radius:8px;
}
.arrival-month-nav-calendar .arrival-month-picker { min-height:38px; }
.arrival-month-nav-calendar .arrival-month-picker span { gap:1px; }
.arrival-month-nav-calendar .arrival-month-picker strong { margin:0; font-size:.94rem; line-height:1.1; }
.arrival-month-nav-calendar .arrival-month-picker small {
  color:#6b8294;
  font-size:.54rem;
  letter-spacing:.025em;
  text-transform:none;
}
.arrival-month-nav-calendar .arrival-month-picker-icon { right:4px; width:14px; height:14px; }
.arrival-calendar-week-compact,
.arrival-calendar-grid-compact { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.arrival-calendar-week-compact { margin-bottom:6px; }
.arrival-calendar-week-compact span {
  padding:7px 2px;
  color:#6b8091;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.055em;
  text-align:center;
  text-transform:uppercase;
}
.arrival-date-cell {
  position:relative;
  display:grid;
  min-width:0;
  min-height:64px;
  place-items:center;
  border:1px solid #d9e4ea;
  border-radius:9px;
  background:#f8fafb;
  color:#143d5a;
  text-decoration:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
a.arrival-date-cell:hover { border-color:#75aeca; background:#edf6fa; box-shadow:0 7px 17px rgba(5,67,105,.1); transform:translateY(-1px); }
.arrival-date-cell > strong { font-size:.86rem; }
.arrival-date-cell > small {
  position:absolute;
  right:5px;
  bottom:5px;
  display:grid;
  min-width:20px;
  height:20px;
  place-items:center;
  border-radius:999px;
  padding:0 5px;
  background:#d9edf6;
  color:#066d9f;
  font-size:.6rem;
  font-weight:900;
}
.arrival-date-cell.is-outside { border-color:transparent; background:transparent; }
.arrival-date-cell.is-today { border-color:#dda427; box-shadow:inset 0 0 0 1px #dda427; }
.arrival-date-cell.is-selected { border-color:#0872ac; background:#073b63; color:#fff; box-shadow:0 8px 20px rgba(4,55,91,.22); }
.arrival-date-cell.is-selected > small { background:#e7ae34; color:#082f50; }
.arrival-selected-day { min-width:0; border-left:1px solid rgba(255,255,255,.14); background:#073b63; color:#fff; }
.arrival-selected-day-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  min-height:94px;
  border-bottom:1px solid rgba(255,255,255,.14);
  padding:22px 24px;
}
.arrival-selected-day-head span { color:#f0b33b; }
.arrival-selected-day-head h3 { margin:4px 0 0; color:#fff; font-family:var(--display-font,Georgia,serif); font-size:1.4rem; font-weight:500; line-height:1.2; }
.arrival-selected-day-head > strong {
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  padding:8px 11px;
  background:rgba(255,255,255,.08);
  color:#dcecf5;
  font-size:.66rem;
}
.arrival-selected-list { display:flex; flex-direction:column; padding:10px 14px 14px; }
.arrival-selected-item {
  display:grid;
  grid-template-columns:66px 58px minmax(0,1fr) 22px;
  align-items:center;
  gap:13px;
  min-height:82px;
  border-bottom:1px solid rgba(255,255,255,.13);
  padding:10px;
  color:#fff;
  text-decoration:none;
  transition:background .16s ease,transform .16s ease;
}
.arrival-selected-item:last-child { border-bottom:0; }
.arrival-selected-item:hover { border-radius:9px; background:rgba(255,255,255,.08); transform:translateX(2px); }
.arrival-selected-item figure {
  width:66px;
  height:56px;
  margin:0;
  overflow:hidden;
  border-radius:7px;
  background:#0a4d78;
}
.arrival-selected-item figure img { width:100%; height:100%; object-fit:cover; }
.arrival-selected-item figure.is-fallback img { object-fit:contain; padding:7px; }
.arrival-selected-item > time { color:#f1b23a; font-size:1rem; font-weight:900; }
.arrival-selected-item > span { display:flex; min-width:0; flex-direction:column; gap:4px; }
.arrival-selected-item > span > strong { overflow:hidden; color:#fff; font-size:.92rem; text-overflow:ellipsis; white-space:nowrap; }
.arrival-selected-item small { display:flex; align-items:center; gap:6px; color:#c5dae7; font-size:.68rem; line-height:1.3; }
.arrival-selected-item small svg { width:13px; height:13px; flex:0 0 auto; color:#77c2e3; }
.arrival-selected-item > svg { width:18px; color:#75badb; }
.arrival-selected-empty {
  display:grid;
  min-height:310px;
  place-items:center;
  align-content:center;
  padding:34px;
  color:#d8e8f1;
  text-align:center;
}
.arrival-selected-empty > svg { width:38px; height:38px; margin-bottom:12px; color:#e3aa32; }
.arrival-selected-empty > strong { color:#fff; }
.arrival-selected-empty p { max-width:360px; margin:7px 0 0; color:#b8cedc; font-size:.76rem; line-height:1.55; }

.arrival-public-list { display:flex; flex-direction:column; gap:12px; }
.arrival-public-row {
  display:grid;
  grid-template-columns:180px 105px minmax(0,1fr) auto;
  min-height:142px;
  align-items:center;
  gap:24px;
  border:1px solid #d5e1e8;
  border-radius:14px;
  overflow:hidden;
  padding-right:24px;
  background:#fff;
  box-shadow:0 12px 32px rgba(7,43,71,.065);
}
.arrival-public-row figure { align-self:stretch; min-height:142px; margin:0; background:#0a4169; }
.arrival-public-row figure img { width:100%; height:100%; object-fit:cover; }
.arrival-public-row figure.is-fallback img { object-fit:contain; padding:20px; }
.arrival-public-row > time { display:flex; flex-direction:column; gap:5px; color:#8c650e; }
.arrival-public-row > time span { font-size:.67rem; font-weight:850; }
.arrival-public-row > time strong { color:#082f50; font-size:1.55rem; }
.arrival-public-row-copy .eyebrow { margin:0 0 4px; color:#bd8512; font-size:.6rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.arrival-public-row-copy h3 { margin:0; font-size:1.2rem; }
.arrival-public-row-copy h3 a { color:#062e4f; text-decoration:none; }
.arrival-public-row-copy > p:last-child { display:flex; align-items:center; gap:8px; margin:10px 0 0; color:#49657a; font-size:.78rem; }
.arrival-public-row-copy > p svg { width:17px; color:#087aad; }
.arrival-public-row-copy > p span { border-left:1px solid #cedae2; margin-left:5px; padding-left:12px; }
.arrival-public-row-actions { display:flex; flex-direction:column; align-items:flex-end; gap:11px; }
.arrival-public-row-actions a { display:inline-flex; align-items:center; gap:8px; color:#075f91; font-size:.68rem; font-weight:900; letter-spacing:.035em; text-decoration:none; text-transform:uppercase; }
.arrival-public-row-actions a:first-child { color:#9b6800; }
.arrival-public-row-actions svg { width:15px; }
.arrival-empty-modern {
  display:flex;
  align-items:center;
  gap:18px;
  border:1px dashed #bdccd6;
  border-radius:14px;
  padding:30px;
  background:#fff;
  color:#163f5c;
}
.arrival-empty-modern > svg { width:34px; height:34px; color:#c58b15; }
.arrival-empty-modern h2 { margin:0 0 5px; font-size:1.15rem; }
.arrival-empty-modern p { margin:0; color:#667e90; }
.arrival-source-modern {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:17px;
  border-radius:12px;
  padding:15px 18px;
  background:#e2edf2;
  color:#315269;
  font-size:.7rem;
}
.arrival-source-modern svg { flex:0 0 auto; width:18px; color:#0b77a9; }
.arrival-source-modern strong { color:#163e5a; }
.arrival-source-modern p { margin:3px 0 0; }

@media(max-width:1240px){
  .arrival-public-shell { width:min(1180px,calc(100% - 44px)); }
  .arrival-filter-modern { grid-template-columns:repeat(4,1fr); }
  .arrival-filter-actions { grid-column:1/-1; }
  .arrival-day { min-height:154px; padding:9px; }
  .arrival-day-events > a:not(.arrival-more) { grid-template-columns:35px minmax(0,1fr); padding:5px; }
  .arrival-calendar-workspace { grid-template-columns:minmax(390px,.82fr) minmax(430px,1.18fr); }
  .arrival-date-picker { padding:18px; }
  .arrival-date-cell { min-height:58px; }
}
@media(max-width:900px){
  .arrival-public { padding-top:36px; }
  .arrival-public-shell { width:calc(100% - 28px); }
  .arrival-schedule-head { align-items:stretch; flex-direction:column; gap:21px; }
  .arrival-month-nav { align-self:flex-start; }
  .arrival-command-card { align-items:stretch; flex-direction:column; }
  .arrival-view-switch { display:grid; grid-template-columns:repeat(3,1fr); }
  .arrival-view-switch a { justify-content:center; padding:0 10px; }
  .arrival-summary { justify-content:flex-start; padding:0 4px 5px; }
  .arrival-summary > span:first-child { border-left:0; }
  .arrival-filter-modern { grid-template-columns:repeat(2,1fr); }
  .arrival-calendar-week-modern { display:none; }
  .arrival-calendar-grid-modern { display:flex; flex-direction:column; gap:10px; padding:12px; background:#e8f0f4; }
  .arrival-day.is-outside,
  .arrival-day:not(.has-arrivals) { display:none; }
  .arrival-day { min-height:0; border:1px solid #d3e0e7 !important; border-radius:10px; padding:13px; }
  .arrival-day header > a span { display:inline; color:#5e7688; font-size:.7rem; }
  .arrival-day-events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .arrival-day-events > a:not(.arrival-more) { grid-template-columns:45px minmax(0,1fr); min-height:54px; align-items:center; }
  .arrival-public-row { grid-template-columns:130px 88px minmax(0,1fr); padding-right:18px; }
  .arrival-public-row-actions { grid-column:2/-1; align-items:center; flex-direction:row; padding-bottom:16px; }
  .arrival-calendar-workspace { grid-template-columns:1fr; }
  .arrival-selected-day { border-top:1px solid rgba(255,255,255,.14); border-left:0; }
}
@media(max-width:620px){
  .arrival-public { padding:28px 0 62px; }
  .arrival-public-shell { width:calc(100% - 20px); }
  .arrival-schedule-head h2 { font-size:1.7rem; }
  .arrival-schedule-head > div:first-child > p:last-child { font-size:.86rem; }
  .arrival-month-nav { width:100%; min-width:0; }
  .arrival-view-switch { grid-template-columns:1fr 1fr; }
  .arrival-view-switch a:last-child { grid-column:1/-1; }
  .arrival-summary { align-items:flex-start; flex-direction:column; gap:0; }
  .arrival-summary > span { width:100%; border-top:1px solid #e1e8ed; border-left:0; }
  .arrival-filter-panel summary small { display:none; }
  .arrival-filter-modern { grid-template-columns:1fr; }
  .arrival-filter-actions { grid-column:auto; align-items:stretch; flex-direction:column; }
  .arrival-filter-actions button { justify-content:center; }
  .arrival-day-events { grid-template-columns:1fr; }
  .arrival-public-row { grid-template-columns:94px minmax(0,1fr); gap:14px; min-height:118px; padding:0 14px 0 0; }
  .arrival-public-row figure { min-height:118px; }
  .arrival-public-row > time { grid-column:2; grid-row:1; align-self:start; margin-top:19px; }
  .arrival-public-row > time strong { font-size:1.25rem; }
  .arrival-public-row-copy { grid-column:1/-1; padding:0 16px 4px; }
  .arrival-public-row-copy > p:last-child { align-items:flex-start; flex-direction:column; }
  .arrival-public-row-copy > p span { border-left:0; margin-left:25px; padding-left:0; }
  .arrival-public-row-actions { grid-column:1/-1; padding:0 16px 17px; }
  .arrival-date-picker { padding:14px 10px 16px; }
  .arrival-date-picker-head { align-items:flex-start; flex-direction:column; margin:0 5px 12px; }
  .arrival-date-picker-head > small { max-width:none; text-align:left; }
  .arrival-month-nav-calendar { width:100%; min-width:0; grid-template-columns:36px minmax(0,1fr) 36px; }
  .arrival-month-nav-calendar a { width:36px; height:36px; }
  .arrival-calendar-week-compact,
  .arrival-calendar-grid-compact { gap:3px; }
  .arrival-calendar-week-compact span { font-size:.55rem; }
  .arrival-date-cell { min-height:47px; border-radius:7px; }
  .arrival-date-cell > small { right:3px; bottom:3px; min-width:16px; height:16px; font-size:.52rem; }
  .arrival-selected-day-head { align-items:flex-start; flex-direction:column; padding:18px; }
  .arrival-selected-day-head h3 { font-size:1.2rem; }
  .arrival-selected-item { grid-template-columns:52px 48px minmax(0,1fr) 18px; gap:9px; padding:9px 4px; }
  .arrival-selected-item figure { width:52px; height:48px; }
  .arrival-selected-item > time { font-size:.86rem; }
  .arrival-selected-item > span > strong {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-height:1.25;
    white-space:normal;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
}
a { color: inherit; }
img { max-width: 100%; display: block; }

.skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 100;
    transform: translateY(-200%);
    border-radius: 4px;
    background: var(--blue-950);
    color: white;
    padding: 0.75rem 1rem;
    font-weight: 800;
    text-decoration: none;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 10px 30px rgba(8, 54, 95, 0.06);
}

.top-strip {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.2rem;
    min-height: 2.15rem;
    padding: 0.35rem clamp(1rem, 5vw, 4rem) 0;
    color: var(--blue-900);
    font-size: 0.82rem;
    font-weight: 700;
}

.top-strip a,
.top-strip span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
}

.top-strip svg { width: 1rem; height: 1rem; }

.portal-link {
    min-height: 2rem;
    border-radius: 4px;
    background: var(--blue-700);
    color: white;
    padding: 0.35rem 0.75rem;
}

.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 0.55rem clamp(1rem, 5vw, 4rem) 1rem;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    color: var(--ink);
    text-decoration: none;
}

.brand-mark {
    display: grid;
    width: 4.3rem;
    height: 4.3rem;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
}

.brand-mark img,
.footer-mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-copy strong {
    display: block;
    font-size: clamp(1.05rem, 2vw, 1.55rem);
    line-height: 1;
}

.brand-copy small {
    display: block;
    margin-top: 0.25rem;
    color: var(--ink);
    font-size: 0.95rem;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.site-nav a {
    position: relative;
    padding: 1rem 0.7rem;
    color: var(--ink);
    text-decoration: none;
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 0.7rem;
    right: 0.7rem;
    bottom: 0.45rem;
    height: 3px;
    background: transparent;
}

.site-nav a:hover,
.site-nav a.is-active {
    color: var(--blue-700);
}

.site-nav a.is-active::after {
    background: var(--blue-700);
}

.nav-toggle {
    display: none;
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: white;
}

.nav-toggle span {
    display: block;
    width: 1.25rem;
    height: 2px;
    margin: 4px auto;
    background: var(--blue-900);
}

.hero {
    position: relative;
    min-height: 30rem;
    display: grid;
    align-items: center;
    overflow: hidden;
    color: white;
}

.hero-media,
.hero-overlay {
    position: absolute;
    inset: 0;
}

.hero-media {
    z-index: -2;
    background: center / cover no-repeat;
}

.hero-overlay {
    z-index: -1;
    background: linear-gradient(90deg, rgba(0, 64, 110, 0.9), rgba(0, 86, 150, 0.52) 48%, rgba(0, 45, 80, 0.2));
}

.hero-content {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(4rem, 8vw, 7rem) 0;
}

.eyebrow,
.section-kicker {
    margin: 0 0 0.75rem;
    color: var(--blue-700);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.hero .eyebrow,
.page-hero .eyebrow {
    color: white;
}

h1, h2, h3, p { overflow-wrap: break-word; }
h1 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(3rem, 7vw, 5.3rem);
    line-height: 0.96;
    letter-spacing: 0;
}

.hero-content > p:not(.eyebrow) {
    max-width: 38rem;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    margin: 0.6rem 0;
}

.hero-lead {
    max-width: 34rem;
    font-size: 1.06rem !important;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.7rem;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 0.75rem 1.2rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.85rem;
    cursor: pointer;
}

.button.primary {
    background: var(--blue-700);
    color: white;
}

.button.ghost {
    border-color: rgba(255,255,255,0.85);
    color: white;
    background: rgba(255,255,255,0.08);
}

.section {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.service-rail {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    margin-top: -3rem;
    padding: 0;
    background: white;
    border: 1px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--shadow);
}

.service-tile {
    min-height: 6.4rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem 0.85rem;
    align-content: center;
    padding: 1rem;
    border-right: 1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
}

.service-tile:last-child { border-right: 0; }
.service-tile svg {
    grid-row: span 2;
    width: 2.3rem;
    height: 2.3rem;
    color: var(--blue-700);
}
.service-tile strong { font-size: 0.92rem; text-transform: uppercase; }
.service-tile span { color: var(--muted); font-size: 0.86rem; }

.split-band,
.content-columns,
.prose-grid,
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 2rem;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.stat-item {
    display: grid;
    gap: 0.25rem;
    color: var(--blue-900);
}

.stat-item svg { width: 2rem; height: 2rem; color: var(--blue-700); }
.stat-item strong { font-size: 1.7rem; line-height: 1; }
.stat-item span { color: var(--muted); font-size: 0.78rem; text-transform: uppercase; }

.map-card,
.links-panel,
.contact-info-card,
.contact-form,
.map-placeholder,
.service-grid article,
.document-grid article,
.quick-card,
.feature-grid article,
.news-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: white;
    box-shadow: 0 8px 26px rgba(8, 54, 95, 0.06);
}

.map-card {
    min-height: 12rem;
    padding: 2rem;
    color: white;
    background:
        linear-gradient(90deg, rgba(6, 35, 63, 0.95), rgba(0, 87, 168, 0.7)),
        url("../img/approved-originals/povezanost-luke-dubrovnik.jpg") center / cover no-repeat;
}

.map-card .section-kicker { color: white; }
.map-card h2 { max-width: 24rem; margin: 0 0 1rem; }

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.section-heading a,
.news-card a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--blue-700);
    font-weight: 800;
    text-decoration: none;
}

.section-heading svg,
.news-card svg { width: 1rem; height: 1rem; }

.news-grid,
.news-list {
    display: grid;
    gap: 1rem;
}

.news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.news-card {
    display: grid;
    grid-template-columns: 9rem 1fr;
    overflow: hidden;
}

.news-card img {
    width: 100%;
    height: 100%;
    min-height: 9rem;
    object-fit: cover;
}

.news-card div { padding: 1rem; }
.news-card time { color: var(--muted); font-size: 0.8rem; }
.news-card h3 { margin: 0.25rem 0; font-size: 1rem; line-height: 1.2; }
.news-card p { color: var(--muted); font-size: 0.9rem; margin: 0 0 0.75rem; }

.links-panel {
    padding: 1.25rem;
}

.links-panel a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.8rem;
    min-height: 3.3rem;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
}

.links-panel a:last-child { border-bottom: 0; }
.links-panel svg { width: 1.25rem; height: 1.25rem; color: var(--blue-700); }

.page-hero {
    min-height: 14rem;
    display: grid;
    align-items: end;
    padding: 5rem clamp(1rem, 5vw, 4rem) 2.5rem;
    color: white;
    background:
        linear-gradient(90deg, rgba(6, 35, 63, 0.92), rgba(0, 87, 168, 0.62)),
        url("../img/approved-originals/panoramic-view-tudman-bridge.jpg") center / cover no-repeat;
}

.page-hero > div {
    width: min(1120px, 100%);
    margin: 0 auto;
}

.page-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.4rem, 5vw, 4rem);
}

.page-hero p:not(.eyebrow) {
    max-width: 42rem;
    font-size: 1.1rem;
}

.prose-grid h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1;
}

.prose p {
    color: var(--muted);
    font-size: 1.05rem;
}

blockquote {
    margin: 1.5rem 0 0;
    border-left: 4px solid var(--blue-700);
    padding-left: 1rem;
    color: var(--blue-900);
    font-weight: 800;
}

.feature-grid,
.service-grid,
.document-grid,
.quick-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.feature-grid article,
.service-grid article,
.document-grid article,
.quick-card {
    padding: 1.4rem;
}

.feature-grid svg,
.service-grid svg,
.document-grid svg,
.quick-card svg {
    width: 2rem;
    height: 2rem;
    color: var(--blue-700);
}

.service-grid h2,
.document-grid h2,
.feature-grid h3 {
    margin: 1rem 0 0.5rem;
    line-height: 1.2;
}

.service-grid p,
.document-grid p,
.quick-card span,
.feature-grid p {
    color: var(--muted);
}

.quick-card {
    display: grid;
    gap: 0.55rem;
    color: var(--ink);
    text-decoration: none;
}

.contact-layout {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.contact-info-card,
.contact-form,
.contact-action-card,
.map-placeholder {
    padding: 1.6rem;
}

.contact-info-card dl {
    display: grid;
    gap: 1rem;
    margin: 0;
}

.contact-info-card dt {
    color: var(--muted);
    font-weight: 800;
    font-size: 0.85rem;
}

.contact-info-card dd {
    margin: 0.15rem 0 0;
}

.map-placeholder {
    min-height: 18rem;
    display: grid;
    place-items: center;
    align-content: center;
    color: white;
    background:
        linear-gradient(135deg, rgba(6, 35, 63, 0.88), rgba(0, 87, 168, 0.62)),
        url("../img/approved-originals/aerial-view-of-tudjmans-bridge-dubrovnik.jpg") center / cover no-repeat;
    text-align: center;
    text-decoration: none;
}

.map-placeholder svg {
    width: 3rem;
    height: 3rem;
}

.map-action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.7);
    padding-bottom: 0.15rem;
    font-size: 0.85rem;
    font-weight: 900;
}

.map-action svg { width: 1rem; height: 1rem; }

.contact-action-card {
    grid-column: 2;
    display: grid;
    align-content: center;
    gap: 0.8rem;
    background: white;
}

.contact-action-card h2,
.contact-action-card p { margin: 0; }
.contact-action-card > p:not(.section-kicker) { color: var(--muted); }

.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.contact-actions .button { gap: 0.45rem; }
.contact-actions .button svg { width: 1rem; height: 1rem; }

.button.secondary {
    border-color: var(--blue-700);
    background: white;
    color: var(--blue-700);
}

.contact-form {
    grid-column: 2;
    display: grid;
    gap: 1rem;
}

.contact-form label {
    display: grid;
    gap: 0.35rem;
    color: var(--muted);
    font-weight: 800;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.85rem;
    font: inherit;
}

.site-footer {
    margin-top: 2rem;
    background: var(--blue-950);
    color: white;
}

.footer-inner {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 1fr 1.1fr;
    gap: 2rem;
    padding: 2.5rem 0 1.2rem;
}

.footer-brand,
.footer-contact a,
.footer-contact span {
    display: flex;
    gap: 0.7rem;
    align-items: center;
}

.footer-mark { width: 3.8rem; height: 3.8rem; flex: 0 0 auto; }
.footer-mark {
    display: inline-grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: white;
}
.footer-brand p,
.footer-contact span,
.footer-nav a,
.footer-contact a {
    color: rgba(255,255,255,0.78);
}

.footer-nav,
.footer-contact {
    display: grid;
    align-content: start;
    gap: 0.5rem;
}

.footer-nav a,
.footer-contact a,
.footer-credit {
    text-decoration: none;
}

.footer-contact svg { width: 1rem; height: 1rem; }

.footer-bottom {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid rgba(255,255,255,0.14);
    padding-top: 1rem;
    color: rgba(255,255,255,0.72);
    font-size: 0.85rem;
}

@media (max-width: 1050px) {
    .site-nav {
        position: absolute;
        inset: 100% 1rem auto auto;
        display: none;
        width: min(22rem, calc(100vw - 2rem));
        flex-direction: column;
        align-items: stretch;
        background: white;
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 0.5rem;
        box-shadow: var(--shadow);
    }

    .site-nav.is-open { display: flex; }
    .site-nav a { padding: 0.8rem; }
    .nav-toggle { display: block; }
    .header-main { position: relative; }

    .service-rail,
    .stats-grid,
    .news-grid,
    .feature-grid,
    .service-grid,
    .document-grid,
    .quick-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
  .userhub-reserved-parking { grid-template-columns:1fr; }
  .userhub-reserved-parking img { min-height:0; aspect-ratio:16/9; }
    .top-strip {
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 0.35rem;
    }

    .brand-mark { width: 3.4rem; height: 3.4rem; }
    .brand-copy small { font-size: 0.82rem; }
    .hero { min-height: 34rem; }

    .service-rail,
    .split-band,
    .content-columns,
    .prose-grid,
    .contact-layout,
    .footer-inner,
    .news-list {
        grid-template-columns: 1fr;
    }

    .service-tile { border-right: 0; border-bottom: 1px solid var(--line); }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .news-grid,
    .feature-grid,
    .service-grid,
    .document-grid,
    .quick-card-grid {
        grid-template-columns: 1fr;
    }

    .news-card { grid-template-columns: 1fr; }
    .contact-form,
    .contact-action-card { grid-column: auto; }
    .footer-bottom { flex-direction: column; }
    .button { width: 100%; }
}

/* Multimedia koristi isti naslovni obrazac kao ostale javne podstranice. */
.multimedia-page-v2 .multimedia-port-hero {
  min-height:420px;
  display:flex;
  align-items:flex-end;
  padding:clamp(128px,12vw,168px) 0 clamp(46px,5vw,64px);
  background:
    linear-gradient(90deg,rgba(2,32,58,.96) 0%,rgba(2,39,68,.82) 44%,rgba(2,39,68,.28) 78%,rgba(2,39,68,.12) 100%),
    url('../img/approved-originals/luka-iz-zraka.jpg') center 48%/cover no-repeat;
}
.multimedia-page-v2 .multimedia-port-hero h1 {
  max-width:620px;
  font-size:clamp(3rem,5vw,4.65rem);
  line-height:.94;
  letter-spacing:-.035em;
}
.multimedia-page-v2 .multimedia-port-hero > .phase2-shell > p:last-child {
  max-width:610px;
  margin-top:1rem;
  color:#e4edf3;
  font-size:.92rem;
  line-height:1.58;
}
@media(max-width:700px) {
  .multimedia-page-v2 .multimedia-port-hero {
    min-height:350px;
    padding:118px 0 42px;
    background-position:58% center;
  }
  .multimedia-page-v2 .multimedia-port-hero h1 { font-size:2.9rem; }
}

@media (min-width: 761px) and (max-width: 1380px) {
    .page-home .content-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.2rem;
    }

    .page-home .news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-home .news-card {
        grid-template-columns: minmax(8.5rem, 38%) minmax(0, 1fr);
    }

    .page-home .links-panel {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .page-home .split-band {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .page-home .stats-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Template #1 homepage refinement */
@media (min-width: 761px) {
    body {
        background: #fff;
    }

    .page-home .site-header {
        position: relative;
        border-bottom: 1px solid #dce5ef;
        box-shadow: 0 6px 22px rgba(8, 54, 95, 0.06);
    }

    .page-home .top-strip {
        position: absolute;
        top: 0.55rem;
        right: clamp(1rem, 5vw, 4rem);
        z-index: 2;
        min-height: 2rem;
        padding: 0;
        font-size: 0.78rem;
    }

    .page-home .portal-link {
        min-height: 2.35rem;
        border-radius: 4px;
        padding: 0.45rem 1rem;
        text-transform: uppercase;
        font-size: 0.76rem;
    }

    .page-home .header-main {
        width: min(1220px, calc(100% - 2rem));
        min-height: 5.8rem;
        margin: 0 auto;
        padding: 0.75rem 0 0.7rem;
    }

    .page-home .brand-mark {
        width: 4.9rem;
        height: 4.9rem;
    }

    .page-home .brand-copy strong {
        font-size: 1.55rem;
        letter-spacing: 0;
    }

    .page-home .brand-copy small {
        margin-top: 0.18rem;
        color: #1f2937;
        font-size: 1rem;
    }

    .page-home .site-nav {
        align-self: end;
        gap: 0.65rem;
        font-size: 0.74rem;
    }

    .page-home .site-nav a {
        padding: 0.9rem 0.25rem 1.05rem;
    }

    .page-home .site-nav a::after {
        left: 0.25rem;
        right: 0.25rem;
        bottom: 0.56rem;
    }

    .page-home .hero {
        min-height: 21.25rem;
    }

    .page-home .hero-overlay {
        background: linear-gradient(90deg, rgba(0, 65, 112, 0.92), rgba(0, 89, 151, 0.62) 36%, rgba(0, 65, 112, 0.08) 82%);
    }

    .page-home .hero-content {
        width: min(1220px, calc(100% - 2rem));
        padding: 4.05rem 0 5.1rem;
    }

    .page-home h1 {
        font-size: clamp(3.05rem, 5vw, 4.25rem);
        line-height: 1;
    }

    .page-home .hero-content > p:not(.eyebrow) {
        margin: 0.25rem 0;
        font-size: clamp(1.45rem, 2vw, 1.9rem);
    }

    .page-home .hero-lead {
        max-width: 26.5rem;
        margin-top: 1rem !important;
        font-size: 1.03rem !important;
    }

    .page-home .hero-actions {
        margin-top: 1.6rem;
    }

    .page-home .section {
        width: min(1220px, calc(100% - 2rem));
        padding: 2.05rem 0;
    }

    .page-home .service-rail {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        margin-top: -2.65rem;
        padding: 0;
        border-radius: 2px;
        box-shadow: 0 14px 34px rgba(20, 37, 63, 0.14);
    }

    .page-home .service-tile {
        min-height: 5.85rem;
        padding: 1rem 1.15rem;
        grid-template-columns: 2.4rem 1fr;
        gap: 0.2rem 0.9rem;
    }

    .page-home .service-tile svg {
        width: 2.15rem;
        height: 2.15rem;
    }

    .page-home .service-tile strong {
        font-size: 0.84rem;
        line-height: 1.15;
    }

    .page-home .service-tile span {
        color: #344256;
        font-size: 0.82rem;
        line-height: 1.32;
    }

    .page-home .split-band {
        align-items: center;
        grid-template-columns: minmax(0, 0.98fr) minmax(520px, 1.02fr);
        gap: 4rem;
        padding-top: 2rem;
        padding-bottom: 2.7rem;
    }

    .page-home .stats-grid {
        grid-template-columns: repeat(4, max-content);
        justify-content: space-between;
        gap: 2rem;
        margin-top: 1.7rem;
    }

    .page-home .stat-item {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 0.1rem 0.75rem;
    }

    .page-home .stat-item svg {
        grid-row: span 2;
        width: 1.9rem;
        height: 1.9rem;
    }

    .page-home .stat-item strong {
        color: var(--blue-700);
        font-size: 1.55rem;
    }

    .page-home .stat-item span {
        color: #778397;
        font-size: 0.72rem;
    }

    .page-home .map-card {
        min-height: 10.8rem;
        padding: 1.55rem 1.75rem;
        background:
            radial-gradient(circle at 78% 55%, rgba(255,255,255,0.25) 0 2.6rem, transparent 2.7rem),
            linear-gradient(135deg, rgba(6, 35, 63, 0.96), rgba(0, 87, 168, 0.82)),
            repeating-linear-gradient(38deg, rgba(255,255,255,0.15) 0 2px, transparent 2px 36px);
    }

    .page-home .map-card h2 {
        max-width: 23rem;
        margin: 0 0 1rem;
        font-size: 1.18rem;
    }

    .page-home .content-columns {
        grid-template-columns: 1fr;
        gap: 1.7rem;
        border-top: 1px solid var(--line);
        padding-top: 1.7rem;
    }

    .page-home .news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.05rem;
    }

    .page-home .news-card {
        grid-template-columns: minmax(8.5rem, 38%) minmax(0, 1fr);
        border-radius: 4px;
    }

    .page-home .news-card img {
        min-height: 8.4rem;
    }

    .page-home .news-card div {
        min-width: 0;
        padding: 0.95rem 1rem;
    }

    .page-home .news-card h3 {
        margin: 0.2rem 0;
        font-size: 0.95rem;
        line-height: 1.22;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .page-home .news-card p {
        font-size: 0.84rem;
        line-height: 1.42;
        margin-bottom: 0.5rem;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .page-home .news-card a {
        font-size: 0.82rem;
    }

    .page-home .links-panel {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.75rem;
        align-content: start;
        margin-top: 0.3rem;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
    }

    .page-home .links-panel .section-kicker {
        grid-column: 1 / -1;
        margin-bottom: 0.7rem;
    }

    .page-home .links-panel a {
        min-height: 3.85rem;
        border: 1px solid var(--line);
        border-radius: 4px;
        background: white;
        padding: 0 1.15rem;
    }

    .page-home .links-panel span {
        font-size: 0.83rem;
    }
}

/* Final homepage news layout: 2/3 articles + 1/3 useful links */
@media (min-width: 761px) {
    .page-home .content-columns {
        grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr) !important;
        gap: 3rem !important;
        align-items: start;
    }

    .page-home .news-grid {
        grid-template-columns: 1fr !important;
        gap: 0.85rem !important;
    }

    .page-home .news-card {
        grid-template-columns: 12rem minmax(0, 1fr) !important;
        min-height: 8rem;
    }

    .page-home .news-card img {
        min-height: 8rem !important;
        height: 100%;
    }

    .page-home .news-card h3 {
        font-size: 1rem !important;
        line-height: 1.22 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .page-home .news-card p {
        max-width: 34rem;
        font-size: 0.9rem !important;
        line-height: 1.42 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .page-home .links-panel {
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
        margin-top: 0 !important;
    }

    .page-home .links-panel a {
        min-height: 3.45rem !important;
    }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .page-home .content-columns {
        grid-template-columns: 1fr !important;
    }

    .page-home .links-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Corporate identity and editorial sections */
.story-band {
    background: var(--blue-950);
    color: white;
}

.story-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.story-copy h2 {
    max-width: 13ch;
    margin: 0 0 1rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.04;
}

.story-copy p:not(.section-kicker) {
    max-width: 36rem;
    color: #d5e3ef;
    font-size: 1.06rem;
}

.story-copy .section-kicker { color: #77b7ec; }

.story-photo {
    min-height: 22rem;
    margin: 0;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
}

.story-photo img {
    width: 100%;
    height: 100%;
    min-height: 22rem;
    object-fit: cover;
}

.text-link,
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: inherit;
    font-weight: 900;
    text-decoration: none;
}

.text-link {
    margin-top: 1.2rem;
    color: white;
}

.text-link svg,
.back-link svg { width: 1.05rem; height: 1.05rem; }

.article-page { background: white; }

.article-header {
    padding-top: clamp(3rem, 7vw, 6rem);
    padding-bottom: 1.5rem;
}

.article-header time {
    display: block;
    margin: 2rem 0 0.7rem;
    color: var(--blue-700);
    font-size: 0.85rem;
    font-weight: 900;
    text-transform: uppercase;
}

.article-header h1 {
    max-width: 19ch;
    color: var(--blue-950);
    font-size: clamp(2.4rem, 6vw, 4.8rem);
    line-height: 1.02;
}

.back-link { color: var(--blue-700); }

.article-image {
    padding-top: 0;
    padding-bottom: 1rem;
}

.article-image img {
    width: 100%;
    max-height: 42rem;
    object-fit: cover;
    border-radius: 4px;
}

.article-body {
    max-width: 52rem;
    padding-top: 1.5rem;
    padding-bottom: clamp(4rem, 8vw, 7rem);
    font-size: 1.08rem;
}

.empty-state {
    display: grid;
    justify-items: start;
    gap: 1rem;
    min-height: 20rem;
}

.empty-state svg {
    width: 3rem;
    height: 3rem;
    color: var(--blue-700);
}

@media (max-width: 760px) {
    .story-grid { grid-template-columns: 1fr; }
    .story-photo,
    .story-photo img { min-height: 16rem; }
    .article-header h1 { font-size: clamp(2.25rem, 12vw, 3.5rem); }
}

/* Luka Dubrovnik 2026 homepage */
:root {
    --ld-navy: #061d35;
    --ld-navy-2: #0a2b4b;
    --ld-blue: #0875df;
    --ld-sky: #d9ecfb;
    --ld-ice: #f4f8fc;
    --ld-gold: #c5a36a;
    --ld-green: #13c978;
    --ld-orange: #f28a2e;
    --ld-white: #fff;
    --ld-text: #10253f;
    --ld-muted: #607187;
    --ld-line: #dbe4ed;
    --ld-serif: Georgia, "Times New Roman", serif;
    --ld-sans: Arial, Helvetica, sans-serif;
    --ld-shell: min(1370px, calc(100% - 72px));
}

.header-tools {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--ld-navy);
    font-size: 0.75rem;
    font-weight: 800;
}

.header-tools a { text-decoration: none; }
.header-tools svg { width: 1.15rem; height: 1.15rem; }
.header-user-link {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    margin-left: 0.35rem;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
}

.page-home {
    background: white;
    color: var(--ld-text);
    font-family: var(--ld-sans);
}

.page-home .site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 50;
    width: 100%;
    border: 0;
    background: linear-gradient(180deg, rgba(4, 20, 36, 0.82), rgba(4, 20, 36, 0));
    box-shadow: none;
    color: white;
    transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.page-home .site-header.is-scrolled {
    position: fixed;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 14px 42px rgba(6, 29, 53, 0.14);
    color: var(--ld-navy);
    backdrop-filter: blur(12px);
}

.page-home .header-main {
    width: var(--ld-shell);
    min-height: 102px;
    margin: 0 auto;
    padding: 14px 0;
    gap: 2rem;
}

.page-home .brand {
    flex: 0 0 auto;
    color: white;
}

.page-home .site-header.is-scrolled .brand { color: var(--ld-navy); }
.page-home .brand-mark {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);
}

.page-home .brand-copy strong {
    color: inherit;
    font-size: 1.02rem;
    line-height: 0.98;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.page-home .brand-copy small {
    color: inherit;
    font-size: 0.62rem;
    opacity: 0.78;
}

.page-home .site-nav {
    margin-left: auto;
    align-self: center;
    gap: clamp(0.2rem, 0.8vw, 0.95rem);
    font-size: 0.68rem;
}

.page-home .site-nav a {
    color: white;
    padding: 1rem 0.25rem;
    letter-spacing: 0.025em;
}

.page-home .site-header.is-scrolled .site-nav a { color: var(--ld-navy); }
.page-home .site-nav a:hover,
.page-home .site-nav a.is-active { color: white; }
.page-home .site-header.is-scrolled .site-nav a:hover,
.page-home .site-header.is-scrolled .site-nav a.is-active { color: var(--ld-blue); }
.page-home .site-nav a::after {
    left: 0.25rem;
    right: 0.25rem;
    bottom: 0.45rem;
    height: 1px;
}
.page-home .site-nav a.is-active::after { background: currentColor; }
.page-home .header-tools { color: white; }
.page-home .site-header.is-scrolled .header-tools { color: var(--ld-navy); }

/* Jedinstvena navigacija na naslovnici i svim unutarnjim stranicama */
.page-inner .site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 50;
    width: 100%;
    border: 0;
    background: linear-gradient(180deg, rgba(4,20,36,.94), rgba(4,20,36,.68));
    box-shadow: none;
    color: white;
    transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}
.page-inner .site-header.is-scrolled {
    position: fixed;
    background: rgba(255,255,255,.97);
    box-shadow: 0 14px 42px rgba(6,29,53,.14);
    color: var(--ld-navy);
    backdrop-filter: blur(12px);
}
.page-inner .header-main { width:var(--home3-shell); min-height:94px; margin-inline:auto; padding:0; gap:2rem; }
.page-inner .brand { flex:0 0 auto; color:#fff; }
.page-inner .site-header.is-scrolled .brand { color:var(--ld-navy); }
.page-inner .brand-mark { width:58px; height:58px; border-radius:50%; background:#fff; box-shadow:0 6px 24px rgba(0,0,0,.16); }
.page-inner .brand-copy strong { color:inherit; font-size:1.02rem; line-height:.98; letter-spacing:.03em; text-transform:uppercase; }
.page-inner .brand-copy small { color:inherit; font-size:.62rem; opacity:.78; }
.page-inner .site-nav { margin-left:auto; align-self:center; gap:clamp(.2rem,.8vw,.95rem); font-size:.7rem; }
.page-inner .site-nav a { color:#fff; padding:1rem .25rem; letter-spacing:.025em; }
.page-inner .site-header.is-scrolled .site-nav a { color:var(--ld-navy); }
.page-inner .site-nav a:hover,.page-inner .site-nav a.is-active { color:#fff; }
.page-inner .site-header.is-scrolled .site-nav a:hover,.page-inner .site-header.is-scrolled .site-nav a.is-active { color:var(--ld-blue); }
.page-inner .site-nav a::after { left:.25rem; right:.25rem; bottom:.45rem; height:1px; }
.page-inner .site-nav a.is-active::after { background:currentColor; }
.page-inner .header-tools { color:#fff; }
.page-inner .site-header.is-scrolled .header-tools { color:var(--ld-navy); }
.page-inner .site-subnav a { color:#092d4d; }
.page-inner .site-subnav a:hover { color:#075a99; }

.ld-shell { width: var(--ld-shell); margin-inline: auto; }
.ld-overline {
    margin: 0 0 0.8rem;
    color: inherit;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.ld-overline-blue { color: var(--ld-blue); }

.ld-hero {
    position: relative;
    min-height: 790px;
    display: grid;
    align-items: center;
    overflow: hidden;
    color: white;
}

.ld-hero-media,
.ld-hero-overlay {
    position: absolute;
    inset: 0;
}

.ld-hero-media {
    z-index: -2;
    background-position: center 46%;
    background-size: cover;
    transform: scale(1.015);
}

.ld-hero-overlay {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(5, 24, 44, 0.9) 0%, rgba(5, 24, 44, 0.62) 36%, rgba(5, 24, 44, 0.12) 72%),
        linear-gradient(0deg, rgba(5, 24, 44, 0.7) 0%, transparent 42%);
}

.ld-hero-content {
    padding-top: 84px;
    padding-bottom: 116px;
}

.ld-hero-content h1 {
    max-width: 8.8ch;
    margin: 0;
    font-family: var(--ld-serif);
    font-size: clamp(3.9rem, 6.2vw, 6.6rem);
    font-weight: 500;
    line-height: 0.94;
    letter-spacing: -0.045em;
}

.ld-hero-content h1 em {
    display: block;
    color: var(--ld-blue);
    font-style: normal;
}

.ld-hero-intro {
    max-width: 35rem;
    margin: 1.45rem 0 0;
    font-size: clamp(1rem, 1.25vw, 1.28rem);
    font-weight: 700;
    line-height: 1.48;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
}

.ld-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.8rem;
}

.ld-button,
.ld-outline-link,
.ld-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.ld-button {
    min-height: 54px;
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 0.8rem 1.35rem;
}
.ld-button svg,
.ld-outline-link svg,
.ld-text-link svg { width: 1.05rem; height: 1.05rem; }
.ld-button-dark { background: var(--ld-navy); color: white; }
.ld-button-light { background: white; color: var(--ld-navy); }
.ld-button:hover { transform: translateY(-1px); }

.ld-hero-index {
    position: absolute;
    left: max(36px, calc((100vw - 1370px) / 2));
    bottom: 109px;
    display: flex;
    gap: 0.45rem;
}
.ld-hero-index span {
    width: 22px;
    height: 2px;
    background: rgba(255, 255, 255, 0.42);
}
.ld-hero-index .is-active { background: white; }

.ld-info-strip {
    position: absolute;
    inset: auto 0 0;
    min-height: 92px;
    background: rgba(5, 26, 47, 0.94);
    backdrop-filter: blur(12px);
    scrollbar-width: none;
}
.ld-info-strip::-webkit-scrollbar { display: none; }

.ld-info-strip-inner {
    min-height: 92px;
    display: grid;
    grid-template-columns: 1.05fr repeat(3, 1fr) 1.15fr;
    align-items: stretch;
}

.ld-info-status,
.ld-info-item,
.ld-info-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem 1.45rem;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}
.ld-info-status { padding-left: 0; }
.ld-info-item svg { width: 2rem; height: 2rem; flex: 0 0 auto; }
.ld-info-item span { display: grid; font-size: 0.7rem; color: rgba(255,255,255,.75); }
.ld-info-item strong { color: white; font-size: 1.35rem; line-height: 1; }
.ld-status-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--ld-green);
    box-shadow: 0 0 0 6px rgba(19, 201, 120, 0.12);
}
.ld-info-link { justify-content: flex-end; border-right: 0; color: white; text-decoration: none; text-transform: uppercase; font-size: 0.7rem; font-weight: 900; }
.ld-info-link svg { width: 1rem; height: 1rem; }

.ld-plan,
.ld-more,
.ld-news { padding: clamp(4.2rem, 7vw, 7.4rem) 0; }
.ld-plan { background: linear-gradient(180deg, #fff, var(--ld-ice)); }
.ld-section-head { margin-bottom: 2rem; }
.ld-section-head h2 {
    max-width: 15ch;
    margin: 0;
    color: var(--ld-navy);
    font-family: var(--ld-serif);
    font-size: clamp(2.4rem, 4.2vw, 4.6rem);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.035em;
}
.ld-section-head p:not(.ld-overline) { max-width: 38rem; margin: 0.85rem 0 0; color: var(--ld-muted); }
.ld-section-head-split { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.ld-plan-filters { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ld-plan-filters,
.ld-arrival-grid { scrollbar-width: none; }
.ld-plan-filters::-webkit-scrollbar,
.ld-arrival-grid::-webkit-scrollbar { display: none; }
.ld-plan-filters button {
    min-height: 42px;
    border: 1px solid var(--ld-line);
    border-radius: 5px;
    background: white;
    color: var(--ld-navy);
    padding: 0.55rem 0.95rem;
    font: 800 0.72rem var(--ld-sans);
    cursor: pointer;
}
.ld-plan-filters button.is-active { border-color: var(--ld-navy); background: var(--ld-navy); color: white; }

.ld-port-explorer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 1rem;
}
.ld-port-visual {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 9px;
    background: var(--ld-navy);
    box-shadow: 0 22px 60px rgba(6, 29, 53, 0.15);
}
.ld-port-visual > img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.ld-port-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4, 25, 45, 0.62), transparent 55%), rgba(7, 59, 104, 0.08); }
.ld-port-marker {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 36px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 5px;
    background: rgba(5, 29, 53, 0.86);
    color: white;
    padding: 0.45rem 0.7rem;
    font: 900 0.67rem var(--ld-sans);
    text-transform: uppercase;
    box-shadow: 0 6px 20px rgba(0,0,0,.3);
    cursor: pointer;
    backdrop-filter: blur(7px);
}
.ld-port-marker svg { width: 1rem; height: 1rem; }
.ld-port-marker:hover,
.ld-port-marker.is-selected { background: var(--ld-blue); border-color: white; transform: translateY(-2px); }
.ld-port-marker[hidden] { display: none; }
.marker-berths { left: 33%; top: 55%; }
.marker-anchorages { right: 15%; top: 47%; }
.marker-terminal { left: 55%; top: 31%; }
.marker-parking { left: 12%; bottom: 22%; }
.ld-plan-toolbar {
    position: absolute;
    inset: auto 1rem 1rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: white;
    font-size: 0.68rem;
    font-weight: 800;
}
.ld-plan-toolbar span { display: inline-flex; align-items: center; gap: 0.4rem; }
.ld-plan-toolbar span:last-child { color: rgba(255,255,255,.72); font-weight: 500; }
.ld-plan-toolbar svg { width: 1rem; height: 1rem; }

.ld-port-detail {
    display: grid;
    align-content: start;
    gap: 1.25rem;
    min-height: 520px;
    border: 1px solid var(--ld-line);
    border-radius: 9px;
    background: white;
    padding: 1.6rem;
    box-shadow: 0 18px 50px rgba(6, 29, 53, 0.09);
}
.ld-port-detail-top { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.ld-port-detail-top span:first-child { color: var(--ld-blue); font-size: 0.65rem; font-weight: 900; text-transform: uppercase; }
.ld-port-detail h3 { margin: 0.25rem 0 0; color: var(--ld-navy); font-family: var(--ld-serif); font-size: 1.8rem; line-height: 1; }
.ld-detail-status { border-radius: 999px; background: #dcf6e9; color: #087847; padding: 0.35rem 0.55rem; font-size: 0.58rem; font-weight: 900; text-transform: uppercase; }
.ld-port-detail > p { color: var(--ld-muted); font-size: 0.9rem; }
.ld-port-detail dl { display: grid; gap: 0; margin: 0; }
.ld-port-detail dl div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--ld-line); padding: 0.9rem 0; }
.ld-port-detail dt { color: var(--ld-muted); font-size: 0.75rem; }
.ld-port-detail dd { margin: 0; color: var(--ld-navy); font-size: 0.76rem; font-weight: 900; text-align: right; }
.ld-port-detail > a { display: flex; justify-content: space-between; align-items: center; margin-top: auto; color: var(--ld-navy); text-decoration: none; font-size: 0.72rem; font-weight: 900; text-transform: uppercase; }
.ld-port-detail > a svg { width: 1rem; height: 1rem; }

.ld-arrivals {
    position: relative;
    padding: clamp(4.2rem, 7vw, 7rem) 0;
    overflow: hidden;
    color: white;
    background:
        linear-gradient(rgba(5, 31, 54, .94), rgba(5, 31, 54, .97)),
        url("../img/approved-originals/port-dubrovnik-at-night-1.jpg") center / cover fixed;
}
.ld-arrivals::after { content: ""; position: absolute; inset: 0; opacity: .2; background: repeating-radial-gradient(ellipse at 20% 100%, transparent 0 26px, rgba(255,255,255,.16) 27px 28px); pointer-events: none; }
.ld-arrivals .ld-shell { position: relative; z-index: 1; }
.ld-section-head-inverse h2 { color: white; }
.ld-section-head-inverse p:not(.ld-overline) { color: rgba(255,255,255,.72); }
.ld-outline-link { min-height: 46px; border: 1px solid rgba(255,255,255,.7); border-radius: 5px; color: white; padding: .65rem 1rem; }
.ld-arrival-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ld-arrival-card { position: relative; min-height: 360px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: var(--ld-navy); }
.ld-arrival-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ld-arrival-card:hover > img { transform: scale(1.035); }
.ld-arrival-card-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,20,37,.96), rgba(3,20,37,.08) 70%); }
.ld-arrival-card-copy { position: absolute; inset: auto 0 0; padding: 1.5rem; }
.ld-arrival-card-copy > span { color: #9fcdf4; font-size: .63rem; font-weight: 900; text-transform: uppercase; }
.ld-arrival-card h3 { margin: .35rem 0; font-family: var(--ld-serif); font-size: 2rem; font-weight: 500; }
.ld-arrival-card p { margin: 0 0 1rem; color: rgba(255,255,255,.75); font-size: .83rem; }
.ld-arrival-card a { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.25); padding-top: .8rem; color: white; text-decoration: none; font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.ld-arrival-card a svg { width: 1rem; height: 1rem; }
.ld-data-note { display: flex; align-items: center; gap: .55rem; margin: 1.25rem 0 0; color: rgba(255,255,255,.65); font-size: .75rem; }
.ld-data-note svg { width: 1rem; height: 1rem; }

.ld-facts { border-bottom: 1px solid var(--ld-line); background: white; }
.ld-facts-grid { min-height: 126px; display: grid; grid-template-columns: repeat(5, 1fr); }
.ld-fact { display: flex; align-items: center; gap: 1rem; border-right: 1px solid var(--ld-line); padding: 1.5rem; }
.ld-fact:first-child { padding-left: 0; }
.ld-fact:last-child { border-right: 0; }
.ld-fact > svg { width: 2.3rem; height: 2.3rem; color: var(--ld-blue); stroke-width: 1.5; }
.ld-fact span { display: grid; color: var(--ld-muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.ld-fact strong { color: var(--ld-navy); font-size: 1.55rem; line-height: 1.05; }
.ld-fact-link { color: inherit; text-decoration: none; }

.ld-more { background: white; }
.ld-more-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ld-more-card { position: relative; min-height: 280px; overflow: hidden; border-radius: 8px; color: white; text-decoration: none; }
.ld-more-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ld-more-card:hover > img { transform: scale(1.04); }
.ld-more-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,23,42,.88), rgba(4,23,42,.04) 70%); }
.ld-more-copy { position: absolute; inset: auto 1.5rem 1.4rem; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .35rem 1rem; }
.ld-more-copy small { grid-column: 1 / -1; font-size: .63rem; font-weight: 900; text-transform: uppercase; }
.ld-more-copy strong { max-width: 15ch; font-family: var(--ld-serif); font-size: 1.55rem; font-weight: 500; line-height: 1.05; }
.ld-more-copy svg { width: 1.3rem; height: 1.3rem; }

.ld-history { position: relative; min-height: 440px; display: grid; align-items: center; overflow: hidden; color: var(--ld-navy); background: #ece5da; }
.ld-history-media { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(242,237,228,.98) 0%, rgba(242,237,228,.88) 36%, rgba(242,237,228,.28) 70%), url("../img/approved-originals/panoramic-view-tudman-bridge.jpg") center / cover no-repeat; filter: sepia(.45) saturate(.65); }
.ld-history-layout { position: relative; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 4rem; align-items: end; padding: 4.8rem 0; }
.ld-history-copy h2 { max-width: 12ch; margin: 0; font-family: var(--ld-serif); font-size: clamp(2.7rem, 4.6vw, 5rem); font-weight: 500; line-height: .96; }
.ld-history-copy > p:not(.ld-overline) { max-width: 34rem; color: #526174; }
.ld-history-copy .ld-button { margin-top: 1rem; }
.ld-timeline { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding-top: 2.5rem; }
.ld-timeline::before { content: ""; position: absolute; top: 2.15rem; left: 0; right: 0; height: 2px; background: rgba(6,29,53,.38); }
.ld-timeline div { position: relative; display: grid; gap: .35rem; padding: 1.2rem 1rem 0; }
.ld-timeline div::before { content: ""; position: absolute; top: -.5rem; left: 1rem; width: 12px; height: 12px; border: 3px solid white; border-radius: 50%; background: var(--ld-navy); box-shadow: 0 0 0 1px rgba(6,29,53,.25); }
.ld-timeline strong { font-family: var(--ld-serif); font-size: 1.5rem; }
.ld-timeline span { max-width: 12rem; color: #526174; font-size: .72rem; line-height: 1.35; }

.ld-news { background: var(--ld-ice); }
.ld-text-link { color: var(--ld-navy); }
.ld-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
.page-home .ld-news-grid .news-card { display: block; min-height: 100%; overflow: hidden; border-radius: 8px; background: white; }
.page-home .ld-news-grid .news-card img { width: 100%; height: 190px; min-height: 0; object-fit: cover; }
.page-home .ld-news-grid .news-card > div { padding: 1.25rem; }
.page-home .ld-news-grid .news-card h3 { margin: .45rem 0; color: var(--ld-navy); font-family: var(--ld-serif); font-size: 1.35rem; font-weight: 500; line-height: 1.12; }
.page-home .ld-news-grid .news-card p { display: none; }
.page-home .ld-news-grid .news-card a { justify-content: space-between; margin-top: 1rem; color: var(--ld-navy); font-size: .68rem; text-transform: uppercase; }
.page-home .site-footer { margin-top: 0; }

@media (max-width: 1180px) {
    :root { --ld-shell: min(100% - 40px, 1100px); }
    .page-home .site-nav { position: absolute; inset: 100% 0 auto auto; width: min(350px, calc(100vw - 40px)); display: none; background: white; padding: .75rem; box-shadow: 0 20px 55px rgba(6,29,53,.2); }
    .page-home .site-nav.is-open { display: flex; }
    .page-home .site-nav a { color: var(--ld-navy); padding: .8rem; }
    .page-home .site-nav a:hover,
    .page-home .site-nav a.is-active { color: var(--ld-blue); }
    .page-home .nav-toggle { display: block; margin-left: auto; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.1); }
    .page-home .nav-toggle span { background: white; }
    .page-home .site-header.is-scrolled .nav-toggle { border-color: var(--ld-line); background: white; }
    .page-home .site-header.is-scrolled .nav-toggle span { background: var(--ld-navy); }
    .page-home .header-tools { margin-left: 0; }
    .ld-port-explorer { grid-template-columns: minmax(0,1fr) 300px; }
    .ld-facts-grid { grid-template-columns: repeat(5, 1fr); }
    .ld-fact { padding: 1rem; }
}

@media (max-width: 820px) {
    :root { --ld-shell: calc(100% - 32px); }
    .page-home .site-header { position: absolute; }
    .page-home .header-main { min-height: 82px; }
    .page-home .brand-mark { width: 48px; height: 48px; }
    .page-home .brand-copy strong { font-size: .86rem; }
    .page-home .brand-copy small { display: none; }
    .page-home .header-tools { display: none; }
    .ld-hero { min-height: 720px; align-items: end; }
    .ld-hero-content { padding: 130px 0 180px; }
    .ld-hero-content h1 { font-size: clamp(3.25rem, 15vw, 5rem); }
    .ld-hero-intro { max-width: 28rem; }
    .ld-hero-index { display: none; }
    .ld-info-strip { min-height: 128px; overflow-x: auto; }
    .ld-info-strip-inner { width: max-content; min-width: 100%; grid-template-columns: 170px repeat(3, 150px) 175px; }
    .ld-info-status,
    .ld-info-item,
    .ld-info-link { padding: .85rem 1rem; }
    .ld-info-status { padding-left: 1rem; }
    .ld-section-head-split { display: grid; align-items: start; }
    .ld-plan-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4rem; }
    .ld-plan-filters button { flex: 0 0 auto; }
    .ld-port-explorer { grid-template-columns: 1fr; }
    .ld-port-visual,
    .ld-port-visual > img { min-height: 470px; }
    .ld-port-detail { min-height: auto; }
    .ld-arrival-grid,
    .ld-more-grid,
    .ld-news-grid { grid-template-columns: 1fr; }
    .ld-arrival-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .7rem; }
    .ld-arrival-card { min-width: min(86vw, 420px); scroll-snap-align: start; }
    .ld-facts-grid { grid-template-columns: repeat(2, 1fr); }
    .ld-fact { min-height: 106px; border-bottom: 1px solid var(--ld-line); }
    .ld-fact:nth-child(2n) { border-right: 0; }
    .ld-fact:first-child { padding-left: 1rem; }
    .ld-fact:last-child { grid-column: 1 / -1; }
    .ld-history-layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .ld-history-media { background: linear-gradient(180deg, rgba(242,237,228,.98), rgba(242,237,228,.72)), url("../img/approved-originals/panoramic-view-tudman-bridge.jpg") center / cover no-repeat; }
    .ld-timeline { grid-template-columns: repeat(2,1fr); gap: 1.4rem 0; }
    .ld-timeline::before { display: none; }
    .ld-timeline div { padding-top: 1rem; }
    .ld-timeline div::before { top: 0; }
}

@media (max-width: 520px) {
    .ld-hero { min-height: 745px; }
    .ld-hero-media { background-position: 58% center; }
    .ld-hero-content { padding-bottom: 185px; }
    .ld-hero-actions { display: grid; }
    .ld-button { width: 100%; }
    .ld-info-strip-inner { grid-template-columns: 160px repeat(3, 142px) 165px; }
    .ld-plan,
    .ld-more,
    .ld-news,
    .ld-arrivals { padding: 4rem 0; }
    .ld-section-head h2 { font-size: 2.65rem; }
    .ld-port-visual,
    .ld-port-visual > img { min-height: 430px; }
    .marker-berths { left: 25%; top: 54%; }
    .marker-anchorages { right: 7%; top: 41%; }
    .marker-terminal { left: 43%; top: 25%; }
    .marker-parking { left: 8%; bottom: 27%; }
    .ld-port-marker span { display: none; }
    .ld-plan-toolbar span:last-child { display: none; }
    .ld-facts-grid { grid-template-columns: 1fr 1fr; }
    .ld-fact { gap: .7rem; padding: .8rem; }
    .ld-fact > svg { width: 1.8rem; height: 1.8rem; }
    .ld-fact strong { font-size: 1.2rem; }
    .ld-more-card { min-height: 240px; }
    .ld-timeline { grid-template-columns: 1fr; }
    .footer-inner { grid-template-columns: 1fr; }
}
.phase2-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.phase2-hero{padding:clamp(100px,14vw,170px) 0 56px;background:#062743;color:#fff}.phase2-hero h1{font-size:clamp(2.4rem,6vw,5rem);margin:.2em 0}.phase2-hero p{max-width:720px}.port-map-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;padding-block:48px}.port-map-canvas{min-height:600px;border-radius:18px;background:#e9f1f6;overflow:hidden}.port-map-placeholder{display:grid;place-content:center;min-height:600px;padding:40px;text-align:center}.port-map-list{padding:24px;border:1px solid #dce5ec;border-radius:18px}.port-map-item{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e5ebf0}.port-map-item.is-selected{color:#0673d6}.arrival-filter{display:flex;gap:16px;align-items:end;padding:32px 0}.arrival-filter label{display:grid;gap:8px}.arrival-filter input,.arrival-filter button{padding:12px}.arrival-list{display:grid;gap:12px;padding-bottom:64px}.arrival-row{display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;padding:22px;border:1px solid #dce5ec;border-radius:14px}.arrival-row h2{margin:.15em 0}.arrival-row time{display:grid}.arrival-row time strong{font-size:1.5rem}.phase2-link{font-weight:700;color:#0568bf}.phase2-empty{padding-block:80px}.arrival-detail,.cms-page{padding-block:64px}.arrival-detail dl{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.arrival-detail dl div{padding:20px;background:#f2f6f9;border-radius:12px}.arrival-detail dt{font-size:.8rem;text-transform:uppercase}.arrival-detail dd{margin:8px 0 0;font-weight:700}.cms-page{max-width:900px}.cms-page .lead{font-size:1.25rem}.cms-rich-text{line-height:1.8}.source-note{color:#607282}@media(max-width:800px){.port-map-layout{grid-template-columns:1fr}.port-map-canvas,.port-map-placeholder{min-height:420px}.arrival-row{grid-template-columns:72px 1fr}.arrival-row>.phase2-link{grid-column:2}.arrival-detail dl{grid-template-columns:1fr 1fr}}

/* English launch placeholder and polished public 404. */
.english-launch {
    position: relative;
    display: grid;
    min-height: 690px;
    overflow: hidden;
    align-items: center;
    color: #fff;
    background: #052a4c;
}

.english-launch-media,
.english-launch-shade {
    position: absolute;
    inset: 0;
}

.english-launch-media {
    background-image: var(--english-launch-image);
    background-position: center 46%;
    background-size: cover;
    transform: scale(1.015);
}

.english-launch-shade {
    background:
        linear-gradient(90deg, rgba(2, 27, 51, .9) 0%, rgba(2, 32, 59, .72) 48%, rgba(2, 28, 53, .48) 100%),
        linear-gradient(180deg, rgba(1, 18, 34, .1), rgba(1, 25, 47, .65));
}

.english-launch-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr);
    gap: clamp(50px, 7vw, 100px);
    padding-block: 120px 90px;
    align-items: end;
}

.english-launch-copy {
    max-width: 760px;
}

.english-launch-kicker {
    margin: 0 0 20px;
    color: #f4b222;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.english-launch-copy h1 {
    margin: 0;
    max-width: 760px;
    color: #fff;
    font-size: clamp(3.4rem, 5.7vw, 5.8rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.english-launch-copy h1 em {
    color: #f4b222;
    font-style: normal;
}

.english-launch-lead {
    max-width: 660px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.9);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.75;
}

.english-launch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.english-launch-button {
    display: inline-flex;
    min-height: 50px;
    padding: 0 20px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 8px;
    color: #fff;
    font-weight: 800;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.english-launch-button svg {
    width: 17px;
}

.english-launch-button:hover {
    color: #fff;
    transform: translateY(-2px);
}

.english-launch-button.is-primary {
    color: #082746;
    border-color: #f4b222;
    background: #f4b222;
}

.english-launch-button.is-secondary {
    background: rgba(4, 38, 69, .35);
    backdrop-filter: blur(8px);
}

.english-launch-card {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 16px;
    background: rgba(3, 38, 69, .72);
    box-shadow: 0 24px 70px rgba(0, 15, 31, .28);
    backdrop-filter: blur(16px);
}

.english-launch-card > span {
    display: block;
    color: #f4b222;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.english-launch-card > strong {
    display: block;
    margin-top: 7px;
    color: #fff;
    font-family: var(--font-serif, Georgia, serif);
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
}

.english-launch-card > p {
    margin: 14px 0 24px;
    color: rgba(255,255,255,.78);
    font-size: .92rem;
    line-height: 1.65;
}

.english-launch-card > div {
    display: grid;
    gap: 10px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.18);
}

.english-launch-card a {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-weight: 700;
}

.english-launch-card a > svg {
    width: 18px;
    color: #f4b222;
}

.english-launch-card a span,
.english-launch-card a small {
    display: block;
}

.english-launch-card a small {
    margin-bottom: 2px;
    color: rgba(255,255,255,.58);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.public-error-page {
    display: grid;
    min-height: 560px;
    place-items: center;
    background: linear-gradient(145deg, #f4f8fb, #fff 64%);
}

.public-error-inner {
    position: relative;
    padding-block: 100px;
    text-align: center;
}

.public-error-inner > span {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    color: rgba(5, 83, 145, .06);
    font-size: clamp(11rem, 25vw, 22rem);
    font-weight: 900;
    line-height: 1;
    transform: translate(-50%, -50%);
}

.public-error-inner > :not(span) {
    position: relative;
    z-index: 1;
}

.public-error-inner h1 {
    margin: 8px 0 12px;
    color: #082b4b;
    font-size: clamp(2.5rem, 5vw, 4.6rem);
}

.public-error-inner > p:not(.eyebrow) {
    margin: 0 auto;
    color: #5d7083;
    font-size: 1.05rem;
}

.public-error-inner > a {
    display: inline-flex;
    min-height: 48px;
    margin-top: 28px;
    padding: 0 19px;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    color: #fff;
    background: #075fab;
    font-weight: 800;
}

.public-error-inner > a svg {
    width: 17px;
}

@media (max-width: 900px) {
    .english-launch-inner {
        grid-template-columns: 1fr;
        padding-block: 105px 70px;
    }

    .english-launch-card {
        max-width: 520px;
    }
}

@media (max-width: 600px) {
    .english-launch {
        min-height: auto;
    }

    .english-launch-inner {
        gap: 34px;
        padding-block: 88px 50px;
    }

    .english-launch-copy h1 {
        font-size: clamp(3rem, 15vw, 4.2rem);
    }

    .english-launch-actions,
    .english-launch-button {
        width: 100%;
    }

    .english-launch-card {
        padding: 23px;
    }

    .public-error-page {
        min-height: 500px;
    }
}
.port-map-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.port-map-filters button,.port-map-item button{border:0;background:transparent;cursor:pointer}.port-map-filters button{padding:8px 12px;border:1px solid #b9c9d6;border-radius:999px}.port-map-item{display:block}.port-map-item button{display:flex;justify-content:space-between;width:100%;padding:0;text-align:left}.port-map-detail{display:none;padding-top:12px}.port-map-item.is-open .port-map-detail,.port-map-item.is-selected .port-map-detail{display:block}
.arrival-view-tabs{display:flex;gap:10px;padding-top:32px}.arrival-view-tabs a{padding:10px 16px;border:1px solid #cbd7df;border-radius:999px}.arrival-view-tabs a.is-active{background:#062743;color:#fff}.arrival-filter{flex-wrap:wrap}.arrival-filter select{padding:12px;min-width:150px}.arrival-calendar{padding-bottom:48px}.arrival-calendar-week,.arrival-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.arrival-calendar-week span{padding:10px;text-align:center;font-weight:700}.arrival-calendar-day,.arrival-calendar-grid>.is-empty{min-height:130px;padding:12px;border:1px solid #dbe5eb}.arrival-calendar-day{display:flex;flex-direction:column;gap:4px}.arrival-calendar-day.has-arrivals{background:#e8f4fd}.arrival-calendar-day span{color:#0568bf;font-weight:700}.arrival-calendar-day small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrival-source{padding:24px;margin:24px 0 64px;background:#f1f5f8;border-radius:12px}@media(max-width:700px){.arrival-calendar-week{display:none}.arrival-calendar-grid{grid-template-columns:1fr}.arrival-calendar-grid>.is-empty{display:none}.arrival-calendar-day{min-height:auto}.arrival-filter{display:grid;grid-template-columns:1fr 1fr}.arrival-filter label{min-width:0}.arrival-filter input,.arrival-filter select{width:100%;min-width:0}}
.arrival-ship-visual{margin-bottom:32px}.arrival-ship-visual img,.ship-placeholder{width:100%;max-height:520px;object-fit:cover;border-radius:18px}.ship-placeholder{display:grid;place-content:center;min-height:320px;text-align:center;background:linear-gradient(145deg,#062743,#0a5b91);color:#fff}.ship-placeholder span{font-size:4rem}
.geometry-note{font-size:.82rem;color:#5c6f7e}.admin-map-editor{min-height:0}

/* Homepage 2026 — operational, CMS-driven variant */
.page-home {
    --home3-navy: #032a4d;
    --home3-navy-deep: #021f3b;
    --home3-blue: #0a4f86;
    --home3-gold: #d5a23e;
    --home3-ink: #06254a;
    --home3-soft: #f3f6f8;
    --home3-line: #d9e1e7;
    --home3-shell: min(1400px, calc(100% - 64px));
    background: #fff;
    color: var(--home3-ink);
}

.home3-shell { width: var(--home3-shell); margin-inline: auto; }

.home3-hero {
    position: relative;
    min-height: 745px;
    display: grid;
    align-items: center;
    overflow: hidden;
    color: #fff;
}

.home3-hero-media,
.home3-hero-shade { position: absolute; inset: 0; }
.home3-hero-media {
    background-position: center;
    background-size: cover;
    transform: scale(1.015);
}
.home3-hero-shade {
    background:
        linear-gradient(90deg, rgba(1,25,48,.93) 0%, rgba(2,38,70,.64) 45%, rgba(2,31,59,.28) 68%, rgba(1,24,45,.62) 100%),
        linear-gradient(180deg, rgba(1,20,39,.26), rgba(2,33,61,.15) 55%, rgba(0,29,55,.74));
}
.home3-hero::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 34% auto 0 0;
    width: 46%;
    opacity: .18;
    background-image:
        repeating-radial-gradient(ellipse at 0 100%, transparent 0 16px, rgba(255,255,255,.4) 17px 18px, transparent 19px 30px);
    pointer-events: none;
}
.home3-hero::after {
    content: "";
    position: absolute;
    z-index: 3;
    left: -5%;
    right: -5%;
    bottom: -76px;
    height: 122px;
    border-radius: 50% 50% 0 0 / 65% 65% 0 0;
    background: #fff;
}
.home3-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(390px, .72fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
    padding: 135px 0 100px;
}
.home3-hero-copy { max-width: 720px; }
.home3-kicker {
    margin: 0 0 .55rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2.2vw, 1.85rem);
    font-weight: 700;
}
.home3-hero-copy h1 {
    max-width: 690px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.45rem, 6.5vw, 6.15rem);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.045em;
}
.home3-hero-copy h1 em { color: inherit; font-style: normal; }
.home3-hero-copy > p:not(.home3-kicker) {
    max-width: 470px;
    margin: 1.65rem 0 0;
    font-size: 1.08rem;
    line-height: 1.75;
}
.home3-actions { display: flex; gap: 1rem; margin-top: 2rem; }
.home3-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    border: 1px solid currentColor;
    border-radius: 5px;
    padding: .8rem 1.45rem;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .025em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease;
}
.home3-button:hover { transform: translateY(-2px); }
.home3-button svg { width: 1.05rem; }
.home3-button.is-gold { border-color: var(--home3-gold); background: var(--home3-gold); color: #fff; }
.home3-button.is-ghost { background: rgba(3,37,73,.3); color: #fff; }

.home3-arrival-panel {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.19);
    border-radius: 9px;
    background: rgba(2,31,59,.88);
    box-shadow: 0 24px 70px rgba(0,15,32,.33);
    backdrop-filter: blur(12px);
}
.home3-panel-head {
    display: flex;
    min-height: 66px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.4rem;
    border-bottom: 1px solid rgba(255,255,255,.11);
    text-transform: uppercase;
}
.home3-panel-head strong { font-size: .83rem; }
.home3-panel-head a { display: inline-flex; align-items: center; gap: .4rem; color: var(--home3-gold); font-size: .65rem; font-weight: 900; text-decoration: none; }
.home3-panel-head svg { width: .9rem; }
.home3-arrival-summary { display: grid; grid-template-columns: 1fr 1fr; padding: 1rem 1.4rem; border-bottom: 1px solid rgba(255,255,255,.11); }
.home3-arrival-summary span { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; align-items: center; padding: .3rem 1.1rem; border-right: 1px solid rgba(255,255,255,.14); }
.home3-arrival-summary span:first-child { padding-left: 0; }
.home3-arrival-summary span:last-child { border: 0; }
.home3-arrival-summary svg { grid-row: 1 / 3; width: 1.65rem; height: 1.65rem; margin-right: .6rem; }
.home3-arrival-summary b { font-size: 1.55rem; line-height: 1; }
.home3-arrival-summary small { margin-top: .25rem; opacity: .82; }
.home3-panel-arrivals { padding: 0 1.4rem; }
.home3-panel-arrivals > a {
    display: grid;
    grid-template-columns: 72px 1fr 84px;
    gap: .8rem;
    align-items: center;
    min-height: 96px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    color: #fff;
    text-decoration: none;
}
.home3-panel-arrivals time,
.home3-panel-arrivals > a > span:not(.home3-ship-symbol) { display: grid; }
.home3-panel-arrivals time small { color: var(--home3-gold); font-size: .65rem; }
.home3-panel-arrivals time strong { font-size: 1.05rem; }
.home3-panel-arrivals > a > span b { font-size: .78rem; text-transform: uppercase; }
.home3-panel-arrivals > a > span small { margin-top: .25rem; font-size: .66rem; opacity: .75; }
.home3-panel-arrivals img,
.home3-ship-symbol { width: 84px; height: 55px; border-radius: 4px; background: #124e7d; object-fit: cover; }
.home3-ship-symbol { display: grid; place-items: center; }
.home3-panel-empty { display: grid; min-height: 190px; place-items: center; align-content: center; gap: .7rem; padding: 1.5rem; text-align: center; }
.home3-panel-empty svg { width: 2.2rem; height: 2.2rem; color: var(--home3-gold); }
.home3-panel-empty p { max-width: 270px; margin: 0; font-size: .82rem; opacity: .82; }
.home3-arrival-panel footer { display: grid; gap: .25rem; padding: 1rem 1.4rem 1.2rem; font-size: .65rem; opacity: .8; }
.home3-arrival-panel footer small { font-size: .61rem; }
.home3-scroll { position: absolute; z-index: 4; left: 50%; bottom: 32px; display: grid; justify-items: center; color: #fff; text-decoration: none; transform: translateX(-50%); }
.home3-scroll svg:first-child { width: 1.55rem; }
.home3-scroll svg:last-child { width: 1.2rem; margin-top: -.25rem; }

.home3-quick { position: relative; z-index: 5; padding: 30px 0 38px; background: #fff; }
.home3-quick-grid { display: grid; grid-template-columns: repeat(6, 1fr); }
.home3-quick-item {
    display: grid;
    grid-template-rows: 42px auto 1fr auto;
    min-width: 0;
    gap: .65rem;
    padding: 1rem 1.45rem 1.15rem;
    border-right: 1px solid var(--home3-line);
    color: var(--home3-ink);
    text-align: center;
    text-decoration: none;
}
.home3-quick-item:first-child { border-left: 1px solid var(--home3-line); }
.home3-quick-item > svg { justify-self: center; width: 2rem; height: 2rem; color: #0b3f76; stroke-width: 1.6; }
.home3-quick-item strong { font-size: .71rem; text-transform: uppercase; }
.home3-quick-item p { margin: 0; color: #54687c; font-size: .69rem; line-height: 1.7; }
.home3-quick-item span { display: inline-flex; justify-self: center; align-items: center; gap: .35rem; color: #063b72; font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.home3-quick-item span svg { width: .85rem; }

.home3-dashboard { padding: 0 0 48px; background: linear-gradient(#fff, #f3f5f7); }
.home3-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.48fr) minmax(285px, .86fr) minmax(285px, .86fr); align-items: stretch; }
.home3-dash-card { min-width: 0; border: 1px solid var(--home3-line); background: #fff; box-shadow: 0 16px 38px rgba(5,39,71,.05); }
.home3-dash-card:first-child { border-radius: 10px 0 0 10px; }
.home3-dash-card:last-child { border-radius: 0 10px 10px 0; }
.home3-dash-card > header { min-height: 142px; padding: 1.4rem 1.5rem .9rem; }
.home3-dash-card > header span { display: block; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.home3-dash-card > header p { min-height: 44px; margin: .45rem 0 .65rem; color: #53687a; font-size: .72rem; line-height: 1.55; }
.home3-dash-card > header a { display: inline-flex; border-radius: 4px; background: #083968; color: #fff; padding: .47rem .8rem; font-size: .63rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.home3-map-root { position: relative; margin: 0 1rem 1rem; overflow: hidden; border-radius: 7px; background: #d7e2e9; }
.home3-map-canvas,
.home3-map-canvas .port-map-placeholder { min-height: 365px; }
.home3-map-canvas > p { display: grid; min-height: 365px; place-items: center; margin: 0; color: #496071; }
.home3-map-filters { position: absolute; z-index: 5; left: 10px; bottom: 52px; display: flex; gap: 6px; }
.home3-map-filters button {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 31px;
    border: 1px solid rgba(7,49,85,.22);
    border-radius: 4px;
    background: rgba(255,255,255,.92);
    color: #07345f;
    padding: .35rem .65rem;
    font-size: .61rem;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,31,59,.12);
}
.home3-map-filters button.is-active { background: #062f57; color: #fff; }
.home3-map-filters button span { width: 8px; height: 8px; border-radius: 50%; }
.home3-map-filters .is-blue { background: #168eea; }
.home3-map-filters .is-gold { background: #d5a23e; }
.home3-map-detail { position: absolute; z-index: 4; inset: auto 0 0; display: flex; min-height: 45px; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem .8rem; background: rgba(2,32,59,.94); color: #fff; }
.home3-map-detail strong { font-size: .67rem; text-transform: uppercase; }
.home3-map-detail span { max-width: 70%; font-size: .57rem; text-align: right; opacity: .75; }

.home3-schedule-card h3 { margin: 0 1.5rem .5rem; color: #798795; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.home3-schedule-list { padding: 0 1.5rem 1.1rem; }
.home3-schedule-list > a { display: grid; grid-template-columns: 52px 45px 1fr; gap: .65rem; align-items: center; min-height: 65px; border-bottom: 1px solid #e7ecef; color: var(--home3-ink); text-decoration: none; }
.home3-schedule-list time,
.home3-schedule-list > a span { display: grid; }
.home3-schedule-list time b { font-size: .7rem; }
.home3-schedule-list time small { color: #bc8223; font-size: .67rem; }
.home3-schedule-list img { width: 43px; height: 30px; border-radius: 3px; object-fit: cover; }
.home3-schedule-list > a > svg { width: 1.55rem; color: #467392; }
.home3-schedule-list span strong { overflow: hidden; font-size: .67rem; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.home3-schedule-list span small { font-size: .62rem; color: #687b8c; }
.home3-card-empty { display: grid; min-height: 220px; place-items: center; align-content: center; gap: .7rem; color: #6a7d8d; text-align: center; }
.home3-card-empty svg { width: 2.2rem; height: 2.2rem; }
.home3-card-empty p { max-width: 200px; margin: 0; font-size: .72rem; }
.home3-capacity-card dl { margin: 0; padding: 0 1.5rem 1rem; }
.home3-capacity-card dl div { display: grid; grid-template-columns: 47px 1fr; align-items: center; min-height: 72px; border-bottom: 1px solid #e5eaee; }
.home3-capacity-card dl svg { width: 1.9rem; height: 1.9rem; color: #0a4479; stroke-width: 1.5; }
.home3-capacity-card dt { display: grid; font-size: .69rem; font-style: normal; line-height: 1.35; }
.home3-capacity-card dt b { font-size: 1.18rem; }

.home3-upcoming { position: relative; overflow: hidden; padding: 40px 0 34px; background: linear-gradient(135deg, #012a4e, #043a68 55%, #022744); color: #fff; }
.home3-upcoming::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: repeating-radial-gradient(ellipse at 50% 130%, transparent 0 20px, #8cb3cf 21px 22px, transparent 23px 37px); pointer-events: none; }
.home3-upcoming .home3-shell { position: relative; z-index: 1; }
.home3-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.home3-section-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.8vw, 2.35rem); font-weight: 400; text-transform: uppercase; }
.home3-section-head a { display: inline-flex; align-items: center; gap: .5rem; color: var(--home3-gold); font-size: .68rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.home3-section-head svg { width: 1rem; }
.home3-ship-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.home3-ship-card { position: relative; min-height: 365px; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; background: #07345e; }
.home3-ship-card::after { content: ""; position: absolute; inset: 32% 0 0; background: linear-gradient(180deg, transparent, rgba(2,25,48,.92) 30%); pointer-events: none; }
.home3-ship-card > img,
.home3-ship-fallback { width: 100%; height: 215px; object-fit: cover; }
.home3-photo-credit { position: absolute; z-index: 3; top: .7rem; right: .7rem; padding: .35rem .5rem; border-radius: 4px; background: rgba(2,25,48,.82); color: #fff; font-size: .55rem; font-weight: 700; text-decoration: none; }
.home3-photo-credit:hover { background: #d9a83e; color: #062947; }
.home3-panel-ship-photo { position: relative; margin: 0; overflow: hidden; border-radius: 6px; }
.home3-panel-ship-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home3-panel-ship-photo figcaption { position: absolute; right: .2rem; bottom: .15rem; max-width: calc(100% - .4rem); padding: .12rem .25rem; border-radius: 3px; background: rgba(2,25,48,.82); color: #fff; font-size: .43rem; line-height: 1.2; }
.arrival-official-photo { margin: 0; }
.arrival-official-photo img { display: block; width: 100%; height: auto; }
.arrival-official-photo figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem 1rem; padding: .65rem .8rem; background: #062947; color: #fff; font-size: .78rem; }
.arrival-official-photo figcaption a { color: #fff; font-weight: 700; }
.arrival-official-photo figcaption small { color: rgba(255,255,255,.72); }
.arrival-ship-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.arrival-ship-gallery figure { overflow:hidden; margin:0; border:1px solid #dce5ec; border-radius:10px; background:#062947; }
.arrival-ship-gallery img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.arrival-ship-gallery figcaption { padding:.55rem .7rem; color:#fff; font-size:.72rem; }
.arrival-ship-gallery a { color:#fff; font-weight:700; }
@media(max-width:800px){.arrival-ship-gallery{grid-template-columns:1fr}.arrival-ship-gallery img{aspect-ratio:16/9}}
.home3-ship-fallback { display: grid; place-items: center; background: linear-gradient(145deg,#0d5a91,#062947); }
.home3-ship-fallback svg { width: 4rem; height: 4rem; opacity: .65; }
.home3-ship-card > div:last-child { position: relative; z-index: 2; margin-top: -40px; padding: 1rem 1.15rem 1.1rem; }
.home3-ship-card h3 { margin: 0 0 .9rem; font-size: 1.12rem; text-transform: uppercase; }
.home3-ship-card p { display: flex; flex-wrap: wrap; gap: .8rem; margin: 0; padding-bottom: .9rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.home3-ship-card p span { display: inline-flex; align-items: center; gap: .3rem; font-size: .65rem; font-weight: 700; }
.home3-ship-card p svg { width: .85rem; }
.home3-ship-card dl { display: grid; grid-template-columns: 1fr 1fr; margin: .9rem 0 0; }
.home3-ship-card dl div { display: grid; gap: .15rem; }
.home3-ship-card dt { font-size: .58rem; opacity: .72; text-transform: uppercase; }
.home3-ship-card dd { margin: 0; font-size: .78rem; font-weight: 800; }
.home3-upcoming-empty { display: grid; min-height: 260px; place-items: center; align-content: center; gap: .5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.04); text-align: center; }
.home3-upcoming-empty svg { width: 3.5rem; height: 3.5rem; color: var(--home3-gold); }
.home3-upcoming-empty h3,
.home3-upcoming-empty p { margin: 0; }
.home3-upcoming-empty p { max-width: 530px; font-size: .78rem; opacity: .78; }
.home3-source-note { margin: .8rem 0 0; font-size: .62rem; opacity: .7; }

.home3-bottom { padding: 34px 0; background: #f6f7f8; }
.home3-bottom-grid { display: grid; grid-template-columns: .9fr .7fr 1.35fr; }
.home3-news-mini,
.home3-useful { padding: .2rem 2rem .4rem 0; border-right: 1px solid var(--home3-line); }
.home3-useful { padding-left: 2rem; }
.home3-news-mini header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.home3-bottom h2 { margin: 0 0 1rem; font-size: .78rem; text-transform: uppercase; }
.home3-news-mini header a { font-size: .62rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.home3-news-mini > a { display: grid; grid-template-columns: 90px 1fr; gap: .8rem; align-items: center; min-height: 72px; border-bottom: 1px solid #e0e5e9; color: var(--home3-ink); text-decoration: none; }
.home3-news-mini img { width: 90px; height: 55px; border-radius: 5px; object-fit: cover; }
.home3-news-mini span { display: grid; }
.home3-news-mini small { color: #788896; font-size: .58rem; }
.home3-news-mini strong { font-size: .66rem; line-height: 1.45; }
.home3-useful a { display: grid; grid-template-columns: 24px 1fr 18px; gap: .7rem; align-items: center; min-height: 47px; border-bottom: 1px solid #dfe5e9; color: var(--home3-ink); font-size: .7rem; text-decoration: none; }
.home3-useful a svg { width: 1rem; }
.home3-contact-card { display: grid; grid-template-columns: 1fr 1.08fr; min-width: 0; }
.home3-contact-card > div:first-child { display: grid; align-content: start; padding: .2rem 1.7rem; }
.home3-contact-card strong,
.home3-contact-card p,
.home3-contact-card > div > a:not(.home3-button) { margin: 0 0 .5rem; font-size: .68rem; }
.home3-contact-card > div > a:not(.home3-button) { display: inline-flex; align-items: center; gap: .45rem; text-decoration: none; }
.home3-contact-card > div > a svg { width: .9rem; }
.home3-contact-card .home3-button { justify-self: start; margin-top: .5rem; }
.home3-contact-map { position: relative; display: grid; min-height: 240px; place-items: center; overflow: hidden; background: url("../img/approved-originals/povezanost-luke-dubrovnik.jpg") center / cover no-repeat; }
.home3-contact-map::before { content: ""; position: absolute; inset: 0; background: rgba(225,234,240,.79); filter: grayscale(1); }
.home3-contact-map svg { position: relative; width: 4.7rem; height: 4.7rem; color: #0b477d; stroke-width: 1.35; }

.port-map-label { border: 2px solid #fff; border-radius: 999px; color: #fff; padding: 4px 8px; font-size: 10px; font-weight: 900; line-height: 1; white-space: nowrap; cursor:pointer; box-shadow: 0 2px 9px rgba(0,0,0,.35); }
.port-map-label-berth { background: #087fd1; }
.port-map-label-berth.is-navy { background:#0b5fa5; }
.port-map-label-berth.is-blue { background:#168ac6; }
.port-map-label-berth.is-teal { background:#007f86; }
.port-map-label-berth.is-turquoise { background:#237f75; }
.port-map-label-berth.is-slate { background:#526d82; }
.port-map-label-berth.is-gold { background:#9d7416; }
.port-map-label-anchorage { background: #b98220; }
.port-map-label.is-number { min-width:30px; min-height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; font-size:12px; letter-spacing:0; }
.port-map-label.is-text { padding:5px 10px; font-size:10px; letter-spacing:.01em; text-transform:none; }
.leaflet-marker-icon.port-map-label { display:block; min-width:0; min-height:0; padding:0; border:0; background:transparent; box-shadow:none; overflow:visible; }
.leaflet-marker-icon.port-map-label > span { position:absolute; left:0; top:0; display:inline-flex; align-items:center; justify-content:center; color:#fff; border:2px solid #fff; background:#087fd1; box-shadow:0 3px 10px rgba(0,0,0,.38); transform:translate(-50%,-50%); }
.leaflet-marker-icon.port-map-label.is-number > span { min-width:30px; height:30px; padding:0 5px; border-radius:999px; font-size:12px; font-weight:900; }
.leaflet-marker-icon.port-map-label.is-text > span { padding:5px 10px; border-radius:999px; font-size:10px; font-weight:850; }
.leaflet-marker-icon.port-map-label.is-navy > span { background:#0b5fa5; }
.leaflet-marker-icon.port-map-label.is-blue > span { background:#168ac6; }
.leaflet-marker-icon.port-map-label.is-teal > span { background:#007f86; }
.leaflet-marker-icon.port-map-label.is-turquoise > span { background:#237f75; }
.leaflet-marker-icon.port-map-label.is-slate > span { background:#526d82; }
.leaflet-marker-icon.port-map-label.is-gold > span { background:#9d7416; }
.leaflet-marker-icon.port-map-label-anchorage > span { background:#b98220; }
.port-map-vertex-label { display:flex; align-items:center; justify-content:center; width:22px!important; height:22px!important; margin:-11px 0 0 -11px!important; border:2px solid #d5a23e; border-radius:50%; background:#fff; color:#082f50!important; font:900 10px/1 Arial,sans-serif!important; box-shadow:0 2px 8px rgba(0,0,0,.3); pointer-events:none; }
.map-section-purpose { margin:14px 0 0; color:#38566f; line-height:1.55; }
.map-location-description { margin:1rem 0; padding-top:.15rem; border-top:1px solid #d9e4ec; }
.map-location-description h4 { margin:.8rem 0 .45rem !important; }
.map-location-description p { margin:.45rem 0 !important; color:#38566f; line-height:1.55; }
.home-map-selection .map-location-description { border-color:rgba(255,255,255,.16); }
.home-map-selection .map-location-description p,
.about-map-selection .map-location-description p { color:#fff; }
.map-section-source { margin:12px 0 0; padding-top:12px; border-top:1px solid rgba(7,65,105,.15); color:#6d8294; font-size:.85rem; font-weight:700; }
.port-map-endpoint { background:transparent; border:0; }
.port-map-endpoint span { display:block; width:14px; height:14px; border:2px solid #fff; border-radius:50%; background:var(--berth-color); box-shadow:0 2px 7px rgba(0,0,0,.48); }
.port-map-endpoint.is-end span { border-radius:3px; transform:rotate(45deg); }
.port-map-geometry-legend { position:absolute; z-index:900; right:10px; bottom:10px; display:flex; align-items:center; gap:10px; max-width:calc(100% - 20px); padding:7px 9px; border:1px solid rgba(255,255,255,.45); border-radius:5px; background:rgba(2,31,56,.88); color:#fff; font:700 10px/1.25 Arial,sans-serif; pointer-events:none; box-shadow:0 5px 16px rgba(0,0,0,.22); }
.port-map-geometry-legend span { display:flex; align-items:center; gap:4px; white-space:nowrap; }
.port-map-geometry-legend i { display:block; width:13px; height:13px; border:2px solid #fff; background:#168ac6; font-style:normal; }
.port-map-geometry-legend i.is-start { border-radius:50%; }
.port-map-geometry-legend i.is-end { border-radius:3px; transform:rotate(45deg); }
.port-map-geometry-legend small { color:rgba(255,255,255,.72); font-size:9px; font-weight:500; }
@media(max-width:620px){.port-map-geometry-legend{left:8px;right:8px;bottom:8px;justify-content:center;flex-wrap:wrap}.port-map-geometry-legend small{flex-basis:100%;text-align:center}}
.map-info-card { min-width: 220px; max-width: 280px; color: #092d51; font-family: Arial, sans-serif; }
.map-info-card > span { display: block; color: #5d7386; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.map-info-card > strong { display: block; margin: 1px 0 7px; font-size: 15px; }
.map-info-card p { margin: 4px 0; font-size: 12px; }
.map-info-card .geometry-confidence { margin-top: 8px; color: #65798a; font-size: 10px; }

@media (max-width: 1180px) {
    .page-home { --home3-shell: min(100% - 40px, 1100px); }
    .home3-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(350px, .72fr); gap: 2.5rem; }
    .home3-quick-grid { grid-template-columns: repeat(3, 1fr); }
    .home3-quick-item:nth-child(3) { border-right: 0; }
    .home3-quick-item:nth-child(n+4) { border-top: 1px solid var(--home3-line); }
    .home3-dashboard-grid { grid-template-columns: 1.4fr 1fr; }
    .home3-capacity-card { grid-column: 1 / -1; border-radius: 0 0 10px 10px !important; }
    .home3-capacity-card dl { display: grid; grid-template-columns: repeat(4, 1fr); }
    .home3-capacity-card dl div { min-height: 100px; border-right: 1px solid #e5eaee; border-bottom: 0; padding: .5rem; }
    .home3-bottom-grid { grid-template-columns: 1fr 1fr; }
    .home3-contact-card { grid-column: 1 / -1; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--home3-line); }
}

@media (max-width: 850px) {
    .page-home { --home3-shell: calc(100% - 32px); }
    .home3-hero { min-height: 980px; align-items: start; }
    .home3-hero-grid { grid-template-columns: 1fr; padding: 125px 0 120px; }
    .home3-hero-copy h1 { max-width: 570px; }
    .home3-arrival-panel { width: min(100%, 560px); }
    .home3-scroll { bottom: 38px; }
    .home3-quick-grid { grid-template-columns: repeat(2, 1fr); }
    .home3-quick-item:nth-child(3) { border-right: 1px solid var(--home3-line); }
    .home3-quick-item:nth-child(2n) { border-right: 0; }
    .home3-quick-item:nth-child(n+3) { border-top: 1px solid var(--home3-line); }
    .home3-dashboard-grid { grid-template-columns: 1fr; gap: 1rem; }
    .home3-dash-card { border-radius: 9px !important; }
    .home3-capacity-card { grid-column: auto; }
    .home3-capacity-card dl { grid-template-columns: repeat(2, 1fr); }
    .home3-capacity-card dl div { border-bottom: 1px solid #e5eaee; }
    .home3-ship-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
    .home3-ship-card { flex: 0 0 min(82vw, 430px); scroll-snap-align: start; }
    .home3-bottom-grid { grid-template-columns: 1fr; }
    .home3-news-mini,
    .home3-useful { padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid var(--home3-line); }
    .home3-contact-card { grid-column: auto; }
}

@media (max-width: 540px) {
    .home3-hero { min-height: 1000px; }
    .home3-hero-media { background-position: 42% center; }
    .home3-hero-grid { padding-top: 112px; gap: 2rem; }
    .home3-hero-copy h1 { font-size: clamp(3rem, 15vw, 4.25rem); }
    .home3-hero-copy > p:not(.home3-kicker) { font-size: .93rem; }
    .home3-actions { display: grid; }
    .home3-panel-head { align-items: flex-start; }
    .home3-panel-head a { text-align: right; }
    .home3-arrival-summary { padding-inline: 1rem; }
    .home3-arrival-summary span { padding-inline: .55rem; }
    .home3-panel-arrivals { padding-inline: 1rem; }
    .home3-panel-arrivals > a { grid-template-columns: 62px 1fr 62px; }
    .home3-panel-arrivals img,
    .home3-ship-symbol { width: 62px; height: 44px; }
    .home3-quick { padding-top: 18px; }
    .home3-quick-item { padding: .85rem .65rem; }
    .home3-quick-item p { display: none; }
    .home3-quick-item span { font-size: .58rem; }
    .home3-map-canvas,
    .home3-map-canvas .port-map-placeholder,
    .home3-map-canvas > p { min-height: 420px; }
    .home3-map-filters { right: 8px; left: 8px; overflow-x: auto; }
    .home3-map-detail { display: grid; }
    .home3-map-detail span { max-width: none; text-align: left; }
    .home3-capacity-card dl { grid-template-columns: 1fr; }
    .home3-capacity-card dl div { border-right: 0; }
    .home3-section-head { align-items: flex-start; }
    .home3-section-head h2 { max-width: 230px; }
    .home3-contact-card { grid-template-columns: 1fr; }
    .home3-contact-card > div:first-child { padding: 0 0 1rem; }
    .home3-contact-map { min-height: 190px; }
}

/* Homepage refinement — premium institutional presentation */
.page-home {
    --home3-gold: #dca83c;
    --home3-shell: min(1360px, calc(100% - 72px));
    --home3-radius: 16px;
}
.page-home .header-main { min-height: 112px; }
.page-home .brand-mark { width: 64px; height: 64px; }
.page-home .brand-copy strong { font-size: 1.08rem; line-height: 1.02; }
.page-home .brand-copy small { font-size: .65rem; }
.page-home .site-nav { gap: clamp(.35rem, 1vw, 1.15rem); font-size: .7rem; }

.home3-hero { min-height: 790px; }
.home3-hero-media { background-position: 52% 48%; filter: saturate(1.03) contrast(1.02) brightness(1.08); }
.home3-hero-shade {
    background:
        linear-gradient(90deg, rgba(1,24,46,.83) 0%, rgba(2,39,72,.55) 42%, rgba(2,31,59,.14) 66%, rgba(1,24,45,.48) 100%),
        linear-gradient(180deg, rgba(1,20,39,.2), rgba(2,33,61,.04) 54%, rgba(0,29,55,.66));
}
.home3-hero::before { width: 42%; opacity: .12; }
.home3-hero::after { bottom: -92px; height: 135px; }
.home3-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .72fr);
    gap: clamp(3rem, 7vw, 7rem);
    padding: 150px 0 115px;
}
.home3-hero-copy { max-width: 650px; }
.home3-kicker {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.15rem;
    font-family: Arial, sans-serif;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.home3-kicker span { width: 38px; height: 2px; background: var(--home3-gold); }
.home3-hero-copy h1 {
    max-width: 610px;
    font-size: clamp(3.7rem, 5.5vw, 5.4rem);
    line-height: .97;
    letter-spacing: -.04em;
    text-wrap: balance;
    text-shadow: 0 4px 28px rgba(0,19,38,.24);
}
.home3-hero-copy > p:not(.home3-kicker) { max-width: 500px; margin-top: 1.45rem; font-size: 1.12rem; line-height: 1.7; }
.home3-actions { margin-top: 2.15rem; }
.home3-button { min-height: 54px; border-radius: 7px; padding-inline: 1.6rem; }
.home3-button.is-gold { box-shadow: 0 12px 28px rgba(213,162,62,.23); }
.home3-button.is-ghost { border-color: rgba(255,255,255,.7); background: rgba(1,30,57,.26); backdrop-filter: blur(8px); }
.home3-trust { display: flex; align-items: center; gap: .55rem; margin-top: 1.45rem; color: rgba(255,255,255,.73); font-size: .68rem; letter-spacing: .025em; }
.home3-trust svg { width: 1rem; color: var(--home3-gold); }

.home3-arrival-panel { border-color: rgba(255,255,255,.26); border-radius: 14px; background: rgba(2,30,57,.86); box-shadow: 0 28px 75px rgba(0,15,32,.38); }
.home3-panel-head { min-height: 72px; padding-inline: 1.6rem; }
.home3-panel-head strong { font-size: .86rem; letter-spacing: .035em; }
.home3-arrival-summary { padding: 1.2rem 1.6rem; }
.home3-arrival-summary b { font-size: 1.75rem; }
.home3-panel-arrivals { padding-inline: 1.6rem; }
.home3-panel-arrivals > a { min-height: 102px; transition: background .2s ease, transform .2s ease; }
.home3-panel-arrivals > a:hover { background: rgba(255,255,255,.045); transform: translateX(3px); }
.home3-panel-arrivals img { border: 1px solid rgba(255,255,255,.16); }
.home3-arrival-panel footer { padding-inline: 1.6rem; }

.home3-quick { padding: 44px 0 54px; }
.home3-quick-grid { grid-template-columns: repeat(6, 1fr); gap: 12px; }
.home3-quick-item,
.home3-quick-item:first-child {
    min-height: 190px;
    grid-template-rows: 48px auto 1fr auto;
    gap: .7rem;
    padding: 1.25rem 1.1rem;
    border: 1px solid #e3e9ee;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    box-shadow: 0 9px 26px rgba(4,39,70,.035);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.home3-quick-item:hover { transform: translateY(-5px); border-color: #bfcfdb; box-shadow: 0 18px 36px rgba(4,39,70,.1); }
.home3-quick-item > svg { justify-self: start; width: 2.2rem; height: 2.2rem; padding: .5rem; box-sizing: content-box; border-radius: 10px; background: #edf4f8; }
.home3-quick-item strong { font-size: .76rem; letter-spacing: .02em; }
.home3-quick-item p { font-size: .7rem; line-height: 1.55; }
.home3-quick-item span { justify-self: start; font-size: .62rem; }

.home3-dashboard { padding: 76px 0 84px; background: linear-gradient(180deg,#f6f8fa 0%,#edf2f5 100%); }
.home3-editorial-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 5rem; align-items: end; margin-bottom: 2rem; }
.home3-editorial-head span { display: block; margin-bottom: .8rem; color: #a97118; font-size: .69rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.home3-editorial-head h2 { max-width: 720px; margin: 0; color: var(--home3-ink); font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem,3.5vw,3.2rem); font-weight: 400; line-height: 1.06; letter-spacing: -.025em; }
.home3-editorial-head > p { max-width: 540px; margin: 0 0 .25rem; color: #566b7c; font-size: .92rem; line-height: 1.75; }
.home3-dashboard-grid { grid-template-columns: minmax(0, 1.5fr) minmax(350px, .74fr); gap: 18px; align-items: stretch; }
.home3-dash-card,
.home3-dash-card:first-child,
.home3-dash-card:last-child { overflow: hidden; border-radius: var(--home3-radius); box-shadow: 0 18px 45px rgba(5,39,71,.07); }
.home3-map-card { grid-row: span 2; }
.home3-dash-card > header { display: flex; min-height: 0; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.35rem 1.5rem; border-bottom: 1px solid #e5ebef; }
.home3-dash-card > header span { font-size: .76rem; letter-spacing: .04em; }
.home3-dash-card > header p { min-height: 0; margin: .38rem 0 0; font-size: .72rem; }
.home3-dash-card > header a { flex: 0 0 auto; align-items: center; gap: .4rem; border-radius: 7px; padding: .62rem .85rem; }
.home3-dash-card > header a svg { width: .85rem; }
.home3-schedule-card > header a,
.home3-capacity-card > header a { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border-radius: 50%; }
.home3-map-root { margin: 1rem; border-radius: 11px; box-shadow: inset 0 0 0 1px rgba(4,44,76,.16); }
.home3-map-canvas,
.home3-map-canvas .port-map-placeholder,
.home3-map-canvas > p { min-height: 520px; }
.home3-map-detail { min-height: 58px; padding: .75rem 1rem; }
.home3-map-detail strong { font-size: .7rem; }
.home3-map-detail span { font-size: .62rem; line-height: 1.4; }
.home3-map-filters { bottom: 69px; left: 14px; }
.home3-map-filters button { min-height: 35px; border-radius: 7px; padding-inline: .75rem; }
.home3-schedule-card h3 { margin-top: 1rem; }
.home3-schedule-list { padding: 0 1.35rem 1rem; }
.home3-schedule-list > a { min-height: 70px; }
.home3-capacity-card dl { padding: .1rem 1.35rem .8rem; }
.home3-capacity-card dl div { min-height: 68px; }

.port-map-schematic { position: relative; min-height: 520px; overflow: hidden; background: #073e67; }
.port-map-schematic svg { display: block; width: 100%; height: 520px; }
.port-schematic-coast { fill: rgba(214,224,216,.94); }
.port-schematic-coastline { fill: none; stroke: rgba(255,255,255,.7); stroke-width: 4; }
.port-schematic-feature { cursor: pointer; outline: none; }
.port-schematic-feature path { vector-effect: non-scaling-stroke; transition: filter .2s ease, opacity .2s ease; }
.port-schematic-feature.is-berth path { fill: none; stroke: #42b7ff; stroke-width: 9; stroke-linecap: round; }
.port-schematic-feature.is-anchorage path { fill: rgba(220,168,60,.27); stroke: #f1bd53; stroke-width: 3; stroke-dasharray: 7 5; }
.port-schematic-feature circle { fill: #087fcc; stroke: #fff; stroke-width: 2; }
.port-schematic-feature text { fill: #fff; font: 800 10px Arial,sans-serif; text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: rgba(2,34,60,.75); stroke-width: 2px; }
.port-schematic-feature.is-anchorage text { font-size: 12px; letter-spacing: .08em; }
.port-schematic-feature:hover path,
.port-schematic-feature:focus path,
.port-schematic-feature.is-selected path { filter: drop-shadow(0 0 7px rgba(255,255,255,.8)); }
.port-schematic-feature.is-selected circle { fill: var(--home3-gold); }
.port-schematic-north path { fill: rgba(255,255,255,.88); }
.port-schematic-north text { fill: rgba(255,255,255,.88); font: 800 12px Arial,sans-serif; text-anchor: middle; }
.port-schematic-note { position: absolute; top: 14px; right: 14px; display: grid; gap: .2rem; max-width: 250px; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(2,32,59,.82); color: #fff; backdrop-filter: blur(8px); }
.port-schematic-note strong { font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.port-schematic-note span { font-size: .56rem; line-height: 1.45; opacity: .77; }

.home3-upcoming { padding: 76px 0 45px; background: linear-gradient(145deg,#011f3c 0%,#063d6a 55%,#022845 100%); }
.home3-upcoming::after { opacity: .075; }
.home3-section-head { margin-bottom: 1.8rem; }
.home3-section-head h2 { font-size: clamp(1.9rem,3.2vw,2.8rem); letter-spacing: -.02em; text-transform: none; }
.home3-ship-grid { gap: 18px; }
.home3-ship-card { min-height: 505px; border-color: rgba(255,255,255,.17); border-radius: 14px; background: #032846; box-shadow: 0 22px 48px rgba(0,13,27,.22); transition: transform .25s ease, border-color .25s ease; }
.home3-ship-card:hover { transform: translateY(-6px); border-color: rgba(255,255,255,.36); }
.home3-ship-card::after { display: none; }
.home3-ship-media { position: relative; height: 280px; margin: 0; overflow: hidden; background: #0b4a76; }
.home3-ship-media::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(180deg,transparent,rgba(3,40,70,.72)); pointer-events: none; }
.home3-ship-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.home3-ship-card:hover .home3-ship-media img { transform: scale(1.035); }
.home3-ship-card.ship-celebrity-ascent .home3-ship-media img { object-position: 58% 55%; transform: scale(1.58); }
.home3-ship-card.ship-celebrity-ascent:hover .home3-ship-media img { transform: scale(1.64); }
.home3-ship-card.ship-nautica .home3-ship-media img { object-position: 50% 50%; transform: scale(1.01); }
.home3-ship-card.ship-nautica:hover .home3-ship-media img { transform: scale(1.045); }
.home3-ship-card.ship-le-bougainville .home3-ship-media img { object-position: 50% 50%; transform: scale(1.01); }
.home3-ship-card.ship-le-bougainville:hover .home3-ship-media img { transform: scale(1.045); }
.home3-ship-card.ship-allura .home3-ship-media img { object-position: 76% 50%; transform: scale(1.08); }
.home3-ship-card.ship-allura:hover .home3-ship-media img { transform: scale(1.12); }
.home3-ship-media figcaption { position: absolute; z-index: 2; right: .85rem; bottom: .75rem; }
.home3-photo-credit { position: static; display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; background: rgba(2,25,48,.7); font-size: .55rem; backdrop-filter: blur(6px); }
.home3-photo-credit svg { width: .65rem; }
.home3-ship-fallback { height: 280px; }
.home3-ship-card > .home3-ship-body { position: relative; z-index: 2; margin: 0; padding: 1.35rem 1.4rem 1.25rem; }
.home3-ship-card h3 { margin-bottom: .8rem; font-size: 1.22rem; letter-spacing: .01em; }
.home3-ship-card p { gap: .7rem 1rem; padding-bottom: 1rem; }
.home3-ship-card p span { font-size: .68rem; }
.home3-ship-card dl { margin-top: 1rem; }
.home3-ship-card dd { font-size: .86rem; }
.home3-ship-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.15rem; color: #f0bb52; font-size: .62rem; font-weight: 900; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.home3-ship-link svg { width: .85rem; }
.home3-source-note { margin-top: 1.2rem; font-size: .65rem; }

.home3-bottom { padding: 70px 0; background: #f7f8f9; }
.home3-bottom-grid { grid-template-columns: 1fr .8fr 1.35fr; gap: 28px; }
.home3-news-mini,
.home3-useful { padding: .1rem 1.5rem .4rem 0; border-right: 0; }
.home3-useful { padding-left: 0; }
.home3-bottom h2 { margin-bottom: 1.3rem; font-size: .76rem; letter-spacing: .055em; }
.home3-news-mini > a { grid-template-columns: 105px 1fr; min-height: 88px; border-color: #dce4e9; }
.home3-news-mini img { width: 105px; height: 65px; border-radius: 8px; }
.home3-news-mini strong { font-size: .72rem; line-height: 1.5; }
.home3-useful a { min-height: 54px; font-size: .74rem; }
.home3-contact-card { overflow: hidden; border: 1px solid #dfe6eb; border-radius: 14px; background: #fff; box-shadow: 0 16px 38px rgba(5,39,71,.06); }
.home3-contact-card > div:first-child { padding: 1.5rem; }
.home3-contact-card strong,
.home3-contact-card p,
.home3-contact-card > div > a:not(.home3-button) { font-size: .72rem; }

.page-home a:focus-visible,
.page-home button:focus-visible { outline: 3px solid #f0b94e; outline-offset: 3px; }

@media (max-width: 1180px) {
    .page-home { --home3-shell: min(100% - 40px, 1080px); }
    .home3-hero-grid { grid-template-columns: minmax(0,1fr) minmax(370px,.75fr); gap: 3rem; }
    .home3-quick-grid { grid-template-columns: repeat(3,1fr); }
    .home3-quick-item:nth-child(n) { border: 1px solid #e3e9ee; }
    .home3-dashboard-grid { grid-template-columns: minmax(0,1.35fr) minmax(320px,.85fr); }
    .home3-capacity-card { grid-column: auto; }
    .home3-capacity-card dl { display: block; }
    .home3-capacity-card dl div { min-height: 68px; border-right: 0; border-bottom: 1px solid #e5eaee; padding: 0; }
    .home3-bottom-grid { grid-template-columns: 1fr 1fr; }
    .home3-contact-card { grid-column: 1 / -1; margin: 0; padding: 0; border-top: 1px solid #dfe6eb; }
}

@media (max-width: 850px) {
    .page-home { --home3-shell: calc(100% - 32px); }
    .home3-hero { min-height: auto; }
    .home3-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; padding: 132px 0 120px; }
    .home3-hero-copy h1 { max-width: 560px; }
    .home3-arrival-panel { width: min(100%,600px); }
    .home3-quick-grid { grid-template-columns: repeat(2,1fr); }
    .home3-quick-item:nth-child(n) { border: 1px solid #e3e9ee; }
    .home3-editorial-head { grid-template-columns: 1fr; gap: 1.25rem; }
    .home3-dashboard-grid { grid-template-columns: 1fr; }
    .home3-map-card { grid-row: auto; }
    .home3-dash-card { border-radius: var(--home3-radius) !important; }
    .home3-capacity-card dl { display: grid; grid-template-columns: repeat(2,1fr); }
    .home3-capacity-card dl div { padding: .5rem; }
    .home3-ship-card { flex-basis: min(86vw,450px); }
    .home3-bottom-grid { grid-template-columns: 1fr; }
    .home3-contact-card { grid-column: auto; }
}

@media (max-width: 540px) {
    .home3-hero-grid { padding: 116px 0 105px; }
    .home3-hero-media { background-position: 48% center; }
    .home3-hero-copy h1 { font-size: clamp(3rem,15vw,4rem); }
    .home3-kicker { font-size: .65rem; }
    .home3-actions { display: grid; grid-template-columns: 1fr; }
    .home3-quick { padding-block: 30px 40px; }
    .home3-quick-grid { gap: 8px; }
    .home3-quick-item { min-height: 142px; grid-template-rows: 42px auto auto; padding: .9rem; }
    .home3-quick-item p { display: none; }
    .home3-dashboard { padding-block: 54px; }
    .home3-editorial-head h2 { font-size: 2.15rem; }
    .home3-dash-card > header { align-items: flex-start; }
    .home3-map-canvas,
    .home3-map-canvas .port-map-placeholder,
    .home3-map-canvas > p,
    .port-map-schematic { min-height: 430px; }
    .port-map-schematic svg { width: auto; height: 430px; transform: translateX(-24%); }
    .port-schematic-note { right: 8px; max-width: 210px; }
    .home3-capacity-card dl { grid-template-columns: 1fr; }
    .home3-ship-media { height: 240px; }
    .home3-ship-card { min-height: 485px; }
    .home3-bottom { padding-block: 50px; }
    .home3-contact-card { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .home3-quick-item,
    .home3-ship-card,
    .home3-panel-arrivals > a,
    .home3-ship-media img { transition: none; }
}

/* Visual reference alignment — lighter, flatter editorial composition */
.home3-hero { min-height: 760px; }
.home3-hero-grid { grid-template-columns: minmax(0,1.15fr) minmax(400px,.72fr); padding-block: 142px 105px; }
.home3-hero-copy h1 { max-width: 550px; font-size: clamp(3.6rem,5.35vw,5.15rem); }
.home3-arrival-panel { background: rgba(2,31,59,.9); }

.home3-quick { padding: 36px 0 42px; }
.home3-quick-grid { gap: 0; }
.home3-quick-item,
.home3-quick-item:first-child {
    min-height: 168px;
    padding: 1rem 1.25rem;
    border: 0;
    border-right: 1px solid var(--home3-line);
    border-radius: 0;
    box-shadow: none;
    text-align: center;
}
.home3-quick-item:first-child { border-left: 1px solid var(--home3-line); }
.home3-quick-item:hover { transform: none; border-color: var(--home3-line); background: #f8fafb; box-shadow: none; }
.home3-quick-item > svg { justify-self: center; width: 2rem; height: 2rem; padding: 0; border-radius: 0; background: transparent; }
.home3-quick-item strong { font-size: .7rem; }
.home3-quick-item p { font-size: .67rem; line-height: 1.55; }
.home3-quick-item span { justify-self: center; }

.home3-dashboard { padding: 58px 0 70px; background: #f6f8f9; }
.home3-editorial-head { grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 1.4rem; }
.home3-editorial-head span { margin-bottom: .45rem; font-size: .62rem; }
.home3-editorial-head h2 { font-size: clamp(1.75rem,2.7vw,2.55rem); }
.home3-editorial-head > p { max-width: 500px; font-size: .78rem; line-height: 1.65; }
.home3-dashboard-grid { grid-template-columns: minmax(0,1.4fr) minmax(290px,.77fr) minmax(290px,.77fr); gap: 0; }
.home3-map-card { grid-row: auto; }
.home3-dash-card,
.home3-dash-card:first-child,
.home3-dash-card:last-child { border-radius: 8px; box-shadow: 0 10px 28px rgba(5,39,71,.045); }
.home3-dash-card + .home3-dash-card { border-left: 0; }
.home3-dash-card > header { min-height: 122px; align-items: flex-start; padding: 1.25rem 1.35rem .8rem; }
.home3-dash-card > header span { font-size: .7rem; }
.home3-dash-card > header p { max-width: 230px; font-size: .67rem; line-height: 1.5; }
.home3-dash-card > header a { font-size: .57rem; }
.home3-map-root { margin: 0 .8rem .8rem; border-radius: 6px; }
.home3-map-canvas,
.home3-map-canvas .port-map-placeholder,
.home3-map-canvas > p,
.port-map-schematic { min-height: 390px; }
.port-map-schematic svg { height: 390px; }
.home3-map-filters { bottom: 58px; }
.home3-map-detail { min-height: 47px; }
.home3-schedule-card h3 { margin-top: .5rem; }
.home3-schedule-list { padding-inline: 1.2rem; }
.home3-schedule-list > a { min-height: 67px; }
.home3-capacity-card dl { padding-inline: 1.2rem; }
.home3-capacity-card dl div { min-height: 67px; }

.home3-upcoming { padding: 54px 0 34px; }
.home3-section-head { margin-bottom: 1.2rem; }
.home3-section-head h2 { font-size: clamp(1.55rem,2.6vw,2.2rem); }
.home3-ship-grid { gap: 12px; }
.home3-ship-card { min-height: 410px; border-radius: 8px; box-shadow: none; }
.home3-ship-card:hover { transform: translateY(-3px); }
.home3-ship-media { height: 220px; }
.home3-ship-fallback { height: 220px; }
.home3-ship-card > .home3-ship-body { padding: 1rem 1.1rem; }
.home3-ship-card h3 { font-size: 1.05rem; }
.home3-ship-card p span { font-size: .61rem; }
.home3-ship-card dl { margin-top: .75rem; }
.home3-ship-link { margin-top: .8rem; }
.home3-photo-credit { font-size: .51rem; }
.home3-ship-card.ship-la-belle-de-l-adriatique .home3-ship-media img { object-position: 55% 60%; }
.home3-bottom { padding-block: 45px; }

@media (max-width: 1180px) {
    .home3-quick-grid { grid-template-columns: repeat(3,1fr); }
    .home3-quick-item:nth-child(n) { border: 0; border-right: 1px solid var(--home3-line); border-bottom: 1px solid var(--home3-line); }
    .home3-quick-item:nth-child(3n+1) { border-left: 1px solid var(--home3-line); }
    .home3-dashboard-grid { grid-template-columns: 1.4fr 1fr; gap: 0; }
    .home3-capacity-card { grid-column: 1 / -1; }
    .home3-capacity-card dl { display: grid; grid-template-columns: repeat(4,1fr); }
}

@media (max-width: 850px) {
    .home3-hero-grid { grid-template-columns: 1fr; }
    .home3-dashboard-grid { grid-template-columns: 1fr; gap: 12px; }
    .home3-capacity-card { grid-column: auto; }
    .home3-capacity-card dl { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 540px) {
    .home3-quick-grid { grid-template-columns: repeat(2,1fr); }
    .home3-quick-item:nth-child(n) { min-height: 132px; border: 0; border-right: 1px solid var(--home3-line); border-bottom: 1px solid var(--home3-line); }
    .home3-quick-item:nth-child(2n+1) { border-left: 1px solid var(--home3-line); }
    .home3-editorial-head { grid-template-columns: 1fr; gap: .7rem; }
    .home3-map-canvas,
    .home3-map-canvas .port-map-placeholder,
    .home3-map-canvas > p,
    .port-map-schematic { min-height: 390px; }
    .port-map-schematic svg { height: 390px; }
}

/* Final professional polish */
.page-home {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.page-home .site-header { border-bottom: 1px solid rgba(255,255,255,.08); }
.page-home .site-header.is-scrolled { border-bottom-color: #e6ebef; }
.page-home .site-nav a { font-weight: 800; letter-spacing: .04em; }
.page-home .site-nav a::after { background: var(--home3-gold); }

.home3-hero-media { filter: saturate(1.06) contrast(1.01) brightness(1.13); }
.home3-hero-shade {
    background:
        linear-gradient(90deg,rgba(1,24,46,.78) 0%,rgba(2,39,72,.46) 43%,rgba(2,31,59,.09) 67%,rgba(1,24,45,.42) 100%),
        linear-gradient(180deg,rgba(1,20,39,.16),rgba(2,33,61,.03) 53%,rgba(0,29,55,.62));
}
.home3-kicker { letter-spacing: .18em; }
.home3-hero-copy h1 { text-shadow: 0 5px 35px rgba(0,15,31,.3); }
.home3-hero-copy > p:not(.home3-kicker) { color: rgba(255,255,255,.92); }
.home3-button { letter-spacing: .055em; }
.home3-button.is-gold { background: linear-gradient(135deg,#e2ad3e,#cc9427); box-shadow: 0 13px 32px rgba(209,154,43,.28); }
.home3-button.is-gold:hover { box-shadow: 0 17px 38px rgba(209,154,43,.36); }
.home3-arrival-panel { border-color: rgba(255,255,255,.25); border-radius: 12px; box-shadow: 0 28px 70px rgba(0,13,28,.34); }
.home3-panel-head { background: rgba(255,255,255,.025); }
.home3-panel-head strong { letter-spacing: .055em; }
.home3-arrival-summary svg { color: #f4f7f9; stroke-width: 1.65; }
.home3-panel-arrivals > a:last-child { border-bottom: 0; }
.home3-panel-arrivals img { border-radius: 6px; }
.home3-arrival-panel footer { border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.85); }

.home3-quick { box-shadow: 0 14px 40px rgba(5,34,61,.035); }
.home3-quick-item { transition: background .2s ease,color .2s ease; }
.home3-quick-item > svg { width: 1.85rem; height: 1.85rem; margin-top: .2rem; stroke-width: 1.55; transition: color .2s ease,transform .2s ease; }
.home3-quick-item:hover > svg { color: #c48a24; transform: translateY(-2px); }
.home3-quick-item strong { letter-spacing: .035em; }
.home3-quick-item span { letter-spacing: .025em; }

.home3-dashboard { background: linear-gradient(180deg,#f7f9fa 0%,#f1f5f7 100%); }
.home3-editorial-head { align-items: end; }
.home3-editorial-head h2 { letter-spacing: -.03em; }
.home3-editorial-head > p { justify-self: end; color: #617383; }
.home3-dashboard-grid { filter: drop-shadow(0 16px 30px rgba(5,39,71,.045)); }
.home3-dash-card { box-shadow: none; }
.home3-dash-card > header { background: linear-gradient(180deg,#fff,#fbfcfd); }
.home3-dash-card > header span { letter-spacing: .055em; }
.home3-dash-card > header a { transition: background .2s ease,transform .2s ease; }
.home3-dash-card > header a:hover { background: #0a4e82; transform: translateY(-1px); }
.home3-map-root { box-shadow: inset 0 0 0 1px rgba(4,44,76,.12); }
.port-map-schematic-note { border-radius: 6px; }
.home3-schedule-list > a { transition: background .2s ease,padding .2s ease; }
.home3-schedule-list > a:hover { margin-inline: -.45rem; padding-inline: .45rem; background: #f6f9fb; }
.home3-schedule-list img { border: 1px solid #dce5eb; border-radius: 4px; }
.home3-capacity-card dl div:last-child { border-bottom: 0; }

.home3-upcoming { background: linear-gradient(145deg,#012340 0%,#07446f 54%,#022844 100%); }
.home3-section-head { position: relative; padding-bottom: .95rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.home3-section-head::after { content:""; position:absolute; left:0; bottom:-1px; width:56px; height:2px; background:var(--home3-gold); }
.home3-ship-card { border-color: rgba(255,255,255,.19); background: rgba(2,40,71,.88); }
.home3-ship-media::after { inset: 55% 0 0; background: linear-gradient(180deg,transparent,rgba(2,36,65,.83)); }
.home3-ship-media img { filter: saturate(.96) contrast(1.025); }
.home3-photo-credit { border-color: rgba(255,255,255,.24); background: rgba(2,25,48,.78); }
.home3-ship-card h3 { letter-spacing: .025em; }
.home3-ship-card p { border-color: rgba(255,255,255,.16); }
.home3-ship-card dt { letter-spacing: .05em; }
.home3-ship-link { letter-spacing: .07em; }
.home3-ship-link:hover { color: #fff; }
.home3-source-note { color: rgba(255,255,255,.72); }

.home3-bottom { background: #f8f9fa; }
.home3-bottom h2 { letter-spacing: .075em; }
.home3-news-mini > a,
.home3-useful a { transition: color .2s ease,transform .2s ease; }
.home3-news-mini > a:hover,
.home3-useful a:hover { color: #b67716; transform: translateX(3px); }
.home3-news-mini img { box-shadow: 0 5px 14px rgba(3,37,70,.1); }
.home3-contact-card { border-color: #dce4e9; border-radius: 10px; box-shadow: 0 16px 34px rgba(5,39,71,.055); }
.home3-contact-map::before { background: rgba(229,237,242,.74); }

@media (max-width: 850px) {
    .home3-editorial-head > p { justify-self: start; }
    .home3-dashboard-grid { filter: none; }
    .home3-dash-card { box-shadow: 0 10px 24px rgba(5,39,71,.05); }
}

@media (max-width: 540px) {
    .home3-hero-media { filter: saturate(1.04) brightness(1.08); }
    .home3-hero-shade { background: linear-gradient(180deg,rgba(1,25,48,.68),rgba(2,37,68,.32) 42%,rgba(1,28,52,.76)); }
    .home3-quick-item:hover > svg { transform: none; }
    .home3-section-head { padding-bottom: .75rem; }
}

/* Visible professional refinement — build luka-pro-4 */
@media (min-width: 851px) {
    .home3-hero { min-height: 735px; }
    .home3-hero-grid { grid-template-columns: minmax(0,1.08fr) minmax(420px,.67fr); gap: clamp(4rem,7vw,7rem); }
    .home3-arrival-panel { width: min(100%,540px); justify-self: end; }
}
.home3-hero-media { filter: saturate(1.08) contrast(1.02) brightness(1.2); }
.home3-hero-shade {
    background:
        linear-gradient(90deg,rgba(1,24,46,.72) 0%,rgba(2,39,72,.36) 43%,rgba(2,31,59,.06) 67%,rgba(1,24,45,.34) 100%),
        linear-gradient(180deg,rgba(1,20,39,.13),transparent 51%,rgba(0,29,55,.57));
}
.home3-hero-copy h1 { font-size: clamp(3.75rem,5.1vw,4.95rem); }
.home3-arrival-panel { border-top: 3px solid var(--home3-gold); background: rgba(2,31,59,.86); backdrop-filter: blur(16px) saturate(1.15); }
.home3-panel-head { min-height: 70px; }
.home3-arrival-summary { background: rgba(255,255,255,.025); }

.home3-quick { padding-block: 30px 38px; background: #fff; }
.home3-quick-grid { overflow: hidden; border: 1px solid #e1e7eb; border-radius: 12px; box-shadow: 0 15px 42px rgba(5,39,71,.07); }
.home3-quick-item,
.home3-quick-item:first-child { min-height: 174px; border-left: 0; background: linear-gradient(180deg,#fff,#fbfcfd); }
.home3-quick-item:last-child { border-right: 0; }
.home3-quick-item > svg { box-sizing: content-box; padding: .48rem; border-radius: 10px; background: #eef5f9; }
.home3-quick-item:hover { background: #f3f8fb; }

.home3-dashboard { padding-block: 66px 76px; }
.home3-editorial-head { position: relative; padding-left: 22px; }
.home3-editorial-head::before { content:""; position:absolute; inset:4px auto 2px 0; width:3px; border-radius:3px; background:linear-gradient(#e2ad3e,#b97a17); }
.home3-editorial-head span { color: #9d6713; }
.home3-dashboard-grid { gap: 14px; filter: none; }
.home3-dash-card,
.home3-dash-card:first-child,
.home3-dash-card:last-child { border: 1px solid #dfe6eb; border-radius: 12px; box-shadow: 0 18px 42px rgba(5,39,71,.07); }
.home3-dash-card + .home3-dash-card { border-left: 1px solid #dfe6eb; }
.home3-dash-card > header { min-height: 116px; }
.home3-map-root { margin: 0 12px 12px; border-radius: 9px; }
.home3-schedule-list > a:last-child { border-bottom: 0; }

.home3-upcoming { padding-block: 64px 42px; }
.home3-ship-grid { gap: 16px; }
.home3-ship-card { min-height: 440px; border-radius: 12px; box-shadow: 0 20px 44px rgba(0,17,34,.19); }
.home3-ship-media { height: 248px; }
.home3-ship-card > .home3-ship-body { padding: 1.08rem 1.2rem 1.15rem; }
.home3-ship-card h3 { font-size: 1.1rem; }
.home3-photo-credit { bottom: .65rem; }

.home3-bottom { padding-block: 56px; }
.home3-news-mini,
.home3-useful { padding: 1.15rem 1.35rem; border: 1px solid #e2e8ec; border-radius: 10px; background: #fff; }
.home3-contact-card { box-shadow: 0 18px 40px rgba(5,39,71,.08); }

@media (max-width: 1180px) {
    .home3-quick-grid { border-radius: 10px; }
    .home3-quick-item:nth-child(n) { border-left: 0; }
    .home3-quick-item:nth-child(3n) { border-right: 0; }
    .home3-dashboard-grid { gap: 12px; }
    .home3-capacity-card { border-left: 1px solid #dfe6eb; }
}

@media (max-width: 850px) {
    .home3-quick-grid { box-shadow: 0 12px 30px rgba(5,39,71,.06); }
    .home3-quick-item:nth-child(n) { border-left: 0; }
    .home3-quick-item:nth-child(2n) { border-right: 0; }
    .home3-editorial-head { padding-left: 16px; }
    .home3-news-mini,
    .home3-useful { padding: 1.15rem; }
}

@media (max-width: 540px) {
    .home3-hero-media { filter: saturate(1.06) brightness(1.13); }
    .home3-quick-item:nth-child(n) { min-height: 140px; }
    .home3-quick-item > svg { padding: .38rem; }
    .home3-ship-media { height: 244px; }
}

/* Larger arrival photography — build luka-pro-5 */
@media (min-width: 851px) {
    .home3-arrival-panel { width: min(100%,600px); }
    .home3-panel-arrivals > a {
        grid-template-columns: 82px minmax(0,1fr) 168px;
        gap: 1.15rem;
        min-height: 132px;
    }
    .home3-panel-arrivals img,
    .home3-ship-symbol {
        width: 168px;
        height: 102px;
        border-radius: 9px;
    }
}
@media (min-width: 1450px) {
    .home3-hero-grid { grid-template-columns: minmax(0,1fr) 650px; gap: clamp(3.25rem,5vw,6rem); }
    .home3-arrival-panel { width: 650px; }
    .home3-panel-arrivals > a {
        grid-template-columns: 88px minmax(0,1fr) 210px;
        gap: 1.25rem;
        min-height: 154px;
    }
    .home3-panel-arrivals img,
    .home3-ship-symbol {
        width: 210px;
        height: 128px;
        border-radius: 10px;
    }
}
.home3-panel-arrivals img {
    display: block;
    object-position: center;
    box-shadow: 0 9px 24px rgba(0,12,27,.28);
}
@media (max-width: 850px) {
    .home3-panel-arrivals > a {
        grid-template-columns: 66px minmax(0,1fr) 96px;
        gap: .75rem;
        min-height: 96px;
    }
    .home3-panel-arrivals img,
    .home3-ship-symbol {
        width: 96px;
        height: 62px;
        border-radius: 7px;
    }
}
@media (max-width: 390px) {
    .home3-panel-arrivals > a { grid-template-columns: 60px minmax(0,1fr) 84px; }
    .home3-panel-arrivals img,
    .home3-ship-symbol { width: 84px; height: 56px; }
}

/* Editorial arrival cards — build luka-pro-9 */
@media (min-width: 1250px) {
    .home3-hero-grid {
        grid-template-columns: minmax(0,1fr) 600px;
        gap: clamp(3rem,5vw,5.5rem);
    }
    .home3-arrival-panel { width: 600px; }
    .home3-panel-arrivals {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px;
        padding: 14px 16px 16px;
    }
    .home3-panel-arrivals > a {
        position: relative;
        display: block;
        min-height: 188px;
        overflow: hidden;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 11px;
        isolation: isolate;
    }
    .home3-panel-arrivals > a:hover { transform: translateY(-2px); }
    .home3-panel-arrivals > a::after {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 0;
        background: linear-gradient(180deg,rgba(2,24,45,.04) 24%,rgba(2,25,48,.28) 53%,rgba(1,20,39,.96) 100%);
        pointer-events: none;
    }
    .home3-panel-arrivals .home3-panel-ship-photo {
        position: absolute;
        z-index: 0;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        border-radius: 0;
    }
    .home3-panel-arrivals img,
    .home3-panel-arrivals .home3-ship-symbol {
        position: absolute;
        z-index: 0;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        object-fit: cover;
    }
    .home3-panel-arrivals .home3-panel-ship-photo figcaption { display: none; }
    .home3-panel-arrivals .home3-panel-ship-photo.ship-viking-sea img { object-position: 48% 56%; transform: scale(1.55); }
    .home3-panel-arrivals .home3-panel-ship-photo.ship-le-ponant img { object-position: 50% 50%; transform: scale(1.12); }
    .home3-panel-arrivals time {
        position: absolute;
        z-index: 2;
        top: 12px;
        left: 12px;
        padding: 7px 9px;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: 7px;
        background: rgba(2,28,53,.78);
        backdrop-filter: blur(8px);
    }
    .home3-panel-arrivals time small { font-size: .58rem; }
    .home3-panel-arrivals time strong { margin-top: 1px; font-size: 1rem; }
    .home3-panel-arrivals > a > span:not(.home3-ship-symbol) {
        position: absolute;
        z-index: 2;
        right: 14px;
        bottom: 13px;
        left: 14px;
    }
    .home3-panel-arrivals > a > span b {
        font-size: .82rem;
        line-height: 1.2;
        text-shadow: 0 2px 12px rgba(0,0,0,.75);
    }
    .home3-panel-arrivals > a > span small { margin-top: .3rem; color: rgba(255,255,255,.84); }
}

/* Ship-specific framing keeps the original official photograph intact while
   presenting the vessel in a useful close-up crop inside fixed card ratios. */
.home3-ship-card.ship-viking-sea .home3-ship-media img { object-position: 48% 56%; transform: scale(1.55); }
.home3-ship-card.ship-viking-sea:hover .home3-ship-media img { transform: scale(1.6); }
.home3-ship-card.ship-le-ponant .home3-ship-media img { object-position: 50% 50%; transform: scale(1.12); }
.home3-ship-card.ship-le-ponant:hover .home3-ship-media img { transform: scale(1.16); }

@media (max-width: 1249px) {
    .home3-panel-ship-photo { width: 100%; height: 100%; }
}

/* Map-led content bridge — build luka-pro-10 */
.home3-hero::after { display: none; }
.home3-dashboard {
    position: relative;
    z-index: 5;
    margin-top: -30px;
    padding: 0 0 82px;
    background: linear-gradient(180deg,#f7f9fa 0%,#eef3f6 100%);
}
.home3-dashboard > .home3-shell { padding-top: 72px; }
.home3-plan-layout {
    display: grid;
    grid-template-columns: minmax(0,1.55fr) minmax(420px,.9fr);
    gap: 18px;
    align-items: stretch;
}
.home3-plan-layout .home3-map-card {
    position: relative;
    z-index: 2;
    margin-top: -12px;
    overflow: hidden;
    border: 8px solid #fff;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(5,39,71,.14);
}
.home3-plan-layout .home3-map-card > header { min-height: 106px; border: 0; }
.home3-plan-layout .home3-map-root { margin: 0; border-radius: 11px; }
.home3-plan-layout .home3-map-canvas,
.home3-plan-layout .home3-map-canvas .port-map-placeholder,
.home3-plan-layout .home3-map-canvas > p,
.home3-plan-layout .port-map-schematic { min-height: 550px; }
.home3-plan-layout .port-map-schematic svg { height: 550px; }
.home3-plan-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.home3-plan-action {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: .8rem;
    min-height: 166px;
    align-content: start;
    padding: 1.15rem;
    border: 1px solid #dfe7ec;
    border-radius: 13px;
    background: #fff;
    color: #082d54;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(5,39,71,.06);
    transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.home3-plan-action:hover { transform: translateY(-3px); border-color: #bdccd6; box-shadow: 0 18px 34px rgba(5,39,71,.1); }
.home3-plan-action > svg {
    box-sizing: content-box;
    width: 1.55rem;
    height: 1.55rem;
    padding: .5rem;
    border-radius: 10px;
    background: #edf5f9;
    color: #0b5c9d;
}
.home3-plan-action > span { display: grid; align-content: start; gap: .45rem; }
.home3-plan-action strong { font-size: .76rem; line-height: 1.25; text-transform: uppercase; }
.home3-plan-action small { color: #607386; font-size: .67rem; line-height: 1.55; }
.home3-plan-action b { display: inline-flex; align-items: center; gap: .35rem; margin-top: .25rem; color: #08447c; font-size: .62rem; text-transform: uppercase; }
.home3-plan-action b svg { width: .85rem; height: .85rem; }
.home3-plan-action.is-featured {
    border-color: #0a4b80;
    background: linear-gradient(145deg,#07365f,#0a507f);
    color: #fff;
}
.home3-plan-action.is-featured > svg { background: rgba(255,255,255,.13); color: #efb337; }
.home3-plan-action.is-featured small { color: rgba(255,255,255,.76); }
.home3-plan-action.is-featured b { color: #f2b73f; }
@media (max-width: 1180px) {
    .home3-plan-layout { grid-template-columns: 1.25fr .85fr; }
    .home3-plan-actions { grid-template-columns: 1fr; }
    .home3-plan-action { min-height: 116px; }
}
@media (max-width: 850px) {
    .home3-dashboard { margin-top: 0; }
    .home3-dashboard > .home3-shell { padding-top: 54px; }
    .home3-plan-layout { grid-template-columns: 1fr; }
    .home3-plan-layout .home3-map-card { margin-top: 0; border-width: 6px; }
    .home3-plan-actions { grid-template-columns: 1fr 1fr; }
    .home3-plan-action { min-height: 145px; }
}
@media (max-width: 540px) {
    .home3-plan-actions { grid-template-columns: 1fr; }
    .home3-plan-action { min-height: 116px; }
    .home3-plan-layout .home3-map-canvas,
    .home3-plan-layout .home3-map-canvas .port-map-placeholder,
    .home3-plan-layout .home3-map-canvas > p,
    .home3-plan-layout .port-map-schematic { min-height: 430px; }
    .home3-plan-layout .port-map-schematic svg { height: 430px; }
}

/* Floating plan suite and restored quick-card language — build luka-pro-11 */
@media (min-width: 851px) {
    .home3-dashboard {
        margin-top: -92px;
        padding: 0 0 84px;
        background: linear-gradient(180deg,#edf3f6 0%,#f5f7f8 18%,#eef3f6 100%);
    }
    .home3-dashboard > .home3-shell {
        padding: 30px;
        border: 1px solid rgba(211,222,229,.9);
        border-radius: 22px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 30px 80px rgba(4,32,59,.18);
    }
    .home3-dashboard .home3-editorial-head { padding: 4px 0 24px 20px; }
    .home3-dashboard .home3-editorial-head::before { inset: 7px auto 24px 0; }
    .home3-plan-layout { grid-template-columns: minmax(0,1.48fr) minmax(420px,.92fr); }
    .home3-plan-layout .home3-map-card {
        margin-top: 0;
        border: 1px solid #dce5ea;
        border-radius: 15px;
        box-shadow: 0 16px 38px rgba(5,39,71,.09);
    }
    .home3-plan-layout .home3-map-card > header { padding-inline: 1.35rem; }
    .home3-plan-layout .home3-map-root { margin: 0 12px 12px; border-radius: 10px; }

    .home3-plan-actions { gap: 12px; }
    .home3-plan-action,
    .home3-plan-action.is-featured {
        grid-template-columns: 1fr;
        justify-items: center;
        min-height: 171px;
        align-content: center;
        gap: .65rem;
        padding: 1rem .9rem;
        border: 1px solid #dfe7ec;
        border-radius: 13px;
        background: linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
        color: #082d54;
        text-align: center;
        box-shadow: 0 11px 25px rgba(5,39,71,.055);
    }
    .home3-plan-action:hover,
    .home3-plan-action.is-featured:hover { border-color: #beced8; background: #f5f9fb; }
    .home3-plan-action > svg,
    .home3-plan-action.is-featured > svg {
        width: 1.75rem;
        height: 1.75rem;
        padding: .48rem;
        border-radius: 10px;
        background: #edf5f9;
        color: #0b5c9d;
    }
    .home3-plan-action > span { justify-items: center; gap: .4rem; }
    .home3-plan-action strong { font-size: .72rem; }
    .home3-plan-action small,
    .home3-plan-action.is-featured small { max-width: 170px; color: #607386; font-size: .65rem; }
    .home3-plan-action b,
    .home3-plan-action.is-featured b { justify-content: center; color: #08447c; font-size: .6rem; }
}
@media (min-width: 851px) and (max-width: 1180px) {
    .home3-dashboard > .home3-shell { width: min(94%,1100px); padding-inline: 22px; }
    .home3-plan-layout { grid-template-columns: minmax(0,1.28fr) minmax(330px,.8fr); }
    .home3-plan-action,
    .home3-plan-action.is-featured { min-height: 160px; }
}
@media (max-width: 850px) {
    .home3-dashboard { margin-top: -26px; padding-top: 0; }
    .home3-dashboard > .home3-shell {
        width: calc(100% - 20px);
        padding: 18px 10px;
        border-radius: 18px 18px 0 0;
        background: #f7f9fa;
    }
    .home3-plan-action.is-featured { border-color: #dfe7ec; background: #fff; color: #082d54; }
    .home3-plan-action.is-featured > svg { background: #edf5f9; color: #0b5c9d; }
    .home3-plan-action.is-featured small { color: #607386; }
    .home3-plan-action.is-featured b { color: #08447c; }
}

/* Compact port preview crossing the lower hero — build luka-pro-12 */
@media (min-width: 1250px) {
    .home3-hero {
        min-height: 820px;
        align-items: start;
    }
    .home3-hero-grid {
        align-items: start;
        padding-top: 128px;
        padding-bottom: 250px;
    }
    .home3-hero-copy { padding-top: 22px; }
    .home3-arrival-panel {
        align-self: start;
        margin-top: 0;
    }
    .home3-panel-head { min-height: 58px; padding-block: .75rem; }
    .home3-arrival-summary { padding-block: .72rem; }
    .home3-arrival-summary b { font-size: 1.55rem; }
    .home3-panel-arrivals { gap: 10px; padding: 11px 14px 13px; }
    .home3-panel-arrivals > a { min-height: 142px; }
    .home3-panel-arrivals time { top: 10px; left: 10px; padding: 6px 8px; }
    .home3-panel-arrivals > a > span:not(.home3-ship-symbol) { right: 11px; bottom: 10px; left: 11px; }
    .home3-arrival-panel footer { padding-block: .72rem .82rem; }

    .home3-dashboard {
        margin-top: -246px;
        padding-bottom: 76px;
        background: linear-gradient(180deg,transparent 0 246px,#f2f6f8 246px,#eef3f6 100%);
    }
    .home3-dashboard > .home3-shell {
        padding: 24px;
        box-shadow: 0 34px 90px rgba(2,26,51,.22);
    }
    .home3-plan-layout {
        grid-template-columns: minmax(0,1.22fr) minmax(440px,.95fr);
        gap: 14px;
    }
    .home3-plan-layout .home3-map-card > header {
        min-height: 82px;
        padding-block: 1rem;
    }
    .home3-plan-layout .home3-map-canvas,
    .home3-plan-layout .home3-map-canvas .port-map-placeholder,
    .home3-plan-layout .home3-map-canvas > p,
    .home3-plan-layout .port-map-schematic { min-height: 386px; }
    .home3-plan-layout .port-map-schematic svg { height: 386px; }
    .home3-map-detail { min-height: 52px; }
    .home3-map-filters { bottom: 62px; }
    .home3-plan-action,
    .home3-plan-action.is-featured { min-height: 144px; padding-block: .82rem; }
    .home3-plan-action > svg,
    .home3-plan-action.is-featured > svg { width: 1.55rem; height: 1.55rem; padding: .42rem; }
}

@media (min-width: 851px) and (max-width: 1249px) {
    .home3-dashboard { margin-top: -132px; }
    .home3-plan-layout .home3-map-canvas,
    .home3-plan-layout .home3-map-canvas .port-map-placeholder,
    .home3-plan-layout .home3-map-canvas > p,
    .home3-plan-layout .port-map-schematic { min-height: 430px; }
    .home3-plan-layout .port-map-schematic svg { height: 430px; }
}

/* FAZA 3 — final homepage implementation */
.page-home {
    --home3-shell: min(1460px, calc(100% - 72px));
    --final-navy: #032744;
    --final-navy-deep: #021d34;
    --final-blue: #0b68ad;
    --final-gold: #dca83c;
    --final-line: #dce5eb;
    --final-soft: #f4f7f9;
    background: #fff;
}

.page-home .site-header { background: linear-gradient(180deg,rgba(1,23,43,.82),rgba(1,23,43,.2)); }
.page-home .header-main { min-height: 94px; width: var(--home3-shell); margin-inline: auto; padding: 0; }
.page-home .brand { min-width: 230px; gap: .8rem; color: #fff; }
.page-home .brand-mark { width: 58px; height: 58px; }
.page-home .brand-copy strong { font-size: 1rem; line-height: 1.1; text-transform: none; }
.page-home .brand-copy strong br { display: none; }
.page-home .brand-copy small { margin-top: .2rem; color: inherit; font-size: .67rem; }
.page-home .site-nav { gap: clamp(.2rem,.7vw,.8rem); }
.page-home .site-nav-item { position: relative; }
.page-home .site-nav-item > a { display: inline-flex; align-items: center; gap: .25rem; padding: 2rem .6rem; font-size: .7rem; }
.page-home .site-nav-item > a svg { width: .75rem; height: .75rem; }
.site-subnav {
    position: absolute;
    top: calc(100% - 8px);
    left: 0;
    width: 235px;
    padding: .55rem;
    border: 1px solid #dce5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(1,24,46,.16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease,transform .18s ease,visibility .18s;
}
.site-subnav a,
.page-home .site-nav .site-subnav a { display: block; padding: .72rem .8rem; border-radius: 5px; color: #092d4d; font-size: .71rem; font-weight: 750; text-transform: none; }
.site-subnav a::after { display: none; }
.site-subnav a:hover { background: #eef4f7; color: #075a99; }
.site-nav-item:hover .site-subnav,
.site-nav-item:focus-within .site-subnav,
.site-nav-item.is-keyboard-open .site-subnav { opacity: 1; visibility: visible; transform: translateY(0); }
.page-home .header-tools { gap: .35rem; font-size: .7rem; font-weight: 800; }
.header-search-toggle { display: grid; width: 38px; height: 38px; place-items: center; margin-left: .55rem; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.header-search { position: absolute; top: 100%; right: max(36px,calc((100% - 1460px)/2)); display: flex; align-items: center; gap: .5rem; padding: .7rem; border: 1px solid #dce5eb; background: #fff; box-shadow: 0 16px 36px rgba(2,27,50,.16); }
.header-search[hidden] { display: none; }
.header-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.header-search input { width: min(360px,65vw); border: 1px solid #cad8e0; padding: .68rem .8rem; }
.header-search button { border: 0; background: var(--final-navy); color: #fff; padding: .72rem .9rem; font-weight: 800; }
.page-home .site-header.is-scrolled .header-search-toggle { border-color: #afc0cc; color: var(--final-navy); }

.home3-hero { min-height: clamp(680px,77vh,840px); align-items: center; }
.home3-hero-grid { align-items: center; padding: 124px 0 92px; }
.home3-hero-copy { padding-top: 0; }
.home3-hero-copy h1 { max-width: 630px; font-size: clamp(4rem,5.2vw,5.5rem); }
.home3-hero-shade { background: linear-gradient(90deg,rgba(1,24,46,.78),rgba(1,32,59,.38) 48%,rgba(1,27,51,.32)),linear-gradient(180deg,rgba(2,21,40,.16),rgba(2,32,57,.03) 55%,rgba(1,25,47,.5)); }
.home3-hero::before { width: 38%; opacity: .1; }
.home3-scroll { bottom: 22px; }
.home3-scroll svg { width: 1.2rem !important; }
@media (min-width:1250px) {
    .home3-hero-grid { grid-template-columns: minmax(0,1fr) minmax(510px,600px); gap: clamp(3rem,5vw,6rem); }
    .home3-arrival-panel { width: 100%; }
    .home3-panel-arrivals > a { min-height: 138px; }
}

.home-final-news { padding: 42px 0 54px; background: #fff; }
.home-final-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.15rem; }
.home-final-heading h2 { position: relative; margin: 0; color: #062b4c; font-family: Arial,sans-serif; font-size: 1.28rem; letter-spacing: .035em; text-transform: uppercase; }
.home-final-heading h2::after { content:""; position:absolute; left:0; bottom:-9px; width:45px; height:2px; background:var(--final-gold); }
.home-final-heading > a,.home-final-text-link { display:inline-flex; align-items:center; gap:.45rem; color:#052f53; font-size:.68rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.home-final-heading svg,.home-final-text-link svg { width:.9rem; }
.home-final-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-final-news-card { display:grid; grid-template-columns:38% 1fr; min-height:188px; overflow:hidden; border:1px solid var(--final-line); border-radius:8px; background:#fff; }
.home-final-news-image { display:block; min-height:188px; overflow:hidden; background:#e7eef2; }
.home-final-news-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.home-final-news-card:hover .home-final-news-image img { transform:scale(1.02); }
.home-final-news-card > div { padding:1.15rem; }
.home-final-news-card time { color:#687b8c; font-size:.7rem; }
.home-final-news-card h3 { margin:.35rem 0 .55rem; color:#082c4d; font-size:.9rem; line-height:1.35; }
.home-final-news-card h3 a { text-decoration:none; }
.home-final-news-card p { margin:0 0 .7rem; color:#5e7182; font-size:.72rem; line-height:1.55; }
.home-final-news-card .home-final-text-link { margin-top:auto; font-size:.61rem; }

.home-final-port { padding: 36px 0 62px; background: linear-gradient(180deg,#f5f8fa,#eef3f6); }
.home-final-heading-copy { margin-bottom:1.3rem; }
.home-final-heading-copy p { margin:.55rem 0 0; color:#607487; font-size:.85rem; }
.home-final-port-grid { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(310px,.82fr); gap:18px; align-items:stretch; }
.home-final-port .home3-map-card { overflow:hidden; border:1px solid #dbe4ea; border-radius:10px; background:#fff; box-shadow:0 12px 32px rgba(4,35,64,.06); }
.home-final-map-head { min-height:64px !important; padding:.7rem 1rem !important; }
.home-final-map-modes { display:flex; gap:8px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-color:#b7c8d5 transparent; scrollbar-width:thin; }
.home-final-map-modes button { min-height:34px; border:1px solid #dce5ea; border-radius:5px; background:#f5f7f9; color:#496277; padding:.45rem .8rem; font-size:.66rem; font-weight:900; text-transform:uppercase; cursor:pointer; }
.home-final-map-modes button { flex:0 0 auto; }
.home-final-map-modes button.is-active { border-color:#d4a43f; background:#fff; color:#062e52; box-shadow:inset 0 -3px #d4a43f; }
.home-final-map-head > a { display:inline-flex; align-items:center; gap:.4rem; border-radius:5px; background:#062f55; color:#fff; padding:.7rem .9rem; font-size:.63rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.home-final-map-head > a svg { width:.8rem; }
.home-final-port .home3-map-root { position:relative; margin:0 12px; border-radius:6px; overflow:hidden; }
.home-final-port .home3-map-canvas,.home-final-port .home3-map-canvas .port-map-placeholder,.home-final-port .home3-map-canvas > p { min-height:470px; }
.home-final-port .home3-map-detail { min-height:52px; }
.home-final-source { margin:.65rem 1rem .8rem; color:#6a7b89; font-size:.61rem; }
.home-final-capacity { display:flex; flex-direction:column; overflow:hidden; border-radius:10px; background:linear-gradient(150deg,#073b65,#022643); color:#fff; }
.home-final-capacity > header { padding:1.2rem 1.3rem; border-bottom:1px solid rgba(255,255,255,.15); }
.home-final-capacity h2 { position:relative; margin:0; font-size:1rem; text-transform:uppercase; }
.home-final-capacity h2::after { content:""; display:block; width:42px; height:2px; margin-top:.7rem; background:var(--final-gold); }
.home-final-capacity-list { padding:.2rem 1.3rem; }
.home-final-capacity-list > div,.home-final-capacity-list > a { display:grid; grid-template-columns:45px 1fr; gap:.8rem; align-items:center; min-height:94px; border-bottom:1px solid rgba(255,255,255,.14); color:#fff; text-decoration:none; }
.home-final-capacity-list svg { width:2rem; height:2rem; stroke-width:1.4; }
.home-final-capacity-list span { display:grid; gap:.15rem; }
.home-final-capacity-list strong { font-size:1rem; }
.home-final-capacity-list small { color:rgba(255,255,255,.76); font-size:.7rem; line-height:1.4; }
.home-final-capacity-source { margin:auto 1.3rem .5rem; color:rgba(255,255,255,.66); font-size:.6rem; line-height:1.45; }
.home-final-capacity-cta { display:flex; align-items:center; gap:.45rem; padding:1rem 1.3rem 1.2rem; color:#efb43a; font-size:.67rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.home-final-capacity-cta svg { width:.9rem; }

.home3-upcoming { padding: 56px 0 36px; background:linear-gradient(140deg,#022a49,#064b78 55%,#022946); }
.home-final-carousel-wrap { position:relative; }
.home-final-carousel-arrow { position:absolute; z-index:5; top:50%; display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(2,31,56,.72); color:#fff; transform:translateY(-50%); cursor:pointer; }
.home-final-carousel-arrow.is-prev { left:-52px; }
.home-final-carousel-arrow.is-next { right:-52px; }
.home-final-carousel-arrow svg { width:1.15rem; }
.home3-ship-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home3-ship-card { min-height:445px; border-radius:9px; box-shadow:none; }
.home3-ship-media { height:250px; }
.home3-ship-media img { height:100%; object-fit:cover; }
.home3-ship-fallback { position:relative; display:grid; height:250px; place-items:center; background:linear-gradient(145deg,#0a456f,#062e51); }
.home3-ship-fallback svg { width:88%; height:auto; fill:none; stroke:rgba(255,255,255,.17); stroke-width:2; }
.home3-ship-body time { position:absolute; z-index:3; top:-198px; left:12px; display:grid; padding:.55rem .65rem; border-radius:5px; background:rgba(2,31,57,.82); }
.home3-ship-body time span { color:var(--final-gold); font-size:.68rem; font-weight:700; line-height:1.15; }
.home3-ship-body time strong { font-size:1.05rem; }
.home3-ship-body p a { display:inline-flex; align-items:center; gap:.35rem; color:#fff; text-decoration:none; }
.home-final-carousel-dots { display:flex; justify-content:center; gap:7px; margin-top:18px; }
.home-final-carousel-dots span { width:7px; height:7px; border:1px solid rgba(255,255,255,.8); border-radius:50%; }
.home-final-carousel-dots span.is-active { border-color:var(--final-gold); background:var(--final-gold); }

.home-final-quick { position:relative; z-index:3; padding:0 0 34px; background:#fff; }
.home-final-quick > div { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:hidden; border:1px solid #e0e7ec; border-radius:9px; background:#fff; box-shadow:0 14px 32px rgba(4,37,66,.06); transform:translateY(-1px); }
.home-final-quick a { display:grid; grid-template-columns:34px 1fr auto; gap:.6rem; align-items:start; min-height:95px; padding:1rem; border-right:1px solid #e5ebef; color:#062f53; text-decoration:none; }
.home-final-quick a:last-child { border-right:0; }
.home-final-quick a > svg:first-child { width:1.5rem; height:1.5rem; color:#0865a6; }
.home-final-quick a > svg:last-child { width:.75rem; margin-top:.2rem; }
.home-final-quick span { display:grid; gap:.3rem; }
.home-final-quick strong { font-size:.65rem; text-transform:uppercase; }
.home-final-quick small { color:#687b8c; font-size:.61rem; line-height:1.45; }

.home3-bottom { padding:42px 0 58px; background:#f5f7f8; }
.home-final-bottom-grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr); gap:26px; }
.home-final-bottom-grid .home3-useful { padding:1.2rem; border:1px solid #e0e6ea; border-radius:8px; background:#fff; }
.home-final-bottom-grid .home3-contact-card { border:1px solid #e0e6ea; border-radius:8px; background:#fff; }
.page-home .site-footer { margin-top:0; }
.page-home .footer-inner { width:var(--home3-shell); max-width:none; grid-template-columns:1.25fr repeat(4,minmax(130px,.72fr)); gap:2rem; padding:38px 0 20px; }
.page-home .footer-brand { grid-column:auto; }
.page-home .footer-mark { width:58px; height:58px; }
.page-home .footer-nav,.page-home .footer-contact { gap:.32rem; font-size:.72rem; }
.footer-social { display:flex; gap:.5rem; margin-top:.7rem; }
.footer-social a { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.footer-social svg { width:.85rem; }
.page-home .footer-bottom { grid-column:1/-1; margin-top:.6rem; padding-top:1rem; font-size:.65rem; }
.footer-legal { display:flex; gap:1rem; align-items:center; }

*:focus-visible { outline:3px solid #f2b337; outline-offset:3px; }

@media (max-width:1249px) {
    .page-home { --home3-shell:min(1180px,calc(100% - 44px)); }
    .page-home .header-main { min-height:82px; }
    .page-home .site-nav-item > a { padding-inline:.38rem; font-size:.62rem; }
    .home3-hero { min-height:720px; }
    .home3-hero-grid { padding:115px 0 80px; }
    .home-final-port-grid { grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr); }
    .home-final-carousel-arrow.is-prev { left:-14px; }
    .home-final-carousel-arrow.is-next { right:-14px; }
}

@media (max-width:1000px) {
    .home-final-news-grid { grid-template-columns:1fr; }
    .home-final-news-card { grid-template-columns:220px 1fr; }
    .home-final-port-grid { grid-template-columns:1fr; }
    .home-final-capacity-list { display:grid; grid-template-columns:repeat(3,1fr); }
    .home-final-capacity-list > div,.home-final-capacity-list > a { border-right:1px solid rgba(255,255,255,.14); border-bottom:0; padding:.8rem; }
    .home-final-quick > div { grid-template-columns:repeat(3,1fr); }
    .home-final-quick a:nth-child(3n) { border-right:0; }
    .page-home .footer-inner { grid-template-columns:repeat(3,1fr); }
    .page-home .footer-brand { grid-column:span 3; }
}

@media (max-width:850px) {
    .page-home { --home3-shell:calc(100% - 28px); }
    .page-home .header-main { width:100%; padding-inline:14px; }
    .page-home .brand { min-width:0; }
    .page-home .brand-copy strong { font-size:.8rem; }
    .page-home .site-nav { top:82px; padding:12px; }
    .page-home .site-nav-item > a { display:flex; width:100%; padding:.72rem; color:#092d4d; }
    .site-subnav { position:static; display:none; width:auto; margin-left:1rem; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
    .site-nav-item.is-keyboard-open .site-subnav,.site-nav-item:focus-within .site-subnav { display:block; }
    .home3-hero { min-height:auto; }
    .home3-hero-grid { grid-template-columns:1fr; gap:2.2rem; padding:112px 0 72px; }
    .home3-hero-copy h1 { font-size:clamp(3.3rem,14vw,4.6rem); }
    .home3-arrival-panel { width:100%; }
    .home3-scroll { display:none; }
    .home-final-news-card { grid-template-columns:160px 1fr; }
    .home-final-port .home3-map-canvas,.home-final-port .home3-map-canvas .port-map-placeholder,.home-final-port .home3-map-canvas > p { min-height:460px; }
    .home-final-capacity-list { grid-template-columns:1fr; }
    .home-final-capacity-list > div,.home-final-capacity-list > a { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
    .home3-ship-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
    .home3-ship-card { flex:0 0 min(88vw,430px); scroll-snap-align:start; }
    .home-final-carousel-arrow { display:none; }
    .home-final-bottom-grid { grid-template-columns:1fr; }
}

@media (max-width:540px) {
    .home-final-news { padding-block:34px; }
    .home-final-news-card { grid-template-columns:1fr; }
    .home-final-news-image { min-height:190px; max-height:230px; }
    .home-final-map-head { display:grid !important; gap:.7rem !important; }
    .home-final-map-modes { overflow-x:auto; }
    .home-final-map-modes button { flex:0 0 auto; }
    .home-final-map-head > a { justify-self:start; }
    .home-final-port .home3-map-root { margin-inline:7px; }
    .home-final-port .home3-map-canvas,.home-final-port .home3-map-canvas .port-map-placeholder,.home-final-port .home3-map-canvas > p { min-height:440px; }
    .home3-map-detail { display:grid; }
    .home3-map-detail span { max-width:none; text-align:left; }
    .home-final-quick > div { grid-template-columns:repeat(2,1fr); }
    .home-final-quick a { min-height:108px; border-bottom:1px solid #e5ebef; }
    .home-final-quick a:nth-child(3n) { border-right:1px solid #e5ebef; }
    .home-final-quick a:nth-child(2n) { border-right:0; }
    .page-home .footer-inner { grid-template-columns:1fr 1fr; }
    .page-home .footer-brand { grid-column:1/-1; }
    .page-home .footer-contact { grid-column:1/-1; }
    .page-home .footer-bottom { align-items:flex-start; }
    .footer-legal { flex-wrap:wrap; }
}

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

/* Homepage editorial map/news composition */
.home-homehub { position:relative; z-index:8; margin-top:-46px; background:transparent; }
.home-homehub-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:8px; align-items:stretch; }
.home-homehub-news,
.home-homehub-links { min-width:0; padding:1.35rem 1.5rem 1.2rem; border:1px solid #dbe4ea; border-radius:14px; background:#fff; box-shadow:0 22px 52px rgba(3,34,61,.15); }
.home-homehub-news > header,
.home-homehub-links > header { display:flex; min-height:42px; align-items:flex-start; justify-content:space-between; gap:1rem; border-bottom:1px solid #dfe6eb; }
.home-homehub-news h2,
.home-homehub-links h2 { margin:0; color:#062b4c; font-family:Arial,sans-serif; font-size:1rem; letter-spacing:.015em; text-transform:uppercase; }
.home-homehub-news > header > a { display:inline-flex; align-items:center; gap:.4rem; color:#062f53; font-size:.62rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.home-homehub-news > header svg { width:.85rem; }
.home-homehub-news-list { display:grid; }
.home-homehub-news-row { min-width:0; border-bottom:1px solid #e0e7ec; }
.home-homehub-news-row:last-child { border-bottom:0; }
.home-homehub-news-row > a { display:grid; grid-template-columns:minmax(0,1fr) 22px; gap:.55rem; min-height:91px; align-items:center; padding:.65rem .2rem; color:#062b4c; text-decoration:none; }
.home-homehub-news-row time { grid-column:1; color:#6e8190; font-size:.62rem; }
.home-homehub-news-row span { grid-column:1; display:grid; gap:.25rem; min-width:0; }
.home-homehub-news-row strong { font-size:.76rem; line-height:1.3; }
.home-homehub-news-row small { display:-webkit-box; overflow:hidden; color:#5f7485; font-size:.65rem; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.home-homehub-news-row > a > svg { grid-column:2; grid-row:1/3; width:1rem; color:#063a65; transition:transform .18s ease; }
.home-homehub-news-row > a:hover > svg { transform:translateX(3px); }
.home-homehub-links > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:1rem; }
.home-homehub-links a { display:grid; grid-template-columns:42px minmax(0,1fr) 20px; gap:.75rem; min-height:100px; align-items:center; padding:.85rem 1rem; border:1px solid #dce5eb; border-radius:7px; color:#062b4c; text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.home-homehub-links a:hover { border-color:#9fb6c7; box-shadow:0 9px 22px rgba(4,35,64,.08); transform:translateY(-1px); }
.home-homehub-links a > svg:first-child { width:2rem; height:2rem; color:#086db3; stroke-width:1.55; }
.home-homehub-links a > svg:last-child { width:1rem; }
.home-homehub-links span { display:grid; gap:.28rem; min-width:0; }
.home-homehub-links strong { font-size:.73rem; line-height:1.25; text-transform:uppercase; }
.home-homehub-links small { color:#617788; font-size:.63rem; line-height:1.4; }
.home-final-quick-overlap { z-index:8; margin-top:-42px; padding-bottom:0; background:transparent; }
.home-final-quick-overlap > div { box-shadow:0 22px 52px rgba(3,34,61,.16); }
.home-final-port-editorial { padding-top:20px; }
.home-final-port-editorial .home-final-port-grid { grid-template-columns:minmax(0,1.38fr) minmax(440px,1fr); gap:22px; align-items:stretch; }
.home-final-port-editorial .home3-map-card { display:flex; min-width:0; flex-direction:column; }
.home-final-port-editorial .home-final-map-head { min-height:88px !important; }
.home-final-port-editorial .home-final-map-head h2 { margin:0; color:#062b4c; font-size:1.15rem; text-transform:uppercase; }
.home-final-port-editorial .home-final-map-head p { margin:.3rem 0 0; color:#667b8c; font-size:.75rem; }
.home-final-port-editorial .home-final-map-modes { padding:0 1rem .75rem; }
.home-final-port-editorial .home3-map-root { flex:1; }
.home-final-port-editorial .home3-map-canvas,
.home-final-port-editorial .home3-map-canvas .port-map-placeholder,
.home-final-port-editorial .home3-map-canvas > p { min-height:540px; }
.home-final-news-side { display:flex; min-width:0; flex-direction:column; padding:1.3rem; border:1px solid #dbe4ea; border-radius:10px; background:#fff; box-shadow:0 12px 32px rgba(4,35,64,.06); }
.home-final-news-side .home-final-heading { margin-bottom:1.35rem; }
.home-final-news-side .home-final-news-grid { display:grid; grid-template-columns:1fr; gap:12px; flex:1; }
.home-final-news-side .home-final-news-card { grid-template-columns:43% 1fr; min-height:0; height:100%; }
.home-final-news-side .home-final-news-image { min-height:0; }
.home-final-news-side .home-final-news-card > div { display:flex; flex-direction:column; justify-content:center; padding:1.1rem; }
.home-final-news-side .home-final-news-card time { font-size:.75rem; }
.home-final-news-side .home-final-news-card h3 { display:-webkit-box; overflow:hidden; margin:.35rem 0 .55rem; font-size:.96rem; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.home-final-news-side .home-final-text-link { font-size:.66rem; }
.home-final-news-side .home-final-news-card p { display:-webkit-box; overflow:hidden; margin:0 0 .7rem; color:#536b7e; font-size:.72rem; line-height:1.48; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.home-final-news-top { margin-bottom:20px; padding:1rem 1.15rem; }
.home-final-news-top .home-final-heading { margin-bottom:.85rem; }
.home-final-news-top .home-final-news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-final-news-top .home-final-news-card { grid-template-columns:36% 1fr; min-height:154px; }
.home-final-news-top .home-final-news-card > div { justify-content:center; padding:.85rem; }
.home-final-news-top .home-final-news-card h3 { margin:.25rem 0 .4rem; font-size:.82rem; }
.home-final-news-top .home-final-news-card p { margin-bottom:.45rem; font-size:.65rem; -webkit-line-clamp:2; }
.home-final-news-top .home-final-news-card time { font-size:.62rem; }

.home-map-selection[hidden] { display:none; }
.home-map-selection { position:absolute; z-index:950; top:12px; right:12px; bottom:64px; display:flex; width:min(355px,48%); overflow:auto; flex-direction:column; border:1px solid rgba(255,255,255,.4); border-radius:8px; background:rgba(3,36,64,.96); color:#fff; box-shadow:0 18px 48px rgba(1,25,47,.32); backdrop-filter:blur(10px); }
.home-map-selection-head { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:.65rem 1rem; border-bottom:1px solid rgba(255,255,255,.16); background:#062f52; }
.home-map-selection-head span { font-size:.72rem; font-weight:900; text-transform:uppercase; }
.home-map-selection-head button { display:grid; width:32px; height:32px; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:transparent; color:#fff; font-size:1.25rem; cursor:pointer; }
.home-map-selection [data-port-map-detail-content] { padding:1rem; }
.home-map-selection .map-info-card { min-width:0; max-width:none; color:#fff; }
.home-map-selection .map-info-card > span,.home-map-selection .geometry-confidence { color:#b9d3e6; }
.home-map-selection .map-info-card > strong { font-size:1.22rem; }
.home-map-selection .map-info-card p { margin:.55rem 0; font-size:.78rem; line-height:1.45; }
.home-map-selection .map-info-card h4 { margin:1rem 0 .55rem; }
.home-map-selection .map-info-card a { color:#7ed0ff; }
.map-official-facts { display:grid; gap:0; margin:.15rem 0 1rem; }
.map-official-facts > div { display:grid; gap:.22rem; border-top:1px solid #d9e4ec; padding:.72rem 0; }
.map-official-facts dt { color:#5c7487; font-size:.68rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.map-official-facts dd { margin:0; color:#082f55; font-size:.88rem; font-weight:700; line-height:1.45; }
.home-map-selection .map-official-facts > div { border-color:rgba(255,255,255,.15); }
.home-map-selection .map-official-facts dt { color:#a9c8da; }
.home-map-selection .map-official-facts dd { color:#fff; }
.home-map-selection-link { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding:.85rem 1rem; border-top:1px solid rgba(255,255,255,.16); color:#f2b43a; font-size:.68rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.home-map-selection-link svg { width:.9rem; }
.home-map-selection-empty { display:grid; min-height:360px; place-content:center; padding:2rem; text-align:center; }
.home-map-selection-empty svg { width:2.5rem; height:2.5rem; margin:0 auto 1rem; color:#f2b43a; }
.home-map-selection-empty strong { font-size:1rem; }
.home-map-selection-empty p { max-width:260px; margin:.7rem auto 0; color:#b9d3e6; font-size:.75rem; line-height:1.55; }
.map-coordinate-list { margin:1rem 0; padding-top:.2rem; border-top:1px solid rgba(255,255,255,.16); }
.map-coordinate-list ol { display:grid; gap:.35rem; margin:0; padding:0; list-style:none; }
.map-coordinate-list li { display:grid; grid-template-columns:52px minmax(0,1fr); gap:.55rem; align-items:center; padding:.38rem .45rem; border-radius:4px; background:rgba(255,255,255,.07); }
.map-coordinate-list li span { color:#b9d3e6; font-size:.64rem; font-weight:800; text-transform:uppercase; }
.map-coordinate-list code { overflow-wrap:anywhere; color:#fff; font-size:.7rem; }
.home-map-selection .map-geometry-note { color:#b9d3e6; font-size:.68rem !important; }
.home-map-selection .map-source-link { margin-top:1rem !important; padding-top:.8rem; border-top:1px solid rgba(255,255,255,.16); }
.home-final-capacity-horizontal { display:grid; grid-template-columns:minmax(230px,.75fr) minmax(0,2.2fr); margin-top:22px; border-radius:10px; }
.home-final-capacity-horizontal > header { display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.15); border-bottom:0; padding:1.3rem 1.5rem; }
.home-final-capacity-horizontal > header p { margin:.65rem 0 0; color:rgba(255,255,255,.7); font-size:.7rem; line-height:1.5; }
.home-final-capacity-horizontal .home-final-capacity-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; }
.home-final-capacity-horizontal .home-final-capacity-list > div,
.home-final-capacity-horizontal .home-final-capacity-list > a { min-height:126px; padding:1rem 1.3rem; border-right:1px solid rgba(255,255,255,.14); border-bottom:0; }
.home-final-capacity-horizontal .home-final-capacity-list > :last-child { border-right:0; }
.home-final-capacity-horizontal .home-final-capacity-foot { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-top:1px solid rgba(255,255,255,.14); padding:.3rem 1.4rem; }
.home-final-capacity-horizontal .home-final-capacity-source { margin:0; }
.home-final-capacity-horizontal .home-final-capacity-cta { flex:0 0 auto; padding:.8rem 0; }

/* Full digital plan: fixed sidebar on desktop, bottom sheet on mobile */
.port-map-stage { min-width:0; }
.port-map-sidebar { position:relative; min-width:0; }
.port-map-sidebar .port-map-list { height:100%; background:#fff; }
.port-map-selection[hidden] { display:none; }
.port-map-selection { position:absolute; z-index:3; inset:0; overflow:auto; border:1px solid #cbd9e2; border-radius:18px; background:#fff; box-shadow:0 18px 48px rgba(3,34,60,.15); }
.port-map-selection-head { position:sticky; z-index:2; top:0; display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:.8rem 1.1rem; border-bottom:1px solid #e0e8ed; background:#fff; }
.port-map-selection-head strong { color:#082f51; font-size:.8rem; text-transform:uppercase; }
.port-map-selection-head button { display:grid; width:34px; height:34px; place-items:center; border:1px solid #cad7df; border-radius:50%; background:#fff; color:#173d5b; font-size:1.35rem; cursor:pointer; }
.port-map-selection [data-port-map-detail-content] { padding:1.1rem; }
.port-map-selection .map-info-card { min-width:0; max-width:none; }
.port-map-selection .map-info-card > strong { font-size:1.3rem; }
.port-map-selection .map-info-card h4 { margin:1.2rem 0 .7rem; }
.port-map-selection .map-info-card p { margin:.65rem 0; font-size:.82rem; line-height:1.5; }

@media(max-width:1100px){
  .home-homehub-grid { grid-template-columns:1fr; gap:14px; }
  .home-homehub-news-row > a { min-height:82px; }
  .home-final-port-editorial .home-final-port-grid { grid-template-columns:1fr; }
  .home-final-capacity-horizontal .home-final-capacity-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-final-news-top .home-final-news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-final-news-top .home-final-news-card { grid-template-columns:1fr; }
  .home-final-news-top .home-final-news-image { min-height:145px; }
  .home-final-capacity-horizontal { grid-template-columns:1fr; }
  .home-final-capacity-horizontal > header { border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
}
@media(max-width:800px){
  .home-homehub { margin-top:-26px; }
  .home-homehub-news,
  .home-homehub-links { padding:1.1rem; border-radius:11px; }
  .home-final-quick-overlap { margin-top:-28px; }
  .home-final-port-editorial { padding-top:18px; }
  .home-final-news-top .home-final-news-grid { grid-template-columns:1fr; }
  .home-final-news-top .home-final-news-card { grid-template-columns:150px 1fr; min-height:150px; }
  .home-final-news-top .home-final-news-image { min-height:150px; }
  .home-final-capacity-horizontal .home-final-capacity-list { grid-template-columns:1fr; }
  .home-final-capacity-horizontal .home-final-capacity-list > div,
  .home-final-capacity-horizontal .home-final-capacity-list > a { min-height:92px; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .home-final-capacity-horizontal .home-final-capacity-foot { align-items:flex-start; flex-direction:column; gap:.2rem; }
  .port-map-layout { position:relative; }
  .port-map-sidebar { position:static; }
  .port-map-selection { position:fixed; z-index:1100; top:auto; right:10px; bottom:10px; left:10px; max-height:min(70vh,620px); border-radius:18px; box-shadow:0 -18px 55px rgba(1,25,48,.32); }
  .port-map-layout.has-map-selection::before { content:""; position:fixed; z-index:1090; inset:0; background:rgba(1,24,45,.42); }
  .home-map-selection { position:fixed; z-index:1110; top:auto; right:10px; bottom:10px; left:10px; width:auto; max-height:min(68vh,570px); border-radius:16px; }
  .home-map-selection.is-empty { display:none; }
  .home3-map-root.has-map-selection::before { content:""; position:fixed; z-index:1100; inset:0; background:rgba(1,24,45,.46); }
}
@media(max-width:540px){
  .home-homehub-links > div { grid-template-columns:1fr; }
  .home-homehub-links a { min-height:86px; }
  .home-homehub-news-row > a { min-height:96px; }
  .home-homehub-news h2,
  .home-homehub-links h2 { font-size:.9rem; }
  .home-final-port-editorial .home3-map-canvas,
  .home-final-port-editorial .home3-map-canvas .port-map-placeholder,
  .home-final-port-editorial .home3-map-canvas > p { min-height:480px; }
  .home-final-news-top { padding:.8rem; }
  .home-final-news-top .home-final-news-card { grid-template-columns:120px 1fr; min-height:130px; }
  .home-final-news-top .home-final-news-image { min-height:130px; }
}

@media(min-width:801px){
  .home-final-port-editorial .home-final-port-grid { grid-template-columns:1fr; }
  .home-final-port-editorial .home3-map-root { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,370px); align-items:stretch; overflow:hidden; }
  .home-final-port-editorial .home3-map-canvas { grid-column:1; min-width:0; }
  .home-final-port-editorial .home-map-selection,
  .home-final-port-editorial .home-map-selection[hidden] { position:relative; z-index:2; top:auto; right:auto; bottom:auto; display:flex; grid-column:2; grid-row:1; width:auto; min-height:540px; max-height:540px; border-width:0 0 0 1px; border-radius:0; box-shadow:none; }
  .home-final-port-editorial .home-map-selection:not(.is-empty) .home-map-selection-link { position:sticky; bottom:0; background:#062f52; }
  .home-final-port-editorial .home-map-selection-head button { display:grid; }
  .home-final-port-editorial .home3-map-detail { display:none; }
}

/* Homepage readability pass — professional desktop and mobile type scale */
.home-homehub-news h2,
.home-homehub-links h2 { font-size:1.14rem; line-height:1.25; }
.home-homehub-news > header > a { font-size:.72rem; letter-spacing:.025em; }
.home-homehub-news-row > a { min-height:102px; padding:.78rem .25rem; }
.home-homehub-news-row time { font-size:.76rem; line-height:1.35; }
.home-homehub-news-row span { gap:.34rem; }
.home-homehub-news-row strong { font-size:.9rem; line-height:1.38; }
.home-homehub-news-row small { font-size:.81rem; line-height:1.52; }
.home-homehub-links a { min-height:108px; padding:1rem 1.05rem; }
.home-homehub-links strong { font-size:.86rem; line-height:1.32; }
.home-homehub-links small { font-size:.78rem; line-height:1.5; }

.home-final-port-editorial .home-final-map-head h2 { font-size:1.28rem; }
.home-final-port-editorial .home-final-map-head p { font-size:.88rem; line-height:1.5; }
.home-final-map-modes button { min-height:38px; font-size:.75rem; }
.home-final-map-head > a { font-size:.72rem; }
.home-final-source { font-size:.74rem; line-height:1.45; }

.home-map-selection-head { min-height:58px; }
.home-map-selection-head span { font-size:.84rem; letter-spacing:.02em; }
.home-map-selection .map-info-card > strong { font-size:1.35rem; line-height:1.25; }
.home-map-selection .map-info-card p { font-size:.9rem; line-height:1.55; }
.home-map-selection .map-info-card h4 { font-size:1rem; line-height:1.35; }
.map-coordinate-list li span { font-size:.74rem; }
.map-coordinate-list code { font-size:.82rem; line-height:1.45; }
.home-map-selection .map-geometry-note { font-size:.8rem !important; line-height:1.5 !important; }
.home-map-selection-link { font-size:.78rem; }
.home-map-selection-empty strong { font-size:1.08rem; }
.home-map-selection-empty p { font-size:.86rem; line-height:1.6; }

.home-final-capacity h2 { font-size:1.12rem; }
.home-final-capacity-list strong { font-size:1.08rem; line-height:1.3; }
.home-final-capacity-list small { font-size:.82rem; line-height:1.5; }
.home-final-capacity-horizontal > header p { font-size:.82rem; line-height:1.55; }
.home-final-capacity-source { font-size:.74rem; line-height:1.5; }
.home-final-capacity-cta { font-size:.77rem; }

.home3-bottom h2 { font-size:.94rem; line-height:1.3; }
.home3-news-mini strong { font-size:.86rem; line-height:1.5; }
.home3-useful a { min-height:60px; font-size:.88rem; line-height:1.4; }
.home3-contact-card > div > a:not(.home3-button) { font-size:.87rem; line-height:1.45; }
.home3-contact-card p { font-size:.87rem; line-height:1.55; }
.home3-section-head > div > p { margin:.35rem 0 0; color:rgba(255,255,255,.72); font-size:.82rem; line-height:1.5; }

.page-home .footer-nav,
.page-home .footer-contact { gap:.44rem; font-size:.84rem; line-height:1.45; }
.page-home .footer-brand p { font-size:.84rem; line-height:1.55; }
.page-home .footer-bottom { font-size:.75rem; line-height:1.5; }

@media(max-width:800px){
  .home-homehub-news-row > a { min-height:108px; }
  .home-homehub-news-row strong { font-size:.92rem; }
  .home-homehub-news-row small { font-size:.82rem; }
  .home-homehub-links a { min-height:96px; }
  .home-map-selection .map-info-card p { font-size:.9rem; }
  .page-home .footer-nav,
  .page-home .footer-contact,
  .page-home .footer-brand p { font-size:.88rem; }
}

/* Digital plan header: keep the full official description on one desktop line. */
@media(min-width:1101px){
  .home-final-port-editorial .home-final-map-head {
    min-height:76px !important;
    align-items:center;
  }
  .home-final-port-editorial .home-final-map-head > div {
    min-width:0;
    flex:1 1 auto;
  }
  .home-final-port-editorial .home-final-map-head p {
    width:auto;
    max-width:none;
    white-space:nowrap;
  }
  .home-final-port-editorial .home-final-map-head > a {
    flex:0 0 auto;
  }
}

/* Content subpages — shallow editorial hero and About page */
.about-page-shell {
  width:min(1458px,calc(100% - 48px));
  margin-inline:auto;
}
.subpage-hero {
  position:relative;
  display:grid;
  min-height:280px;
  overflow:hidden;
  align-items:end;
  isolation:isolate;
  color:#fff;
  background:#062b4c;
}
.subpage-hero::after {
  position:absolute;
  z-index:-2;
  inset:0;
  content:"";
}
.subpage-hero::after {
  z-index:-1;
  background:linear-gradient(90deg,rgba(2,30,55,.96) 0%,rgba(3,42,75,.82) 43%,rgba(3,40,71,.28) 78%,rgba(2,31,55,.35) 100%),linear-gradient(180deg,rgba(2,25,46,.18),rgba(2,28,51,.62));
}
.subpage-hero-media {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.subpage-hero-inner {
  width:min(1458px,calc(100% - 48px));
  margin-inline:auto;
  padding:42px 0 38px;
}
.subpage-breadcrumb {
  display:flex;
  gap:.45rem;
  align-items:center;
  margin-bottom:1rem;
  color:rgba(255,255,255,.72);
  font-size:.75rem;
}
.subpage-breadcrumb a { text-decoration:none; }
.subpage-breadcrumb svg { width:.8rem; height:.8rem; }
.subpage-eyebrow,
.about-section-kicker {
  margin:0 0 .55rem;
  color:#dca62e;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.subpage-hero h1 {
  max-width:18ch;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.55rem,4.5vw,4.4rem);
  font-weight:500;
  line-height:1;
}
.subpage-hero .subpage-lead {
  max-width:690px;
  margin:.8rem 0 0;
  color:rgba(255,255,255,.86);
  font-size:1.02rem;
  line-height:1.55;
}
.about-local-nav {
  border-bottom:1px solid #dbe4ea;
  background:#fff;
  box-shadow:0 8px 22px rgba(4,35,64,.05);
}
.about-local-nav > div {
  display:flex;
  width:min(1458px,calc(100% - 48px));
  margin-inline:auto;
  overflow-x:auto;
  scrollbar-width:none;
}
.about-local-nav > div::-webkit-scrollbar { display:none; }
.about-local-nav a {
  position:relative;
  flex:0 0 auto;
  padding:1rem 1.25rem;
  color:#3c566a;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.about-local-nav a:first-child { padding-left:0; }
.about-local-nav a::after {
  position:absolute;
  right:1.25rem;
  bottom:0;
  left:1.25rem;
  height:3px;
  content:"";
  background:transparent;
}
.about-local-nav a:first-child::after { left:0; }
.about-local-nav a:hover,
.about-local-nav a.is-active { color:#063b68; }
.about-local-nav a.is-active::after { background:#dca62e; }
.about-intro-section,
.about-governance-section { background:#fff; }
.about-intro-grid {
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(0,1.35fr);
  gap:clamp(3rem,7vw,8rem);
  padding-block:72px;
}
.about-intro-grid h2,
.about-section-heading h2,
.about-contact-cta h2 {
  margin:0;
  color:#062c4e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.1rem,3.8vw,3.6rem);
  font-weight:500;
  line-height:1.05;
}
.about-intro-copy p {
  margin:0 0 1.15rem;
  color:#50687b;
  font-size:1rem;
  line-height:1.78;
}
.about-intro-copy blockquote {
  margin:1.8rem 0 0;
  border-left:3px solid #dca62e;
  padding:.2rem 0 .2rem 1.25rem;
  color:#123b5d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  font-weight:500;
  line-height:1.6;
}
.about-facts-section {
  padding:68px 0 76px;
  background:linear-gradient(180deg,#f3f7f9,#eef3f6);
}
.about-section-heading {
  display:flex;
  justify-content:space-between;
  gap:3rem;
  align-items:end;
  margin-bottom:30px;
}
.about-section-heading > p {
  max-width:520px;
  margin:0;
  color:#627789;
  font-size:.9rem;
  line-height:1.6;
}
.about-fact-highlights {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  margin-bottom:18px;
  border:1px solid #d8e3ea;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 32px rgba(4,35,64,.05);
}
.about-fact-highlights article {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:.1rem .8rem;
  align-items:center;
  min-height:108px;
  padding:1rem 1.3rem;
  border-right:1px solid #dfe7ec;
}
.about-fact-highlights article:last-child { border-right:0; }
.about-fact-highlights svg {
  grid-row:1/3;
  width:1.8rem;
  height:1.8rem;
  color:#0872ba;
  stroke-width:1.55;
}
.about-fact-highlights span {
  color:#6a7d8c;
  font-size:.72rem;
  text-transform:uppercase;
}
.about-fact-highlights strong { color:#062d50; font-size:1rem; line-height:1.3; }
.about-corporate-grid,
.about-governance-grid {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:18px;
}
.about-data-card,
.about-people-card {
  overflow:hidden;
  border:1px solid #d8e3ea;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 32px rgba(4,35,64,.05);
}
.about-data-card > header,
.about-people-card > header {
  display:flex;
  gap:1rem;
  align-items:center;
  padding:1.2rem 1.35rem;
  border-bottom:1px solid #e1e8ed;
}
.about-data-card > header > svg,
.about-people-icon {
  display:grid;
  width:42px;
  height:42px;
  flex:0 0 auto;
  place-items:center;
  border-radius:8px;
  background:#e9f3f9;
  color:#0872ba;
}
.about-data-card > header > svg { padding:9px; }
.about-people-icon svg { width:1.45rem; }
.about-data-card header p,
.about-people-card header p {
  margin:0 0 .15rem;
  color:#6a7d8c;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
}
.about-data-card h3,
.about-people-card h3 { margin:0; color:#062d50; font-size:1.05rem; }
.about-data-card dl { margin:0; padding:.2rem 1.35rem .7rem; }
.about-data-card dl > div {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:1rem;
  padding:.78rem 0;
  border-bottom:1px solid #e5ebef;
}
.about-data-card dl > div:last-child { border-bottom:0; }
.about-data-card dt { color:#687d8e; font-size:.78rem; }
.about-data-card dd { margin:0; color:#092f50; font-size:.88rem; font-weight:700; }
.about-bank-list { padding:.35rem 1.35rem; }
.about-bank-list > div { padding:.75rem 0; border-bottom:1px solid #e5ebef; }
.about-bank-list > div:last-child { border-bottom:0; }
.about-bank-list span,
.about-bank-list strong { display:block; }
.about-bank-list span { color:#687d8e; font-size:.75rem; }
.about-bank-list strong { margin-top:.15rem; color:#062d50; font-size:.88rem; overflow-wrap:anywhere; }
.about-data-note {
  display:flex;
  gap:.55rem;
  margin:.6rem 1.35rem 1.15rem;
  color:#6c7f8e;
  font-size:.7rem;
  line-height:1.45;
}
.about-data-note svg { width:1rem; height:1rem; flex:0 0 auto; }
.about-governance-section { padding:72px 0 78px; }
.about-governance-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.about-people-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.about-people-list.is-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-people-list article {
  display:flex;
  gap:.8rem;
  align-items:center;
  min-height:96px;
  padding:1rem 1.35rem;
  border-right:1px solid #e5ebef;
  border-bottom:1px solid #e5ebef;
}
.about-people-list article:nth-child(2n) { border-right:0; }
.about-people-list article > span {
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 auto;
  place-items:center;
  border-radius:50%;
  background:#073d68;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
}
.about-people-list article div { display:grid; gap:.18rem; }
.about-people-list strong { color:#082f50; font-size:.88rem; }
.about-people-list small { color:#667b8c; font-size:.74rem; line-height:1.35; }
.about-contact-cta { padding:0 0 72px; background:#fff; }
.about-contact-cta .about-page-shell {
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:center;
  overflow:hidden;
  border-radius:12px;
  padding:2rem 2.25rem;
  background:linear-gradient(135deg,#073e69,#052b4c);
  color:#fff;
}
.about-contact-cta .about-page-shell > div { display:flex; gap:1.2rem; align-items:center; }
.about-cta-icon {
  display:grid;
  width:58px;
  height:58px;
  flex:0 0 auto;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:#e5ae34;
}
.about-cta-icon svg { width:1.8rem; }
.about-contact-cta h2 { color:#fff; font-size:clamp(1.6rem,2.5vw,2.4rem); }
.about-contact-cta p:not(.about-section-kicker) { margin:.45rem 0 0; color:rgba(255,255,255,.74); font-size:.86rem; }
.about-contact-cta a {
  display:inline-flex;
  gap:.6rem;
  align-items:center;
  flex:0 0 auto;
  border-radius:6px;
  padding:.9rem 1.2rem;
  background:#e3ab33;
  color:#062d50;
  font-size:.75rem;
  font-weight:900;
  text-decoration:none;
  text-transform:uppercase;
}
.about-contact-cta a svg { width:1rem; }
.page-about .site-footer { margin-top:0; }

/* O nama — modular corporate editorial pages */
.about-page-hero { min-height:320px; }
.about-page-hero::after {
  background:linear-gradient(90deg,rgba(2,26,48,.96),rgba(2,38,68,.78) 48%,rgba(2,31,56,.28) 82%),linear-gradient(180deg,rgba(2,24,45,.18),rgba(2,28,50,.68));
}
.about-page-hero .subpage-hero-media { object-position:center 55%; }
.about-page-hero .subpage-hero-inner { padding-block:122px 34px; }
.about-page-hero h1 { max-width:980px; font-size:clamp(2.5rem,4vw,3.75rem); }
.about-page-hero .subpage-lead { max-width:820px; font-size:1rem; }
.about-page-hero.is-detail { min-height:300px; }
.about-page-hero.is-detail .subpage-hero-inner { padding-block:116px 30px; }
.about-page-hero.is-detail h1 { font-size:clamp(2.3rem,3.4vw,3.2rem); }
.about-local-nav { position:relative; z-index:4; }
.about-local-nav > div { justify-content:center; }
.about-local-nav a { min-width:132px; padding:1.08rem 1.4rem; text-align:center; }
.about-local-nav a:first-child { padding-left:1.4rem; }
.about-local-nav a:first-child::after { left:1.4rem; }
.about-text-link {
  display:inline-flex;
  gap:.55rem;
  align-items:center;
  margin-top:.25rem;
  color:#086eae;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
  text-transform:uppercase;
}
.about-text-link svg { width:1rem; }
.about-overview { padding:82px 0 90px; background:#f1f5f7; }
.about-overview h2 {
  margin:0;
  color:#062d50;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.2rem,4.2vw,4rem);
  font-weight:500;
  line-height:1.04;
}
.about-overview-layout { display:grid; grid-template-columns:minmax(0,1.14fr) minmax(370px,.86fr); gap:22px; }
.about-overview-feature {
  position:relative;
  display:block;
  min-height:510px;
  overflow:hidden;
  border-radius:12px;
  background:#062f51;
  color:#fff;
  text-decoration:none;
  box-shadow:0 18px 48px rgba(3,37,65,.12);
}
.about-overview-feature::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(2,27,48,.04) 34%,rgba(2,29,52,.94)); }
.about-overview-feature img { width:100%; height:100%; min-height:510px; object-fit:cover; transition:transform .5s ease; }
.about-overview-feature:hover img { transform:scale(1.025); }
.about-overview-feature > span { position:absolute; z-index:1; right:0; bottom:0; left:0; display:grid; grid-template-columns:1fr auto; padding:2rem; }
.about-overview-feature small,.about-overview-feature strong { display:block; grid-column:1; }
.about-overview-feature small { margin-bottom:.45rem; color:#efbc4c; font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.about-overview-feature strong { font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3.2vw,3rem); font-weight:500; }
.about-overview-feature svg { grid-column:2; grid-row:1/3; align-self:end; width:2rem; height:2rem; color:#efb33d; }
.about-overview-links { display:grid; grid-template-rows:repeat(3,1fr); overflow:hidden; border:1px solid #d8e2e8; border-radius:12px; background:#fff; box-shadow:0 18px 48px rgba(3,37,65,.07); }
.about-overview-links > a { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; padding:1.5rem 1.7rem; border-bottom:1px solid #e0e8ed; color:#082f50; text-decoration:none; transition:background .2s ease; }
.about-overview-links > a:last-child { border-bottom:0; }
.about-overview-links > a:hover { background:#f7fafb; }
.about-overview-links > a > span { display:grid; grid-template-columns:48px 1fr; gap:.18rem 1rem; align-items:center; }
.about-overview-links > a > span > svg { grid-row:1/3; width:2rem; height:2rem; color:#0872ba; stroke-width:1.55; }
.about-overview-links small,.about-overview-links strong { grid-column:2; }
.about-overview-links small { color:#728696; font-size:.72rem; }
.about-overview-links strong { font-family:Georgia,"Times New Roman",serif; font-size:1.5rem; font-weight:500; }
.about-overview-links > a > svg { width:1.2rem; flex:0 0 auto; color:#d49e27; }
.about-today { padding:74px 0; background:#fff; }
.about-today-grid {
  display:grid;
  grid-template-columns:minmax(340px,.92fr) minmax(0,1.15fr);
  gap:clamp(3rem,8vw,9rem);
  align-items:start;
}
.about-editorial-heading h2,
.about-corporate h2,
.about-governance h2,
.about-port-plan h2,
.about-press h2,
.about-final-cta h2 {
  margin:0;
  color:#062d50;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.25vw,3.15rem);
  font-weight:500;
  line-height:1.04;
}
.about-editorial-copy p { margin:0 0 1.35rem; color:#4b6478; font-size:1.02rem; line-height:1.85; }
.about-editorial-copy p:first-child { color:#163f60; font-size:1.2rem; }
.about-corporate { padding:76px 0 82px; background:#f1f5f7; }
.about-corporate-data {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  overflow:hidden;
  border:1px solid #d8e2e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 44px rgba(3,37,65,.07);
}
.about-corporate-data > div { min-height:118px; padding:1.25rem 1.4rem; border-right:1px solid #e1e8ed; border-bottom:1px solid #e1e8ed; }
.about-corporate-data > div:nth-child(4n) { border-right:0; }
.about-corporate-data > div.is-wide { grid-column:span 2; }
.about-corporate-data dt { margin-bottom:.45rem; color:#748796; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.about-corporate-data dd { margin:0; color:#092f50; font-size:.91rem; font-weight:750; line-height:1.5; }
.about-corporate-data a { color:#0872ba; text-decoration:none; }
.about-bank-accounts { margin-top:18px; overflow:hidden; border:1px solid #d8e2e8; border-radius:12px; background:#fff; }
.about-bank-accounts summary { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1.15rem 1.35rem; color:#0a3659; cursor:pointer; list-style:none; }
.about-bank-accounts summary::-webkit-details-marker { display:none; }
.about-bank-accounts summary > span { display:grid; grid-template-columns:32px 1fr; gap:.12rem .85rem; align-items:center; }
.about-bank-accounts summary > span > svg { grid-row:1/3; color:#0872ba; }
.about-bank-accounts summary small { color:#6e8190; }
.about-bank-accounts[open] summary > svg { transform:rotate(180deg); }
.about-bank-accounts > div { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #e1e8ed; }
.about-bank-accounts > div p { margin:0; padding:1rem 1.35rem; border-right:1px solid #e1e8ed; }
.about-bank-accounts > div p:last-child { border-right:0; }
.about-bank-accounts p span,.about-bank-accounts p strong { display:block; }
.about-bank-accounts p span { color:#6b7f8f; font-size:.72rem; }
.about-bank-accounts p strong { margin-top:.25rem; color:#082f50; overflow-wrap:anywhere; }
.about-governance { padding:82px 0 90px; background:#fff; }
.about-governance-columns { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:22px; }
.about-governance-columns > section { overflow:hidden; border:1px solid #dbe4e9; border-radius:14px; background:#fff; box-shadow:0 16px 40px rgba(3,37,65,.06); }
.about-governance-columns > section > header { display:flex; gap:1rem; align-items:center; padding:1.35rem 1.45rem; border-bottom:1px solid #e1e8ed; background:linear-gradient(135deg,#063d68,#052f52); color:#fff; }
.about-governance-columns header > svg { width:2rem; height:2rem; color:#e2aa32; }
.about-governance-columns header span { color:rgba(255,255,255,.65); font-size:.7rem; text-transform:uppercase; }
.about-governance-columns h3 { margin:.15rem 0 0; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; font-weight:500; }
.about-person-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-person-list.is-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-person-list article { display:grid; gap:.25rem; min-height:102px; padding:1.25rem 1.45rem; border-right:1px solid #e4eaee; border-bottom:1px solid #e4eaee; }
.about-person-list article:nth-child(2n) { border-right:0; }
.about-person-list strong { color:#082f50; font-size:.98rem; }
.about-person-list span { color:#687e8f; font-size:.8rem; line-height:1.45; }
.about-history-intro { padding:92px 0; background:#052f52; color:#fff; }
.about-history-intro-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.about-history-intro figure { margin:0; overflow:hidden; border-radius:4px; background:#021f37; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.about-history-intro figure img { display:block; width:100%; aspect-ratio:1.55; object-fit:cover; }
.about-history-intro figcaption { padding:.75rem 1rem; color:rgba(255,255,255,.62); font-size:.68rem; letter-spacing:.04em; }
.about-history-intro h2 { margin:0; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,4.2vw,4rem); font-weight:500; line-height:1.04; }
.about-history-subtitle { margin:1.1rem 0 1.8rem !important; color:#efbd4f !important; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem !important; line-height:1.45 !important; }
.about-history-intro-grid > div > p { margin:0 0 1.1rem; color:rgba(255,255,255,.76); font-size:.94rem; line-height:1.75; }
.about-timeline-section { padding:70px 0 76px; background:#062944; }
.about-timeline { display:flex; overflow-x:auto; padding:0 0 1.1rem; scrollbar-color:#dca62e rgba(255,255,255,.08); scroll-snap-type:x proximity; }
.about-timeline article { display:grid; grid-template-rows:auto 26px 1fr; min-width:250px; flex:1 0 250px; scroll-snap-align:start; }
.about-timeline time { color:#efba45; font-family:Georgia,"Times New Roman",serif; font-size:1.7rem; }
.about-timeline article > span { position:relative; display:block; margin-top:.35rem; border-top:1px solid rgba(255,255,255,.22); }
.about-timeline article > span::before { position:absolute; top:-6px; left:0; width:11px; height:11px; border:2px solid #efb23b; border-radius:50%; content:""; background:#062944; }
.about-timeline article > div { padding:1rem 1.65rem 0 0; }
.about-timeline h3 { margin:0 0 .45rem; color:#fff; font-size:.95rem; }
.about-timeline p { margin:0; color:rgba(255,255,255,.62); font-size:.76rem; line-height:1.55; }
.about-timeline-image { display:block; width:100%; aspect-ratio:16/9; margin:0 0 .9rem; border-radius:6px; object-fit:cover; }
.about-timeline-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:1rem; margin:0 0 1.15rem; }
.about-timeline-toolbar > span { min-width:54px; color:#efba45; font:500 1rem/1 Georgia,"Times New Roman",serif; text-align:center; }
.about-timeline-toolbar > div { display:flex; gap:.55rem; }
.about-timeline-toolbar button { display:grid; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; place-items:center; color:#fff; background:rgba(255,255,255,.06); cursor:pointer; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.about-timeline-toolbar button:hover,.about-timeline-toolbar button:focus-visible { border-color:#efba45; background:rgba(239,186,69,.15); transform:translateY(-2px); outline:none; }
.about-timeline-toolbar button svg { width:19px; height:19px; }
.about-timeline-carousel .about-timeline { padding-bottom:.55rem; scrollbar-width:none; scroll-snap-type:x mandatory; }
.about-timeline-carousel .about-timeline::-webkit-scrollbar { display:none; }
.about-timeline-carousel .about-timeline article { transition:opacity .35s ease,transform .35s ease; }
.about-timeline-carousel .about-timeline article:hover { transform:translateY(-4px); }
.about-timeline-carousel .about-timeline-image { transition:filter .35s ease,box-shadow .35s ease; }
.about-timeline-carousel .about-timeline article:hover .about-timeline-image { filter:saturate(1.08) contrast(1.03); box-shadow:0 14px 30px rgba(0,0,0,.22); }
.about-timeline-progress { height:3px; margin-top:.45rem; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.12); }
.about-timeline-progress span { display:block; width:0; height:100%; border-radius:inherit; background:#efba45; transition:width .35s ease; }
@media(prefers-reduced-motion:reduce) {
  .about-timeline-carousel .about-timeline { scroll-behavior:auto; }
  .about-timeline-carousel .about-timeline article,.about-timeline-progress span { transition:none; }
}
.about-history-chapters { padding:98px 0; background:#f4f7f9; }
.about-history-chapter { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); align-items:start; min-height:480px; margin-bottom:68px; overflow:hidden; border-radius:8px; background:#fff; box-shadow:0 18px 48px rgba(3,37,65,.08); }
.about-history-chapter:last-child { margin-bottom:0; }
.about-history-chapter figure { position:static; order:2; align-self:start; margin:0; min-height:0; overflow:hidden; border-radius:0 8px 8px 0; background:#dfe8ed; }
.about-history-media { display:grid; height:auto; gap:2px; }
.about-history-media.is-gallery-1 { grid-template-columns:1fr; }
.about-history-media.is-gallery-2 { grid-template-columns:1fr; }
.about-history-media.is-gallery-4 { grid-template-columns:1fr; }
.about-history-chapter img { display:block; width:100%; height:auto; min-width:0; min-height:0; object-fit:contain; }
.about-history-chapter > div { display:flex; flex-direction:column; justify-content:flex-start; padding:clamp(2.2rem,4vw,4rem); }
.about-history-chapter > div > span { color:#dca62e; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.about-history-chapter h2 { margin:.65rem 0 1.4rem; color:#062d50; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.9rem,2.6vw,2.8rem); font-weight:500; line-height:1.08; }
.about-history-chapter p { margin:0 0 1.1rem; color:#526b7d; font-size:.98rem; line-height:1.72; }
.about-history-chapter p:last-child { margin-bottom:0; }
.about-history-chapter.is-text-only { grid-template-columns:1fr; min-height:0; }
.about-history-chapter.is-text-only > div { width:min(100%,1180px); margin-inline:auto; }
.about-port-plan { padding:88px 0; background:#fff; }
.about-port-plan-grid { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.about-port-plan-grid > div > p:not(.about-section-kicker) { max-width:520px; margin:1.2rem 0 1.8rem; color:#587083; line-height:1.75; }
.about-port-plan a,.about-media-contact a,.about-final-cta a { display:inline-flex; gap:.6rem; align-items:center; color:#063e6a; font-size:.76rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.about-port-plan a { border-radius:6px; padding:1rem 1.2rem; background:#e2aa32; }
.about-port-plan a svg,.about-media-contact a svg,.about-final-cta a svg { width:1rem; }
.about-port-plan figure { position:relative; margin:0; overflow:hidden; border-radius:8px; box-shadow:0 20px 46px rgba(3,37,65,.16); }
.about-port-plan figure::after { position:absolute; inset:0; content:""; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); }
.about-port-plan figure img { display:block; width:100%; aspect-ratio:1.75; object-fit:cover; }
.about-port-plan figcaption { position:absolute; right:1rem; bottom:1rem; display:flex; gap:.5rem; align-items:center; max-width:400px; border-radius:6px; padding:.7rem .9rem; background:rgba(3,39,69,.92); color:#fff; font-size:.7rem; }
.about-port-plan figcaption svg { width:1rem; flex:0 0 auto; color:#efb43b; }
.about-port-plan-page { padding-bottom:92px; }
.about-plan-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:52px; overflow:hidden; border:1px solid #dbe4e9; border-radius:12px; background:#f5f8fa; }
.about-plan-features article { display:flex; gap:1rem; min-height:142px; padding:1.5rem; border-right:1px solid #dbe4e9; }
.about-plan-features article:last-child { border-right:0; }
.about-plan-features > article > svg { width:2rem; height:2rem; flex:0 0 auto; color:#0872ba; stroke-width:1.5; }
.about-plan-features h3 { margin:0 0 .45rem; color:#082f50; font-size:1rem; }
.about-plan-features p { margin:0; color:#617788; font-size:.8rem; line-height:1.6; }
.about-press { padding:76px 0 88px; background:linear-gradient(180deg,#f4f7f9 0,#edf3f6 100%); }
.about-press .about-section-heading { margin-bottom:30px; }
.about-press-notice { display:flex; gap:.9rem; align-items:flex-start; margin-bottom:20px; border-left:4px solid #dca62e; padding:1rem 1.15rem; background:#fff; color:#415e74; }
.about-press-notice svg { width:1.35rem; flex:0 0 auto; color:#0b72b6; }
.about-press-notice p { margin:0; font-size:.84rem; line-height:1.6; }
.about-press-assets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.about-press-assets article { display:grid; grid-template-columns:220px 1fr; align-items:center; overflow:hidden; border:1px solid #d8e2e8; border-radius:12px; background:#fff; box-shadow:0 16px 40px rgba(3,37,65,.06); transition:transform .2s ease,box-shadow .2s ease; }
.about-press-assets article:hover { transform:translateY(-3px); box-shadow:0 22px 48px rgba(3,37,65,.11); }
.about-logo-preview { display:grid; height:210px; place-items:center; padding:1.2rem; border-right:1px solid #e1e8ed; }
.about-logo-preview.is-transparent { background-color:#eef3f6; background-image:linear-gradient(45deg,#dce6eb 25%,transparent 25%),linear-gradient(-45deg,#dce6eb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce6eb 75%),linear-gradient(-45deg,transparent 75%,#dce6eb 75%); background-position:0 0,0 10px,10px -10px,-10px 0; background-size:20px 20px; }
.about-logo-preview img { max-width:150px; max-height:150px; object-fit:contain; }
.about-press-assets article > div:last-child { padding:1.5rem; }
.about-press-assets article > div:last-child > span { color:#d49c22; font-size:.68rem; font-weight:900; }
.about-press-assets h3 { margin:.35rem 0 1.1rem; color:#082f50; font-size:1.05rem; }
.about-press-assets a { display:inline-flex; gap:.5rem; align-items:center; color:#0a6fad; font-size:.74rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.about-press-assets a svg { width:1rem; }
.about-multimedia-assets { margin-top:20px; }
.about-multimedia-assets .about-logo-preview { display:grid; min-height:180px; place-items:center; background:#062944; }
.about-multimedia-assets .about-logo-preview svg { width:52px; height:52px; color:#efb23b; }
.about-multimedia-assets p { margin:.4rem 0 1rem; color:#557086; font-size:.82rem; line-height:1.55; }
.storage-card-image { margin:-1px -1px 1rem; overflow:hidden; border-radius:12px 12px 0 0; }
.storage-card-image img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.machinery-equipment-gallery { display:grid; height:100%; }
.machinery-equipment-gallery.has-secondary { grid-template-columns:1fr 1fr; gap:2px; }
.machinery-equipment-gallery img { width:100%; height:100%; object-fit:cover; }
.userhub-reserved-parking { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); margin:0 0 24px; overflow:hidden; border:1px solid #d8e2e8; border-radius:12px; background:#fff; box-shadow:0 16px 40px rgba(3,37,65,.06); }
.userhub-reserved-parking figure { margin:0; }
.userhub-reserved-parking img { display:block; width:100%; height:100%; min-height:240px; object-fit:cover; }
.userhub-reserved-parking > div { align-self:center; padding:2rem; }
.userhub-reserved-parking span { color:#d49c22; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.userhub-reserved-parking h3 { margin:.4rem 0 .75rem; color:#082f50; font-size:1.45rem; }
.userhub-reserved-parking p { margin:0; color:#557086; line-height:1.65; }

/* Presentation pages: parking and multimedia */
.parking-page,.multimedia-page{background:#f7fafc;color:#082f50}
.storage-card-image.has-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.storage-card-image.has-gallery img{height:190px}.storage-card-image.has-gallery img:first-child:last-child{grid-column:1/-1}
.parking-hero,.multimedia-hero{padding:clamp(34px,5vw,76px) 0;background:#fff}
.parking-hero-grid,.multimedia-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:clamp(32px,6vw,92px);align-items:center}
.parking-breadcrumb,.multimedia-breadcrumb{display:flex;align-items:center;gap:.45rem;margin-bottom:1.4rem;color:#6a8193;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.parking-breadcrumb a,.multimedia-breadcrumb a{color:inherit;text-decoration:none}.parking-breadcrumb svg,.multimedia-breadcrumb svg{width:13px;height:13px}
.parking-hero h1,.multimedia-hero h1{margin:.35rem 0 1rem;font-family:var(--font-display,Georgia,serif);font-size:clamp(2.7rem,6vw,5.4rem);font-weight:500;line-height:.98}
.parking-hero p:last-child,.multimedia-hero p:last-child{max-width:680px;margin:0;color:#536f84;font-size:1.02rem;line-height:1.75}
.parking-hero figure,.multimedia-hero figure{margin:0;overflow:hidden;border-radius:18px;box-shadow:0 24px 60px rgba(3,37,65,.16)}
.parking-hero figure img,.multimedia-hero figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.parking-overview,.multimedia-content{padding:clamp(48px,7vw,92px) 0}
.parking-section-heading{display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,1fr);gap:clamp(28px,6vw,86px);align-items:end;margin-bottom:34px}
.parking-section-heading h2{margin:0;font-family:var(--font-display,Georgia,serif);font-size:clamp(2rem,3.6vw,3.4rem);font-weight:500;line-height:1.08}
.parking-section-heading p{margin:0;color:#577287;line-height:1.75}
.parking-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.parking-card{overflow:hidden;border:1px solid #d7e2e9;border-radius:15px;background:#fff;box-shadow:0 14px 38px rgba(3,37,65,.055)}
.parking-card-media{display:grid;grid-template-columns:1fr;margin:0}.parking-card-media.has-secondary{grid-template-columns:1fr 1fr}
.parking-card-media img{display:block;width:100%;height:220px;object-fit:cover}.parking-card-placeholder{display:grid;height:220px;place-items:center;background:linear-gradient(135deg,#eaf4fa,#dceaf2);color:#0874b9}.parking-card-placeholder svg{width:52px;height:52px}
.parking-card-copy{padding:1.45rem 1.5rem 1.65rem}.parking-card-copy>span{display:flex;align-items:center;gap:.4rem;color:#c98d11;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.parking-card-copy>span svg{width:15px;height:15px}.parking-card-copy h3{margin:.55rem 0 .65rem;font-family:var(--font-display,Georgia,serif);font-size:1.65rem;font-weight:500}.parking-card-copy p{margin:0;color:#5a7386;line-height:1.65}
.parking-note{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:28px;padding:1.25rem 1.4rem;border:1px solid #d7e2e9;border-radius:12px;background:#fff}.parking-note p{display:flex;gap:.7rem;align-items:flex-start;max-width:800px;margin:0;color:#5a7386;font-size:.82rem;line-height:1.6}.parking-note p svg{flex:0 0 auto;width:17px;color:#c98d11}.parking-note a,.multimedia-grid article>a{display:inline-flex;align-items:center;gap:.45rem;color:#0874b9;font-weight:800;text-decoration:none}.parking-note a svg,.multimedia-grid article>a svg{width:16px}
.multimedia-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:start}.multimedia-grid>article{padding:clamp(24px,3vw,42px);border:1px solid #d7e2e9;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(3,37,65,.06)}.multimedia-card-heading{display:flex;gap:1rem;align-items:center}.multimedia-card-heading>span{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:12px;background:#e6f2f9;color:#0874b9}.multimedia-card-heading svg{width:24px}.multimedia-card-heading small{color:#c98d11;font-weight:900;letter-spacing:.09em}.multimedia-card-heading h2{margin:.2rem 0 0;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.65rem,2.5vw,2.5rem);font-weight:500}.multimedia-grid article>p{color:#587286;line-height:1.75}.multimedia-video{position:relative;margin:1.4rem 0 1rem;padding-top:56.25%;overflow:hidden;border-radius:12px;background:#062944}.multimedia-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.multimedia-book{background:linear-gradient(160deg,#fff 0%,#f1f7fa 100%)!important}.multimedia-book blockquote{margin:2rem 0;padding:1.25rem 0 1.25rem 1.25rem;border-left:3px solid #e0a027;color:#214b68;font-family:var(--font-display,Georgia,serif);font-size:1.3rem;line-height:1.5}.multimedia-book>a+small{display:block;margin-top:1.2rem;color:#708596}
@media(max-width:900px){.parking-hero-grid,.multimedia-hero-grid,.parking-section-heading,.multimedia-grid{grid-template-columns:1fr}.parking-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.parking-card-grid{grid-template-columns:1fr}.parking-note{align-items:flex-start;flex-direction:column}.parking-card-media img,.parking-card-placeholder{height:190px}}
.about-media-contact { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; margin:20px 0 0; border-top:1px solid #d8e2e8; padding-top:1.2rem; color:#5d7384; font-size:.82rem; }
.about-final-cta { padding:0 0 80px; background:#f1f5f7; }
.about-final-cta .about-page-shell { display:grid; grid-template-columns:auto 1fr auto; gap:1.3rem; align-items:center; border-radius:12px; padding:2rem 2.2rem; background:linear-gradient(135deg,#073e69,#052b4c); color:#fff; }
.about-final-cta .about-page-shell > span { display:grid; width:58px; height:58px; place-items:center; border:1px solid rgba(255,255,255,.26); border-radius:50%; color:#e2aa32; }
.about-final-cta h2 { color:#fff; font-size:clamp(1.7rem,2.5vw,2.45rem); }
.about-final-cta p { margin:.45rem 0 0; color:rgba(255,255,255,.7); font-size:.86rem; }
.about-final-cta a { border-radius:6px; padding:.95rem 1.15rem; background:#e2aa32; color:#062d50; }
.about-operational-map { padding:82px 0 92px; background:#edf3f6; }
.about-operational-map-head { display:flex; justify-content:space-between; gap:3rem; align-items:end; margin-bottom:24px; }
.about-operational-map-head h2 { margin:0; color:#062d50; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.5vw,3.25rem); font-weight:500; line-height:1.06; }
.about-operational-map-head > p { max-width:510px; margin:0; color:#5c7385; font-size:.86rem; line-height:1.65; }
.about-operational-map-card { overflow:hidden; border:1px solid #d2dee6; border-radius:14px; background:#fff; box-shadow:0 22px 58px rgba(3,37,65,.1); }
.about-operational-map-card .home-final-map-modes { margin:0; padding:18px 20px 14px; overflow-x:auto; border-bottom:1px solid #dbe4e9; background:#fff; }
.about-operational-map-root { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.45fr); min-height:650px; }
.about-operational-map-canvas { grid-column:1; min-height:650px; border-radius:0; }
.about-map-selection,.about-map-selection[hidden] { position:relative; z-index:2; inset:auto; display:flex; grid-column:2; grid-row:1; width:auto; min-height:650px; max-height:650px; overflow:auto; border:0; border-left:1px solid rgba(255,255,255,.15); border-radius:0; background:#073656; color:#fff; box-shadow:none; }
.about-map-selection .home-map-selection-head { position:sticky; top:0; background:#0a4168; }
.about-map-selection .home-map-selection-head span { color:#fff; }
.about-map-selection .map-info-card > span,.about-map-selection .geometry-confidence,.about-map-selection .map-geometry-note { color:#b9d3e6; }
.about-map-selection .map-info-card > strong { color:#fff; font-size:1.45rem; }
.about-map-selection .map-info-card p { color:#fff; }
.about-map-selection .map-info-card a { color:#7ed0ff; }
.about-map-selection .map-source-link { padding-top:.9rem; border-top:1px solid rgba(255,255,255,.16); }
.about-map-selection .map-coordinate-list { border-color:rgba(255,255,255,.16); }
.about-map-selection .map-coordinate-list li { background:rgba(255,255,255,.07); }
.about-map-selection .map-coordinate-list code { color:#fff; }
.about-map-source { display:flex; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border:1px solid #d2dee6; border-top:0; border-radius:0 0 12px 12px; background:#fff; color:#607687; font-size:.7rem; }
.about-map-source > span:last-child { display:flex; gap:.45rem; align-items:center; }
.about-map-source i { display:inline-block; width:11px; height:11px; border:2px solid #fff; background:#168ac6; box-shadow:0 0 0 1px #168ac6; }
.about-map-source i.is-start { border-radius:50%; }
.about-map-source i.is-end { transform:rotate(45deg); }

/* Plan luke: jedan prirodan tok stranice na desktopu, donji panel na manjim ekranima. */
@media(min-width:901px){
  .about-operational-map-card { scroll-margin-top:108px; }
  .about-operational-map-root {
    --about-map-height:clamp(500px,52dvh,560px);
    grid-template-columns:minmax(0,1fr) minmax(330px,25%);
    min-height:var(--about-map-height);
    align-items:stretch;
  }
  .about-operational-map-canvas { min-height:var(--about-map-height); }
  .about-map-selection,
  .about-map-selection[hidden] {
    min-height:var(--about-map-height);
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
  }
  .about-map-selection .home-map-selection-head { position:static; flex:0 0 auto; }
  .about-map-selection [data-port-map-detail-content] { flex:1 0 auto; }
}

@media(max-width:900px){
  .about-operational-map { padding-block:50px; }
  .about-operational-map-head { display:grid; gap:.75rem; }
  .about-operational-map-root { display:block; min-height:0; }
  .about-operational-map-canvas { min-height:clamp(420px,68vh,560px); }
  .about-map-selection,
  .about-map-selection[hidden] {
    position:fixed;
    z-index:1110;
    inset:auto 10px 10px;
    display:none;
    width:auto;
    min-height:0;
    max-height:min(72dvh,590px);
    overflow:auto;
    overscroll-behavior:contain;
    border:0;
    border-radius:16px;
    box-shadow:0 -18px 55px rgba(1,25,48,.32);
  }
  .about-operational-map-root.has-map-selection .about-map-selection { display:flex; }
  .about-operational-map-root.has-map-selection::before { position:fixed; z-index:1100; inset:0; content:""; background:rgba(1,24,45,.46); }
  .about-map-selection.is-empty { display:none; }
  .about-map-selection .home-map-selection-head { position:sticky; top:0; }
}

@media(max-width:1050px){
  .page-inner .site-nav { position:absolute; inset:100% 0 auto auto; display:none; width:min(350px,calc(100vw - 40px)); flex-direction:column; align-items:stretch; padding:.75rem; background:#fff; box-shadow:0 20px 55px rgba(6,29,53,.2); }
  .page-inner .site-nav.is-open { display:flex; }
  .page-inner .site-nav a,.page-inner .site-header:not(.is-scrolled) .site-nav a { color:var(--ld-navy); padding:.8rem; }
  .page-inner .nav-toggle { display:block; margin-left:auto; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.1); }
  .page-inner .nav-toggle span { background:#fff; }
  .page-inner .site-header.is-scrolled .nav-toggle { border-color:var(--ld-line); background:#fff; }
  .page-inner .site-header.is-scrolled .nav-toggle span { background:var(--ld-navy); }
  .about-fact-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-fact-highlights article:nth-child(2) { border-right:0; }
  .about-fact-highlights article:nth-child(-n+2) { border-bottom:1px solid #dfe7ec; }
  .about-corporate-grid,
  .about-governance-grid { grid-template-columns:1fr; }
  .about-corporate-data { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-corporate-data > div:nth-child(4n) { border-right:1px solid #e1e8ed; }
  .about-corporate-data > div:nth-child(2n) { border-right:0; }
  .about-governance-columns,.about-history-intro-grid,.about-port-plan-grid { grid-template-columns:1fr; }
  .about-press-assets article { grid-template-columns:170px 1fr; }
  .about-overview-layout { grid-template-columns:1fr; }
  .about-overview-feature { min-height:430px; }
  .about-overview-feature img { min-height:430px; }
  .about-overview-links { grid-template-columns:repeat(3,1fr); grid-template-rows:none; }
  .about-overview-links > a { align-items:flex-start; border-right:1px solid #e0e8ed; border-bottom:0; }
  .about-overview-links > a:last-child { border-right:0; }
  .about-overview-links > a > span { grid-template-columns:1fr; }
  .about-overview-links > a > span > svg,.about-overview-links small,.about-overview-links strong { grid-column:1; }
  .about-overview-links > a > span > svg { grid-row:auto; margin-bottom:.55rem; }
}

/* Kapaciteti Luke Dubrovnik — urednički pregled službeno objavljenih kapaciteta. */
.capacity-hero {
  padding:clamp(138px,13vw,178px) 0 clamp(50px,6vw,76px);
  color:#fff;
  background:
    linear-gradient(90deg,rgba(2,35,63,.97) 0%,rgba(2,35,63,.88) 52%,rgba(2,35,63,.58) 100%),
    url('../img/approved-originals/luka-iz-zraka.jpg') center 54%/cover no-repeat;
}
.capacity-hero .phase2-shell { max-width:1460px; }
.capacity-hero .port-plan-breadcrumb { margin-bottom:1.25rem; color:rgba(255,255,255,.76); }
.capacity-hero .port-plan-breadcrumb a { color:inherit; }
.capacity-hero .eyebrow { margin:0 0 .65rem; color:#e4ad2d; font-size:.76rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.capacity-hero h1 { max-width:800px; margin:0; color:#fff; font:500 clamp(3rem,5.3vw,5.2rem)/.98 Georgia,serif; letter-spacing:-.045em; }
.capacity-hero > div > p:last-child { max-width:700px; margin:1.25rem 0 0; color:rgba(255,255,255,.86); font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.6; }
.capacity-local-nav { position:sticky; top:0; z-index:90; border-bottom:1px solid #d7e2e9; background:rgba(255,255,255,.96); box-shadow:0 12px 35px rgba(4,37,64,.08); backdrop-filter:blur(12px); }
.site-header.is-scrolled + main .capacity-local-nav { top:94px; }
.capacity-local-nav .phase2-shell { display:flex; max-width:1460px; gap:0; }
.capacity-local-nav a { display:flex; flex:1; align-items:center; justify-content:center; gap:.65rem; min-height:70px; border-right:1px solid #dfe8ed; color:#082e50; font-size:.78rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.capacity-local-nav a:first-child { border-left:1px solid #dfe8ed; }
.capacity-local-nav a:hover { color:#0874c9; background:#f5f9fc; }
.capacity-local-nav svg { width:1.25rem; height:1.25rem; color:#d89e1b; }
.capacity-overview { display:grid; grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr); max-width:1460px; gap:clamp(2rem,5vw,5.8rem); align-items:center; padding-block:clamp(70px,8vw,116px); }
.capacity-overview h2,.capacity-berths h2,.capacity-feature h2 { margin:.25rem 0 1rem; color:#062f52; font:500 clamp(2.25rem,4vw,4.2rem)/1.04 Georgia,serif; letter-spacing:-.035em; }
.capacity-overview-copy > p:not(.about-section-kicker),.capacity-feature p,.capacity-berths header > p { color:#4d6a80; font-size:1.03rem; line-height:1.75; }
.capacity-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; margin:2rem 0; }
.capacity-summary div { padding:1.15rem; border:1px solid #dbe6ed; border-radius:12px; background:#f7fafc; }
.capacity-summary dt { color:#658096; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.capacity-summary dd { margin:.38rem 0 0; color:#07375e; font-size:1.08rem; font-weight:900; }
.capacity-primary-link,.capacity-feature a { display:inline-flex; align-items:center; gap:.6rem; min-height:52px; padding:0 1.2rem; border-radius:6px; color:#fff; background:#073e6b; font-size:.76rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.capacity-primary-link:hover,.capacity-feature a:hover { background:#0a69ac; }
.capacity-primary-link svg,.capacity-feature a svg { width:1rem; }
.capacity-overview-image { position:relative; margin:0; overflow:hidden; border-radius:18px; box-shadow:0 28px 70px rgba(4,37,64,.2); }
.capacity-overview-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.capacity-overview-image figcaption { position:absolute; inset:auto 1rem 1rem auto; padding:.55rem .8rem; border-radius:6px; color:#fff; background:rgba(2,35,63,.86); font-size:.72rem; }
.capacity-berths { padding:clamp(64px,7vw,100px) 0; color:#fff; background:#06385f; }
.capacity-berths .phase2-shell { max-width:1460px; }
.capacity-berths header { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.7fr); gap:2rem; align-items:end; margin-bottom:2rem; }
.capacity-berths h2 { color:#fff; }
.capacity-berths header > p { color:rgba(255,255,255,.7); }
.capacity-berth-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.capacity-berth-grid > a { position:relative; display:block; min-height:190px; padding:1.4rem; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:14px; color:#fff; background:rgba(255,255,255,.055); transition:transform .18s ease,background .18s ease; }
.capacity-berth-grid > a:hover { transform:translateY(-4px); background:rgba(255,255,255,.1); }
.capacity-berth-grid > a > span { color:#e1aa2a; font-size:.66rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.capacity-berth-grid > a > strong { display:block; margin:.4rem 0 1.2rem; font:500 2rem/1.1 Georgia,serif; }
.capacity-berth-grid dl { display:flex; gap:2rem; margin:0; }
.capacity-berth-grid dl div { display:grid; gap:.2rem; }
.capacity-berth-grid dt { color:rgba(255,255,255,.6); font-size:.62rem; text-transform:uppercase; }
.capacity-berth-grid dd { margin:0; font-weight:800; }
.capacity-berth-grid > a > svg { position:absolute; right:1.25rem; top:1.25rem; width:1rem; color:#e1aa2a; }
.official-berth-register-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.official-berth-group { overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.06); box-shadow:0 18px 45px rgba(0,20,37,.13); }
.official-berth-group__summary { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; gap:.8rem 1.5rem!important; align-items:center!important; margin:0!important; padding:1.35rem 1.4rem!important; border-bottom:1px solid rgba(255,255,255,.16); background:rgba(2,35,61,.38); }
.official-berth-group__summary > div > span { color:#e1aa2a; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.official-berth-group__summary h3 { margin:.32rem 0 0; color:#fff; font:500 clamp(1.55rem,2.1vw,2rem)/1.08 Georgia,serif; }
.official-berth-group__summary dl { display:flex; gap:1.25rem; margin:0; }
.official-berth-group__summary dl div { display:grid; gap:.16rem; min-width:76px; }
.official-berth-group__summary dt,.official-berth-section__metrics dt { color:rgba(255,255,255,.6); font-size:.62rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.official-berth-group__summary dd,.official-berth-section__metrics dd { margin:0; color:#fff; font-weight:850; }
.official-berth-group__summary > a { grid-column:1/-1; display:inline-flex; align-items:center; justify-content:flex-start; gap:.45rem; width:max-content; color:#f2bd3c; font-size:.74rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.official-berth-group__summary > a svg { width:17px; height:17px; }
.official-berth-section-list { display:grid; }
.official-berth-section { padding:1.15rem 1.4rem 1.3rem; border-top:1px solid rgba(255,255,255,.11); }
.official-berth-section:first-child { border-top:0; }
.official-berth-section__head { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.official-berth-section__head h4 { margin:0; color:#fff; font-size:1.03rem; line-height:1.28; }
.official-berth-section__head span { flex:0 0 auto; color:#e1aa2a; font-size:.66rem; font-weight:850; text-transform:uppercase; }
.official-berth-section__metrics { display:flex; flex-wrap:wrap; gap:.75rem 1.4rem; margin:.8rem 0 0; }
.official-berth-section__metrics div { display:grid; gap:.15rem; }
.official-berth-section > p { margin:.75rem 0 0; color:rgba(255,255,255,.75); font-size:.9rem; line-height:1.55; }
.official-berth-register-note { display:flex; gap:.7rem; align-items:flex-start; margin:1.2rem 0 0; padding:1rem 1.15rem; border:1px solid rgba(255,255,255,.14); border-radius:12px; color:rgba(255,255,255,.74); background:rgba(0,25,45,.22); font-size:.88rem; line-height:1.5; }
.official-berth-register-note svg { flex:0 0 auto; width:18px; color:#e1aa2a; }
.map-berth-sections { margin-top:1rem; padding-top:.15rem; border-top:1px solid rgba(255,255,255,.18); }
.map-berth-sections > h4 { margin:.85rem 0 .4rem; color:#fff; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.map-berth-section { padding:.82rem 0; border-top:1px solid rgba(255,255,255,.13); }
.map-berth-section header { display:flex; justify-content:space-between; gap:.7rem; align-items:baseline; }
.map-berth-section header strong { color:#fff; font-size:.92rem; line-height:1.25; }
.map-berth-section header span { flex:0 0 auto; color:#e7b43a; font-size:.62rem; font-weight:800; }
.map-berth-section dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem .8rem; margin:.65rem 0 0; }
.map-berth-section dl div { min-width:0; }
.map-berth-section dt { color:rgba(255,255,255,.58); font-size:.57rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.map-berth-section dd { margin:.12rem 0 0; color:#fff; font-size:.78rem; font-weight:750; }
.map-berth-section p { margin:.62rem 0 0; color:rgba(255,255,255,.73); font-size:.76rem; line-height:1.45; }
.capacity-anchorage { padding:0 0 clamp(70px,7vw,105px); background:linear-gradient(180deg,#06385f 0 38px,#eef4f7 38px 100%); }
.capacity-anchorage .phase2-shell { max-width:1460px; }
.capacity-anchorage-card { overflow:hidden; border:1px solid #d1dee6; border-top:4px solid #e0aa2d; border-radius:16px; background:#fff; box-shadow:0 24px 65px rgba(4,38,65,.13); }
.capacity-anchorage-card > header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; margin:0; padding:2rem 2.2rem 1.7rem; }
.capacity-anchorage-card h2 { margin:.2rem 0 .55rem; color:#062f51; font:500 clamp(2rem,3.5vw,3.2rem)/1.05 Georgia,serif; letter-spacing:-.025em; }
.capacity-anchorage-card header p:last-child { max-width:740px; margin:0; color:#587185; line-height:1.65; }
.capacity-anchorage-card header > a { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.55rem; padding:.8rem 1rem; border-radius:6px; color:#fff; background:#073e69; font-size:.7rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.capacity-anchorage-card header > a:hover { background:#0a69ac; }
.capacity-anchorage-card header > a svg { width:1rem; }
.capacity-anchorage-table-wrap { overflow-x:auto; border-block:1px solid #dbe5eb; }
.capacity-anchorage-card table { width:100%; border-collapse:collapse; color:#123b59; }
.capacity-anchorage-card thead { background:#eef4f7; }
.capacity-anchorage-card th,.capacity-anchorage-card td { padding:1rem 2.2rem; border-bottom:1px solid #e0e8ed; text-align:left; }
.capacity-anchorage-card thead th { color:#587185; font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.capacity-anchorage-card tbody th { width:24%; color:#0871b8; font-size:.8rem; }
.capacity-anchorage-card tbody td { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.86rem; font-weight:700; }
.capacity-anchorage-card tbody tr:last-child th,.capacity-anchorage-card tbody tr:last-child td { border-bottom:0; }
.capacity-anchorage-card tbody tr:hover { background:#f8fbfc; }
.capacity-anchorage-card > footer { display:flex; gap:.8rem; align-items:flex-start; padding:1.15rem 2.2rem; color:#5b7385; background:#f8fafb; font-size:.72rem; line-height:1.55; }
.capacity-anchorage-card > footer svg { flex:0 0 auto; width:1.1rem; color:#d39a1b; }
.capacity-anchorage-card > footer p { margin:0; }
.capacity-feature { display:grid; grid-template-columns:minmax(420px,1fr) minmax(0,1fr); max-width:1460px; gap:clamp(2.5rem,6vw,6rem); align-items:center; padding-block:clamp(72px,8vw,120px); scroll-margin-top:160px; }
.capacity-feature.is-reversed figure { order:2; }
.capacity-feature figure { margin:0; overflow:hidden; border-radius:18px; box-shadow:0 24px 60px rgba(4,37,64,.15); }
.capacity-feature figure img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.capacity-feature ul { display:grid; gap:.75rem; margin:1.4rem 0 2rem; padding:0; list-style:none; }
.capacity-feature li { position:relative; padding-left:1.4rem; color:#294d69; line-height:1.55; }
.capacity-feature li::before { position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:50%; background:#dda62a; content:''; }
.capacity-equipment-list { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; margin:1.5rem 0 2rem; }
.capacity-equipment-list span { display:flex; align-items:baseline; gap:.55rem; padding:.85rem 1rem; border:1px solid #dce7ed; border-radius:9px; color:#36566e; background:#f7fafc; }
.capacity-equipment-list strong { color:#086eae; font-size:1.3rem; }
.capacity-note { display:grid; grid-template-columns:auto 1fr auto; max-width:1460px; gap:1rem; align-items:center; margin-bottom:clamp(70px,8vw,110px); padding:1.5rem 1.7rem; border-radius:12px; color:#fff; background:#07385e; }
.capacity-note > svg { color:#e1aa2a; }
.capacity-note p { margin:.25rem 0 0; color:rgba(255,255,255,.72); line-height:1.55; }
.capacity-note > a { display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1rem; border-radius:5px; color:#082e50; background:#e1aa2a; font-size:.72rem; font-weight:900; text-transform:uppercase; }

@media(max-width:1050px){
  .site-header.is-scrolled + main .capacity-local-nav { top:82px; }
  .capacity-overview,.capacity-feature { grid-template-columns:1fr; }
  .capacity-overview-image { order:-1; }
  .capacity-feature.is-reversed figure { order:0; }
  .capacity-berth-grid { grid-template-columns:repeat(2,1fr); }
  .official-berth-register-grid { grid-template-columns:1fr; }
}
@media(max-width:700px){
  .capacity-hero { padding-top:118px; }
  .capacity-local-nav { position:static; }
  .capacity-local-nav .phase2-shell { overflow-x:auto; }
  .capacity-local-nav a { flex:0 0 auto; min-height:58px; padding:0 1rem; white-space:nowrap; }
  .capacity-overview { grid-template-columns:minmax(0,1fr); padding-block:54px; }
  .capacity-overview-image img { aspect-ratio:4/3; }
  .capacity-summary { grid-template-columns:1fr; }
  .capacity-berths header { grid-template-columns:1fr; }
  .capacity-berth-grid { grid-template-columns:1fr; }
  .official-berth-group__summary { grid-template-columns:1fr!important; }
  .official-berth-group__summary dl { flex-wrap:wrap; }
  .official-berth-section__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .capacity-anchorage-card > header { grid-template-columns:1fr; gap:1.2rem; padding:1.5rem; }
  .capacity-anchorage-card header > a { width:100%; }
  .capacity-anchorage-card th,.capacity-anchorage-card td { min-width:180px; padding:.85rem 1.2rem; }
  .capacity-anchorage-card > footer { padding:1rem 1.2rem; }
  .capacity-feature { grid-template-columns:minmax(0,1fr); padding-block:58px; }
  .capacity-feature figure { border-radius:12px; }
  .capacity-equipment-list { grid-template-columns:1fr; }
  .capacity-note { grid-template-columns:auto 1fr; }
  .capacity-note > a { grid-column:1/-1; justify-content:center; }
}
@media(max-width:760px){
  .page-inner .header-main { width:100%; min-height:82px; gap:.7rem; padding-inline:14px; }
  .page-inner .brand { min-width:0; gap:.6rem; }
  .page-inner .brand-mark { width:3.15rem; height:3.15rem; flex:0 0 auto; }
  .page-inner .brand-copy strong { font-size:.82rem; }
  .page-inner .brand-copy small { display:none; }
  .page-inner .nav-toggle { order:2; flex:0 0 auto; }
  .page-inner .header-tools { order:3; flex:0 0 auto; gap:.3rem; font-size:.68rem; }
  .page-inner .header-search-toggle { display:none; }
  .about-page-shell,
  .subpage-hero-inner,
  .about-local-nav > div { width:min(100% - 28px,1458px); }
  .subpage-hero { min-height:218px; }
  .subpage-hero-inner { padding:30px 0 26px; }
  .subpage-breadcrumb { margin-bottom:.75rem; }
  .subpage-hero h1 { font-size:2.45rem; }
  .subpage-hero .subpage-lead { font-size:.9rem; line-height:1.45; }
  .about-local-nav > div { justify-content:flex-start; }
  .about-local-nav a { min-width:auto; padding:.85rem .9rem; }
  .about-local-nav a:first-child { padding-left:0; }
  .about-local-nav a:first-child::after { left:0; }
  .about-intro-grid { grid-template-columns:1fr; gap:1.6rem; padding-block:44px; }
  .about-intro-grid h2,
  .about-section-heading h2 { font-size:2.15rem; }
  .about-intro-copy p { font-size:.94rem; }
  .about-section-heading { display:grid; gap:.75rem; align-items:start; }
  .about-facts-section,
  .about-governance-section { padding:46px 0 52px; }
  .about-fact-highlights { grid-template-columns:1fr; }
  .about-fact-highlights article,
  .about-fact-highlights article:nth-child(2) { min-height:88px; border-right:0; border-bottom:1px solid #dfe7ec; }
  .about-fact-highlights article:last-child { border-bottom:0; }
  .about-data-card dl > div { grid-template-columns:1fr; gap:.2rem; }
  .about-people-list,
  .about-people-list.is-compact { grid-template-columns:1fr; }
  .about-people-list article,
  .about-people-list article:nth-child(2n) { min-height:82px; border-right:0; }
  .about-contact-cta { padding-bottom:46px; }
  .about-contact-cta .about-page-shell,
  .about-contact-cta .about-page-shell > div { align-items:flex-start; flex-direction:column; }
  .about-contact-cta .about-page-shell { padding:1.5rem; }
  .about-contact-cta a { width:100%; justify-content:center; }
  .about-page-hero { min-height:280px; }
  .about-page-hero.is-detail { min-height:250px; }
  .about-page-hero .subpage-hero-inner { padding-block:110px 28px; }
  .about-page-hero.is-detail .subpage-hero-inner { padding-block:104px 26px; }
  .about-today { padding:50px 0; }
  .about-today-grid { grid-template-columns:1fr; gap:1.6rem; }
  .about-overview { padding-block:50px; }
  .about-overview-layout { gap:14px; }
  .about-overview-feature,.about-overview-feature img { min-height:360px; }
  .about-overview-feature > span { padding:1.4rem; }
  .about-overview-links { grid-template-columns:1fr; }
  .about-overview-links > a { align-items:center; min-height:108px; padding:1.2rem; border-right:0; border-bottom:1px solid #e0e8ed; }
  .about-overview-links > a > span { grid-template-columns:42px 1fr; }
  .about-overview-links > a > span > svg { grid-column:1; grid-row:1/3; margin:0; }
  .about-overview-links small,.about-overview-links strong { grid-column:2; }
  .about-overview-links strong { font-size:1.3rem; }
  .about-editorial-heading h2,.about-corporate h2,.about-governance h2,.about-history-intro h2,.about-port-plan h2,.about-press h2 { font-size:2.25rem; }
  .about-corporate,.about-governance,.about-history-intro,.about-port-plan,.about-press { padding-block:50px; }
  .about-corporate-data { grid-template-columns:1fr; }
  .about-corporate-data > div,.about-corporate-data > div:nth-child(2n),.about-corporate-data > div:nth-child(4n) { min-height:auto; border-right:0; }
  .about-corporate-data > div.is-wide { grid-column:auto; }
  .about-bank-accounts > div { grid-template-columns:1fr; }
  .about-bank-accounts > div p { border-right:0; border-bottom:1px solid #e1e8ed; }
  .about-governance-columns { gap:16px; }
  .about-person-list,.about-person-list.is-board { grid-template-columns:1fr; }
  .about-person-list article,.about-person-list article:nth-child(2n) { min-height:auto; border-right:0; }
  .about-history-intro figure img { aspect-ratio:1.35; }
  .about-timeline-section { padding-block:46px; }
  .about-timeline article { min-width:215px; flex-basis:215px; }
  .about-history-chapters { padding-block:52px; }
  .about-history-chapter,.about-history-chapter.is-reversed { grid-template-columns:1fr; min-height:0; margin-bottom:28px; overflow:hidden; }
  .about-history-chapter figure,.about-history-chapter.is-reversed figure { position:static; order:0; border-radius:8px 8px 0 0; }
  .about-history-media.is-gallery-1 { grid-template-columns:1fr; }
  .about-history-media.is-gallery-2 { grid-template-columns:1fr; }
  .about-history-media.is-gallery-4 { grid-template-columns:1fr; }
  .about-history-chapter img { height:auto; min-height:0; aspect-ratio:auto; object-fit:contain; }
  .about-history-chapter > div { padding:1.6rem; }
  .about-history-chapter h2 { font-size:2rem; }
  .about-port-plan figure img { aspect-ratio:1.25; }
  .about-port-plan figcaption { position:static; border-radius:0; }
  .about-plan-features { grid-template-columns:1fr; margin-top:28px; }
  .about-plan-features article { min-height:auto; border-right:0; border-bottom:1px solid #dbe4e9; }
  .about-plan-features article:last-child { border-bottom:0; }
  .about-operational-map { padding-block:50px; }
  .about-operational-map-head { display:grid; gap:.75rem; }
  .about-operational-map-root { display:block; min-height:0; }
  .about-operational-map-canvas { min-height:510px; }
  .about-map-selection,.about-map-selection[hidden] { position:fixed; z-index:1110; top:auto; right:10px; bottom:10px; left:10px; display:none; width:auto; min-height:0; max-height:min(68vh,570px); border:0; border-radius:16px; }
  .about-operational-map-root.has-map-selection .about-map-selection { display:flex; }
  .about-operational-map-root.has-map-selection::before { position:fixed; z-index:1100; inset:0; content:""; background:rgba(1,24,45,.46); }
  .about-map-selection.is-empty { display:none; }
  .about-map-source { align-items:flex-start; flex-direction:column; }
  .about-press-assets { grid-template-columns:1fr; }
  .about-press-assets article { grid-template-columns:128px 1fr; }
  .about-logo-preview { height:160px; }
  .about-logo-preview img { max-width:100px; max-height:100px; }
  .about-media-contact { align-items:flex-start; flex-direction:column; }
  .about-final-cta { padding-bottom:50px; }
  .about-final-cta .about-page-shell { grid-template-columns:1fr; padding:1.5rem; }
  .about-final-cta a { justify-content:center; width:100%; }
}

/* Povezanost — ista urednička formula kao O nama, s interaktivnim kartama. */
.connection-page-hero .subpage-hero-media { object-position:center 58%; }
.connection-local-nav > div { justify-content:center; }
.connection-intro { padding:76px 0; background:#fff; }
.connection-intro-grid { display:grid; grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); gap:clamp(3rem,8vw,8rem); align-items:start; }
.connection-overview { padding:74px 0 88px; background:#eef3f6; }
.connection-overview .about-section-heading { margin-bottom:28px; }
.connection-overview-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:18px; }
.connection-overview-card { position:relative; min-height:420px; overflow:hidden; border-radius:12px; background:#052f52; color:#fff; box-shadow:0 18px 48px rgba(2,34,61,.12); text-decoration:none; }
.connection-overview-card::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(1,26,48,.04) 20%,rgba(1,27,49,.92) 100%); }
.connection-overview-card img { width:100%; height:100%; min-height:420px; object-fit:cover; transition:transform .45s ease; }
.connection-overview-card:hover img { transform:scale(1.035); }
.connection-overview-card > span { position:absolute; z-index:2; inset:auto 0 0; display:grid; grid-template-columns:44px 1fr; gap:.25rem .9rem; align-items:center; padding:1.55rem; }
.connection-overview-card > span > svg { grid-row:1/4; width:2rem; height:2rem; color:#e1aa34; }
.connection-overview-card small { color:#e2aa32; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.connection-overview-card strong { font-family:Georgia,"Times New Roman",serif; font-size:1.75rem; font-weight:500; line-height:1.1; }
.connection-overview-card em { grid-column:2; margin-top:.35rem; color:rgba(255,255,255,.76); font-size:.78rem; font-style:normal; line-height:1.55; }
.connection-overview-card b { grid-column:2; display:flex; gap:.45rem; align-items:center; margin-top:.7rem; color:#fff; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; }
.connection-overview-card b svg { width:1rem; }
.connection-position-strip { display:grid; grid-template-columns:repeat(3,1fr) auto; margin-top:20px; overflow:hidden; border:1px solid #d6e0e6; border-radius:10px; background:#fff; }
.connection-position-strip article { display:flex; gap:.85rem; align-items:center; padding:1.25rem; border-right:1px solid #dbe4e9; }
.connection-position-strip article > svg { width:1.55rem; color:#0874ba; }
.connection-position-strip span { display:grid; gap:.2rem; }
.connection-position-strip small { color:#6b7f8f; font-size:.68rem; }
.connection-position-strip strong { color:#082f50; font-size:.9rem; }
.connection-position-strip > a { display:flex; gap:.5rem; align-items:center; justify-content:center; padding:1rem 1.4rem; background:#073e69; color:#fff; font-size:.72rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.connection-position-strip > a svg { width:1rem; }
.connection-detail-intro { padding:82px 0; background:#fff; }
.connection-detail-grid { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.connection-detail-grid h2 { margin:.35rem 0 1.15rem; color:#062d50; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.25rem,4vw,3.8rem); font-weight:500; line-height:1.03; }
.connection-detail-grid > div > p:not(.about-section-kicker) { max-width:610px; margin:0; color:#536d80; font-size:.94rem; line-height:1.8; }
.connection-inline-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.connection-inline-actions a { display:inline-flex; gap:.55rem; align-items:center; border:1px solid #b9c9d5; border-radius:6px; padding:.9rem 1rem; color:#073e69; font-size:.72rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.connection-inline-actions a.is-primary { border-color:#e1aa34; background:#e1aa34; color:#082f50; }
.connection-inline-actions svg { width:1rem; }
.connection-detail-grid figure { position:relative; margin:0; overflow:hidden; border-radius:10px; box-shadow:0 22px 52px rgba(2,36,63,.16); }
.connection-detail-grid figure::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(180deg,transparent 58%,rgba(2,31,55,.58)); }
.connection-detail-grid figure img { display:block; width:100%; aspect-ratio:1.58; object-fit:cover; }
.connection-detail-grid figcaption { position:absolute; z-index:2; right:1rem; bottom:1rem; display:flex; gap:.5rem; align-items:center; border-radius:5px; padding:.65rem .8rem; background:rgba(3,39,69,.9); color:#fff; font-size:.7rem; }
.connection-detail-grid figcaption svg { width:1rem; color:#e5ad33; }
.connection-route-section { padding:82px 0 92px; background:linear-gradient(135deg,#052e50,#073e68); color:#fff; }
.connection-route-section.is-light { background:#eef3f6; color:#082f50; }
.connection-route-section .about-section-heading { margin-bottom:26px; }
.connection-route-section:not(.is-light) .about-section-heading h2 { color:#fff; }
.connection-route-section:not(.is-light) .about-section-heading > p { color:#b9cddd; }
.connection-route-section:not(.is-light) .about-section-kicker { color:#e2aa32; }
.connection-route-section .about-section-heading h2 span { color:#e2aa32; }
.connection-route-layout { display:grid; grid-template-columns:minmax(0,1.36fr) minmax(330px,.64fr); overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:#fff; box-shadow:0 22px 56px rgba(1,28,51,.2); }
.is-light .connection-route-layout { border-color:#d2dee6; box-shadow:0 22px 56px rgba(1,28,51,.1); }
.connection-map-card { min-width:0; background:#fff; }
.connection-map { width:100%; min-height:520px; background:#dce7ed; }
.connection-map .leaflet-tile-pane { filter:saturate(.82) contrast(.95); }
.connection-map .leaflet-control-attribution { font-size:9px; }
.connection-map .leaflet-tooltip { border:0; border-radius:5px; padding:.4rem .55rem; background:#073e69; color:#fff; font-size:.68rem; font-weight:800; box-shadow:0 5px 14px rgba(0,0,0,.18); }
.connection-map .leaflet-tooltip::before { border-top-color:#073e69; }
.connection-map-marker { border:0; background:transparent; }
.connection-map-marker span { display:block; width:22px; height:22px; border:4px solid #fff; border-radius:50%; background:#0874ba; box-shadow:0 0 0 2px #0874ba,0 6px 16px rgba(2,35,61,.32); }
.connection-map-marker-destination span { background:#dca52e; box-shadow:0 0 0 2px #dca52e,0 6px 16px rgba(2,35,61,.32); }
.connection-map-route { animation:connection-route-dash 18s linear infinite; }
@keyframes connection-route-dash { to { stroke-dashoffset:-240; } }
.connection-map-legend { display:flex; flex-wrap:wrap; gap:1rem 1.4rem; align-items:center; min-height:52px; padding:.8rem 1rem; border-top:1px solid #d9e3e8; color:#3c5a70; font-size:.7rem; }
.connection-map-legend span { display:flex; gap:.45rem; align-items:center; font-weight:800; }
.connection-map-legend i { width:10px; height:10px; border-radius:50%; background:#0874ba; }
.connection-map-legend i.is-destination { background:#dca52e; }
.connection-map-legend small { margin-left:auto; color:#708390; }
.connection-route-panel { display:flex; flex-direction:column; min-width:0; padding:2rem; background:#073656; color:#fff; }
.connection-panel-kicker { margin:0 0 .65rem; color:#e2aa32; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.connection-route-panel h3 { margin:0 0 1rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:2.05rem; font-weight:500; line-height:1.06; }
.connection-route-panel > p:not(.connection-panel-kicker) { margin:0; color:#c7d7e3; font-size:.83rem; line-height:1.7; }
.connection-route-panel dl { display:grid; grid-template-columns:repeat(2,1fr); margin:1.5rem 0; border-top:1px solid rgba(255,255,255,.15); }
.connection-route-panel dl div { display:grid; gap:.2rem; padding:.9rem .4rem .9rem 0; border-bottom:1px solid rgba(255,255,255,.15); }
.connection-route-panel dt { color:#91afc4; font-size:.62rem; text-transform:uppercase; }
.connection-route-panel dd { margin:0; color:#fff; font-size:.86rem; font-weight:800; }
.connection-route-panel > a { display:flex; gap:.55rem; align-items:center; justify-content:space-between; margin-top:auto; border-radius:6px; padding:1rem 1.1rem; background:#e2aa32; color:#062d50; font-size:.72rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.connection-route-panel > a svg { width:1rem; }
.connection-route-panel > small { margin-top:.8rem; color:#a9c0d0; font-size:.64rem; line-height:1.5; }
.connection-route-panel address { margin:0 0 1.25rem; color:#fff; font-size:.9rem; font-style:normal; line-height:1.7; }
.connection-option-list { display:grid; margin:1.15rem 0 1.5rem; border-top:1px solid rgba(255,255,255,.16); }
.connection-option-list article { display:flex; gap:.8rem; align-items:center; padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.16); }
.connection-option-list article > svg { width:1.45rem; flex:0 0 auto; color:#e2aa32; }
.connection-option-list span { display:grid; gap:.15rem; }
.connection-option-list strong { color:#fff; font-size:.8rem; }
.connection-option-list small { color:#b6cbd9; font-size:.67rem; line-height:1.45; }
.connection-option-list .connection-option-link {
  display:inline-flex;
  gap:.35rem;
  align-items:center;
  width:max-content;
  margin-top:.25rem;
  color:#f0bf4c;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
  text-transform:uppercase;
}
.connection-option-list .connection-option-link:hover,
.connection-option-list .connection-option-link:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.connection-option-list .connection-option-link svg { width:.78rem; height:.78rem; }
.connection-route-panel .connection-provider-note {
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin:-.2rem 0 1.25rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  padding:.8rem .9rem;
  background:rgba(255,255,255,.06);
  color:#d7e5ed;
  font-size:.66rem;
  line-height:1.5;
}
.connection-route-panel .connection-provider-note svg { width:1rem; height:1rem; flex:0 0 auto; margin-top:.1rem; color:#e2aa32; }

/* Arrival detail: compact maritime hero, calendar context and selected port location */
.arrival-ship-hero {
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:260px;
  align-items:flex-end;
  overflow:hidden;
  padding:138px 0 38px;
  background:
    radial-gradient(90% 100% at 82% 115%,rgba(14,121,169,.28) 0,rgba(14,121,169,0) 68%),
    linear-gradient(115deg,#062a49 0%,#073858 52%,#05253f 100%);
}
.arrival-ship-hero::before,
.arrival-ship-hero::after {
  position:absolute;
  z-index:-1;
  right:-8%;
  bottom:-96px;
  width:72%;
  height:210px;
  border:1px solid rgba(145,205,228,.16);
  border-radius:50%;
  content:"";
  transform:rotate(-3deg);
}
.arrival-ship-hero::after {
  right:8%;
  bottom:-125px;
  width:82%;
  border-color:rgba(255,255,255,.1);
  transform:rotate(2deg);
}
.arrival-ship-hero .phase2-shell { position:relative; }
.arrival-ship-hero h1 {
  overflow:hidden;
  margin:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.65rem,4.6vw,4.4rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.arrival-detail-context {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:-28px 0 28px;
  border:1px solid #d4e0e7;
  border-radius:13px;
  padding:9px;
  background:#fff;
  box-shadow:0 14px 36px rgba(6,43,71,.1);
}
.arrival-detail-context a {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  gap:10px;
  border-radius:8px;
  padding:0 16px;
  color:#17435f;
  font-size:.72rem;
  font-weight:850;
  text-decoration:none;
}
.arrival-detail-context a.is-primary { padding-right:24px; background:#073b63; color:#fff; }
.arrival-detail-context a > svg { width:18px; }
.arrival-detail-context a span { display:flex; flex-direction:column; }
.arrival-detail-context a small { color:#a8c4d6; font-size:.58rem; letter-spacing:.05em; text-transform:uppercase; }
.arrival-detail-context a strong { margin-top:1px; font-size:.76rem; }
.arrival-detail-overview {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.74fr);
  gap:24px;
  align-items:start;
}
.arrival-detail-overview .arrival-ship-visual { grid-column:2; grid-row:1; min-width:0; margin:0; }
.arrival-detail-overview .arrival-official-photo {
  overflow:hidden;
  border:1px solid #d5e1e8;
  border-radius:15px;
  background:#062947;
  box-shadow:0 18px 42px rgba(5,42,69,.1);
}
.arrival-detail-overview .arrival-official-photo img,
.arrival-detail-overview .ship-placeholder {
  width:100%;
  height:clamp(290px,25vw,390px);
  max-height:none;
  border-radius:0;
  object-fit:cover;
}
.arrival-detail-overview .arrival-official-photo figcaption { font-size:.66rem; line-height:1.45; }
.arrival-detail-overview .arrival-ship-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.arrival-detail-overview .arrival-ship-gallery img { aspect-ratio:16/10; }
.arrival-detail-overview > dl {
  display:grid;
  grid-column:1;
  grid-row:1;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0;
}
.arrival-detail-overview > dl > div {
  display:flex;
  min-width:0;
  min-height:94px;
  flex-direction:column;
  justify-content:center;
  border:1px solid #e0e8ed;
  border-radius:11px;
  padding:17px 18px;
  background:#f3f7f9;
}
.arrival-detail-overview > dl dt { color:#587084; font-size:.65rem; font-weight:800; letter-spacing:.055em; }
.arrival-detail-overview > dl dd { overflow-wrap:anywhere; color:#072d4c; font-size:.88rem; line-height:1.35; }
.arrival-detail-overview > dl .arrival-location-fact { background:#e7f3f8 !important; }
.arrival-location-fact { border:1px solid #b9d6e5; background:#e6f2f7 !important; }
.arrival-location-fact dd a { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#056f9f; text-decoration:none; }
.arrival-location-fact dd svg { width:18px; }
.arrival-location-section {
  margin:48px 0 30px;
  border:1px solid #cbdbe4;
  border-radius:17px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 58px rgba(5,43,72,.11);
  scroll-margin-top:100px;
}
.arrival-location-section > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:24px 27px;
}
.arrival-location-section > header .eyebrow { margin:0 0 5px; color:#ba800c; font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.arrival-location-section > header h2 { margin:0; color:#082f50; font-family:Georgia,"Times New Roman",serif; font-size:1.7rem; font-weight:500; }
.arrival-location-section > header p:last-child { margin:6px 0 0; color:#5c7486; font-size:.76rem; }
.arrival-location-section > header > a { display:inline-flex; min-height:46px; align-items:center; gap:9px; border-radius:7px; padding:0 17px; background:#073e68; color:#fff; font-size:.68rem; font-weight:900; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.arrival-location-section > header > a svg { width:16px; }
.arrival-location-map-root { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,.72fr); min-height:430px; border-top:1px solid #d8e3e9; background:#073b63; }
.arrival-location-map-canvas,
.arrival-location-map-canvas > p,
.arrival-location-map-canvas .port-map-placeholder { min-height:430px; border-radius:0; }
.arrival-location-sidebar { position:relative; min-width:0; background:#073b63; color:#fff; }
.arrival-location-ship-summary { display:flex; align-items:center; gap:15px; padding:24px; }
.arrival-location-ship-summary > svg { width:33px; height:33px; color:#e1aa32; }
.arrival-location-ship-summary div { display:flex; flex-direction:column; }
.arrival-location-ship-summary small { color:#a9c2d2; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.arrival-location-ship-summary strong { margin-top:4px; font-size:1.08rem; }
.arrival-location-ship-summary span { margin-top:3px; color:#d1e0e9; font-size:.76rem; }
.arrival-location-sidebar .home-map-selection,
.arrival-location-sidebar .home-map-selection[hidden] { position:absolute; z-index:2; inset:0; display:flex; width:auto; max-height:none; border:0; border-left:1px solid rgba(255,255,255,.16); border-radius:0; box-shadow:none; }
.arrival-location-sidebar .home-map-selection-head button { display:none; }
.arrival-location-sidebar .map-info-card--facts-only .map-official-facts { display:grid; grid-template-columns:1fr; gap:0; margin:0; }
.arrival-detail .arrival-location-sidebar .map-info-card--facts-only .map-official-facts > div { display:grid; grid-template-columns:minmax(92px,.75fr) minmax(0,1fr); gap:1rem; align-items:center; padding:.9rem 0; border-radius:0; background:transparent; }
.arrival-location-sidebar .map-info-card--facts-only .map-official-facts > div:first-child { border-top:0; padding-top:.15rem; }
.arrival-location-sidebar .map-info-card--facts-only .map-official-facts dt { color:#a9c8da; }
.arrival-detail .arrival-location-sidebar .map-info-card--facts-only .map-official-facts dd { margin:0; color:#fff; font-size:1rem; }
.arrival-location-note { display:flex; gap:8px; align-items:flex-start; margin:0; padding:13px 20px; background:#e8f0f4; color:#536f81; font-size:.65rem; line-height:1.5; }
.arrival-location-note svg { width:15px; flex:0 0 auto; color:#0878aa; }

@media(max-width:850px){
  .arrival-detail-context { align-items:stretch; flex-direction:column; margin-top:-18px; }
  .arrival-detail-context a { justify-content:flex-start; }
  .arrival-location-section > header { align-items:flex-start; flex-direction:column; }
  .arrival-location-map-root { grid-template-columns:1fr; }
  .arrival-location-map-canvas,
  .arrival-location-map-canvas > p,
  .arrival-location-map-canvas .port-map-placeholder { min-height:340px; }
  .arrival-location-sidebar { min-height:250px; }
  .arrival-location-sidebar .home-map-selection,
  .arrival-location-sidebar .home-map-selection[hidden] { position:relative; min-height:250px; }
}
@media(max-width:1100px){
  .arrival-detail-overview { grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); }
  .arrival-detail-overview > dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:960px){
  .arrival-detail-overview { grid-template-columns:1fr; }
  .arrival-detail-overview .arrival-ship-visual,
  .arrival-detail-overview > dl { grid-column:auto; grid-row:auto; }
  .arrival-detail-overview .arrival-official-photo img,
  .arrival-detail-overview .ship-placeholder { height:auto; min-height:300px; max-height:500px; }
  .arrival-detail-overview > dl { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:680px){
  .arrival-ship-hero { min-height:220px; padding:125px 0 30px; }
  .arrival-ship-hero h1 {
    display:-webkit-box;
    overflow:hidden;
    font-size:clamp(2.15rem,11vw,3.2rem);
    line-height:1.02;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .arrival-detail-overview > dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .arrival-detail-overview > dl > div { min-height:86px; padding:15px; }
  .arrival-detail-overview .arrival-ship-gallery { grid-template-columns:1fr; }
}
@media(max-width:420px){
  .arrival-detail-overview > dl { grid-template-columns:1fr; }
}

/* Kapacitet: manipulativne obale i puni interaktivni plan */
.port-plan-hero {
  padding:clamp(150px,17vw,220px) 0 72px;
  background:linear-gradient(110deg,rgba(3,35,61,.97),rgba(3,48,80,.9)),url('../img/approved-originals/manipulativne-obale-luke-dubrovnik.jpg') center 52%/cover;
  color:#fff;
}
.port-plan-hero .eyebrow { margin:.8rem 0 .55rem; color:#e2aa32; font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.port-plan-hero h1 { max-width:850px; margin:0; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3rem,6vw,5.5rem); font-weight:500; line-height:.98; }
.port-plan-hero > .phase2-shell > p:last-child { max-width:760px; margin:1rem 0 0; color:#d5e4ed; font-size:1rem; line-height:1.6; }
.port-plan-breadcrumb { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; color:#c5d8e5; font-size:.68rem; }
.port-plan-breadcrumb a { color:inherit; text-decoration:none; }
.port-plan-breadcrumb svg { width:.8rem; }
.port-plan-section { padding:66px 0 88px; }
.port-plan-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:3rem; align-items:end; margin-bottom:24px; }
.port-plan-heading h2 { margin:.2rem 0 0; color:#062f51; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.1rem,3.5vw,3.6rem); font-weight:500; line-height:1.05; }
.port-plan-heading > p { margin:0; color:#5d7485; font-size:.85rem; line-height:1.65; }
.port-plan-card { overflow:hidden; border:1px solid #cedce5; border-radius:17px; background:#fff; box-shadow:0 22px 60px rgba(4,41,69,.12); }
.port-plan-tabs { display:flex; flex-wrap:wrap; gap:9px; padding:18px 20px; border-bottom:1px solid #d9e4ea; background:#fff; }
.port-plan-tabs button { min-height:43px; border:1px solid #d1dde5; border-radius:7px; padding:0 16px; background:#f5f8fa; color:#183f5d; font:800 .72rem Georgia,"Times New Roman",serif; cursor:pointer; }
.port-plan-tabs button:hover,.port-plan-tabs button:focus-visible,.port-plan-tabs button.is-active { border-color:#dda932; background:#fff; color:#062f51; box-shadow:inset 0 -3px #dda932; }
.port-plan-layout { display:grid; grid-template-columns:minmax(0,2.25fr) minmax(330px,.75fr); min-height:600px; }
.port-plan-layout .port-map-canvas,.port-plan-layout .port-map-placeholder { min-height:600px; border-radius:0; }
.port-plan-sidebar { position:relative; min-width:0; border-left:1px solid #d7e2e8; background:#f7fafb; }
.port-plan-sidebar .home-map-selection { position:relative; z-index:4; inset:auto; display:flex; width:100%; min-height:600px; max-height:none; border:0; border-radius:0; background:#063a61; color:#fff; box-shadow:none; backdrop-filter:none; }
.port-plan-sidebar .home-map-selection[hidden] { display:none; }
.port-plan-sidebar .home-map-selection.is-empty { display:none; }
.port-plan-card.has-map-selection .port-plan-location-list { display:none; }
.port-plan-sidebar .home-map-selection-head { position:static; min-height:64px; border-bottom:1px solid rgba(255,255,255,.18); background:#052f50; color:#fff; }
.port-plan-sidebar .home-map-selection-head span { color:#fff; }
.port-plan-sidebar .home-map-selection-head button { display:inline-flex; width:auto; height:auto; align-items:center; border:0; border-radius:0; color:#7ed0ff; font-size:.68rem; font-weight:900; text-transform:uppercase; }
.port-plan-sidebar .home-map-selection .map-info-card { color:#fff; }
.port-plan-sidebar .home-map-selection .map-info-card > span { color:#b9d8eb; }
.port-plan-sidebar .home-map-selection .map-official-facts > div { border-color:rgba(255,255,255,.2); }
.port-plan-sidebar .home-map-selection .map-official-facts dt { color:#b9d8eb; }
.port-plan-sidebar .home-map-selection .map-official-facts dd { color:#fff; }
.port-plan-sidebar .home-map-selection .map-location-description { margin-top:1.15rem; padding:1rem; border:1px solid rgba(126,208,255,.34); border-radius:8px; background:rgba(2,31,55,.42); }
.port-plan-sidebar .home-map-selection .map-location-description h4 { margin:0 0 .55rem !important; color:#fff; }
.port-plan-sidebar .home-map-selection .map-location-description p { color:#fff; }
.port-plan-sidebar .home-map-selection .map-coordinate-list { border-color:#d9e4ea; }
.port-plan-sidebar .home-map-selection .map-coordinate-list li { background:#eef4f7; }
.port-plan-sidebar .home-map-selection .map-coordinate-list li span { color:#627b8d; }
.port-plan-sidebar .home-map-selection .map-coordinate-list code { color:#082f51; }
.port-plan-location-list { height:600px; overflow:auto; padding:23px; }
.port-plan-location-list > h2 { margin:0 0 12px; color:#062f51; font-family:Georgia,"Times New Roman",serif; font-size:1.4rem; font-weight:500; }
.port-plan-location-list > p { margin:-4px 0 18px; color:#647c8d; font-size:.72rem; line-height:1.5; }
.port-map-list-group { margin:20px 0 2px; color:#b37a0b; font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.port-map-list-group:first-child { margin-top:0; }
.port-plan-location-list .port-map-item { padding:13px 0; }
.port-plan-source { margin:0; padding:12px 20px; border-top:1px solid #d9e4ea; background:#edf3f6; color:#567184; font-size:.65rem; }
@media(min-width:981px){
  .port-plan-layout,.port-plan-layout .port-map-canvas,.port-plan-layout .port-map-placeholder,.port-plan-sidebar,.port-plan-sidebar .home-map-selection { height:520px; min-height:520px; }
  .port-plan-sidebar { overflow:hidden; }
  .port-plan-sidebar .home-map-selection [data-port-map-detail-content] { flex:1 1 auto; min-height:0; overflow-y:auto; }
  .port-plan-sidebar .map-official-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:.35rem 0 .7rem; }
  .port-plan-sidebar .map-official-facts > div { min-height:74px; padding:.7rem; border:1px solid rgba(255,255,255,.2); border-radius:6px; background:rgba(255,255,255,.08); }
  .port-plan-sidebar .map-official-facts dt { font-size:.62rem; }
  .port-plan-sidebar .map-official-facts dd { margin-top:.3rem; font-size:.88rem; }
}
@media(max-width:980px){
  .port-plan-heading { grid-template-columns:1fr; gap:1rem; }
  .port-plan-layout { grid-template-columns:1fr; }
  .port-plan-sidebar { min-height:330px; border-top:1px solid #d7e2e8; border-left:0; }
  .port-plan-location-list { height:auto; max-height:430px; }
  .port-plan-sidebar .home-map-selection { position:relative; min-height:330px; }
}
@media(max-width:620px){
  .port-plan-hero { padding:125px 0 54px; }
  .port-plan-section { padding:42px 0 62px; }
  .port-plan-tabs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    overflow:visible;
    padding:12px;
  }
  .port-plan-tabs button {
    width:100%;
    min-width:0;
    min-height:38px;
    padding:6px;
    line-height:1.2;
    white-space:normal;
  }
  .port-plan-layout .port-map-canvas,.port-plan-layout .port-map-placeholder { min-height:430px; }
}
.connection-arrivals-preview { padding:82px 0 90px; background:#f1f5f7; }
.connection-arrivals-preview .about-section-heading { margin-bottom:24px; }
.connection-arrival-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.connection-arrival-grid > article { overflow:hidden; border:1px solid #d6e1e7; border-radius:10px; background:#fff; box-shadow:0 14px 34px rgba(2,36,64,.07); }
.connection-arrival-grid figure { position:relative; height:220px; margin:0; overflow:hidden; background:#073656; }
.connection-arrival-grid figure > img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.connection-arrival-grid article:hover figure > img { transform:scale(1.025); }
.connection-arrival-grid figure > a { position:absolute; right:.65rem; bottom:.65rem; border-radius:5px; padding:.45rem .6rem; background:rgba(3,39,69,.9); color:#fff; font-size:.58rem; text-decoration:none; }
.connection-arrival-grid article > div { padding:1.2rem; }
.connection-arrival-grid time { color:#c58c13; font-size:.66rem; font-weight:900; }
.connection-arrival-grid h3 { margin:.35rem 0 .55rem; color:#062d50; font-size:1.1rem; }
.connection-arrival-grid p { display:flex; gap:.4rem; align-items:center; margin:0 0 1rem; color:#5d7384; font-size:.76rem; }
.connection-arrival-grid p svg { width:1rem; }
.connection-arrival-grid article > div > a { display:inline-flex; gap:.4rem; align-items:center; color:#073e69; font-size:.68rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.connection-arrival-grid article > div > a svg { width:.95rem; }
.connection-empty-arrivals { grid-column:1/-1; display:grid; min-height:220px; place-items:center; align-content:center; border:1px dashed #b7c9d4; border-radius:10px; background:#fff; color:#536d80; text-align:center; }
.connection-empty-arrivals svg { width:2rem; color:#0a74b8; }
.connection-empty-arrivals p { margin:.35rem 0 0; }
.connection-source-note { margin:1rem 0 0; color:#63798a; font-size:.68rem; }
.connection-final-cta { padding-top:80px; }
.page-infrastructure .phase2-shell { margin:0 auto; padding-top:38px; }
.page-infrastructure .arrival-view-tabs { margin-top:0; }

@media(max-width:1050px) {
  .connection-overview-grid { grid-template-columns:1fr 1fr; }
  .connection-overview-card.is-sea { grid-column:1/-1; }
  .connection-position-strip { grid-template-columns:repeat(3,1fr); }
  .connection-position-strip > a { grid-column:1/-1; }
  .connection-detail-grid,.connection-route-layout { grid-template-columns:1fr; }
  .connection-detail-grid figure { order:-1; }
  .connection-map { min-height:460px; }
  .connection-arrival-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .connection-local-nav > div { justify-content:flex-start; }
  .connection-intro,.connection-detail-intro { padding:50px 0; }
  .connection-intro-grid { grid-template-columns:1fr; gap:1.4rem; }
  .connection-overview,.connection-route-section,.connection-arrivals-preview { padding:50px 0; }
  .connection-overview-grid,.connection-arrival-grid { grid-template-columns:1fr; }
  .connection-overview-card.is-sea { grid-column:auto; }
  .connection-overview-card,.connection-overview-card img { min-height:350px; }
  .connection-position-strip { grid-template-columns:1fr; }
  .connection-position-strip article { border-right:0; border-bottom:1px solid #dbe4e9; }
  .connection-detail-grid { gap:1.5rem; }
  .connection-detail-grid figure img { aspect-ratio:1.35; }
  .connection-detail-grid h2 { font-size:2.25rem; }
  .connection-inline-actions a { justify-content:center; width:100%; }
  .connection-route-section .about-section-heading { display:grid; gap:.65rem; }
  .connection-map { min-height:380px; }
  .connection-map-legend small { width:100%; margin-left:0; }
  .connection-route-panel { padding:1.4rem; }
  .connection-route-panel h3 { font-size:1.8rem; }
  .connection-arrival-grid figure { height:240px; }
  .connection-final-cta { padding-top:50px; }
}
@media(prefers-reduced-motion:reduce) { .connection-map-route { animation:none; } .connection-overview-card img,.connection-arrival-grid figure > img { transition:none; } }

/* Konačna zajednička navigacija: isti header na naslovnici i svim podstranicama. */
:is(.page-home,.page-inner) {
  --home3-shell:min(1460px,calc(100% - 72px));
}
:is(.page-home,.page-inner) .site-header {
  position:absolute;
  inset:0 0 auto;
  z-index:5000;
  isolation:isolate;
  width:100%;
  border:0;
  background:linear-gradient(180deg,rgba(1,23,43,.82),rgba(1,23,43,.2));
  box-shadow:none;
  color:#fff;
  transition:background 180ms ease,box-shadow 180ms ease,color 180ms ease;
}
:is(.page-home,.page-inner) .site-header.is-scrolled {
  position:fixed;
  background:rgba(255,255,255,.97);
  box-shadow:0 14px 42px rgba(6,29,53,.14);
  color:var(--ld-navy);
  backdrop-filter:blur(12px);
}
:is(.page-home,.page-inner) .header-main {
  position:relative;
  width:var(--home3-shell);
  min-height:94px;
  margin-inline:auto;
  padding:0;
  gap:2rem;
}
:is(.page-home,.page-inner) .brand {
  min-width:230px;
  flex:0 0 auto;
  gap:.8rem;
  color:#fff;
}
:is(.page-home,.page-inner) .site-header.is-scrolled .brand { color:var(--ld-navy); }
:is(.page-home,.page-inner) .brand-mark {
  width:58px;
  height:58px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 24px rgba(0,0,0,.16);
}
:is(.page-home,.page-inner) .brand-copy strong {
  color:inherit;
  font-size:1rem;
  line-height:1.1;
  letter-spacing:.03em;
  text-transform:none;
}
:is(.page-home,.page-inner) .brand-copy strong br { display:none; }
:is(.page-home,.page-inner) .brand-copy small {
  display:block;
  margin-top:.2rem;
  color:inherit;
  font-size:.67rem;
  opacity:.78;
}
:is(.page-home,.page-inner) .site-nav {
  position:static;
  display:flex;
  width:auto;
  margin-left:auto;
  align-self:center;
  flex-direction:row;
  align-items:center;
  gap:clamp(.2rem,.7vw,.8rem);
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  font-size:.68rem;
}
:is(.page-home,.page-inner) .site-nav-item { position:relative; }
:is(.page-home,.page-inner) .site-nav-item > a {
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:2rem .6rem;
  color:#fff;
  font-size:.7rem;
  letter-spacing:.025em;
}
:is(.page-home,.page-inner) .site-nav-item > a svg { width:.75rem; height:.75rem; }
:is(.page-home,.page-inner) .site-header.is-scrolled .site-nav-item > a { color:var(--ld-navy); }
:is(.page-home,.page-inner) .site-nav-item > a:hover,
:is(.page-home,.page-inner) .site-nav-item > a.is-active { color:#fff; }
:is(.page-home,.page-inner) .site-header.is-scrolled .site-nav-item > a:hover,
:is(.page-home,.page-inner) .site-header.is-scrolled .site-nav-item > a.is-active { color:var(--ld-blue); }
:is(.page-home,.page-inner) .site-nav-item > a::after {
  left:.6rem;
  right:.6rem;
  bottom:1.4rem;
  height:1px;
}
:is(.page-home,.page-inner) .site-nav-item > a.is-active::after { background:currentColor; }
:is(.page-home,.page-inner) .header-tools {
  display:flex;
  margin-left:0;
  gap:.35rem;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
}
:is(.page-home,.page-inner) .site-header.is-scrolled .header-tools { color:var(--ld-navy); }
:is(.page-home,.page-inner) .site-header.is-scrolled .header-search-toggle {
  border-color:#afc0cc;
  color:var(--final-navy,var(--ld-navy));
}

@media(max-width:1249px){
  :is(.page-home,.page-inner) { --home3-shell:min(1180px,calc(100% - 44px)); }
  :is(.page-home,.page-inner) .header-main { min-height:82px; }
  :is(.page-home,.page-inner) .site-nav-item > a { padding-inline:.38rem; font-size:.62rem; }
}
@media(max-width:1050px){
  :is(.page-home,.page-inner) .site-nav {
    position:absolute;
    inset:100% 0 auto auto;
    display:none;
    width:min(350px,calc(100vw - 40px));
    flex-direction:column;
    align-items:stretch;
    gap:0;
    border:1px solid var(--line);
    border-radius:8px;
    padding:12px;
    background:#fff;
    box-shadow:0 20px 55px rgba(6,29,53,.2);
  }
  :is(.page-home,.page-inner) .site-nav.is-open { display:flex; }
  :is(.page-home,.page-inner) .site-nav-item > a,
  :is(.page-home,.page-inner) .site-header:not(.is-scrolled) .site-nav-item > a {
    display:flex;
    width:100%;
    padding:.72rem;
    color:#092d4d;
  }
  :is(.page-home,.page-inner) .nav-toggle {
    display:block;
    margin-left:auto;
    border-color:rgba(255,255,255,.45);
    background:rgba(255,255,255,.1);
  }
  :is(.page-home,.page-inner) .nav-toggle span { background:#fff; }
  :is(.page-home,.page-inner) .site-header.is-scrolled .nav-toggle { border-color:var(--ld-line); background:#fff; }
  :is(.page-home,.page-inner) .site-header.is-scrolled .nav-toggle span { background:var(--ld-navy); }
}
@media(max-width:850px){
  :is(.page-home,.page-inner) { --home3-shell:calc(100% - 28px); }
  :is(.page-home,.page-inner) .header-main { width:100%; min-height:82px; padding-inline:14px; }
  :is(.page-home,.page-inner) .brand { min-width:0; }
  :is(.page-home,.page-inner) .brand-mark { width:48px; height:48px; }
  :is(.page-home,.page-inner) .brand-copy strong { font-size:.8rem; }
  :is(.page-home,.page-inner) .brand-copy small { display:none; }
  :is(.page-home,.page-inner) .site-nav { top:82px; }
  :is(.page-home,.page-inner) .header-tools { display:flex; }
}

/* Stabilan globalni podizbornik iznad karata i ostalih interaktivnih slojeva. */
:is(.page-home,.page-inner) .site-header,
:is(.page-home,.page-inner) .header-main,
:is(.page-home,.page-inner) .site-nav,
:is(.page-home,.page-inner) .site-nav-item {
  overflow:visible;
}
:is(.page-home,.page-inner) .site-subnav {
  z-index:1200;
  left:50%;
  width:max-content;
  min-width:270px;
  max-width:min(320px,calc(100vw - 32px));
  overflow:hidden;
  pointer-events:none;
  transform:translate(-50%,8px);
}
:is(.page-home,.page-inner) .site-subnav a {
  width:100%;
  padding:.78rem .9rem;
  line-height:1.35;
  white-space:nowrap;
}
:is(.page-home,.page-inner) .site-nav-item:hover .site-subnav,
:is(.page-home,.page-inner) .site-nav-item:focus-within .site-subnav,
:is(.page-home,.page-inner) .site-nav-item.is-keyboard-open .site-subnav {
  pointer-events:auto;
  transform:translate(-50%,0);
}

@media(max-width:1050px){
  :is(.page-home,.page-inner) .site-subnav {
    position:static;
    display:none;
    width:calc(100% - .7rem);
    min-width:0;
    max-width:none;
    margin:.1rem 0 .35rem .7rem;
    padding:.25rem 0 .25rem .55rem;
    overflow:visible;
    border:0;
    border-left:2px solid var(--final-gold,#dca83c);
    border-radius:0;
    background:#f5f8fa;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  :is(.page-home,.page-inner) .site-subnav a {
    padding:.68rem .8rem;
    line-height:1.4;
    white-space:normal;
  }
  :is(.page-home,.page-inner) .site-nav-item.is-keyboard-open .site-subnav,
  :is(.page-home,.page-inner) .site-nav-item:focus-within .site-subnav {
    display:block;
    transform:none;
  }
}

/* Contact page — premium editorial layout */
.contact-pro-hero {
  position:relative; min-height:330px; display:grid; align-items:end; overflow:hidden;
  isolation:isolate; color:#fff; background:#062743;
}
.contact-pro-hero-media,.contact-pro-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.contact-pro-hero-media { z-index:-2; object-fit:cover; object-position:center 53%; }
.contact-pro-hero-shade {
  z-index:-1;
  background:linear-gradient(90deg,rgba(2,28,51,.96) 0%,rgba(3,43,76,.84) 46%,rgba(3,38,68,.38) 100%),linear-gradient(0deg,rgba(2,29,51,.72),transparent 62%);
}
.contact-pro-hero-inner,.contact-pro-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.contact-pro-hero-inner { padding:54px 0 46px; }
.contact-pro-breadcrumb { display:flex; align-items:center; gap:.5rem; margin-bottom:1.3rem; color:rgba(255,255,255,.74); font-size:.78rem; }
.contact-pro-breadcrumb a { color:inherit; text-decoration:none; }
.contact-pro-breadcrumb a:hover { color:#fff; }
.contact-pro-breadcrumb svg { width:.85rem; height:.85rem; }
.contact-pro-kicker { margin:0 0 .55rem; color:#dfa928; font-size:.76rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.contact-pro-hero h1 { max-width:none; margin:0 0 .7rem; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(3rem,5vw,4.7rem); font-weight:500; line-height:.96; }
.contact-pro-hero-inner>p:last-child { max-width:690px; margin:0; color:rgba(255,255,255,.88); font-size:1.02rem; line-height:1.65; }

.contact-pro-section { padding:64px 0 76px; background:radial-gradient(circle at 88% 8%,rgba(4,113,190,.08),transparent 30%),#f2f6f8; }
.contact-pro-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.7fr); align-items:end; gap:3rem; margin-bottom:28px; }
.contact-pro-heading h2,.contact-pro-cta h2 { margin:0; color:var(--blue-900); font-family:Georgia,'Times New Roman',serif; font-weight:500; }
.contact-pro-heading h2 { font-size:clamp(2.45rem,4vw,3.8rem); line-height:1; }
.contact-pro-heading>p { margin:0; color:var(--muted); line-height:1.65; }
.contact-pro-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); border:1px solid #d6e0e7; border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 22px 54px rgba(5,43,75,.11); }
.contact-pro-details { padding:clamp(28px,4vw,48px); }
.contact-pro-card-heading { display:flex; align-items:center; gap:1rem; padding-bottom:24px; border-bottom:1px solid #dce5eb; }
.contact-pro-icon,.contact-pro-cta-icon { flex:0 0 auto; display:grid; place-items:center; width:50px; height:50px; border-radius:14px; }
.contact-pro-icon { color:#066db9; background:#e8f3fa; }
.contact-pro-icon svg { width:25px; height:25px; }
.contact-pro-card-heading p { margin:0 0 .2rem; color:var(--muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.contact-pro-card-heading h3 { margin:0; color:var(--blue-900); font-size:1.55rem; }
.contact-pro-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; }
.contact-pro-method { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; min-height:96px; padding:17px 18px; border-bottom:1px solid #e0e7ec; color:var(--blue-900); text-decoration:none; transition:background .2s ease,color .2s ease; }
.contact-pro-method:nth-child(odd) { border-right:1px solid #e0e7ec; }
.contact-pro-method:hover:not(.is-static) { color:#006cbe; background:#f2f8fc; }
.contact-pro-method>svg:first-child { width:21px; height:21px; color:#0877c9; }
.contact-pro-method>svg:last-child { width:16px; height:16px; color:#7790a3; }
.contact-pro-method small,.contact-pro-address small { display:block; margin-bottom:.25rem; color:#708499; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.contact-pro-method strong { display:block; overflow-wrap:anywhere; font-size:.92rem; line-height:1.35; }
.contact-pro-method[href^="mailto:"] strong { font-size:clamp(.76rem,.78vw,.86rem); letter-spacing:-.015em; }
.contact-pro-address { display:flex; align-items:flex-start; gap:.85rem; margin:22px 0 0; padding:18px 20px; border-radius:14px; color:var(--blue-900); background:#f0f5f8; font-style:normal; }
.contact-pro-address svg { flex:0 0 auto; width:22px; height:22px; color:#d9a21c; }
.contact-pro-address strong { font-size:.95rem; line-height:1.45; }

.contact-pro-map { position:relative; min-height:470px; overflow:hidden; color:#fff; text-decoration:none; }
.contact-pro-map>img,.contact-pro-map-shade { position:absolute; inset:0; width:100%; height:100%; }
.contact-pro-map>img { object-fit:cover; transition:transform .6s ease; }
.contact-pro-map-shade { background:linear-gradient(0deg,rgba(2,30,53,.94) 0%,rgba(3,44,76,.52) 48%,rgba(3,38,66,.1) 100%); }
.contact-pro-map:hover>img { transform:scale(1.035); }
.contact-pro-map-content { position:absolute; inset:auto 0 0; display:grid; justify-items:start; padding:34px; }
.contact-pro-map-pin { display:grid; place-items:center; width:48px; height:48px; margin-bottom:16px; border:1px solid rgba(255,255,255,.62); border-radius:50%; background:rgba(5,55,94,.64); backdrop-filter:blur(7px); }
.contact-pro-map-pin svg { width:24px; height:24px; }
.contact-pro-map-content small { color:#e4b43a; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.contact-pro-map-content>strong { margin:.2rem 0; font-family:Georgia,'Times New Roman',serif; font-size:2rem; font-weight:500; }
.contact-pro-map-content>span:not(.contact-pro-map-pin):not(.contact-pro-map-action) { color:rgba(255,255,255,.84); }
.contact-pro-map-action { display:inline-flex; align-items:center; gap:.45rem; margin-top:18px; padding-bottom:3px; border-bottom:1px solid rgba(255,255,255,.72); font-size:.8rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.contact-pro-map-action svg { width:15px; height:15px; }

.contact-pro-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:24px; padding:28px 32px; border-radius:18px; color:#fff; background:linear-gradient(120deg,rgba(2,38,67,.98),rgba(4,71,119,.96)),url('../img/approved-originals/port-dubrovnik-at-night.jpg') center/cover; box-shadow:0 16px 38px rgba(4,42,72,.14); }
.contact-pro-cta-copy { display:flex; align-items:center; gap:1rem; }
.contact-pro-cta-icon { border:1px solid rgba(255,255,255,.24); color:#e6b438; background:rgba(255,255,255,.08); }
.contact-pro-cta-icon svg { width:24px; height:24px; }
.contact-pro-cta h2 { color:#fff; font-size:clamp(1.7rem,3vw,2.35rem); }
.contact-pro-cta-copy>div>p:last-child { margin:.35rem 0 0; color:rgba(255,255,255,.73); }
.contact-pro-actions { flex:0 0 auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.75rem; }
.contact-pro-actions .button { display:inline-flex; align-items:center; gap:.45rem; white-space:nowrap; }
.contact-pro-actions .button svg { width:17px; height:17px; }
.contact-pro-button-light { border:1px solid rgba(255,255,255,.65); color:#fff; background:transparent; }
.contact-pro-button-light:hover { color:var(--blue-900); background:#fff; }

@media(max-width:900px) {
  .contact-pro-heading { grid-template-columns:1fr; gap:1rem; }
  .contact-pro-grid { grid-template-columns:1fr; }
  .contact-pro-map { min-height:400px; }
  .contact-pro-cta { align-items:flex-start; flex-direction:column; }
  .contact-pro-actions { justify-content:flex-start; }
}
@media(max-width:620px) {
  .contact-pro-hero { min-height:280px; }
  .contact-pro-hero-inner,.contact-pro-shell { width:min(100% - 32px,1180px); }
  .contact-pro-hero-inner { padding:38px 0 34px; }
  .contact-pro-hero h1 { font-size:3.15rem; }
  .contact-pro-hero-inner>p:last-child { font-size:.92rem; line-height:1.55; }
  .contact-pro-section { padding:42px 0 52px; }
  .contact-pro-heading h2 { font-size:2.5rem; }
  .contact-pro-details { padding:24px 20px; }
  .contact-pro-methods { grid-template-columns:1fr; }
  .contact-pro-method:nth-child(odd) { border-right:0; }
  .contact-pro-method { min-height:82px; padding-inline:8px; }
  .contact-pro-map { min-height:360px; }
  .contact-pro-map-content { padding:26px 22px; }
  .contact-pro-map-content>strong { font-size:1.7rem; }
  .contact-pro-cta { padding:26px 22px; }
  .contact-pro-cta-copy { align-items:flex-start; }
  .contact-pro-cta-icon { width:44px; height:44px; }
  .contact-pro-actions { width:100%; }
  .contact-pro-actions .button { flex:1 1 100%; justify-content:center; }
}

/* Public content migrated from the visitor-visible old website */
.cms-page { width:min(1040px,calc(100% - 40px)); max-width:none; }
.cms-page>header { max-width:850px; margin-bottom:2.25rem; }
.cms-page>header h1 { color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.7rem,5vw,4.8rem); line-height:1; }
.cms-page .lead { color:#526b80; line-height:1.65; }
.cms-page-hero { position:relative; margin-bottom:2.25rem; overflow:hidden; border-radius:18px; }
.cms-page-hero>div { position:relative; z-index:1; max-width:850px; padding:0; }
.cms-page-hero.has-image { min-height:420px; display:flex; align-items:flex-end; padding:clamp(2rem,6vw,4.25rem); color:#fff; background:linear-gradient(90deg,rgba(3,40,69,.92),rgba(3,40,69,.35)),var(--cms-hero-image) center/cover no-repeat; }
.cms-page-hero.has-image>div { padding:0; }
.cms-page-hero.has-image h1,.cms-page-hero.has-image .eyebrow,.cms-page-hero.has-image .lead { color:#fff; }
.cms-page-content { max-width:850px; }
.cms-page-template-landing { width:min(1280px,calc(100% - 40px)); }
.cms-page-template-landing .cms-page-content { max-width:1040px; font-size:1.08rem; }
.cms-page-template-legal { width:min(820px,calc(100% - 40px)); }
.cms-page-template-legal .cms-page-content { max-width:720px; }
.cms-page-template-legal .cms-page-content h2 { margin-top:2.3rem; }
.cms-template-documents { margin-top:2.5rem; overflow:hidden; border:1px solid #d7e2e9; border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(6,43,74,.075); }
.cms-template-documents>header { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1.35rem 1.5rem; border-bottom:1px solid #dfe7ec; }
.cms-template-documents>header h2 { margin:.2rem 0 0; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; }
.cms-template-documents>header>span { color:#61778a; font-size:.82rem; font-weight:800; }
.cms-template-port-plan { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2rem; margin-top:2.5rem; padding:1.8rem; border-radius:16px; color:#fff; background:linear-gradient(110deg,#032c4c,#075b91); }
.cms-template-port-plan h2 { margin:.2rem 0 .5rem; color:#fff; font-family:Georgia,'Times New Roman',serif; }
.cms-template-port-plan p { margin:0; color:#d8e8f3; }
.cms-template-port-plan .eyebrow { color:#f5b332; }
@media(max-width:760px){.cms-page-hero.has-image{min-height:340px;padding:1.4rem}.cms-template-port-plan{grid-template-columns:1fr}.cms-template-port-plan .button{width:100%}.cms-template-documents>header{align-items:flex-start}.cms-template-documents>header>span{display:none}}
.cms-rich-text { color:#263c50; font-size:1rem; line-height:1.75; }
.cms-rich-text h2,.cms-rich-text h3,.cms-rich-text h4 { color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; line-height:1.12; }
.cms-rich-text h2 { margin:2.6rem 0 1rem; font-size:clamp(2rem,3vw,2.8rem); }
.cms-rich-text h3 { margin:2rem 0 .8rem; font-size:1.65rem; }
.cms-rich-text h4 { margin:1.5rem 0 .6rem; font-size:1.25rem; }
.cms-rich-text p,.cms-rich-text ul,.cms-rich-text ol { margin:0 0 1.15rem; }
.cms-rich-text a { color:#006dbc; font-weight:700; text-decoration-thickness:1px; text-underline-offset:3px; }
.cms-rich-text img { display:block; max-width:100%; height:auto; margin:1.4rem auto; border-radius:14px; }
.cms-rich-text figure { margin:1.5rem 0; }
.cms-rich-text figcaption { color:#64798c; font-size:.82rem; }
.cms-rich-text table { width:100%; margin:1.5rem 0; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #d9e3ea; border-radius:12px; }
.cms-rich-text th,.cms-rich-text td { padding:.85rem 1rem; border-right:1px solid #e1e8ed; border-bottom:1px solid #e1e8ed; text-align:left; vertical-align:top; }
.cms-rich-text th { color:var(--blue-950); background:#edf4f8; }
.cms-rich-text tr:last-child>* { border-bottom:0; }
.cms-rich-text tr>*:last-child { border-right:0; }

.document-center,.user-corner { width:min(1240px,calc(100% - 40px)); }
.document-toolbar { display:grid; grid-template-columns:minmax(260px,1fr) minmax(220px,.45fr) auto; align-items:end; gap:1rem; margin-bottom:2rem; padding:1.25rem; border:1px solid #d8e3ea; border-radius:16px; background:#fff; box-shadow:0 14px 40px rgba(6,43,74,.08); }
.document-toolbar label { display:grid; gap:.5rem; color:#445f76; font-size:.76rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.document-toolbar label>div { display:flex; align-items:center; gap:.7rem; padding:0 .9rem; border:1px solid #ccd9e3; border-radius:10px; background:#f8fafc; }
.document-toolbar label>div svg { width:18px; color:#0672bd; }
.document-toolbar input,.document-toolbar select { width:100%; min-height:48px; border:1px solid #ccd9e3; border-radius:10px; padding:0 .9rem; color:var(--blue-950); background:#f8fafc; font:inherit; text-transform:none; letter-spacing:normal; }
.document-toolbar label>div input { border:0; padding:0; outline:0; background:transparent; }
.document-category { margin:1.2rem 0 2rem; overflow:hidden; border:1px solid #d7e2e9; border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(6,43,74,.075); }
.document-category>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.35rem 1.5rem; border-bottom:1px solid #dfe7ec; }
.document-category>header .eyebrow { margin:0 0 .2rem; color:#b77b00; }
.document-category>header h2 { margin:0; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.5rem,2.5vw,2.1rem); }
.document-category>header>span { color:#61778a; font-size:.82rem; font-weight:800; }
.document-category>header>a { display:flex; align-items:center; gap:.4rem; color:#006dbc; font-size:.8rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.document-category>header>a svg { width:16px; }
.document-download-list { display:grid; }
.document-download-list>a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; min-height:76px; padding:1rem 1.4rem; border-bottom:1px solid #e2e9ee; color:var(--blue-950); text-decoration:none; transition:background .2s ease,transform .2s ease; }
.document-download-list>a:last-child { border-bottom:0; }
.document-download-list>a:hover { background:#f1f7fa; }
.document-download-list>a>svg:first-child { width:26px; height:26px; color:#0074c5; }
.document-download-list strong,.document-download-list small { display:block; }
.document-download-list strong { font-size:.98rem; line-height:1.35; }
.document-download-list small { margin-top:.25rem; color:#6f8293; font-size:.7rem; font-weight:800; letter-spacing:.05em; }
.document-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:2rem; align-items:center; margin-bottom:1.5rem; padding:1.6rem; border:1px solid #d8e3ea; border-radius:18px; background:linear-gradient(135deg,#fff 0%,#f4f8fb 100%); box-shadow:0 14px 38px rgba(6,43,74,.07); }
.document-intro h2 { margin:.2rem 0 .65rem; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.08; }
.document-intro p { max-width:720px; margin:0; color:#506b81; line-height:1.65; }
.document-intro-links { display:grid; gap:.75rem; }
.document-intro-links>a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.85rem; min-height:76px; padding:1rem; border:1px solid #d5e1e9; border-radius:13px; color:var(--blue-950); background:#fff; text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.document-intro-links>a:hover { transform:translateY(-2px); border-color:#8db8d4; box-shadow:0 12px 24px rgba(6,43,74,.08); }
.document-intro-links>a>svg:first-child { width:25px; color:#0873bd; }
.document-intro-links>a>svg:last-child { width:17px; }
.document-intro-links strong,.document-intro-links small { display:block; }
.document-intro-links small { margin-top:.2rem; color:#6a7f91; font-size:.75rem; }
.document-category>header>div>p:not(.eyebrow) { max-width:700px; margin:.35rem 0 0; color:#61778a; font-size:.88rem; line-height:1.5; }

/* Pravo na pristup informacijama */
.access-page { width:min(1240px,calc(100% - 40px)); }
.access-lead { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:1.5rem; align-items:stretch; margin-bottom:1.5rem; }
.access-lead-copy,.access-officer,.access-process,.access-explanation,.access-help-card,.access-related { border:1px solid #d7e2e9; border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(6,43,74,.07); }
.access-lead-copy { padding:clamp(1.5rem,3vw,2.5rem); }
.access-lead-copy h2,.access-process h2,.access-explanation h2,.access-related h2 { margin:.25rem 0 .8rem; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.08; }
.access-lead-copy>p:not(.eyebrow) { margin:.75rem 0 0; color:#405f77; font-size:1rem; line-height:1.72; }
.access-officer { position:relative; overflow:hidden; padding:1.7rem; color:#fff; background:linear-gradient(145deg,#063961 0%,#082c4a 100%); }
.access-officer::after { content:""; position:absolute; right:-70px; bottom:-90px; width:230px; height:230px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.025); }
.access-officer>* { position:relative; z-index:1; }
.access-officer-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:1.3rem; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#e4ab2d; background:rgba(255,255,255,.06); }
.access-officer-icon svg { width:23px; }
.access-officer .eyebrow { color:#e8ad2a; }
.access-officer h2 { margin:.25rem 0 1.1rem; font-family:Georgia,'Times New Roman',serif; font-size:2rem; }
.access-officer>a { display:flex; align-items:center; gap:.65rem; margin:.7rem 0; color:#fff; text-decoration:none; }
.access-officer>a svg { width:18px; color:#e4ab2d; }
.access-officer small { display:block; margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.16); color:#c7d6e1; font-size:.78rem; line-height:1.65; }
.access-process { margin-bottom:1.5rem; padding:1.6rem; }
.access-process>header { display:grid; grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr); column-gap:2rem; align-items:end; margin-bottom:1.2rem; }
.access-process>header .eyebrow { grid-column:1; }
.access-process>header h2 { grid-column:1; margin-bottom:0; }
.access-process>header>p:not(.eyebrow) { grid-column:2; grid-row:1 / span 2; margin:0; color:#5b7387; line-height:1.6; }
.access-channels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #dbe5eb; border-radius:14px; overflow:hidden; }
.access-channels article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.75rem; min-height:124px; padding:1.1rem; border-right:1px solid #dbe5eb; background:#f8fbfd; }
.access-channels article:last-child { border-right:0; }
.access-channels article>svg { width:23px; color:#0673bd; }
.access-channels strong,.access-channels span,.access-channels a { display:block; }
.access-channels strong { margin-bottom:.35rem; color:var(--blue-950); font-size:.86rem; }
.access-channels span,.access-channels a { color:#5e768a; font-size:.75rem; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.access-content-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); gap:1.5rem; margin-bottom:1.5rem; }
.access-explanation { padding:clamp(1.5rem,3vw,2.2rem); }
.access-explanation>p:not(.eyebrow) { color:#47657c; line-height:1.72; }
.access-explanation details { border-top:1px solid #dce6ec; }
.access-explanation details:last-child { border-bottom:1px solid #dce6ec; }
.access-explanation summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; color:var(--blue-950); font-weight:850; cursor:pointer; list-style:none; }
.access-explanation summary::-webkit-details-marker { display:none; }
.access-explanation summary svg { width:18px; transition:transform .2s ease; }
.access-explanation details[open] summary svg { transform:rotate(180deg); }
.access-explanation details p { margin:0 0 1.2rem; color:#557087; line-height:1.68; }
.access-help-card { padding:1.6rem; color:#fff; background:linear-gradient(145deg,#0b4b78,#073250); }
.access-help-card>svg { width:34px; height:34px; color:#e7ab28; }
.access-help-card h2 { margin:.9rem 0 1rem; font-family:Georgia,'Times New Roman',serif; font-size:1.7rem; }
.access-help-card ol { margin:0; padding:0; list-style:none; counter-reset:steps; }
.access-help-card li { position:relative; min-height:36px; padding:.7rem 0 .7rem 2.4rem; border-top:1px solid rgba(255,255,255,.13); color:#d6e2ea; line-height:1.45; counter-increment:steps; }
.access-help-card li::before { content:counter(steps); position:absolute; left:0; top:.62rem; display:grid; place-items:center; width:25px; height:25px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#efb22d; font-weight:900; }
.access-downloads { margin-top:1.5rem; }
.access-missing { padding:1.4rem; color:#5e7689; }
.access-related { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:2rem; align-items:center; margin-top:1.5rem; padding:1.6rem; background:linear-gradient(135deg,#f7fafc,#fff); }
.access-related p { max-width:700px; color:#587187; line-height:1.62; }
.access-related>div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.access-related a { display:flex; align-items:center; justify-content:space-between; gap:.65rem; min-height:58px; padding:.8rem 1rem; border:1px solid #d8e3ea; border-radius:10px; color:var(--blue-950); background:#fff; font-size:.8rem; font-weight:850; text-decoration:none; }
.access-related a:hover { border-color:#0b72b9; }
.access-related a svg { width:16px; color:#0872bb; }

@media (max-width:980px) {
  .document-intro,.access-lead,.access-content-grid,.access-related { grid-template-columns:1fr; }
  .access-process>header { grid-template-columns:1fr; }
  .access-process>header>p:not(.eyebrow) { grid-column:1; grid-row:auto; margin-top:.6rem; }
  .access-channels { grid-template-columns:1fr 1fr; }
  .access-channels article:nth-child(2) { border-right:0; }
  .access-channels article { border-bottom:1px solid #dbe5eb; }
  .access-channels article:nth-last-child(-n+2) { border-bottom:0; }
}
@media (max-width:640px) {
  .document-center,.user-corner,.access-page { width:min(100% - 24px,1240px); }
  .document-intro,.access-lead-copy,.access-officer,.access-process,.access-explanation,.access-help-card,.access-related { padding:1.15rem; border-radius:14px; }
  .document-intro-links { grid-template-columns:1fr; }
  .access-channels { grid-template-columns:1fr; }
  .access-channels article,.access-channels article:nth-child(2) { border-right:0; border-bottom:1px solid #dbe5eb; }
  .access-channels article:last-child { border-bottom:0; }
  .access-related>div:last-child { grid-template-columns:1fr; }
  .document-category>header { align-items:flex-start; }
  .document-category>header>span { display:none; }
  .document-download-list>a { grid-template-columns:auto minmax(0,1fr); }
  .document-action { grid-column:2; }
}
.document-action { display:flex; align-items:center; gap:.45rem; color:#006dbc; font-size:.75rem; font-weight:900; text-transform:uppercase; }
.document-action svg { width:16px; }
.document-empty { padding:4rem 2rem; border:1px dashed #c7d6e0; border-radius:18px; text-align:center; background:#fff; }
.document-empty>svg { width:42px; height:42px; color:#0874c2; }

.article-downloads { display:grid; grid-template-columns:minmax(220px,.35fr) minmax(0,1fr); gap:2rem; padding-top:1rem; }
.article-downloads h2 { margin:.15rem 0; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; }
.article-downloads .document-download-list { overflow:hidden; border:1px solid #d8e3ea; border-radius:16px; background:#fff; }

.user-corner-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-bottom:1.5rem; }
.user-corner-nav>a { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.9rem; padding:1.15rem; border:1px solid #d6e2e9; border-radius:14px; color:var(--blue-950); background:#fff; text-decoration:none; box-shadow:0 10px 28px rgba(6,43,74,.06); }
.user-corner-nav>a>svg { width:27px; color:#0572c2; }
.user-corner-nav strong,.user-corner-nav small { display:block; }
.user-corner-nav small { margin-top:.2rem; color:#6d8193; }
.user-content-card { padding:clamp(1.4rem,4vw,3rem); border:1px solid #d7e2e9; border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(6,43,74,.07); }
.user-content-card>header { padding-bottom:1.25rem; border-bottom:1px solid #e0e8ed; }
.user-content-card>header h2 { margin:.2rem 0; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,3.5vw,3.2rem); }
.user-documents { margin-top:1.5rem; }

@media(max-width:800px) {
  .document-toolbar { grid-template-columns:1fr; }
  .document-toolbar .button { width:100%; }
  .article-downloads { grid-template-columns:1fr; }
  .user-corner-nav { grid-template-columns:1fr; }
  .document-action { font-size:0; }
  .document-action svg { width:20px; }
  .cms-rich-text { overflow-wrap:anywhere; }
  .cms-rich-text table { display:block; overflow-x:auto; }
}

/* News archive: text-first editorial list with a useful secondary column. */
.page-news .news-index { width:min(1280px,calc(100% - 40px)); padding-block:clamp(3rem,5vw,5.5rem); }
.news-index-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,.78fr); gap:28px; align-items:start; }
.news-index-main,.news-index-sidebar>* { border:1px solid #d6e2e9; border-radius:16px; background:#fff; box-shadow:0 16px 42px rgba(5,39,69,.07); }
.news-index-main { overflow:hidden; }
.news-index-heading { display:flex; min-height:112px; align-items:center; justify-content:space-between; gap:1rem; padding:1.6rem 1.8rem; border-bottom:1px solid #dce5eb; }
.news-index-heading .eyebrow { margin:0 0 .25rem; color:#b27800; font-size:.7rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.news-index-heading h2 { margin:0; color:var(--blue-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.7rem,2.4vw,2.35rem); font-weight:500; }
.news-index-heading>a { display:inline-flex; align-items:center; gap:.45rem; color:#056bad; font-size:.72rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.news-index-heading>a svg { width:16px; }
.news-index-list { display:grid; }
.news-index-row { border-bottom:1px solid #e0e7ec; }
.news-index-row:last-child { border-bottom:0; }
.news-index-row>a { display:grid; grid-template-columns:128px minmax(0,1fr) 42px; gap:1.25rem; align-items:center; min-height:150px; padding:1.35rem 1.55rem; color:var(--blue-950); text-decoration:none; transition:background .2s ease; }
.news-index-row>a:hover { background:#f3f8fb; }
.news-index-meta { align-self:start; display:grid; gap:.45rem; padding-top:.12rem; }
.news-index-meta time { color:#516b80; font-size:.78rem; font-weight:700; }
.news-index-meta span { justify-self:start; padding:.3rem .5rem; border-radius:999px; color:#8d6200; background:#fff4d8; font-size:.62rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.news-index-copy { min-width:0; }
.news-index-copy h3 { margin:0 0 .5rem; color:#052e52; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.25rem,1.7vw,1.65rem); font-weight:500; line-height:1.18; }
.news-index-copy p { display:-webkit-box; overflow:hidden; margin:0; color:#5a7184; font-size:.88rem; line-height:1.58; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.news-index-action { display:grid; width:38px; height:38px; place-items:center; border:1px solid #cad9e3; border-radius:50%; color:#006db7; transition:transform .2s ease,background .2s ease,color .2s ease; }
.news-index-action svg { width:17px; }
.news-index-row>a:hover .news-index-action { transform:translateX(3px); color:#fff; background:#075f9f; }
.news-index-sidebar { position:sticky; top:104px; display:grid; gap:18px; }
.news-index-sidebar>* { padding:1.25rem; }
.news-index-search label,.news-index-filters>p,.news-index-quick>p { display:block; margin:0 0 .85rem; color:#092f51; font-size:.72rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.news-index-search>div { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.55rem; min-height:50px; padding:0 .5rem 0 .85rem; border:1px solid #cad9e2; border-radius:10px; background:#f6f9fb; }
.news-index-search>div>svg { width:18px; color:#1778b7; }
.news-index-search input { min-width:0; border:0; outline:0; color:#143651; background:transparent; font:inherit; }
.news-index-search button { display:grid; width:36px; height:36px; place-items:center; border:0; border-radius:8px; color:#fff; background:#075f9f; cursor:pointer; }
.news-index-search button svg { width:16px; }
.news-index-filters { display:grid; }
.news-index-filters>a { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid #e0e7ec; color:#173b58; font-size:.84rem; font-weight:750; text-decoration:none; }
.news-index-filters>a:last-child { border-bottom:0; }
.news-index-filters>a b { display:grid; min-width:30px; height:26px; place-items:center; border-radius:999px; color:#61788b; background:#edf3f6; font-size:.7rem; }
.news-index-filters>a.is-active { color:#006dbc; }
.news-index-filters>a.is-active b { color:#fff; background:#006dbc; }
.news-index-quick { display:grid; }
.news-index-quick>a { display:grid; grid-template-columns:32px minmax(0,1fr) 18px; gap:.75rem; align-items:center; min-height:76px; border-bottom:1px solid #e0e7ec; color:#0b3455; text-decoration:none; }
.news-index-quick>a:last-child { border-bottom:0; }
.news-index-quick>a>svg:first-child { width:24px; color:#0673bd; }
.news-index-quick>a>svg:last-child { width:15px; color:#6b8293; }
.news-index-quick strong,.news-index-quick small { display:block; }
.news-index-quick strong { font-size:.82rem; }
.news-index-quick small { margin-top:.2rem; color:#6b8091; font-size:.68rem; line-height:1.4; }
.news-index-empty { display:grid; min-height:380px; place-items:center; align-content:center; gap:.7rem; padding:2rem; text-align:center; }
.news-index-empty>svg { width:42px; height:42px; color:#0a71b6; }
.news-index-empty h3,.news-index-empty p { margin:0; }
.news-index-empty p { max-width:440px; color:#61788a; }
.news-index-empty .button { margin-top:.7rem; }

@media(max-width:980px) {
  .news-index-layout { grid-template-columns:1fr; }
  .news-index-sidebar { position:static; grid-template-columns:1fr 1fr; }
  .news-index-search { grid-column:1/-1; }
}
@media(max-width:680px) {
  .page-news .news-index { width:min(100% - 28px,1280px); }
  .news-index-heading { align-items:flex-start; flex-direction:column; padding:1.25rem; }
  .news-index-row>a { grid-template-columns:1fr 38px; gap:.8rem; min-height:0; padding:1.25rem; }
  .news-index-meta { grid-column:1; display:flex; align-items:center; flex-wrap:wrap; }
  .news-index-copy { grid-column:1; }
  .news-index-action { grid-column:2; grid-row:1/3; }
  .news-index-copy h3 { font-size:1.3rem; }
  .news-index-sidebar { grid-template-columns:1fr; }
  .news-index-search { grid-column:auto; }
}

/* News detail: compact editorial heading, readable article and clear attachments. */
.news-detail { color:#193a55; background:#eef4f7; }
.news-detail-hero { position:relative; min-height:104px; overflow:hidden; color:#fff; background:#062e50; }
.news-detail-hero::before { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(3,35,62,.96) 0%,rgba(3,48,81,.9) 48%,rgba(3,48,81,.68) 100%),url('../img/approved-originals/port-dubrovnik-at-night.jpg') center 48%/cover no-repeat; pointer-events:none; }
.news-detail-hero::after { position:absolute; right:-70px; bottom:-185px; width:760px; height:245px; border:1px solid rgba(255,255,255,.11); border-radius:50%; content:""; pointer-events:none; }
.news-detail-shell { position:relative; z-index:1; width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:7rem 0 1.8rem; }
.news-detail-back { display:inline-flex; align-items:center; gap:.45rem; margin-bottom:1.1rem; color:rgba(255,255,255,.86); font-size:.76rem; font-weight:850; text-decoration:none; }
.news-detail-back svg { width:17px; }
.news-detail-kicker { margin:0 0 .38rem; color:#ffc34a; font-size:.66rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.news-detail-meta { display:flex; align-items:center; gap:.8rem; margin-bottom:.85rem; }
.news-detail-meta span { padding:.34rem .62rem; border:1px solid #e0aa34; border-radius:999px; color:#9a6300; background:#fff8e8; font-size:.65rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.news-detail-meta time { color:#657c8f; font-size:.75rem; font-weight:800; }
.news-detail-hero h1 { max-width:22ch; margin:0; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.35rem,4vw,3.55rem); font-weight:500; line-height:1.05; text-wrap:balance; }
.news-detail-hero .news-detail-shell>p:last-child { max-width:680px; margin:.65rem 0 0; color:rgba(255,255,255,.8); font-size:.94rem; line-height:1.55; }
.news-detail-section { padding:2rem 0 clamp(4rem,7vw,7rem); }
.news-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:28px; align-items:start; width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.news-detail-article { overflow:hidden; border:1px solid #d5e1e8; border-radius:18px; background:#fff; box-shadow:0 18px 48px rgba(5,39,70,.075); }
.news-detail-article-header { padding:clamp(1.55rem,3vw,2.25rem) clamp(1.6rem,4vw,3.2rem) clamp(1.2rem,2.5vw,1.7rem); border-bottom:1px solid #e1e8ed; background:linear-gradient(135deg,#fff 0%,#f8fbfc 100%); }
.news-detail-article-header .news-detail-back { margin:0 0 1rem; color:#547086; }
.news-detail-article-header .news-detail-back:hover { color:#006fbd; }
.news-detail-article-header h1 { max-width:28ch; margin:0; color:#062f51; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.9rem,2.65vw,2.7rem); font-weight:500; line-height:1.1; text-wrap:balance; }
.news-detail-image { margin:0; aspect-ratio:16/7; overflow:hidden; border-bottom:1px solid #dce5eb; background:#dfe9ee; }
.news-detail-image img { width:100%; height:100%; object-fit:cover; }
.news-detail-body { min-height:300px; padding:clamp(1.6rem,4vw,3.2rem); color:#405d73; font-size:1.02rem; line-height:1.78; }
.news-detail-body>p:first-child { color:#294c66; font-size:1.12rem; line-height:1.75; }
.news-detail-body>p:last-child { margin-bottom:0; }
.news-detail-body a { color:#006dbc; text-decoration-thickness:1px; text-underline-offset:3px; }
.news-detail-body figure:empty { display:none; }
.news-detail-gallery { padding:0 clamp(1.6rem,4vw,3.2rem) clamp(1.8rem,4vw,3.2rem); }
.news-detail-gallery>header { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1.25rem 0 1rem; border-top:1px solid #e1e8ed; }
.news-detail-gallery>header p { margin:0 0 .18rem; color:#0873bd; font-size:.66rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.news-detail-gallery>header h2 { margin:0; color:#082f51; font-size:1.35rem; }
.news-detail-gallery>header>span { color:#657c8f; font-size:.73rem; font-weight:800; }
.news-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.news-gallery-item { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; border:1px solid #d6e2e9; border-radius:12px; color:#fff; background:#dfe9ee; text-decoration:none; }
.news-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.news-gallery-item>span { position:absolute; inset:auto 0 0; display:flex; align-items:center; gap:.45rem; padding:1.6rem .75rem .65rem; background:linear-gradient(transparent,rgba(3,35,62,.86)); }
.news-gallery-item>span svg { width:15px; flex:0 0 auto; }
.news-gallery-item>span strong { overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.news-gallery-item:hover img { transform:scale(1.035); }
.news-gallery-dialog { width:min(1120px,calc(100vw - 40px)); max-width:none; max-height:calc(100vh - 40px); padding:0; overflow:visible; border:0; border-radius:16px; color:#fff; background:#031f36; box-shadow:0 30px 90px rgba(0,0,0,.45); }
.news-gallery-dialog::backdrop { background:rgba(2,19,33,.88); backdrop-filter:blur(4px); }
.news-gallery-dialog figure { margin:0; }
.news-gallery-dialog figure img { display:block; width:100%; max-height:calc(100vh - 110px); border-radius:16px 16px 0 0; object-fit:contain; background:#021727; }
.news-gallery-dialog figcaption { min-height:54px; padding:1rem 4rem; color:#d8e8f3; font-size:.82rem; text-align:center; }
.news-gallery-close,.news-gallery-nav { position:absolute; z-index:2; display:grid; width:44px; height:44px; padding:0; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:rgba(3,35,62,.82); cursor:pointer; }
.news-gallery-close { top:14px; right:14px; }
.news-gallery-nav { top:50%; transform:translateY(-50%); }
.news-gallery-nav.is-prev { left:14px; }
.news-gallery-nav.is-next { right:14px; }
.news-gallery-close svg,.news-gallery-nav svg { width:21px; }
.news-gallery-close:hover,.news-gallery-nav:hover { background:#0873bd; }
.news-detail-sidebar { position:sticky; top:104px; display:grid; gap:18px; }
.news-detail-facts,.news-detail-documents,.news-detail-all { overflow:hidden; border:1px solid #d5e1e8; border-radius:16px; background:#fff; box-shadow:0 14px 38px rgba(5,39,70,.07); }
.news-detail-facts { padding:1.35rem; }
.news-detail-facts>p,.news-detail-documents header p { margin:0 0 .9rem; color:#6a7f90; font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.news-detail-facts dl { margin:0; }
.news-detail-facts dl>div { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; min-height:56px; border-top:1px solid #e0e7ec; }
.news-detail-facts dt { display:flex; align-items:center; gap:.5rem; color:#60778a; font-size:.76rem; }
.news-detail-facts dt svg { width:17px; color:#0873bd; }
.news-detail-facts dd { margin:0; color:#082f51; font-size:.8rem; font-weight:850; }
.news-detail-documents header { display:flex; align-items:center; gap:.8rem; padding:1.2rem 1.25rem; border-bottom:1px solid #dfe7ec; }
.news-detail-documents header>svg { width:27px; height:27px; color:#0873bd; }
.news-detail-documents header p { margin:0 0 .12rem; }
.news-detail-documents header h2 { margin:0; color:#082f51; font-size:1.15rem; }
.news-detail-documents>div { display:grid; }
.news-detail-documents a { display:grid; grid-template-columns:30px minmax(0,1fr) 20px; gap:.75rem; align-items:center; min-height:88px; padding:1rem 1.15rem; border-bottom:1px solid #e0e7ec; color:#0b3455; text-decoration:none; transition:background .2s ease; }
.news-detail-documents a:last-child { border-bottom:0; }
.news-detail-documents a:hover { background:#f1f7fa; }
.news-detail-documents a>svg:first-child { width:26px; color:#0873bd; }
.news-detail-documents a>svg:last-child { width:17px; color:#657e91; }
.news-detail-documents strong,.news-detail-documents small { display:block; overflow-wrap:anywhere; }
.news-detail-documents strong { font-size:.82rem; line-height:1.35; }
.news-detail-documents small { margin-top:.3rem; color:#6a8091; font-size:.64rem; font-weight:750; text-transform:uppercase; }
.news-detail-all { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; color:#fff; background:#073b66; text-decoration:none; }
.news-detail-all small,.news-detail-all strong { display:block; }
.news-detail-all small { margin-bottom:.2rem; color:#a9c6da; font-size:.63rem; text-transform:uppercase; }
.news-detail-all strong { font-size:.82rem; }
.news-detail-all>svg { width:19px; color:#ffc44a; transition:transform .2s ease; }
.news-detail-all:hover>svg { transform:translateX(3px); }

@media(max-width:900px) {
  .news-detail-layout { grid-template-columns:1fr; }
  .news-detail-sidebar { position:static; grid-template-columns:1fr 1fr; }
  .news-detail-all { grid-column:1/-1; }
}
@media(max-width:620px) {
  .news-detail-shell,.news-detail-layout { width:min(100% - 28px,1180px); }
  .news-detail-shell { padding-top:6.7rem; padding-bottom:1.6rem; }
  .news-detail-meta { align-items:flex-start; flex-direction:column; gap:.55rem; }
  .news-detail-hero { min-height:94px; }
  .news-detail-section { padding-top:1rem; }
  .news-detail-article-header h1 { font-size:clamp(1.8rem,8vw,2.3rem); }
  .news-detail-sidebar { grid-template-columns:1fr; }
  .news-detail-all { grid-column:auto; }
  .news-detail-body { min-height:0; padding:1.4rem; font-size:.95rem; }
  .news-detail-body>p:first-child { font-size:1rem; }
  .news-detail-image { aspect-ratio:4/3; }
  .news-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-gallery-dialog { width:calc(100vw - 20px); }
  .news-gallery-dialog figcaption { padding-inline:3.4rem; }
}
@media(max-width:520px) { .news-gallery-grid { grid-template-columns:1fr; } }

/* Manipulativne obale — kompaktna prezentacija prema odobrenom vizualu. */
.port-plan-hero {
  min-height:420px;
  display:flex;
  align-items:flex-end;
  padding:clamp(128px,12vw,168px) 0 clamp(46px,5vw,64px);
  background:
    linear-gradient(90deg,rgba(2,32,58,.96) 0%,rgba(2,39,68,.82) 44%,rgba(2,39,68,.28) 78%,rgba(2,39,68,.12) 100%),
    url('../img/approved-originals/manipulativne-obale-luke-dubrovnik.jpg') center 48%/cover no-repeat;
}
.port-plan-hero h1 { max-width:620px; font-size:clamp(3rem,5vw,4.65rem); line-height:.94; letter-spacing:-.035em; }
.port-plan-hero > .phase2-shell > p:last-child { max-width:610px; margin-top:1rem; color:#e4edf3; font-size:.92rem; line-height:1.58; }
.port-plan-section { padding:48px 0 58px; }
.port-plan-heading { grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:2rem; margin-bottom:18px; }
.port-plan-heading h2 { font-size:clamp(2rem,3.15vw,3.15rem); }
.port-plan-card { border-radius:12px; box-shadow:0 18px 48px rgba(4,41,69,.1); }
.port-plan-tabs { gap:8px; padding:14px 16px; }
.port-plan-tabs button { min-height:38px; border-radius:5px; padding-inline:14px; font-size:.69rem; }
.port-plan-layout { grid-template-columns:minmax(0,2.3fr) minmax(320px,.7fr); min-height:520px; }
.port-plan-layout .port-map-canvas,.port-plan-layout .port-map-placeholder { min-height:520px; }
.port-plan-sidebar .home-map-selection { min-height:520px; }
.port-plan-location-list { height:520px; padding:21px; }
.capacity-berths { padding:clamp(48px,5vw,68px) 0 clamp(42px,4.5vw,60px); background:linear-gradient(135deg,#06385f,#073f6b); }
.capacity-berths header { margin-bottom:1.4rem; }
.capacity-berth-grid { gap:.75rem; }
.capacity-berth-grid > a { min-height:146px; padding:1.15rem 1.25rem; border-radius:10px; }
.capacity-berth-grid > a > strong { margin:.32rem 0 .85rem; font-size:1.65rem; line-height:1.08; }
.capacity-anchorage { padding:34px 0 50px; background:#fff; }
.capacity-anchorage-card { border-radius:12px; border-top:1px solid #d1dee6; box-shadow:0 15px 40px rgba(4,38,65,.08); }
.capacity-anchorage-card > header { gap:2rem; padding:1.45rem 1.65rem 1.25rem; }
.capacity-anchorage-card h2 { margin:.15rem 0 .4rem; font-size:clamp(1.8rem,3vw,2.7rem); }
.capacity-anchorage-card th,.capacity-anchorage-card td { padding:.72rem 1.65rem; }
.capacity-anchorage-card > footer { padding:.9rem 1.65rem; font-size:.7rem; line-height:1.5; }
.capacity-plan-cta { padding:0 0 58px; background:#eef4f7; }
.capacity-plan-cta .phase2-shell { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr) auto; max-width:1460px; gap:2rem; align-items:center; padding:1.65rem 1.8rem; overflow:hidden; border-radius:12px; color:#fff; background:linear-gradient(105deg,rgba(2,39,68,.98),rgba(3,64,105,.9)),url('../img/approved-originals/manipulativne-obale-luke-dubrovnik.jpg') center 58%/cover no-repeat; box-shadow:0 18px 42px rgba(4,38,65,.14); }
.capacity-plan-cta .about-section-kicker { margin:0 0 .3rem; color:#e2aa32; }
.capacity-plan-cta h2 { margin:0; color:#fff; font:500 clamp(1.55rem,2.35vw,2.45rem)/1.08 Georgia,serif; }
.capacity-plan-cta p { margin:0; color:rgba(255,255,255,.76); font-size:.84rem; line-height:1.6; }
.capacity-plan-cta a { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.55rem; padding:.8rem 1rem; border-radius:6px; color:#072f51; background:#e2aa32; font-size:.7rem; font-weight:900; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.capacity-plan-cta a:hover { background:#f0bc45; }
.capacity-plan-cta a svg { width:1rem; }

@media(max-width:1050px) {
  .capacity-plan-cta .phase2-shell { grid-template-columns:1fr auto; }
  .capacity-plan-cta .phase2-shell > p { grid-column:1; }
  .capacity-plan-cta a { grid-column:2; grid-row:1/3; }
}
@media(max-width:700px) {
  .port-plan-hero { min-height:350px; padding:118px 0 42px; background-position:58% center; }
  .port-plan-hero h1 { font-size:2.9rem; }
  .port-plan-section { padding:38px 0 48px; }
  .port-plan-heading { grid-template-columns:1fr; gap:.75rem; }
  .capacity-plan-cta { padding-bottom:42px; }
  .capacity-plan-cta .phase2-shell { grid-template-columns:1fr; gap:1rem; width:min(100% - 28px,1458px); padding:1.4rem; }
  .capacity-plan-cta .phase2-shell > p,.capacity-plan-cta a { grid-column:auto; grid-row:auto; }
  .capacity-plan-cta a { width:100%; }
}

/* Uvecani prikaz sadrzajnih fotografija. */
img.is-lightbox-enabled {
  cursor:zoom-in;
  transition:filter .18s ease,transform .18s ease;
}
img.is-lightbox-enabled:hover { filter:brightness(.88); }
img.is-lightbox-enabled:focus-visible { outline:3px solid #e2a41c; outline-offset:4px; }
.content-lightbox {
  width:100vw;
  max-width:none;
  height:100vh;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  color:#fff;
  background:rgba(2,18,31,.96);
}
.content-lightbox::backdrop { background:rgba(2,18,31,.84); backdrop-filter:blur(7px); }
.content-lightbox[open] { display:grid; place-items:center; }
.content-lightbox-frame {
  position:relative;
  display:grid;
  width:100%;
  height:100%;
  padding:54px 84px 38px;
  place-items:center;
}
.content-lightbox figure { display:grid; max-width:100%; max-height:100%; margin:0; place-items:center; gap:12px; }
.content-lightbox figure img {
  display:block;
  width:auto;
  max-width:min(88vw,1600px);
  height:auto;
  max-height:82vh;
  object-fit:contain;
  border-radius:8px;
  background:#fff;
  box-shadow:0 28px 90px rgba(0,0,0,.5);
}
.content-lightbox figcaption { max-width:900px; color:rgba(255,255,255,.82); font-size:.9rem; text-align:center; }
.content-lightbox button {
  position:absolute;
  z-index:2;
  display:grid;
  width:48px;
  height:48px;
  padding:0;
  place-items:center;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  color:#fff;
  background:rgba(5,48,78,.72);
  cursor:pointer;
}
.content-lightbox button:hover { color:#062f50; background:#fff; }
.content-lightbox-close { top:20px; right:24px; font-size:2rem; line-height:1; }
.content-lightbox-nav { top:50%; transform:translateY(-50%); font-size:2.5rem; line-height:1; }
.content-lightbox-nav.is-previous { left:24px; }
.content-lightbox-nav.is-next { right:24px; }

@media(max-width:700px) {
  .content-lightbox-frame { padding:64px 14px 82px; }
  .content-lightbox figure img { max-width:calc(100vw - 28px); max-height:72vh; }
  .content-lightbox-close { top:12px; right:12px; }
  .content-lightbox-nav { top:auto; bottom:16px; transform:none; }
  .content-lightbox-nav.is-previous { left:calc(50% - 58px); }
  .content-lightbox-nav.is-next { right:calc(50% - 58px); }
}

/* Zahtjev korisnika 2026-08-27: siri i citljiviji pregled mehanizacije. */
.machinery-overview .phase2-shell,
.machinery-purpose .phase2-shell { width:min(1458px,calc(100% - 48px)); }
.machinery-equipment-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.machinery-purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.machinery-purpose-grid > article { min-height:180px; padding:28px; }

/* Digitalna monografija. */
.multimedia-book-reader {
  grid-column:1/-1;
  overflow:hidden;
  border:1px solid #c9d9e4;
  border-radius:18px;
  background:linear-gradient(145deg,#f8fbfd,#e9f1f6);
  box-shadow:0 24px 60px rgba(3,36,61,.13);
}
.multimedia-reader-heading {
  display:flex;
  padding:28px 30px;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #d3e0e8;
}
.multimedia-reader-heading small { color:#b77908; font-size:.72rem; font-weight:900; letter-spacing:.12em; }
.multimedia-reader-heading h2 { margin:.35rem 0 0; color:#062f50; font-size:clamp(1.65rem,2.5vw,2.4rem); }
.multimedia-reader-actions { display:flex; flex-wrap:wrap; gap:10px; }
.multimedia-reader-actions a {
  display:inline-flex;
  min-height:44px;
  padding:0 16px;
  align-items:center;
  gap:8px;
  border:1px solid #0a5c91;
  border-radius:8px;
  color:#07527f;
  font-size:.85rem;
  font-weight:800;
  text-decoration:none;
}
.multimedia-reader-actions a:first-child { color:#fff; background:#07527f; }
.multimedia-reader-actions svg { width:17px; }
.multimedia-reader-toolbar {
  display:flex;
  min-height:62px;
  padding:9px 18px;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#fff;
  background:#062f50;
}
.multimedia-reader-toolbar button {
  display:inline-flex;
  min-width:42px;
  min-height:42px;
  padding:0 12px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:7px;
  color:#fff;
  background:rgba(255,255,255,.07);
  cursor:pointer;
}
.multimedia-reader-toolbar button:hover { background:rgba(255,255,255,.16); }
.multimedia-reader-toolbar button:disabled { opacity:.38; cursor:not-allowed; }
.multimedia-reader-toolbar output { min-width:150px; text-align:center; font-size:.86rem; font-weight:800; }
.multimedia-reader-divider { width:1px; height:28px; margin:0 5px; background:rgba(255,255,255,.2); }
.multimedia-reader-toolbar svg { width:18px; }
.multimedia-book-stage {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-height:620px;
  padding:34px;
  align-items:center;
  gap:3px;
  overflow:auto;
  background:radial-gradient(circle at 50% 28%,#627889 0,#263c50 54%,#132a3d 100%);
  perspective:1800px;
  touch-action:pan-y;
}
.multimedia-book-stage:fullscreen { min-height:100vh; padding:28px; }
.multimedia-book-page {
  position:relative;
  display:flex;
  min-width:0;
  min-height:540px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 55px rgba(0,0,0,.32);
  transform-origin:right center;
  transition:transform .32s ease,opacity .32s ease;
}
.multimedia-book-page.is-left { border-radius:8px 2px 2px 8px; transform-origin:right center; }
.multimedia-book-page.is-right { border-radius:2px 8px 8px 2px; transform-origin:left center; }
.multimedia-book-page.is-blank { visibility:hidden; }
.multimedia-book-page canvas { display:block; max-width:100%; height:auto; background:#fff; }
.multimedia-book-stage.is-turning .is-right { transform:rotateY(-8deg); opacity:.72; }
.multimedia-book-loading {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  background:rgba(4,35,58,.72);
  z-index:4;
}
.multimedia-book-loading[hidden] { display:none; }
.multimedia-book-loading span { width:24px; height:24px; border:3px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; animation:book-spin .8s linear infinite; }
.multimedia-reader-help { margin:0; padding:15px 24px 18px; color:#536d80; text-align:center; font-size:.82rem; }
@keyframes book-spin { to { transform:rotate(360deg); } }

@media(max-width:1050px) {
  .machinery-equipment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .multimedia-book-stage { min-height:520px; padding:22px; }
  .multimedia-book-page { min-height:430px; }
}
@media(max-width:700px) {
  .machinery-overview .phase2-shell,
  .machinery-purpose .phase2-shell { width:min(100% - 30px,1458px); }
  .machinery-equipment-grid,
  .machinery-purpose-grid { grid-template-columns:1fr; }
  .multimedia-reader-heading { align-items:flex-start; flex-direction:column; padding:22px 18px; }
  .multimedia-reader-actions { width:100%; }
  .multimedia-reader-actions a { flex:1; justify-content:center; }
  .multimedia-reader-toolbar { padding:8px; gap:5px; }
  .multimedia-reader-toolbar button { padding:0 9px; }
  .multimedia-reader-toolbar button span,
  .multimedia-reader-divider { display:none; }
  .multimedia-reader-toolbar output { min-width:105px; }
  .multimedia-book-stage { grid-template-columns:1fr; min-height:480px; padding:14px; }
  .multimedia-book-page { min-height:440px; border-radius:7px; }
  .multimedia-book-page.is-right { display:none; }
}

/* Skladišni prostor — pregled kapaciteta prema javno objavljenim podacima Luke Dubrovnik. */
.storage-hero {
  position:relative;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:clamp(130px,12vw,168px) 0 clamp(48px,5vw,68px);
  color:#fff;
  background:
    linear-gradient(90deg,rgba(2,31,56,.96) 0%,rgba(3,42,73,.84) 43%,rgba(3,42,73,.32) 75%,rgba(3,42,73,.12) 100%),
    url('../img/approved-originals/skladisni-prostor-luke-dubrovnik.jpg') center 48%/cover no-repeat;
}
.storage-hero::after {
  position:absolute;
  right:-7%;
  bottom:-180px;
  width:760px;
  height:250px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.storage-hero-inner { position:relative; z-index:1; }
.storage-breadcrumb { display:flex; align-items:center; gap:.45rem; margin-bottom:1.15rem; color:rgba(255,255,255,.76); font-size:.72rem; }
.storage-breadcrumb a { color:inherit; text-decoration:none; }
.storage-breadcrumb a:hover { color:#fff; }
.storage-breadcrumb svg { width:14px; height:14px; }
.storage-hero .eyebrow { margin:0 0 .65rem; color:#e6ad32; font-size:.68rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.storage-hero h1 { max-width:650px; margin:0; color:#fff; font:500 clamp(3rem,5vw,4.8rem)/.92 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.storage-hero-inner>p:last-child { max-width:610px; margin:1rem 0 0; color:#e4edf3; font-size:.94rem; line-height:1.6; }
.storage-overview { padding:clamp(52px,6vw,82px) 0; background:#fff; }
.storage-section-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr); gap:clamp(2rem,5vw,5rem); align-items:end; margin-bottom:1.7rem; }
.storage-section-heading .about-section-kicker { margin:0 0 .45rem; color:#b67800; }
.storage-section-heading h2 { max-width:720px; margin:0; color:#052f51; font:500 clamp(2rem,3.2vw,3.25rem)/1.02 Georgia,'Times New Roman',serif; letter-spacing:-.025em; text-wrap:balance; }
.storage-section-heading>p { margin:0; color:#587187; font-size:.88rem; line-height:1.68; }
.storage-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.storage-card { position:relative; min-width:0; padding:1.45rem; border:1px solid #d5e1e8; border-radius:12px; background:linear-gradient(145deg,#fff,#f8fbfc); box-shadow:0 14px 38px rgba(4,39,68,.07); }
.storage-card::before { position:absolute; top:0; left:1.45rem; width:58px; height:3px; border-radius:0 0 4px 4px; background:#e1a62e; content:""; }
.storage-card-icon { display:grid; width:44px; height:44px; place-items:center; margin-bottom:1rem; border-radius:9px; color:#0675bd; background:#eaf4fa; }
.storage-card-icon svg { width:23px; height:23px; }
.storage-card-label { margin:0 0 .22rem; color:#b27500; font-size:.61rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.storage-card h3 { margin:0 0 1.15rem; color:#062f51; font:500 1.55rem/1.12 Georgia,'Times New Roman',serif; }
.storage-card dl { margin:0; }
.storage-card dl>div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:.8rem; padding:.68rem 0; border-top:1px solid #e0e8ed; }
.storage-card dl>div.storage-card-note { grid-template-columns:minmax(0,1fr); }
.storage-card dt { color:#6c8294; font-size:.64rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.storage-card dd { margin:0; color:#173d5b; font-size:.78rem; font-weight:750; line-height:1.4; }
.storage-card-note dd { color:#5e7689; font-size:.76rem; line-height:1.45; }
.storage-comparison { padding:clamp(48px,5.5vw,74px) 0; background:#edf3f6; }
.storage-section-heading-compact { margin-bottom:1.25rem; }
.storage-table-wrap { overflow:hidden; border:1px solid #d2dee6; border-radius:12px; background:#fff; box-shadow:0 14px 36px rgba(4,39,68,.07); }
.storage-table { width:100%; border-collapse:collapse; color:#183b57; }
.storage-table thead { color:#fff; background:#06395f; }
.storage-table th,.storage-table td { padding:1rem 1.2rem; border-bottom:1px solid #dce5eb; text-align:left; vertical-align:top; }
.storage-table thead th { font-size:.67rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.storage-table tbody th { width:25%; color:#062f51; font-size:.8rem; }
.storage-table tbody td { font-size:.76rem; line-height:1.55; }
.storage-table tbody td:nth-child(2) { width:24%; color:#064f83; font-weight:850; }
.storage-table tbody tr:last-child>* { border-bottom:0; }
.storage-source { display:flex; align-items:flex-start; gap:.5rem; margin:1rem 0 0; color:#677e90; font-size:.68rem; line-height:1.5; }
.storage-source svg { flex:0 0 auto; width:16px; height:16px; color:#0874b9; }
.storage-contact { padding:0 0 clamp(54px,6vw,82px); background:#edf3f6; }
.storage-contact-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); min-height:250px; overflow:hidden; padding:0; border-radius:12px; color:#fff; background:#073b63; box-shadow:0 18px 45px rgba(4,38,65,.14); }
.storage-contact-copy { align-self:center; padding:clamp(1.7rem,4vw,3rem); }
.storage-contact-copy .about-section-kicker { margin:0 0 .38rem; color:#e1a82d; }
.storage-contact-copy h2 { max-width:720px; margin:0; color:#fff; font:500 clamp(1.8rem,3vw,3rem)/1.06 Georgia,'Times New Roman',serif; }
.storage-contact-copy>p:last-of-type { max-width:700px; margin:.8rem 0 0; color:#c8d8e4; font-size:.82rem; line-height:1.65; }
.storage-contact-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:1.35rem; }
.storage-contact-actions a { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1rem; border-radius:6px; font-size:.69rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.storage-contact-actions svg { width:17px; height:17px; }
.storage-contact-primary { color:#072f51; background:#e2aa32; }
.storage-contact-primary:hover { background:#f0bd48; }
.storage-contact-phone { color:#fff; border:1px solid rgba(255,255,255,.38); }
.storage-contact-phone:hover { background:rgba(255,255,255,.09); }
.storage-contact-image { position:relative; min-height:250px; margin:0; overflow:hidden; }
.storage-contact-image::before { position:absolute; inset:0; z-index:1; content:""; background:linear-gradient(90deg,#073b63 0%,rgba(7,59,99,.18) 45%,transparent 100%); pointer-events:none; }
.storage-contact-image img { width:100%; height:100%; object-fit:cover; }

@media(max-width:960px) {
  .storage-card-grid { grid-template-columns:1fr 1fr; }
  .storage-card:last-child { grid-column:1/-1; }
  .storage-contact-card { grid-template-columns:1fr minmax(260px,.65fr); }
}
@media(max-width:720px) {
  .storage-hero { min-height:360px; padding:118px 0 44px; background-position:58% center; }
  .storage-hero h1 { font-size:clamp(2.75rem,14vw,3.5rem); }
  .storage-section-heading { grid-template-columns:1fr; gap:.85rem; }
  .storage-card-grid { grid-template-columns:1fr; }
  .storage-card:last-child { grid-column:auto; }
  .storage-table-wrap { overflow-x:auto; }
  .storage-table { min-width:720px; }
  .storage-contact-card { grid-template-columns:1fr; width:min(100% - 28px,1458px); }
  .storage-contact-image { min-height:210px; }
  .storage-contact-image::before { background:linear-gradient(180deg,#073b63 0%,rgba(7,59,99,.08) 40%,transparent 100%); }
  .storage-contact-actions { align-items:stretch; flex-direction:column; }
  .storage-contact-actions a { width:100%; }
}

/* Lučka mehanizacija — službeni popis opreme u reprezentativnom prikazu. */
.machinery-page { color:#173b57; background:#eef4f7; }
.machinery-hero {
  position:relative;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:clamp(130px,12vw,168px) 0 clamp(48px,5vw,68px);
  color:#fff;
  background:
    linear-gradient(90deg,rgba(2,31,56,.97) 0%,rgba(3,42,73,.86) 45%,rgba(3,42,73,.34) 76%,rgba(3,42,73,.14) 100%),
    url('../img/approved-originals/lucka-mehanizacija-luka-dubrovnik.jpg') center 51%/cover no-repeat;
}
.machinery-hero::after {
  position:absolute;
  right:-5%;
  bottom:-180px;
  width:760px;
  height:250px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.machinery-hero-inner { position:relative; z-index:1; }
.machinery-breadcrumb { display:flex; align-items:center; gap:.45rem; margin-bottom:1.15rem; color:rgba(255,255,255,.76); font-size:.72rem; }
.machinery-breadcrumb a { color:inherit; text-decoration:none; }
.machinery-breadcrumb a:hover { color:#fff; }
.machinery-breadcrumb svg { width:14px; height:14px; }
.machinery-hero .eyebrow { margin:0 0 .65rem; color:#e6ad32; font-size:.68rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.machinery-hero h1 { max-width:680px; margin:0; color:#fff; font:500 clamp(3rem,5vw,4.8rem)/.92 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.machinery-hero-inner>p:last-child { max-width:610px; margin:1rem 0 0; color:#e4edf3; font-size:.94rem; line-height:1.6; }

.machinery-summary { position:relative; z-index:4; margin-top:-34px; background:transparent; }
.machinery-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; padding:0; border:1px solid #d5e1e8; border-radius:12px; background:#fff; box-shadow:0 20px 48px rgba(4,38,65,.12); }
.machinery-summary article { display:flex; min-height:112px; align-items:center; justify-content:center; gap:1rem; padding:1.2rem; border-right:1px solid #dce5eb; }
.machinery-summary article:last-child { border-right:0; }
.machinery-summary article>span { display:grid; width:46px; height:46px; flex:0 0 auto; place-items:center; border-radius:10px; color:#0675bd; background:#eaf4fa; }
.machinery-summary article>span svg { width:24px; height:24px; }
.machinery-summary article div { display:flex; min-width:0; flex-direction:column; }
.machinery-summary strong { color:#062f51; font:500 2rem/1 Georgia,'Times New Roman',serif; }
.machinery-summary small { margin-top:.3rem; color:#60798c; font-size:.7rem; line-height:1.35; }

.machinery-overview { padding:clamp(52px,6vw,82px) 0; background:#fff; }
.machinery-section-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr); gap:clamp(2rem,5vw,5rem); align-items:end; margin-bottom:1.7rem; }
.machinery-section-heading .about-section-kicker { margin:0 0 .45rem; color:#b67800; }
.machinery-section-heading h2 { max-width:780px; margin:0; color:#052f51; font:500 clamp(2rem,3.2vw,3.25rem)/1.02 Georgia,'Times New Roman',serif; letter-spacing:-.025em; text-wrap:balance; }
.machinery-section-heading>p { margin:0; color:#587187; font-size:.88rem; line-height:1.68; }
.machinery-section-heading-compact { margin-bottom:1.25rem; }

.machinery-equipment-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; }
.machinery-equipment-card { position:relative; min-width:0; overflow:hidden; border:1px solid #d5e1e8; border-radius:12px; background:#fff; box-shadow:0 14px 38px rgba(4,39,68,.08); transition:transform .2s ease,box-shadow .2s ease; }
.machinery-equipment-card:hover { transform:translateY(-3px); box-shadow:0 20px 44px rgba(4,39,68,.13); }
.machinery-equipment-visual { position:relative; height:210px; margin:0; overflow:hidden; isolation:isolate; background:#e9edf0; }
.machinery-equipment-visual img { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; object-position:center 58%; transform:none; }
.machinery-equipment-visual::after { position:absolute; inset:auto 0 0; height:46%; content:""; background:linear-gradient(transparent,rgba(3,35,60,.58)); pointer-events:none; }
.machinery-equipment-visual figcaption { position:absolute; z-index:1; right:.7rem; bottom:.65rem; padding:.26rem .45rem; border-radius:5px; color:#dce9f1; background:rgba(3,39,66,.82); font-size:.52rem; font-weight:800; text-transform:uppercase; }
.machinery-equipment-copy { min-height:165px; padding:1.2rem; }
.machinery-equipment-copy>p { margin:0 0 .35rem; color:#b47700; font-size:.59rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.machinery-equipment-copy h3 { min-height:2.8em; margin:0; color:#062f51; font-size:1rem; line-height:1.38; }
.machinery-equipment-copy>div { display:flex; align-items:baseline; gap:.4rem; margin-top:1.25rem; padding-top:1rem; border-top:1px solid #e1e8ed; }
.machinery-equipment-copy strong { color:#063f69; font:500 2rem/1 Georgia,'Times New Roman',serif; }
.machinery-equipment-copy span { color:#637b8e; font-size:.72rem; font-weight:800; }

.machinery-purpose { padding:clamp(48px,5.5vw,74px) 0; background:#edf3f6; }
.machinery-purpose-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid #d2dee6; border-radius:12px; background:#fff; box-shadow:0 14px 36px rgba(4,39,68,.07); }
.machinery-purpose-grid article { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:1rem; align-items:center; min-height:132px; padding:1.3rem; border-right:1px solid #dce5eb; }
.machinery-purpose-grid article:last-child { border-right:0; }
.machinery-purpose-grid article>span { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; color:#0675bd; background:#eaf4fa; }
.machinery-purpose-grid article>span svg { width:23px; height:23px; }
.machinery-purpose-grid h3 { margin:0 0 .28rem; color:#062f51; font-size:.88rem; }
.machinery-purpose-grid p { margin:0; color:#627a8c; font-size:.7rem; line-height:1.48; }
.machinery-purpose-grid article>strong { color:#d39a20; font:500 1.8rem/1 Georgia,'Times New Roman',serif; }
.machinery-source { display:flex; align-items:flex-start; gap:.5rem; margin:1rem 0 0; color:#677e90; font-size:.68rem; line-height:1.5; }
.machinery-source svg { flex:0 0 auto; width:16px; height:16px; color:#0874b9; }

.machinery-contact { padding:0 0 clamp(54px,6vw,82px); background:#edf3f6; }
.machinery-contact-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); min-height:250px; overflow:hidden; padding:0; border-radius:12px; color:#fff; background:#073b63; box-shadow:0 18px 45px rgba(4,38,65,.14); }
.machinery-contact-copy { align-self:center; padding:clamp(1.7rem,4vw,3rem); }
.machinery-contact-copy .about-section-kicker { margin:0 0 .38rem; color:#e1a82d; }
.machinery-contact-copy h2 { max-width:720px; margin:0; color:#fff; font:500 clamp(1.8rem,3vw,3rem)/1.06 Georgia,'Times New Roman',serif; }
.machinery-contact-copy>p:last-of-type { max-width:700px; margin:.8rem 0 0; color:#c8d8e4; font-size:.82rem; line-height:1.65; }
.machinery-contact-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:1.35rem; }
.machinery-contact-actions a { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1rem; border-radius:6px; font-size:.69rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.machinery-contact-actions svg { width:17px; height:17px; }
.machinery-contact-primary { color:#072f51; background:#e2aa32; }
.machinery-contact-primary:hover { background:#f0bd48; }
.machinery-contact-phone { color:#fff; border:1px solid rgba(255,255,255,.38); }
.machinery-contact-phone:hover { background:rgba(255,255,255,.09); }
.machinery-contact-image { position:relative; min-height:250px; margin:0; overflow:hidden; }
.machinery-contact-image::before { position:absolute; inset:0; z-index:1; content:""; background:linear-gradient(90deg,#073b63 0%,rgba(7,59,99,.18) 45%,transparent 100%); pointer-events:none; }
.machinery-contact-image img { width:100%; height:100%; object-fit:cover; }

@media(max-width:1150px) {
  .machinery-equipment-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .machinery-equipment-card:nth-child(n+4) { grid-column:span 1; }
  .machinery-purpose-grid { grid-template-columns:1fr 1fr; }
  .machinery-purpose-grid article:nth-child(2) { border-right:0; }
  .machinery-purpose-grid article:nth-child(-n+2) { border-bottom:1px solid #dce5eb; }
}
@media(max-width:900px) {
  .machinery-summary-grid { grid-template-columns:1fr 1fr; }
  .machinery-summary article:nth-child(2) { border-right:0; }
  .machinery-summary article:nth-child(-n+2) { border-bottom:1px solid #dce5eb; }
  .machinery-equipment-grid { grid-template-columns:1fr 1fr; }
  .machinery-contact-card { grid-template-columns:1fr minmax(260px,.65fr); }
}
@media(max-width:720px) {
  .machinery-hero { min-height:360px; padding:118px 0 44px; background-position:55% center; }
  .machinery-hero h1 { font-size:clamp(2.75rem,14vw,3.5rem); }
  .machinery-summary { margin-top:-20px; }
  .machinery-summary article { min-height:96px; justify-content:flex-start; }
  .machinery-section-heading { grid-template-columns:1fr; gap:.85rem; }
  .machinery-equipment-grid,.machinery-purpose-grid { grid-template-columns:1fr; }
  .machinery-purpose-grid article { border-right:0; border-bottom:1px solid #dce5eb; }
  .machinery-purpose-grid article:last-child { border-bottom:0; }
  .machinery-contact-card { grid-template-columns:1fr; width:min(100% - 28px,1458px); }
  .machinery-contact-image { min-height:210px; }
  .machinery-contact-image::before { background:linear-gradient(180deg,#073b63 0%,rgba(7,59,99,.08) 40%,transparent 100%); }
  .machinery-contact-actions { align-items:stretch; flex-direction:column; }
  .machinery-contact-actions a { width:100%; }
}
@media(max-width:520px) {
  .machinery-summary-grid { grid-template-columns:1fr; }
  .machinery-summary article { border-right:0; border-bottom:1px solid #dce5eb; }
  .machinery-summary article:last-child { border-bottom:0; }
  .machinery-equipment-visual { height:230px; }
}

/* Digitalni plan: pregled svih lokacija koristi isti tamnoplavi vizual kao detalj veza. */
.port-plan-sidebar,
.port-plan-location-list {
  background:#063a61;
  color:#fff;
}

.port-plan-location-list {
  padding:20px;
}

.port-plan-location-list > h2 {
  margin:0 0 6px;
  color:#fff;
  font-size:1.35rem;
}

.port-plan-location-list > p {
  margin:0 0 14px;
  color:#b9d8eb;
  font-size:.72rem;
}

.port-plan-location-list [data-port-map-list] {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.port-plan-location-list .port-map-list-group {
  grid-column:1 / -1;
  margin:6px 0 0;
  color:#e2aa32;
  font-size:.63rem;
  letter-spacing:.1em;
}

.port-plan-location-list .port-map-list-group:first-child {
  margin-top:0;
}

.port-plan-location-list .port-map-item {
  min-width:0;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  background:rgba(255,255,255,.07);
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.port-plan-location-list .port-map-item:hover,
.port-plan-location-list .port-map-item.is-selected {
  border-color:#7ed0ff;
  background:rgba(126,208,255,.14);
  transform:translateY(-1px);
}

.port-plan-location-list .port-map-item button {
  min-height:53px;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  color:#fff;
}

.port-plan-location-list .port-map-item button strong {
  overflow:hidden;
  font-size:.74rem;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.port-plan-location-list .port-map-item button span {
  flex:0 0 auto;
  border-radius:999px;
  padding:4px 6px;
  color:#d8ebf6;
  background:rgba(0,25,46,.34);
  font-size:.62rem;
  font-weight:800;
  white-space:nowrap;
}

@media(min-width:981px) {
  .port-plan-layout {
    grid-template-columns:minmax(0,2fr) minmax(390px,.78fr);
  }

  .port-plan-location-list {
    height:520px;
    overflow:hidden;
  }
}

@media(max-width:980px) {
  .port-plan-location-list {
    height:auto;
    max-height:none;
    overflow:visible;
  }
}

@media(max-width:560px) {
  .port-plan-location-list [data-port-map-list] {
    grid-template-columns:1fr;
  }
}

/* Kutak za korisnike — sadržaj i dokumenti sa službene stranice Luke Dubrovnik d.d. */
.userhub-page { color:#173c59; background:#edf3f6; }
.userhub-page .phase2-shell { width:min(1460px,calc(100% - 48px)); }
.userhub-hero {
  position:relative;
  min-height:390px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:clamp(132px,12vw,170px) 0 80px;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(2,31,56,.96) 0%,rgba(3,42,73,.84) 43%,rgba(3,42,73,.38) 72%,rgba(3,42,73,.24) 100%),
    url('../img/approved-originals/lagoon-with-ships-and-boats-dubrovnik.jpg') center 57%/cover no-repeat;
}
.userhub-hero::after { position:absolute; inset:auto -8% -170px 30%; height:230px; border:1px solid rgba(255,255,255,.16); border-radius:50%; content:""; pointer-events:none; }
.userhub-hero-inner { position:relative; z-index:1; }
.userhub-breadcrumb { display:flex; align-items:center; gap:.4rem; margin-bottom:1rem; color:rgba(255,255,255,.76); font-size:.72rem; }
.userhub-breadcrumb a { color:inherit; text-decoration:none; }
.userhub-breadcrumb a:hover { color:#fff; }
.userhub-breadcrumb svg { width:14px; height:14px; }
.userhub-eyebrow,.userhub-kicker { margin:0 0 .45rem; color:#c88700; font-size:.66rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.userhub-hero .userhub-eyebrow { color:#e6ad32; }
.userhub-hero h1 { max-width:760px; margin:0; color:#fff; font:500 clamp(3.25rem,5.5vw,5.5rem)/.9 Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.userhub-hero-inner>p:last-child { max-width:600px; margin:.95rem 0 0; color:#e3edf3; font-size:.96rem; line-height:1.6; }

.userhub-quick { position:relative; z-index:5; display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; margin-top:-34px; padding:0; border:1px solid #d4e0e7; border-radius:12px; background:#fff; box-shadow:0 20px 50px rgba(4,38,65,.14); }
.userhub-quick>a { display:grid; grid-template-columns:48px minmax(0,1fr) 20px; gap:1rem; align-items:center; min-height:108px; padding:1.2rem 1.35rem; color:#07375d; border-right:1px solid #dbe5eb; text-decoration:none; transition:background .2s ease,color .2s ease; }
.userhub-quick>a:last-child { border-right:0; }
.userhub-quick>a:hover { color:#056eb4; background:#f7fafc; }
.userhub-quick>a>span:first-child { display:grid; width:46px; height:46px; place-items:center; border-radius:10px; color:#0875ba; background:#eaf4fa; }
.userhub-quick>a>span:first-child svg { width:24px; height:24px; }
.userhub-quick>a>span:nth-child(2) { display:flex; min-width:0; flex-direction:column; }
.userhub-quick strong { font-size:.84rem; line-height:1.3; }
.userhub-quick small { margin-top:.3rem; color:#678094; font-size:.67rem; line-height:1.35; }
.userhub-quick>a>svg { width:18px; }

.userhub-main { display:grid; grid-template-columns:minmax(0,1.68fr) minmax(320px,.62fr); gap:24px; align-items:start; padding:clamp(48px,5vw,72px) 0; }
.userhub-primary,.userhub-aside { display:grid; gap:24px; min-width:0; }
.userhub-intro,.userhub-pricing,.userhub-downloads,.userhub-contact-card { overflow:hidden; border:1px solid #d4e0e7; border-radius:12px; background:#fff; box-shadow:0 14px 38px rgba(4,39,68,.07); }
.userhub-intro { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); min-height:300px; }
.userhub-intro>div { align-self:center; padding:clamp(1.7rem,4vw,3rem); }
.userhub-intro h2 { max-width:420px; margin:0; color:#052f51; font:500 clamp(2rem,3.2vw,3.2rem)/1.02 Georgia,'Times New Roman',serif; letter-spacing:-.025em; }
.userhub-intro figure { position:relative; min-height:300px; margin:0; overflow:hidden; }
.userhub-intro figure::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.08) 28%,transparent 55%); pointer-events:none; }
.userhub-intro img { width:100%; height:100%; object-fit:cover; object-position:center; }
.userhub-intro figcaption { position:absolute; z-index:1; right:.8rem; bottom:.75rem; padding:.36rem .55rem; border-radius:5px; color:#e6edf2; background:rgba(2,39,66,.82); font-size:.55rem; font-weight:750; }

.userhub-pricing { padding:clamp(1.4rem,3vw,2rem); }
.userhub-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:1.2rem; }
.userhub-section-heading h2 { margin:0; color:#052f51; font:500 clamp(1.8rem,3vw,2.7rem)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.02em; }
.userhub-section-heading>span { color:#6a8193; font-size:.68rem; }
.userhub-price-card { overflow:hidden; margin-top:14px; border:1px solid #d8e2e9; border-radius:9px; background:#fff; }
.userhub-price-card>header { display:flex; align-items:center; gap:.65rem; padding:.8rem 1rem; color:#083c64; background:#f3f7f9; }
.userhub-price-card>header>span { color:#0875bb; }
.userhub-price-card>header svg { display:block; width:18px; height:18px; }
.userhub-price-card h3 { margin:0; font-size:.77rem; }
.userhub-table-scroll { overflow-x:auto; }
.userhub-price-card table { width:100%; min-width:660px; border-collapse:collapse; }
.userhub-price-card th,.userhub-price-card td { padding:.72rem 1rem; border-top:1px solid #e0e8ed; text-align:right; white-space:nowrap; }
.userhub-price-card th:first-child,.userhub-price-card td:first-child { text-align:left; }
.userhub-price-card thead th { color:#6a8295; background:#fbfcfd; font-size:.58rem; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.userhub-price-card tbody th { color:#294d68; font-size:.67rem; font-weight:750; }
.userhub-price-card tbody td { color:#063e68; font-size:.7rem; font-weight:850; }
.userhub-price-card>footer { display:flex; align-items:center; gap:.38rem; padding:.55rem 1rem; color:#687f91; border-top:1px solid #e0e8ed; background:#fbfcfd; font-size:.58rem; }
.userhub-price-card>footer svg { width:13px; height:13px; color:#0874b9; }
.userhub-upcoming-pricelist {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  margin-bottom:1.5rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(226,170,50,.48);
  border-left:4px solid #e2aa32;
  border-radius:9px;
  color:#123f60;
  background:#fff9ea;
}
.userhub-upcoming-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; color:#996800; background:#fff0bf; }
.userhub-upcoming-icon svg { width:21px; height:21px; }
.userhub-upcoming-pricelist div { display:flex; min-width:0; flex-direction:column; }
.userhub-upcoming-pricelist small { color:#9a6900; font-size:.58rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.userhub-upcoming-pricelist strong { margin-top:.18rem; color:#073c62; font-size:.84rem; }
.userhub-upcoming-pricelist p { margin:.28rem 0 0; color:#647b8c; font-size:.66rem; line-height:1.5; }
.userhub-upcoming-pricelist>a {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.68rem .85rem;
  border-radius:6px;
  color:#fff;
  background:#073f68;
  font-size:.64rem;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.userhub-upcoming-pricelist>a:hover { background:#08598d; }
.userhub-upcoming-pricelist>a svg { width:15px; height:15px; }
.userhub-pricelist-documents { display:flex; flex-wrap:wrap; gap:10px; margin:-.25rem 0 .85rem; }
.userhub-pricelist-documents>a {
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 14px;
  gap:.55rem;
  align-items:center;
  min-width:230px;
  padding:.72rem .8rem;
  border:1px solid #dce5ea;
  border-radius:7px;
  color:#0b466f;
  background:#f7fafb;
  text-decoration:none;
}
.userhub-pricelist-documents>a:hover { border-color:#8bb8d2; background:#fff; }
.userhub-pricelist-documents>a>svg { width:17px; height:17px; color:#0875bb; }
.userhub-pricelist-documents>a>svg:last-child { width:13px; height:13px; color:#718797; }
.userhub-pricelist-documents span { display:flex; min-width:0; flex-direction:column; }
.userhub-pricelist-documents small { color:#768a99; font-size:.54rem; font-weight:750; text-transform:uppercase; }
.userhub-pricelist-documents strong { margin-top:.12rem; font-size:.67rem; }
.userhub-pricelist-documents .is-archive { color:#526d7f; }
.userhub-parking-extras { overflow:hidden; margin-top:14px; border:1px solid #d8e2e9; border-radius:9px; background:#fff; }
.userhub-parking-extras>header { display:flex; gap:.65rem; align-items:center; padding:.8rem 1rem; color:#083c64; background:#f3f7f9; }
.userhub-parking-extras>header span { color:#0875bb; }
.userhub-parking-extras>header svg { display:block; width:18px; height:18px; }
.userhub-parking-extras h3 { margin:0; font-size:.77rem; }
.userhub-parking-extras dl { margin:0; }
.userhub-parking-extras dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.72rem 1rem; border-top:1px solid #e0e8ed; }
.userhub-parking-extras dt { color:#294d68; font-size:.7rem; font-weight:750; }
.userhub-parking-extras dd { margin:0; color:#063e68; font-size:.72rem; font-weight:900; white-space:nowrap; }
.userhub-parking-extras>p { display:flex; gap:.45rem; align-items:flex-start; margin:0; padding:.7rem 1rem; border-top:1px solid #e0e8ed; color:#687f91; background:#fff9ea; font-size:.64rem; line-height:1.5; }
.userhub-parking-extras>p svg { width:15px; height:15px; flex:0 0 15px; color:#c88a00; }

.userhub-downloads { padding:1.5rem; }
.userhub-downloads h2 { margin:0 0 1rem; color:#052f51; font:500 1.75rem/1.1 Georgia,'Times New Roman',serif; }
.userhub-download-list { display:grid; gap:10px; }
.userhub-download-list>a { display:grid; grid-template-columns:44px minmax(0,1fr) 18px; gap:.75rem; align-items:center; min-height:82px; padding:.8rem; color:#0a3c61; border:1px solid #d9e3e9; border-radius:8px; text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.userhub-download-list>a:hover { transform:translateY(-2px); border-color:#9bc4dc; box-shadow:0 12px 25px rgba(4,39,68,.08); }
.userhub-pdf { position:relative; display:grid; width:42px; height:48px; place-items:center; color:#c73932; border-radius:5px; background:#fff0ef; }
.userhub-pdf svg { width:22px; height:22px; }
.userhub-pdf b { position:absolute; right:3px; bottom:3px; font-size:.42rem; }
.userhub-download-list>a>span:nth-child(2) { display:flex; min-width:0; flex-direction:column; }
.userhub-download-list strong { font-size:.71rem; line-height:1.35; }
.userhub-download-list small { margin-top:.26rem; color:#728798; font-size:.56rem; line-height:1.35; }
.userhub-download-list>a>svg { width:17px; color:#0874b9; }
.userhub-source { display:flex; align-items:center; gap:.35rem; margin-top:1rem; color:#5e778b; font-size:.59rem; line-height:1.4; }
.userhub-source svg { width:13px; height:13px; }

.userhub-contact-card { position:relative; padding:1.8rem; color:#fff; background:linear-gradient(145deg,#073e67,#052d4e); }
.userhub-contact-card::after { position:absolute; right:-85px; bottom:-85px; width:230px; height:230px; border:1px solid rgba(255,255,255,.13); border-radius:50%; content:""; }
.userhub-anchor { display:grid; width:48px; height:48px; place-items:center; margin-bottom:1rem; border:1px solid rgba(228,171,47,.7); border-radius:50%; color:#e4ab2f; }
.userhub-anchor svg { width:24px; height:24px; }
.userhub-contact-card h2 { margin:0 0 1.2rem; color:#fff; font:500 1.55rem/1.1 Georgia,'Times New Roman',serif; }
.userhub-contact-card address { position:relative; z-index:1; display:grid; gap:.8rem; font-style:normal; }
.userhub-contact-card address span,.userhub-contact-card address a { display:grid; grid-template-columns:18px minmax(0,1fr); gap:.55rem; color:#d7e5ed; font-size:.67rem; line-height:1.55; text-decoration:none; }
.userhub-contact-card address a:hover { color:#fff; }
.userhub-contact-card address svg { width:16px; height:16px; color:#e2a82d; }
.userhub-contact-button { position:relative; z-index:1; display:flex; min-height:44px; align-items:center; justify-content:center; gap:.45rem; margin-top:1.35rem; padding:.7rem 1rem; border-radius:6px; color:#073456; background:#e2aa32; font-size:.64rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.userhub-contact-button:hover { background:#f0bc47; }
.userhub-contact-button svg { width:16px; }

.userhub-useful { padding:clamp(48px,5.5vw,76px) 0; border-top:1px solid #d3e0e7; background:#fff; }
.userhub-section-heading-light { margin-bottom:1.4rem; }
.userhub-section-heading-light h2 { max-width:850px; }
.userhub-info-grid { display:grid; grid-template-columns:.9fr 1.25fr .85fr; overflow:hidden; border:1px solid #d4e0e7; border-radius:12px; box-shadow:0 15px 38px rgba(4,39,68,.07); }
.userhub-info-grid>article { display:grid; grid-template-columns:45px minmax(0,1fr); gap:1rem; align-items:start; padding:1.5rem; border-right:1px solid #dce5eb; }
.userhub-info-grid>article:last-child { border-right:0; }
.userhub-info-grid>article>span { display:grid; width:44px; height:44px; place-items:center; border-radius:10px; color:#0875bb; background:#eaf4fa; }
.userhub-info-grid>article>span svg { width:22px; height:22px; }
.userhub-info-grid h3 { margin:.2rem 0 .85rem; color:#052f51; font-size:.82rem; }
.userhub-info-grid dl { margin:0; }
.userhub-info-grid dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.46rem 0; border-top:1px solid #e2e9ed; }
.userhub-info-grid dt { color:#61798c; font-size:.59rem; line-height:1.4; }
.userhub-info-grid dd { margin:0; color:#083d64; font-size:.6rem; font-weight:800; text-align:right; line-height:1.4; }
.userhub-info-grid address { display:grid; gap:.7rem; color:#61798c; font-size:.62rem; font-style:normal; line-height:1.45; }
.userhub-info-grid address a { display:flex; align-items:center; gap:.3rem; color:#075f9b; }
.userhub-info-grid address svg { width:13px; height:13px; }
.userhub-data-note { display:flex; align-items:flex-start; gap:.5rem; margin:1rem 0 0; color:#677e90; font-size:.64rem; line-height:1.5; }
.userhub-data-note svg { flex:0 0 auto; width:15px; height:15px; color:#0874b9; }

@media(max-width:1080px) {
  .userhub-main { grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr); }
  .userhub-intro { grid-template-columns:1fr; }
  .userhub-intro figure { min-height:280px; }
  .userhub-info-grid { grid-template-columns:1fr 1fr; }
  .userhub-info-grid>article:nth-child(2) { border-right:0; }
  .userhub-info-grid>article:last-child { grid-column:1/-1; border-top:1px solid #dce5eb; }
}
@media(max-width:820px) {
  .userhub-page .phase2-shell { width:min(100% - 28px,1460px); }
  .userhub-hero { min-height:350px; padding:118px 0 68px; background-position:58% center; }
  .userhub-quick { grid-template-columns:1fr; margin-top:-24px; }
  .userhub-quick>a { min-height:88px; border-right:0; border-bottom:1px solid #dbe5eb; }
  .userhub-quick>a:last-child { border-bottom:0; }
  .userhub-main { grid-template-columns:1fr; }
  .userhub-aside { grid-template-columns:1fr 1fr; }
  .userhub-contact-card { min-height:100%; }
}
@media(max-width:620px) {
  .userhub-hero h1 { font-size:clamp(2.8rem,15vw,4rem); }
  .userhub-main { padding-top:38px; }
  .userhub-intro h2 { font-size:2.2rem; }
  .userhub-aside,.userhub-info-grid { grid-template-columns:1fr; }
  .userhub-info-grid>article { border-right:0; border-bottom:1px solid #dce5eb; }
  .userhub-info-grid>article:nth-child(2) { border-right:0; }
  .userhub-info-grid>article:last-child { grid-column:auto; border-top:0; border-bottom:0; }
  .userhub-section-heading { align-items:flex-start; flex-direction:column; gap:.45rem; }
  .userhub-price-card th,.userhub-price-card td { padding:.65rem .8rem; }
  .userhub-upcoming-pricelist { grid-template-columns:auto 1fr; align-items:start; }
  .userhub-upcoming-pricelist>a { grid-column:1/-1; width:100%; }
  .userhub-pricelist-documents>a { width:100%; min-width:0; }
  .userhub-parking-extras dl>div { align-items:flex-start; }
}

/* Global readability pass — content, metadata and controls */
:root {
  --ld-text-readable: .94rem;
  --ld-text-support: .84rem;
  --ld-text-meta: .76rem;
}

/* Homepage */
.home-homehub-news-row strong,
.home-homehub-links strong { font-size:.92rem; line-height:1.42; }
.home-homehub-news-row small,
.home-homehub-links small { font-size:.82rem; line-height:1.52; }
.home-map-head p,
.home-capacity-head p { font-size:.94rem; line-height:1.58; }
.home3-source-note { font-size:.76rem; line-height:1.55; }

/* Documents, access to information and news */
.document-category>header>div>p:not(.eyebrow),
.document-intro p { font-size:.94rem; line-height:1.65; }
.document-download-list small { font-size:.78rem; line-height:1.5; }
.document-toolbar label { font-size:.8rem; }
.access-channels strong { font-size:.92rem; }
.access-channels span,
.access-channels a { font-size:.84rem; line-height:1.55; }
.access-related a { font-size:.86rem; }
.news-index-meta time { font-size:.84rem; }
.news-index-meta span { font-size:.74rem; }

/* About us */
.about-corporate-data dt { font-size:.74rem; }
.about-corporate-data dd { font-size:.9rem; line-height:1.5; }
.about-bank-accounts p span,
.about-person-list span { font-size:.8rem; line-height:1.5; }
.about-timeline p { font-size:.82rem; line-height:1.55; }
.about-history-chapter p { font-size:.98rem; line-height:1.72; }
.about-plan-feature p { font-size:.86rem; line-height:1.58; }
.about-press-notice,
.about-contact-cta p { font-size:.9rem; line-height:1.6; }
.about-map-source { font-size:.76rem; line-height:1.5; }

/* Connections and arrival calendar */
.connection-overview-card em { font-size:.88rem; line-height:1.52; }
.connection-overview-card b,
.connection-position-strip>a,
.connection-inline-actions a,
.connection-route-panel>a { font-size:.78rem; }
.connection-detail-grid>div>p:not(.about-section-kicker) { font-size:1rem; line-height:1.7; }
.connection-route-panel>p:not(.about-section-kicker) { font-size:.91rem; line-height:1.62; }
.connection-route-panel dt { font-size:.72rem; }
.connection-route-panel dd { font-size:.94rem; }
.connection-route-panel>small { font-size:.74rem; line-height:1.55; }
.connection-option-list strong { font-size:.88rem; }
.connection-option-list small { font-size:.78rem; line-height:1.55; }
.connection-map-legend { font-size:.78rem; line-height:1.45; }
.connection-arrival-grid time { font-size:.74rem; }
.connection-arrival-grid p { font-size:.84rem; line-height:1.5; }
.connection-source-note { font-size:.75rem; line-height:1.55; }
.arrival-filter-modern label>span { font-size:.74rem; }
.arrival-day-events strong { font-size:.76rem; }
.arrival-day-events small { font-size:.72rem; line-height:1.45; }
.arrival-day-events time { font-size:.74rem; }
.arrival-day-events .more { font-size:.72rem; }
.arrival-public-row-copy .eyebrow { font-size:.72rem; }
.arrival-public-row-copy p:last-child { font-size:.86rem; line-height:1.5; }
.arrival-public-row-actions a { font-size:.76rem; }
.arrival-location-section header p:last-child { font-size:.86rem; line-height:1.55; }
.arrival-location-note { font-size:.76rem; line-height:1.5; }
.arrival-detail-overview dl dt { font-size:.74rem; }
.arrival-detail-overview dl dd { font-size:.94rem; line-height:1.45; }

/* Port capacities and machinery */
.capacity-summary dt,
.capacity-berth-card dt { font-size:.74rem; }
.capacity-summary dd,
.capacity-berth-card dd { line-height:1.45; }
.capacity-anchorage-table th { font-size:.72rem; }
.capacity-anchorage-table td { font-size:.86rem; line-height:1.5; }
.capacity-source-note,
.capacity-anchorage-note { font-size:.76rem; line-height:1.55; }
.machinery-summary small { font-size:.78rem; line-height:1.45; }
.machinery-section-heading>p { font-size:.96rem; line-height:1.62; }
.machinery-equipment-copy>p { font-size:.74rem; }
.machinery-equipment-copy span { font-size:.8rem; line-height:1.45; }
.machinery-purpose-grid h3 { font-size:.95rem; }
.machinery-purpose-grid p { font-size:.8rem; line-height:1.55; }
.machinery-source { font-size:.76rem; line-height:1.55; }
.machinery-contact-copy>p:last-of-type { font-size:.9rem; line-height:1.58; }
.machinery-contact-actions a { font-size:.76rem; }

/* User corner */
.userhub-breadcrumb { font-size:.78rem; }
.userhub-eyebrow,
.userhub-kicker { font-size:.72rem; }
.userhub-hero-inner>p:last-child { font-size:1rem; line-height:1.6; }
.userhub-quick strong { font-size:.92rem; }
.userhub-quick small { font-size:.78rem; line-height:1.5; }
.userhub-section-heading>span { font-size:.78rem; line-height:1.5; }
.userhub-price-card h3 { font-size:.86rem; }
.userhub-price-card thead th { font-size:.68rem; line-height:1.4; }
.userhub-price-card tbody th,
.userhub-price-card tbody td { font-size:.78rem; line-height:1.45; }
.userhub-price-card>footer { font-size:.7rem; line-height:1.5; }
.userhub-download-list strong { font-size:.82rem; line-height:1.42; }
.userhub-download-list small { font-size:.7rem; line-height:1.5; }
.userhub-source { font-size:.72rem; line-height:1.5; }
.userhub-contact-card address span,
.userhub-contact-card address a { font-size:.78rem; line-height:1.5; }
.userhub-contact-button { font-size:.72rem; }
.userhub-info-grid h3 { font-size:.94rem; }
.userhub-info-grid dt,
.userhub-info-grid dd { font-size:.76rem; line-height:1.5; }
.userhub-info-grid address { font-size:.74rem; line-height:1.55; }
.userhub-data-note { font-size:.74rem; line-height:1.55; }

/* Contact and footer */
.contact-method small { font-size:.76rem; line-height:1.5; }
.contact-method strong { font-size:.94rem; }
.contact-card address { font-size:.94rem; line-height:1.65; }
.page-footer .footer-brand p,
.page-footer .footer-nav,
.page-footer .footer-contact { font-size:.84rem; line-height:1.55; }
.page-footer .footer-bottom { font-size:.74rem; line-height:1.5; }

@media(max-width:820px) {
  .home-homehub-news-row strong,
  .home-homehub-links strong,
  .userhub-quick strong { font-size:.9rem; }
  .connection-detail-grid>div>p:not(.about-section-kicker),
  .about-history-chapter p { font-size:.94rem; }
}

/* Manipulativne obale: sidrište ima više službenih podataka od veza.
   Na širokom prikazu zadržavamo kartu i detalje u istoj visini, a koordinate
   slažemo u kompaktnu mrežu kako modul ne bi rastao ispod karte. */
@media(min-width:981px) {
  .port-plan-card.is-anchorage-selected .port-plan-layout {
    height:520px;
    min-height:520px;
  }
  .port-plan-card.is-anchorage-selected .port-plan-layout .port-map-canvas,
  .port-plan-card.is-anchorage-selected .port-plan-layout .port-map-placeholder {
    height:520px;
    min-height:520px;
  }
  .port-plan-card.is-anchorage-selected .port-plan-sidebar {
    height:520px;
    overflow:hidden;
  }
  .port-plan-card.is-anchorage-selected .port-plan-sidebar .home-map-selection {
    height:520px;
    min-height:0;
    max-height:520px;
    overflow:hidden;
  }
  .port-plan-card.is-anchorage-selected .port-plan-sidebar [data-port-map-detail-content] {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    padding:.75rem 1rem;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
  }
  .port-plan-card.is-anchorage-selected .map-info-card > h4 {
    margin:.55rem 0 .4rem;
    font-size:.82rem;
  }
  .port-plan-card.is-anchorage-selected .map-official-facts {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.35rem;
    margin:.1rem 0 .55rem;
  }
  .port-plan-card.is-anchorage-selected .map-official-facts > div {
    align-content:start;
    min-height:64px;
    padding:.5rem;
    border:1px solid #d9e4ea;
    border-radius:5px;
    background:#f5f8fa;
  }
  .port-plan-card.is-anchorage-selected .map-official-facts dt { font-size:.58rem; }
  .port-plan-card.is-anchorage-selected .map-official-facts dd {
    font-size:.7rem;
    line-height:1.28;
  }
  .port-plan-card.is-anchorage-selected .map-coordinate-list {
    margin:.55rem 0 0;
    padding-top:.5rem;
  }
  .port-plan-card.is-anchorage-selected .map-coordinate-list h4 {
    margin:0 0 .4rem;
    font-size:.82rem;
  }
  .port-plan-card.is-anchorage-selected .map-coordinate-list ol {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.3rem;
  }
  .port-plan-card.is-anchorage-selected .map-coordinate-list li {
    grid-template-columns:42px minmax(0,1fr);
    gap:.35rem;
    padding:.34rem .38rem;
  }
  .port-plan-card.is-anchorage-selected .map-coordinate-list li span { font-size:.58rem; }
  .port-plan-card.is-anchorage-selected .map-coordinate-list code {
    font-size:.64rem;
    line-height:1.3;
  }
}

@media(max-width:980px) {
  /* Kasnija desktop pravila za stranicu Manipulativne obale ne smiju
     ponovno pretvoriti kartu i detalje u dva stupca na tabletu/mobitelu. */
  .port-plan-layout {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  .port-map-stage {
    width:100%;
    min-width:0;
  }
  .port-plan-layout .port-map-canvas,
  .port-plan-layout .port-map-placeholder {
    width:100%;
    min-height:480px;
  }
  .port-plan-sidebar {
    width:100%;
    min-height:330px;
    border-top:1px solid #d7e2e8;
    border-left:0;
  }
  .port-plan-sidebar .home-map-selection {
    width:100%;
    min-height:330px;
  }
  .port-plan-card.is-anchorage-selected .map-coordinate-list ol {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px) {
  .port-plan-layout .port-map-canvas,
  .port-plan-layout .port-map-placeholder { min-height:430px; }
  .port-plan-card.is-anchorage-selected .map-coordinate-list ol { grid-template-columns:1fr; }
}

/* CMS page layout templates — Luka Dubrovnik visual system */
.cms-page {
  width:min(1180px,calc(100% - 40px));
  max-width:none;
  padding-block:clamp(32px,4vw,58px) clamp(56px,7vw,92px);
}
.cms-page .cms-page-hero {
  position:relative;
  max-width:none;
  min-height:0;
  margin:0 0 clamp(28px,4vw,48px);
  overflow:hidden;
  border:1px solid #d5e1e8;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 48px rgba(4,38,65,.08);
}
.cms-page .cms-page-hero-copy { position:relative; z-index:2; }
.cms-page .cms-page-hero .eyebrow {
  margin:0 0 .85rem;
  color:#ba7600;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.cms-page .cms-page-hero h1 {
  max-width:15ch;
  margin:0;
  color:#062e50;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.55rem,4.8vw,4.55rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.03em;
  text-wrap:balance;
}
.cms-page .cms-page-hero .lead {
  max-width:660px;
  margin:1.15rem 0 0;
  color:#49677d;
  font-size:clamp(1rem,1.3vw,1.15rem);
  line-height:1.62;
}
.cms-page .cms-page-hero .lead>:last-child { margin-bottom:0; }
.cms-page .cms-page-hero-media {
  min-height:260px;
  background:linear-gradient(180deg,rgba(4,42,71,.05),rgba(4,42,71,.18)),var(--cms-hero-image) center/cover no-repeat;
}
.cms-page .cms-page-content { max-width:780px; }
.cms-page .cms-page-content>h2:first-child { margin-top:0; }
.cms-page-reading-frame { position:relative; }

/* 1. Urednička stranica */
.cms-page-template-default { width:min(1120px,calc(100% - 40px)); }
.cms-page-template-default .cms-page-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  background:linear-gradient(135deg,#f9fcfe 0%,#eef5f9 100%);
}
.cms-page-template-default .cms-page-hero::before {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#e4a11b;
}
.cms-page-template-default .cms-page-hero-copy { padding:clamp(30px,5vw,58px); }
.cms-page-template-default .cms-page-hero.has-image { grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr); }
.cms-page-template-default .cms-page-reading-frame {
  max-width:900px;
  margin-inline:auto;
  padding:clamp(30px,5vw,58px) clamp(28px,6vw,72px);
  border-top:3px solid #0b70b7;
  border-radius:0 0 14px 14px;
  background:#fff;
  box-shadow:0 18px 52px rgba(4,38,65,.08);
}
.cms-page-template-default .cms-page-reading-frame::before {
  content:'LUKA DUBROVNIK';
  display:block;
  margin-bottom:1.6rem;
  color:#6c8293;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.16em;
}

/* 2. Vizualna ulazna stranica */
.cms-page-template-landing { width:min(1280px,calc(100% - 40px)); }
.cms-page-template-landing .cms-page-hero {
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(420px,1.18fr);
  min-height:480px;
  border:0;
  color:#fff;
  background:#062f50;
  box-shadow:0 24px 58px rgba(3,38,65,.18);
}
.cms-page-template-landing .cms-page-hero::after {
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  z-index:3;
  width:110px;
  height:5px;
  background:#edaa22;
}
.cms-page-template-landing .cms-page-hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(36px,5vw,70px);
  background:linear-gradient(145deg,#052c4b,#074a75);
}
.cms-page-template-landing .cms-page-hero:not(.has-image) { grid-template-columns:1fr; }
.cms-page-template-landing .cms-page-hero:not(.has-image) .cms-page-hero-copy {
  padding-right:min(28vw,340px);
  background:
    radial-gradient(circle at 84% 32%,rgba(30,144,207,.34) 0 2px,transparent 3px),
    linear-gradient(132deg,#052c4b 0%,#074a75 72%,#0877ae 100%);
}
.cms-page-template-landing .cms-page-hero:not(.has-image)::before {
  content:'';
  position:absolute;
  right:-8%;
  top:-70%;
  width:55%;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
}
.cms-page-template-landing .cms-page-hero-media { min-height:480px; }
.cms-page-template-landing .cms-page-hero h1 { max-width:12ch; color:#fff; font-size:clamp(3rem,5vw,5rem); }
.cms-page-template-landing .cms-page-hero .eyebrow { color:#f3bd50; }
.cms-page-template-landing .cms-page-hero .lead { color:#e3edf3; }
.cms-page-template-landing .cms-page-reading-frame {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  max-width:980px;
  margin-inline:auto;
}
.cms-page-template-landing .cms-page-content { max-width:900px; font-size:1.05rem; }
.cms-page-template-landing .cms-page-content h2 {
  padding-left:1.25rem;
  border-left:4px solid #e2a11f;
}

/* 3. Vodič sa sadržajem */
.cms-page-template-sidebar .cms-page-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  border:0;
  color:#fff;
  background:linear-gradient(112deg,#052c4b,#075480);
}
.cms-page-template-sidebar .cms-page-hero-copy { padding:clamp(30px,4.5vw,52px); }
.cms-page-template-sidebar .cms-page-hero.has-image { grid-template-columns:minmax(0,1fr) minmax(280px,.52fr); }
.cms-page-template-sidebar .cms-page-hero-media { min-height:280px; }
.cms-page-template-sidebar .cms-page-hero h1 { max-width:18ch; color:#fff; font-size:clamp(2.5rem,4.2vw,4rem); }
.cms-page-template-sidebar .cms-page-hero .eyebrow { color:#efb94b; }
.cms-page-template-sidebar .cms-page-hero .lead { color:#dce9f0; }
.cms-page-sidebar-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(265px,315px);
  gap:clamp(28px,5vw,68px);
  align-items:start;
}
.cms-page-sidebar-layout .cms-page-content {
  max-width:none;
  padding:clamp(28px,4vw,48px);
  border-left:4px solid #0b73b9;
  border-radius:0 14px 14px 0;
  background:#fff;
  box-shadow:0 16px 44px rgba(4,38,65,.07);
}
.cms-page-section-nav {
  position:sticky;
  top:96px;
  display:grid;
  gap:6px;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:14px;
  color:#fff;
  background:#073b61;
  box-shadow:0 18px 46px rgba(3,37,63,.16);
}
.cms-page-section-nav>.eyebrow { margin:0; padding:1.35rem 1.35rem 0; color:#f1b947; }
.cms-page-section-nav>strong { padding:0 1.35rem 1.1rem; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; font-weight:500; }
.cms-page-section-nav>p:not(.eyebrow) { margin:0; padding:0 1.35rem 1.35rem; color:#d4e2eb; font-size:.88rem; line-height:1.55; }
.cms-page-section-nav nav { display:grid; counter-reset:cms-nav; border-top:1px solid rgba(255,255,255,.14); }
.cms-page-section-nav nav a {
  counter-increment:cms-nav;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 17px;
  gap:.65rem;
  align-items:center;
  padding:.9rem 1.15rem;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:.86rem;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  transition:background .18s ease;
}
.cms-page-section-nav nav a::before { content:counter(cms-nav,decimal-leading-zero); color:#f0b341; font-size:.7rem; letter-spacing:.04em; }
.cms-page-section-nav nav a:hover { background:rgba(255,255,255,.09); }
.cms-page-section-nav nav a.is-level-3 { padding-left:2rem; color:#d6e4ed; font-size:.8rem; font-weight:600; }
.cms-page-section-nav nav a svg { width:15px; height:15px; }
.cms-page-sidebar-layout [id] { scroll-margin-top:120px; }

/* 4. Pregled u blokovima */
.cms-page-template-cards .cms-page-hero {
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.cms-page-template-cards .cms-page-hero::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:72px;
  height:4px;
  background:#e4a11b;
}
.cms-page-template-cards .cms-page-hero-copy { max-width:880px; padding:30px 0 0; }
.cms-page-template-cards .cms-page-hero.has-image {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.66fr);
  gap:36px;
  align-items:center;
}
.cms-page-template-cards .cms-page-hero-media { min-height:270px; border-radius:14px; }
.cms-page-template-cards .cms-page-hero h1 { max-width:18ch; font-size:clamp(2.65rem,4.5vw,4.35rem); }
.cms-page-card-intro { max-width:800px; margin:0 0 1.75rem; color:#405f76; font-size:1.05rem; }
.cms-page-card-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
  counter-reset:cms-card;
}
.cms-page-content-card {
  counter-increment:cms-card;
  position:relative;
  grid-column:span 6;
  min-width:0;
  overflow:hidden;
  padding:clamp(1.5rem,2.7vw,2.35rem);
  border:1px solid #d4e2ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 36px rgba(4,38,65,.07);
}
.cms-page-content-card::before {
  content:counter(cms-card,decimal-leading-zero);
  display:block;
  margin-bottom:1.5rem;
  color:#b77908;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}
.cms-page-content-card:nth-child(4n+1) { grid-column:span 7; border-color:#0b4b77; color:#e9f2f7; background:linear-gradient(145deg,#063454,#07527f); }
.cms-page-content-card:nth-child(4n+2) { grid-column:span 5; background:#eef6fa; }
.cms-page-content-card:nth-child(4n+3) { grid-column:span 5; }
.cms-page-content-card:nth-child(4n+4) { grid-column:span 7; background:#f8fafb; }
.cms-page-content-card:nth-child(4n+1)::before { color:#f1bc4e; }
.cms-page-content-card h2:first-child { margin:0 0 .85rem; color:#073758; font-size:clamp(1.55rem,2.25vw,2.15rem); line-height:1.08; }
.cms-page-content-card:nth-child(4n+1) h2,
.cms-page-content-card:nth-child(4n+1) h3,
.cms-page-content-card:nth-child(4n+1) h4,
.cms-page-content-card:nth-child(4n+1) a { color:#fff; }
.cms-page-content-card:nth-child(4n+1) p,
.cms-page-content-card:nth-child(4n+1) li { color:#dce9f0; }
.cms-page-content-card h3 { font-size:1.1rem; }
.cms-page-content-card>:last-child { margin-bottom:0; }

/* Kontrolirane CMS sekcije: jednostavna baza koja se prilagođava predlošku. */
.cms-page-sections { display:grid; gap:clamp(28px,4vw,54px); }
.cms-content-section { min-width:0; }
.cms-content-section > h2,
.cms-content-section > .cms-rich-text > h2:first-child,
.cms-content-section.cms-rich-text > h2:first-child {
  margin-top:0;
}
.cms-content-section-text { max-width:780px; }

.cms-content-section-image {
  display:grid;
  grid-template-columns:minmax(260px,.92fr) minmax(0,1.08fr);
  align-items:center;
  gap:clamp(24px,4vw,52px);
}
.cms-content-section-image.is-image-right { grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr); }
.cms-content-section-image.is-image-right figure { order:2; }
.cms-content-section-image.has-no-image { grid-template-columns:minmax(0,780px); }
.cms-content-section-image figure {
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  margin:0;
  border-radius:18px;
  background:#e8f0f5;
  box-shadow:0 18px 42px rgba(5,43,72,.12);
}
.cms-content-section-image figure::after {
  position:absolute;
  inset:0;
  border:1px solid rgba(7,56,91,.12);
  border-radius:inherit;
  content:"";
  pointer-events:none;
}
.cms-content-section-image img { width:100%; height:100%; object-fit:cover; }
.cms-content-section-image .cms-rich-text > :last-child { margin-bottom:0; }

.cms-content-section-links > h2,
.cms-content-section-documents > h2 {
  margin:0 0 20px;
  color:var(--blue-950);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.8rem,3vw,2.45rem);
  line-height:1.12;
}
.cms-content-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cms-content-link-grid > a {
  display:flex;
  min-height:112px;
  padding:20px;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #cfdee8;
  border-radius:14px;
  color:#0a3e65;
  background:#f8fbfd;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.cms-content-link-grid > a:hover { transform:translateY(-2px); border-color:#7aafd1; box-shadow:0 14px 30px rgba(6,55,87,.1); }
.cms-content-link-grid > a > span { display:grid; gap:5px; }
.cms-content-link-grid strong { font-size:1.05rem; }
.cms-content-link-grid small { color:#63798c; font-size:.86rem; line-height:1.45; }
.cms-content-link-grid > a > svg { width:20px; flex:0 0 20px; color:#d89612; }

.cms-content-document-list { overflow:hidden; border:1px solid #d3dfe8; border-radius:14px; background:#fff; }
.cms-content-document-list > a {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  min-height:78px;
  padding:15px 18px;
  align-items:center;
  gap:14px;
  border-bottom:1px solid #e2e9ef;
  color:#123d5e;
  text-decoration:none;
}
.cms-content-document-list > a:last-child { border-bottom:0; }
.cms-content-document-list > a:hover { background:#f1f7fb; }
.cms-content-document-list > a > svg { color:#0872c9; }
.cms-content-document-list > a > span:nth-child(2) { display:grid; gap:3px; }
.cms-content-document-list strong { font-size:.98rem; }
.cms-content-document-list small { color:#6b7f91; font-size:.8rem; }
.cms-content-document-list > a > span:last-child { display:flex; align-items:center; gap:7px; color:#086bb9; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.cms-content-document-list > a > span:last-child svg { width:16px; }

.cms-page-template-landing .cms-page-sections { gap:clamp(42px,6vw,76px); }
.cms-page-template-landing .cms-content-section-text { max-width:900px; }
.cms-page-template-landing .cms-content-section-image { grid-template-columns:minmax(320px,1fr) minmax(0,1fr); }

.cms-page-template-sidebar .cms-page-sections { gap:34px; }
.cms-page-template-sidebar .cms-content-section-image { grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:28px; }
.cms-page-template-sidebar .cms-content-link-grid { grid-template-columns:1fr; }

.cms-page-structured-cards .cms-page-sections {
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
}
.cms-page-structured-cards .cms-content-section {
  grid-column:span 6;
  max-width:none;
  padding:clamp(22px,3vw,34px);
  border:1px solid #d2dee7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 15px 34px rgba(5,44,73,.075);
}
.cms-page-structured-cards .cms-content-section:nth-child(4n+1) { grid-column:span 7; }
.cms-page-structured-cards .cms-content-section:nth-child(4n+2) { grid-column:span 5; background:#eef6fa; }
.cms-page-structured-cards .cms-content-section-image { grid-template-columns:1fr; align-content:start; }
.cms-page-structured-cards .cms-content-section-image.is-image-right figure { order:0; }
.cms-page-structured-cards .cms-content-section-image figure { aspect-ratio:16/9; box-shadow:none; }
.cms-page-structured-cards .cms-content-link-grid { grid-template-columns:1fr; }
.cms-page-structured-cards .cms-content-link-grid > a { background:#fff; }

@media(max-width:820px) {
  .cms-content-section-image,
  .cms-content-section-image.is-image-right,
  .cms-page-template-landing .cms-content-section-image,
  .cms-page-template-sidebar .cms-content-section-image { grid-template-columns:1fr; }
  .cms-content-section-image.is-image-right figure { order:0; }
  .cms-content-link-grid { grid-template-columns:1fr; }
  .cms-page-structured-cards .cms-content-section,
  .cms-page-structured-cards .cms-content-section:nth-child(n) { grid-column:1/-1; }
}

@media(max-width:560px) {
  .cms-content-section-image figure { border-radius:13px; }
  .cms-content-document-list > a { grid-template-columns:28px minmax(0,1fr); }
  .cms-content-document-list > a > span:last-child { display:none; }
}

@media(max-width:900px) {
  .cms-page-template-default .cms-page-hero.has-image,
  .cms-page-template-landing .cms-page-hero,
  .cms-page-template-sidebar .cms-page-hero.has-image,
  .cms-page-template-cards .cms-page-hero.has-image { grid-template-columns:1fr; }
  .cms-page-template-landing .cms-page-hero-media { min-height:320px; order:-1; }
  .cms-page-sidebar-layout { grid-template-columns:1fr; }
  .cms-page-section-nav { position:static; order:-1; }
}
@media(max-width:700px) {
  .cms-page { width:min(100% - 28px,1180px); padding-block:24px 52px; }
  .cms-page .cms-page-hero { margin-bottom:24px; border-radius:12px; }
  .cms-page .cms-page-hero h1 { font-size:clamp(2.35rem,12vw,3.5rem); }
  .cms-page-template-default .cms-page-hero-copy,
  .cms-page-template-landing .cms-page-hero-copy,
  .cms-page-template-sidebar .cms-page-hero-copy { padding:28px 24px; }
  .cms-page-template-default .cms-page-hero-media,
  .cms-page-template-sidebar .cms-page-hero-media { min-height:230px; }
  .cms-page-template-landing .cms-page-hero { min-height:0; }
  .cms-page-template-landing .cms-page-hero-media { min-height:250px; }
  .cms-page-template-landing .cms-page-hero:not(.has-image) .cms-page-hero-copy { padding-right:24px; }
  .cms-page-template-default .cms-page-reading-frame,
  .cms-page-sidebar-layout .cms-page-content { padding:26px 22px; }
  .cms-page-card-grid { grid-template-columns:1fr; }
  .cms-page-content-card,
  .cms-page-content-card:nth-child(n) { grid-column:auto; }
}

/* CMS page templates v3 — derived from the existing Luka Dubrovnik subpages. */
.cms-page {
  width:100%;
  padding:0 0 clamp(64px,8vw,108px);
}
.cms-page .cms-page-hero {
  position:relative;
  display:grid;
  width:100%;
  min-height:300px;
  margin:0 0 clamp(42px,6vw,76px);
  overflow:hidden;
  align-items:end;
  border:0;
  border-radius:0;
  color:#fff;
  background:linear-gradient(115deg,#062c4d 0%,#075783 100%);
  box-shadow:none;
  isolation:isolate;
}
.cms-page .cms-page-hero::after {
  position:absolute;
  z-index:1;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgba(2,30,55,.95) 0%,rgba(3,42,75,.8) 48%,rgba(3,40,71,.24) 82%,rgba(2,31,55,.34) 100%),linear-gradient(180deg,rgba(2,25,46,.08),rgba(2,28,51,.52));
  pointer-events:none;
}
.cms-page .cms-page-hero-copy {
  z-index:2;
  width:min(1458px,calc(100% - 48px));
  max-width:none;
  margin-inline:auto;
  padding:clamp(105px,10vw,142px) 0 clamp(34px,4vw,48px);
}
.cms-page .cms-page-hero-media {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  min-height:0;
  background:var(--cms-hero-image) center 48%/cover no-repeat;
}
.cms-page .cms-page-hero .eyebrow {
  margin:0 0 .55rem;
  color:#e1aa32;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
}
.cms-page .cms-page-hero h1 {
  max-width:18ch;
  color:#fff;
  font-size:clamp(2.55rem,4.3vw,4.15rem);
  line-height:1;
}
.cms-page .cms-page-hero .lead {
  max-width:760px;
  margin-top:.8rem;
  color:rgba(255,255,255,.86);
  font-size:1.02rem;
  line-height:1.55;
}
.cms-page-reading-frame,
.cms-page-sidebar-layout,
.cms-page-structured-cards,
.cms-page-card-intro,
.cms-page-card-grid,
.cms-page > .cms-page-content,
.cms-template-documents,
.cms-template-port-plan {
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
}
.cms-page-reading-frame,
.cms-page-content,
.cms-page-sections,
.cms-page-section,
.cms-page-section-body,
.cms-rich-text {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.cms-page-content img,
.cms-rich-text img,
.cms-page-section img { max-width:100%; height:auto; }
.cms-page-content table,
.cms-rich-text table { max-width:100%; }
.cms-page .cms-page-hero .lead {
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

/* Standardna stranica: isti mirni ritam kao O nama i korporativne podstranice. */
.cms-page-template-default .cms-page-hero,
.cms-page-template-default .cms-page-hero.has-image {
  grid-template-columns:1fr;
  min-height:300px;
  background:#062f50;
}
.cms-page-template-default .cms-page-hero::before { display:none; }
.cms-page-template-default .cms-page-hero-copy { padding:clamp(105px,10vw,142px) 0 38px; }
.cms-page-template-default .cms-page-reading-frame {
  max-width:1180px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.cms-page-template-default .cms-page-reading-frame::before { display:none; }
.cms-page-template-default .cms-page-content { max-width:880px; }

/* Istaknuta stranica: postojeći fotografski hero, bez podijeljene generičke kartice. */
.cms-page-template-landing .cms-page-hero,
.cms-page-template-landing .cms-page-hero.has-image,
.cms-page-template-landing .cms-page-hero:not(.has-image) {
  grid-template-columns:1fr;
  min-height:clamp(420px,55vh,610px);
  background:linear-gradient(120deg,#052d4d,#07557e);
}
.cms-page-template-landing .cms-page-hero::before { display:none; }
.cms-page-template-landing .cms-page-hero::after {
  left:0;
  bottom:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:linear-gradient(90deg,rgba(2,27,49,.94) 0%,rgba(3,43,74,.68) 52%,rgba(2,31,55,.18) 100%),linear-gradient(0deg,rgba(2,27,49,.62),transparent 58%);
}
.cms-page-template-landing .cms-page-hero-copy,
.cms-page-template-landing .cms-page-hero:not(.has-image) .cms-page-hero-copy {
  display:block;
  width:min(1458px,calc(100% - 48px));
  max-width:none;
  padding:clamp(150px,16vw,230px) 0 clamp(48px,6vw,76px);
  background:transparent;
}
.cms-page-template-landing .cms-page-hero-media { min-height:0; }
.cms-page-template-landing .cms-page-hero h1 { max-width:14ch; font-size:clamp(3rem,5.2vw,5.25rem); }
.cms-page-template-landing .cms-page-reading-frame { max-width:1180px; }
.cms-page-template-landing .cms-page-content { max-width:980px; }
.cms-page-template-landing .cms-page-content h2 { padding-left:0; border-left:0; }

/* Sadržajni vodič: čitljiv tekst i lagani navigacijski pregled. */
.cms-page-template-sidebar .cms-page-hero,
.cms-page-template-sidebar .cms-page-hero.has-image {
  grid-template-columns:1fr;
  min-height:300px;
  background:#062f50;
}
.cms-page-template-sidebar .cms-page-hero-copy { padding:clamp(105px,10vw,142px) 0 38px; }
.cms-page-template-sidebar .cms-page-hero-media { min-height:0; }
.cms-page-template-sidebar .cms-page-hero h1 { max-width:18ch; font-size:clamp(2.55rem,4.3vw,4.15rem); }
.cms-page-sidebar-layout { grid-template-columns:minmax(0,1fr) minmax(250px,300px); gap:clamp(36px,5vw,72px); }
.cms-page-sidebar-layout .cms-page-content {
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.cms-page-section-nav {
  top:106px;
  gap:0;
  overflow:hidden;
  padding:0;
  border:1px solid #d5e2ea;
  border-top:3px solid #0b70b7;
  border-radius:0 0 12px 12px;
  color:#173f5d;
  background:#fff;
  box-shadow:0 14px 34px rgba(4,38,65,.07);
}
.cms-page-section-nav > .eyebrow { padding:1.25rem 1.25rem 0; color:#b77908; }
.cms-page-section-nav > strong { padding:0 1.25rem 1rem; color:#073555; font-family:inherit; font-size:1rem; font-weight:800; }
.cms-page-section-nav > p:not(.eyebrow) { color:#60798d; }
.cms-page-section-nav nav { border-top:1px solid #e0e8ee; }
.cms-page-section-nav nav a {
  grid-template-columns:24px minmax(0,1fr) 16px;
  border-bottom:1px solid #e5ebf0;
  color:#164766;
  background:#fff;
}
.cms-page-section-nav nav a::before { color:#b77908; }
.cms-page-section-nav nav a:hover { background:#eef6fa; }
.cms-page-section-nav nav a.is-level-3 { color:#597286; }

/* Sadržajne sekcije nasljeđuju ritam stvarnih podstranica. */
.cms-page-sections { gap:clamp(38px,5vw,68px); }
.cms-content-section-text { max-width:880px; }
.cms-content-section-image { grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr); gap:clamp(30px,5vw,72px); }
.cms-content-section-image.is-image-right { grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); }
.cms-content-section-image figure { aspect-ratio:16/10; border-radius:10px; box-shadow:0 16px 36px rgba(5,43,72,.1); }
.cms-content-link-grid { gap:0; border-top:1px solid #d8e2e9; }
.cms-content-link-grid > a {
  min-height:92px;
  padding:18px 16px;
  border:0;
  border-bottom:1px solid #d8e2e9;
  border-radius:0;
  background:transparent;
}
.cms-content-link-grid > a:hover { transform:none; padding-left:22px; background:#f0f6f9; box-shadow:none; }

@media(max-width:900px) {
  .cms-page-sidebar-layout { grid-template-columns:1fr; }
  .cms-page-section-nav { position:static; order:-1; }
  .cms-content-section-image,
  .cms-content-section-image.is-image-right,
  .cms-page-template-landing .cms-content-section-image,
  .cms-page-template-sidebar .cms-content-section-image { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .cms-page .cms-page-hero,
  .cms-page-template-default .cms-page-hero,
  .cms-page-template-sidebar .cms-page-hero { min-height:250px; margin-bottom:34px; border-radius:0; }
  .cms-page-template-landing .cms-page-hero { min-height:360px; }
  .cms-page .cms-page-hero-copy,
  .cms-page-template-default .cms-page-hero-copy,
  .cms-page-template-sidebar .cms-page-hero-copy,
  .cms-page-template-landing .cms-page-hero-copy,
  .cms-page-template-landing .cms-page-hero:not(.has-image) .cms-page-hero-copy {
    width:min(100% - 30px,1458px);
    padding:96px 0 26px;
  }
  .cms-page-template-landing .cms-page-hero-copy,
  .cms-page-template-landing .cms-page-hero:not(.has-image) .cms-page-hero-copy { padding-bottom:38px; }
  .cms-page .cms-page-hero h1 { font-size:clamp(2.3rem,11vw,3.4rem); }
  .cms-page-reading-frame,
  .cms-page-sidebar-layout,
  .cms-page-structured-cards,
  .cms-page-card-intro,
  .cms-page-card-grid,
  .cms-page > .cms-page-content,
  .cms-template-documents,
  .cms-template-port-plan { width:min(100% - 30px,1180px); }
  .cms-content-link-grid { grid-template-columns:1fr; }
}

/* Zavrsni raspored mehanizacije: tri siroke kartice, zatim dvije centrirane. */
.machinery-overview .phase2-shell,
.machinery-purpose .phase2-shell {
  width:min(1500px,calc(100% - 64px));
}
.machinery-equipment-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:28px;
}
.machinery-equipment-card {
  grid-column:span 2;
  min-width:0;
}
.machinery-equipment-card:nth-last-child(2):nth-child(3n+1) {
  grid-column:2/span 2;
}
.machinery-equipment-visual,
.machinery-equipment-gallery {
  min-height:270px;
}
.machinery-equipment-gallery img {
  min-height:270px;
  object-fit:cover;
}
.machinery-equipment-copy {
  padding:26px 28px 28px;
}
.machinery-equipment-copy h3 {
  font-size:1.18rem;
  line-height:1.35;
}
.machinery-purpose-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px;
}
.machinery-purpose-grid > article {
  min-height:180px;
  padding:30px;
}

@media(max-width:1050px) {
  .machinery-overview .phase2-shell,
  .machinery-purpose .phase2-shell {
    width:min(100% - 40px,1500px);
  }
  .machinery-equipment-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px;
  }
  .machinery-equipment-card,
  .machinery-equipment-card:nth-last-child(2):nth-child(3n+1) {
    grid-column:auto;
  }
}

@media(max-width:650px) {
  .machinery-overview .phase2-shell,
  .machinery-purpose .phase2-shell {
    width:min(100% - 30px,1500px);
  }
  .machinery-equipment-grid,
  .machinery-purpose-grid {
    grid-template-columns:1fr !important;
  }
  .machinery-equipment-visual,
  .machinery-equipment-gallery,
  .machinery-equipment-gallery img {
    min-height:230px;
  }
  .machinery-equipment-copy {
    padding:22px;
  }
}

/* Multimedia v2: editorial film and lightweight book reader */
.multimedia-page-v2 { background: #fff; color: #062e50; }
.multimedia-page-v2 .multimedia-hero-v2 { position: relative; min-height: 430px; display: flex; align-items: flex-end; overflow: hidden; background: #062e50; }
.multimedia-page-v2 .multimedia-hero-v2 .subpage-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.multimedia-page-v2 .multimedia-hero-v2 .subpage-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,35,61,.94) 0%, rgba(3,45,77,.78) 44%, rgba(3,45,77,.28) 100%), linear-gradient(0deg, rgba(2,28,50,.58), transparent 62%); }
.multimedia-page-v2 .multimedia-hero-v2 .subpage-hero-inner { position: relative; z-index: 1; width: 100%; padding-top: 118px; padding-bottom: 58px; color: #fff; }
.multimedia-page-v2 .subpage-breadcrumb { display: flex; align-items: center; gap: 10px; margin-bottom: 30px; color: rgba(255,255,255,.78); font-size: 13px; }
.multimedia-page-v2 .subpage-breadcrumb a { color: inherit; text-decoration: none; }
.multimedia-page-v2 .subpage-eyebrow { margin: 0 0 12px; color: #d89a12; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.multimedia-page-v2 .multimedia-hero-v2 .subpage-eyebrow { color: #f2b324; }
.multimedia-page-v2 .multimedia-hero-v2 h1 { max-width: 760px; margin: 0; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(52px, 6vw, 86px); font-weight: 400; line-height: .98; }
.multimedia-page-v2 .multimedia-hero-v2 .subpage-lead { max-width: 680px; margin: 22px 0 0; color: rgba(255,255,255,.88); font-size: 18px; line-height: 1.7; }
.multimedia-film-v2 { padding: 92px 0 104px; background: #fff; }
.multimedia-film-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(520px,1.28fr); gap: clamp(52px,7vw,110px); align-items: center; }
.multimedia-film-copy h2, .multimedia-reading-head h2 { margin: 0; color: #06365a; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(40px,4vw,64px); font-weight: 400; line-height: 1.05; }
.multimedia-film-copy > p:not(.subpage-eyebrow) { max-width: 470px; margin: 24px 0; color: #496a84; font-size: 17px; line-height: 1.75; }
.multimedia-text-link { display: inline-flex; gap: 9px; align-items: center; color: #007cc3; font-weight: 800; text-decoration: none; }
.multimedia-text-link:hover { color: #c88400; }
.multimedia-video-wrap { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px; background: #062e50; box-shadow: 0 28px 60px rgba(4,47,80,.18); }
.multimedia-video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.multimedia-reading-room { padding: 90px 0 96px; overflow: hidden; background: linear-gradient(180deg, #edf5f8 0%, #f8fbfc 55%, #fff 100%); border-top: 1px solid #d9e6ec; }
.multimedia-reading-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 34px; }
.multimedia-reading-head > div:first-child { max-width: 720px; }
.multimedia-reading-head p:not(.subpage-eyebrow) { max-width: 650px; margin: 18px 0 0; color: #4c6b82; font-size: 16px; line-height: 1.7; }
.multimedia-document-links { display: flex; flex-wrap: wrap; gap: 10px; }
.multimedia-document-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px; border: 1px solid #096a9f; border-radius: 8px; font-size: 14px; font-weight: 800; text-decoration: none; }
.multimedia-pdf-primary { color: #fff; background: #075b8c; }
.multimedia-pdf-secondary { color: #075b8c; background: rgba(255,255,255,.75); }
.multimedia-reader-shell { --drag-angle: 0deg; position: relative; }
.multimedia-book-toolbar { position: relative; z-index: 5; display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; max-width: 100%; margin: 0 auto 22px; padding: 8px; border: 1px solid #c9dbe5; border-radius: 12px; background: rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(7,55,87,.08); backdrop-filter: blur(12px); }
.multimedia-book-toolbar button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 13px; border: 0; border-radius: 8px; color: #083c62; background: transparent; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.multimedia-book-toolbar button:hover:not(:disabled) { color: #fff; background: #0876b3; }
.multimedia-book-toolbar button:disabled { opacity: .34; cursor: not-allowed; }
.multimedia-book-toolbar button.is-icon { width: 40px; padding: 0; font-size: 21px; }
.multimedia-book-toolbar strong { min-width: 90px; text-align: center; color: #062e50; font-size: 14px; }
.multimedia-toolbar-divider { width: 1px; height: 25px; margin: 0 2px; background: #cfdee6; }
.multimedia-book-stage { position: relative; width: 100%; min-height: 610px; display: grid; place-items: center; padding: clamp(24px,4vw,58px); perspective: 2200px; cursor: grab; touch-action: pan-y; }
.multimedia-book-stage::before { content: ''; position: absolute; inset: 12% 5% 2%; border-radius: 50%; background: radial-gradient(ellipse, rgba(7,49,79,.16), rgba(7,49,79,0) 68%); filter: blur(22px); }
.multimedia-book-stage.is-dragging { cursor: grabbing; user-select: none; }
.multimedia-book-spread { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; width: min(1050px, 100%); transform-style: preserve-3d; }
.multimedia-book-spread::after { content: ''; position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; width: 26px; transform: translateX(-50%); pointer-events: none; background: linear-gradient(90deg, rgba(0,25,42,.12), rgba(255,255,255,.34) 46%, rgba(0,25,42,.15)); opacity: .72; }
.multimedia-book-page { position: relative; display: grid; place-items: center; min-width: 0; aspect-ratio: 640 / 726; overflow: hidden; background: #fffef9; box-shadow: 0 18px 42px rgba(4,40,66,.18); backface-visibility: hidden; transform-style: preserve-3d; transition: transform .24s ease, box-shadow .24s ease; }
.multimedia-book-page.is-left { transform-origin: right center; border-radius: 7px 1px 1px 7px; }
.multimedia-book-page.is-right { transform-origin: left center; border-radius: 1px 7px 7px 1px; }
.multimedia-book-page.is-empty { visibility: hidden; box-shadow: none; }
.multimedia-book-page canvas, .multimedia-book-page img { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.multimedia-book-page canvas[hidden], .multimedia-book-page img[hidden] { display: none; }
.multimedia-book-stage.is-drag-next .multimedia-book-page.is-right { transform: rotateY(var(--drag-angle)); box-shadow: -22px 18px 42px rgba(4,40,66,.2); }
.multimedia-book-stage.is-drag-prev .multimedia-book-page.is-left { transform: rotateY(var(--drag-angle)); box-shadow: 22px 18px 42px rgba(4,40,66,.2); }
.multimedia-book-loading { position: absolute; z-index: 7; left: 50%; bottom: 5px; transform: translateX(-50%); padding: 8px 13px; border-radius: 999px; color: #365c76; background: rgba(255,255,255,.9); font-size: 12px; box-shadow: 0 6px 18px rgba(7,55,87,.1); }
.multimedia-book-loading[hidden], .multimedia-book-error[hidden] { display: none; }
.multimedia-book-hint { margin: 4px 0 0; color: #678296; font-size: 13px; text-align: center; }
.multimedia-book-error { margin: 14px auto 0; color: #8a351f; text-align: center; }
.multimedia-book-error a, .multimedia-article-note a { color: #0876b3; font-weight: 800; }
.multimedia-article-note { margin: 36px 0 0; color: #627f92; font-size: 14px; text-align: center; }
.multimedia-reader-shell:fullscreen { overflow: auto; padding: 18px; background: #eaf3f6; }
.multimedia-reader-shell:fullscreen .multimedia-book-stage { min-height: calc(100vh - 110px); }
@media (max-width: 900px) {
  .multimedia-page-v2 .multimedia-hero-v2 { min-height: 390px; }
  .multimedia-film-v2 { padding: 68px 0 76px; }
  .multimedia-film-layout { grid-template-columns: 1fr; gap: 34px; }
  .multimedia-film-copy { max-width: 650px; }
  .multimedia-reading-head { align-items: flex-start; flex-direction: column; }
  .multimedia-book-stage { min-height: 500px; padding-inline: 8px; }
}
@media (max-width: 760px) {
  .multimedia-page-v2 .multimedia-hero-v2 { min-height: 360px; }
  .multimedia-page-v2 .multimedia-hero-v2 .subpage-hero-inner { padding-top: 108px; padding-bottom: 42px; }
  .multimedia-page-v2 .subpage-breadcrumb { margin-bottom: 20px; }
  .multimedia-page-v2 .multimedia-hero-v2 h1 { font-size: clamp(46px,15vw,66px); }
  .multimedia-page-v2 .multimedia-hero-v2 .subpage-lead { font-size: 16px; }
  .multimedia-film-v2, .multimedia-reading-room { padding: 58px 0 66px; }
  .multimedia-film-copy h2, .multimedia-reading-head h2 { font-size: 42px; }
  .multimedia-document-links { width: 100%; }
  .multimedia-document-links a { flex: 1 1 auto; justify-content: center; }
  .multimedia-book-toolbar { gap: 4px; width: 100%; justify-content: space-between; }
  .multimedia-book-toolbar button { padding: 0 10px; }
  .multimedia-book-toolbar .toolbar-label, .multimedia-toolbar-divider { display: none; }
  .multimedia-book-toolbar strong { min-width: 74px; font-size: 13px; }
  .multimedia-book-stage { min-height: 440px; padding: 18px 0 34px; }
  .multimedia-book-spread { grid-template-columns: 1fr; width: min(520px, 94vw); }
  .multimedia-book-spread::after { display: none; }
  .multimedia-book-spread.is-single-page .multimedia-book-page.is-left { grid-area: 1 / 1; }
  .multimedia-book-spread.is-single-page .multimedia-book-page.is-right { grid-area: 1 / 1; }
  .multimedia-book-page { border-radius: 7px !important; }
  .multimedia-book-hint { padding: 0 18px; line-height: 1.55; }
}

/* Multimedia v3: bijela citateljska ploca s diskretnom kontrolnom trakom. */
.multimedia-page-v2 .multimedia-reading-room {
  padding:72px 0 78px;
  background:#eef4f7;
}
.multimedia-page-v2 .multimedia-reading-room > .phase2-shell {
  display:grid;
  grid-template-columns:minmax(270px,.52fr) minmax(620px,1.48fr);
  gap:28px;
  align-items:stretch;
  padding:22px;
  border:1px solid #cbdce5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 22px 58px rgba(5,47,77,.09);
}
.multimedia-page-v2 .multimedia-reading-head {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  margin:0;
  padding:34px 22px;
}
.multimedia-page-v2 .multimedia-reading-head > div:first-child { max-width:390px; }
.multimedia-page-v2 .multimedia-reading-head h2 { font-size:clamp(2.35rem,3.25vw,3.65rem); }
.multimedia-page-v2 .multimedia-reading-head p:not(.subpage-eyebrow) { margin-top:17px; font-size:.94rem; line-height:1.7; }
.multimedia-page-v2 .multimedia-document-links {
  display:grid;
  grid-template-columns:1fr;
  width:100%;
  max-width:250px;
  margin-top:28px;
}
.multimedia-page-v2 .multimedia-document-links a { justify-content:space-between; }
.multimedia-page-v2 .multimedia-reader-shell {
  align-self:stretch;
  overflow:hidden;
  border:1px solid #d5e1e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 38px rgba(5,43,70,.11);
}
.multimedia-page-v2 .multimedia-book-stage {
  min-height:520px;
  padding:30px clamp(22px,3.5vw,52px);
  background:
    radial-gradient(ellipse at 50% 92%,rgba(4,45,73,.08),transparent 52%),
    #fff;
}
.multimedia-page-v2 .multimedia-book-stage::before { inset:18% 8% 4%; opacity:.72; }
.multimedia-page-v2 .multimedia-book-spread { width:min(880px,100%); }
.multimedia-page-v2 .multimedia-book-page { box-shadow:0 15px 34px rgba(3,35,57,.17); }
.multimedia-page-v2 .multimedia-book-toolbar {
  width:100%;
  max-width:none;
  min-height:58px;
  justify-content:center;
  margin:0;
  padding:8px 14px;
  border:0;
  border-top:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:linear-gradient(90deg,#062f50,#07456f);
  box-shadow:none;
  backdrop-filter:none;
}
.multimedia-page-v2 .multimedia-book-toolbar button { color:#fff; }
.multimedia-page-v2 .multimedia-book-toolbar button:hover:not(:disabled) { color:#062f50; background:#e4ad2d; }
.multimedia-page-v2 .multimedia-book-toolbar strong { color:#fff; }
.multimedia-page-v2 .multimedia-toolbar-divider { background:rgba(255,255,255,.28); }
.multimedia-page-v2 .multimedia-book-hint {
  margin:0;
  padding:11px 16px 13px;
  border-top:1px solid #e0e8ed;
  color:#647f92;
  background:#fff;
  font-size:.72rem;
}
.multimedia-page-v2 .multimedia-book-error { padding:0 16px 14px; }
.multimedia-page-v2 .multimedia-article-note {
  grid-column:1/-1;
  margin:0;
  padding:4px 8px 0;
}
.multimedia-page-v2 .multimedia-reader-shell:fullscreen { background:#fff; }

@media(max-width:1100px) {
  .multimedia-page-v2 .multimedia-reading-room > .phase2-shell { grid-template-columns:1fr; }
  .multimedia-page-v2 .multimedia-reading-head { padding:24px 18px 12px; }
  .multimedia-page-v2 .multimedia-reading-head > div:first-child { max-width:720px; }
  .multimedia-page-v2 .multimedia-document-links { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:430px; }
}
@media(max-width:760px) {
  .multimedia-page-v2 .multimedia-reading-room { padding:48px 0 56px; }
  .multimedia-page-v2 .multimedia-reading-room > .phase2-shell {
    width:min(100% - 24px,1458px);
    gap:18px;
    padding:12px;
    border-radius:12px;
  }
  .multimedia-page-v2 .multimedia-reading-head { padding:22px 10px 8px; }
  .multimedia-page-v2 .multimedia-reading-head h2 { font-size:2.45rem; }
  .multimedia-page-v2 .multimedia-document-links { grid-template-columns:1fr; max-width:none; }
  .multimedia-page-v2 .multimedia-book-stage { min-height:420px; padding:20px 6px 26px; }
  .multimedia-page-v2 .multimedia-reader-shell { border-radius:10px; }
  .multimedia-page-v2 .multimedia-book-toolbar { min-height:54px; }
}
/* Multimedia v4: kompaktniji raspored prema odobrenoj referenci. */
.multimedia-page-v2 .multimedia-film-v2 {
  padding:46px 0 18px;
  background:#eef4f7;
}
.multimedia-page-v2 .multimedia-film-layout {
  grid-template-columns:minmax(250px,.62fr) minmax(500px,1.38fr);
  gap:34px;
  padding:26px;
  border:1px solid #cbdce5;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 42px rgba(5,47,77,.07);
}
.multimedia-page-v2 .multimedia-film-copy { min-width:0; padding:6px 4px 6px 2px; }
.multimedia-page-v2 .multimedia-film-copy h2 {
  max-width:390px;
  font-size:clamp(2rem,2.8vw,2.8rem);
  line-height:1.08;
}
.multimedia-page-v2 .multimedia-film-copy > p:not(.subpage-eyebrow) {
  margin:18px 0;
  font-size:.92rem;
  line-height:1.65;
}
.multimedia-page-v2 .multimedia-video-wrap {
  border-radius:10px;
  box-shadow:0 14px 32px rgba(4,47,80,.14);
}
.multimedia-page-v2 .multimedia-reading-room {
  padding:18px 0 62px;
  border-top:0;
  background:#eef4f7;
}
.multimedia-page-v2 .multimedia-reading-room > .phase2-shell {
  grid-template-columns:minmax(235px,.42fr) minmax(540px,1.58fr);
  gap:22px;
  padding:20px;
  border-radius:14px;
  box-shadow:0 16px 42px rgba(5,47,77,.07);
}
.multimedia-page-v2 .multimedia-reading-head {
  min-width:0;
  padding:26px 18px;
}
.multimedia-page-v2 .multimedia-reading-head > div:first-child { width:100%; max-width:300px; }
.multimedia-page-v2 .multimedia-reading-head h2 {
  max-width:280px;
  font-size:clamp(2rem,2.7vw,2.65rem);
  line-height:1.08;
  overflow-wrap:normal;
}
.multimedia-page-v2 .multimedia-reading-head p:not(.subpage-eyebrow) {
  margin-top:15px;
  font-size:.82rem;
  line-height:1.62;
}
.multimedia-page-v2 .multimedia-document-links { max-width:220px; margin-top:22px; }
.multimedia-page-v2 .multimedia-document-links a { min-height:42px; padding-inline:15px; font-size:.75rem; }
.multimedia-page-v2 .multimedia-reader-shell { border-radius:11px; box-shadow:0 12px 30px rgba(5,43,70,.09); }
.multimedia-page-v2 .multimedia-book-stage {
  min-height:400px;
  padding:20px 30px;
}
.multimedia-page-v2 .multimedia-book-spread { width:min(700px,100%); }
.multimedia-page-v2 .multimedia-book-toolbar { min-height:52px; padding-block:6px; }
.multimedia-page-v2 .multimedia-book-hint { padding:8px 14px 10px; font-size:.66rem; }
.multimedia-page-v2 .multimedia-article-note { font-size:.72rem; }

@media(max-width:1100px) {
  .multimedia-page-v2 .multimedia-film-layout { grid-template-columns:1fr; }
  .multimedia-page-v2 .multimedia-film-copy h2 { max-width:650px; }
  .multimedia-page-v2 .multimedia-reading-room > .phase2-shell { grid-template-columns:1fr; }
  .multimedia-page-v2 .multimedia-reading-head > div:first-child,
  .multimedia-page-v2 .multimedia-reading-head h2 { max-width:680px; }
  .multimedia-page-v2 .multimedia-reading-head p:not(.subpage-eyebrow) { max-width:680px; }
  .multimedia-page-v2 .multimedia-document-links { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:420px; }
}
@media(max-width:760px) {
  .multimedia-page-v2 .multimedia-film-v2 { padding:30px 0 10px; }
  .multimedia-page-v2 .multimedia-film-layout { width:min(100% - 24px,1458px); gap:22px; padding:18px; }
  .multimedia-page-v2 .multimedia-film-copy h2 { font-size:2rem; }
  .multimedia-page-v2 .multimedia-reading-room { padding:10px 0 42px; }
  .multimedia-page-v2 .multimedia-reading-head { padding:20px 8px 6px; }
  .multimedia-page-v2 .multimedia-reading-head h2 { font-size:2rem; }
  .multimedia-page-v2 .multimedia-document-links { grid-template-columns:1fr; max-width:none; }
  .multimedia-page-v2 .multimedia-book-stage { min-height:360px; padding:16px 4px 22px; }
  .multimedia-page-v2 .multimedia-book-spread { width:min(430px,92vw); }
}
/* Multimedia v5: raspored prema dostavljenoj referenci. */
.multimedia-page-v2 .multimedia-overview-v5 {
  padding:38px 0 16px;
  background:#eef4f7;
}
.multimedia-page-v2 .multimedia-overview-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.multimedia-page-v2 .multimedia-overview-card {
  min-width:0;
  padding:22px;
  border:1px solid #cbdce5;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 32px rgba(5,47,77,.06);
}
.multimedia-page-v2 .multimedia-overview-card h2 {
  margin:0;
  color:#06365a;
  font:500 clamp(1.65rem,2.2vw,2.15rem)/1.08 Georgia,'Times New Roman',serif;
  letter-spacing:-.02em;
}
.multimedia-page-v2 .multimedia-overview-card > p:not(.subpage-eyebrow),
.multimedia-page-v2 .multimedia-book-card-v5 > div > p:not(.subpage-eyebrow) {
  margin:12px 0 16px;
  color:#557288;
  font-size:.78rem;
  line-height:1.6;
}
.multimedia-page-v2 .multimedia-film-card-v5 .multimedia-video-wrap {
  margin:15px 0 13px;
  border-radius:7px;
  box-shadow:none;
}
.multimedia-page-v2 .multimedia-film-card-v5 .multimedia-text-link,
.multimedia-page-v2 .multimedia-book-card-v5 .multimedia-text-link { font-size:.74rem; }
.multimedia-page-v2 .multimedia-book-card-v5 {
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:22px;
  align-items:center;
}
.multimedia-page-v2 .multimedia-book-card-v5 > div { min-width:0; }
.multimedia-page-v2 .multimedia-book-card-v5 blockquote {
  margin:18px 0;
  padding:4px 0 4px 14px;
  border-left:2px solid #dfa527;
  color:#173f5d;
  font:600 1rem/1.35 Georgia,'Times New Roman',serif;
}
.multimedia-page-v2 .multimedia-book-card-v5 img {
  display:block;
  width:100%;
  max-height:270px;
  object-fit:contain;
  border-radius:5px;
  box-shadow:0 10px 24px rgba(4,38,64,.16);
}
.multimedia-page-v2 .multimedia-reading-room { padding:0 0 54px; }
.multimedia-page-v2 .multimedia-reading-room > .phase2-shell {
  grid-template-columns:250px minmax(0,1fr);
  gap:20px;
  padding:20px;
  border-radius:12px;
}
.multimedia-page-v2 .multimedia-reading-head { padding:20px 12px; }
.multimedia-page-v2 .multimedia-reading-head > div:first-child,
.multimedia-page-v2 .multimedia-reading-head h2 { max-width:230px; }
.multimedia-page-v2 .multimedia-reading-head h2 {
  font-size:1.85rem;
  line-height:1.12;
  letter-spacing:-.015em;
}
.multimedia-page-v2 .multimedia-reading-head p:not(.subpage-eyebrow) {
  margin-top:13px;
  font-size:.73rem;
  line-height:1.58;
}
.multimedia-page-v2 .multimedia-document-links {
  grid-template-columns:1fr;
  max-width:190px;
  margin-top:18px;
}
.multimedia-page-v2 .multimedia-document-links a { min-height:40px; font-size:.7rem; }
.multimedia-page-v2 .multimedia-book-stage {
  min-height:340px;
  padding:14px 26px;
}
.multimedia-page-v2 .multimedia-book-spread { width:min(590px,100%); }
.multimedia-page-v2 .multimedia-book-toolbar { min-height:48px; }
.multimedia-page-v2 .multimedia-book-toolbar button { min-height:34px; font-size:.7rem; }
.multimedia-page-v2 .multimedia-book-toolbar button.is-icon { width:34px; font-size:1rem; }
.multimedia-page-v2 .multimedia-book-toolbar strong { font-size:.72rem; }
.multimedia-page-v2 .multimedia-book-hint { font-size:.62rem; }

@media(max-width:900px) {
  .multimedia-page-v2 .multimedia-overview-grid { grid-template-columns:1fr; }
  .multimedia-page-v2 .multimedia-book-card-v5 { grid-template-columns:minmax(0,1fr) 170px; }
  .multimedia-page-v2 .multimedia-reading-room > .phase2-shell { grid-template-columns:1fr; }
  .multimedia-page-v2 .multimedia-reading-head > div:first-child,
  .multimedia-page-v2 .multimedia-reading-head h2 { max-width:680px; }
  .multimedia-page-v2 .multimedia-document-links { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:390px; }
}
@media(max-width:560px) {
  .multimedia-page-v2 .multimedia-overview-v5 { padding-top:24px; }
  .multimedia-page-v2 .multimedia-overview-grid { width:min(100% - 24px,1458px); }
  .multimedia-page-v2 .multimedia-overview-card { padding:17px; }
  .multimedia-page-v2 .multimedia-overview-card h2 { font-size:1.65rem; }
  .multimedia-page-v2 .multimedia-book-card-v5 { grid-template-columns:1fr; }
  .multimedia-page-v2 .multimedia-book-card-v5 img { width:min(180px,70%); margin:0 auto; }
  .multimedia-page-v2 .multimedia-document-links { grid-template-columns:1fr; max-width:none; }
  .multimedia-page-v2 .multimedia-book-stage { min-height:320px; padding:12px 4px 18px; }
}

/* Ujednacena sirina sadrzaja na glavnim javnim podstranicama. */
.port-plan-section.phase2-shell,
.port-plan-technical .phase2-shell,
.storage-overview .phase2-shell,
.storage-comparison .phase2-shell,
.storage-contact .phase2-shell,
.parking-page .phase2-shell,
.contact-pro-shell {
  width:min(1500px,calc(100% - 64px));
  max-width:none;
}

@media(max-width:1050px) {
  .port-plan-section.phase2-shell,
  .port-plan-technical .phase2-shell,
  .storage-overview .phase2-shell,
  .storage-comparison .phase2-shell,
  .storage-contact .phase2-shell,
  .parking-page .phase2-shell,
  .contact-pro-shell {
    width:min(100% - 40px,1500px);
  }
}

/* Cinematic history timeline */
.about-timeline-section {
  padding:84px 0 78px;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 14%,rgba(29,117,168,.22),transparent 30%),
    linear-gradient(145deg,#031d31 0%,#062f4d 100%);
}
.about-timeline-experience {
  position:relative;
}
.about-timeline-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:3rem;
  margin-bottom:2rem;
}
.about-timeline-heading .about-section-kicker {
  margin:0 0 .7rem;
  color:#efb532;
}
.about-timeline-heading h2 {
  margin:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.55rem,4.7vw,5rem);
  font-weight:500;
  line-height:1;
}
.about-timeline-heading > p {
  width:min(470px,38%);
  margin:0 0 .25rem;
  color:rgba(255,255,255,.68);
  font-size:1rem;
  line-height:1.65;
}
.about-timeline-stage {
  position:relative;
  min-height:660px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px 16px 0 0;
  background:#021727;
  box-shadow:0 32px 75px rgba(0,11,22,.36);
  isolation:isolate;
}
.about-timeline-experience .about-timeline {
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  padding:0;
  scroll-snap-type:none;
  outline:none;
}
.about-timeline-experience .about-timeline article {
  position:absolute;
  inset:0;
  display:block;
  min-width:0;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:none;
  transition:opacity .8s ease,visibility .8s ease;
}
.about-timeline-experience .about-timeline article::after {
  position:absolute;
  inset:0;
  z-index:1;
  content:"";
  background:
    linear-gradient(90deg,rgba(1,19,33,.96) 0%,rgba(2,25,42,.82) 34%,rgba(2,25,42,.25) 68%,rgba(2,25,42,.08) 100%),
    linear-gradient(0deg,rgba(1,18,31,.78) 0%,transparent 48%);
  pointer-events:none;
}
.about-timeline-experience .about-timeline article.is-active {
  z-index:1;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.about-timeline-experience .about-timeline-image {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  border-radius:0;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) contrast(1.05);
  transform:scale(1.08);
}
.about-timeline-experience .about-timeline article.is-active .about-timeline-image {
  animation:about-timeline-ken-burns 7s ease-out both;
}
@keyframes about-timeline-ken-burns {
  from { transform:scale(1.08); }
  to { transform:scale(1.015); }
}
.about-timeline-experience .about-timeline article > .about-timeline-ghost-year {
  position:absolute;
  top:-.12em;
  right:.02em;
  z-index:2;
  display:block;
  margin:0;
  border:0;
  color:rgba(255,255,255,.105);
  font:500 clamp(8rem,17vw,18rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.07em;
  white-space:nowrap;
  transform:translateX(36px);
  transition:transform 1.1s cubic-bezier(.2,.75,.2,1),opacity 1s ease;
  pointer-events:none;
}
.about-timeline-experience .about-timeline article > .about-timeline-ghost-year::before {
  content:none;
}
.about-timeline-experience .about-timeline article.is-active > .about-timeline-ghost-year {
  opacity:1;
  transform:translateX(0);
}
.about-timeline-experience .about-timeline article > .about-timeline-copy {
  position:absolute;
  left:clamp(30px,5.2vw,82px);
  bottom:clamp(48px,7vw,92px);
  z-index:3;
  width:min(650px,48%);
  padding:0 0 0 1.55rem;
  border-left:3px solid #efb532;
  opacity:0;
  transform:translateY(30px);
  transition:opacity .65s .16s ease,transform .75s .16s cubic-bezier(.2,.75,.2,1);
}
.about-timeline-experience .about-timeline article.is-active > .about-timeline-copy {
  opacity:1;
  transform:translateY(0);
}
.about-timeline-experience .about-timeline time {
  display:inline-block;
  margin:0 0 .75rem;
  color:#efb532;
  font:600 clamp(1.25rem,2vw,1.75rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing:.05em;
}
.about-timeline-experience .about-timeline h3 {
  margin:0 0 1rem;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.4rem,4.3vw,4.8rem);
  font-weight:500;
  line-height:1.02;
  text-wrap:balance;
}
.about-timeline-experience .about-timeline p {
  max-width:590px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(.98rem,1.2vw,1.14rem);
  line-height:1.7;
}
.about-timeline-experience .about-timeline-toolbar {
  position:absolute;
  right:32px;
  bottom:30px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:1rem;
  margin:0;
}
.about-timeline-experience .about-timeline-toolbar > span {
  min-width:72px;
  color:#fff;
  font:500 1rem/1 Georgia,"Times New Roman",serif;
  letter-spacing:.12em;
}
.about-timeline-experience .about-timeline-toolbar button {
  width:50px;
  height:50px;
  border-color:rgba(255,255,255,.4);
  background:rgba(1,23,39,.45);
  backdrop-filter:blur(8px);
}
.about-timeline-years {
  display:flex;
  overflow-x:auto;
  border:1px solid rgba(255,255,255,.14);
  border-top:0;
  border-radius:0 0 16px 16px;
  background:rgba(2,25,43,.88);
  scrollbar-width:none;
}
.about-timeline-years::-webkit-scrollbar {
  display:none;
}
.about-timeline-years button {
  position:relative;
  flex:1 0 auto;
  min-width:96px;
  padding:1.25rem .9rem 1.15rem;
  border:0;
  color:rgba(255,255,255,.55);
  font:600 .82rem/1.2 Arial,sans-serif;
  background:transparent;
  cursor:pointer;
  transition:color .25s ease,background .25s ease;
}
.about-timeline-years button::before {
  position:absolute;
  top:0;
  left:50%;
  width:0;
  height:3px;
  content:"";
  background:#efb532;
  transform:translateX(-50%);
  transition:width .3s ease;
}
.about-timeline-years button:hover,
.about-timeline-years button:focus-visible {
  color:#fff;
  background:rgba(255,255,255,.05);
  outline:none;
}
.about-timeline-years button.is-active {
  color:#efb532;
  background:rgba(239,181,50,.075);
}
.about-timeline-years button.is-active::before {
  width:100%;
}
.about-timeline-experience .about-timeline-progress {
  height:3px;
  margin:14px 0 0;
  background:rgba(255,255,255,.12);
}
.about-timeline-experience .about-timeline-progress span {
  background:linear-gradient(90deg,#efb532,#ffd66e);
  transition:width .6s cubic-bezier(.2,.75,.2,1);
}
@media(max-width:900px) {
  .about-timeline-heading { align-items:start; flex-direction:column; gap:1rem; }
  .about-timeline-heading > p { width:min(620px,100%); }
  .about-timeline-stage { min-height:620px; }
  .about-timeline-experience .about-timeline article::after {
    background:linear-gradient(0deg,rgba(1,18,31,.98) 0%,rgba(2,25,42,.78) 45%,rgba(2,25,42,.12) 82%);
  }
  .about-timeline-experience .about-timeline article > .about-timeline-copy {
    right:30px;
    bottom:38px;
    width:auto;
  }
  .about-timeline-experience .about-timeline-toolbar { top:24px; right:24px; bottom:auto; }
}
@media(max-width:650px) {
  .about-timeline-section { padding:52px 0 48px; }
  .about-timeline-heading { margin-bottom:1.35rem; }
  .about-timeline-heading h2 { font-size:2.65rem; }
  .about-timeline-heading > p { font-size:.92rem; }
  .about-timeline-stage { min-height:600px; border-radius:11px 11px 0 0; }
  .about-timeline-experience .about-timeline article > .about-timeline-ghost-year {
    top:74px;
    right:14px;
    font-size:6.2rem;
  }
  .about-timeline-experience .about-timeline article > .about-timeline-copy {
    left:22px;
    right:22px;
    bottom:32px;
    padding-left:1rem;
  }
  .about-timeline-experience .about-timeline h3 { font-size:2.35rem; }
  .about-timeline-experience .about-timeline p { font-size:.92rem; line-height:1.58; }
  .about-timeline-experience .about-timeline-toolbar { top:18px; right:16px; }
  .about-timeline-experience .about-timeline-toolbar > span { min-width:62px; font-size:.82rem; }
  .about-timeline-experience .about-timeline-toolbar button { width:42px; height:42px; }
  .about-timeline-years { border-radius:0 0 11px 11px; }
  .about-timeline-years button { min-width:88px; padding:1.05rem .7rem; font-size:.76rem; }
}
@media(prefers-reduced-motion:reduce) {
  .about-timeline-experience .about-timeline article,
  .about-timeline-experience .about-timeline article > .about-timeline-copy,
  .about-timeline-experience .about-timeline article > .about-timeline-ghost-year,
  .about-timeline-experience .about-timeline-progress span { transition:none; }
  .about-timeline-experience .about-timeline article.is-active .about-timeline-image { animation:none; transform:scale(1); }
}

/* Compact split-panel history timeline */
.about-timeline-section {
  padding:64px 0 60px;
  background:linear-gradient(145deg,#062944 0%,#073654 100%);
}
.about-timeline-heading {
  align-items:end;
  margin-bottom:1.4rem;
}
.about-timeline-heading .about-section-kicker {
  margin-bottom:.55rem;
}
.about-timeline-heading h2 {
  font-size:clamp(2.35rem,3.5vw,3.8rem);
}
.about-timeline-heading > p {
  width:min(500px,42%);
  font-size:.94rem;
  line-height:1.55;
}
.about-timeline-stage {
  min-height:420px;
  border-color:#d7e1e8;
  border-radius:12px 12px 0 0;
  background:#fff;
  box-shadow:0 22px 54px rgba(0,15,27,.28);
}
.about-timeline-experience .about-timeline article {
  background:#fff;
}
.about-timeline-experience .about-timeline article::after {
  display:none;
}
.about-timeline-experience .about-timeline-image {
  right:auto;
  width:54%;
  filter:saturate(.9) contrast(1.03);
}
.about-timeline-experience .about-timeline article > .about-timeline-ghost-year {
  display:none;
}
.about-timeline-experience .about-timeline article > .about-timeline-copy {
  top:0;
  right:0;
  bottom:0;
  left:54%;
  display:flex;
  width:46%;
  padding:44px 58px 88px;
  border:0;
  justify-content:center;
  flex-direction:column;
  background:#fff;
}
.about-timeline-experience .about-timeline time {
  margin-bottom:.7rem;
  color:#bd7e00;
  font-size:1.2rem;
  letter-spacing:.08em;
}
.about-timeline-experience .about-timeline h3 {
  margin-bottom:1rem;
  color:#00375f;
  font-size:clamp(2.15rem,3.25vw,3.45rem);
  line-height:1.05;
}
.about-timeline-experience .about-timeline p {
  color:#4f687c;
  font-size:clamp(.94rem,1vw,1.06rem);
  line-height:1.65;
}
.about-timeline-experience .about-timeline-toolbar {
  right:38px;
  bottom:28px;
}
.about-timeline-experience .about-timeline-toolbar > span {
  color:#31556f;
}
.about-timeline-experience .about-timeline-toolbar button {
  width:44px;
  height:44px;
  border-color:#c8d6e0;
  color:#00375f;
  background:#f2f7fa;
  backdrop-filter:none;
}
.about-timeline-experience .about-timeline-toolbar button:hover,
.about-timeline-experience .about-timeline-toolbar button:focus-visible {
  border-color:#bd7e00;
  color:#00375f;
  background:#fff7e7;
}
.about-timeline-years {
  border-color:#d7e1e8;
  background:#fff;
}
.about-timeline-years button {
  min-width:92px;
  padding:1.05rem .72rem 1rem;
  color:#6a7e8d;
  font-size:.78rem;
}
.about-timeline-years button:hover,
.about-timeline-years button:focus-visible {
  color:#00375f;
  background:#f3f7fa;
}
.about-timeline-years button.is-active {
  color:#9f6900;
  background:#fff8e9;
}
.about-timeline-experience .about-timeline-progress {
  margin-top:12px;
}
@media(max-width:900px) and (min-width:701px) {
  .about-timeline-heading { align-items:start; }
  .about-timeline-heading > p { width:100%; }
  .about-timeline-stage { min-height:470px; }
  .about-timeline-experience .about-timeline-image { width:48%; }
  .about-timeline-experience .about-timeline article > .about-timeline-copy {
    top:0;
    right:0;
    bottom:0;
    left:48%;
    width:52%;
    padding:38px 38px 86px;
  }
  .about-timeline-experience .about-timeline-toolbar { top:auto; right:28px; bottom:24px; }
}
@media(max-width:700px) {
  .about-timeline-section { padding:46px 0 44px; }
  .about-timeline-heading { gap:.8rem; margin-bottom:1.15rem; }
  .about-timeline-heading h2 { font-size:2.4rem; }
  .about-timeline-heading > p { width:100%; font-size:.88rem; }
  .about-timeline-stage { min-height:680px; }
  .about-timeline-experience .about-timeline-image {
    top:0;
    width:100%;
    height:40%;
  }
  .about-timeline-experience .about-timeline article > .about-timeline-copy {
    top:40%;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    padding:28px 24px 82px;
    justify-content:flex-start;
  }
  .about-timeline-experience .about-timeline time { margin-bottom:.55rem; font-size:1rem; }
  .about-timeline-experience .about-timeline h3 { margin-bottom:.7rem; font-size:2.1rem; }
  .about-timeline-experience .about-timeline p { font-size:.9rem; line-height:1.55; }
  .about-timeline-experience .about-timeline-toolbar { top:auto; right:20px; bottom:20px; }
  .about-timeline-experience .about-timeline-toolbar > span { font-size:.78rem; }
  .about-timeline-experience .about-timeline-toolbar button { width:40px; height:40px; }
}

/* Streamlined and intuitive history timeline */
.about-timeline-section {
  padding:42px 0 44px;
}
.about-timeline-heading {
  align-items:center;
  margin-bottom:1rem;
}
.about-timeline-heading .about-section-kicker {
  margin-bottom:.3rem;
  font-size:.72rem;
}
.about-timeline-heading h2 {
  font-size:clamp(1.8rem,2.5vw,2.65rem);
  line-height:1.08;
}
.about-timeline-heading > p {
  width:auto;
  margin:0;
  font-size:.86rem;
  white-space:nowrap;
}
.about-timeline-years {
  border:1px solid #d7e1e8;
  border-bottom:0;
  border-radius:10px 10px 0 0;
}
.about-timeline-years button {
  min-width:88px;
  padding:.82rem .58rem .76rem;
  font-size:.74rem;
}
.about-timeline-years button::before {
  top:auto;
  bottom:0;
}
.about-timeline-stage {
  min-height:350px;
  border-radius:0 0 10px 10px;
  box-shadow:0 16px 38px rgba(0,15,27,.22);
}
.about-timeline-experience .about-timeline-image {
  width:46%;
}
.about-timeline-experience .about-timeline article > .about-timeline-copy {
  left:46%;
  width:54%;
  padding:30px 52px 70px;
}
.about-timeline-experience .about-timeline time {
  margin-bottom:.45rem;
  font-size:1rem;
}
.about-timeline-experience .about-timeline h3 {
  max-width:760px;
  margin-bottom:.7rem;
  font-size:clamp(1.85rem,2.5vw,2.65rem);
}
.about-timeline-experience .about-timeline p {
  max-width:760px;
  font-size:clamp(.88rem,.92vw,.98rem);
  line-height:1.55;
}
.about-timeline-experience .about-timeline-toolbar {
  right:30px;
  bottom:18px;
  gap:.7rem;
}
.about-timeline-experience .about-timeline-toolbar > span {
  min-width:64px;
  font-size:.82rem;
}
.about-timeline-experience .about-timeline-toolbar button {
  width:38px;
  height:38px;
}
.about-timeline-experience .about-timeline-toolbar button svg {
  width:17px;
  height:17px;
}
.about-timeline-experience .about-timeline-progress {
  height:2px;
  margin-top:10px;
}
@media(max-width:900px) and (min-width:701px) {
  .about-timeline-stage { min-height:410px; }
  .about-timeline-experience .about-timeline-image { width:43%; }
  .about-timeline-experience .about-timeline article > .about-timeline-copy {
    left:43%;
    width:57%;
    padding:30px 32px 68px;
  }
}
@media(max-width:700px) {
  .about-timeline-section { padding:36px 0 38px; }
  .about-timeline-heading { align-items:flex-start; gap:.45rem; margin-bottom:.9rem; }
  .about-timeline-heading h2 { font-size:1.95rem; }
  .about-timeline-heading > p { font-size:.82rem; white-space:normal; }
  .about-timeline-years button { min-width:82px; padding:.75rem .55rem .7rem; }
  .about-timeline-stage { min-height:610px; }
  .about-timeline-experience .about-timeline-image { width:100%; height:38%; }
  .about-timeline-experience .about-timeline article > .about-timeline-copy {
    top:38%;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    padding:23px 22px 72px;
  }
  .about-timeline-experience .about-timeline h3 { font-size:1.85rem; }
  .about-timeline-experience .about-timeline p { font-size:.86rem; line-height:1.5; }
  .about-timeline-experience .about-timeline-toolbar { right:16px; bottom:16px; }
}

/* Povijest: izvorni vodoravni kronološki pregled. */
.about-timeline-section {
  padding:70px 0 76px;
  overflow:visible;
  background:#062944;
}
@media(max-width:760px) {
  .about-timeline-section { padding-block:46px; }
}

@media(max-width:650px) {
  .port-plan-section.phase2-shell,
  .port-plan-technical .phase2-shell,
  .storage-overview .phase2-shell,
  .storage-comparison .phase2-shell,
  .storage-contact .phase2-shell,
  .parking-page .phase2-shell,
  .contact-pro-shell {
    width:min(100% - 30px,1500px);
  }
}

/* Povijest: okomita kronologija ključnih trenutaka. */
.about-milestones-section {
  position:relative;
  padding:68px 0 76px;
  overflow:hidden;
  color:#123f60;
  background:
    radial-gradient(ellipse at 10% 5%,rgba(255,255,255,.82),transparent 30%),
    radial-gradient(ellipse at 90% 11%,rgba(173,126,55,.11),transparent 28%),
    repeating-linear-gradient(0deg,rgba(70,52,28,.012) 0,rgba(70,52,28,.012) 1px,transparent 1px,transparent 5px),
    linear-gradient(110deg,#f1eee6 0%,#f8f6f0 46%,#ece8de 100%);
}
.about-milestones-section::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.085;
  background-image:url("../img/about/history/gruska-luka-ragusa-hafen-von-gravosa.png");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  background-attachment:fixed;
  filter:grayscale(.55) sepia(.7) contrast(.82);
}
.about-milestones-section > .about-page-shell { position:relative; z-index:1; }
.about-milestones-heading {
  width:100%;
  margin:0 0 34px;
  text-align:left;
}
.about-milestones-heading .about-section-kicker { margin-bottom:.55rem; color:#dca62e; }
.about-milestones-heading h2 {
  margin:0;
  color:#062f52;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.1rem,3.8vw,3.6rem);
  font-weight:500;
  line-height:1.05;
}
.about-milestones-heading > p:last-child {
  max-width:520px;
  margin:0;
  color:#627789;
  font-size:.9rem;
  line-height:1.6;
}
.about-milestones-list {
  position:relative;
  display:flex;
  flex-direction:column;
  padding:10px 0 30px;
}
.about-milestones-list::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  background:linear-gradient(to bottom,rgba(216,163,43,.18),#d8a32b 6%,#b8c7d1 22%,#b8c7d1 78%,#d8a32b 94%,rgba(216,163,43,.18));
}
.about-milestone {
  position:relative;
  width:calc(50% - 52px);
}
.about-milestone + .about-milestone { margin-top:-54px; }
.about-milestone.is-left { align-self:flex-start; }
.about-milestone.is-right { align-self:flex-end; }
.about-milestone-marker {
  position:absolute;
  z-index:3;
  top:50%;
  width:18px;
  height:18px;
  border:4px solid #fff;
  border-radius:50%;
  background:#e9ab24;
  box-shadow:0 0 0 3px #315c79,0 0 0 4px rgba(221,167,45,.72);
  transform:translateY(-50%);
}
.about-milestone.is-left .about-milestone-marker { right:-61px; }
.about-milestone.is-right .about-milestone-marker { left:-61px; }
.about-milestone-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(180px,.82fr) minmax(0,1.18fr);
  min-height:238px;
  overflow:visible;
  border:1px solid #d9e3e9;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 38px rgba(3,37,65,.11);
}
.about-milestone.is-left .about-milestone-card::after,
.about-milestone.is-right .about-milestone-card::after {
  content:"";
  position:absolute;
  top:50%;
  width:0;
  height:0;
  border:13px solid transparent;
  transform:translateY(-50%);
}
.about-milestone.is-left .about-milestone-card::after {
  right:-26px;
  border-left-color:#fff;
}
.about-milestone.is-right .about-milestone-card::after {
  left:-26px;
  border-right-color:#fff;
}
.about-milestone-card figure {
  min-width:0;
  min-height:238px;
  margin:0;
  overflow:hidden;
  border-radius:10px 0 0 10px;
  background:#dce5e9;
}
.about-milestone-card figure img {
  display:block;
  width:100%;
  height:100%;
  min-height:238px;
  object-fit:cover;
  filter:saturate(.86) contrast(1.02);
}
.about-milestone-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:27px 28px 29px;
  border-radius:0 10px 10px 0;
}
.about-milestone.is-dark .about-milestone-copy {
  color:#062d50;
  background:#fff;
  border:0;
}
.about-milestone.is-light .about-milestone-copy {
  color:#062d50;
  background:#fff;
  border:0;
  border-radius:10px 0 0 10px;
}
.about-milestone.is-right .about-milestone-copy { order:1; }
.about-milestone.is-right figure { order:2; border-radius:0 10px 10px 0; }
.about-milestone-copy time {
  align-self:flex-start;
  margin-bottom:.8rem;
  padding:.38rem .7rem .32rem;
  border:1px solid rgba(239,179,47,.72);
  border-radius:2px;
  color:#9b6800;
  background:#fff9eb;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  line-height:1;
}
.about-milestone.is-light .about-milestone-copy time { color:#9b6800; background:#fff9eb; }
.about-milestone-copy h3 {
  margin:0;
  color:inherit;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,1.75vw,1.9rem);
  font-weight:500;
  line-height:1.12;
}
.about-milestone-accent {
  display:block;
  width:34px;
  height:2px;
  margin:.8rem 0 .78rem;
  background:#e9ab24;
}
.about-milestone-copy p {
  margin:0;
  color:#526b7d;
  font-size:.84rem;
  line-height:1.62;
}
.about-milestone.is-light .about-milestone-copy p { color:#526b7d; }
.about-milestones-note {
  display:flex;
  gap:1.15rem;
  align-items:center;
  margin-top:42px;
  padding:20px 28px;
  border:1px solid rgba(6,45,80,.08);
  border-radius:10px;
  background:linear-gradient(135deg,#062f52,#0b466f);
  box-shadow:0 16px 34px rgba(3,37,65,.12);
}
.about-milestones-note-icon {
  display:grid;
  width:46px;
  height:46px;
  flex:0 0 46px;
  place-items:center;
  color:#efb32f;
  font-size:1.6rem;
}
.about-milestones-note strong {
  display:block;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  font-weight:500;
}
.about-milestones-note p { margin:.25rem 0 0; color:rgba(225,238,247,.7); font-size:.83rem; }
.about-milestones-note-link {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-left:auto;
  padding:.72rem 1rem;
  border:1px solid rgba(239,179,47,.45);
  border-radius:4px;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.about-milestones-note-link:hover { border-color:#efb32f; background:rgba(239,179,47,.12); transform:translateX(2px); }
.about-milestones-note-link svg { width:16px; height:16px; }

/* Budućnost Luke: urednički prikaz razvojne vizije. */
.about-future-page {
  overflow:hidden;
  color:#173f5e;
  background:#f4f7f9;
}
.about-future-opening {
  position:relative;
  padding:68px 0 76px;
  background:
    radial-gradient(circle at 7% 7%,rgba(239,179,47,.1),transparent 25%),
    linear-gradient(180deg,#fff 0%,#f4f7f9 100%);
}
.about-future-opening::after {
  content:"";
  position:absolute;
  right:-120px;
  bottom:24px;
  width:420px;
  height:420px;
  border:1px solid rgba(8,64,99,.08);
  border-radius:50%;
  box-shadow:0 0 0 56px rgba(8,64,99,.025),0 0 0 112px rgba(8,64,99,.018);
  pointer-events:none;
}
.about-future-heading {
  position:relative;
  z-index:1;
  width:100%;
  margin:0 0 34px;
  text-align:left;
}
.about-future-heading .about-section-kicker { margin-bottom:.55rem; }
.about-future-heading h2,
.about-future-copy h3,
.about-future-commitment-copy h3 {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
}
.about-future-heading h2 {
  margin:0;
  color:#062f52;
  font-size:clamp(2.1rem,3.8vw,3.6rem);
  line-height:1.05;
}
.about-future-heading > p:last-child {
  max-width:520px;
  margin:0;
  color:#627789;
  font-size:.9rem;
  line-height:1.6;
}
.about-future-chapter {
  position:relative;
  z-index:1;
  display:grid;
  align-items:stretch;
}
.about-future-chapter.is-terminal {
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  overflow:hidden;
  border:1px solid #dce5ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 60px rgba(3,37,65,.12);
}
.about-future-visual {
  position:relative;
  min-width:0;
  margin:0;
  overflow:hidden;
  background:#dce6eb;
}
.about-future-visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-future-chapter.is-terminal .about-future-visual { min-height:540px; }
.about-future-visual figcaption {
  position:absolute;
  right:22px;
  bottom:20px;
  left:22px;
  display:flex;
  gap:.65rem;
  align-items:center;
  width:max-content;
  max-width:calc(100% - 44px);
  padding:.65rem .85rem;
  border:1px solid rgba(255,255,255,.42);
  border-radius:4px;
  color:#fff;
  background:rgba(3,37,65,.78);
  backdrop-filter:blur(10px);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.035em;
}
.about-future-visual figcaption span { color:#efb32f; font-weight:900; }
.about-future-copy {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 56px 58px;
}
.about-future-number {
  display:block;
  margin-bottom:1.4rem;
  color:rgba(6,47,82,.12);
  font-family:Georgia,"Times New Roman",serif;
  font-size:4.5rem;
  line-height:.72;
}
.about-future-copy .about-section-kicker,
.about-future-commitment-copy .about-section-kicker { margin:0 0 .7rem; }
.about-future-copy h3,
.about-future-commitment-copy h3 {
  margin:0 0 1.35rem;
  color:#062f52;
  font-size:clamp(1.9rem,2.55vw,3rem);
  line-height:1.12;
}
.about-future-copy > p:not(.about-section-kicker) {
  margin:0;
  color:#587184;
  font-size:.94rem;
  line-height:1.78;
}
.about-future-copy > p:not(.about-section-kicker) + p { margin-top:1rem; }
.about-future-mobility {
  position:relative;
  padding:94px 0;
  color:#fff;
  background:
    radial-gradient(circle at 88% 14%,rgba(31,115,165,.3),transparent 30%),
    linear-gradient(135deg,#052a49 0%,#073a61 100%);
}
.about-future-mobility::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.3;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:76px 76px;
  pointer-events:none;
}
.about-future-chapter.is-mobility {
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:70px;
  align-items:center;
}
.about-future-chapter.is-mobility .about-future-copy { padding:20px 0; }
.about-future-chapter.is-mobility .about-future-number { color:rgba(255,255,255,.12); }
.about-future-chapter.is-mobility .about-future-copy h3 { color:#fff; }
.about-future-chapter.is-mobility .about-future-copy > p:not(.about-section-kicker) { color:rgba(226,238,247,.78); }
.about-future-visual.is-plan {
  min-height:410px;
  padding:22px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 24px 58px rgba(0,0,0,.2);
}
.about-future-visual.is-plan img { object-fit:contain; }
.about-future-visual.is-plan figcaption {
  right:38px;
  bottom:34px;
  left:38px;
  color:#062f52;
  background:rgba(255,255,255,.9);
  border-color:rgba(6,47,82,.14);
}
.about-future-commitment { padding:92px 0 80px; background:#eef3f6; }
.about-future-commitment-card {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(270px,.52fr);
  gap:34px;
  align-items:center;
  padding:46px 52px;
  border:1px solid #d9e3e9;
  border-top:3px solid #efb32f;
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 48px rgba(3,37,65,.09);
}
.about-future-commitment-mark {
  display:grid;
  width:68px;
  height:68px;
  place-items:center;
  border:1px solid rgba(8,80,124,.18);
  border-radius:50%;
  color:#e4a51f;
  background:#f4f8fa;
}
.about-future-commitment-mark svg { width:28px; height:28px; }
.about-future-commitment-copy .about-future-number { margin-bottom:1rem; font-size:3.6rem; }
.about-future-commitment-copy h3 { margin-bottom:.8rem; font-size:clamp(1.7rem,2.2vw,2.55rem); }
.about-future-commitment-copy > p:last-child { margin:0; color:#5b7283; font-size:.92rem; line-height:1.72; }
.about-future-values {
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.about-future-values li {
  display:flex;
  gap:.75rem;
  align-items:center;
  padding:.8rem .9rem;
  border:1px solid #e1e8ec;
  border-radius:5px;
  color:#194764;
  background:#f7f9fa;
  font-size:.8rem;
  font-weight:800;
}
.about-future-values svg { width:18px; height:18px; flex:0 0 18px; color:#d99a13; }
.about-future-note {
  display:flex;
  gap:.6rem;
  align-items:center;
  margin-top:22px;
  color:#738593;
  font-size:.76rem;
}
.about-future-note svg { width:15px; height:15px; flex:0 0 15px; }

@media(max-width:1120px) {
  .about-milestone { width:calc(50% - 38px); }
  .about-milestone.is-left .about-milestone-marker { right:-47px; }
  .about-milestone.is-right .about-milestone-marker { left:-47px; }
  .about-milestone-card { grid-template-columns:1fr; }
  .about-milestone-card figure,
  .about-milestone-card figure img { min-height:190px; height:190px; }
  .about-milestone-card figure { border-radius:10px 10px 0 0; }
  .about-milestone.is-right figure { order:1; border-radius:10px 10px 0 0; }
  .about-milestone.is-right .about-milestone-copy { order:2; border-radius:0 0 10px 10px; }
  .about-milestone-copy { border-radius:0 0 10px 10px; }
  .about-milestone.is-dark .about-milestone-copy,
  .about-milestone.is-light .about-milestone-copy { border:0; }
  .about-future-chapter.is-terminal { grid-template-columns:1fr 1fr; }
  .about-future-copy { padding:40px; }
  .about-future-chapter.is-mobility { grid-template-columns:.9fr 1.1fr; gap:42px; }
  .about-future-commitment-card { grid-template-columns:auto 1fr; }
  .about-future-values { grid-column:2; grid-template-columns:repeat(3,1fr); }
}

@media(max-width:760px) {
  .about-milestones-section { padding:46px 0 52px; }
  .about-milestones-heading { margin-bottom:28px; text-align:left; }
  .about-milestones-heading h2 { font-size:2.15rem; }
  .about-milestones-heading > p:last-child { margin-left:0; font-size:.9rem; }
  .about-milestones-list { gap:22px; padding:6px 0 10px 31px; }
  .about-milestones-list::before { left:9px; }
  .about-milestone,
  .about-milestone.is-left,
  .about-milestone.is-right { width:100%; margin-top:0; align-self:stretch; }
  .about-milestone-marker,
  .about-milestone.is-left .about-milestone-marker,
  .about-milestone.is-right .about-milestone-marker { top:38px; right:auto; left:-30px; width:14px; height:14px; border-width:3px; }
  .about-milestone.is-left .about-milestone-card::after,
  .about-milestone.is-right .about-milestone-card::after {
    top:38px;
    right:auto;
    left:-20px;
    border-width:10px;
    border-right-color:#fff;
    border-left-color:transparent;
  }
  .about-milestone.is-dark .about-milestone-card::after { border-right-color:#fff; }
  .about-milestone-card { grid-template-columns:1fr; min-height:0; }
  .about-milestone-card figure,
  .about-milestone-card figure img { min-height:0; height:auto; aspect-ratio:16/10; }
  .about-milestone-copy { padding:24px 22px 26px; }
  .about-milestone-copy h3 { font-size:1.65rem; }
  .about-milestone-copy p { font-size:.88rem; }
  .about-milestones-note { align-items:flex-start; margin-top:32px; padding:18px; }
  .about-milestones-note-icon { width:34px; height:34px; flex-basis:34px; }
  .about-milestones-note { flex-wrap:wrap; }
  .about-milestones-note-link { width:100%; justify-content:center; margin:4px 0 0; }
  .about-future-opening { padding:46px 0 52px; }
  .about-future-heading { margin-bottom:28px; text-align:left; }
  .about-future-heading h2 { font-size:2.15rem; }
  .about-future-heading > p:last-child { margin-left:0; font-size:.9rem; }
  .about-future-chapter.is-terminal,
  .about-future-chapter.is-mobility { grid-template-columns:1fr; }
  .about-future-chapter.is-terminal .about-future-visual { min-height:0; aspect-ratio:4/3; }
  .about-future-copy { padding:32px 25px 36px; }
  .about-future-number { margin-bottom:1.15rem; font-size:3.8rem; }
  .about-future-copy h3 { font-size:2rem; }
  .about-future-mobility { padding:62px 0; }
  .about-future-chapter.is-mobility { gap:30px; }
  .about-future-chapter.is-mobility .about-future-copy { padding:0; }
  .about-future-visual.is-plan { min-height:0; padding:12px; aspect-ratio:755/389; }
  .about-future-visual.is-plan figcaption { right:20px; bottom:18px; left:20px; }
  .about-future-commitment { padding:62px 0 58px; }
  .about-future-commitment-card { grid-template-columns:1fr; gap:20px; padding:30px 24px; }
  .about-future-commitment-mark { width:56px; height:56px; }
  .about-future-values { grid-column:auto; grid-template-columns:1fr; }
  .about-future-note { align-items:flex-start; }
}

/* Zavrsna provjera prije objave: usko zaglavlje i dodirne kontrole. */
@media(max-width:359px) {
  .page-home .header-tools { display:none; }
}

@media(max-width:850px), (hover:none), (pointer:coarse) {
  .leaflet-touch .leaflet-control-zoom a,
  .leaflet-control-zoom a {
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
    line-height:42px;
  }

  .multimedia-page-v2 .multimedia-book-toolbar button {
    min-width:44px !important;
    min-height:44px !important;
  }

  .multimedia-page-v2 .multimedia-book-toolbar button.is-icon {
    width:44px !important;
    min-width:44px !important;
  }

  .multimedia-page-v2 .multimedia-page-arrow {
    min-width:44px;
    min-height:44px;
  }
}

/* Privacy pages and cookie consent */
.privacy-page { padding:clamp(48px,7vw,96px) 0; background:#f4f8fb; }
.privacy-page-inner { width:min(900px,calc(100% - 40px)); margin:0 auto; padding:clamp(28px,5vw,58px); border:1px solid rgba(8,54,88,.12); border-radius:18px; background:#fff; box-shadow:0 18px 55px rgba(4,38,66,.08); }
.privacy-page-inner h2 { margin:34px 0 12px; color:#06375d; font-size:clamp(22px,3vw,30px); }
.privacy-page-inner h2:first-child { margin-top:0; }
.privacy-page-inner :is(p,li) { color:#425c70; line-height:1.75; }
.privacy-page-inner a { color:#007ab8; }
.privacy-table-wrap { overflow-x:auto; }
.privacy-table { width:100%; border-collapse:collapse; margin:18px 0; }
.privacy-table :is(th,td) { padding:12px 14px; border:1px solid #dce7ef; text-align:left; vertical-align:top; }
.privacy-table th { background:#eef6fb; color:#06375d; }
.cookie-consent { position:fixed; z-index:1000; bottom:18px; left:50%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; width:min(1480px,calc(100% - 40px)); padding:14px 18px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(5,45,77,.97); color:#fff; box-shadow:0 16px 48px rgba(0,20,38,.28); transform:translateX(-50%); backdrop-filter:blur(12px); }
.cookie-consent[hidden],.cookie-modal[hidden] { display:none; }
.cookie-consent-copy { min-width:0; max-width:none; }
.cookie-consent-copy strong { display:block; margin-bottom:3px; font-size:16px; line-height:1.3; }
.cookie-consent-copy p { margin:0; color:#d8e8f3; font-size:14px; line-height:1.45; }
.cookie-consent-copy a { color:#fff; text-decoration:underline; white-space:nowrap; }
.cookie-consent-actions,.cookie-modal-actions { display:flex; flex-wrap:wrap; gap:9px; }
.cookie-consent-actions { flex-wrap:nowrap; align-items:center; }
.cookie-button { min-height:42px; padding:0 16px; border:1px solid rgba(255,255,255,.55); border-radius:8px; font:inherit; font-weight:750; cursor:pointer; }
.cookie-button.is-primary { border-color:#18a4df; background:#18a4df; color:#03253f; }
.cookie-button.is-secondary { background:transparent; color:#fff; }
.cookie-button:is(:hover,:focus-visible) { transform:translateY(-1px); outline:2px solid #fff; outline-offset:2px; }
.cookie-consent .home3-button { min-height:46px; padding:.68rem 1.12rem; border-radius:7px; font-size:.7rem; line-height:1; white-space:nowrap; }
.cookie-consent .home3-button.is-ghost { border-color:rgba(255,255,255,.62); background:rgba(1,30,57,.25); color:#fff; }
.cookie-consent .home3-button.is-gold { border-color:#dba12e; background:linear-gradient(135deg,#e2ad3e,#cc9427); color:#fff; box-shadow:0 10px 24px rgba(209,154,43,.24); }
.cookie-consent .home3-button svg { width:1rem; height:1rem; }
.cookie-modal { position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:20px; }
.cookie-modal-backdrop { position:absolute; inset:0; border:0; background:rgba(1,18,32,.72); cursor:default; }
.cookie-modal-card { position:relative; width:min(610px,100%); max-height:calc(100vh - 40px); overflow-y:auto; padding:clamp(26px,5vw,42px); border-radius:18px; background:#fff; box-shadow:0 24px 80px rgba(0,17,32,.38); }
.cookie-modal-card h2 { margin:4px 0 10px; color:#06375d; }
.cookie-modal-card > p:not(.eyebrow) { color:#4c6375; line-height:1.65; }
.cookie-modal-close { position:absolute; top:14px; right:16px; width:38px; height:38px; border:0; border-radius:50%; background:#edf4f8; color:#06375d; font-size:28px; cursor:pointer; }
.cookie-preference { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:14px; padding:17px; border:1px solid #dce7ef; border-radius:11px; }
.cookie-preference span,.cookie-preference small { display:block; }
.cookie-preference strong { color:#06375d; }
.cookie-preference small { margin-top:4px; color:#607789; line-height:1.4; }
.cookie-preference input { width:22px; height:22px; accent-color:#007db8; }
.cookie-modal-actions { justify-content:flex-end; margin-top:24px; }
.cookie-modal-card .cookie-button.is-secondary { border-color:#b9cad6; color:#16415f; }
.cookie-modal-card .cookie-button:is(:hover,:focus-visible) { outline-color:#087db7; }
.cookie-modal-open { overflow:hidden; }
.footer-legal button { padding:0; border:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }
.legal-inline-button { padding:0; border:0; background:transparent; color:#007ab8; font:inherit; text-decoration:underline; cursor:pointer; }
@media(max-width:980px){.cookie-consent{grid-template-columns:1fr;width:min(760px,calc(100% - 28px));gap:12px}.cookie-consent-copy{max-width:none}.cookie-consent-actions{justify-content:flex-start}}
@media(max-width:760px){.cookie-consent{bottom:10px;width:calc(100% - 20px);padding:16px}.cookie-consent-actions{display:grid;grid-template-columns:1fr}.cookie-button{width:100%}.cookie-consent .home3-button{min-height:44px}}
