/* BRAESIDE Golf Club — theme. Heritage club: deep fairway green, cream card
   stock, a masters-yellow flag accent. Slab-ish serif with engraved-card sans.
   Loaded AFTER station.css. */

:root{
  --bg:#F6F4EC;
  --bg-alt:#ECE8DA;
  --surface:#FDFCF7;
  --ink:#1E2A20;
  --ink-soft:#46564A;
  --muted:#84907F;
  --line:#D9D4C2;

  --accent:#1F5732;
  --accent-deep:#143D22;
  --accent-soft:#E2EBE0;
  --flag:#E8B33C;

  --dark-bg:#14261A;
  --dark-ink:#F6F4EC;

  --font-d:'Libre Caslon Text',Georgia,serif;
  --font-m:'Archivo',system-ui,sans-serif;
  --radius:4px;
  --gutter:clamp(1.25rem,3.8vw,4.2rem);

  --text-base:clamp(1.02rem,.96rem + .38vw,1.18rem);
  --text-sec:clamp(2rem,1.3rem + 3vw,3.9rem);
  --space-sec:clamp(4.5rem,3rem + 6vw,9.5rem);
  --ease:cubic-bezier(.16,1,.3,1);
}

.mono{font-weight:600;text-transform:uppercase;font-size:.62rem;letter-spacing:.22em}
.logo-word{font-weight:700;letter-spacing:.14em;font-size:1rem}
.sec-title,.man-line,.book-title,.beat-verdict{font-weight:400}
.sec-title em,.man-line em,.beat-verdict em{font-style:italic;color:var(--accent)}
.hero-line{font-size:clamp(2.6rem,1rem + 7vw,6.6rem);font-weight:400}
.hero-line em{font-style:italic}

/* ---------- hero: full-bleed dawn plate ---------- */
.hero{justify-content:flex-end;padding-bottom:clamp(2.4rem,6vh,4.5rem)}
.hero-plate{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-plate img{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}
.hero-plate::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,38,26,.62) 0%,rgba(20,38,26,.12) 40%,rgba(20,38,26,.88) 100%);
}
.hero>*:not(.hero-plate){position:relative;z-index:2;color:#F6F4EC}
.hero-readout{color:var(--flag)}
.hero-line em{color:#F6F4EC}
.hero-sub{color:#E3E6DA;max-width:46ch}
.hero-spec{
  display:flex;gap:clamp(1.4rem,4vw,3.4rem);flex-wrap:wrap;
  margin-top:clamp(1.8rem,4vh,3rem);border-top:1px solid rgba(246,244,236,.28);padding-top:1.2rem;
}
.hero-spec div{opacity:0}
.hero-spec dt{font-family:var(--font-m);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#B9C2AE}
.hero-spec dd{font-family:var(--font-m);font-size:.9rem;font-weight:600;color:var(--flag);margin-top:.3rem}
.hero-cue{right:var(--gutter);bottom:clamp(2.4rem,6vh,4.5rem);color:var(--flag)}

/* ---------- THE SCORECARD — the signature scene ---------- */
.stage{background:var(--bg-alt)}
.card-wrap{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
  width:min(94vw,1200px);
}
.scorecard{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(1.3rem,2.6vw,2.2rem);
  box-shadow:0 40px 90px -60px rgba(30,42,32,.55);
}
.scorecard-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  border-bottom:2px solid var(--accent);padding-bottom:.8rem;margin-bottom:.6rem;
}
.scorecard-title{font-family:var(--font-m);font-size:.66rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.scorecard-out{font-family:var(--font-m);font-size:.6rem;letter-spacing:.18em;color:var(--muted)}
.hole-row{
  display:grid;grid-template-columns:2.5rem 3rem 3.4rem minmax(0,1fr);
  gap:.8rem;align-items:baseline;
  padding:.72rem 0;border-bottom:1px solid #EAE5D5;
  opacity:.28;transition:opacity .45s var(--ease);
}
.hole-row.on{opacity:1}
.hole-num{font-family:var(--font-m);font-weight:700;font-size:1.05rem;color:var(--ink)}
.hole-row.now .hole-num{color:var(--accent)}
.hole-par,.hole-yds{font-family:var(--font-m);font-size:.72rem;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums}
.hole-name{font-size:1.05rem;font-style:italic;color:var(--ink-soft)}
.hole-row.now .hole-name{color:var(--ink)}
.card-photo{
  position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius);
  box-shadow:0 30px 80px -50px rgba(30,42,32,.65);
}
.card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease;will-change:opacity}
.card-photo::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(20,38,26,.72) 100%);
}
.card-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(1rem,2.4vw,1.8rem);color:#F6F4EC;
}
.card-cap-hole{font-family:var(--font-m);font-weight:700;font-size:.7rem;letter-spacing:.24em;color:var(--flag)}
.card-cap-note{margin-top:.4rem;font-size:clamp(.98rem,.92rem + .4vw,1.24rem);max-width:56ch;color:#EDEFE4}
.stage-title{color:var(--accent)}
.stage-read{color:var(--muted)}
.stage-beat{background:var(--bg-alt)}

/* ---------- services: club-board cards ---------- */
.svc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.9rem,1.6vw,1.4rem);padding:0 var(--gutter)}
.svc-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .35s var(--ease),box-shadow .35s;
}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -32px rgba(30,42,32,.5)}
.svc-card img{aspect-ratio:21/9;object-fit:cover;width:100%}
.svc-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.svc-body h3{font-size:1.35rem;line-height:1.15}
.svc-body .spec{font-family:var(--font-m);font-size:.54rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.svc-body p{color:var(--ink-soft);font-size:.96rem}
.svc-body .price{font-family:var(--font-m);font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--flag);margin-top:auto;padding-top:.6rem}

/* ---------- rest ---------- */
.steps-list dt{color:#C9D9C2}
.crew-certs li{border-color:#C7CFB9}
.rev-note{font-style:italic}
.book::before{content:'';position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 0%,rgba(232,179,60,.16),transparent 70%)}
.btn-call{background:var(--flag);color:#14261A}
.btn-call:hover{background:#D9A32B}

@media(max-width:900px){
  .card-wrap{grid-template-columns:1fr}
  .svc-grid2{grid-template-columns:1fr}
  .hole-row{grid-template-columns:2.2rem 2.6rem 3rem minmax(0,1fr)}
}
