/* Aqua Sri Lanka Framework 1.1.4 — Production Visual Foundation */
:root {
  --aqua-navy: #082f42;
  --aqua-navy-2: #0d4359;
  --aqua-ocean: #17617a;
  --aqua-aqua: #48b8b0;
  --aqua-aqua-soft: #d9efec;
  --aqua-ochre: #c8913f;
  --aqua-sand: #eee2ce;
  --aqua-sand-light: #f7f1e7;
  --aqua-mist: #edf5f4;
  --aqua-coral: #d87562;
  --aqua-ink: #102e38;
  --aqua-muted: #61757b;
  --aqua-white: #fff;
  --aqua-paper: #fbfaf6;
  --aqua-line: rgba(8, 47, 66, .16);
  --aqua-line-strong: rgba(8, 47, 66, .28);
  --aqua-shadow-sm: 0 10px 28px rgba(4, 40, 55, .08);
  --aqua-shadow: 0 24px 70px rgba(4, 40, 55, .13);
  --aqua-serif: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia, serif;
  --aqua-sans: Montserrat, Inter, Aptos, "Helvetica Neue", Arial, sans-serif;
  --aqua-shell: min(1280px, calc(100vw - 48px));
  --aqua-editorial: min(1120px, calc(100vw - 48px));
  --aqua-reading: min(760px, calc(100vw - 48px));
  --aqua-header-height: 108px;
  --aqua-radius: 16px;
  --aqua-radius-lg: 24px;
  --aqua-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--aqua-paper);
  color: var(--aqua-ink);
  font-family: var(--aqua-sans);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.aqua-menu-open, body.aqua-consent-open { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--aqua-ocean); text-underline-offset: .18em; }
