/* Glenreagh, BRC. Sandstone and eucalypt: warm rock, hard shadow, dry scrub.
   Deliberately nothing like the Rocket Fast Drones sites, so this can be handed
   to the club without looking like a company page wearing a club's name. */

:root{
  --sand:#f5efe4; --sand-2:#ebe0cd; --sand-3:#dcc9a9;
  --ochre:#b0682c; --ochre-d:#8a4f1d; --ochre-l:#e8a765;
  --euc:#4c6552; --euc-d:#2f4438; --euc-l:#8aa590;
  --ink:#2b2721; --ink-2:#5f574c; --paper:#fffdf8;
  --rule:#ded0b6; --shadow:0 1px 2px rgba(43,39,33,.06),0 8px 24px -12px rgba(43,39,33,.18);
  --r:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.2rem}
body{margin:0;background:var(--sand);color:var(--ink);
  font:17px/1.65 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  -webkit-text-size-adjust:100%}
.wrap{max-width:60rem;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--paper);padding:.6rem 1rem;border-radius:var(--r)}

/* hero */
.hero{position:relative;overflow:hidden;
  background:linear-gradient(165deg,#f7f1e6 0%,var(--sand-2) 42%,var(--sand-3) 100%);
  border-bottom:3px solid var(--ochre-d);padding:4rem 0 2.5rem}
.hero-art{position:absolute;inset:auto 0 0 0;height:60%;opacity:.5}
.hero-art svg{width:100%;height:100%;display:block}
.hero-art .r1{fill:#c9ab7d}
.hero-art .r2{fill:#a98a5d;opacity:.75}
.hero-body{position:relative}
.eyebrow{font:700 .74rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ochre-d);margin:0 0 .8rem}
h1{font-size:clamp(3rem,11vw,5.5rem);line-height:.94;letter-spacing:-.03em;margin:0 0 .4rem}
.dates{font:600 1.15rem/1.4 ui-sans-serif,system-ui,sans-serif;color:var(--euc-d);margin:0 0 1rem}
.lede{font-size:1.13rem;max-width:36rem;margin:0 0 2rem;color:var(--ink-2)}
.stats{display:flex;flex-wrap:wrap;gap:2.2rem}
.stats div{display:flex;flex-direction:column}
.stats b{font:700 1.9rem/1 ui-sans-serif,system-ui,sans-serif;color:var(--ochre-d)}
.stats span{font:600 .72rem/1.5 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-2);margin-top:.25rem}

/* sticky nav */
.subnav{position:sticky;top:0;z-index:20;background:rgba(245,239,228,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.subnav .wrap{display:flex;gap:.35rem;overflow-x:auto;padding-top:.5rem;padding-bottom:.5rem}
.subnav a{font:600 .84rem/1 ui-sans-serif,system-ui,sans-serif;color:var(--ink-2);
  text-decoration:none;padding:.55rem .8rem;border-radius:99px;white-space:nowrap}
.subnav a:hover{background:var(--sand-2);color:var(--ink)}

/* sections */
section{padding:3.2rem 0 .5rem}
section+section{border-top:1px solid var(--rule)}
h2{font-size:clamp(1.7rem,3.6vw,2.3rem);line-height:1.1;margin:0 0 .6rem;color:var(--euc-d);
  letter-spacing:-.015em}
h3{font-size:1.2rem;margin:0 0 .35rem}
h4{font:700 .78rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ochre-d);margin:0 0 .5rem}
p{margin:.7rem 0}
.intro{font-size:1.06rem;color:var(--ink-2);max-width:46rem}
a{color:var(--ochre-d);text-underline-offset:2px}
a:hover{color:var(--ink)}

/* days */
.days{display:grid;gap:1rem;margin:1.6rem 0}
@media(min-width:46rem){.days{grid-template-columns:repeat(3,1fr)}}
.day{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--euc);
  border-radius:var(--r);padding:1.1rem 1.2rem 1.3rem;box-shadow:var(--shadow)}
.day-when{font:700 .72rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ochre-d);margin:0 0 .55rem}
.day p:not(.day-when){font-size:.94rem;color:var(--ink-2);margin:.4rem 0 0}

/* callout */
.callout{background:var(--paper);border-left:4px solid var(--ochre);border-radius:0 var(--r) var(--r) 0;
  padding:1.1rem 1.25rem;margin:1.6rem 0;box-shadow:var(--shadow)}
.callout p{font-size:.95rem;margin:.5rem 0}

/* controls */
.controls{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:end;background:var(--paper);
  border:1px solid var(--rule);border-radius:var(--r);padding:1.1rem 1.2rem;margin:1.4rem 0;
  box-shadow:var(--shadow)}
.ctl{display:flex;flex-direction:column;gap:.3rem;min-width:8.5rem}
.ctl.grow{flex:1;min-width:12rem}
.ctl label{font:600 .7rem/1.3 ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-2)}
.ctl output{font:700 1rem/1 ui-sans-serif,system-ui,sans-serif;color:var(--ochre-d)}
.ctl input[type=range]{accent-color:var(--ochre);width:100%}
.ctl select,.ctl input[type=number]{font:inherit;font-size:.92rem;padding:.4rem .5rem;
  border:1px solid var(--rule);border-radius:6px;background:var(--sand);color:var(--ink)}
.controls button{font:600 .86rem/1 ui-sans-serif,system-ui,sans-serif;padding:.6rem 1rem;
  border:1px solid var(--ochre-d);background:var(--ochre-d);color:#fff;border-radius:99px;cursor:pointer}
.controls button:hover{background:var(--ochre)}
.count{font:600 .9rem/1.5 ui-sans-serif,system-ui,sans-serif;color:var(--euc-d);margin:.3rem 0 .8rem}

/* tables */
.tblwrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);
  box-shadow:var(--shadow);max-height:34rem;overflow-y:auto}
