/* Dreamland kit (dreamland-brand skill): canyon red #971A20, ink, panel cream, tan, green; Lato body, Yanone Kaffeesatz display.
   Fonts and photos are served from this site, never a CDN. No dark mode: the kit defines none. */
@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/Lato-Regular.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(fonts/Lato-Bold.woff2) format("woff2")}
@font-face{font-family:"Yanone Kaffeesatz";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/YanoneKaffeesatz-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Yanone Kaffeesatz";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/YanoneKaffeesatz-Bold.woff2) format("woff2")}

:root{--red:#971A20;--red-dark:#7a1319;--ink:#1F1F1F;--grey:#6B6B6B;--line:#E5E2D5;--cream:#F5F1E2;--panel:#FAF6E8;--tan:#C6B38E;--green:#63813E;--dark:#2a2220;--display:"Yanone Kaffeesatz",Impact,"Arial Narrow",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.6 Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
img{max-width:100%;display:block}
a{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
h1,h2,h3{margin:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* masthead */
.top{max-width:1100px;margin:0 auto;padding:16px 20px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink)}
.brand img{width:76px;height:76px}
.wm{font:700 2.05rem/1 var(--display);letter-spacing:.07em}
.wm small{display:block;font:400 .95rem Lato,sans-serif;letter-spacing:.04em;color:var(--grey);margin-top:6px}
.back{font:700 .85rem Lato,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--tan);padding-bottom:2px;white-space:nowrap}
.back:hover{border-color:var(--red)}
.rule{height:4px;background:var(--red)}
@media(max-width:620px){.brand img{width:56px;height:56px}.wm{font-size:1.45rem}.wm small{font-size:.85rem}.back{display:none}}

/* hero: full-bleed Golden Cathedral photo, text bottom-left on a dark gradient */
.hero{position:relative;min-height:min(78vh,680px);display:flex;align-items:flex-end;color:#fff;
  background:#3a2c26 url(img/golden-cathedral.jpg) 50% 45%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,8,0) 30%,rgba(20,12,8,.72) 100%)}
.hero-inner{position:relative;max-width:1100px;width:100%;margin:0 auto;padding:0 20px 54px}
.hero h1{font:700 clamp(3rem,8vw,6.2rem)/.95 var(--display);text-transform:uppercase;letter-spacing:.02em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .lede{font-size:1.2rem;max-width:40ch;margin:16px 0 24px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.status{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;background:#fff;color:var(--ink);font:700 .82rem Lato,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px 7px 12px;border-radius:999px}
.status .dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--red)}
.credit{position:absolute;right:14px;bottom:10px;margin:0;font-size:.78rem;opacity:.85}
@media(max-width:620px){.hero{min-height:560px}.hero-inner{padding-bottom:46px}.credit{left:20px;right:auto}}

.btn{display:inline-block;background:var(--red);color:#fff;border:0;border-radius:6px;padding:14px 26px;font:700 1rem Lato,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--red-dark)}
.btn[disabled]{opacity:.6;cursor:wait}

/* sections */
.wrap{max-width:1000px;margin:0 auto;padding:56px 20px}
.narrow{max-width:680px}
h2{font:700 clamp(2.1rem,4vw,2.8rem)/1 var(--display);text-transform:uppercase;letter-spacing:.03em;margin-bottom:16px}
h2::after{content:"";display:block;width:56px;height:4px;background:var(--red);margin-top:12px}
.two{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.two p{margin:0 0 14px}
.pic{margin:0}
.pic img{border-radius:8px;width:100%;height:auto}
.pic figcaption{font-size:.88rem;color:var(--grey);margin-top:8px}
.photos{grid-template-columns:1.45fr 1fr;align-items:end;padding-top:8px}
@media(max-width:760px){.two,.photos{grid-template-columns:1fr;gap:26px}}

.band{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro{font-size:1.1rem;margin:0 0 22px;max-width:56ch}
.hikes{list-style:none;counter-reset:h;margin:0;padding:0;border-top:2px solid var(--tan)}
.hikes li{counter-increment:h;display:grid;grid-template-columns:52px 1fr;grid-template-areas:"n h" "n d" "n x";column-gap:12px;padding:16px 0;border-bottom:1px solid var(--tan)}
.hikes li::before{content:counter(h);grid-area:n;font:700 2.4rem/1 var(--display);color:var(--red)}
.hikes .h{grid-area:h;font:700 1.75rem/1.05 var(--display);text-transform:uppercase;letter-spacing:.03em}
.hikes .d{grid-area:d;font-weight:700;color:var(--green);font-size:.95rem;margin-top:2px}
.hikes .x{grid-area:x;margin-top:2px}
.honest{margin:24px 0 0;max-width:64ch}

/* form */
.join{background:var(--panel)}
form{background:#fff;border:2px solid var(--tan);border-radius:10px;padding:26px 24px}
.row{margin:0 0 18px;border:0;padding:0}
label,legend{display:block;font-weight:700;margin-bottom:6px}
legend{padding:0}
.opt{font-weight:400;color:var(--grey);font-size:.9rem;margin-left:4px}
input[type=text],input[type=email],textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid #bdb39d;border-radius:6px;background:#fff;color:var(--ink)}
input:focus,textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(151,26,32,.15)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.checks.inline{grid-template-columns:repeat(3,auto);justify-content:start}
.checks label{font-weight:400;display:flex;align-items:center;gap:9px;margin:0;cursor:pointer}
.checks input{width:18px;height:18px;accent-color:var(--red);margin:0}
@media(max-width:520px){.checks,.checks.inline{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fine{font-size:.86rem;color:var(--grey);margin:14px 0 0}
.msg{margin:10px 0 0;font-weight:700;color:var(--red)}
.msg:empty{display:none}
.thanks{background:#fff;border:2px solid var(--green);border-radius:10px;padding:26px 24px}
.thanks h3{font:700 2rem/1 var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--green);margin-bottom:10px}
.thanks p{margin:0}

/* footer */
.foot{background:var(--dark);color:#e9e2d4}
.foot .wrap{padding:30px 20px 36px}
.foot p{margin:0 0 6px}
.foot a{color:#fff}
.foot .small{font-size:.9rem;opacity:.8}

/* /added/ one-click confirmation page */
.hero.short{min-height:340px;background-position:50% 55%}
.hero.short h1{font-size:clamp(2.6rem,6.5vw,4.6rem)}
.prefs{margin-top:28px}
.prefs h2{font-size:1.9rem}
.prefs h2 .opt{font:400 .95rem Lato,sans-serif;text-transform:none;letter-spacing:0}
.saved{font-weight:700;color:var(--green);margin:22px 0 0}
.more{margin:26px 0 0}
.thanks.warn{border-color:var(--tan)}
.thanks.warn h3{color:var(--red)}
.thanks.warn .btn{margin-top:16px}
.hero.short::before{background:linear-gradient(180deg,rgba(20,12,8,.1) 0%,rgba(20,12,8,.78) 100%)}
.quick{background:#fff;border:2px solid var(--tan);border-radius:10px;padding:26px 24px}
.quick h2{font-size:2rem}