a:hover { color: var(--aqua-navy); }
button, input, select, textarea { font: inherit; }
button { touch-action: manipulation; }
address { font-style: normal; }
::selection { background: var(--aqua-sand); color: var(--aqua-navy); }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .55em;
  color: var(--aqua-navy);
  font-family: var(--aqua-serif);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.025em;
}
h1 { font-size: clamp(3rem, 7vw, 6.7rem); }
h2 { font-size: clamp(2.15rem, 4.2vw, 4.3rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
p { margin: 0 0 1.25em; }
ul, ol { margin: 0 0 1.4em; }
hr { margin: 2.5rem 0; border: 0; border-top: 1px solid var(--aqua-line); }

.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.screen-reader-text:focus, .aqua-skip-link:focus {
  z-index: 100000;
  top: 12px;
  left: 12px;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 8px;
  background: var(--aqua-white);
  color: var(--aqua-navy);
  box-shadow: var(--aqua-shadow);
}
.aqua-skip-link { position: fixed; top: -100px; left: 12px; }
:focus-visible { outline: 3px solid var(--aqua-coral); outline-offset: 3px; }

.aqua-shell { width: var(--aqua-shell); margin-inline: auto; }
.aqua-reading-width { width: var(--aqua-reading); margin-inline: auto; }
.aqua-site-main { min-height: 60vh; overflow: clip; }
.aqua-section { position: relative; padding: clamp(74px, 9vw, 132px) 0; }
.aqua-section--sand { background: var(--aqua-sand-light); }
.aqua-section--mist { background: var(--aqua-mist); }
.aqua-section--ocean, .aqua-section--process { background: var(--aqua-navy); color: rgba(255,255,255,.82); }
.aqua-section--ocean h2, .aqua-section--ocean h3, .aqua-section--process h2, .aqua-section--process h3 { color: var(--aqua-white); }
.aqua-section--ocean a:not(.aqua-button), .aqua-section--process a:not(.aqua-button) { color: var(--aqua-sand); }
.aqua-section-heading { max-width: 790px; margin-bottom: clamp(36px, 5vw, 64px); }
.aqua-section-heading > p:last-child { color: var(--aqua-muted); font-size: 1.08rem; }
.aqua-section-heading--row { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 32px; }
.aqua-section-heading--row > div { max-width: 820px; }
.aqua-section-heading--center { margin-inline: auto; text-align: center; }
.aqua-eyebrow {
  margin: 0 0 12px;
  color: var(--aqua-ochre);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.3;
  text-transform: uppercase;
}
.aqua-eyebrow--light { color: #e8c98c; }
.aqua-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.aqua-button {
  appearance: none;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 1px solid var(--aqua-navy);
  border-radius: 999px;
  background: var(--aqua-navy);
  color: #fff !important;
  cursor: pointer;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  transition: transform var(--aqua-transition), box-shadow var(--aqua-transition), background var(--aqua-transition), border-color var(--aqua-transition);
}
.aqua-button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(8, 47, 66, .18); }
.aqua-button--primary { border-color: var(--aqua-ochre); background: var(--aqua-ochre); color: #112d36 !important; }
.aqua-button--light { border-color: rgba(255,255,255,.68); background: rgba(255,255,255,.06); color: #fff !important; backdrop-filter: blur(8px); }
.aqua-button--sand { border-color: var(--aqua-sand); background: var(--aqua-sand); color: var(--aqua-navy) !important; }
.aqua-button--ghost { background: transparent; color: var(--aqua-navy) !important; }
.aqua-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--aqua-navy); font-weight: 800; text-decoration: none; }
.aqua-text-link span { transition: transform var(--aqua-transition); }
.aqua-text-link:hover span { transform: translateX(4px); }
.aqua-panel { border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius-lg); background: var(--aqua-white); box-shadow: var(--aqua-shadow-sm); }

/* Header */
.aqua-site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  height: var(--aqua-header-height);
  border-bottom: 1px solid rgba(8, 47, 66, .09);
  background: rgba(251, 250, 246, .93);
  backdrop-filter: blur(16px);
  transition: box-shadow var(--aqua-transition), background var(--aqua-transition);
}
.admin-bar .aqua-site-header { top: 32px; }
.aqua-site-header.is-scrolled { background: rgba(255,255,255,.97); box-shadow: 0 10px 30px rgba(8,47,66,.08); }
.aqua-site-header__inner { width: var(--aqua-shell); height: 100%; margin-inline: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(16px, 2vw, 30px); }
.aqua-brand { display: inline-flex; align-items: center; text-decoration: none; }
.aqua-brand__image { display: block; width: auto; object-fit: contain; }
.aqua-brand__image--header { width: 76px; height: 92px; }
.aqua-brand__image--mobile { width: 48px; height: 58px; }
.aqua-brand__image--footer { width: 126px; height: auto; }
.aqua-site-header__brand--mobile { display: none; }
.aqua-desktop-nav ul { display: flex; justify-content: center; gap: clamp(12px, 1.35vw, 24px); margin: 0; padding: 0; list-style: none; }
.aqua-desktop-nav a { position: relative; display: inline-flex; min-height: 44px; align-items: center; color: var(--aqua-navy); font-size: .74rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.aqua-desktop-nav a::after { position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--aqua-ochre); content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--aqua-transition); }
.aqua-desktop-nav a:hover::after, .aqua-desktop-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.aqua-header-actions { display: flex; align-items: center; gap: 11px; }
.aqua-header-plan { display: flex; min-height: 44px; align-items: center; gap: 9px; color: var(--aqua-navy); font-size: .72rem; font-weight: 800; text-decoration: none; }
.aqua-header-plan strong { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--aqua-navy); color: #fff; }
.aqua-button--header { min-height: 43px; padding-inline: 17px; font-size: .76rem; }
.aqua-menu-toggle { display: none; width: 46px; height: 46px; padding: 0; place-items: center; border: 1px solid var(--aqua-line); border-radius: 50%; background: transparent; color: var(--aqua-navy); cursor: pointer; }
.aqua-menu-toggle__bars { display: grid; gap: 5px; width: 20px; }
.aqua-menu-toggle__bars i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform var(--aqua-transition), opacity var(--aqua-transition); }
.aqua-menu-toggle[aria-expanded="true"] i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.aqua-menu-toggle[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
.aqua-menu-toggle[aria-expanded="true"] i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.aqua-mobile-menu { position: fixed; z-index: 1002; top: var(--aqua-header-height); right: 0; bottom: 0; width: min(440px, 100%); background: var(--aqua-paper); box-shadow: -30px 0 70px rgba(8,47,66,.18); }
.admin-bar .aqua-mobile-menu { top: calc(var(--aqua-header-height) + 32px); }
.aqua-mobile-menu[hidden] { display: none; }
.aqua-mobile-menu__scroll { height: calc(100% - 88px); overflow-y: auto; padding: 34px 28px 46px; }
.aqua-mobile-menu__label { margin: 0 0 10px; color: var(--aqua-ochre); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.aqua-mobile-menu ul { margin: 0 0 34px; padding: 0; list-style: none; }
.aqua-mobile-menu__primary a { display: block; padding: 9px 0; color: var(--aqua-navy); font-family: var(--aqua-serif); font-size: clamp(1.75rem, 7vw, 2.55rem); line-height: 1.05; text-decoration: none; }
.aqua-mobile-menu__secondary a { display: block; padding: 7px 0; color: var(--aqua-ink); font-weight: 750; text-decoration: none; }
.aqua-mobile-menu__utilities { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 22px; border-top: 1px solid var(--aqua-line); }
.aqua-mobile-menu__utilities a { padding: 13px; border-radius: 12px; background: var(--aqua-mist); color: var(--aqua-navy); font-size: .78rem; font-weight: 800; text-decoration: none; }
.aqua-mobile-menu__dock { position: absolute; right: 0; bottom: 0; left: 0; padding: 14px 22px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--aqua-line); background: var(--aqua-white); }
.aqua-mobile-menu__dock .aqua-button { width: 100%; }
.aqua-site-overlay { position: fixed; z-index: 999; inset: 0; background: rgba(4,27,37,.52); backdrop-filter: blur(3px); }
.aqua-site-overlay[hidden] { display: none; }

/* Breadcrumb */
.aqua-breadcrumbs { width: var(--aqua-shell); margin: 0 auto; padding: 18px 0; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; color: var(--aqua-muted); font-size: .72rem; }
.aqua-breadcrumbs > span { color: var(--aqua-ochre); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.aqua-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; padding: 0; list-style: none; }
.aqua-breadcrumbs li + li::before { margin-right: 8px; color: var(--aqua-line-strong); content: "/"; }
.aqua-breadcrumbs a { color: inherit; text-decoration: none; }

/* Homepage */
.aqua-home-hero { position: relative; min-height: min(850px, calc(100vh - var(--aqua-header-height))); display: grid; align-items: end; background: var(--aqua-navy) var(--aqua-hero-image) center/cover no-repeat; color: #fff; isolation: isolate; }
.aqua-home-hero__veil { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(3,31,43,.85) 0%, rgba(3,31,43,.58) 46%, rgba(3,31,43,.16) 80%), linear-gradient(0deg, rgba(3,31,43,.55), transparent 45%); }
.aqua-home-hero__content { padding: clamp(110px, 15vh, 180px) 0 clamp(90px, 11vh, 130px); }
.aqua-home-hero h1 { max-width: 930px; margin-bottom: .2em; color: #fff; text-wrap: balance; }
.aqua-home-hero__lead { max-width: 690px; margin-bottom: 14px; font-family: var(--aqua-serif); font-size: clamp(1.35rem, 2.5vw, 2.3rem); line-height: 1.25; }
.aqua-home-hero__proof { margin-bottom: 32px; color: rgba(255,255,255,.75); font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.aqua-home-hero__season-card { position: absolute; right: max(24px, calc((100vw - 1280px)/2)); bottom: 32px; display: grid; width: min(330px, calc(100vw - 48px)); gap: 5px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.22); border-radius: var(--aqua-radius); background: rgba(8,47,66,.78); backdrop-filter: blur(13px); }
.aqua-home-hero__season-card span { color: #e8c98c; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.aqua-home-hero__season-card strong { font-family: var(--aqua-serif); font-size: 1.3rem; line-height: 1.15; }
.aqua-home-hero__season-card a { color: #fff; font-size: .76rem; font-weight: 800; text-decoration: none; }
.aqua-trust-strip { border-bottom: 1px solid var(--aqua-line); background: var(--aqua-white); }
.aqua-trust-strip .aqua-shell { min-height: 74px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.aqua-trust-strip span { position: relative; padding: 0 20px; color: var(--aqua-navy); font-size: .73rem; font-weight: 800; text-align: center; }
.aqua-trust-strip span + span::before { position: absolute; top: 50%; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--aqua-ochre); content: ""; transform: translateY(-50%); }
.aqua-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(48px, 8vw, 110px); align-items: center; }
.aqua-section--compass-preview { background: radial-gradient(circle at 85% 20%, rgba(72,184,176,.14), transparent 33%), var(--aqua-paper); }
.aqua-mini-compass { position: relative; min-height: 530px; display: grid; place-items: center; }
.aqua-mini-compass__rings { position: relative; width: min(430px, 90vw); aspect-ratio: 1; border: 1px solid rgba(8,47,66,.15); border-radius: 50%; background: radial-gradient(circle, #fff 0 22%, var(--aqua-aqua-soft) 23% 35%, #fff 36% 52%, var(--aqua-navy) 53% 100%); box-shadow: var(--aqua-shadow); }
.aqua-mini-compass__rings::before, .aqua-mini-compass__rings::after { position: absolute; inset: 13%; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; content: ""; }
.aqua-mini-compass__rings::after { inset: 31%; }
.aqua-mini-compass__rings > span { position: absolute; color: rgba(255,255,255,.7); font-size: .7rem; font-weight: 800; }
.aqua-mini-compass__rings > span:nth-child(1) { top: 6%; left: 50%; transform: translateX(-50%); }
.aqua-mini-compass__rings > span:nth-child(2) { top: 50%; right: 6%; transform: translateY(-50%); }
.aqua-mini-compass__rings > span:nth-child(3) { bottom: 6%; left: 50%; transform: translateX(-50%); }
.aqua-mini-compass__rings > span:nth-child(4) { top: 50%; left: 6%; transform: translateY(-50%); }
.aqua-mini-compass__rings i { position: absolute; top: 20%; left: 50%; width: 18px; height: 40%; clip-path: polygon(50% 0,100% 82%,50% 100%,0 82%); background: var(--aqua-ochre); filter: drop-shadow(0 8px 8px rgba(0,0,0,.28)); transform: translateX(-50%) rotate(35deg); transform-origin: 50% 75%; }
.aqua-mini-compass__cards { position: absolute; right: -10px; bottom: 18px; display: grid; width: 240px; gap: 8px; }
.aqua-mini-compass__cards > div { display: grid; gap: 2px; padding: 13px 15px; border: 1px solid var(--aqua-line); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: var(--aqua-shadow-sm); }
.aqua-mini-compass__cards small { color: var(--aqua-ochre); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.aqua-mini-compass__cards strong { color: var(--aqua-navy); font-size: .82rem; }
.aqua-card-grid { display: grid; gap: 22px; }
.aqua-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aqua-card { min-width: 0; overflow: hidden; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: var(--aqua-white); box-shadow: 0 12px 36px rgba(8,47,66,.05); transition: transform var(--aqua-transition), box-shadow var(--aqua-transition); }
.aqua-card:hover { transform: translateY(-5px); box-shadow: var(--aqua-shadow-sm); }
.aqua-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.aqua-card__media { position: relative; min-height: 245px; overflow: hidden; background: linear-gradient(135deg, var(--aqua-ocean), var(--aqua-aqua)); background-position: center; background-size: cover; }
.aqua-card__media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,47,66,.24), transparent 50%); content: ""; }
.aqua-card__media > span { position: absolute; right: -5%; bottom: -34%; width: 92%; aspect-ratio: 1.6; border: 2px solid rgba(255,255,255,.4); border-radius: 50%; transform: rotate(-12deg); }
.aqua-card__media--surfing, .aqua-card__media--board { background: linear-gradient(140deg, #0c536f, #5cb8b2 62%, #e9cf9e); }
.aqua-card__media--diving, .aqua-card__media--underwater { background: linear-gradient(150deg, #041e31, #0c5b78 56%, #4db2ad); }
.aqua-card__media--wildlife { background: linear-gradient(140deg, #123344, #3d8b91 58%, #b8c5a1); }
.aqua-card__media--river, .aqua-card__media--inland { background: linear-gradient(140deg, #254d42, #70a58a 56%, #c6b988); }
.aqua-card__body { padding: 24px 24px 27px; }
.aqua-card__body h3 { margin-bottom: 10px; }
.aqua-card__body p:not(.aqua-eyebrow) { color: var(--aqua-muted); }
.aqua-explorer-preview { display: grid; grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); gap: clamp(60px, 9vw, 130px); align-items: center; }
.aqua-explorer-preview__map { position: relative; min-height: 550px; display: grid; place-items: center; }
.aqua-explorer-preview__map::before { position: absolute; width: 88%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ""; }
.aqua-explorer-preview__map img { width: min(310px, 70%); filter: drop-shadow(0 35px 32px rgba(0,0,0,.22)); }
.aqua-map-note { position: absolute; padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; font-size: .67rem; font-weight: 800; backdrop-filter: blur(9px); }
.aqua-map-note--west { bottom: 25%; left: 2%; }
.aqua-map-note--east { top: 35%; right: 0; }
.aqua-map-note--north { top: 14%; left: 5%; }
.aqua-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.aqua-value-grid article { padding: 27px; border-top: 3px solid var(--aqua-ochre); background: rgba(255,255,255,.65); }
.aqua-value-grid article > span { display: block; margin-bottom: 28px; color: var(--aqua-ochre); font-size: .72rem; font-weight: 800; }
.aqua-value-grid p { color: var(--aqua-muted); font-size: .9rem; }
.aqua-process { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; margin: 0; padding: 0; background: rgba(255,255,255,.16); list-style: none; }
.aqua-process li { min-height: 250px; padding: 30px; background: var(--aqua-navy); }
.aqua-process li > span { display: grid; width: 38px; height: 38px; margin-bottom: 50px; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; color: #e8c98c; font-size: .75rem; font-weight: 800; }
.aqua-process strong { display: block; margin-bottom: 10px; color: #fff; font-family: var(--aqua-serif); font-size: 1.45rem; font-weight: 500; }
.aqua-process p { color: rgba(255,255,255,.68); font-size: .86rem; }
.aqua-process--light { background: var(--aqua-line); }
.aqua-process--light li { background: rgba(255,255,255,.7); }
.aqua-process--light li > span { border-color: var(--aqua-line-strong); color: var(--aqua-ochre); }
.aqua-process--light strong { color: var(--aqua-navy); }
.aqua-process--light p { color: var(--aqua-muted); }
.aqua-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.aqua-final-cta h2 { max-width: 800px; margin-bottom: 0; }

/* Generic page heroes */
.aqua-page-hero { position: relative; overflow: hidden; background: var(--aqua-navy); color: rgba(255,255,255,.79); }
.aqua-page-hero::after { position: absolute; right: -10%; bottom: -65%; width: 62%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.aqua-page-hero__inner { position: relative; z-index: 1; min-height: clamp(430px, 58vw, 670px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr); gap: 60px; align-items: end; padding-top: clamp(80px, 12vw, 150px); padding-bottom: clamp(70px, 9vw, 115px); }
.aqua-page-hero__inner > div:first-child { max-width: 930px; }
.aqua-page-hero h1 { color: #fff; text-wrap: balance; }
.aqua-page-hero p:not(.aqua-eyebrow) { max-width: 750px; font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.aqua-page-hero__note { align-self: end; padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--aqua-radius); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.aqua-page-hero__note span { display: block; margin-bottom: 8px; color: #e8c98c; font-size: .67rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.aqua-page-hero__note strong { color: #fff; font-family: var(--aqua-serif); font-size: 1.25rem; font-weight: 500; line-height: 1.25; }
.aqua-page-hero__note a { color: #fff; }
.aqua-page-hero--sri-lanka { background: linear-gradient(125deg, #123f4e, #0b2e3c 58%, #243f35); }
.aqua-page-hero--safety { background: linear-gradient(125deg, #0b3444, #183e42 60%, #4c503b); }
.aqua-page-hero--partner { background: linear-gradient(125deg, #0d3d50, #183c48 58%, #6b5433); }
.aqua-page-hero--faq { background: linear-gradient(125deg, #102f42, #1b596a 60%, #2b5450); }
.aqua-page-hero--contact { background: linear-gradient(125deg, #0b3444, #155d70 60%, #94723c); }
.aqua-page-hero--legal { min-height: 410px; background: linear-gradient(125deg, #092d3d, #164b5b); }
.aqua-page-hero--legal .aqua-page-hero__inner { min-height: 410px; }
.aqua-page-hero--editorial { background: linear-gradient(125deg, #0b3444, #17617a); }

/* Editorial layouts */
.aqua-content-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: clamp(55px, 8vw, 110px); align-items: start; }
.aqua-prose { font-size: 1.05rem; }
.aqua-prose > *:first-child { margin-top: 0; }
.aqua-prose h2 { margin-top: 1.45em; }
.aqua-prose h3 { margin-top: 1.4em; }
.aqua-prose p, .aqua-prose li { max-width: 72ch; }
.aqua-prose blockquote { margin: 2.5rem 0; padding: 10px 0 10px 30px; border-left: 4px solid var(--aqua-ochre); color: var(--aqua-navy); font-family: var(--aqua-serif); font-size: 1.6rem; line-height: 1.35; }
.aqua-prose table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.aqua-prose th, .aqua-prose td { padding: 12px; border-bottom: 1px solid var(--aqua-line); text-align: left; vertical-align: top; }
.aqua-side-note { position: sticky; top: calc(var(--aqua-header-height) + 35px); padding: 30px; border-radius: var(--aqua-radius-lg); background: var(--aqua-navy); color: rgba(255,255,255,.75); }
.aqua-side-note h2, .aqua-side-note h3 { color: #fff; }
.aqua-side-note .aqua-text-link { color: var(--aqua-sand); }
.aqua-check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 38px; }
.aqua-check-grid article { padding: 22px; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: var(--aqua-white); }
.aqua-check-grid article::before { display: grid; width: 28px; height: 28px; margin-bottom: 18px; place-items: center; border-radius: 50%; background: var(--aqua-aqua-soft); color: var(--aqua-navy); content: "✓"; font-weight: 900; }
.aqua-check-grid h3 { font-family: var(--aqua-sans); font-size: 1rem; font-weight: 800; }
.aqua-check-grid p { margin-bottom: 0; color: var(--aqua-muted); font-size: .86rem; }
.aqua-partner-form { position: sticky; top: calc(var(--aqua-header-height) + 34px); padding: 32px; }
.aqua-partner-form h2 { font-size: 2.4rem; }
.aqua-partner-form small { display: block; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--aqua-line); color: var(--aqua-muted); }

/* Activity archive/cards/detail */
.aqua-archive-hero { padding: clamp(80px, 10vw, 140px) 0 70px; background: radial-gradient(circle at 84% 20%, rgba(72,184,176,.18), transparent 28%), var(--aqua-mist); }
.aqua-archive-hero__inner { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(270px,.5fr); gap: 60px; align-items: end; }
.aqua-archive-hero h1 { max-width: 900px; }
.aqua-archive-hero__note { padding: 26px; border-left: 4px solid var(--aqua-ochre); background: rgba(255,255,255,.72); }
.aqua-filter-strip { position: sticky; z-index: 80; top: var(--aqua-header-height); border-block: 1px solid var(--aqua-line); background: rgba(251,250,246,.95); backdrop-filter: blur(12px); }
.admin-bar .aqua-filter-strip { top: calc(var(--aqua-header-height) + 32px); }
.aqua-filter-strip .aqua-shell { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.aqua-filter-strip ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aqua-filter-strip a { display: inline-flex; min-height: 38px; align-items: center; padding: 7px 13px; border: 1px solid var(--aqua-line); border-radius: 999px; background: #fff; color: var(--aqua-navy); font-size: .74rem; font-weight: 800; text-decoration: none; }
.aqua-detail-hero { position: relative; min-height: 690px; display: grid; align-items: end; overflow: hidden; background: var(--aqua-navy); color: #fff; }
.aqua-detail-hero__image { position: absolute; inset: 0; background-position: center; background-size: cover; }
.aqua-detail-hero__image::after { position: absolute; inset: 0; background: linear-gradient(80deg, rgba(4,31,42,.88), rgba(4,31,42,.58) 52%, rgba(4,31,42,.16)), linear-gradient(0deg, rgba(4,31,42,.65), transparent 55%); content: ""; }
.aqua-detail-hero__placeholder { position: absolute; inset: 0; background: radial-gradient(circle at 75% 26%, rgba(72,184,176,.45), transparent 25%), linear-gradient(130deg, #082f42, #17617a 65%, #4a9d98); }
.aqua-detail-hero__content { position: relative; z-index: 1; padding: 130px 0 85px; }
.aqua-detail-hero h1 { max-width: 950px; color: #fff; }
.aqua-detail-hero__lead { max-width: 730px; font-size: 1.25rem; }
.aqua-fact-bar { border-bottom: 1px solid var(--aqua-line); background: #fff; }
.aqua-fact-bar__inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.aqua-fact { min-height: 105px; padding: 22px; border-right: 1px solid var(--aqua-line); }
.aqua-fact:first-child { border-left: 1px solid var(--aqua-line); }
.aqua-fact span { display: block; margin-bottom: 7px; color: var(--aqua-muted); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.aqua-fact strong { color: var(--aqua-navy); font-size: .9rem; }
.aqua-detail-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: clamp(55px,8vw,110px); align-items: start; }
.aqua-detail-aside { position: sticky; top: calc(var(--aqua-header-height) + 30px); display: grid; gap: 16px; }
.aqua-detail-aside__card { padding: 28px; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius-lg); background: #fff; box-shadow: var(--aqua-shadow-sm); }
.aqua-detail-aside__card ul { padding-left: 20px; }
.aqua-season-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 5px; margin: 30px 0; }
.aqua-season-grid span { display: grid; min-height: 66px; place-items: center; border-radius: 8px; background: var(--aqua-mist); color: var(--aqua-navy); font-size: .67rem; font-weight: 800; }
.aqua-season-grid span.is-best { background: var(--aqua-aqua); }
.aqua-season-grid span.is-shoulder { background: var(--aqua-sand); }
.aqua-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }

/* Destination/Sri Lanka/Safety */
.aqua-destination-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.45fr); gap: 60px; }
.aqua-destination-meta { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: var(--aqua-line); }
.aqua-destination-meta > div { padding: 20px; background: #fff; }
.aqua-destination-meta span { display: block; color: var(--aqua-muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.aqua-destination-meta strong { color: var(--aqua-navy); }
.aqua-island-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.aqua-island-place { position: relative; min-height: 300px; padding: 30px; overflow: hidden; border-radius: var(--aqua-radius-lg); background: var(--aqua-navy); color: rgba(255,255,255,.74); }
.aqua-island-place::after { position: absolute; right: -25%; bottom: -45%; width: 90%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; }
.aqua-island-place h3 { color: #fff; }
.aqua-island-place span { display: inline-flex; margin-bottom: 75px; color: #e8c98c; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.aqua-safety-callout { display: grid; grid-template-columns: auto 1fr; gap: 20px; margin: 30px 0; padding: 24px; border-left: 4px solid var(--aqua-coral); background: #fff; }
.aqua-safety-callout > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: #fae5df; color: #8a3327; font-weight: 900; }
.aqua-safety-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.aqua-safety-grid article { padding: 26px; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: #fff; }
.aqua-safety-grid article > span { color: var(--aqua-ochre); font-weight: 900; }

/* FAQ/contact/legal */
.aqua-faq-layout { display: grid; grid-template-columns: minmax(280px,.55fr) minmax(0,1.1fr); gap: clamp(55px,8vw,110px); align-items: start; }
.aqua-accordion-list { border-top: 1px solid var(--aqua-line); }
.aqua-accordion-list details { border-bottom: 1px solid var(--aqua-line); }
.aqua-accordion-list summary { position: relative; padding: 24px 55px 24px 0; color: var(--aqua-navy); cursor: pointer; font-family: var(--aqua-serif); font-size: 1.45rem; font-weight: 500; list-style: none; }
.aqua-accordion-list summary::-webkit-details-marker { display: none; }
.aqua-accordion-list summary::after { position: absolute; top: 22px; right: 6px; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--aqua-line); border-radius: 50%; content: "+"; font-family: var(--aqua-sans); font-size: 1rem; }
.aqua-accordion-list details[open] summary::after { content: "−"; }
.aqua-accordion-list details > div { padding: 0 50px 22px 0; color: var(--aqua-muted); }
.aqua-contact-grid { display: grid; grid-template-columns: 1.05fr .7fr .8fr; gap: 18px; }
.aqua-contact-card { min-height: 390px; padding: 34px; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius-lg); background: #fff; }
.aqua-contact-card--primary { background: var(--aqua-sand-light); }
.aqua-contact-card h2 { word-break: break-word; }
.aqua-contact-map { position: relative; min-height: 390px; display: grid; place-items: center; overflow: hidden; border-radius: var(--aqua-radius-lg); background: var(--aqua-navy); }
.aqua-contact-map img { width: 170px; }
.aqua-contact-map span { position: absolute; bottom: 24px; color: #fff; font-family: var(--aqua-serif); font-size: 1.4rem; }
.aqua-contact-map i { position: absolute; top: 43%; left: 37%; width: 16px; height: 16px; border: 4px solid var(--aqua-sand); border-radius: 50%; background: var(--aqua-coral); box-shadow: 0 0 0 9px rgba(255,255,255,.12); }
.aqua-legal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 70px; }
.aqua-legal-card { position: relative; min-height: 240px; padding: 28px; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: #fff; color: inherit; text-decoration: none; transition: transform var(--aqua-transition), box-shadow var(--aqua-transition); }
.aqua-legal-card:hover { transform: translateY(-4px); box-shadow: var(--aqua-shadow-sm); }
.aqua-legal-card > span { position: absolute; top: 22px; right: 24px; color: var(--aqua-ochre); }
.aqua-legal-card h2 { margin-top: 55px; font-size: 2rem; }
.aqua-legal-card p { color: var(--aqua-muted); }
.aqua-legal-layout { display: grid; grid-template-columns: 260px minmax(0,760px); gap: clamp(50px,8vw,110px); align-items: start; }
.aqua-legal-nav { position: sticky; top: calc(var(--aqua-header-height) + 32px); padding: 22px; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: #fff; }
.aqua-legal-nav > strong { display: block; margin-bottom: 14px; color: var(--aqua-ochre); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.aqua-legal-nav ul { margin: 0; padding: 0; list-style: none; }
.aqua-legal-nav a { display: block; padding: 8px 0; color: var(--aqua-navy); font-size: .82rem; font-weight: 750; text-decoration: none; }
.aqua-legal-copy { min-width: 0; }
.aqua-legal-updated { padding-bottom: 18px; border-bottom: 1px solid var(--aqua-line); color: var(--aqua-muted); font-size: .8rem; }
.aqua-data-principles, .aqua-accessibility-points { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 30px 0 42px; background: var(--aqua-line); }
.aqua-data-principles > div, .aqua-accessibility-points > div { display: grid; gap: 7px; padding: 22px; background: var(--aqua-mist); }
.aqua-data-principles strong, .aqua-accessibility-points strong { color: var(--aqua-navy); font-family: var(--aqua-serif); font-size: 1.6rem; }
.aqua-data-principles span, .aqua-accessibility-points span { color: var(--aqua-muted); font-size: .78rem; }
.aqua-company-card { margin-bottom: 40px; padding: 32px; border-left: 4px solid var(--aqua-ochre); background: var(--aqua-sand-light); }

/* Cookie controls */
.aqua-cookie-banner { position: fixed; z-index: 9998; right: 22px; bottom: 22px; left: 22px; max-width: 1180px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; padding: 23px 26px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--aqua-radius-lg); background: rgba(8,47,66,.98); color: rgba(255,255,255,.78); box-shadow: 0 26px 80px rgba(3,30,41,.35); }
.aqua-cookie-banner[hidden], .aqua-cookie-modal[hidden] { display: none; }
.aqua-cookie-banner h2 { margin-bottom: 6px; color: #fff; font-size: 1.65rem; }
.aqua-cookie-banner p:last-child { margin-bottom: 0; font-size: .82rem; }
.aqua-cookie-banner__actions { display: flex; gap: 10px; }
.aqua-cookie-banner .aqua-button--ghost { border-color: rgba(255,255,255,.35); color: #fff !important; }
.aqua-cookie-modal { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(3,27,38,.72); backdrop-filter: blur(5px); }
.aqua-cookie-modal__panel { position: relative; width: min(720px,100%); max-height: min(850px,calc(100vh - 44px)); overflow-y: auto; padding: clamp(28px,5vw,48px); border-radius: var(--aqua-radius-lg); background: var(--aqua-paper); box-shadow: 0 35px 100px rgba(0,0,0,.3); }
.aqua-cookie-modal__close { position: absolute; top: 18px; right: 18px; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid var(--aqua-line); border-radius: 50%; background: transparent; color: var(--aqua-navy); cursor: pointer; font-size: 1.6rem; }
.aqua-consent-row { display: grid; grid-template-columns: 1fr auto; gap: 25px; align-items: center; padding: 22px 0; border-top: 1px solid var(--aqua-line); }
.aqua-consent-row h3 { margin-bottom: 5px; font-family: var(--aqua-sans); font-size: 1rem; font-weight: 800; }
.aqua-consent-row p { margin-bottom: 0; color: var(--aqua-muted); font-size: .82rem; }
.aqua-consent-row > span { color: var(--aqua-muted); font-size: .75rem; font-weight: 800; }
.aqua-consent-row input { width: 48px; height: 26px; accent-color: var(--aqua-navy); }
.aqua-cookie-modal__actions, .aqua-cookie-page__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.aqua-cookie-page { padding: clamp(26px,5vw,50px); border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius-lg); background: #fff; box-shadow: var(--aqua-shadow-sm); }
.aqua-cookie-page__status { min-height: 1.5em; color: var(--aqua-ocean); font-size: .84rem; font-weight: 800; }

/* WordPress forms/content */
.search-form { display: flex; max-width: 680px; margin-bottom: 45px; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--aqua-line-strong); border-radius: 999px 0 0 999px; background: #fff; }
.search-submit { min-height: 52px; padding: 12px 22px; border: 0; border-radius: 0 999px 999px 0; background: var(--aqua-navy); color: #fff; font-weight: 800; cursor: pointer; }
.aqua-post-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.aqua-post-card { overflow: hidden; border: 1px solid var(--aqua-line); border-radius: var(--aqua-radius); background: #fff; }
.aqua-post-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; }
.aqua-post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.aqua-post-card > div { padding: 28px; }
.aqua-post-card h2 { font-size: 2rem; }
.aqua-post-card h2 a { color: var(--aqua-navy); text-decoration: none; }
.aqua-search-results { display: grid; gap: 1px; }
.aqua-search-results article { padding: 26px 0; border-bottom: 1px solid var(--aqua-line); }
.aqua-search-results article h2 { font-size: 2rem; }
.aqua-search-results article h2 a { color: var(--aqua-navy); text-decoration: none; }
.aqua-article-hero { margin: 0 0 50px; }
.aqua-article-hero img { border-radius: var(--aqua-radius-lg); }
.aqua-empty-state { padding: 45px; border: 1px dashed var(--aqua-line-strong); border-radius: var(--aqua-radius-lg); background: var(--aqua-mist); text-align: center; }
.nav-links { display: flex; gap: 8px; justify-content: center; margin-top: 45px; }
.page-numbers { display: grid; min-width: 40px; height: 40px; padding: 0 11px; place-items: center; border: 1px solid var(--aqua-line); border-radius: 999px; background: #fff; color: var(--aqua-navy); text-decoration: none; }
.page-numbers.current { background: var(--aqua-navy); color: #fff; }
.aqua-error-page { min-height: calc(100vh - var(--aqua-header-height)); display: grid; align-items: center; background: radial-gradient(circle at 80% 20%, rgba(72,184,176,.28), transparent 27%), var(--aqua-navy); color: rgba(255,255,255,.75); }
.aqua-error-page h1 { max-width: 930px; color: #fff; }
.aqua-error-page p:not(.aqua-eyebrow) { max-width: 650px; font-size: 1.2rem; }

/* Application shell and Platform integration */
.aqua-application-hero { padding: clamp(70px,9vw,120px) 0 48px; background: radial-gradient(circle at 85% 20%, rgba(72,184,176,.17), transparent 30%), var(--aqua-mist); }
.aqua-application-hero h1 { max-width: 950px; }
.aqua-application-hero p { max-width: 740px; color: var(--aqua-muted); font-size: 1.1rem; }
.aqua-application-stage { padding: 52px 0 clamp(90px,10vw,140px); }
.aqua-app {
  --aqua-navy: #082f42;
  --aqua-mineral: #17617a;
  --aqua-seaglass: #48b8b0;
  --aqua-sand: #eee2ce;
  --aqua-ochre: #c8913f;
  --aqua-coral: #d87562;
  --aqua-cream: #fbfaf6;
  --aqua-ink: #102e38;
  --aqua-muted: #61757b;
  --aqua-line: rgba(8,47,66,.16);
  --aqua-serif: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia, serif;
  --aqua-sans: Montserrat, Inter, Aptos, "Helvetica Neue", Arial, sans-serif;
}
.aqua-app__title { color: var(--aqua-navy); font-weight: 500; }
.aqua-app__header { margin-bottom: clamp(34px,5vw,64px); }
.aqua-app .aqua-panel { border-radius: var(--aqua-radius-lg); box-shadow: var(--aqua-shadow-sm); }
.aqua-app input, .aqua-app select, .aqua-app textarea { border-radius: 12px; }
.aqua-app .aqua-button--primary { background: var(--aqua-ochre); border-color: var(--aqua-ochre); }
.aqua-app .aqua-button--ghost { color: var(--aqua-navy) !important; }
.aqua-compass__form { background: rgba(255,255,255,.92); }
.aqua-compass__instrument { border-radius: var(--aqua-radius-lg); background: radial-gradient(circle at 50% 45%, rgba(72,184,176,.18), transparent 53%); }
.aqua-explorer__workspace { gap: 20px; }
.aqua-explorer__map-panel, .aqua-explorer__list-panel { overflow: hidden; border-radius: var(--aqua-radius-lg); }
.aqua-map { background: linear-gradient(155deg, #e8f1ef, #d4e7e3); }
.aqua-destination-panel { border-radius: var(--aqua-radius); }
.aqua-plan__summary, .aqua-plan__form, .aqua-offer, .aqua-booking, .aqua-account-login__form, .aqua-account-login__benefits { border-radius: var(--aqua-radius-lg); }
.aqua-plan-dock { z-index: 990 !important; }
.aqua-plan-dock__body { border-radius: var(--aqua-radius) !important; }
.aqua-account__nav { top: calc(var(--aqua-header-height) + 10px) !important; }
.admin-bar .aqua-account__nav { top: calc(var(--aqua-header-height) + 42px) !important; }
.aqua-language-notice, .aqua-fallback, .aqua-data-notice, .aqua-guidance-note { border-radius: 0 12px 12px 0; }

/* Footer */
.aqua-site-footer { position: relative; overflow: hidden; background: #062633; color: rgba(255,255,255,.68); }
.aqua-site-footer__contours { position: absolute; inset: 0; opacity: .16; background: repeating-radial-gradient(ellipse at 80% 130%, transparent 0 46px, rgba(255,255,255,.2) 47px 48px); }
.aqua-site-footer__inner { position: relative; width: var(--aqua-shell); margin-inline: auto; display: grid; grid-template-columns: minmax(270px,.75fr) minmax(0,1.8fr); gap: clamp(55px,8vw,120px); padding: clamp(70px,9vw,120px) 0 70px; }
.aqua-footer-brand { max-width: 340px; }
.aqua-footer-brand .aqua-brand { width: fit-content; padding: 16px 18px 12px; border-radius: 18px; background: #fffaf6; box-shadow: 0 16px 38px rgba(0,0,0,.16); }
.aqua-footer-brand .aqua-brand__image { width: 126px; height: auto; object-fit: contain; object-position: left center; }
.aqua-footer-brand__line { margin-top: 28px; color: #fff; font-family: var(--aqua-serif); font-size: 1.55rem; line-height: 1.2; }
.aqua-footer-email { display: inline-block; margin-top: 10px; color: var(--aqua-sand); font-weight: 800; text-decoration: none; }
.aqua-footer-brand small { display: block; margin-top: 6px; }
.aqua-footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; }
.aqua-footer-columns details { min-width: 0; }
.aqua-footer-columns summary { margin-bottom: 18px; color: #fff; cursor: default; font-size: .72rem; font-weight: 800; letter-spacing: .11em; list-style: none; text-transform: uppercase; }
.aqua-footer-columns summary::-webkit-details-marker { display: none; }
.aqua-footer-columns ul { margin: 0; padding: 0; list-style: none; }
.aqua-footer-columns li { margin-bottom: 9px; }
.aqua-footer-columns a { color: rgba(255,255,255,.68); font-size: .78rem; text-decoration: none; }
.aqua-footer-columns a:hover { color: #fff; }
.aqua-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.aqua-socials a, .aqua-socials span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; font-size: .68rem; font-weight: 800; text-decoration: none; transition: transform var(--aqua-transition), border-color var(--aqua-transition), background var(--aqua-transition); }
.aqua-socials a:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); }
.aqua-socials svg { width: 18px; height: 18px; }
.aqua-socials svg rect, .aqua-socials svg circle { fill: none; stroke: currentColor; stroke-width: 1.8; }
.aqua-socials svg path { fill: currentColor; stroke: none; }
.aqua-socials span { opacity: .38; }
.aqua-site-footer__bottom { position: relative; width: var(--aqua-shell); min-height: 68px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.13); }
.aqua-site-footer__bottom p { margin: 0; font-size: .69rem; }

/* Responsive */
@media (max-width: 1180px) {
  :root { --aqua-shell: min(100% - 36px, 1120px); --aqua-editorial: min(100% - 36px, 1000px); --aqua-reading: min(100% - 36px, 760px); }
  .aqua-desktop-nav { display: none; }
  .aqua-site-header__inner { grid-template-columns: auto 1fr; }
  .aqua-header-actions { justify-self: end; }
  .aqua-menu-toggle { display: grid; }
  .aqua-card-grid--three, .aqua-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aqua-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aqua-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aqua-footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 45px; }
  .aqua-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aqua-contact-map { grid-column: 1/-1; min-height: 320px; }
}

@media (max-width: 900px) {
  :root { --aqua-header-height: 78px; }
  .admin-bar .aqua-site-header { top: 46px; }
  .admin-bar .aqua-mobile-menu { top: calc(var(--aqua-header-height) + 46px); }
  .aqua-site-header__brand--desktop { display: none; }
  .aqua-site-header__brand--mobile { display: block; }
  .aqua-header-plan > span, .aqua-button--header { display: none; }
  .aqua-page-hero__inner, .aqua-archive-hero__inner, .aqua-content-layout, .aqua-detail-layout, .aqua-destination-intro, .aqua-faq-layout, .aqua-legal-layout, .aqua-split, .aqua-explorer-preview { grid-template-columns: 1fr; }
  .aqua-page-hero__inner { min-height: 520px; gap: 30px; }
  .aqua-page-hero__note { max-width: 480px; }
  .aqua-home-hero__season-card { position: relative; right: auto; bottom: auto; width: var(--aqua-shell); margin: -70px auto 28px; }
  .aqua-home-hero { padding-bottom: 1px; }
  .aqua-home-hero__content { padding-bottom: 110px; }
  .aqua-trust-strip .aqua-shell { grid-template-columns: repeat(2,1fr); padding-block: 15px; }
  .aqua-trust-strip span { padding: 10px; }
  .aqua-trust-strip span:nth-child(3)::before { display: none; }
  .aqua-mini-compass__cards { right: 0; }
  .aqua-explorer-preview__map { min-height: 430px; }
  .aqua-island-grid, .aqua-safety-grid, .aqua-legal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aqua-side-note, .aqua-partner-form, .aqua-detail-aside, .aqua-legal-nav { position: static; }
  .aqua-fact-bar__inner { grid-template-columns: repeat(2,1fr); }
  .aqua-season-grid { grid-template-columns: repeat(6,1fr); }
  .aqua-site-footer__inner { grid-template-columns: 1fr; }
  .aqua-footer-brand { max-width: 520px; }
  .aqua-final-cta { align-items: flex-start; flex-direction: column; }
  .aqua-cookie-banner { grid-template-columns: 1fr; }
  .aqua-cookie-banner__actions { justify-content: flex-start; }
}

@media (min-width: 681px) {
  .aqua-footer-columns details { display: block; }
  .aqua-footer-columns details > :not(summary) { display: block; }
}

@media (max-width: 680px) {
  :root { --aqua-shell: calc(100% - 28px); --aqua-editorial: calc(100% - 28px); --aqua-reading: calc(100% - 28px); }
  h1 { font-size: clamp(2.75rem, 13vw, 4.5rem); }
  h2 { font-size: clamp(2rem, 10vw, 3.2rem); }
  .aqua-section { padding: 72px 0; }
  .aqua-section-heading--row { align-items: flex-start; flex-direction: column; }
  .aqua-home-hero { min-height: 700px; background-position: 62% center; }
  .aqua-home-hero__veil { background: linear-gradient(90deg, rgba(3,31,43,.9), rgba(3,31,43,.55)), linear-gradient(0deg, rgba(3,31,43,.65), transparent); }
  .aqua-home-hero__content { padding-top: 100px; }
  .aqua-trust-strip .aqua-shell, .aqua-card-grid--three, .aqua-related-grid, .aqua-value-grid, .aqua-process, .aqua-check-grid, .aqua-island-grid, .aqua-safety-grid, .aqua-contact-grid, .aqua-legal-grid, .aqua-post-grid { grid-template-columns: 1fr; }
  .aqua-trust-strip span + span::before { display: none; }
  .aqua-card__media { min-height: 220px; }
  .aqua-mini-compass { min-height: 450px; }
  .aqua-mini-compass__rings { width: min(350px,88vw); }
  .aqua-mini-compass__cards { position: relative; right: auto; bottom: auto; width: 100%; margin-top: -60px; }
  .aqua-explorer-preview__map { min-height: 390px; }
  .aqua-process li { min-height: auto; }
  .aqua-process li > span { margin-bottom: 28px; }
  .aqua-page-hero__inner { min-height: 470px; padding-top: 65px; padding-bottom: 65px; }
  .aqua-detail-hero { min-height: 630px; }
  .aqua-fact-bar__inner { grid-template-columns: 1fr; }
  .aqua-fact { border-right: 0; border-bottom: 1px solid var(--aqua-line); }
  .aqua-fact:first-child { border-left: 0; }
  .aqua-season-grid { grid-template-columns: repeat(4,1fr); }
  .aqua-data-principles, .aqua-accessibility-points { grid-template-columns: 1fr; }
  .aqua-footer-columns { grid-template-columns: 1fr; gap: 0; }
  .aqua-footer-columns details { border-top: 1px solid rgba(255,255,255,.13); }
  .aqua-footer-columns summary { position: relative; margin: 0; padding: 18px 30px 18px 0; cursor: pointer; }
  .aqua-footer-columns summary::after { position: absolute; right: 0; content: "+"; }
  .aqua-footer-columns details[open] summary::after { content: "−"; }
  .aqua-footer-columns details > ul, .aqua-footer-columns details > .aqua-socials, .aqua-footer-columns details > div { padding-bottom: 20px; }
  .aqua-site-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 20px 0; }
  .aqua-cookie-banner { right: 10px; bottom: 10px; left: 10px; padding: 20px; }
  .aqua-cookie-banner__actions, .aqua-cookie-modal__actions, .aqua-cookie-page__actions { align-items: stretch; flex-direction: column-reverse; }
  .aqua-cookie-banner__actions .aqua-button, .aqua-cookie-modal__actions .aqua-button, .aqua-cookie-page__actions .aqua-button { width: 100%; }
  .aqua-consent-row { grid-template-columns: 1fr auto; gap: 14px; }
  .aqua-mobile-menu__utilities { grid-template-columns: 1fr; }
  .aqua-app__title { font-size: clamp(2.55rem, 13vw, 4rem) !important; }
  .aqua-plan-dock { z-index: 980 !important; }
}

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

@media print {
  .aqua-site-header, .aqua-site-footer, .aqua-breadcrumbs, .aqua-cookie-banner, .aqua-cookie-modal, .aqua-plan-dock, .aqua-button { display: none !important; }
  body { background: #fff; color: #000; }
  .aqua-section, .aqua-page-hero__inner { padding: 20px 0; }
  .aqua-page-hero { background: #fff; color: #000; }
  .aqua-page-hero h1 { color: #000; }
}

/* Additional production components */
.aqua-application-shell { padding: 28px 0 clamp(80px, 10vw, 140px); background: radial-gradient(circle at 90% 0, rgba(72,184,176,.12), transparent 26%), var(--aqua-paper); }
.aqua-application-shell > .aqua-shell > .aqua-breadcrumbs { width: 100%; }
.aqua-card-grid--four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.aqua-value-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.aqua-filter-chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; }
.aqua-filter-chips a { display:inline-flex; min-height:42px; align-items:center; padding:8px 14px; border:1px solid var(--aqua-line); border-radius:999px; background:#fff; color:var(--aqua-navy); font-size:.76rem; font-weight:800; text-decoration:none; }
.aqua-filter-chips a:hover { border-color:var(--aqua-ochre); background:var(--aqua-sand-light); }
.aqua-section--archive { padding-top:55px; }
.aqua-detail-hero__veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,31,43,.84),rgba(3,31,43,.42) 65%,rgba(3,31,43,.1)); }
.aqua-detail-hero--activity, .aqua-detail-hero--destination { isolation:isolate; }
.aqua-detail-facts { border-block:1px solid var(--aqua-line); background:#fff; }
.aqua-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.aqua-fact-grid > div { min-height:108px; padding:23px; border-right:1px solid var(--aqua-line); }
.aqua-fact-grid > div:first-child { border-left:1px solid var(--aqua-line); }
.aqua-fact-grid span { display:block; margin-bottom:7px; color:var(--aqua-muted); font-size:.67rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.aqua-fact-grid strong { display:block; color:var(--aqua-navy); font-size:.9rem; }
.aqua-pill-list { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.aqua-pill-list li { padding:7px 11px; border:1px solid var(--aqua-line); border-radius:999px; background:var(--aqua-mist); color:var(--aqua-navy); font-size:.72rem; font-weight:800; }
.aqua-fit-card { padding:22px; border:1px solid var(--aqua-line); border-radius:var(--aqua-radius); background:#fff; box-shadow:0 10px 28px rgba(8,47,66,.05); }
.aqua-fit-card h3 { font-size:1.45rem; }
.aqua-fit-card small { display:block; margin-top:10px; color:var(--aqua-muted); line-height:1.45; }
.aqua-fit-meter { height:7px; margin-top:18px; overflow:hidden; border-radius:999px; background:var(--aqua-mist); }
.aqua-fit-meter span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--aqua-ochre),var(--aqua-aqua)); }
.aqua-month-band { display:grid; grid-template-columns:repeat(12,1fr); gap:1px; margin-bottom:clamp(50px,7vw,90px); background:rgba(255,255,255,.15); }
.aqua-month-band span { display:grid; min-height:65px; place-items:center; background:rgba(255,255,255,.06); color:#fff; font-size:.68rem; font-weight:800; }
.aqua-month-band span:nth-child(n+5):nth-child(-n+9) { color:#e8c98c; }
.aqua-story-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.aqua-story-grid article { min-height:270px; padding:27px; border:1px solid var(--aqua-line); border-radius:var(--aqua-radius); background:#fff; }
.aqua-story-grid article > span { display:block; margin-bottom:45px; color:var(--aqua-ochre); }
.aqua-story-grid p { color:var(--aqua-muted); font-size:.88rem; }
.aqua-emergency { padding:clamp(70px,9vw,115px) 0; background:linear-gradient(120deg,#7c3027,#a74938); color:rgba(255,255,255,.8); }
.aqua-emergency h2 { max-width:950px; color:#fff; }
.aqua-emergency p:not(.aqua-eyebrow) { max-width:820px; }
.aqua-side-note--alert { border-top:4px solid var(--aqua-coral); }
.aqua-page-hero__split { position:relative; z-index:1; min-height:clamp(500px,62vw,720px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr); gap:60px; align-items:end; padding:clamp(80px,12vw,150px) 0 clamp(70px,9vw,115px); }
.aqua-page-hero__split > div:first-child { max-width:900px; }
.aqua-page-hero__split h1 { color:#fff; }
.aqua-page-hero__split p:not(.aqua-eyebrow) { max-width:730px; font-size:clamp(1.05rem,1.8vw,1.35rem); }
.aqua-page-hero--season { background:linear-gradient(125deg,#0b3444,#196478 58%,#725f3b); }
.aqua-page-hero--how { background:linear-gradient(125deg,#092d3d,#1f5d68 58%,#665538); }
.aqua-page-hero--about { background:linear-gradient(125deg,#0b3444,#315c62 58%,#615a43); }
.aqua-page-hero--activities { background:linear-gradient(125deg,#082f42,#17617a); }
.aqua-cookie-page__intro { margin-bottom:22px; }

@media (max-width:1180px) {
  .aqua-card-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aqua-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .aqua-page-hero__split { grid-template-columns:1fr; min-height:540px; }
  .aqua-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aqua-month-band { grid-template-columns:repeat(6,1fr); }
}
@media (max-width:680px) {
  .aqua-card-grid--four, .aqua-value-grid--three, .aqua-story-grid { grid-template-columns:1fr; }
  .aqua-fact-grid { grid-template-columns:1fr; }
  .aqua-fact-grid > div { border-right:0; border-bottom:1px solid var(--aqua-line); }
  .aqua-fact-grid > div:first-child { border-left:0; }
  .aqua-month-band { grid-template-columns:repeat(4,1fr); }
}

/* Template alignment corrections */
.aqua-page-hero > .aqua-shell:not(.aqua-page-hero__inner):not(.aqua-page-hero__split) {
  position:relative; z-index:1; min-height:clamp(470px,58vw,650px); display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:clamp(75px,11vw,140px) 0 clamp(68px,9vw,105px);
}
.aqua-page-hero > .aqua-shell:not(.aqua-page-hero__inner):not(.aqua-page-hero__split) > p:not(.aqua-eyebrow) { max-width:760px; font-size:clamp(1.05rem,1.8vw,1.35rem); }
.aqua-page-hero > .aqua-shell:not(.aqua-page-hero__inner):not(.aqua-page-hero__split) h1 { max-width:1020px; color:#fff; }
.aqua-page-hero .aqua-breadcrumbs, .aqua-detail-hero .aqua-breadcrumbs { width:100%; margin:0 0 auto; padding-top:0; color:rgba(255,255,255,.68); }
.aqua-page-hero .aqua-breadcrumbs > span, .aqua-detail-hero .aqua-breadcrumbs > span { color:#e8c98c; }
.aqua-detail-hero { background-color:var(--aqua-navy); background-image:var(--aqua-detail-image, linear-gradient(135deg,#082f42,#17617a)); background-position:center; background-size:cover; }
.aqua-detail-hero > .aqua-shell { position:relative; z-index:2; padding:30px 0 clamp(76px,9vw,110px); }
.aqua-detail-hero > .aqua-shell > p:not(.aqua-eyebrow) { max-width:750px; font-size:1.2rem; }
.aqua-detail-hero__veil { z-index:1; }
.aqua-fact-grid small, .aqua-fact-grid span { display:block; margin-bottom:7px; color:var(--aqua-muted); font-size:.67rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.aqua-fit-card dl { display:grid; gap:8px; margin:18px 0 0; }
.aqua-fit-card dl > div { display:flex; justify-content:space-between; gap:15px; padding-top:8px; border-top:1px solid var(--aqua-line); font-size:.72rem; }
.aqua-fit-card dt { color:var(--aqua-muted); }
.aqua-fit-card dd { margin:0; color:var(--aqua-navy); font-weight:800; text-align:right; }
section.aqua-final-cta { padding:clamp(70px,9vw,110px) 0; background:var(--aqua-sand-light); }
section.aqua-final-cta > .aqua-shell { display:flex; align-items:end; justify-content:space-between; gap:40px; }
section.aqua-final-cta > .aqua-shell > h2 { max-width:820px; }
.aqua-filter-chips a.is-active { border-color:var(--aqua-navy); background:var(--aqua-navy); color:#fff; }
.aqua-application-shell .aqua-app { padding-top:32px; }

@media (max-width:900px) {
  section.aqua-final-cta > .aqua-shell { align-items:flex-start; flex-direction:column; }
}

/* Framework 1.1.4 — resilient native mobile navigation */
.aqua-mobile-nav {
  position: relative;
  margin: 0;
  padding: 0;
}
.aqua-mobile-nav > summary {
  list-style: none;
}
.aqua-mobile-nav > summary::-webkit-details-marker {
  display: none;
}
.aqua-mobile-nav[open] .aqua-menu-toggle__bars i:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.aqua-mobile-nav[open] .aqua-menu-toggle__bars i:nth-child(2) {
  opacity: 0;
}
.aqua-mobile-nav[open] .aqua-menu-toggle__bars i:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.aqua-mobile-nav:not([open]) .aqua-mobile-menu,
.aqua-mobile-nav:not([open]) .aqua-site-overlay {
  display: none;
}
.aqua-mobile-nav[open] .aqua-site-overlay {
  display: block;
}

@media (max-width: 1180px) {
  .aqua-site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .aqua-site-header__brand {
    min-width: 0;
  }
  .aqua-header-actions {
    grid-column: 2;
    justify-self: end;
  }
  .aqua-mobile-nav {
    display: block;
  }
  .aqua-menu-toggle {
    position: relative;
    z-index: 1004;
    display: grid;
  }
}

@media (max-width: 900px) {
  :root {
    --aqua-header-height: 84px;
  }
  .aqua-site-header__inner {
    width: calc(100% - 28px);
    gap: 12px;
  }
  .aqua-brand__image--mobile {
    width: 54px;
    height: 66px;
  }
  .aqua-header-actions {
    gap: 9px;
  }
  .aqua-header-plan {
    min-width: 42px;
    justify-content: center;
  }
  .aqua-header-plan strong {
    width: 32px;
    height: 32px;
  }
  .aqua-menu-toggle {
    width: 44px;
    height: 44px;
    background: var(--aqua-white);
  }
  .aqua-mobile-menu {
    top: var(--aqua-header-height);
    width: min(440px, 100vw);
  }
  .admin-bar .aqua-mobile-menu {
    top: calc(var(--aqua-header-height) + 46px);
  }
}

@media (max-width: 1180px) {
  /* A backdrop-filter establishes a containing block for fixed descendants in
     Chromium/WebKit. Removing it here allows the drawer to fill the viewport. */
  .aqua-site-header {
    background: rgba(251, 250, 246, .98);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
