
:root {
  --navy: #0A1628; --tide: #0F1D33; --tide2: #152743;
  --yellow: #F0B928; --yellow-hi: #F5C240;
  --cream: #F4E9D4; --cream-dim: #E4D7BE;
  --teal: #5FB3A1; --red: #E8554B;
  --fog1: #C6D1E0; --fog2: #8A98AE; --fog3: #5A6781;
  --hairline: rgba(240,185,40,0.14);
}
@font-face { font-family: "Ronale"; src: url("/Ronale.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Zeminous"; src: url("/Zeminous.woff2") format("woff2"); font-display: swap; }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--navy); color: var(--cream);
  font-family: "DM Sans", -apple-system, system-ui, sans-serif;
  font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased;
}
a { color: var(--yellow); text-decoration: none; }
a:hover { color: var(--yellow-hi); }
.wrap { max-width: 960px; margin: 0 auto; padding: 0 24px; }
.nav { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; }
.nav .mark { font-family: "Ronale", Georgia, serif; font-size: 24px; letter-spacing: 0.06em; color: var(--cream); }
.nav .mark:hover { color: var(--yellow); }
.nav .links { display: flex; gap: 24px; align-items: center; font-size: 15px; font-weight: 500; }
.nav .links a { color: var(--cream-dim); }
.nav .links a:hover { color: var(--yellow); }
.nav .links a.cta { background: var(--yellow); color: var(--navy); padding: 9px 18px; border-radius: 999px; font-weight: 700; }
.nav .links a.cta:hover { background: var(--yellow-hi); color: var(--navy); }
h1, h2 { font-family: "Playfair Display", Georgia, serif; line-height: 1.15; text-wrap: balance; }
h1 { font-size: clamp(34px, 6vw, 56px); font-weight: 900; }
h2 { font-size: clamp(26px, 4vw, 36px); font-weight: 700; margin-bottom: 18px; }
h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--yellow); margin-bottom: 14px; }
section { padding: 72px 0; }
section + section { border-top: 1px solid rgba(244,233,212,0.07); }
.lead { font-size: 20px; color: var(--cream-dim); max-width: 640px; }
.card { background: var(--tide); border: 1px solid var(--hairline); border-radius: 14px; padding: 28px; }
.grid { display: grid; gap: 20px; }
.grid.cols3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.cols2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.btn { display: inline-block; background: var(--yellow); color: var(--navy); font-weight: 700; font-size: 17px; padding: 15px 32px; border-radius: 999px; }
.btn:hover { background: var(--yellow-hi); color: var(--navy); }
.btn.ghost { background: transparent; color: var(--cream); border: 1px solid rgba(244,233,212,0.25); }
.btn.ghost:hover { border-color: var(--yellow); color: var(--yellow); }
.verdict-word { font-family: "Playfair Display", Georgia, serif; font-weight: 900; font-size: clamp(40px, 7vw, 64px); line-height: 1; }
.firing { color: var(--yellow); } .decent { color: var(--teal); } .flat { color: var(--red); }
table { width: 100%; border-collapse: collapse; font-size: 16px; }
.table-scroll { overflow-x: auto; }
th, td { text-align: left; padding: 14px 16px; border-bottom: 1px solid rgba(244,233,212,0.1); vertical-align: top; }
th { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fog2); font-weight: 600; }
td.yes { color: var(--teal); } td.no { color: var(--fog3); }
td strong { color: var(--cream); }
.tldr { border-left: none; background: var(--tide); border: 1px solid var(--hairline); border-radius: 14px; padding: 24px 28px; margin: 28px 0; font-size: 18px; }
.tldr .tag { font-size: 12px; font-weight: 700; letter-spacing: 0.15em; color: var(--yellow); text-transform: uppercase; display: block; margin-bottom: 8px; }
.concede { color: var(--fog2); font-size: 15px; }
.footer { border-top: 1px solid rgba(244,233,212,0.07); padding: 40px 0 56px; font-size: 14px; color: var(--fog2); }
.footer .cols { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.footer a { color: var(--fog1); } .footer a:hover { color: var(--yellow); }
.footer .zem { font-family: "Zeminous", Georgia, serif; font-size: 22px; color: var(--yellow); margin-bottom: 6px; }
.updated { font-size: 13px; color: var(--fog3); margin-top: 10px; }
ul.checks { list-style: none; display: flex; flex-direction: column; gap: 10px; }
ul.checks li { padding-left: 28px; position: relative; color: var(--cream-dim); }
ul.checks li::before { content: ""; position: absolute; left: 0; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--teal); }
ul.checks.gaps li::before { background: var(--fog3); }
.hero-home { min-height: 82svh; display: flex; flex-direction: column; justify-content: center; text-align: center; position: relative; padding: 48px 0; }
.hero-bg { position: absolute; inset: 0; background: url("/ocean-bg.jpg") center/cover no-repeat; opacity: 0.35; z-index: -1;
  -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent); mask-image: linear-gradient(to bottom, black 55%, transparent); }
.wordmark-hero { font-family: "Ronale", Georgia, serif; font-size: clamp(56px, 13vw, 120px); line-height: 0.9; color: var(--yellow); letter-spacing: 0.02em; text-shadow: 0 2px 12px rgba(0,0,0,0.4), 0 0 40px rgba(240,185,40,0.18); }
.tagline-hero { font-family: "Zeminous", Georgia, serif; font-size: clamp(22px, 4.5vw, 34px); color: var(--yellow); margin: 8px 0 28px; }
.price-row { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
.price-card { background: var(--tide); border: 1px solid var(--hairline); border-radius: 14px; padding: 26px 30px; min-width: 220px; text-align: center; }
.price-card.hot { border-color: var(--yellow); }
.price-card .amt { font-size: 34px; font-weight: 700; color: var(--cream); }
.price-card .per { color: var(--fog2); font-size: 14px; }
.mono { color: var(--fog2); font-size: 14px; }
@media (max-width: 760px) {
  .grid.cols3, .grid.cols2 { grid-template-columns: 1fr; }
  .nav .links { gap: 14px; font-size: 14px; }
  .nav .links a.plain-hide { display: none; }
  section { padding: 56px 0; }
}
