.seasonal { --season-bg:#eaf0e8; --season-ink:#274d3e; margin:0 0 24px; }
.seasonal[hidden],.presetrow[hidden] { display:none !important; }
.seasonal[data-tone="blush"] { --season-bg:#f5e8e4; --season-ink:#6c3f46; }
.seasonal[data-tone="sun"] { --season-bg:#f8efda; --season-ink:#71552a; }
.seasonal[data-tone="rust"] { --season-bg:#f2e5d9; --season-ink:#764c34; }
.seasonal[data-tone="night"] { --season-bg:#ebe7f1; --season-ink:#49415f; }
.season-toolbar { display:flex; justify-content:space-between; align-items:end; gap:14px; margin:4px 0 15px; }
.season-toolbar p { margin:0; font-size:13px; color:#65645c; }
.season-toolbar label { display:grid; gap:5px; font-size:12px; font-weight:600; }
.season-toolbar select { max-width:100%; min-height:42px; background:#fffdf8; border:1px solid #d8d3c7; border-radius:10px; padding:9px 30px 9px 12px; font:inherit; color:#3c4238; }
.season-story { display:grid; grid-template-columns:1.4fr 1fr; background:var(--season-bg); border-radius:20px; overflow:hidden; }
.season-copy { padding:28px; align-self:center; }
.season-copy .eyebrow { color:var(--season-ink); font-size:10px; letter-spacing:.12em; }
.season-copy h3 { color:var(--season-ink); font-size:clamp(24px,2.5vw,34px); line-height:1.13; margin:11px 0 14px; letter-spacing:-.035em; }
.season-copy p { font-size:14px; line-height:1.65; margin:0 0 19px; color:#3b453b; }
.season-badge { display:inline-block; color:var(--season-ink); border:1px solid currentColor; border-radius:30px; padding:6px 10px; font-size:10px; font-weight:600; }
.season-photos { display:grid; grid-template-rows:1fr 1fr; gap:5px; min-height:300px; max-height:400px; }
.season-photos img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; }
.season-packages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:13px; }
.season-package { display:flex; flex-direction:column; align-items:stretch; text-align:left; gap:8px; border:1px solid #ded9ce; border-radius:13px; padding:15px; background:#fffdf8; color:#293e33; cursor:pointer; font:inherit; min-height:143px; }
.season-package:hover { border-color:#c44c2b; background:#fff5eb; }
.season-package strong { font-size:14px; line-height:1.3; }
.season-package>span { font-size:12px; line-height:1.5; color:#65645c; flex:1; }
.season-package b { display:flex; justify-content:space-between; gap:5px; font-size:11px; color:#a94126; font-weight:650; }
.season-package:focus-visible,.seasonal select:focus-visible,.season-tips summary:focus-visible { outline:3px solid #b9482c; outline-offset:3px; }
.season-tips { margin:15px 0 10px; border-bottom:1px solid #ddd8cc; padding-bottom:12px; }
.season-tips summary { cursor:pointer; font-size:13px; font-weight:600; padding:5px 0; color:#354438; }
.season-tips ul { margin:8px 0 0; padding-left:21px; font-size:13px; line-height:1.7; color:#565b51; }
.season-tips li+li { margin-top:5px; }
.season-note { margin:10px 0 0; color:#69675f; font-size:11px; line-height:1.6; }
@media(max-width:680px) { .season-toolbar { display:block; } .season-toolbar p { margin-bottom:10px; } .season-toolbar label { max-width:100%; } .season-toolbar select { width:100%; } .season-story { grid-template-columns:1fr; } .season-copy { padding:23px; } .season-photos { grid-template-columns:1fr 1fr; grid-template-rows:150px; min-height:150px; max-height:150px; } .season-packages { grid-template-columns:1fr; } .season-package { min-height:0; display:grid; grid-template-columns:1fr auto; } .season-package strong { grid-column:1; } .season-package>span { grid-column:1; } .season-package b { grid-column:2; grid-row:1/3; align-self:center; } }
@media(max-width:370px) { .season-package { display:flex; } }
