/* Mediterranean Editorial — global design system */
body:is(.mediterranean-home,.mediterranean-site) {
  --primary: #123f4a;
  --primary-dark: #0c3038;
  --primary-light: #e9f0ef;
  --accent: #c9704f;
  --background: #faf8f3;
  --surface: #fffdf9;
  --text: #18333c;
  --muted: #6f7472;
  --border: #e8dfd2;
  --success: #4f7968;
  --radius-button: 0;
  --radius-card: 5px;
  --radius-large: 4px;
  background: var(--background);
  color: var(--text);
}

body:is(.mediterranean-home,.mediterranean-site) h1,
body:is(.mediterranean-home,.mediterranean-site) h2,
body:is(.mediterranean-home,.mediterranean-site) .facts-grid strong,
body:is(.mediterranean-home,.mediterranean-site) .location-number,
body:is(.mediterranean-home,.mediterranean-site) .distance-list strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  letter-spacing: -.025em;
}
body:is(.mediterranean-home,.mediterranean-site) h3 { letter-spacing: -.01em; }
body:is(.mediterranean-home,.mediterranean-site) .section-kicker {
  color: var(--accent);
  letter-spacing: .18em;
  font-size: .72rem;
}
body:is(.mediterranean-home,.mediterranean-site) .section-kicker::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 1px;
  margin: 0 0 3px 10px;
  background: var(--accent);
}

