/* Thanksgiving: Cartoon ("Farm-Stand Storybook"). Preview skin over v4. Remove data-season to restore v4. */
html[data-season="thanksgiving-cartoon"] {
  --cream: #FFF4E0; --apricot: #FBE3C0; --card: #FFFFFF; --cocoa: #3B2414; --cinnamon: #6B4A2F;
  --brick: #B23A1E; --sage: #4E6B2E; --butter: #FFC266; --amber: #E9A23B;
  --sand: var(--cream); --seafoam: var(--apricot); --ink: var(--cocoa); --muted: var(--cinnamon);
  --kelp: var(--brick); --sea: var(--brick); --border: var(--cocoa);
  --sea-deep: var(--cocoa); --driftwood: var(--cinnamon); --kelp-bright: var(--brick); --sea-mid: var(--brick);
  --seafoam-mid: var(--apricot); --kelp-tint: rgb(178 58 30 / .08); --foam: var(--card);
  --display: "Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif;
  --font: "Nunito", "Segoe UI", system-ui, sans-serif;
}
html[data-season="thanksgiving-cartoon"] body { background: var(--cream); color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] a { color: var(--brick); }
html[data-season="thanksgiving-cartoon"] a:focus-visible { outline: 3px solid var(--brick); outline-offset: 3px; }
html[data-season="thanksgiving-cartoon"] .hero h1 { font-family: var(--display); font-weight: 700; font-size: clamp(2.1rem, 4.5vw, 3.2rem); line-height: 1.1; letter-spacing: -0.005em; color: var(--cream); text-shadow: 0 3px 0 var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .section h2 { font-family: var(--display); font-weight: 700; font-size: clamp(1.8rem, 3.2vw, 2.4rem); line-height: 1.15; color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .section-alt { background: var(--apricot); }

/* 1. Style bar */
html[data-season="thanksgiving-cartoon"] .style-bar { background: var(--cocoa); color: var(--cream); border-bottom: 0; }
html[data-season="thanksgiving-cartoon"] .style-bar-label { color: #E9D6B8; }
html[data-season="thanksgiving-cartoon"] .style-bar-links a { background: transparent; color: var(--cream); border: 2px solid var(--cream); font-weight: 700; }
html[data-season="thanksgiving-cartoon"] .style-bar-links a:hover, html[data-season="thanksgiving-cartoon"] .style-bar-links a:focus-visible { color: var(--butter); border-color: var(--butter); background: transparent; }
html[data-season="thanksgiving-cartoon"] .season-nav-links a[aria-current="page"] { background: var(--butter); color: var(--cocoa); border-color: var(--butter); }
html[data-season="thanksgiving-cartoon"] .style-bar a:focus-visible { outline-color: var(--butter); }

/* 2. Hero: river through a warm tint, rolling hills, cornucopia, harvest pile, leaves */
html[data-season="thanksgiving-cartoon"] .hero { min-height: min(88vh, 46rem); padding-bottom: 8.5rem; color: var(--cream); }
html[data-season="thanksgiving-cartoon"] .hero-bg { background: url("../images/season/hero-thanksgiving.jpg") center / cover no-repeat; filter: saturate(1.2); }
html[data-season="thanksgiving-cartoon"] .hero-overlay { background:
  url("../images/season/tc-hills.svg") left bottom / auto 90px repeat-x,
  radial-gradient(27rem 23rem at 50% 50%, rgb(59 36 20 / .8), rgb(59 36 20 / .55) 70%, transparent),
  linear-gradient(180deg, rgb(59 36 20 / .35), rgb(59 36 20 / .82) 62%); }
html[data-season="thanksgiving-cartoon"] .hero-overlay::before, html[data-season="thanksgiving-cartoon"] .hero-overlay::after { content: ""; position: absolute; bottom: 0; pointer-events: none; background: center bottom / contain no-repeat; transform-origin: 50% 100%; }
html[data-season="thanksgiving-cartoon"] .hero-overlay::before { left: 2%; width: 360px; height: 220px; background-image: url("../images/season/tc-cornucopia.svg"); }
html[data-season="thanksgiving-cartoon"] .hero-overlay::after { right: 1%; width: 430px; height: 200px; background-image: url("../images/season/tc-harvest-right.svg"); }
html[data-season="thanksgiving-cartoon"] .hero::before { content: ""; position: absolute; z-index: 0; left: 0; right: 0; top: 1rem; height: 12rem; background: url("../images/season/tc-leaves-hero.svg") center top / min(100%, 1200px) auto no-repeat; pointer-events: none; }
html[data-season="thanksgiving-cartoon"] .hero-inner { z-index: 1; }
html[data-season="thanksgiving-cartoon"] .hero .hero-hello { color: var(--butter); opacity: 1; font-weight: 700; }
html[data-season="thanksgiving-cartoon"] .hero .lede { color: var(--cream); }
html[data-season="thanksgiving-cartoon"] .hero-logo-mark { border: 3px solid var(--cocoa); box-shadow: 0 5px 0 var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .btn { border-radius: 999px; font-weight: 800; }
html[data-season="thanksgiving-cartoon"] .btn-primary { background: var(--brick); color: #fff; border: 3px solid var(--cocoa); box-shadow: 0 4px 0 var(--cocoa); transition: transform .15s ease, box-shadow .15s ease; }
html[data-season="thanksgiving-cartoon"] .btn-primary:hover, html[data-season="thanksgiving-cartoon"] .btn-primary:focus-visible { background: #9A311A; color: #fff; transform: translateY(2px); box-shadow: 0 2px 0 var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .hero .btn-ghost { background: var(--cream); color: var(--cocoa); border: 3px solid var(--cocoa); box-shadow: 0 4px 0 var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .hero .btn-ghost:hover, html[data-season="thanksgiving-cartoon"] .hero .btn-ghost:focus-visible { background: var(--butter); color: var(--cocoa); border-color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .hero a:focus-visible { outline-color: var(--butter); }
@media (max-width: 899px) {
  html[data-season="thanksgiving-cartoon"] .hero-overlay::before { width: 260px; height: 159px; }
  html[data-season="thanksgiving-cartoon"] .hero-overlay::after { width: 300px; height: 140px; }
}
@media (max-width: 639px) {
  html[data-season="thanksgiving-cartoon"] .hero { padding-bottom: 10rem; }
  html[data-season="thanksgiving-cartoon"] .hero-overlay { background-size: auto 60px, auto, auto; }
  html[data-season="thanksgiving-cartoon"] .hero-overlay::before { left: 0; width: 200px; height: 122px; }
  html[data-season="thanksgiving-cartoon"] .hero-overlay::after { right: 0; width: 190px; height: 88px; }
  html[data-season="thanksgiving-cartoon"] .hero::before { top: .4rem; height: 4.5rem; background-size: 100% auto; }
}

/* 3. Photo band */
html[data-season="thanksgiving-cartoon"] .photo-band { background: var(--cream); }
html[data-season="thanksgiving-cartoon"] .photo-band-figure { position: relative; transform: rotate(-1.2deg); border: 6px solid var(--cream); outline: 3px solid var(--cocoa); box-shadow: 8px 8px 0 var(--cocoa); margin: 1.2rem; }
html[data-season="thanksgiving-cartoon"] .photo-band-figure::before, html[data-season="thanksgiving-cartoon"] .photo-band-figure::after { content: ""; position: absolute; z-index: 1; width: 34px; height: 34px; background: var(--brick); border: 3px solid var(--cocoa); pointer-events: none; }
html[data-season="thanksgiving-cartoon"] .photo-band-figure::before { top: -9px; left: -9px; clip-path: polygon(0 0, 100% 0, 0 100%); }
html[data-season="thanksgiving-cartoon"] .photo-band-figure::after { bottom: -9px; right: -9px; clip-path: polygon(100% 0, 100% 100%, 0 100%); }
html[data-season="thanksgiving-cartoon"] .photo-band-copy { background: url("../images/season/tc-leaf-tile.svg") 0 0 / 220px 220px repeat, var(--apricot); }
html[data-season="thanksgiving-cartoon"] .photo-band-copy .photo-band-line { font-family: var(--display); font-weight: 600; font-style: normal; color: var(--cocoa); font-size: clamp(1.45rem, 2.5vw, 1.85rem); line-height: 1.3; }

/* 4. Help: vine border */
html[data-season="thanksgiving-cartoon"] #help { position: relative; background: var(--cream); padding-top: calc(3.2rem + 32px); }
html[data-season="thanksgiving-cartoon"] #help::before { content: ""; position: absolute; left: 0; right: 0; top: .6rem; height: 32px; background: url("../images/season/tc-vine.svg") left top / auto 32px repeat-x; pointer-events: none; }
html[data-season="thanksgiving-cartoon"] .section .wrap.narrow > p, html[data-season="thanksgiving-cartoon"] .section-intro, html[data-season="thanksgiving-cartoon"] .price-group-blurb, html[data-season="thanksgiving-cartoon"] .platform-note { color: var(--cinnamon); }

/* 5. Pricing: sticker cards */
html[data-season="thanksgiving-cartoon"] #pricing { background: var(--apricot); }
html[data-season="thanksgiving-cartoon"] .price-card, html[data-season="thanksgiving-cartoon"] .section-alt .price-card { position: relative; background: var(--card); color: var(--cocoa); border: 3px solid var(--cocoa); border-radius: 18px; box-shadow: 6px 6px 0 var(--amber); }
html[data-season="thanksgiving-cartoon"] .price-card:hover { box-shadow: 6px 6px 0 var(--amber); }
html[data-season="thanksgiving-cartoon"] .price-card h4, html[data-season="thanksgiving-cartoon"] .price { color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .price-card.featured { border-color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .price-card.featured::after { content: ""; position: absolute; top: -24px; right: -16px; width: 48px; height: 29px; background: url("../images/season/tc-pie.svg") center / contain no-repeat; pointer-events: none; }
html[data-season="thanksgiving-cartoon"] .price-group, html[data-season="thanksgiving-cartoon"] .pay-line { color: var(--sage); }
html[data-season="thanksgiving-cartoon"] .soft-disclaimer { background: var(--cream); border: 2px dashed var(--cinnamon); color: var(--cinnamon); border-radius: 14px; }

/* 6. How: pumpkin badges */
html[data-season="thanksgiving-cartoon"] .steps li { background: var(--card); color: var(--cocoa); border: 3px solid var(--cocoa); border-radius: 16px; padding-left: 3.9rem; }
html[data-season="thanksgiving-cartoon"] .steps li::before { width: 36px; height: 30px; left: .8rem; top: .75rem; border-radius: 0; background: url("../images/season/tc-pumpkin.svg") center bottom / contain no-repeat; color: var(--cocoa); font-weight: 800; padding-top: 5px; }

/* 7. About: Winsch postcard sticker */
html[data-season="thanksgiving-cartoon"] #about { position: relative; background: var(--apricot); }
@media (min-width: 900px) {
  html[data-season="thanksgiving-cartoon"] #about .wrap.narrow { margin-left: max(1.5rem, calc(50% - 20rem - 140px)); max-width: calc(100% - 320px); }
  html[data-season="thanksgiving-cartoon"] #about::after { content: ""; position: absolute; top: 50%; right: 4%; width: 220px; aspect-ratio: 700 / 1150; transform: translateY(-50%) rotate(3deg); background: url("../images/season/tc-postcard-winsch-700x1150.jpg") center / cover no-repeat; border: 10px solid #fff; outline: 3px solid var(--cocoa); box-shadow: 8px 8px 0 var(--cocoa); pointer-events: none; }
}

/* 8. Style samples */
html[data-season="thanksgiving-cartoon"] .style-sample-list a { background: var(--card); color: var(--brick); border: 3px solid var(--cocoa); border-radius: 14px; box-shadow: 4px 4px 0 var(--cocoa); font-weight: 700; transition: transform .15s ease, box-shadow .15s ease; }
html[data-season="thanksgiving-cartoon"] .style-sample-list a:hover, html[data-season="thanksgiving-cartoon"] .style-sample-list a:focus-visible { transform: translateY(-2px); box-shadow: 4px 6px 0 var(--cocoa); color: #9A311A; border-color: var(--cocoa); }

/* 9. Contact */
html[data-season="thanksgiving-cartoon"] .contact { position: relative; background: linear-gradient(180deg, var(--butter), var(--cream)); color: var(--cocoa); border-top: 0; overflow: hidden; }
html[data-season="thanksgiving-cartoon"] .contact h2 { color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .contact p, html[data-season="thanksgiving-cartoon"] .section.contact .wrap.narrow > p, html[data-season="thanksgiving-cartoon"] .contact .contact-hint { color: var(--cocoa); }
html[data-season="thanksgiving-cartoon"] .contact .wrap { position: relative; z-index: 1; }
@media (min-width: 640px) {
  html[data-season="thanksgiving-cartoon"] .contact::before, html[data-season="thanksgiving-cartoon"] .contact::after { content: ""; position: absolute; bottom: 1.5rem; width: 140px; height: 140px; background: center bottom / contain no-repeat; pointer-events: none; }
  html[data-season="thanksgiving-cartoon"] .contact::before { left: 4%; background-image: url("../images/season/tc-sheaf.svg"); }
  html[data-season="thanksgiving-cartoon"] .contact::after { right: 4%; background-image: url("../images/season/tc-pie.svg"); }
}
html[data-season="thanksgiving-cartoon"] .contact .btn-primary { background: var(--brick); color: #fff; }

/* 10. Footer: pie-crust edge */
html[data-season="thanksgiving-cartoon"] .site-footer { position: relative; background: var(--cocoa); color: var(--cream); padding-top: calc(2.5rem + 12px); }
html[data-season="thanksgiving-cartoon"] .site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12px; background: radial-gradient(circle at 12px 0, var(--cream) 11.5px, transparent 12.5px) 0 0 / 24px 12px repeat-x; pointer-events: none; }
html[data-season="thanksgiving-cartoon"] .footer-inner a { color: var(--butter); }
html[data-season="thanksgiving-cartoon"] .footer-brand, html[data-season="thanksgiving-cartoon"] .site-credit, html[data-season="thanksgiving-cartoon"] .photo-credit { color: var(--cream); }
html[data-season="thanksgiving-cartoon"] .season-credit { font-size: .8rem; margin-top: .4rem !important; }

/* Motion: once only */
@media (prefers-reduced-motion: no-preference) {
  html[data-season="thanksgiving-cartoon"] .hero-overlay::before { animation: tcPop .6s cubic-bezier(.34,1.56,.64,1) .2s both; }
  html[data-season="thanksgiving-cartoon"] .hero-overlay::after { animation: tcPop .6s cubic-bezier(.34,1.56,.64,1) .29s both; }
  html[data-season="thanksgiving-cartoon"] .price-card.featured::after { animation: tcPop .6s cubic-bezier(.34,1.56,.64,1) .38s both; }
  html[data-season="thanksgiving-cartoon"] .hero::before { animation: tcSettle 1s cubic-bezier(.22,1,.36,1) .1s both; }
  html[data-season="thanksgiving-cartoon"].js-reveal :is(.section h2, .price-card, .steps li, .style-sample-list a) { opacity: 0; transform: scale(.94) translateY(10px); transition: opacity .5s ease-out, transform .6s cubic-bezier(.34,1.56,.64,1); }
  html[data-season="thanksgiving-cartoon"].js-reveal :is(.section h2, .price-card, .steps li, .style-sample-list a).is-in { opacity: 1; transform: none; }
}
@keyframes tcPop { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: scale(1); } }
@keyframes tcSettle { from { opacity: 0; transform: translateY(-20px) rotate(-3deg); } to { opacity: 1; transform: none; } }
