:root{--bg-canvas:#f3e9d8;--bg-surface:#fffaf1;--bg-surface-hover:#ebddc7;--text-primary:#262626;--text-muted:#61574c;--accent-primary:#9b452b;--accent-secondary:#b98a42;--border-subtle:#d6c5ae;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(45,29,17,.19);--glow-accent:0 0 24px -4px rgba(155,69,43,.2);--glass-backdrop:blur(16px) saturate(180%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:17px/1.75 system-ui,sans-serif;overflow-wrap:anywhere;hyphens:auto}h1,h2,h3,p,figure{margin:0 0 1.2rem}h1,h2,h3{line-height:1.13;text-wrap:balance}h1{font-size:clamp(2.7rem,6.5vw,5.6rem);font-weight:550;letter-spacing:-.065em}h2{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:550;letter-spacing:-.04em}h3{font-size:1.2rem}a{color:var(--accent-primary);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:block}button,a,input,textarea,select,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent-primary);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.reading{max-width:70ch;margin-inline:auto}.eyebrow,.badge,.meta,.facts dt,.season-name,small,.small-heading{font-family:ui-monospace,Consolas,monospace}.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-primary);margin-bottom:1rem}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 32px;border-bottom:1px solid var(--border-subtle);z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);font-size:1rem;font-weight:700;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--accent-primary);border-radius:50%;color:var(--accent-primary);font-size:1.3rem}.site-nav{display:flex;gap:22px;align-items:center}.site-nav a{font-size:.82rem;color:var(--text-primary);text-decoration:none;white-space:nowrap}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent-primary);text-decoration:underline}.menu-toggle{display:none;border:0;background:var(--accent-primary);color:var(--bg-surface);border-radius:50%;width:44px;height:44px;font-size:1.7rem}.skip-link{position:absolute;top:-90px;left:16px;background:var(--bg-surface);padding:10px;z-index:30}.skip-link:focus{top:8px}.hero{padding:72px 0 55px}.hero-intro{max-width:850px}.lead{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--text-muted);max-width:58ch}.button,button.primary{display:inline-block;border:0;border-radius:999px;background:var(--accent-primary);color:#fffaf1;padding:12px 23px;font-size:.9rem;font-weight:650;text-decoration:none;transition:transform .35s var(--ease-kinetic),box-shadow .35s}.button:hover,button.primary:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}.button.secondary,button.secondary{background:transparent;color:var(--accent-primary);box-shadow:inset 0 0 0 1px var(--border-subtle);border:0;border-radius:999px;padding:12px 23px}.landscape{position:relative;margin:40px 0 0;padding-bottom:38px}.landscape-image{aspect-ratio:16/7;min-height:300px;border-radius:20px;background:linear-gradient(125deg,#dcccae,#e8d6b5,#d2b48c);background-size:200% 200%;animation:gradientShift 12s ease infinite;overflow:clip}.landscape-image img{object-position:center}.facts{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:760px;margin:-53px 32px 0 auto;padding:25px 32px;background:rgba(255,250,241,.94);backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-elevation)}.facts dt{font-size:.72rem;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em}.facts dd{margin:6px 0 0;font-size:.92rem}.section{padding:75px 0}.cream{background:var(--bg-surface);position:relative}.cream:before{content:"";position:absolute;inset:-24px 0 auto;height:25px;background:var(--bg-surface);clip-path:polygon(0 100%,100% 0,100% 100%)}.section-intro{max-width:70ch;margin:0 auto 38px}.season-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:25px 0;border-top:1px solid var(--border-subtle)}.season-row p{margin:0}.season-name{font-size:.85rem;color:var(--accent-primary)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}.reading-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;transition:transform .4s var(--ease-kinetic),box-shadow .4s;overflow:clip}.reading-card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}.card-image{aspect-ratio:4/3;background:#e1cfb0}.card-body{padding:0 25px 25px}.badge{position:relative;display:inline-block;margin:-16px 0 20px;background:var(--accent-primary);color:#fffaf1;border-radius:999px;padding:5px 13px;font-size:.72rem}.card-body p{font-size:.95rem;color:var(--text-muted)}.card-body h3 a{color:var(--text-primary);text-decoration:none}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.split-media{aspect-ratio:4/3;border-radius:20px;overflow:clip;background:#dfcbae}.pullquote{border-left:3px solid var(--accent-primary);margin:42px 0;padding:12px 0 12px 28px;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.4;color:var(--accent-primary)}.checklist{list-style:none;padding:0}.checklist li{padding:13px 0 13px 28px;border-bottom:1px solid var(--border-subtle);position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary)}.article-header{padding:66px 0 28px}.article-header h1{max-width:950px;font-size:clamp(2.5rem,5.5vw,4.8rem)}.meta{color:var(--text-muted);font-size:.78rem}.article-banner{margin:15px auto 45px}.article-banner .photo{aspect-ratio:16/9;border-radius:20px;overflow:clip;background:#dfceb1}.article-banner figcaption{font-size:.8rem;color:var(--text-muted);margin-top:10px}.prose{padding-bottom:60px}.prose h2{margin-top:48px;font-size:1.8rem}.prose h3{margin-top:28px}.prose p{margin-bottom:23px}.note,.panel{padding:28px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px}.note{font-size:.95rem;margin:30px 0}.related{padding:35px 0 65px;border-top:1px solid var(--border-subtle)}.related-links{display:flex;gap:18px;flex-wrap:wrap}details{border-bottom:1px solid var(--border-subtle);padding:23px 0}summary{cursor:pointer;font-weight:650;line-height:1.5;padding-right:15px}details p{margin:18px 0 0;color:var(--text-muted)}.page-top{padding:65px 0 30px}.page-top h1{font-size:clamp(2.6rem,5vw,4.5rem)}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;margin:30px 0 70px;align-items:start}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface);color:var(--text-primary);margin-bottom:20px}textarea{min-height:160px;resize:vertical}.hint{font-size:.85rem;color:var(--text-muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.status{min-height:1.7em;font-size:.9rem;color:var(--accent-primary)}.review{white-space:pre-wrap;font:inherit;line-height:1.6;padding:20px;background:var(--bg-canvas);border-radius:12px;min-height:150px}.site-footer{padding:48px 0 28px;background:#e8dac3;border-top:1px solid var(--border-subtle)}.footer-line{font-size:1.6rem;letter-spacing:-.03em;max-width:650px}.footer-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin:25px 0;font-size:.85rem}.company{font-size:.8rem;color:var(--text-muted);font-style:normal;line-height:1.8}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border-subtle);font-size:.78rem}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}.js .reveal-visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(min-width:1025px){.routes{grid-template-columns:repeat(4,1fr)}.routes .card-body{padding-inline:20px}.routes .card-body h3{font-size:1.15rem}}
@media(min-width:769px) and (max-width:1024px){.site-header{padding-inline:22px;gap:15px}.site-nav{gap:13px}.site-nav a{font-size:.74rem}.brand{font-size:.88rem}.split{gap:30px}.routes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.site-header{padding:18px 24px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:16px;right:16px;padding:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-elevation);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex;animation:menuEntry .25s var(--ease-kinetic)}.site-nav a{padding:11px;font-size:1rem}.hero{padding-top:45px}.split,.contact-grid{grid-template-columns:1fr}.section{padding:55px 0}.facts{margin:-30px 18px 0;padding:22px;gap:18px}.landscape-image{aspect-ratio:4/3}.footer-bottom{flex-direction:column;gap:5px}.article-header{padding-top:45px}@keyframes menuEntry{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:481px) and (max-width:768px){.wrap{width:calc(100% - 48px)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.site-header{padding-inline:18px}.brand{font-size:.9rem}.facts{grid-template-columns:1fr;gap:12px;margin:-24px 12px 0}.facts div{display:grid;grid-template-columns:75px 1fr;gap:10px}.facts dd{margin:0}.hero h1{font-size:2.8rem}.landscape-image{min-height:240px}.season-row{grid-template-columns:1fr;gap:8px}.grid{grid-template-columns:minmax(0,1fr)}.panel{padding:22px}.article-banner .photo{aspect-ratio:4/3}.landscape{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}