/* Header and Mediterranean logo */
body:is(.mediterranean-home,.mediterranean-site) .site-header {
  height: 90px;
  background: rgba(255,253,249,.98);
  border-bottom-color: #eee5da;
  box-shadow: none;
}
body:is(.mediterranean-home,.mediterranean-site) .site-header.scrolled { height: 78px; background: rgba(255,253,249,.98); }
body:is(.mediterranean-home,.mediterranean-site) .header-inner { gap: 30px; }
body:is(.mediterranean-home,.mediterranean-site) .brand { gap: 10px; }
body:is(.mediterranean-home,.mediterranean-site) .brand-emblem { display:grid; place-items:center; width:48px; height:56px; flex:0 0 48px; }
body:is(.mediterranean-home,.mediterranean-site) .brand-emblem img { width:100%; height:100%; object-fit:contain; }
body:is(.mediterranean-home,.mediterranean-site) .brand-copy strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  color: var(--primary);
  font-size: 1.28rem;
  font-weight: 600;
  letter-spacing: .015em;
}
body:is(.mediterranean-home,.mediterranean-site) .brand-copy small { margin-top:2px; color:#7f766b; font-size:.52rem; letter-spacing:.17em; }
body:is(.mediterranean-home,.mediterranean-site) .main-nav { gap: clamp(15px,1.7vw,28px); }
body:is(.mediterranean-home,.mediterranean-site) .main-nav > a:not(.button) { font-family: Georgia, serif; font-size:.93rem; }
body:is(.mediterranean-home,.mediterranean-site) .button {
  border-radius: 0;
  min-height: 50px;
  padding-inline: 26px;
  box-shadow: none;
}
body:is(.mediterranean-home,.mediterranean-site) .button-primary { background:var(--primary); }
body:is(.mediterranean-home,.mediterranean-site) .language-select { border-color:#e3d8ca; background:#fffdf9; border-radius:5px; }

/* Hero */
body:is(.mediterranean-home,.mediterranean-site) .hero { margin-top:90px; min-height: 760px; height: min(84vh, 820px); background:#dfd1bf; }
body:is(.mediterranean-home,.mediterranean-site) .hero::after { background:linear-gradient(90deg,rgba(35,31,26,.08),transparent 58%); }
body:is(.mediterranean-home,.mediterranean-site) .hero-content { align-items:center; padding-bottom:0; }
body:is(.mediterranean-home,.mediterranean-site) .hero-panel {
  width:min(560px,100%);
  height: 620px;
  min-height:620px;
  max-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 44px;
  background:rgba(255,253,249,.97);
  backdrop-filter:none;
  border:1px solid rgba(226,216,203,.8);
  border-radius:0;
  box-shadow:0 16px 50px rgba(56,43,31,.08);
}
body:is(.mediterranean-home,.mediterranean-site) .eyebrow { color:var(--accent); letter-spacing:.15em; font-size:.7rem; }
body:is(.mediterranean-home,.mediterranean-site) .eyebrow span { height:1px; background:var(--accent); }
body:is(.mediterranean-home,.mediterranean-site) .hero-panel h1 {
  max-width: 485px;
  font-size: clamp(3.15rem,4.7vw,4.35rem);
  line-height:.98;
  color:var(--primary);
}
body:is(.mediterranean-home,.mediterranean-site) .hero-panel > p { max-width:440px; color:#6d706e; font-size:1rem; line-height:1.65; }
body:is(.mediterranean-home,.mediterranean-site) .hero-actions { margin-top:28px; }
body:is(.mediterranean-home,.mediterranean-site) .text-link { color:var(--primary); font-family:Georgia,serif; font-weight:400; }
body:is(.mediterranean-home,.mediterranean-site) .text-link span { color:var(--accent); }
body:is(.mediterranean-home,.mediterranean-site) .hero-meta { margin-top:24px; padding-top:18px; border-top-color:#eadfd2; }

/* Editorial quick facts */
body:is(.mediterranean-home,.mediterranean-site) .quick-facts { background:#fffdf9; border-bottom-color:#e6dccf; }
body:is(.mediterranean-home,.mediterranean-site) .facts-grid article {
  min-height:94px;
  display:grid;
  grid-template-columns:48px auto;
  grid-template-rows:auto auto;
  column-gap:16px;
  align-content:center;
  padding:20px 28px;
  border-color:#eadfd2;
}
body:is(.mediterranean-home,.mediterranean-site) .fact-icon { grid-row:1/3; align-self:center; width:42px; height:42px; }
body:is(.mediterranean-home,.mediterranean-site) .facts-grid strong { align-self:end; color:var(--primary); font-size:1.8rem; line-height:1; }
body:is(.mediterranean-home,.mediterranean-site) .facts-grid span { margin-top:5px; color:#77746f; font-size:.75rem; line-height:1.2; }

/* Sections */
body:is(.mediterranean-home,.mediterranean-site) .section { padding-block:clamp(74px,7vw,100px); }
body:is(.mediterranean-home,.mediterranean-site) .intro { background:#fffdf9; }
body:is(.mediterranean-home,.mediterranean-site) .split-intro { gap:clamp(50px,8vw,120px); }
body:is(.mediterranean-home,.mediterranean-site) .split-intro h2,
body:is(.mediterranean-home,.mediterranean-site) .feature-copy h2,
body:is(.mediterranean-home,.mediterranean-site) .location-new-header h2,
body:is(.mediterranean-home,.mediterranean-site) .rooms-copy h2 { color:var(--primary); }
body:is(.mediterranean-home,.mediterranean-site) .lead { color:#34454a; }
body:is(.mediterranean-home,.mediterranean-site) .gallery-section { background:#faf8f3; }
body:is(.mediterranean-home,.mediterranean-site) .editorial-gallery { gap:10px; }
body:is(.mediterranean-home,.mediterranean-site) .gallery-item { border-radius:2px; }
body:is(.mediterranean-home,.mediterranean-site) .feature-band { background:#eee5d8; }
body:is(.mediterranean-home,.mediterranean-site) .feature-image img { border-radius:2px; }
body:is(.mediterranean-home,.mediterranean-site) .check-list li { border-color:#dcd0bf; }

/* Services: less app-like, more editorial */
body:is(.mediterranean-home,.mediterranean-site) .services { background:#fffdf9; }
body:is(.mediterranean-home,.mediterranean-site) .services-grid { gap:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
body:is(.mediterranean-home,.mediterranean-site) .service-card {
  min-height:185px;
  padding:26px 24px;
  border:0;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  border-radius:0;
  background:transparent;
}
body:is(.mediterranean-home,.mediterranean-site) .service-card:nth-child(4n) { border-right:0; }
body:is(.mediterranean-home,.mediterranean-site) .service-card:hover { transform:none; border-color:var(--border); background:#fbf6ee; }
body:is(.mediterranean-home,.mediterranean-site) .service-card .icon { width:36px; height:36px; margin-bottom:22px; background:transparent; border:1px solid #d8c8b7; color:var(--accent); }
body:is(.mediterranean-home,.mediterranean-site) .service-card h3 { color:var(--primary); }
body:is(.mediterranean-home,.mediterranean-site) .all-services summary { font-family:Georgia,serif; font-weight:400; }
body:is(.mediterranean-home,.mediterranean-site) .all-services .service-group-icon { background:#fffaf2; border-color:#ded0bf; color:var(--primary); }

/* Pet / callout */
body:is(.mediterranean-home,.mediterranean-site) .pet-section { background:#fffdf9; }
body:is(.mediterranean-home,.mediterranean-site) .pet-card {
  border-radius:0;
  background:var(--primary);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}
body:is(.mediterranean-home,.mediterranean-site) .pet-card h2 { font-family:"Cormorant Garamond",Georgia,serif; }
body:is(.mediterranean-home,.mediterranean-site) .pet-visual { border-color:rgba(236,222,205,.4); }

/* Location */
body:is(.mediterranean-home,.mediterranean-site) .location { background:#f4ede3; }
body:is(.mediterranean-home,.mediterranean-site) .location-new-header { text-align:left; margin-left:0; max-width:900px; }
body:is(.mediterranean-home,.mediterranean-site) .real-map-wrap { border-radius:2px; border-color:#ded1c0; box-shadow:none; }
body:is(.mediterranean-home,.mediterranean-site) .location-places { border-top-color:#ddcfbd; }
body:is(.mediterranean-home,.mediterranean-site) .location-place { border-bottom-color:#ddcfbd; }
body:is(.mediterranean-home,.mediterranean-site) .location-number { background:#fff9ef; color:var(--accent); font-size:1.35rem; }
body:is(.mediterranean-home,.mediterranean-site) .location-place-copy h3 { color:var(--primary); }
body:is(.mediterranean-home,.mediterranean-site) .location-place-copy strong { color:#9b744c; font-family:Georgia,serif; font-weight:400; }
body:is(.mediterranean-home,.mediterranean-site) .map-cta { border-radius:0; background:#fff9ef; border-color:#dfd0bd; }
body:is(.mediterranean-home,.mediterranean-site) .map-cta b { color:var(--accent); }

/* Rooms and final CTA */
body:is(.mediterranean-home,.mediterranean-site) .rooms-section { background:#fffdf9; }
body:is(.mediterranean-home,.mediterranean-site) .rooms-collage img { border-radius:2px; }
body:is(.mediterranean-home,.mediterranean-site) .final-cta { position:relative; overflow:hidden; background:#eee3d3; color:var(--primary); }
body:is(.mediterranean-home,.mediterranean-site) .final-cta::before { content:""; position:absolute; left:-70px; bottom:-115px; width:260px; height:260px; border:1px solid rgba(154,131,105,.3); border-radius:50%; }
body:is(.mediterranean-home,.mediterranean-site) .final-cta .light-kicker { color:var(--accent); }
body:is(.mediterranean-home,.mediterranean-site) .final-cta-inner h2 { color:var(--primary); }
body:is(.mediterranean-home,.mediterranean-site) .final-cta-inner p:not(.section-kicker) { color:#6e6a64; }
body:is(.mediterranean-home,.mediterranean-site) .button-coral { background:var(--primary); color:#fff; }
body:is(.mediterranean-home,.mediterranean-site) .button-coral:hover { background:var(--primary-dark); }

/* Footer */
body:is(.mediterranean-home,.mediterranean-site) .site-footer { background:#0c3038; color:#f8f1e7; }
body:is(.mediterranean-home,.mediterranean-site) .footer-brand .brand-emblem img { filter:brightness(0) invert(1) sepia(.25); opacity:.9; }
body:is(.mediterranean-home,.mediterranean-site) .footer-brand .brand-copy strong { color:#f8f1e7; }
body:is(.mediterranean-home,.mediterranean-site) .footer-brand .brand-copy small { color:#b9aaa0; }
body:is(.mediterranean-home,.mediterranean-site) .footer-grid h3 { color:#e6cfc0; }
body:is(.mediterranean-home,.mediterranean-site) .footer-grid a,
body:is(.mediterranean-home,.mediterranean-site) .footer-grid span,
body:is(.mediterranean-home,.mediterranean-site) .footer-grid p { color:#b8c1bf; }
body:is(.mediterranean-home,.mediterranean-site) .footer-bottom { border-top-color:#2a4a50; color:#8fa5a5; }

@media (min-width:981px) {
  html[lang="ru"] body:is(.mediterranean-home,.mediterranean-site) .hero-panel h1 { font-size:3rem; }
  body:is(.mediterranean-home,.mediterranean-site) .hero-panel h1 { max-height: 300px; overflow:hidden; }
}
@media (max-width:1100px) {
  body:is(.mediterranean-home,.mediterranean-site) .main-nav { gap:13px; }
  body:is(.mediterranean-home,.mediterranean-site) .main-nav > a:not(.button) { font-size:.86rem; }
  body:is(.mediterranean-home,.mediterranean-site) .brand-copy strong { font-size:1.12rem; }
  body:is(.mediterranean-home,.mediterranean-site) .brand-emblem { width:42px; height:50px; flex-basis:42px; }
}
@media (max-width:980px) {
  body:is(.mediterranean-home,.mediterranean-site) .site-header { height:74px; }
  body:is(.mediterranean-home,.mediterranean-site) .hero { margin-top:74px; }
  body:is(.mediterranean-home,.mediterranean-site) .brand-emblem { width:38px; height:46px; flex-basis:38px; }
  body:is(.mediterranean-home,.mediterranean-site) .main-nav > a:not(.button) { font-family:Inter,Arial,sans-serif; font-size:1rem; }
  body:is(.mediterranean-home,.mediterranean-site) .hero-panel { height:auto; min-height:0; max-height:none; width:min(620px,100%); }
  body:is(.mediterranean-home,.mediterranean-site) .facts-grid article { grid-template-columns:42px auto; }
  body:is(.mediterranean-home,.mediterranean-site) .service-card:nth-child(4n) { border-right:1px solid var(--border); }
  body:is(.mediterranean-home,.mediterranean-site) .service-card:nth-child(2n) { border-right:0; }
}
@media (max-width:620px) {
  body:is(.mediterranean-home,.mediterranean-site) .brand-copy strong { font-size:1rem; }
  body:is(.mediterranean-home,.mediterranean-site) .brand-copy small { font-size:.45rem; }
  body:is(.mediterranean-home,.mediterranean-site) .hero-panel { padding:30px 24px; border:0; }
  body:is(.mediterranean-home,.mediterranean-site) .hero-panel h1 { font-size:clamp(2.75rem,13vw,3.55rem); }
  body:is(.mediterranean-home,.mediterranean-site) .facts-grid article { min-height:90px; padding:18px 14px; column-gap:10px; }
  body:is(.mediterranean-home,.mediterranean-site) .fact-icon { width:34px; height:34px; }
  body:is(.mediterranean-home,.mediterranean-site) .facts-grid strong { font-size:1.5rem; }
  body:is(.mediterranean-home,.mediterranean-site) .service-card { border-right:0 !important; min-height:160px; }
}


/* Phase 2 — internal pages */
body.mediterranean-site:not(.mediterranean-home) {
  --primary:#123f4a; --primary-dark:#0c3038; --primary-light:#e9f0ef;
  --accent:#c9704f; --background:#faf8f3; --surface:#fffdf9;
  --text:#18333c; --muted:#6f7472; --border:#e8dfd2; --success:#4f7968;
  background:var(--background); color:var(--text);
}
body.mediterranean-site:not(.mediterranean-home) main { background:var(--background); }
body.mediterranean-site:not(.mediterranean-home) .site-header { background:#fffdf9; border-bottom:1px solid #eee5da; box-shadow:none; }
body.mediterranean-site:not(.mediterranean-home) .site-header.scrolled { background:#fffdf9; }
body.mediterranean-site:not(.mediterranean-home) .brand-emblem { display:grid; place-items:center; width:44px; height:52px; flex:0 0 44px; }
body.mediterranean-site:not(.mediterranean-home) .brand-emblem img { width:100%; height:100%; object-fit:contain; }
body.mediterranean-site:not(.mediterranean-home) .brand-copy strong { font-family:"Cormorant Garamond",Georgia,serif; color:var(--primary); font-size:1.22rem; font-weight:600; letter-spacing:.015em; }
body.mediterranean-site:not(.mediterranean-home) .brand-copy small { color:#7f766b; font-size:.5rem; letter-spacing:.16em; }
body.mediterranean-site:not(.mediterranean-home) .main-nav > a:not(.button) { font-family:Georgia,serif; font-size:.92rem; }
body.mediterranean-site:not(.mediterranean-home) .language-select { background:#fffdf9; border-color:#e3d8ca; border-radius:5px; }
body.mediterranean-site:not(.mediterranean-home) h1,
body.mediterranean-site:not(.mediterranean-home) h2 { font-family:"Cormorant Garamond",Georgia,serif; color:var(--primary); font-weight:600; letter-spacing:-.03em; }
body.mediterranean-site:not(.mediterranean-home) h3 { color:var(--primary); }
body.mediterranean-site:not(.mediterranean-home) .section-kicker { color:var(--accent); letter-spacing:.18em; font-size:.72rem; }
body.mediterranean-site:not(.mediterranean-home) .section-kicker::after { content:""; display:inline-block; width:22px; height:1px; margin:0 0 3px 10px; background:var(--accent); }
body.mediterranean-site:not(.mediterranean-home) .breadcrumbs { color:#8b8176; }
body.mediterranean-site:not(.mediterranean-home) .breadcrumbs a { color:var(--primary); }
body.mediterranean-site:not(.mediterranean-home) .button,
body.mediterranean-site:not(.mediterranean-home) .btn { border-radius:0 !important; box-shadow:none !important; }
body.mediterranean-site:not(.mediterranean-home) .button-primary { background:var(--primary); }
body.mediterranean-site:not(.mediterranean-home) .text-link { font-family:Georgia,serif; color:var(--primary); font-weight:400; }
body.mediterranean-site:not(.mediterranean-home) .text-link span { color:var(--accent); }

/* Destination hub and destination detail pages */
body.mediterranean-site .destination-hub-hero { background:linear-gradient(135deg,#f4ecdf 0%,#fffdf9 62%,#e9efec 100%); border-bottom:1px solid var(--border); }
body.mediterranean-site .destination-hub-hero h1 { color:var(--primary); }
body.mediterranean-site .hub-hero-facts span { border-radius:0; background:#fffaf3; border-color:#e3d7c7; }
body.mediterranean-site .places-grid { gap:14px; }
body.mediterranean-site .place-card { border-radius:2px; border-color:#e2d7c8; background:#fffdf9; box-shadow:none; }
body.mediterranean-site .place-card-copy { padding:26px; }
body.mediterranean-site .place-art, body.mediterranean-site .place-hero-art { border-radius:0; }
body.mediterranean-site .place-art strong, body.mediterranean-site .place-hero-art strong { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; }
body.mediterranean-site .art-1 { background:linear-gradient(145deg,#123f4a,#2f6971); }
body.mediterranean-site .art-2 { background:linear-gradient(145deg,#668d92,#a8c5c1); }
body.mediterranean-site .art-3 { background:linear-gradient(145deg,#617866,#a2ad83); }
body.mediterranean-site .art-4 { background:linear-gradient(145deg,#c9704f,#9e563f); }
body.mediterranean-site .art-5 { background:linear-gradient(145deg,#303b3b,#6d6b61); }
body.mediterranean-site .itinerary-band { background:var(--primary-dark); }
body.mediterranean-site .place-hero { background:#f4ecdf; border-bottom:1px solid #e4d7c6; }
body.mediterranean-site .place-hero h1 { color:var(--primary); }
body.mediterranean-site .place-facts { background:#fffdf9; border-color:#e2d7c8; }
body.mediterranean-site .place-facts article { border-color:#e2d7c8; }
body.mediterranean-site .place-facts span { font-family:"Cormorant Garamond",Georgia,serif; color:var(--primary); font-size:1.25rem; }
body.mediterranean-site .place-content { background:#fffdf9; }
body.mediterranean-site .content-block { border-color:#e3d8ca; }
body.mediterranean-site .content-block.practical { border-radius:0; background:#f4ecdf; border-color:#dfd0bd; }
body.mediterranean-site .side-booking, body.mediterranean-site .page-index { border-radius:0; background:#fffaf3; border-color:#dfd0bd; }
body.mediterranean-site .page-index span { border-left-color:#d8b29b; }
body.mediterranean-site .related-section { background:#f4ecdf; }
body.mediterranean-site .related-place { border-radius:0 !important; background:#fffdf9 !important; border-color:#e0d4c4 !important; }
body.mediterranean-site .local-faq { background:#fffdf9; }

/* Experience hub and detail pages */
body.mediterranean-site .experience-hero { background:linear-gradient(135deg,#f4ecdf 0%,#faf8f3 58%,#e7efec 100%); border-bottom:1px solid #e5d9ca; }
body.mediterranean-site .experience-hero h1 { color:var(--primary); }
body.mediterranean-site .section-tinted { background:#f4ecdf; }
body.mediterranean-site .experience-grid { gap:14px; }
body.mediterranean-site .experience-card, body.mediterranean-site .experience-mini { border-radius:0; border-color:#e1d5c5; background:#fffdf9; padding:28px; }
body.mediterranean-site .experience-card:hover, body.mediterranean-site .experience-mini:hover { transform:translateY(-2px); border-color:#c9a993; }
body.mediterranean-site .experience-card .card-kicker, body.mediterranean-site .experience-mini span { color:var(--accent); }
body.mediterranean-site .experience-card h2, body.mediterranean-site .experience-card h3 { font-family:"Cormorant Garamond",Georgia,serif; color:var(--primary); font-size:1.7rem; }
body.mediterranean-site .experience-meta span, body.mediterranean-site .fact-chip { background:#f4ecdf; border-radius:0; color:#5e645f; }
body.mediterranean-site .experience-fact { border-radius:0; background:#fffaf3; border-color:#dfd0bd; }
body.mediterranean-site .experience-sidebar { border-radius:0; background:#fffaf3; border-color:#dfd0bd; }
body.mediterranean-site .operator-box { background:#f4ecdf; border-left-color:var(--accent); border-radius:0; }
body.mediterranean-site .related-experiences a { border-radius:0; border-color:#e1d5c5; background:#fffdf9; }
body.mediterranean-site .faq-stack details { border-color:#e1d5c5; }

/* FAQ */
body.mediterranean-site .faq-hero { background:linear-gradient(180deg,#f4ecdf 0%,#fffdf9 100%); }
body.mediterranean-site .faq-hero-image { border-radius:2px; }
body.mediterranean-site .faq-hero-stats span { border-radius:0; background:#fffaf3; border-color:#dfd0bd; }
body.mediterranean-site .faq-hero-stats strong { font-family:"Cormorant Garamond",Georgia,serif; color:var(--primary); }
body.mediterranean-site .faq-toolbar-section { background:#fffdf9; border-color:#e3d8ca; }
body.mediterranean-site .faq-search-box { border-radius:0; background:#fffdf9; border-color:#d9cdbd; }
body.mediterranean-site .faq-filter { border-radius:0; background:#fffaf3; border-color:#dfd0bd; }
body.mediterranean-site .faq-filter:hover, body.mediterranean-site .faq-filter.active { background:var(--primary); border-color:var(--primary); }
body.mediterranean-site .faq-content { background:#f4ecdf; }
body.mediterranean-site .faq-side-card { border-radius:0; background:#fffaf3; border-color:#dfd0bd; }
body.mediterranean-site .faq-side-facts span { border-radius:0; background:#eee3d3; color:var(--primary); }
body.mediterranean-site .faq-item { border-radius:0; background:#fffdf9; border-color:#dfd0bd; box-shadow:none !important; }
body.mediterranean-site .faq-item summary { font-family:Georgia,serif; font-weight:400; color:var(--primary); }
body.mediterranean-site .faq-icon { background:#f4ecdf; color:var(--accent); }
body.mediterranean-site .faq-item[open] .faq-icon { background:var(--primary); color:#fff; }
body.mediterranean-site .faq-seo-note { background:var(--primary-dark); }

/* Footer on all internal pages */
body.mediterranean-site .site-footer { background:#0c3038; color:#f8f1e7; }
body.mediterranean-site .footer-brand .brand-emblem img { filter:brightness(0) invert(1) sepia(.25); opacity:.9; }
body.mediterranean-site .footer-brand .brand-copy strong { color:#f8f1e7; }
body.mediterranean-site .footer-brand .brand-copy small { color:#b9aaa0; }
body.mediterranean-site .footer-grid h3 { color:#e6cfc0; }
body.mediterranean-site .footer-grid a, body.mediterranean-site .footer-grid span, body.mediterranean-site .footer-grid p { color:#b8c1bf; }
body.mediterranean-site .footer-bottom { border-top-color:#2a4a50; color:#8fa5a5; }
body.mediterranean-site .mobile-booking-bar { background:#fffdf9; border-top-color:#e4d7c6; }

@media (max-width:980px){
  body.mediterranean-site:not(.mediterranean-home) .main-nav > a:not(.button){font-family:Inter,Arial,sans-serif;font-size:1rem}
  body.mediterranean-site .brand-emblem{width:38px;height:46px;flex-basis:38px}
}

/* Mediterranean editorial interlude banners */
body.mediterranean-site .editorial-interlude {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: linear-gradient(90deg,#f0e4d1 0%,#f7f0e5 24%,#fffaf3 58%,#f4ecdf 100%);
  border-top: 1px solid #e5d9c9;
  border-bottom: 1px solid #e5d9c9;
}
body.mediterranean-site .editorial-interlude-inner {
  min-height: 180px;
  display: grid;
  grid-template-columns: 190px minmax(0,1fr) minmax(250px,330px);
  align-items: center;
  gap: clamp(28px,4vw,64px);
  position: relative;
  z-index: 2;
  padding-block: 34px;
}
body.mediterranean-site .editorial-interlude-art {
  position: relative;
  align-self: stretch;
  min-height: 130px;
}
body.mediterranean-site .editorial-interlude-art::before {
  content:"";
  position:absolute;
  width:250px;
  height:145px;
  left:-42px;
  bottom:-34px;
  background:url("assets/mediterranean-interlude.svg") left bottom / contain no-repeat;
  opacity:.92;
}
body.mediterranean-site .editorial-interlude-copy { max-width: 680px; }
body.mediterranean-site .editorial-interlude-kicker {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 7px;
  color:var(--accent);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
body.mediterranean-site .editorial-interlude-kicker::after {
  content:"";
  width:26px;
  height:1px;
  background:var(--accent);
  opacity:.75;
}
body.mediterranean-site .editorial-interlude h2 {
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  color:var(--primary);
  font-size:clamp(2.15rem,3.5vw,3.35rem);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.035em;
}
body.mediterranean-site .editorial-interlude-copy > p:last-child {
  margin-top:10px;
  color:#70736f;
  font-size:.9rem;
  line-height:1.55;
}
body.mediterranean-site .editorial-interlude-action {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:10px;
  padding-left:clamp(20px,3vw,42px);
  border-left:1px solid #ddd0bf;
}
body.mediterranean-site .editorial-interlude-action .button {
  width:100%;
  min-height:52px;
  padding-inline:22px;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:1rem;
}
body.mediterranean-site .editorial-interlude-note {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  color:#8a857d;
  font-size:.7rem;
  line-height:1.35;
  text-align:center;
}
body.mediterranean-site .editorial-interlude-note::before {
  content:"◇";
  color:#879a91;
  font-size:.9rem;
}
body.mediterranean-site .editorial-interlude--territory {
  background:linear-gradient(90deg,#edf0e9 0%,#f8f3e8 30%,#fffaf3 72%,#efe4d3 100%);
}
body.mediterranean-site .editorial-interlude--experiences {
  background:linear-gradient(90deg,#efe3d1 0%,#faf4e9 34%,#fffaf3 70%,#e9efeb 100%);
}
@media (max-width:980px){
  body.mediterranean-site .editorial-interlude-inner {
    grid-template-columns:120px minmax(0,1fr) 250px;
    gap:24px;
  }
  body.mediterranean-site .editorial-interlude-art::before { left:-72px; opacity:.68; }
}
@media (max-width:760px){
  body.mediterranean-site .editorial-interlude-inner {
    min-height:0;
    grid-template-columns:1fr;
    gap:22px;
    padding-block:40px;
  }
  body.mediterranean-site .editorial-interlude-art {
    position:absolute;
    inset:auto auto -20px -26px;
    width:160px;
    height:110px;
    min-height:0;
    opacity:.3;
    pointer-events:none;
  }
  body.mediterranean-site .editorial-interlude-art::before { left:0; bottom:0; width:180px; height:110px; }
  body.mediterranean-site .editorial-interlude-copy,
  body.mediterranean-site .editorial-interlude-action { position:relative; z-index:2; }
  body.mediterranean-site .editorial-interlude-action {
    max-width:360px;
    padding-left:0;
    border-left:0;
    align-items:flex-start;
  }
  body.mediterranean-site .editorial-interlude-action .button { width:auto; min-width:230px; }
  body.mediterranean-site .editorial-interlude-note { justify-content:flex-start; text-align:left; }
}


/* Itinerary band contrast fix */
body.mediterranean-site .itinerary-band { background:#123f4a; }
body.mediterranean-site .itinerary-band .section-kicker,
body.mediterranean-site .itinerary-band .light-kicker { color:#f0a486; }
body.mediterranean-site .itinerary-band .section-kicker::after { background:#f0a486; }
body.mediterranean-site .itinerary-band h2 { color:#fffdf9 !important; }
body.mediterranean-site .itinerary-band p { color:#f4eee5 !important; }
body.mediterranean-site .itinerary-band .button-coral { background:#c9704f; color:#fffdf9; border-color:#c9704f; }
body.mediterranean-site .itinerary-band .button-coral:hover { background:#ae5e43; border-color:#ae5e43; }


/* Final accessibility and Core Web Vitals refinements */
body.mediterranean-site { --accent:#a8563b; }
body.mediterranean-site .breadcrumbs { color:#6f6962; }
body.mediterranean-site .editorial-interlude-note { color:#6f6b65; }
body.mediterranean-site a:focus-visible,
body.mediterranean-site button:focus-visible,
body.mediterranean-site summary:focus-visible,
body.mediterranean-site select:focus-visible,
body.mediterranean-site input:focus-visible { outline:3px solid #a8563b; outline-offset:4px; }
body.mediterranean-site .main-nav a,
body.mediterranean-site .language-select,
body.mediterranean-site .menu-toggle,
body.mediterranean-site summary { min-height:44px; }
body.mediterranean-site .main-nav a { display:inline-flex; align-items:center; }
body.mediterranean-site .language-select { min-width:54px; padding-inline:10px; }
body.mediterranean-site .menu-toggle { min-width:44px; }
body.mediterranean-site .gallery-item { min-height:44px; }
body.mediterranean-site .lightbox-close,
body.mediterranean-site .lightbox-prev,
body.mediterranean-site .lightbox-next { min-width:48px; min-height:48px; }
body.mediterranean-site img { height:auto; }
body.mediterranean-site .hero-media picture,
body.mediterranean-site .hero-media picture img { display:block; width:100%; height:100%; }
body.mediterranean-site .hero-media picture img { object-fit:cover; object-position:center 48%; }
body.mediterranean-site .editorial-gallery picture,
body.mediterranean-site .gallery-item picture { display:block; width:100%; height:100%; }
body.mediterranean-site .gallery-item picture img { width:100%; height:100%; object-fit:cover; }
body.mediterranean-site .feature-image picture img,
body.mediterranean-site .rooms-collage picture img { width:100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* Casa → Spiaggia editorial route */
body.mediterranean-home .beach-route { background:#efe5d8; border-top:1px solid #e3d6c6; border-bottom:1px solid #e3d6c6; }
body.mediterranean-home .beach-route-inner { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); gap:clamp(48px,7vw,100px); align-items:center; padding-block:clamp(58px,6vw,82px); }
body.mediterranean-home .beach-route-heading h2 { max-width:520px; color:var(--primary); font-size:clamp(2.4rem,4vw,3.8rem); line-height:1; }
body.mediterranean-home .beach-route-heading > p:last-child { max-width:480px; margin-top:18px; color:#5f696b; line-height:1.65; }
body.mediterranean-home .beach-route-steps { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.mediterranean-home .beach-route-steps::before { content:""; position:absolute; left:8%; right:8%; top:25px; height:1px; background:#cbb9a4; }
body.mediterranean-home .beach-route-step { position:relative; z-index:1; min-width:0; }
body.mediterranean-home .beach-route-number { display:grid; place-items:center; width:52px; height:52px; margin-bottom:20px; border:1px solid #c9b59f; background:#faf6ef; color:var(--accent); font-family:"Cormorant Garamond",Georgia,serif; font-size:1.18rem; }
body.mediterranean-home .beach-route-step strong { display:block; color:var(--primary); font-family:Georgia,serif; font-size:1.05rem; font-weight:400; line-height:1.35; }
body.mediterranean-home .beach-route-step p { margin-top:7px; color:#626b6c; font-size:.85rem; line-height:1.45; }
@media (max-width:820px){
 body.mediterranean-home .beach-route-inner { grid-template-columns:1fr; gap:36px; }
 body.mediterranean-home .beach-route-steps { grid-template-columns:1fr; gap:0; }
 body.mediterranean-home .beach-route-steps::before { left:25px; right:auto; top:26px; bottom:26px; width:1px; height:auto; }
 body.mediterranean-home .beach-route-step { display:grid; grid-template-columns:52px 1fr; gap:18px; padding-bottom:26px; }
 body.mediterranean-home .beach-route-step:last-child { padding-bottom:0; }
 body.mediterranean-home .beach-route-number { margin:0; }
}

/* Beach route photographic story */
body.mediterranean-home .beach-route-gallery {
  grid-column: 1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:clamp(34px,4vw,54px);
}
body.mediterranean-home .beach-route-photo {
  margin:0;
  min-width:0;
}
body.mediterranean-home .beach-route-photo picture {
  display:block;
  overflow:hidden;
  background:#ddd4c8;
  aspect-ratio:4/3;
}
body.mediterranean-home .beach-route-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.mediterranean-home .beach-route-photo-2 picture,
body.mediterranean-home .beach-route-photo-3 picture {
  aspect-ratio:4/3;
}
body.mediterranean-home .beach-route-photo-2 img { object-position:center 58%; }
body.mediterranean-home .beach-route-photo-3 img { object-position:center 68%; }
body.mediterranean-home .beach-route-photo figcaption {
  display:grid;
  gap:4px;
  padding-top:14px;
}
body.mediterranean-home .beach-route-photo figcaption strong {
  color:var(--primary);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  font-weight:400;
}
body.mediterranean-home .beach-route-photo figcaption span {
  color:#626b6c;
  font-size:.84rem;
  line-height:1.5;
}
@media (max-width: 900px) {
  body.mediterranean-home .beach-route-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.mediterranean-home .beach-route-photo-3 { grid-column:1 / -1; }
  body.mediterranean-home .beach-route-photo-3 picture { aspect-ratio:16/9; }
}
@media (max-width: 620px) {
  body.mediterranean-home .beach-route-gallery { grid-template-columns:1fr; gap:26px; }
  body.mediterranean-home .beach-route-photo-3 { grid-column:auto; }
  body.mediterranean-home .beach-route-photo picture,
  body.mediterranean-home .beach-route-photo-3 picture { aspect-ratio:4/3; }
}

/* Beach section: editorial text + photo collage */
body.mediterranean-home .beach-route-inner {
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(44px,6vw,88px);
  align-items:center;
}
body.mediterranean-home .beach-route-heading { align-self:center; }
body.mediterranean-home .beach-route-heading h2 { max-width:540px; }
body.mediterranean-home .beach-route-gallery {
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
  align-self:stretch;
  min-height:520px;
}
body.mediterranean-home .beach-route-photo { min-width:0; margin:0; }
body.mediterranean-home .beach-route-photo-1 { grid-row:1 / 3; }
body.mediterranean-home .beach-route-photo picture,
body.mediterranean-home .beach-route-photo-3 picture { aspect-ratio:auto; height:100%; min-height:0; }
body.mediterranean-home .beach-route-photo-1 picture { height:100%; }
body.mediterranean-home .beach-route-photo-2 picture,
body.mediterranean-home .beach-route-photo-3 picture { height:100%; aspect-ratio:auto; }
body.mediterranean-home .beach-route-photo img { height:100%; }
body.mediterranean-home .beach-route-photo-1 img { object-position:center center; }
body.mediterranean-home .beach-route-photo-2 img { object-position:center 60%; }
body.mediterranean-home .beach-route-photo-3 img { object-position:center 72%; }
@media (max-width:1100px) {
  body.mediterranean-home .beach-route-inner { grid-template-columns:1fr; gap:34px; }
  body.mediterranean-home .beach-route-gallery { min-height:500px; }
}
@media (max-width:720px) {
  body.mediterranean-home .beach-route-gallery {
    grid-template-columns:1fr;
    grid-template-rows:none;
    gap:22px;
    min-height:0;
  }
  body.mediterranean-home .beach-route-photo-1 { grid-row:auto; }
  body.mediterranean-home .beach-route-photo picture,
  body.mediterranean-home .beach-route-photo-1 picture,
  body.mediterranean-home .beach-route-photo-2 picture,
  body.mediterranean-home .beach-route-photo-3 picture { height:auto; aspect-ratio:4/3; }
}


/* Compact beach editorial banner — text left, small photo strip right */
body.mediterranean-home .beach-route {
  background:#efe5d8;
  border-top:1px solid #e3d6c6;
  border-bottom:1px solid #e3d6c6;
}
body.mediterranean-home .beach-route-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(32px,5vw,72px);
  align-items:center;
  padding-block:clamp(30px,3.4vw,46px);
}
body.mediterranean-home .beach-route-heading {
  max-width:650px;
  align-self:center;
}
body.mediterranean-home .beach-route-heading .section-kicker {
  margin-bottom:10px;
}
body.mediterranean-home .beach-route-heading h2 {
  max-width:650px;
  font-size:clamp(2rem,3.15vw,3.15rem);
  line-height:1.02;
}
body.mediterranean-home .beach-route-heading > p:last-child {
  max-width:610px;
  margin-top:12px;
  font-size:.94rem;
  line-height:1.55;
}
body.mediterranean-home .beach-route-gallery {
  grid-column:auto;
  display:grid;
  grid-template-columns:repeat(3,clamp(92px,9vw,132px));
  grid-template-rows:1fr;
  gap:10px;
  width:auto;
  min-height:0;
  margin:0;
  align-self:center;
}
body.mediterranean-home .beach-route-photo,
body.mediterranean-home .beach-route-photo-1,
body.mediterranean-home .beach-route-photo-2,
body.mediterranean-home .beach-route-photo-3 {
  grid-row:auto;
  grid-column:auto;
  margin:0;
}
body.mediterranean-home .beach-route-photo picture,
body.mediterranean-home .beach-route-photo-1 picture,
body.mediterranean-home .beach-route-photo-2 picture,
body.mediterranean-home .beach-route-photo-3 picture {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:2px;
  background:#ddd4c8;
}
body.mediterranean-home .beach-route-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
}
body.mediterranean-home .beach-route-photo-1 img { object-position:center center; }
body.mediterranean-home .beach-route-photo-2 img { object-position:center 58%; }
body.mediterranean-home .beach-route-photo-3 img { object-position:center 68%; }
body.mediterranean-home .beach-route-photo figcaption { display:none; }
@media (max-width:980px) {
  body.mediterranean-home .beach-route-inner {
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
  }
  body.mediterranean-home .beach-route-gallery {
    grid-template-columns:repeat(3,88px);
    gap:8px;
  }
}
@media (max-width:760px) {
  body.mediterranean-home .beach-route-inner {
    grid-template-columns:1fr;
    gap:20px;
    padding-block:30px;
  }
  body.mediterranean-home .beach-route-gallery {
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  body.mediterranean-home .beach-route-heading h2 { font-size:clamp(2rem,9vw,2.75rem); }
}



/* Home beach route banner — atmospheric collage with blended photography */
body.mediterranean-home .beach-route {
  background: transparent;
  border: 0;
}
body.mediterranean-home .beach-route .container {
  max-width: 1260px;
}
body.mediterranean-home .beach-route-inner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(320px, .96fr) minmax(420px, 1.04fr);
  align-items: center;
  gap: clamp(42px, 5vw, 76px);
  min-height: 336px;
  padding: clamp(38px, 4vw, 50px) clamp(26px, 4vw, 42px);
  background: linear-gradient(90deg, #f7f0e6 0%, #f3ebde 58%, #f3ebde 100%);
  border-top: 1px solid #e3d5c4;
  border-bottom: 1px solid #e3d5c4;
}
body.mediterranean-home .beach-route-inner::before {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -4px;
  width: 220px;
  height: 140px;
  background: url('assets/mediterranean-interlude.svg') no-repeat left bottom / contain;
  opacity: .22;
  pointer-events: none;
}
body.mediterranean-home .beach-route-heading {
  position: relative;
  z-index: 2;
  align-self: center;
  padding-left: 10px;
}
body.mediterranean-home .beach-route-heading .section-kicker {
  margin-bottom: 16px;
}
body.mediterranean-home .beach-route-heading h2 {
  max-width: 550px;
  margin-bottom: 16px;
  font-size: clamp(2.45rem, 4vw, 4rem);
  line-height: .95;
}
body.mediterranean-home .beach-route-heading > p:last-child {
  max-width: 520px;
  margin-top: 0;
  font-size: 1rem;
  color: #5d6769;
  line-height: 1.58;
}
body.mediterranean-home .beach-route-gallery {
  position: relative;
  min-height: 250px;
  isolation: isolate;
}
body.mediterranean-home .beach-route-gallery::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(247,240,230, .98) 0%, rgba(247,240,230, .92) 15%, rgba(247,240,230, .55) 34%, rgba(247,240,230, .16) 48%, rgba(247,240,230, 0) 60%),
    radial-gradient(circle at 26% 55%, rgba(255,255,255, .78), rgba(255,255,255, 0) 32%),
    radial-gradient(circle at 78% 84%, rgba(255,230,186, .34), rgba(255,230,186, 0) 28%);
  z-index: 5;
  pointer-events: none;
}
body.mediterranean-home .beach-route-photo,
body.mediterranean-home .beach-route-photo-1,
body.mediterranean-home .beach-route-photo-2,
body.mediterranean-home .beach-route-photo-3 {
  position: absolute;
  overflow: hidden;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.mediterranean-home .beach-route-photo picture,
body.mediterranean-home .beach-route-photo-1 picture,
body.mediterranean-home .beach-route-photo-2 picture,
body.mediterranean-home .beach-route-photo-3 picture {
  display: block;
  width: 100%;
  height: 100%;
}
body.mediterranean-home .beach-route-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
body.mediterranean-home .beach-route-photo-1 {
  left: 0;
  top: 0;
  width: 64%;
  height: 66%;
  z-index: 1;
  opacity: .78;
  filter: saturate(.88) contrast(.95) brightness(1.02);
}
body.mediterranean-home .beach-route-photo-1 img {
  object-position: center 42%;
}
body.mediterranean-home .beach-route-photo-2 {
  left: 24%;
  top: 18%;
  width: 47%;
  height: 68%;
  z-index: 2;
}
body.mediterranean-home .beach-route-photo-2 img {
  object-position: center 62%;
}
body.mediterranean-home .beach-route-photo-3 {
  right: 0;
  bottom: 0;
  width: 36%;
  height: 56%;
  z-index: 3;
}
body.mediterranean-home .beach-route-photo-3 img {
  object-position: center 72%;
}
body.mediterranean-home .beach-route-photo figcaption {
  display: none;
}
@media (max-width: 1120px) {
  body.mediterranean-home .beach-route-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    min-height: 0;
  }
  body.mediterranean-home .beach-route-gallery {
    min-height: 250px;
    margin-left: 10px;
  }
}
@media (max-width: 720px) {
  body.mediterranean-home .beach-route-inner {
    padding: 30px 20px 26px;
  }
  body.mediterranean-home .beach-route-inner::before {
    width: 160px;
    height: 102px;
    opacity: .18;
  }
  body.mediterranean-home .beach-route-heading {
    padding-left: 0;
  }
  body.mediterranean-home .beach-route-heading h2 {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }
  body.mediterranean-home .beach-route-gallery {
    min-height: 176px;
    margin-left: 0;
  }
  body.mediterranean-home .beach-route-photo-1 {
    width: 64%;
    height: 72%;
  }
  body.mediterranean-home .beach-route-photo-2 {
    left: 26%;
    width: 48%;
    height: 68%;
  }
  body.mediterranean-home .beach-route-photo-3 {
    width: 38%;
    height: 58%;
  }
}



/* Full-bleed beach banner refinement */
body.mediterranean-home .beach-route {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
body.mediterranean-home .beach-route .container {
  max-width: none;
  padding-inline: 0;
}
body.mediterranean-home .beach-route-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(480px, 1.05fr);
  gap: clamp(48px, 5vw, 80px);
  align-items: center;
  min-height: 430px;
  padding-block: clamp(52px, 5vw, 68px);
  padding-inline: max(28px, calc((100vw - 1240px) / 2 + 38px));
  background:
    linear-gradient(90deg, #faf6ef 0%, #f7f1e8 44%, #f3ecdf 100%);
  border-top: 1px solid #e4d8ca;
  border-bottom: 1px solid #e4d8ca;
}
body.mediterranean-home .beach-route-inner::before {
  left: max(12px, calc((100vw - 1240px) / 2 - 18px));
  bottom: 0;
  width: 235px;
  height: 158px;
  opacity: .28;
}
body.mediterranean-home .beach-route-heading {
  position: relative;
  z-index: 6;
  max-width: 560px;
  padding-left: 0;
}
body.mediterranean-home .beach-route-heading h2 {
  max-width: 560px;
  margin-bottom: 18px;
  font-size: clamp(3rem, 4.2vw, 4.5rem);
  line-height: 0.98;
}
body.mediterranean-home .beach-route-heading > p:last-child {
  max-width: 480px;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.6;
  color: #5b6668;
}
body.mediterranean-home .beach-route-gallery {
  position: relative;
  min-height: 324px;
  overflow: hidden;
  isolation: isolate;
}
body.mediterranean-home .beach-route-gallery::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background:
    linear-gradient(90deg, rgba(250,246,239, .98) 0%, rgba(250,246,239, .94) 8%, rgba(250,246,239, .75) 18%, rgba(250,246,239, .40) 32%, rgba(250,246,239, .12) 46%, rgba(250,246,239, 0) 58%),
    radial-gradient(circle at 18% 30%, rgba(255,255,255, .72), rgba(255,255,255, 0) 28%),
    radial-gradient(circle at 90% 50%, rgba(255,240,216, .40), rgba(255,240,216, 0) 32%);
  pointer-events: none;
}
body.mediterranean-home .beach-route-photo,
body.mediterranean-home .beach-route-photo-1,
body.mediterranean-home .beach-route-photo-2,
body.mediterranean-home .beach-route-photo-3 {
  position: absolute;
  margin: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.mediterranean-home .beach-route-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.mediterranean-home .beach-route-photo-1 {
  left: 12%;
  top: 0;
  width: 62%;
  height: 54%;
  opacity: .44;
  z-index: 1;
  filter: saturate(.92) brightness(1.02) contrast(.94);
}
body.mediterranean-home .beach-route-photo-1 img {
  object-position: center 36%;
}
body.mediterranean-home .beach-route-photo-2 {
  left: 8%;
  bottom: 0;
  width: 67%;
  height: 72%;
  z-index: 2;
}
body.mediterranean-home .beach-route-photo-2 img {
  object-position: center 58%;
}
body.mediterranean-home .beach-route-photo-3 {
  right: 0;
  bottom: 0;
  width: 40%;
  height: 56%;
  z-index: 3;
}
body.mediterranean-home .beach-route-photo-3 img {
  object-position: center 68%;
}
body.mediterranean-home .beach-route-photo figcaption {
  display: none;
}
@media (max-width: 1200px) {
  body.mediterranean-home .beach-route-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    min-height: 0;
    padding-inline: clamp(24px, 4vw, 34px);
  }
  body.mediterranean-home .beach-route-inner::before {
    left: 8px;
    width: 190px;
    height: 126px;
  }
  body.mediterranean-home .beach-route-heading {
    max-width: 680px;
  }
  body.mediterranean-home .beach-route-gallery {
    min-height: 360px;
  }
}
@media (max-width: 720px) {
  body.mediterranean-home .beach-route-inner {
    gap: 22px;
    padding: 28px 18px 24px;
  }
  body.mediterranean-home .beach-route-inner::before {
    width: 146px;
    height: 96px;
    opacity: .2;
  }
  body.mediterranean-home .beach-route-heading h2 {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
  }
  body.mediterranean-home .beach-route-heading > p:last-child {
    font-size: .98rem;
  }
  body.mediterranean-home .beach-route-gallery {
    min-height: 190px;
  }
  body.mediterranean-home .beach-route-photo-1 {
    left: 10%;
    width: 64%;
    height: 52%;
  }
  body.mediterranean-home .beach-route-photo-2 {
    left: 0;
    width: 74%;
    height: 70%;
  }
  body.mediterranean-home .beach-route-photo-3 {
    width: 43%;
    height: 54%;
  }
}


/* Image treatment refinement for the beach banner: blended editorial collage */
body.mediterranean-home .beach-route-photo {
  isolation: isolate !important;
}
body.mediterranean-home .beach-route-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}
body.mediterranean-home .beach-route-gallery::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 6;
  background:
    radial-gradient(circle at 58% 84%, rgba(255,255,255,.20), rgba(255,255,255,0) 22%),
    radial-gradient(circle at 88% 56%, rgba(255,240,213,.18), rgba(255,240,213,0) 24%);
}
body.mediterranean-home .beach-route-photo-1 {
  opacity: .42 !important;
  filter: saturate(.8) contrast(.92) brightness(1.04) !important;
}
body.mediterranean-home .beach-route-photo-1::after {
  background:
    linear-gradient(90deg, rgba(247,241,232,.86) 0%, rgba(247,241,232,.52) 18%, rgba(247,241,232,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 24%, rgba(247,241,232,0) 100%),
    linear-gradient(0deg, rgba(247,241,232,.08) 0%, rgba(247,241,232,0) 18%);
}
body.mediterranean-home .beach-route-photo-2 {
  filter: saturate(.97) brightness(1.02) contrast(.98) !important;
}
body.mediterranean-home .beach-route-photo-2::after {
  background:
    linear-gradient(90deg, rgba(247,241,232,.96) 0%, rgba(247,241,232,.76) 10%, rgba(247,241,232,.34) 22%, rgba(247,241,232,0) 38%),
    linear-gradient(0deg, rgba(247,241,232,.30) 0%, rgba(247,241,232,0) 18%),
    radial-gradient(circle at 12% 78%, rgba(255,255,255,.22), rgba(255,255,255,0) 22%);
}
body.mediterranean-home .beach-route-photo-3 {
  filter: saturate(.9) brightness(1.01) contrast(.97) !important;
}
body.mediterranean-home .beach-route-photo-3::after {
  background:
    linear-gradient(90deg, rgba(247,241,232,.34) 0%, rgba(247,241,232,.06) 12%, rgba(247,241,232,0) 28%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 18%);
}


/* Language selector alignment fix */
body.mediterranean-site .language-switcher::before,
body.mediterranean-home .language-switcher::before { display:none !important; content:none !important; }
body.mediterranean-site .language-select,
body.mediterranean-home .language-select {
  min-width:68px !important;
  padding:0 28px 0 12px !important;
  text-align:center;
  text-align-last:center;
  line-height:1;
}

/* FAQ bottom note heading: explicit white contrast */
body.mediterranean-site.faq-page .faq-seo-note .faq-note-grid h2 { color:#fff !important; }

/* Spanish home hero: keep the desktop panel size unchanged, but let the full H1 fit. */
@media (min-width:981px) {
  html[lang="es"] body.mediterranean-home .hero-panel h1 {
    font-size:3.65rem;
    max-height:none;
    overflow:visible;
  }
}
