:root{
  --etn-blue:#003857;
  --etn-accent:#006c9a;
  --bg:#f7fafc;
  --ink:#0b1c2c;
  --line:#e6eef5;
  --card:#fff;
  --radius:14px;
  --shadow:0 10px 22px rgba(0,0,0,.08);
  --shadow-soft:0 6px 14px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.65;
}

/* Layout */
.page{ width:min(1200px,94%); margin:auto; padding: 1.8rem 0 2.2rem; }
.wrap{ width:100%; margin:auto; }

/* Headings & text */
h1,h2,h3{ line-height:1.25; margin:.2rem 0 .6rem; }
h1{ color:var(--etn-blue); font-size: clamp(1.9rem,3.6vw,2.6rem); border-bottom:2px solid var(--etn-accent); padding-bottom:.4rem; }
h2{ color:var(--etn-blue); font-size: clamp(1.4rem,2.4vw,1.8rem); }
h3{ color:var(--etn-accent); font-size:1.15rem; }
ul{ padding-left:1.2rem; margin:.4rem 0 1.2rem; }
ul li{ margin-bottom:.4rem; }
.eyebrow{ font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:#345f79; margin:0 0 .4rem; }
.lead{ font-size:1.12rem; color:#2f2f2f; }

/* Sections */
.masthead{
  background: linear-gradient(180deg,#fff,#f3f8fc);
  border:1px solid var(--line);
  border-left:0; border-right:0;
  padding: 1.4rem 0 1.2rem;
}

.stats{
  background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.stats-grid{
  display:grid; grid-template-columns: repeat(5, 1fr); gap:.6rem;
  width:min(1100px,100%); margin:auto; padding:.8rem 0;
}
.stat{
  text-align:center; background:#fbfdff; border:1px solid var(--line); border-radius:12px; padding:.8rem .4rem;
  box-shadow:var(--shadow-soft);
}
.stat .num{ display:block; font-weight:800; color:var(--etn-blue); font-size:1.1rem; }
.stat .label{ display:block; font-size:.86rem; color:#37586f; }

.block{ padding:1.6rem 0; }
.grid-2{ display:grid; gap:1.2rem; grid-template-columns: 1.1fr .9fr; }
@media (max-width: 920px){ .grid-2{ grid-template-columns:1fr; } }

.card{
  background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-soft);
  padding:1rem;
}
.note .ticks{ margin:0; padding-left:1.1rem; }
.note .ticks li{ margin:.25rem 0; }

/* Features (1–6) */
.features{
  display:grid; gap:1rem; grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 980px){ .features{ grid-template-columns:1fr 1fr; } }
@media (max-width: 640px){ .features{ grid-template-columns:1fr; } }

.feature{
  background:#fff; border:1px solid var(--line); border-radius:12px;
  box-shadow:var(--shadow-soft); padding:1rem;
}

/* Alt band */
.block.alt{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

/* CTA */
.cta{
  background: linear-gradient(90deg, var(--etn-blue), #02527a);
  color:#fff; margin:1.6rem 0 0; border-radius:16px; box-shadow:var(--shadow);
}
.cta-inner{
  display:grid; gap:1.2rem; grid-template-columns:1.2fr .8fr; align-items:center;
  padding:1.4rem 1rem;
}
@media (max-width: 920px){ .cta-inner{ grid-template-columns:1fr; } }
.booking-ph{
  border:1px dashed rgba(255,255,255,.5); border-radius:12px; padding:1rem; text-align:center; font-weight:600; opacity:.9;
}

/* Subtle interactions */
*,*::before,*::after{
  transition: transform .3s ease, box-shadow .3s ease, background-color .25s ease, color .25s ease, border-color .25s ease, opacity .3s ease;
}
.feature:hover, .card:hover, .stat:hover{ transform: translateY(-2px); box-shadow: 0 14px 26px rgba(0,0,0,.08); }

/* Responsive typography */
@media (max-width: 768px){
  body{ font-size:.97rem; }
  .stats-grid{ grid-template-columns: repeat(2, 1fr); }
}
