:root {
  --ink: #1b211f;
  --muted: #68706d;
  --paper: #eeeadf;
  --paper-deep: #dfd8c9;
  --line: #bcb5a6;
  --night: #12211f;
  --signal: #f45b30;
  --soft-signal: #fde2d7;
  --sage: #758d7f;
  --max: 1120px;
}

* { box-sizing: border-box; }
html { background: var(--paper); }
body {
  margin: 0;
  color: var(--ink);
  background: radial-gradient(circle at 20% 0%, #f8f5ee 0, var(--paper) 42%, var(--paper-deep) 100%);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.5;
}
button, input, select { font: inherit; }
.shell { width: min(100% - 32px, var(--max)); margin: 0 auto; }
.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 22px 0; border-bottom: 1px solid var(--line);
}
.brand { color: var(--ink); font: 700 17px/1.1 Arial, sans-serif; letter-spacing: .11em; text-decoration: none; }
.brand span { color: var(--signal); }
.mode { margin: 0; color: var(--signal); font: 700 11px/1 Arial, sans-serif; letter-spacing: .13em; }
.hero { padding: 58px 0 34px; max-width: 820px; }
.eyebrow { margin: 0 0 11px; color: var(--muted); font: 700 11px/1.2 Arial, sans-serif; letter-spacing: .13em; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 700px; margin-bottom: 16px; font-size: clamp(46px, 8vw, 88px); font-weight: 400; line-height: .94; letter-spacing: -.055em; }
h2 { margin-bottom: 14px; font-size: clamp(28px, 4vw, 43px); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
h3 { margin-bottom: 10px; font-size: 19px; font-weight: 400; line-height: 1.08; }
.lede { max-width: 680px; font-size: clamp(19px, 2.2vw, 24px); line-height: 1.35; }
.truth-banner { margin-top: 28px; max-width: 780px; padding: 15px 17px; border-left: 4px solid var(--signal); background: var(--soft-signal); font-size: 15px; }
.workflow, .result, .standards { margin: 22px 0 56px; padding: clamp(23px, 4vw, 45px); border: 1px solid var(--line); background: rgba(255,255,255,.31); }
.step-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 28px; }
.step-number { display: grid; width: 37px; height: 37px; place-items: center; color: var(--paper); background: var(--night); font: 700 12px/1 Arial, sans-serif; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 18px; }
label { display: grid; gap: 7px; color: var(--ink); font: 700 14px/1.2 Arial, sans-serif; }
label span { color: var(--signal); }
small { color: var(--muted); font: 400 12px/1.3 Arial, sans-serif; }
input, select { width: 100%; min-height: 48px; padding: 11px 12px; color: var(--ink); border: 1px solid #9b978c; border-radius: 0; background: rgba(255,255,255,.67); outline-color: var(--signal); }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 31px; }
button { border: 0; padding: 14px 19px; color: var(--paper); background: var(--night); cursor: pointer; font: 700 13px/1 Arial, sans-serif; letter-spacing: .03em; }
button:hover, button:focus-visible { background: #23423d; }
.form-message { margin: 0; color: #9b2516; font: 14px/1.35 Arial, sans-serif; }
.result { border-color: var(--night); background: #f7f3ea; }
.result-topline { display: flex; gap: 10px; align-items: center; margin-bottom: 22px; font: 700 11px/1 Arial, sans-serif; letter-spacing: .12em; }
.signal { color: var(--muted); }
.status { padding: 6px 8px; color: #7c2715; background: var(--soft-signal); }
.result-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(230px, .7fr); gap: 34px; }
.result-copy { max-width: 650px; font-size: 19px; }
.snapshot { padding: 18px; background: var(--night); color: var(--paper); }
.snapshot-title { margin-bottom: 14px; color: #d1dad3; font: 700 11px/1 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
dl { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; }
dt { color: #a9beb3; font: 700 11px/1.2 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
dd { margin: 2px 0 0; font-size: 15px; }
.brief-sections { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 35px; }
.brief-sections article { padding-top: 17px; border-top: 1px solid var(--line); }
ul { margin: 0; padding-left: 19px; }
li { margin: 0 0 8px; }
.coverage-list { font-size: 14px; }
.transparency { margin-top: 32px; padding: 16px; border: 1px solid var(--line); font-size: 14px; }
.standard-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.standard-grid article { min-height: 190px; padding: 18px; border-top: 4px solid var(--sage); background: rgba(255,255,255,.33); }
.standard-grid span { display: block; margin-bottom: 30px; color: var(--signal); font: 700 12px/1 Arial, sans-serif; }
.standard-grid p { color: #3f4945; font-size: 15px; }
footer { display: flex; justify-content: space-between; gap: 18px; padding: 0 0 35px; color: var(--muted); font: 12px/1.35 Arial, sans-serif; }
footer p { margin: 0; }
footer a { color: var(--ink); }
@media (max-width: 760px) {
  .hero { padding-top: 40px; }
  .field-grid, .result-grid, .brief-sections, .standard-grid { grid-template-columns: 1fr; }
  .topbar, footer { align-items: flex-start; flex-direction: column; }
  .workflow, .result, .standards { padding: 22px; }
  .standard-grid article { min-height: auto; }
}
.result-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.brief-intro { max-width: 760px; font-size: 19px; line-height: 1.4; }
.brief-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.brief-sections article { overflow-wrap: anywhere; }
.brief-sections article:first-child { grid-column: 1 / -1; }
.brief-sections li { margin-bottom: 10px; }
.brief-sections li p { margin: 5px 0; }
.brief-sections article { padding: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.45); }
.brief-sections article h3 { font-size: 25px; }
.gear-list { display: grid; gap: 10px; }
.gear-list label { display: flex; align-items: flex-start; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font: 15px/1.4 Arial, sans-serif; cursor: pointer; }
.gear-list input[type="checkbox"] { flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--night); }
.gear-note { margin-top: 17px; font: 14px/1.5 Arial, sans-serif; color: #3f4945; }
.night-flow { padding-left: 23px; }
.night-flow li { padding-left: 4px; margin-bottom: 16px; }
#places-list { display: grid; gap: 14px; }
#weather-card ul { max-height: 310px; overflow: auto; padding-left: 20px; }
button:disabled { opacity: .6; cursor: progress; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
@media (max-width: 760px) { .brief-sections { grid-template-columns: 1fr; } .result-head { flex-direction: column; } .result-head button { width: 100%; min-height: 48px; } }
@media print { body { background: white; color: black; font-size: 11pt; } .shell { width: 100%; } .hero, .workflow, .topbar, footer, #print-brief { display: none; } .result { margin: 0; padding: 0; border: 0; background: white; } .brief-sections { display: block; } .brief-sections article { break-inside: avoid; margin: 12px 0; padding: 8px 0; border: 0; border-top: 1px solid #777; background: white; } .gear-list { gap: 0; } .gear-list label { padding: 4px 0; border: 0; } #weather-card ul { max-height: none; overflow: visible; } a { color: black; } a::after { content: ' (' attr(href) ')'; overflow-wrap: anywhere; font-size: 8pt; } }
:root{--signal:#405b13;--soft-signal:#e6edcc;--ink:#101d20;--paper:#e7e1d5;--night:#101d20}body{background:var(--paper)}.topbar{border-top:12px solid var(--night)}.brand span{color:#405b13}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:white;color:black;padding:12px;z-index:10}.weather-table{width:100%;border-collapse:collapse;font:13px/1.5 Arial,sans-serif}.weather-table caption{text-align:left;margin:15px 0;font-weight:700}.weather-table th,.weather-table td{padding:9px 6px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.weather-table p{margin:0 0 4px}.weather-table th{font-weight:600}.place-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}h4{font-size:22px;font-weight:400;line-height:1.2;margin:0 0 10px}.place-actions button{min-height:44px;line-height:1.3}#weather-section{grid-column:1/-1}#places-list{padding-left:22px}#places-list>li{padding:8px 0 18px;border-bottom:1px solid var(--line)}[hidden]{display:none!important}.weather-table a{overflow-wrap:anywhere}@media(max-width:480px){.shell{width:calc(100% - 24px)}.workflow,.result{padding:16px}.brief-sections article{padding:14px}.weather-table{font-size:12px}.weather-table th,.weather-table td{padding:7px 4px}.weather-table th:first-child{width:25%}h1{font-size:54px}.place-actions button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.place-actions{display:none}.weather-table{font-size:9pt}.weather-table tr{break-inside:avoid}.brief-sections article:first-child,.brief-sections #weather-section{break-inside:auto}#places-list{display:block}}
/* An open editorial introduction, with an actual photograph. */
.planner-intro{display:grid;grid-template-columns:1.5fr .55fr;gap:60px;align-items:center;max-width:none;padding:52px 0}.planner-intro h1{font-size:clamp(52px,6.7vw,88px);line-height:1.02;letter-spacing:-.045em}.planner-intro h1 em{font-weight:400}.planner-photo{margin:0;max-width:245px}.planner-photo img{display:block;width:100%;height:auto}.planner-photo figcaption{font:9px/1.6 Arial,sans-serif;letter-spacing:.08em;margin-top:12px;color:var(--muted)}.workflow{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;padding:34px 0}.result{border:0;background:transparent;padding:34px 0}.brief-sections>article{border-radius:0;box-shadow:none;border:0;border-top:1px solid var(--line);background:transparent;padding:25px 0}.topbar .brand{font:400 23px/1 Georgia,serif;letter-spacing:-.055em}
@media(max-width:650px){.planner-intro{grid-template-columns:1fr;gap:25px;padding:38px 0}.planner-photo{max-width:180px}.planner-intro h1{font-size:58px}.planner-intro .lede{font-size:21px}.workflow{padding:28px 0}.topbar .mode{font-size:9px}.topbar .brand{font-size:22px}}
@media print{.planner-photo{display:none}.planner-intro{display:block;padding:0}.planner-intro h1{font-size:28pt}}
.sky-overview{border-left:3px solid var(--signal);padding:12px 18px;margin:20px 0;background:#f4f0e8}.sky-overview p{font:14px/1.5 Arial,sans-serif;margin:8px 0 0}.remember-row{display:flex;gap:10px;align-items:flex-start;font:13px/1.5 Arial,sans-serif;margin:22px 0 8px}.remember-row input{width:18px;min-height:18px;margin:0;flex:none}.saved-message{font:12px/1.5 Arial,sans-serif;color:var(--muted)}.checklist-progress{font:13px/1.5 Arial,sans-serif;border-bottom:1px solid var(--line);padding-bottom:16px}#weather-card>button{margin-bottom:15px}
@media print{#weather-card>button{display:none}.sky-overview{background:white}}
.planner-dispatch{border-top:1px solid var(--line);padding:38px 0;margin:35px 0}.planner-dispatch h2{font-size:42px}.planner-dispatch>p{max-width:620px}.planner-dispatch>a{font:13px/1.5 Arial,sans-serif;text-underline-offset:5px;display:inline-block;padding:12px 0}
@media print{.planner-dispatch{display:none}}
.brief-tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.brief-tools button{font-size:11px}
@media(max-width:760px){.brief-tools{width:100%;flex-direction:column}}
@media print{.brief-tools{display:none}}

/* A photographic introduction; the working form remains on plain paper. */
@media screen{.planner-intro{display:block;position:relative;isolation:isolate;padding:65px 5vw 80px;color:#eee9df;background:linear-gradient(90deg,rgba(5,15,18,.84),rgba(5,15,18,.38)),url('/photos/gallery/stars-over-the-slope.svg') center/cover no-repeat;margin:30px 0 45px;min-height:580px}.planner-intro>div{max-width:650px}.planner-intro .eyebrow{color:#eee9df}.planner-intro .lede{color:#eee9df}.planner-photo{position:absolute;right:5vw;bottom:20px;max-width:none;margin:0}.planner-photo img{display:none}.planner-photo figcaption{color:#eee9df;font-size:10px;opacity:.75}.planner-intro .planner-photo figcaption::after{content:' / © MIKE BASSO'} }
@media screen and (max-width:650px){.planner-intro{padding:45px 6vw 70px;min-height:590px;background-image:linear-gradient(rgba(5,15,18,.76),rgba(5,15,18,.84)),url('/photos/gallery/stars-over-the-slope.svg')}.planner-intro h1{font-size:clamp(45px,12vw,58px)}.planner-photo{left:6vw;right:auto}.planner-photo figcaption{font-size:9px}}
