  :root{
    --pine:#26472f;        /* park-sign green */
    --pine-deep:#17301e;
    --moss:#3d5f45;
    --buff:#d8c9a0;        /* routed-sign tan */
    --parch:#f3edda;       /* field-guide paper */
    --eggshell:#faf6ea;
    --clay:#b0592b;        /* trail-hazard clay */
    --ink:#29271c;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--parch);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:16.5px;line-height:1.68}
  .tag-type{font-family:Verdana,Geneva,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px}
  .measure{max-width:1080px;margin:0 auto;padding:0 22px}
  p{margin-bottom:14px}
  a{color:var(--pine)}
  a:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
  .skip{position:absolute;left:-999px;top:0;background:var(--buff);color:var(--pine-deep);padding:8px 14px;z-index:99}
  .skip:focus{left:8px}

  /* ---- survey strip ---- */
  .survey{background:var(--pine-deep);color:var(--buff);border-bottom:1px solid var(--buff);padding:6px 0}
  .survey .measure{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

  /* ---- masthead ---- */
  .lodge{background:var(--parch);border-bottom:3px double var(--pine);padding:20px 0}
  .lodge .measure{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
  .marque{display:flex;align-items:center;gap:16px}
  .arrowhead{width:54px;height:60px;flex-shrink:0}
  .wordmark .title{font-size:clamp(26px,4vw,38px);font-weight:bold;color:var(--pine-deep);letter-spacing:.01em;line-height:1}
  .wordmark .title em{font-style:normal;color:var(--clay)}
  .wordmark .subline{margin-top:5px;color:#6b6650}
  .callstation{background:var(--pine);color:var(--buff);border:2px solid var(--pine-deep);border-radius:10px;box-shadow:inset 0 0 0 3px var(--pine),inset 0 0 0 5px var(--buff);padding:14px 22px 12px;text-align:center;min-width:250px}
  .callstation .cs-lbl{color:#c9e0c7}
  .callstation a{display:block;color:#fff;text-decoration:none;font-size:clamp(23px,3vw,29px);font-weight:bold;margin:3px 0 2px}
  .callstation .cs-sub{font-size:12.5px;color:#c9e0c7;font-style:italic}

  /* ---- entrance sign hero ---- */
  .trailhead{background:var(--pine);padding:54px 0 0;overflow:hidden}
  .bigsign{max-width:760px;margin:0 auto;background:var(--pine-deep);border-radius:18px;box-shadow:inset 0 0 0 5px var(--pine-deep),inset 0 0 0 8px var(--buff),inset 0 0 0 12px var(--pine-deep),inset 0 0 0 14px var(--buff);padding:38px 34px 32px;text-align:center;position:relative}
  .bigsign h1{color:var(--buff);line-height:1.08}
  .bigsign h1 .shout{display:block;font-size:clamp(38px,7vw,64px);letter-spacing:.03em}
  .bigsign h1 .board{display:block;margin:14px auto 0;max-width:520px;font-size:clamp(16px,2.4vw,20px);font-weight:normal;color:#e8ddbd;border-top:1px solid var(--buff);padding-top:12px;font-style:italic}
  .posts{display:flex;justify-content:center;gap:340px}
  .posts i{display:block;width:26px;height:56px;background:var(--pine-deep);border-left:3px solid rgba(216,201,160,.35)}
  @media(max-width:640px){.posts{gap:120px}}
  .trail-intro{background:var(--pine);color:#e4ecdf;padding:26px 0 46px;text-align:center}
  .trail-intro p{max-width:640px;margin:0 auto 20px;font-size:17.5px}
  .rope-btn{display:inline-block;background:var(--buff);color:var(--pine-deep);text-decoration:none;font-weight:bold;font-size:19px;padding:15px 30px;border:2px solid var(--pine-deep);border-radius:8px;box-shadow:0 4px 0 var(--pine-deep)}
  .rope-btn:hover{background:#e6dab6}
  .trail-intro .quiet{display:block;margin-top:12px;font-size:13px;color:#b9ccb4;font-style:italic}

  /* ---- utility notice ---- */
  .linewarn{background:var(--buff);border-top:3px solid var(--pine-deep);border-bottom:3px solid var(--pine-deep);padding:13px 0}
  .linewarn .measure{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
  .linewarn .flag{background:var(--clay);color:#fff;padding:3px 10px;white-space:nowrap}
  .linewarn p{margin:0;font-size:15px;max-width:860px;color:#4a3d22}

  /* ---- ranger plaque section headers ---- */
  .plaque{display:table;margin:0 auto 10px;background:var(--pine);color:var(--buff);border-radius:9px;box-shadow:inset 0 0 0 2px var(--pine),inset 0 0 0 4px var(--buff);padding:9px 26px;text-align:center}
  .plaque h2{font-size:clamp(19px,2.8vw,26px);letter-spacing:.06em;font-weight:bold;text-transform:uppercase}
  .lede{text-align:center;max-width:680px;margin:0 auto 30px;color:#5c5741}
  section{padding:54px 0}

  /* ---- field-guide plates ---- */
  .platebook{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
  .plate{background:var(--eggshell);border:1px solid var(--pine);outline:1px solid var(--pine);outline-offset:3px;padding:20px 22px 16px}
  .plate .pl-no{color:var(--clay);border-bottom:1px dotted #b3ab8d;padding-bottom:6px;margin-bottom:12px;display:flex;justify-content:space-between}
  .plate figure{margin:0 0 10px;text-align:center}
  .plate svg{width:110px;height:84px}
  .plate h3{font-size:19px;color:var(--pine-deep);margin-bottom:5px}
  .plate p{font-size:14.5px;color:#55503b;margin:0}
  .plate .caption{font-style:italic;font-size:12.5px;color:#84805f;margin-top:10px}

  /* ---- blaze steps ---- */
  .blazeline{border-top:3px double var(--pine);border-bottom:3px double var(--pine);background:var(--eggshell)}
  .blazes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;margin-top:26px}
  .blaze{position:relative;padding:16px 18px 14px;border:1px solid #b3ab8d;background:var(--parch)}
  .blaze::before{content:"";position:absolute;top:-14px;left:18px;width:22px;height:28px;background:var(--buff);border:2px solid var(--pine-deep)}
  .blaze .b-no{color:var(--clay);margin-bottom:6px;padding-left:36px}
  .blaze h3{font-size:18px;color:var(--pine-deep);margin-bottom:4px}
  .blaze p{font-size:14.5px;color:#55503b;margin:0}

  /* ---- notice board ---- */
  .boardframe{background:var(--pine);border:4px solid var(--pine-deep);box-shadow:inset 0 0 0 2px var(--buff);padding:26px}
  .boardframe .board-title{color:var(--buff);text-align:center;margin-bottom:20px;font-size:13px}
  .pinned{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
  .notice{background:var(--eggshell);padding:18px 18px 14px;position:relative;box-shadow:3px 4px 0 rgba(0,0,0,.28)}
  .notice::before{content:"";position:absolute;top:7px;left:50%;margin-left:-5px;width:10px;height:10px;border-radius:50%;background:var(--clay);box-shadow:inset -2px -2px 0 rgba(0,0,0,.3)}
  .notice h3{font-size:16px;color:var(--pine-deep);text-align:center;margin:8px 0 10px;text-transform:uppercase;letter-spacing:.05em}
  .notice ul{list-style:none;font-size:14px;color:#4c4733}
  .notice li{padding:5px 0;border-bottom:1px dotted #c4bc9c}
  .notice li:last-child{border-bottom:none}
  .notice li b{color:var(--pine-deep)}
  .notice .n-foot{font-size:12.5px;font-style:italic;color:#84805f;margin:10px 0 0}
  .split2{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start;margin-top:26px}
  @media(max-width:860px){.split2{grid-template-columns:1fr}}

  /* ---- rate ledger plate ---- */
  .rateplate{background:var(--eggshell);border:1px solid var(--pine);outline:1px solid var(--pine);outline-offset:3px;padding:22px}
  .rateplate h3{color:var(--pine-deep);font-size:17px;text-align:center;border-bottom:3px double var(--pine);padding-bottom:8px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
  .rateplate .src{text-align:center;font-size:12px;color:#84805f;font-style:italic;margin-bottom:10px}
  .rateplate table{width:100%;border-collapse:collapse;font-size:14.5px}
  .rateplate th{text-align:left;color:var(--clay);font-family:Verdana,Geneva,sans-serif;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;padding:7px 4px;border-bottom:1px solid var(--pine)}
  .rateplate td{padding:8px 4px;border-bottom:1px dotted #c4bc9c;color:#4c4733}
  .rateplate td:last-child,.rateplate th:last-child{text-align:right;white-space:nowrap}
  .rateplate .r-note{font-size:12.5px;font-style:italic;color:#84805f;margin-top:12px}

  /* ---- storm record ---- */
  .stormlog{background:var(--eggshell);border:1px solid var(--pine);outline:1px solid var(--pine);outline-offset:3px;padding:22px;margin-top:8px}
  .stormlog h3{color:var(--pine-deep);font-size:17px;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px double var(--pine);padding-bottom:8px;margin-bottom:12px;text-align:center}
  .event{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:11px 0;border-bottom:1px dotted #c4bc9c;font-size:14.5px}
  .event:last-of-type{border-bottom:none}
  .event .when{color:var(--clay);font-family:Verdana,Geneva,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding-top:3px}
  .event p{margin:0;color:#4c4733}
  @media(max-width:560px){.event{grid-template-columns:1fr;gap:2px}}

  /* ---- checklist ---- */
  .fieldcheck{list-style:none;margin:20px 0 4px;counter-reset:chk}
  .fieldcheck li{counter-increment:chk;position:relative;padding:12px 16px 12px 58px;background:var(--eggshell);border:1px solid #b3ab8d;margin-bottom:10px;font-size:15px}
  .fieldcheck li::before{content:counter(chk,upper-roman);position:absolute;left:14px;top:11px;width:30px;text-align:center;color:var(--buff);background:var(--pine);font-family:Verdana,Geneva,sans-serif;font-size:11px;letter-spacing:.06em;padding:4px 0;border-radius:4px}
  .fieldcheck b{color:var(--pine-deep)}

  /* ---- waypoints / coverage ---- */
  .waypoints{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin-top:22px}
  .wp{display:flex;align-items:center;gap:10px;background:var(--eggshell);border:1px solid var(--pine);padding:10px 13px;font-size:14.5px}
  .wp::before{content:"";width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid var(--clay);flex-shrink:0}
  .wp b{color:var(--pine-deep)}
  .wp span{color:#84805f;font-size:13px;display:block}

  /* ---- field-note FAQ ---- */
  .qa{max-width:840px;margin:0 auto}
  .entry{border-bottom:1px dotted #b3ab8d;padding:20px 0}
  .entry:last-child{border-bottom:none}
  .entry h3{font-size:18.5px;color:var(--pine-deep);padding-left:44px;position:relative}
  .entry h3::before{content:"Q";position:absolute;left:0;top:1px;width:28px;height:28px;text-align:center;line-height:28px;background:var(--pine);color:var(--buff);font-family:Verdana,Geneva,sans-serif;font-size:13px;border-radius:50%}
  .entry .ans{margin-top:10px;padding-left:44px;font-size:15px;color:#4c4733;position:relative}
  .entry .ans::before{content:"A";position:absolute;left:0;top:3px;width:28px;height:28px;text-align:center;line-height:26px;border:1px solid var(--clay);color:var(--clay);font-family:Verdana,Geneva,sans-serif;font-size:13px;border-radius:50%}
  .entry .ans p{margin-bottom:10px}
  .entry .ans p:last-child{margin-bottom:0}

  /* ---- closing sign ---- */
  .closer{background:var(--pine);text-align:center;padding:56px 0}
  .closer .bigsign{padding:30px 30px 26px}
  .closer .bigsign .shout{font-size:clamp(26px,4.5vw,40px);color:var(--buff);font-weight:bold;letter-spacing:.03em}
  .closer p{color:#e4ecdf;max-width:560px;margin:20px auto 22px}

  footer{background:var(--pine-deep);color:#a9bfa6;padding:36px 0;font-size:13.5px}
  footer .shelf{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:22px}
  @media(max-width:700px){footer .shelf{grid-template-columns:1fr}}
  footer h4{color:var(--buff);font-size:14px;margin-bottom:9px;letter-spacing:.06em;text-transform:uppercase}
  footer a{color:#c5d6c1;text-decoration:none}
  footer a:hover{text-decoration:underline}
  footer .legend{border-top:1px solid #2e4a34;padding-top:16px;font-size:12.5px;line-height:1.65}

/* ==== mobile hardening (2026-08-18) ==== */
@media (max-width:430px){
  html,body{overflow-x:hidden}
  *,*::before,*::after{min-width:0}
  .wrap,.sheet,.band,section,article,header,footer,div{max-width:100%}
  table{display:block;width:100%;overflow-x:auto}
  td,th,.tab{white-space:normal}
  img,svg{max-width:100%;height:auto}
  h1,h2,h3,h4{overflow-wrap:break-word}
  a[href^="tel:"],a.btn,a.callbtn,a.phone,.cta a,.bigcta a,.stampcta a,.callchip a,.phoneplate a,.callboard a{display:inline-block;padding-top:13px;padding-bottom:13px;line-height:1.2}
  .event .when,.fieldcheck li::before,.rateplate th,.tag-type{font-size:12.5px}
}
