/* Big Waves Nazaré — "beach profile" design system.
   The page descends through sky → ocean → deep → foam → sand. */
:root{
  --fd:"Futura","Century Gothic","Trebuchet MS","Helvetica Neue",Arial,sans-serif;
  --fb:"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --sky-1:#d7ecf4;--sky-2:#9ecadd;--ocean:#1b6684;--ocean-2:#0f4a63;--deep:#0c3b52;--abyss:#082e3d;
  --foam:#f3fafb;--wet:#c6b291;--dry:#efe1c4;--driftwood:#1f2e37;
  --ink:#0c2a37;--ink-soft:#486775;--line:#dfeaee;
  --coral:#ef6a4f;--coral-deep:#d9502f;--gold:#f2b13c;--sea:#0e6f8f;--maxw:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dry);color:var(--ink);font-family:var(--fb);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-family:var(--fd);font-weight:700;text-wrap:balance}
.eyebrow{font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.dash{opacity:.5}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:0;border-radius:2px;transition:transform .12s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#3a2600}.btn-gold:hover{background:#dd9c25}
.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:var(--coral-deep)}
.btn-line{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff}.btn-line:hover{background:rgba(255,255,255,.12)}

/* nav */
header.nav{position:absolute;top:0;left:0;right:0;z-index:20}
.nav .wrap{display:flex;align-items:center;gap:30px;height:88px}
.brand{font-family:var(--fd);font-weight:700;letter-spacing:.3em;font-size:15px;color:#fff;text-transform:uppercase}
nav.links{display:flex;gap:26px;margin-left:auto}
nav.links a{font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82)}
nav.links a:hover,nav.links a.on{color:#fff}
.nav-tools{display:flex;align-items:center;gap:18px}
.lang{display:flex;gap:5px;font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.lang a.on{color:var(--gold)}.lang span{opacity:.4}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(178deg,var(--sky-1) 0%,var(--sky-2) 9%,#4d97b2 22%,var(--ocean) 42%,var(--ocean-2) 68%,var(--deep) 100%)}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:200px;background:linear-gradient(180deg,rgba(6,32,42,.34),transparent);z-index:1}
.hero-slim{background:linear-gradient(178deg,var(--ocean) 0%,var(--ocean-2) 60%,var(--deep) 100%)}
.ghost{position:absolute;z-index:0;left:50%;top:46%;transform:translate(-50%,-50%);font-family:var(--fd);font-weight:700;text-transform:uppercase;font-size:clamp(150px,30vw,460px);color:rgba(255,255,255,.07);white-space:nowrap;pointer-events:none;line-height:.8}
.hero .wrap{position:relative;z-index:5}
.hero-copy{max-width:720px;padding:132px 0 40px}
.hero-slim .hero-copy{padding:150px 0 80px}
.hero-copy .eyebrow{color:var(--gold);margin-bottom:20px;display:inline-flex;align-items:center;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(242,177,60,.8);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,177,60,.7)}70%{box-shadow:0 0 0 11px rgba(242,177,60,0)}100%{box-shadow:0 0 0 0 rgba(242,177,60,0)}}
.hero h1{font-size:clamp(48px,8.4vw,122px);line-height:.92;text-transform:uppercase;text-shadow:0 2px 30px rgba(6,30,40,.28)}
.hero h1 span{color:var(--sky-1)}
.hero p.lede{max-width:48ch;font-size:18px;color:rgba(255,255,255,.9);margin:24px 0 30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-waves{position:absolute;left:0;right:0;bottom:-1px;width:100%;display:block;z-index:1}

/* hero stat band */
.hero-stats{position:relative;z-index:5;border-top:1px solid rgba(255,255,255,.22)}
.hero-stats .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding-top:26px;padding-bottom:40px}
.stat-big .k{font-family:var(--fd);font-size:clamp(44px,6vw,68px);font-weight:700;line-height:.9}
.stat-big .k small{font-size:.4em;color:var(--sky-1)}
.stat-big .l{font-family:var(--fd);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:700;margin-top:4px}
.cond{display:flex;gap:26px;flex-wrap:wrap}
.cond .c b{font-family:var(--fd);font-size:20px;font-weight:700}
.cond .c span{display:block;font-family:var(--fd);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);font-weight:700}
.score-chip{display:flex;align-items:center;gap:14px;padding:14px 20px;border:1px solid rgba(255,255,255,.28);border-radius:4px}
.score-chip .sn{font-family:var(--fd);font-size:42px;font-weight:700;line-height:.8;color:var(--gold)}
.score-chip .d{font-family:var(--fd);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:rgba(255,255,255,.75)}

/* sections */
section{padding:88px 0;position:relative}
.sec-head{margin-bottom:38px}
.sec-head .eyebrow{display:block;margin-bottom:12px}
.sec-head h2{font-size:clamp(28px,4vw,46px);text-transform:uppercase;letter-spacing:.02em;line-height:.98}
.sec-head p{margin:12px 0 0;max-width:56ch}
.sec-more{margin-top:24px}
.sec-more a{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.zone-deep{background:var(--deep);color:#eaf4f7}.zone-deep .eyebrow{color:var(--gold)}
.zone-abyss{background:var(--abyss);color:#eaf4f7}.zone-abyss .eyebrow{color:var(--gold)}.zone-abyss .sec-head p{color:#9dc2cf}
.zone-foam{background:var(--foam);color:var(--ink)}.zone-foam .eyebrow{color:var(--sea)}.zone-foam .sec-head p{color:var(--ink-soft)}
.zone-dry{background:var(--dry);color:var(--ink)}.zone-dry .eyebrow{color:var(--coral-deep)}

/* forecast strip */
.fc-row{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.fc{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:18px 12px;text-align:center}
.fc .day{font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9dc2cf}
.fc .fh{font-family:var(--fd);font-size:30px;font-weight:700;margin:8px 0 2px}.fc .fh small{font-size:14px;color:#9dc2cf}
.fc .bar{height:6px;border-radius:3px;background:rgba(255,255,255,.14);margin-top:12px;overflow:hidden}
.fc .bar i{display:block;height:100%;background:linear-gradient(90deg,#37b0cf,var(--gold))}

/* hall of fame */
.hof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hof{position:relative;border-radius:4px;padding:26px 24px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12)}
.hof.lead{border-color:rgba(242,177,60,.55);background:rgba(242,177,60,.08)}
.hof .rank{font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.hof.women .rank{color:#4fc3d6}
.hof .hm{display:flex;align-items:baseline;gap:8px;margin:12px 0 8px}
.hof .hm b{font-family:var(--fd);font-size:52px;font-weight:700;line-height:.8}
.hof .hm span{font-size:14px;color:#9dc2cf;font-family:var(--fd)}
.hof .who{font-family:var(--fd);font-size:18px;font-weight:700;text-transform:uppercase}
.hof .meta{font-size:13px;color:#9dc2cf;margin-top:3px}
.hof .tag{display:inline-block;margin-top:16px;font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:2px;background:rgba(255,255,255,.1);color:#dceaf0}
.hof.lead .tag{background:var(--gold);color:#3a2600}
.hof.women .tag{background:#2b7f90;color:#fff}

/* stays teaser */
.stays-teaser .sec-head{margin-bottom:24px}

/* newsletter */
.news-box{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.news-box h2{margin-top:12px}
.news-box p{color:#5b4a30;margin:14px 0 0;max-width:46ch}
.form{background:#fff;border:1px solid #ddcba7;border-radius:4px;padding:28px;position:relative}
.form label{font-family:var(--fd);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.form .field{display:flex;gap:10px;margin:12px 0}
.form input[type=email]{flex:1;padding:13px 15px;border-radius:3px;border:1.5px solid var(--line);background:#fbfdfe;color:var(--ink);font-size:14px;font-family:var(--fb)}
.form .fine{font-size:11px;color:var(--ink-soft);margin:0}

/* footer */
footer.ft{background:var(--driftwood);color:#8ba3ad;padding:44px 0;font-size:13px}
footer.ft .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer.ft .fbrand{font-family:var(--fd);font-weight:700;letter-spacing:.3em;color:#fff;text-transform:uppercase;font-size:13px}
footer.ft nav{display:flex;gap:18px;flex-wrap:wrap}
footer.ft nav a{font-family:var(--fd);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
footer.ft nav a:hover{color:#fff}
footer.ft .fcopy{width:100%;color:#5f7688;font-size:12px}

/* forecast page */
.hero-fc .hero-copy{padding:120px 0 30px}
.crumb{display:block;font-family:var(--fd);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:14px}
.crumb a:hover{color:#fff}
.fc-sub{color:rgba(255,255,255,.85);margin-top:10px;display:inline-flex;align-items:center;gap:10px;font-size:14px}
.fc .per{font-size:12px;color:#9dc2cf;margin-top:2px}
.fc .pill{display:inline-block;margin-top:12px;font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:2px}
.pill.epic{background:var(--coral);color:#fff}.pill.big{background:var(--gold);color:#3a2600}.pill.fair{background:rgba(255,255,255,.16);color:#eaf4f7}
.fc-note{color:#9dc2cf;font-size:13px;margin-top:18px}
.muted-light{color:#9dc2cf}.muted{color:var(--ink-soft)}
.tiles3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}
.tile{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 24px}
.tile .v{font-family:var(--fd);font-size:38px;font-weight:700;color:var(--ink);line-height:1}.tile .v small{font-size:.42em;color:var(--ink-soft)}
.tile .l{font-family:var(--fd);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-top:8px}
.chart-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 24px}
.chart-title{font-family:var(--fd);font-size:14px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px}
.chart{width:100%;height:auto;display:block}
.src-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.src{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:22px 24px}
.src .k{font-family:var(--fd);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700}
.src h3{font-size:16px;text-transform:uppercase;letter-spacing:.03em;margin:8px 0}
.src p{font-size:13px;color:#a9cdd9;margin:0}

/* hall of fame page */
.hof-hero-stat{margin-top:22px;font-size:15px;color:rgba(255,255,255,.85)}
.hof-hero-stat b{font-family:var(--fd);font-size:22px;color:var(--gold)}
.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.hof-src{display:inline-block;margin-top:12px;font-family:var(--fd);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9dc2cf}
.hof-src:hover{color:#fff}
.src-grid.light .src{background:#fff;border:1px solid var(--line)}
.src-grid.light .src .k{color:var(--sea)}
.src-grid.light .src h3{color:var(--ink)}
.src-grid.light .src p{color:var(--ink-soft)}

/* guide hub */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.guide-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .14s,box-shadow .14s;color:var(--ink)}
.guide-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(12,42,55,.4)}
.guide-card .ph{height:120px;display:block}
.guide-card .ph.g1{background:linear-gradient(150deg,#2f8199,#0f4b63)}
.guide-card .ph.g2{background:linear-gradient(150deg,#8ec4d6,#3f8ba3)}
.guide-card .ph.g3{background:linear-gradient(150deg,#e7bd8d,#c98a5c)}
.guide-card .body{padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.guide-card .gc-title{font-family:var(--fd);font-size:19px;font-weight:700;letter-spacing:.01em}
.guide-card .gc-text{font-size:14px;color:var(--ink-soft)}
.guide-card .gc-more{font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sea);margin-top:4px}

/* article / prose */
.prose{max-width:70ch;margin:0 auto}
.prose h2{font-family:var(--fd);font-size:clamp(22px,2.6vw,30px);text-transform:uppercase;letter-spacing:.02em;margin:38px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 16px;font-size:17px;line-height:1.7}
.prose ul{margin:0 0 18px;padding-left:22px}
.prose li{margin:0 0 8px;font-size:17px;line-height:1.6}
.prose em{color:var(--ink-soft)}
.article-back{margin-top:34px}
.article-back a{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--sea)}

@media(max-width:960px){
  .tiles3,.src-grid{grid-template-columns:1fr}
  nav.links{display:none}
  .hero-stats .wrap{grid-template-columns:1fr;gap:22px}
  .fc-row{grid-template-columns:repeat(3,1fr)}
  .hof-grid{grid-template-columns:repeat(2,1fr)}
  .news-box{grid-template-columns:1fr}
}
@media(max-width:560px){.fc-row{grid-template-columns:repeat(2,1fr)}.hof-grid{grid-template-columns:1fr}.cond{gap:16px}}
@media(prefers-reduced-motion:reduce){.dot{animation:none}html{scroll-behavior:auto}}