table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.93rem}
thead th{position:sticky;top:0;background:var(--euc-d);color:#f2eee5;text-align:left;
  font:700 .7rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  padding:.6rem .8rem;white-space:nowrap}
td{padding:.5rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top}
tbody tr:hover{background:var(--sand)}
td.g{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.stars{color:var(--ochre);white-space:nowrap;letter-spacing:.05em}
.pill{display:inline-block;font:600 .72rem/1 ui-sans-serif,system-ui,sans-serif;padding:.25rem .5rem;
  border-radius:99px;background:var(--sand-2);color:var(--ink-2);white-space:nowrap}
.pill.sport{background:#e4efe6;color:var(--euc-d)}
.pill.trad{background:#f6e6d4;color:var(--ochre-d)}

/* wall picker */
.picks{display:grid;gap:.8rem;margin:1rem 0 .5rem}
.pick{display:grid;grid-template-columns:2.6rem 1fr auto;gap:1rem;align-items:center;
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:.9rem 1.1rem;
  box-shadow:var(--shadow)}
.pick.no{opacity:.55}
.rank{font:700 1.4rem/1 ui-sans-serif,system-ui,sans-serif;color:var(--sand-3);text-align:center}
.pick.yes .rank{color:var(--ochre)}
.pick h4{margin:0 0 .2rem;font-size:1.02rem;letter-spacing:0;text-transform:none;color:var(--ink);
  font-family:inherit;font-weight:700}
.pick .why{font-size:.88rem;color:var(--ink-2);margin:0}
.verdict{font:700 .72rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;padding:.4rem .7rem;border-radius:99px;white-space:nowrap}
.verdict.yes{background:var(--euc);color:#fff}
.verdict.no{background:var(--sand-2);color:var(--ink-2)}
.bar{height:5px;border-radius:99px;background:var(--sand-2);margin-top:.5rem;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ochre);border-radius:99px}

/* cards */
.cards{display:grid;gap:1rem;margin:1.4rem 0}
@media(min-width:46rem){.cards{grid-template-columns:1fr 1fr}}
.card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);
  padding:1.2rem 1.3rem;box-shadow:var(--shadow)}
.card dl{margin:.8rem 0 0}
.card dt{font:700 .68rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.11em;
  text-transform:uppercase;color:var(--euc-d);margin-top:.8rem}
.card dd{margin:.1rem 0 0;font-size:.94rem}
.note{font-size:.92rem;color:var(--ink-2);margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--rule)}
.note.warn{color:var(--ochre-d)}
ul.kit{margin:1rem 0;padding-left:1.2rem}
ul.kit li{margin:.45rem 0}

/* footer */
footer{margin-top:3.5rem;background:var(--euc-d);color:#dde5df;padding:2.2rem 0 2.8rem;
  border-top:3px solid var(--ochre-d)}
footer a{color:var(--ochre-l)}
footer p{margin:.45rem 0}
.fine{font-size:.85rem;color:#a8b8ad;max-width:44rem;margin-top:1.1rem}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Stays light in dark mode on purpose: read outdoors, in sun, on a phone. */

.secs{font-size:.84rem;color:var(--euc-d);display:inline-block;margin-top:.25rem}

/* ---------- bolt-plate alarm: the one safety item that decides a day ---------- */
.alarm{background:#8a4f1d;color:#fff5e8;border-bottom:3px solid #5e3512}
.alarm .wrap{padding:.9rem 1.25rem}
.alarm p{margin:0;font-size:.98rem}
.alarm b{color:#ffd9a8}

/* ---------- access cards ---------- */
.card .meta{font:600 .78rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);margin:.2rem 0 .6rem}
.card h3 .verdict{margin-left:.5rem;vertical-align:.15em}
.verdict{background:var(--sand-2);color:var(--ink-2)}
h2.sub-h{font-size:1.3rem;margin-top:2.2rem}

/* ---------- village schematic ---------- */
figure.map{margin:1.5rem 0;background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--r);padding:.6rem;box-shadow:var(--shadow);overflow-x:auto}
figure.map svg{width:100%;min-width:34rem;height:auto;display:block;border-radius:6px}
.map .rd{font:600 12px ui-sans-serif,system-ui,sans-serif;fill:#8a6a3d;letter-spacing:.06em;
  text-transform:uppercase}
.map .pin{font:700 14px ui-sans-serif,system-ui,sans-serif;fill:#2b2721}
.map .sub{font:12px ui-sans-serif,system-ui,sans-serif;fill:#5f574c}
.map .note{font:italic 12px ui-sans-serif,system-ui,sans-serif;fill:#8a7a63}

/* ---------- presets ---------- */
.presets{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.2rem 0 1rem}
.presets span{font:600 .72rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-2);margin-right:.2rem}
.presets button{font:600 .84rem/1 ui-sans-serif,system-ui,sans-serif;padding:.5rem .85rem;
  border:1px solid var(--rule);background:var(--paper);color:var(--euc-d);border-radius:99px;
  cursor:pointer}
.presets button:hover{background:var(--euc);color:#fff;border-color:var(--euc)}

.card .shade{background:#f3f7f3;border-left:3px solid var(--euc-l);padding:.5rem .7rem;
  border-radius:0 4px 4px 0;font-size:.93rem;margin:.7rem 0}
