/* Holiday palette pulled from the gift guide header: pine green, berry red, gold, on warm cream. */
:root{
  color-scheme:light;
  --cream:#FBF7F1;--paper:#F4EDE3;--ink:#1F2B2A;
  --pine:#3C503E;--pine-deep:#2E3E30;--sage:#8FA486;--sage-soft:#E6EBDA;
  --berry:#B4473E;--rose:#F0DCD4;--gold:#DDA03A;--butter:#EFD9A6;--robin:#7494AC;--mist:#E1EEEC;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.container{max-width:1160px;margin:0 auto;padding:0 48px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:800;line-height:1.1;letter-spacing:-.01em;margin:0 0 .45em}
h2{font-size:clamp(2rem,3.8vw,3.2rem)}
h2 em{font-style:italic;color:var(--berry)}
h3{font-size:1.3rem}
p{max-width:64ch;margin:0 0 1.1em}
.section{padding:90px 0}
.center{text-align:center}
.center p{margin-left:auto;margin-right:auto}
/* white backed images blend into the cream */
.blend{mix-blend-mode:multiply}

.eyebrow{display:inline-block;font-family:'Caveat',cursive;font-weight:700;font-size:clamp(34px,4vw,50px);line-height:1;color:var(--berry);transform:rotate(-2deg);margin:0 0 16px;text-decoration:underline wavy;text-decoration-thickness:2px;text-underline-offset:8px}

/* scalloped button, same build as the TreePee and Movement Report sites */
.btn{--b:var(--berry);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:260px;height:56px;padding:0 28px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:17px;color:#fff;text-decoration:none;border:0;cursor:pointer;
  background:
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left top/18px 18px round no-repeat,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left bottom/18px 18px round no-repeat,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left top/18px 18px no-repeat round,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) right top/18px 18px no-repeat round,
    linear-gradient(var(--b),var(--b)) center/calc(100% - 16px) calc(100% - 16px) no-repeat;
  transition:transform .2s}
.btn{white-space:nowrap}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn.pine{--b:var(--pine)}
.btn.gold{--b:var(--gold);color:var(--ink)}
.btn.small{min-width:0;height:46px;font-size:15px;padding:0 22px}
.btn:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}

/* present button: a wrapped gift with a ribbon and bow; the box hops and the bow wiggles on hover */
.btn.present{--box:var(--berry);--rib:var(--gold);position:relative;border-radius:8px;padding:0 30px 0 74px;margin-top:14px;
  background:linear-gradient(90deg,transparent 40px,var(--rib) 40px 54px,transparent 54px),var(--box);
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.14)}
.btn.present::before{content:"";position:absolute;left:23px;top:-20px;width:48px;height:28px;transition:transform .3s;transform-origin:50% 90%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 28'%3E%3Cpath d='M24 22C14 4 2 4 3 14s13 9 21 8z' fill='%23DDA03A' stroke='%23B07E2A' stroke-width='2'/%3E%3Cpath d='M24 22C34 4 46 4 45 14s-13 9-21 8z' fill='%23DDA03A' stroke='%23B07E2A' stroke-width='2'/%3E%3Ccircle cx='24' cy='21' r='5' fill='%23DDA03A' stroke='%23B07E2A' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.btn.present.pine-box{--box:var(--pine)}
.btn.present:hover{animation:hop .55s ease}
.btn.present:hover::before{animation:bow .6s ease}
@keyframes hop{0%,100%{transform:none}30%{transform:translateY(-6px) rotate(-2deg)}60%{transform:translateY(0) rotate(1.5deg)}80%{transform:translateY(-2px)}}
@keyframes bow{0%,100%{transform:none}25%{transform:rotate(-14deg) scale(1.08)}55%{transform:rotate(10deg)}80%{transform:rotate(-4deg)}}

/* candy cane button: striped red and white edge that rolls along on hover */
.btn.candy{border:6px solid transparent;border-radius:999px;height:62px;
  background:linear-gradient(var(--pine),var(--pine)) padding-box,linear-gradient(45deg,var(--berry) 25%,#fff 25% 50%,var(--berry) 50% 75%,#fff 75%) 0 0/24px 24px border-box}
.btn.candy:hover{transform:translateY(-2px);animation:roll .6s linear infinite}
@keyframes roll{to{background-position:0 0,24px 0}}

/* ornament button: hangs from a string and swings on hover */
.btn.ornament{position:relative;border-radius:999px;color:var(--ink);transform-origin:50% -28px;margin-top:30px;
  background:radial-gradient(circle at 9% 32%,rgba(255,255,255,.6) 0 6px,transparent 7px),linear-gradient(180deg,#E8B964,var(--gold) 55%,#B07E2A);
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.1)}
.btn.ornament::before{content:"";position:absolute;left:50%;top:-12px;width:26px;height:12px;margin-left:-13px;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#9AA3A2,#D8DDDC 45%,#8B9493)}
.btn.ornament::after{content:"";position:absolute;left:50%;top:-30px;width:14px;height:20px;margin-left:-7px;border:2.5px solid #8B9493;border-bottom:0;border-radius:50% 50% 0 0}
.btn.ornament:hover{animation:swing 1s ease}
@keyframes swing{0%,100%{transform:rotate(0)}20%{transform:rotate(6deg)}45%{transform:rotate(-4.5deg)}65%{transform:rotate(2.5deg)}85%{transform:rotate(-1deg)}}

/* bunting and lights are drawn by the script at the bottom of the page */
.bunting{position:relative;height:74px;width:100%;overflow:hidden}
.bunting svg,.lights svg{display:block;width:100%;height:100%;overflow:visible}
.bunting .flag{transform-box:fill-box;transform-origin:50% 0;transition:transform .3s}
.bunting .flag:hover{animation:flap .7s ease}
@keyframes flap{0%,100%{transform:rotate(0)}30%{transform:rotate(9deg)}65%{transform:rotate(-6deg)}}
.lights{position:relative;height:64px;width:100%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lights .glow{opacity:.55}
.lights .bulb .shine{opacity:.5}
.lights:hover .bulb,.lights.twinkle .bulb{animation:flicker var(--d,1.4s) steps(1) infinite;animation-delay:var(--o,0s)}
.lights .bulb:hover{animation:flicker .5s steps(1) infinite!important}
@keyframes flicker{0%{opacity:1}12%{opacity:.25}18%{opacity:1}42%{opacity:.55}48%{opacity:1}71%{opacity:.15}76%{opacity:1}}

.checker{height:24px;background:repeating-conic-gradient(var(--c1,var(--berry)) 0 25%,var(--c2,var(--cream)) 0 50%) 0 0/24px 24px}
.strip-img{width:100%;max-width:1160px;margin:0 auto}

/* top bar */
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 48px 4px;max-width:1260px;margin:auto}
.brand{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.brand span{color:var(--berry)}
.nav{display:flex;gap:26px;align-items:center;font-size:.95rem;font-weight:500}
.nav a:not(.btn){text-decoration:none;border-bottom:2px solid transparent}
.nav a:not(.btn):hover{border-color:var(--gold)}

/* hero */
.hero{padding:26px 0 70px;text-align:center}
.hero-art{width:100%;max-width:900px;margin:0 auto 26px}
.lead{font-size:1.2rem;line-height:1.6;max-width:58ch;margin:24px auto 26px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 30px;padding:0;list-style:none}
.chips li{font-size:.9rem;font-weight:700;padding:6px 16px;border-radius:999px;background:var(--rose)}
.chips li:nth-child(2){background:var(--sage-soft)}
.chips li:nth-child(3){background:var(--butter)}

/* gift lists */
.gifts{background:var(--pine);color:var(--cream)}
.gifts .eyebrow{color:var(--gold)}
.gifts h2 em{color:var(--butter)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:46px;text-align:left}
.gift{text-decoration:none;background:#fff;color:var(--ink);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 0 var(--c);transition:transform .2s}
.gift:hover{transform:translateY(-4px)}
.gift .pic{display:block;line-height:0}
.gift img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gift .body{padding:16px 20px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.gift p{margin:0;font-size:.95rem;line-height:1.55;flex:1}
.gift .go{font-family:'DM Sans',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--berry);text-decoration:none}
.gift:hover .go{text-decoration:underline}
.gift:focus-visible{outline:3px dashed var(--gold);outline-offset:4px}
.gift:nth-child(4n+1){--c:var(--berry)}
.gift:nth-child(4n+2){--c:var(--gold)}
.gift:nth-child(4n+3){--c:var(--sage)}
.gift:nth-child(4n){--c:var(--robin)}

/* featured guide */
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;margin-top:20px}
.feature-badge{width:100%;max-width:420px;margin:0 auto 10px}
.feature-copy{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center}
.feature-copy p{font-size:1.05rem}
.ticks{list-style:none;margin:0 0 26px;padding:0}
.ticks li{position:relative;padding:10px 0 10px 32px;border-top:1px solid rgba(31,43,42,.13)}
.ticks li::before{content:"";position:absolute;left:2px;top:19px;width:13px;height:13px;border-radius:50%;background:var(--d,var(--berry))}

/* more resources */
.paper-sec{background:var(--paper)}
.res-head{width:100%;max-width:620px;margin:0 auto 8px}
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;text-align:left}
.res{background:#fff;border-radius:24px;padding:34px 34px 32px;box-shadow:0 6px 0 var(--c);display:flex;flex-direction:column}
.res:nth-child(1){--c:var(--pine)}
.res:nth-child(2){--c:var(--gold)}
.res .res-img{height:260px;display:grid;place-items:center;margin:0 0 22px}
.res .res-img img{max-height:260px;width:auto}
.res .tag{font-family:'DM Sans',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--berry);margin:0 0 6px}
.res h3{font-size:1.45rem}
.res .ticks{flex:1}
.res:nth-child(1) .ticks li::before{--d:var(--pine)}
.res:nth-child(2) .ticks li::before{--d:var(--gold)}

/* signup */
.signup{background:var(--berry);color:#fff;text-align:center}
.signup .eyebrow{color:var(--butter)}
.signup p{margin-left:auto;margin-right:auto}
.signup form{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.signup input{height:56px;min-width:300px;border-radius:999px;border:0;padding:0 24px;font:inherit;font-size:1rem;color:var(--ink)}
.signup input:focus-visible{outline:3px solid var(--butter);outline-offset:2px}
.signup .thanks{display:none;font-family:'Fraunces',serif;font-style:italic;font-size:1.4rem;margin-top:26px}
.signup.done form{display:none}
.signup.done .thanks{display:block}
.fine{font-size:.88rem;opacity:.85;margin-top:14px}

.footer{background:var(--pine-deep);color:var(--cream);padding:40px 0;font-size:.9rem}
.footer strong{font-family:'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.footer p{margin:6px 0;max-width:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media (max-width:1000px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .feature{grid-template-columns:1fr;gap:30px}
  .res-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .container{padding:0 18px}
  .top{padding:16px 18px 4px}
  .nav a:not(.btn){display:none}
  .section{padding:64px 0}
  .grid{gap:16px}
  .gift .body{padding:12px 14px 16px}
  .gift p{font-size:.88rem}
  .feature-copy{grid-template-columns:1fr}
  .feature-copy img{max-width:220px;margin:0 auto}
  .res{padding:26px 22px}
  .res .res-img,.res .res-img img{height:auto;max-height:220px}
  .btn{min-width:0;width:100%}
  .signup input{min-width:0;width:100%}
}
@media (max-width:420px){.grid{grid-template-columns:1fr}}
@media (max-width:700px){.section>.lights,.section>.bunting{margin-top:-56px!important}}
@media (prefers-reduced-motion:reduce){*,*::before{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* gift list pages */
.crumb{display:inline-block;font-weight:700;font-size:.95rem;text-decoration:none;margin:0 0 6px;border-bottom:2px solid var(--gold)}
.jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.jump a{display:inline-block;padding:8px 18px;border-radius:999px;background:rgba(251,247,241,.12);border:1.5px solid rgba(251,247,241,.35);color:var(--cream);text-decoration:none;font-weight:700;font-size:.92rem;transition:background .2s}
.jump a:hover{background:rgba(251,247,241,.25)}
.cat{margin-top:64px;text-align:left;scroll-margin-top:20px}
.cat-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:1.5px solid rgba(251,247,241,.2);padding-bottom:12px}
.cat-head h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:0;color:var(--cream)}
.cat-head span{font-family:'Caveat',cursive;font-weight:700;font-size:1.6rem;color:var(--gold)}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:26px}
.product{background:#fff;color:var(--ink);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 0 var(--c);transition:transform .2s}
.product:hover{transform:translateY(-4px)}
.product .shot{aspect-ratio:1/1;display:grid;place-items:center;padding:20px;border-bottom:1px solid rgba(31,43,42,.08)}
.product .shot img{max-width:100%;max-height:100%;object-fit:contain}
.product .body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.product h4{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.15rem;line-height:1.2;margin:0}
.product p{margin:0;font-size:.93rem;line-height:1.55;flex:1}
.product .go{font-family:'DM Sans',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--berry);text-decoration:none;margin-top:6px}
.product a.go[href]:hover{text-decoration:underline}
.product:nth-child(4n+1){--c:var(--berry)}
.product:nth-child(4n+2){--c:var(--gold)}
.product:nth-child(4n+3){--c:var(--sage)}
.product:nth-child(4n){--c:var(--robin)}

.tips{max-width:900px;margin:36px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}
.tip{background:#fff;border-radius:20px;padding:24px 26px;box-shadow:0 6px 0 var(--c)}
.tip:nth-child(1){--c:var(--berry)}.tip:nth-child(2){--c:var(--gold)}.tip:nth-child(3){--c:var(--sage)}.tip:nth-child(4){--c:var(--robin)}
.tip h3{font-size:1.15rem;margin:0 0 6px}
.tip p{margin:0;font-size:.95rem;line-height:1.6}

.more{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.more a{display:block;border-radius:16px;overflow:hidden;box-shadow:0 5px 0 var(--c,var(--sage));transition:transform .2s}
.more a:hover{transform:translateY(-4px)}
.more a:nth-child(4n+1){--c:var(--berry)}.more a:nth-child(4n+2){--c:var(--gold)}.more a:nth-child(4n+3){--c:var(--sage)}.more a:nth-child(4n){--c:var(--robin)}

@media (max-width:1000px){.products,.more{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.tips{grid-template-columns:1fr}.products{gap:16px}.product .body{padding:12px 14px 16px}.product p{font-size:.88rem}.product .shot{padding:12px}}
@media (max-width:420px){.products{grid-template-columns:1fr}}

/* equipment guide call to action on gift list pages */
.guide-cta{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center;background:#fff;border-radius:28px;padding:44px 48px;box-shadow:0 8px 0 var(--gold),0 20px 40px rgba(31,43,42,.1);text-align:left}
.guide-cta>*{min-width:0}
.guide-cta h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.guide-cta .ticks{margin:0 0 6px}
.guide-cta .ticks li::before{--d:var(--gold)}
@media (max-width:1000px){.guide-cta{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 28px}.guide-cta img{width:100%;max-width:440px;margin:0 auto}}
@media (max-width:700px){.guide-cta{padding:26px 20px}}
.product.to-list{text-decoration:none;--c:var(--berry)}
.product.to-list .shot{padding:0}
.product.to-list .shot img{width:100%;height:100%;object-fit:cover}
.product.to-list:hover .go{text-decoration:underline}

/* tip card icons */
.tip{display:grid;grid-template-columns:58px 1fr;column-gap:18px;align-items:start}
.tip .tip-ico{grid-row:span 2;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,#fff);color:var(--ink)}
.tip .tip-ico svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:420px){.tip{grid-template-columns:46px 1fr;column-gap:14px}.tip .tip-ico{width:46px;height:46px}.tip .tip-ico svg{width:28px;height:28px}}

/* gift list cards: photo plus real title */
.gift img{aspect-ratio:5/4}
.gift h3{font-size:1.2rem;line-height:1.2;margin:0}
.more a{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:var(--ink)}
.more img{width:100%;aspect-ratio:5/4;object-fit:cover}
.more img.fit{object-fit:contain;padding:8px}
.more span{padding:12px 14px 14px;font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1rem;line-height:1.2;text-align:left}

/* phones: compact gift list cards, photo on the left, so 4 or 5 lists fit on one screen */
@media (max-width:600px){
  .grid{grid-template-columns:1fr;gap:14px;margin-top:30px}
  .gift{flex-direction:row;align-items:stretch;border-radius:16px;box-shadow:0 4px 0 var(--c)}
  .gift .pic{flex:0 0 38%}
  .gift img{height:100%;aspect-ratio:auto;min-height:118px}
  .gift .body{padding:12px 14px 12px;gap:6px}
  .gift h3{font-size:1.02rem}
  .gift p{flex:0 0 auto;max-height:2.9em;font-size:.84rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .gift .go{font-size:.74rem}
}

/* titles: chunky rounded letters with a multicolor word, matching the guide cover and section badges */
:root{--t-ink:#3C503E;--k1:#B4473E;--k2:#DDA03A;--k3:#C97966;--k4:#748C6C;--k5:#7494AC}
h1,h2,h3,.product h4,.more span{font-family:'DM Sans','DM Sans',Arial,sans-serif;letter-spacing:0}
h2{font-weight:700;text-transform:uppercase;color:var(--t-ink);font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.06}
h2 em,.gifts h2 em,.deep-sec h2 em,.cta h2 em{font-style:normal;color:inherit}
h2 .w{display:inline-block;white-space:nowrap}
.l1{color:var(--k1)}.l2{color:var(--k2)}.l3{color:var(--k3)}.l4{color:var(--k4)}.l5{color:var(--k5)}
/* sparkle dashes on both sides of centered titles */
.center>h2,.signup h2{display:table;position:relative;margin-left:auto;margin-right:auto;padding:0 54px}
.center>h2::before,.center>h2::after,.signup h2::before,.signup h2::after{content:"";position:absolute;top:50%;width:40px;height:40px;margin-top:-20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M36 13L24 5M36 20H20M36 27L24 35' stroke='%23DDA03A' stroke-width='4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.center>h2::before,.signup h2::before{left:0}
.center>h2::after,.signup h2::after{right:0;transform:scaleX(-1)}
/* titles on dark sections */
.gifts h2,.signup h2,.cat-head h3{color:var(--cream)}
.gifts{--k1:#D9776A;--k2:#E8B964;--k3:#E2A090;--k4:#A6BC9C;--k5:#A3BDD0}
.signup{--k1:#FFF3C9;--k2:#E8B964;--k3:#E2A090;--k4:#C3D2BA;--k5:#A3BDD0}
.signup h2::before,.signup h2::after{filter:brightness(1.25)}
.guide-cta h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.cat-head h3{font-weight:700;text-transform:uppercase;font-size:clamp(1.4rem,2.3vw,1.8rem)}
/* card titles: same rounded font, sentence case */
h3,.product h4,.more span{font-weight:600;color:var(--t-ink)}
.gift h3{font-size:1.25rem}
.product h4{font-size:1.12rem}
.tip h3{font-size:1.2rem}
.res h3{font-size:1.5rem}
@media (max-width:700px){.center>h2,.signup h2{padding:0 38px}.center>h2::before,.center>h2::after,.signup h2::before,.signup h2::after{width:30px;height:30px;margin-top:-15px}}

/* holiday letter colors: red, gold, green, pink (replaces the pastel set) */
:root{--t-ink:#3C503E;--k1:#B4473E;--k2:#DDA03A;--k3:#748C6C;--k4:#C97966;--k5:#B4473E}
.gifts{--k1:#D9776A;--k2:#E8B964;--k3:#FBF7F1;--k4:#E2A090;--k5:#A6BC9C}
.signup{--k1:#FFF3C9;--k2:#E8B964;--k3:#C3D2BA;--k4:#E2A090;--k5:#FFF3C9}

/* page banners: real text in place of the header images */
.banner{position:relative;max-width:1060px;margin:0 auto 26px;padding:4px 84px 0;text-align:center}
.banner::before,.banner::after{content:"";position:absolute;top:26%;width:74px;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 120'%3E%3Cpath d='M30 6C32 24 37 29 54 31C37 33 32 38 30 56C28 38 23 33 6 31C23 29 28 24 30 6Z' fill='%23DDA03A'/%3E%3Cpath d='M56 70C57 79 59 81 68 82C59 83 57 85 56 94C55 85 53 83 44 82C53 81 55 79 56 70Z' fill='%23DDA03A'/%3E%3Cpath d='M16 84l3 7 7 .6-5.4 4.6 1.7 7-6.3-3.8-6.3 3.8 1.7-7L6 91.6l7-.6z' fill='%23B4473E'/%3E%3C/svg%3E") center/contain no-repeat}
.banner::before{left:0}
.banner::after{right:0;transform:scaleX(-1)}
.banner-club{font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(1.05rem,2.2vw,1.5rem);color:#DDA03A;margin:0 0 6px;max-width:none}
.banner-club span{color:#B4473E}
.banner-title{margin:0;font-family:'League Spartan',sans-serif;font-weight:700;text-transform:uppercase;color:var(--t-ink);line-height:.95;text-shadow:0 3px 0 #2E3E30,0 8px 14px rgba(22,63,43,.12)}
.banner-title .b-small{display:block;font-size:clamp(1.8rem,5.2vw,3.5rem)}
.banner-title .b-big{display:block;font-size:clamp(2.6rem,9vw,6.4rem);letter-spacing:.01em}
.banner-title .b-ribbon{display:inline-block;margin-top:12px;padding:6px 52px 8px;font-size:clamp(1.5rem,4.4vw,2.9rem);line-height:1;background:var(--pine);color:var(--cream);text-shadow:none;clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%)}
.banner-title .w{display:inline-block;white-space:nowrap}
.banner-sub{font-family:'DM Sans',sans-serif;font-weight:500;font-size:clamp(1rem,2vw,1.3rem);line-height:1.35;color:var(--t-ink);margin:14px auto 0;max-width:46ch}
@media (max-width:600px){.banner{padding:0 4px}.banner::before,.banner::after{display:none}}

/* crisp stacked 3D edge on titles, like the original banner art (no blur) */
:root{--sh:#2E3E30;--k1:#B4473E;--k2:#DDA03A;--k3:#748C6C;--k4:#C97966;--k5:#B4473E}
.banner-title{text-shadow:1px 1px 0 var(--sh),2px 2px 0 var(--sh),3px 3px 0 var(--sh),4px 4px 0 var(--sh),5px 5px 0 var(--sh),6px 7px 0 rgba(18,58,39,.18)}
.banner-title .b-small{text-shadow:1px 1px 0 var(--sh),2px 2px 0 var(--sh),3px 3px 0 var(--sh),4px 5px 0 rgba(18,58,39,.18)}
.banner-title .b-ribbon{text-shadow:none;box-shadow:inset 0 -4px 0 rgba(0,0,0,.18)}
h2{text-shadow:1px 1px 0 var(--sh),2px 2px 0 var(--sh),3px 3px 0 var(--sh)}
h2,.banner-title{text-wrap:balance}
/* light sections: plain words stay pine; the 3D edge is a softer green so it does not look heavy */
.section:not(.gifts):not(.signup) h2,.hero h2,.guide-cta h2{--sh:#C9D3C6}
/* green sections: holiday colors bright enough to read on pine */
.gifts{--sh:#243226;--k1:#D9776A;--k2:#DDA03A;--k3:#FBF7F1;--k4:#E2A090;--k5:#D9776A}
/* red section: cream, gold, and green with a deep red edge so every letter reads */
.signup{--sh:#5E2420;--k1:#FBF7F1;--k2:#DDA03A;--k3:#C3D2BA;--k4:#FBF7F1;--k5:#DDA03A}
@media (max-width:600px){
  .banner-title{text-shadow:1px 1px 0 var(--sh),2px 2px 0 var(--sh),3px 3px 0 var(--sh)}
  .banner-title .b-small{text-shadow:1px 1px 0 var(--sh),2px 2px 0 var(--sh)}
  h2{text-shadow:1px 1px 0 var(--sh),2px 2px 0 var(--sh)}
}

/* League Spartan titles */
h2{font-weight:800;letter-spacing:-.005em;line-height:1}
.banner-title{font-weight:900;letter-spacing:-.01em;line-height:.92}
.banner-title .b-ribbon{font-weight:800;padding:10px 52px 6px}
.banner-club{font-weight:700}
.banner-sub{font-weight:500}
.cat-head h3{font-weight:800}
h3,.product h4,.more span{font-weight:700;letter-spacing:-.005em}

/* blob shapes instead of pills for the tags under the banner and the jump links */
.chips li,.jump a{padding:9px 22px 10px;border-radius:44% 56% 52% 48% / 58% 46% 54% 42%;transition:border-radius .5s ease,transform .25s ease,background .2s}
.chips li:nth-child(3n+2),.jump li:nth-child(3n+2) a{border-radius:58% 42% 46% 54% / 46% 60% 40% 54%}
.chips li:nth-child(3n),.jump li:nth-child(3n) a{border-radius:50% 50% 40% 60% / 60% 42% 58% 40%}
.chips li:nth-child(odd){transform:rotate(-1.5deg)}
.chips li:nth-child(even){transform:rotate(1.5deg)}
.jump a:hover{border-radius:60% 40% 55% 45% / 45% 58% 42% 55%;transform:translateY(-2px) rotate(-1deg)}

/* real blob outlines (a stretched SVG mask) so the tags read as blobs instead of ovals */
.chips li,.jump a{border-radius:0;border:0;padding:11px 28px 12px;
  -webkit-mask:var(--blob) center/100% 100% no-repeat;mask:var(--blob) center/100% 100% no-repeat;
  --blob:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M14 8C40-2 80 6 110 3C145 0 185-2 195 16C203 30 198 46 186 54C160 64 120 55 92 58C60 61 22 64 8 50C-3 38-2 16 14 8Z'/%3E%3C/svg%3E")}
.chips li:nth-child(3n+2),.jump li:nth-child(3n+2) a{--blob:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M20 4C55 8 90-1 130 4C165 8 196 2 198 24C200 42 192 58 168 57C135 55 100 62 64 58C34 55 4 60 2 36C0 16 4 2 20 4Z'/%3E%3C/svg%3E")}
.chips li:nth-child(3n),.jump li:nth-child(3n) a{--blob:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M10 14C22 0 60 6 96 2C130-1 172 4 192 10C202 18 199 40 190 50C172 62 132 56 100 59C66 62 30 58 12 52C0 44-2 26 10 14Z'/%3E%3C/svg%3E")}
.jump a{background:rgba(251,247,241,.16)}
.jump a:hover{background:rgba(251,247,241,.3);transform:translateY(-2px) rotate(-1.5deg)}
.chips li,.jump a{padding:12px 30px 13px}
.chips li,.jump a{padding:17px 32px 18px}
.chips li,.jump a{padding:18px 42px 19px}

/* product cards still waiting for a photo: a tinted panel with a simple line drawing */
.product .shot.ph{background:color-mix(in srgb,var(--c) 16%,#fff);border-bottom-color:transparent}
.product .shot.ph svg{width:46%;height:auto;fill:none;stroke:var(--t-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* FAQ */
.faq-sec{padding-top:40px}
.faq{max-width:820px;margin:30px auto 0;text-align:left}
.faq details{background:#fff;border-radius:18px;padding:18px 24px;margin-bottom:14px;box-shadow:0 5px 0 var(--c,var(--sage))}
.faq details:nth-child(3n+1){--c:var(--berry)}.faq details:nth-child(3n+2){--c:var(--gold)}.faq details:nth-child(3n){--c:var(--sage)}
.faq summary{cursor:pointer;list-style:none;font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.15rem;line-height:1.3;color:var(--t-ink);display:flex;justify-content:space-between;align-items:center;gap:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--pine);color:#fff;font-weight:700;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--berry)}
.faq details p{margin:12px 0 0;max-width:none}

/* top menu: icon chips */
.nav{gap:12px}
.nav a.nav-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 16px 5px 5px;border:0;border-radius:999px;background:#fff;color:var(--t-ink);font-family:'DM Sans',sans-serif;font-weight:700;font-size:1rem;white-space:nowrap;text-decoration:none;box-shadow:0 4px 0 var(--c);transition:transform .2s,box-shadow .2s}
.nav a.nav-chip:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--c);border:0}
.nav a.nav-chip:focus-visible{outline:2px dashed var(--ink);outline-offset:3px}
.nav-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,#fff);flex:0 0 38px}
.nav-ico svg{width:28px;height:28px;display:block;transition:transform .35s}
.nav-chip.nav-gifts{--c:var(--berry)}
.nav-chip.nav-guide{--c:var(--pine)}
.nav-chip.nav-swing{--c:var(--gold)}
.nav-chip.nav-tips{--c:var(--sage)}
.nav-gifts:hover svg{transform:rotate(-8deg) translateX(2px)}
.nav-guide:hover svg{transform:scale(1.12) rotate(-4deg)}
.nav-swing:hover svg{animation:navswing .9s ease}
.nav-tips:hover svg{transform:scale(1.12)}
.nav-swing svg{transform-origin:50% 4%}
@keyframes navswing{0%,100%{transform:rotate(0)}25%{transform:rotate(12deg)}55%{transform:rotate(-9deg)}80%{transform:rotate(4deg)}}
/* mid size screens: icons only so the menu fits on one line */
@media (max-width:1060px){.nav a.nav-chip{padding:5px}.nav-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media (max-width:700px){.nav a.nav-chip{display:none}}

/* keep the menu words visible at every size: the menu wraps under the logo instead of hiding words */
@media (max-width:1060px){
  .top{flex-wrap:wrap;justify-content:center;row-gap:12px}
  .nav{flex-wrap:wrap;justify-content:center;row-gap:10px}
  .nav a.nav-chip{padding:5px 16px 5px 5px}
  .nav-txt{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}
@media (max-width:700px){
  .nav a.nav-chip{display:inline-flex;font-size:.88rem;padding:3px 12px 3px 3px;gap:6px}
  .nav-ico{width:30px;height:30px;flex-basis:30px}
  .nav-ico svg{width:22px;height:22px}
  .nav{gap:8px}
}
@media (max-width:700px){.nav .btn.small{width:auto;min-width:0;height:40px;font-size:14px;padding:0 18px}}
.nav-swing svg{transform-origin:35% 2%}
@keyframes navswing{0%,100%{transform:rotate(0)}25%{transform:rotate(7deg)}55%{transform:rotate(-5deg)}80%{transform:rotate(2deg)}}

/* menu chips: scalloped bottom edge in the chip color instead of the drop shadow */
.nav a.nav-chip{position:relative;box-shadow:none;margin-bottom:8px;
  background:linear-gradient(var(--c),var(--c)) bottom/100% 7px no-repeat,#fff}
.nav a.nav-chip::after{content:"";position:absolute;left:20px;right:20px;bottom:-7px;height:8px;
  background:radial-gradient(circle at 6px 0,var(--c) 6px,transparent 6.5px) 0 0/12px 8px repeat-x}
.nav a.nav-chip:hover{box-shadow:none;transform:translateY(-3px)}
@media (max-width:700px){.nav a.nav-chip{margin-bottom:6px}.nav a.nav-chip::after{left:16px;right:16px;bottom:-5px;height:6px;background-size:10px 6px;background-image:radial-gradient(circle at 5px 0,var(--c) 5px,transparent 5.5px)}}
.nav-swing svg{transform-origin:50% 8%}

/* squiggle under the handwritten eyebrows: one continuous wave (the old wavy underline broke at spaces) */
.eyebrow{position:relative;text-decoration:none;padding-bottom:13px}
.eyebrow::after{content:"";position:absolute;left:-2px;right:-2px;bottom:0;height:9px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M0 4.5Q4 0.5 8 4.5T16 4.5' fill='none' stroke='black' stroke-width='2.2'/%3E%3C/svg%3E") 0 0/16px 9px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M0 4.5Q4 0.5 8 4.5T16 4.5' fill='none' stroke='black' stroke-width='2.2'/%3E%3C/svg%3E") 0 0/16px 9px repeat-x}

/* menu chips, take two: a colored layer sits behind the white chip and peeks out below
   with an even row of scallops that runs the full width, matched to the chip's corners */
.nav a.nav-chip{position:relative;isolation:isolate;background:#fff;border-radius:18px;margin-bottom:10px;box-shadow:none}
.nav a.nav-chip::after{content:none}
.nav a.nav-chip::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;bottom:-9px;border-radius:18px 18px 0 0;background:var(--c);
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 7px) no-repeat,radial-gradient(circle at 50% 0,#000 6.5px,transparent 7px) bottom/14px 7px round no-repeat;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 7px) no-repeat,radial-gradient(circle at 50% 0,#000 6.5px,transparent 7px) bottom/14px 7px round no-repeat}
.nav a.nav-chip .nav-ico{border-radius:13px}
.nav a.nav-chip:hover{transform:translateY(-2px)}
@media (max-width:700px){.nav a.nav-chip,.nav a.nav-chip::before{border-radius:14px}.nav a.nav-chip::before{border-radius:14px 14px 0 0}.nav a.nav-chip .nav-ico{border-radius:10px}}
.nav a.nav-chip{background:transparent}
.nav a.nav-chip::before{z-index:-2}
.nav a.nav-chip::after{content:"";position:absolute;inset:0;z-index:-1;background:#fff;border-radius:inherit;mask:none;-webkit-mask:none;height:auto;left:0;right:0;bottom:0}

/* menu chips, take three: the whole chip is one white badge with a scalloped colored outline (drawn by drawChips in site.js) */
.nav a.nav-chip{background:transparent center/100% 100% no-repeat;border-radius:0;margin-bottom:0;padding:10px 20px 10px 10px;filter:drop-shadow(0 2px 0 rgba(31,43,42,.06))}
.nav a.nav-chip::before,.nav a.nav-chip::after{content:none}
.nav a.nav-chip .nav-ico{border-radius:50%}
@media (max-width:700px){.nav a.nav-chip{padding:8px 14px 8px 8px}}

/* gift list cards, redesigned: inset rounded photo, gift count tag, colored pill button, soft lift */
.grid{gap:28px}
.gift{padding:10px;border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(8,30,20,.28);transition:transform .25s ease,box-shadow .25s ease}
.gift:nth-child(4n+1){--c:#B4473E;--ct:#fff}
.gift:nth-child(4n+2){--c:#DDA03A;--ct:#1F2B2A}
.gift:nth-child(4n+3){--c:#3C503E;--ct:#fff}
.gift:nth-child(4n){--c:#C97966;--ct:#fff}
.gift .pic{position:relative;border-radius:16px;overflow:hidden;line-height:0}
.gift img{aspect-ratio:4/3;height:auto;transition:transform .45s ease}
.gift:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(8,30,20,.32)}
.gift .count{position:absolute;left:10px;top:10px;line-height:1;padding:7px 12px 6px;border-radius:999px;background:var(--c);color:var(--ct);font-family:'DM Sans',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.04em;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.gift .body{padding:16px 8px 8px;gap:10px}
.gift h3{font-size:1.22rem;line-height:1.18}
.gift p{font-size:.93rem;line-height:1.5}
.gift .go{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:10px 16px 9px;border-radius:999px;background:var(--c);color:var(--ct);font-size:.74rem;letter-spacing:.07em;text-decoration:none;transition:gap .2s}
.gift:hover .go{text-decoration:none;gap:10px}
/* phones: tidy horizontal cards with a square photo so every card is the same height */
@media (max-width:600px){
  .grid{gap:16px}
  .gift{flex-direction:row;align-items:center;padding:8px;border-radius:20px;box-shadow:0 8px 18px rgba(8,30,20,.28)}
  .gift .pic{flex:0 0 116px;width:116px;height:116px;border-radius:14px}
  .gift img{width:100%;height:100%;aspect-ratio:auto;min-height:0;object-fit:cover}
  .gift .count{left:6px;top:6px;padding:5px 8px 4px;font-size:.62rem}
  .gift .body{padding:4px 6px 4px 14px;gap:6px}
  .gift h3{font-size:1rem}
  .gift p{font-size:.82rem;max-height:2.5em;-webkit-line-clamp:2}
  .gift .go{padding:7px 12px 6px;font-size:.64rem}
}
.gift .go{white-space:nowrap;letter-spacing:.04em;font-size:.72rem;padding:10px 14px 9px}
@media (max-width:600px){.gift .go{font-size:.64rem;padding:7px 11px 6px}}
@media (max-width:600px){.gift p{flex:0 0 auto;max-height:none;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 2px}}

/* a scalloped bottom edge on each gift list photo */
.gift .pic{border-radius:16px 16px 0 0;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 9px) no-repeat,radial-gradient(circle at 50% 0,#000 9px,transparent 9.5px) bottom/18px 9px round no-repeat;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 9px) no-repeat,radial-gradient(circle at 50% 0,#000 9px,transparent 9.5px) bottom/18px 9px round no-repeat}
@media (max-width:600px){.gift .pic{border-radius:14px 0 0 14px;
  -webkit-mask:linear-gradient(#000 0 0) left/calc(100% - 7px) 100% no-repeat,radial-gradient(circle at 0 50%,#000 7px,transparent 7.5px) right/7px 14px no-repeat round;
  mask:linear-gradient(#000 0 0) left/calc(100% - 7px) 100% no-repeat,radial-gradient(circle at 0 50%,#000 7px,transparent 7.5px) right/7px 14px no-repeat round}}

/* gift list quiz */
.quiz{position:relative;max-width:780px;margin:34px auto 0;background:#fff;color:var(--ink);border-radius:26px;padding:30px 34px 34px;box-shadow:0 14px 30px rgba(8,30,20,.3);text-align:left}
.q-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.q-dots{display:flex;gap:8px}
.q-dots span{width:30px;height:8px;border-radius:999px;background:#E6E1D8;transition:background .3s}
.q-dots span.done{background:var(--gold)}
.q-dots span.now{background:var(--berry)}
.q-count{margin:0;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.9rem;color:var(--t-ink)}
.q-step{border:0;margin:0;padding:0;min-width:0}
.q-step legend{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(1.35rem,2.6vw,1.75rem);line-height:1.15;color:var(--t-ink);margin:0 0 20px;padding:0}
.q-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.q-opts button{--c:var(--berry);cursor:pointer;text-align:left;font:inherit;font-weight:700;font-size:1rem;line-height:1.35;color:var(--t-ink);background:#fff;border:2.5px solid var(--c);border-radius:18px;padding:16px 18px 16px 50px;position:relative;transition:transform .15s,background .15s,box-shadow .15s;box-shadow:0 4px 0 var(--c)}
.q-opts button:nth-child(2){--c:var(--gold)}
.q-opts button:nth-child(3){--c:var(--pine)}
.q-opts button:nth-child(4){--c:#C97966}
.q-opts button::before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;border:2.5px solid var(--c);background:#fff;transition:background .15s}
.q-opts button:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--c) 8%,#fff)}
.q-opts button.picked{background:color-mix(in srgb,var(--c) 14%,#fff)}
.q-opts button.picked::before{background:var(--c);box-shadow:inset 0 0 0 3px #fff}
.q-opts button:focus-visible{outline:2px dashed var(--ink);outline-offset:3px}
.q-back,.q-restart{margin-top:22px;font:inherit;font-weight:700;color:var(--t-ink);background:none;border:0;cursor:pointer;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.q-result{text-align:center}
.q-result .eyebrow{color:var(--berry)}
.q-main .gift{max-width:430px;margin:6px auto 0;text-align:left}
.q-also-title{font-family:'DM Sans',sans-serif;font-weight:800;font-size:1.1rem;color:var(--t-ink);margin:30px 0 12px}
.q-also{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.q-also .gift{box-shadow:0 8px 18px rgba(8,30,20,.16)}
.q-also .gift h3{font-size:1.02rem}
.q-also .gift p{display:none}
/* home page teaser */
.quiz-teaser{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:880px;margin:30px auto 0;padding:18px 22px 18px 26px;border-radius:22px;background:var(--gold);color:var(--ink);text-align:left;text-decoration:none;box-shadow:0 10px 24px rgba(8,30,20,.25);transition:transform .2s}
.quiz-teaser:hover{transform:translateY(-3px) rotate(-.4deg)}
.quiz-teaser strong{display:block;font-family:'DM Sans',sans-serif;font-weight:800;font-size:1.25rem;color:var(--t-ink)}
.quiz-teaser span.sub{font-size:.95rem}
.quiz-teaser .go{flex:0 0 auto;white-space:nowrap;padding:12px 18px 11px;border-radius:999px;background:var(--pine);color:#fff;font-family:'DM Sans',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:640px){
  .quiz{padding:22px 18px 24px}
  .q-opts,.q-also{grid-template-columns:1fr}
  .q-dots span{width:20px}
  .quiz-teaser{flex-direction:column;align-items:flex-start}
}
.quiz [hidden]{display:none!important}

/* Before They Buy freebie page */
.btb-get{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;max-width:1000px;margin:0 auto}
.btb-cover{width:100%;max-width:380px;justify-self:center;border-radius:10px;transform:rotate(-3deg);box-shadow:0 22px 40px rgba(0,0,0,.35)}
.btb-form-wrap{color:var(--cream)}
.btb-form-wrap .eyebrow{color:var(--gold)}
.btb-form-wrap h2{color:var(--cream);--k1:#D9776A;--k2:#E8B964;--k3:#FBF7F1;--k4:#E2A090}
.btb-form-wrap p{color:var(--cream)}
#btb-form{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0 10px}
#btb-form input[type=email]{flex:1 1 240px;height:56px;border-radius:999px;border:0;padding:0 24px;font:inherit;font-size:1rem;color:var(--ink)}
#btb-form .btn{margin-top:14px}
.btb-ready[hidden],#btb-form[hidden]{display:none!important}
.btb-ready p{font-size:1.15rem;margin:20px 0 8px}
.btb-inside{max-width:760px;margin:0 auto}
.btb-inside .ticks li::before{--d:var(--berry)}
.btb-ten{margin-top:18px;padding:16px 20px;border-radius:16px;background:var(--butter)}
.btb-card-peek{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:center;max-width:820px;margin:44px auto 0;text-align:left;background:#fff;border-radius:24px;padding:26px 30px;box-shadow:0 10px 24px rgba(31,43,42,.12)}
.btb-card-peek img{width:100%;border-radius:8px;box-shadow:0 8px 20px rgba(31,43,42,.2);transform:rotate(-2deg)}
.btb-card-peek h3{font-size:1.5rem;margin:0 0 8px}
/* feature card used on the home and family gift pages */
.btb-feature{display:grid;grid-template-columns:200px 1fr;gap:34px;align-items:center;max-width:900px;margin:0 auto;background:#fff;border-radius:26px;padding:26px 34px;box-shadow:0 12px 28px rgba(31,43,42,.14);text-align:left}
.btb-feature img{width:100%;border-radius:8px;transform:rotate(-3deg);box-shadow:0 12px 24px rgba(31,43,42,.22)}
.btb-feature h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}
.btb-feature .btn{margin-top:6px}
@media (max-width:900px){.btb-get,.btb-inside{grid-template-columns:1fr;gap:34px}.btb-cover{max-width:280px}}
@media (max-width:640px){.btb-card-peek,.btb-feature{grid-template-columns:1fr;padding:22px 20px}.btb-card-peek img,.btb-feature img{max-width:200px;margin:0 auto}}

/* quiz teaser, redesigned: cream scalloped badge with a mustard edge, gift icon, terracotta button, "1 min" sticker */
.quiz-teaser{--c:#DDA03A;--fill:#FBF7F1;position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;max-width:900px;margin:34px auto 6px;padding:26px 34px 26px 28px;border-radius:0;background:transparent center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 10px 18px rgba(10,24,14,.35));color:var(--ink);text-align:left;text-decoration:none;transition:transform .2s}
.quiz-teaser:hover{transform:translateY(-3px) rotate(-.5deg)}
.qt-ico{width:74px;height:74px;border-radius:50%;background:#F0DCD4;display:grid;place-items:center;flex:0 0 74px}
.qt-ico svg{width:50px;height:50px;transition:transform .35s}
.quiz-teaser:hover .qt-ico svg{transform:rotate(-8deg) scale(1.06)}
.qt-text strong{display:block;font-family:'DM Sans',sans-serif;font-weight:800;font-size:1.35rem;line-height:1.15;color:var(--t-ink);margin-bottom:4px}
.qt-text .sub{font-size:.98rem;line-height:1.5;color:#3F4A44}
.quiz-teaser .go{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:14px 22px 13px;border-radius:999px;background:#B4473E;color:#fff;font-family:'DM Sans',sans-serif;font-weight:800;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 5px 0 #86302A;transition:transform .15s,box-shadow .15s}
.quiz-teaser .go b{transition:transform .2s;font-weight:800}
.quiz-teaser:hover .go{transform:translateY(-2px);box-shadow:0 7px 0 #86302A}
.quiz-teaser:hover .go b{transform:translateX(4px)}
.qt-badge{position:absolute;right:-14px;top:-18px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#C97966;color:#fff;font-family:'Caveat',cursive;font-weight:700;font-size:1.15rem;line-height:.9;transform:rotate(12deg);box-shadow:0 0 0 4px #FBF7F1,0 6px 12px rgba(0,0,0,.25)}
@media (max-width:760px){
  .quiz-teaser{grid-template-columns:auto 1fr;padding:24px 22px 26px 20px;gap:14px 16px}
  .quiz-teaser .go{grid-column:1 / -1;justify-self:start}
  .qt-ico{width:58px;height:58px;flex-basis:58px}.qt-ico svg{width:40px;height:40px}
  .qt-text strong{font-size:1.15rem}
  .qt-badge{right:-6px;top:-16px;width:54px;height:54px;font-size:1rem}
}

/* free resources section on the home page */
.free-sec{padding-bottom:30px}
.free-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:940px;margin:40px auto 0;text-align:left}
.free-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;border-radius:26px;padding:30px 30px 28px;text-decoration:none;color:var(--ink);box-shadow:0 12px 28px rgba(31,43,42,.12);transition:transform .2s}
.free-card:hover{transform:translateY(-3px)}
.free-card img{width:150px;height:auto;border-radius:6px;transform:rotate(-3deg);box-shadow:0 10px 20px rgba(31,43,42,.22);margin:6px 0 8px}
.free-quiz-art{width:150px;height:194px;display:grid;place-items:center;border-radius:20px;background:#F0DCD4;margin:6px 0 8px}
.free-quiz-art svg{width:96px;height:96px}
.free-card h3{font-size:1.45rem;margin:0}
.free-card p{margin:0;flex:1;font-size:.98rem}
.free-card .go{display:inline-flex;margin-top:8px;padding:13px 20px 12px;border-radius:999px;background:#B4473E;color:#fff;font-family:'DM Sans',sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 5px 0 #86302A}
.free-flag{position:absolute;top:22px;right:-10px;padding:8px 16px 7px 14px;background:#DDA03A;color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%);box-shadow:0 4px 8px rgba(0,0,0,.15)}
@media (max-width:760px){.free-grid{grid-template-columns:1fr}}

/* top menu: Free resources stands out as a filled terracotta scalloped badge with a mustard "Free!" tag */
.nav-chip.nav-free{--c:#86302A;--fill:#B4473E;color:#FBF7F1}
.nav-chip.nav-free .nav-ico{background:#FBF7F1}
.free-tag{position:absolute;top:-11px;right:-8px;padding:4px 8px 3px;border-radius:999px;background:#DDA03A;color:var(--ink);font-family:'Caveat',cursive;font-weight:700;font-size:1rem;line-height:1;transform:rotate(10deg);box-shadow:0 0 0 2px #FBF7F1;animation:freewiggle 3.5s ease-in-out infinite}
@keyframes freewiggle{0%,82%,100%{transform:rotate(10deg)}88%{transform:rotate(-4deg) scale(1.1)}94%{transform:rotate(14deg)}}
.nav-free:hover .nav-ico svg{transform:rotate(-10deg) scale(1.1)}
@media (prefers-reduced-motion:reduce){.free-tag{animation:none}}
@media (max-width:700px){.free-tag{font-size:.85rem;top:-9px;right:-6px}}
.nav a.nav-chip.nav-free{color:#FBF7F1}
.chips li,.jump a{padding:20px 38px 21px}

/* bolder blob colors, matched to the user's examples: pink, olive, mustard */
.chips li{background:#E78D96;color:var(--ink)}
.chips li:nth-child(2){background:#B2AC84}
.chips li:nth-child(3){background:#E09F3E}
.jump a{color:var(--ink);background:#E09F3E}
.jump li:nth-child(3n+2) a{background:#E78D96}
.jump li:nth-child(3n) a{background:#B2AC84}
.jump a:hover{background:#E9AF55}
.jump li:nth-child(3n+2) a:hover{background:#ED9EA6}
.jump li:nth-child(3n) a:hover{background:#BFBA94}

/* no drop shadow on titles */
.banner-title,.banner-title .b-small,.banner-title .b-big,h2{text-shadow:none!important}
.faq details p a{color:#B4473E;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.footer .disclaimer{max-width:760px;font-size:.8rem;line-height:1.55;opacity:.8;margin-top:10px}

/* affiliate disclosures */
.aff-note{max-width:720px;margin:22px auto 0;padding:12px 18px;border-radius:14px;background:rgba(251,247,241,.12);border:1.5px dashed rgba(251,247,241,.4);color:var(--cream);font-size:.86rem;line-height:1.5;text-align:center}
.aff-note strong{color:#E8B964}
.footer .aff-footer{max-width:760px;font-size:.8rem;line-height:1.55;opacity:.8;margin-top:6px}

/* Holiday Guide feature: live blob card in place of the image, blobs tucked together */
.feature{align-items:center;gap:48px}
.hg-blobs{position:relative;max-width:420px;margin:6px 0 4px}
.hg-blob{position:relative}
.hg-blob svg{display:block;width:100%;height:auto}
.hg-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hg-top .hg-txt{padding:30px 46px 34px}
.hg-top h3{margin:0;font-family:'Itim',cursive;font-weight:400;-webkit-text-stroke:.3px currentColor;font-size:1.72rem;line-height:1.08;color:var(--ink);text-transform:none}
.hg-top h3 span{color:#B4473E}
.hg-top p{margin:8px 0 0;max-width:270px;font-family:'Nunito',sans-serif;font-weight:500;font-size:1rem;line-height:1.3;color:#2E3533}
.hg-bottom{width:88%;margin:-34px 0 0 auto}
.hg-bottom .hg-txt{padding:18px 40px}
.hg-bottom p{margin:0;font-family:'Itim',cursive;font-size:1.25rem;line-height:1.15;color:#F6EFE3;max-width:none}
.hg-star{position:absolute;display:block}
.hg-star svg{width:100%;height:100%;display:block}
.hg-star1{left:-12px;top:-10px;width:42px;height:42px}
.hg-star2{left:6px;bottom:-12px;width:34px;height:34px}
.hg-facts{display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;margin:16px 0 22px;padding:0}
.hg-facts li{position:relative;padding-left:18px;font-weight:700;font-size:.95rem}
.hg-facts li::before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;margin-top:-5px;border-radius:50%;background:#B4473E}
.hg-facts li:nth-child(2)::before{background:#DDA03A}
.hg-facts li:nth-child(3)::before{background:#748C6C}
@media (max-width:1000px){.hg-blobs{margin:6px auto 4px}.hg-facts{justify-content:center}#holiday-guide .feature > div{text-align:center}#holiday-guide .feature > div .eyebrow{margin-left:auto;margin-right:auto}}
@media (max-width:480px){.hg-top .hg-txt{padding:22px 30px 26px}.hg-top h3{font-size:1.35rem}.hg-top p{font-size:.86rem}.hg-bottom .hg-txt{padding:12px 28px}.hg-bottom p{font-size:1rem}}
.hg-top .hg-txt{padding:26px 40px 30px}
.hg-top h3{font-size:1.92rem}
.hg-top p{font-size:1.08rem;max-width:290px}
.hg-bottom .hg-txt{padding:16px 34px}
.hg-bottom p{font-size:1.4rem}
@media (max-width:480px){.hg-top .hg-txt{padding:20px 26px 24px}.hg-top h3{font-size:1.4rem}.hg-top p{font-size:.88rem}.hg-bottom .hg-txt{padding:10px 24px}.hg-bottom p{font-size:1.05rem}}

/* signup button: mailbox whose flag pops up as a holiday card slides in */
.btn-mail{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:58px;padding:0 28px 0 20px;border:0;border-radius:999px;background:#3C503E;color:#fff;font-family:'DM Sans',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 5px 0 #2E3E30;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-mail svg{width:44px;height:34px;overflow:visible;flex:0 0 44px}
.btn-mail .flag{transform-origin:36px 22px;transform:rotate(90deg);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.btn-mail .ltr{transform:translate(-26px,-2px);opacity:0;transition:transform .5s ease .3s,opacity .2s .3s}
.btn-mail:hover,.btn-mail:focus-visible{transform:translateY(-2px);box-shadow:0 7px 0 #2E3E30}
.btn-mail:hover .flag,.btn-mail:focus-visible .flag{transform:rotate(0)}
.btn-mail:hover .ltr,.btn-mail:focus-visible .ltr{transform:translate(4px,-2px);opacity:1}
.btn-mail:focus-visible{outline:2px dashed #FBF7F1;outline-offset:4px}
@media (max-width:700px){.btn-mail{width:100%}}
@media (prefers-reduced-motion:reduce){.btn-mail .flag,.btn-mail .ltr{transition:none}}

/* mustard gift box version of the present button (Equipment Guide buttons), red ribbon and bow */
.btn.present.gift-gold{--box:#DDA03A;--rib:#B4473E;color:var(--ink)}
.btn.present.gift-gold::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 28'%3E%3Cpath d='M24 22C14 4 2 4 3 14s13 9 21 8z' fill='%23B4473E' stroke='%2386302A' stroke-width='2'/%3E%3Cpath d='M24 22C34 4 46 4 45 14s-13 9-21 8z' fill='%23B4473E' stroke='%2386302A' stroke-width='2'/%3E%3Ccircle cx='24' cy='21' r='5' fill='%239E3A33' stroke='%2386302A' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}

/* Lego hero button: red brick with studs */
.btn-lego{display:inline-flex;align-items:center;justify-content:center;min-width:260px;height:58px;margin-top:22px;padding:0 30px;border-radius:12px;background:#B4473E;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;font-size:17px;text-decoration:none;box-shadow:0 6px 0 #86302A;transition:transform .3s,box-shadow .3s}
.btn-lego::before{content:"";position:absolute;inset:6px;border-radius:8px;background:radial-gradient(circle,rgba(255,255,255,.12) 5px,transparent 5.5px) 0 0/22px 22px;pointer-events:none}
.btn-lego:hover{transform:translateY(-5px);box-shadow:0 11px 0 #86302A}
.btn-lego:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}
@media (max-width:700px){.btn-lego{width:100%}}
/* Bigger gift: three little boxes slide together into one big box */
.anim-go,.combine-go,.btn-hero{position:relative;overflow:visible}
.anim-go .fx,.combine-go .fx,.btn-hero .fx{position:absolute;bottom:0;pointer-events:none}
.anim-go .fx,.combine-go .fx{left:calc(100% + 10px);width:60px;height:40px}
.btn-hero .fx{left:calc(100% + 16px);width:100px;height:64px}
.combine-go .sm,.btn-combine .sm{position:absolute;bottom:0;width:26%;height:36%;border-radius:3px;transition:transform .5s cubic-bezier(.5,0,.3,1),opacity .3s .3s}
.combine-go .sm::after,.btn-combine .sm::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:22%;margin-left:-11%;background:rgba(255,255,255,.7)}
.combine-go .s1,.btn-combine .s1{left:0;background:#748C6C}
.combine-go .s2,.btn-combine .s2{left:37%;background:#7494AC}
.combine-go .s3,.btn-combine .s3{right:0;background:#C97966}
.combine-go .big,.btn-combine .big{position:absolute;left:12%;bottom:0;width:76%;height:100%;opacity:0;transform:scale(.3);transform-origin:50% 100%;transition:transform .45s cubic-bezier(.3,1.6,.5,1) .5s,opacity .1s .5s}
.gift:hover .combine-go .s1,.btn-combine:hover .s1{transform:translateX(140%);opacity:0}
.gift:hover .combine-go .s3,.btn-combine:hover .s3{transform:translateX(-140%);opacity:0}
.gift:hover .combine-go .s2,.btn-combine:hover .s2{opacity:0}
.gift:hover .combine-go .big,.btn-combine:hover .big{opacity:1;transform:none}
.btn-hero{display:inline-flex;align-items:center;justify-content:center;min-width:260px;height:58px;margin-top:22px;padding:0 30px;border-radius:999px;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;font-size:17px;text-decoration:none;transition:transform .3s,box-shadow .3s}
.btn-blue{background:#7494AC;box-shadow:0 6px 0 #56728A}
.btn-blue:hover{transform:translateY(-4px);box-shadow:0 10px 0 #56728A}
.btn-red{background:#B4473E;box-shadow:0 6px 0 #86302A}
.btn-red:hover{transform:translateY(-4px);box-shadow:0 10px 0 #86302A}
.btn-green{background:#3C503E;box-shadow:0 6px 0 #2E3E30}
.btn-green:hover{transform:translateY(-4px);box-shadow:0 10px 0 #2E3E30}
.btn-rose{background:#C97966;box-shadow:0 6px 0 #A35D4C}
.btn-rose:hover{transform:translateY(-4px);box-shadow:0 10px 0 #A35D4C}
.btn-combine{background:#B4473E;box-shadow:0 6px 0 #86302A}
.btn-combine:hover{transform:translateY(-4px);box-shadow:0 10px 0 #86302A}
.btn-hero:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}
@media (max-width:700px){.btn-hero{width:100%}.btn-hero .fx{left:auto;right:16px;bottom:9px;width:60px;height:40px}}


/* Gift list buttons: a little picture beside the button plays on hover (ladder, house, box, stocking, Pikler triangle) */
.anim-go svg,.btn-hero .fx svg{display:block;width:100%;height:100%;overflow:visible}
.anim-go .fx *,.btn-hero .fx *{transform-box:fill-box}
.fx-ladder .rail{opacity:0;transition:opacity .2s}
.fx-ladder .rung{opacity:0;transform:scaleX(0);transform-origin:center}
.gift:hover .fx-ladder .rail,.btn-hero:hover .fx-ladder .rail{opacity:1}
.gift:hover .fx-ladder .rung,.btn-hero:hover .fx-ladder .rung{animation:rungin .2s ease-out forwards}
.gift:hover .fx-ladder .g1,.btn-hero:hover .fx-ladder .g1{animation-delay:.1s}
.gift:hover .fx-ladder .g2,.btn-hero:hover .fx-ladder .g2{animation-delay:.25s}
.gift:hover .fx-ladder .g3,.btn-hero:hover .fx-ladder .g3{animation-delay:.4s}
.gift:hover .fx-ladder .g4,.btn-hero:hover .fx-ladder .g4{animation-delay:.55s}
@keyframes rungin{to{opacity:1;transform:none}}
.fx-house svg{opacity:0;transform:translateY(8px);transition:opacity .25s,transform .3s}
.fx-house .win{fill:#5A6B5C;transition:fill .3s .35s}
.fx-house .puff{opacity:0}
.gift:hover .fx-house svg,.btn-hero:hover .fx-house svg{opacity:1;transform:none}
.gift:hover .fx-house .win,.btn-hero:hover .fx-house .win{fill:#F0C878}
.gift:hover .fx-house .puff,.btn-hero:hover .fx-house .puff{animation:chimney 1.4s ease-out .5s infinite}
.gift:hover .fx-house .p2,.btn-hero:hover .fx-house .p2{animation-delay:.9s}
@keyframes chimney{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:translate(4px,-12px) scale(1.4)}}
.fx-push .box{opacity:0;transform:translateX(-18px)}
.fx-push .dust,.fx-push .floor{opacity:0}
.fx-push .floor{transition:opacity .2s}
.gift:hover .fx-push .floor,.btn-hero:hover .fx-push .floor{opacity:1}
.gift:hover .fx-push .box,.btn-hero:hover .fx-push .box{animation:pushbox .7s cubic-bezier(.4,0,.3,1) forwards}
.gift:hover .fx-push .dust,.btn-hero:hover .fx-push .dust{animation:dust .5s ease-out .35s}
.gift:hover .fx-push .d2,.btn-hero:hover .fx-push .d2{animation-delay:.45s}
@keyframes pushbox{0%{opacity:1;transform:translateX(-18px)}100%{opacity:1;transform:translateX(8px)}}
@keyframes dust{0%{opacity:.8;transform:scale(.5)}100%{opacity:0;transform:translate(-8px,-4px) scale(1.4)}}
.fx-stock .sock{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .3s}
.fx-stock .item{opacity:0;transform:translateY(12px)}
.gift:hover .fx-stock .sock,.btn-hero:hover .fx-stock .sock{opacity:1;transform:none}
.gift:hover .fx-stock .i1,.btn-hero:hover .fx-stock .i1{animation:peek .35s cubic-bezier(.3,1.6,.5,1) .25s forwards}
.gift:hover .fx-stock .i2,.btn-hero:hover .fx-stock .i2{animation:peek .35s cubic-bezier(.3,1.6,.5,1) .45s forwards}
@keyframes peek{to{opacity:1;transform:none}}
.fx-pik svg{opacity:0;transform:scale(.4) translateY(10px);transform-origin:50% 100%}
.gift:hover .fx-pik svg,.btn-hero:hover .fx-pik svg{animation:pikup .45s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes pikup{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.anim-go .fx *,.btn-hero .fx *{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important}}

/* Equipment Guide heading sits above its card */
.guide-head{text-align:center;margin:0 auto 34px;max-width:820px}
.guide-head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:0}

/* Jumping: a little trampoline appears and a ball bounces on it */
.btn-gold{background:#DDA03A;color:#1F2B2A;box-shadow:0 6px 0 #B07E2A}
.btn-gold:hover{transform:translateY(-4px);box-shadow:0 10px 0 #B07E2A}
.fx-tramp svg{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .3s}
.fx-tramp .ball{transform-origin:50% 100%}
.gift:hover .fx-tramp svg,.btn-hero:hover .fx-tramp svg{opacity:1;transform:none}
.gift:hover .fx-tramp .ball,.btn-hero:hover .fx-tramp .ball{animation:trampball .8s cubic-bezier(.5,0,.5,1) .2s infinite}
.gift:hover .fx-tramp .mat,.btn-hero:hover .fx-tramp .mat{animation:trampmat .8s ease-out .2s infinite}
@keyframes trampball{0%,100%{transform:translateY(0) scale(1.15,.85)}12%{transform:translateY(-4px) scale(1)}50%{transform:translateY(-22px)}88%{transform:translateY(-4px) scale(1)}}
@keyframes trampmat{0%,100%{transform:translateY(2px) scaleY(1.6)}15%,85%{transform:none}}

/* Jumping: a little trampoline appears and a ball bounces on it */
.btn-gold{background:#DDA03A;color:#1F2B2A;box-shadow:0 6px 0 #B07E2A}
.btn-gold:hover{transform:translateY(-4px);box-shadow:0 10px 0 #B07E2A}
.fx-tramp svg{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .3s}
.fx-tramp .ball{transform-origin:50% 100%}
.gift:hover .fx-tramp svg,.btn-hero:hover .fx-tramp svg{opacity:1;transform:none}
.gift:hover .fx-tramp .ball,.btn-hero:hover .fx-tramp .ball{animation:trampball .8s cubic-bezier(.5,0,.5,1) .2s infinite}
.gift:hover .fx-tramp .mat,.btn-hero:hover .fx-tramp .mat{animation:trampmat .8s ease-out .2s infinite}
@keyframes trampball{0%,100%{transform:translateY(0) scale(1.15,.85)}12%{transform:translateY(-4px) scale(1)}50%{transform:translateY(-22px)}88%{transform:translateY(-4px) scale(1)}}
@keyframes trampmat{0%,100%{transform:translateY(2px) scaleY(1.6)}15%,85%{transform:none}}

/* Lego: two bricks set down beside the button, then a third clicks on top */
.btn-hero.btn-lego{border-radius:12px;margin-top:22px}
.fx-lego .b1,.fx-lego .b2{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .25s}
.fx-lego .b2{transition-delay:.1s}
.fx-lego .b3{opacity:0;transform:translateY(-22px)}
.fx-lego .clk{opacity:0}
.gift:hover .fx-lego .b1,.gift:hover .fx-lego .b2,.btn-hero:hover .fx-lego .b1,.btn-hero:hover .fx-lego .b2{opacity:1;transform:none}
.gift:hover .fx-lego .b3,.btn-hero:hover .fx-lego .b3{animation:legodrop .35s ease-in .4s forwards}
.gift:hover .fx-lego .clk,.btn-hero:hover .fx-lego .clk{animation:legoclick .35s ease-out .75s}
@keyframes legodrop{0%{opacity:1;transform:translateY(-22px)}100%{opacity:1;transform:none}}
@keyframes legoclick{0%{opacity:1;transform:scale(.6)}100%{opacity:0;transform:scale(1.3)}}

/* Free guide shown on a tablet: sits flat on the white card, no tilt or shadow */
.free-card img.tablet,.btb-feature img.tablet{transform:none;box-shadow:none;border-radius:0;mix-blend-mode:multiply}
.free-card img.tablet{width:170px}

/* Free guide page: the tablet cover stands in for the big title */
.banner-title.banner-img{margin:6px auto 4px;line-height:0}
.banner-img img{width:100%;max-width:400px;height:auto;mix-blend-mode:multiply}
@media (max-width:700px){.banner-img img{max-width:300px}}

/* Free guide page: bolder "Free holiday guide" badge and subtitle */
.banner-free .banner-club{display:inline-flex;align-items:center;gap:12px;padding:12px 26px 10px;border-radius:999px;background:#B4473E;color:#FBF7F1;font-weight:800;font-size:clamp(1.15rem,2.6vw,1.6rem);letter-spacing:.02em;box-shadow:0 5px 0 #86302A;transform:rotate(-1.5deg);margin:0 0 10px}
.banner-free .banner-club span{color:#F0C878;font-size:1.1em}
.banner-free .banner-sub{font-size:clamp(1.35rem,3vw,1.7rem);font-weight:600;line-height:1.4;color:#1F2B2A;max-width:34ch;margin-top:18px}
.banner-free .banner-sub .hl{font-weight:800;color:#86302A}

/* Signup title: bold Christmas letters on the red band (white, bright gold, holly green) */
.signup{--k1:#FFFFFF;--k2:#F5B93A;--k3:#A9D18E;--k4:#FFFFFF;--k5:#F5B93A}

/* Footer: Instagram icon in front of the brand name */
.foot-brand{display:flex;align-items:center;justify-content:center;gap:12px}
.footer .ig{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#B4473E;color:#FBF7F1;transition:transform .2s,background .2s}
.footer .ig svg{width:22px;height:22px}
.footer .ig:hover{transform:translateY(-2px) rotate(-6deg);background:#DDA03A;color:#1F2B2A}
.footer .ig:focus-visible{outline:2px dashed #FBF7F1;outline-offset:3px}

/* Signup band: bolder Christmas title letters and a red and white checker edge above the footer */
.signup{--k1:#FFFFFF;--k2:#FFC23A;--k3:#1E5631;--k4:#FFFFFF;--k5:#FFC23A}
.signup h2 .l3{text-shadow:-2px -2px 0 #FFFFFF,2px -2px 0 #FFFFFF,-2px 2px 0 #FFFFFF,2px 2px 0 #FFFFFF,0 -2px 0 #FFFFFF,0 2px 0 #FFFFFF,-2px 0 0 #FFFFFF,2px 0 0 #FFFFFF}
.signup-check{--c1:#B4473E;--c2:#FFFFFF;height:22px;background-size:22px 22px}

/* Section intros: bigger, with the key phrases picked out in red */
.sec-lead{font-size:clamp(1.15rem,2.3vw,1.45rem);font-weight:500;line-height:1.5;color:#1F2B2A;max-width:38ch;margin:12px auto 36px}
.sec-lead strong{color:#B4473E;font-weight:800}
/* Resource cards: label becomes a tilted pill, title gets a wavy underline */
.res .tag{align-self:flex-start;display:inline-block;padding:7px 14px 5px;border-radius:999px;background:var(--c,#B4473E);color:#fff;font-size:.8rem;letter-spacing:.12em;transform:rotate(-2deg);margin:4px 0 14px;box-shadow:0 3px 0 rgba(31,43,42,.18)}
.res .tag::before{content:"✦ ";color:#FFE3A3}
.res h3{font-size:clamp(1.6rem,2.6vw,2rem);font-weight:800;line-height:1.1;margin:0 0 16px;padding-bottom:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M2 6c10-6 18 6 28 0s18 6 28 0 18 6 28 0 18 6 28 0' fill='none' stroke='%23DDA03A' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/120px 10px no-repeat}
.res:nth-child(2) .tag{background:#B4473E}


/* Price tiers: badge on each card, and a Shop by price panel with filter buttons */
.product .shot{position:relative}
.price{position:absolute;left:10px;top:10px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:6px 11px 5px;border-radius:999px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.74rem;line-height:1;color:#fff;box-shadow:0 2px 6px rgba(31,43,42,.18)}
.price b{font-weight:900;letter-spacing:.04em}
.price.p1,.pk-btns b.p1{background:#5E7A56}
.price.p2,.pk-btns b.p2{background:#DDA03A;color:#1F2B2A}
.price.p3,.pk-btns b.p3{background:#B4473E}
.price-key{max-width:820px;margin:8px auto 34px;padding:20px 22px 16px;border-radius:22px;background:#FBF7F1;color:#1F2B2A;text-align:center;box-shadow:0 8px 22px rgba(8,30,20,.25)}
.pk-title{margin:0 0 12px;font-family:'DM Sans',sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:.02em;color:#3C503E;max-width:none}
.pk-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pk-btns button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 8px;border-radius:999px;border:2px solid #E6E1D8;background:#fff;color:#1F2B2A;font:700 .9rem/1 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.pk-btns button:hover{transform:translateY(-2px);border-color:#C9B79A}
.pk-btns button.on{background:#3C503E;border-color:#3C503E;color:#fff}
.pk-btns b{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:999px;color:#fff;font:900 .74rem/1 'DM Sans',sans-serif;letter-spacing:.03em}
.pk-note{margin:12px auto 0;font-size:.82rem;opacity:.75;max-width:none}
.pk-empty{margin:12px 0 0;font-weight:700;color:#86302A;max-width:none}
.cat.pk-hide,.product.pk-hide{display:none}

.product .body>p{flex:0 0 auto}
.product .body>.go{margin-top:auto}


.paper-wrap{position:relative;filter:drop-shadow(0 5px 6px rgba(31,43,42,.16));transform:rotate(-1.2deg);margin:8px 0 2px}
.paper-wrap::before{content:"";position:absolute;z-index:2;left:50%;top:-10px;width:74px;height:20px;margin-left:-37px;background:rgba(201,121,102,.55);transform:rotate(2deg)}
.product .paper{margin:0;clip-path:polygon(0.0% 2.3px,2.5% 4.4px,5.0% 2.3px,7.5% 1.6px,10.0% 3.5px,12.5% 2.5px,15.0% 1.8px,17.5% 4.6px,20.0% 1.1px,22.5% 1.5px,25.0% 4.9px,27.5% 5.5px,30.0% 3.7px,32.5% 5.4px,35.0% 2.5px,37.5% 3.1px,40.0% 1.1px,42.5% 1.3px,45.0% 2.8px,47.5% 3.4px,50.0% 4.1px,52.5% 5.1px,55.0% 4.9px,57.5% 4.3px,60.0% 1.6px,62.5% 4.1px,65.0% 1.2px,67.5% 1.9px,70.0% 1.5px,72.5% 4.7px,75.0% 2.6px,77.5% 5.9px,80.0% 1.0px,82.5% 2.6px,85.0% 2.4px,87.5% 3.7px,90.0% 4.3px,92.5% 2.7px,95.0% 4.9px,97.5% 4.0px,100.0% 5.1px,100.0% calc(100% - 2.5px),97.5% calc(100% - 4.7px),95.0% calc(100% - 3.8px),92.5% calc(100% - 5.4px),90.0% calc(100% - 2.8px),87.5% calc(100% - 5.7px),85.0% calc(100% - 1.4px),82.5% calc(100% - 1.0px),80.0% calc(100% - 4.4px),77.5% calc(100% - 2.1px),75.0% calc(100% - 4.5px),72.5% calc(100% - 2.4px),70.0% calc(100% - 2.8px),67.5% calc(100% - 4.8px),65.0% calc(100% - 6.0px),62.5% calc(100% - 5.3px),60.0% calc(100% - 2.5px),57.5% calc(100% - 1.7px),55.0% calc(100% - 1.1px),52.5% calc(100% - 1.0px),50.0% calc(100% - 5.4px),47.5% calc(100% - 2.0px),45.0% calc(100% - 5.8px),42.5% calc(100% - 4.3px),40.0% calc(100% - 6.6px),37.5% calc(100% - 1.1px),35.0% calc(100% - 2.3px),32.5% calc(100% - 2.0px),30.0% calc(100% - 2.8px),27.5% calc(100% - 4.9px),25.0% calc(100% - 6.4px),22.5% calc(100% - 5.1px),20.0% calc(100% - 3.5px),17.5% calc(100% - 3.5px),15.0% calc(100% - 5.0px),12.5% calc(100% - 6.5px),10.0% calc(100% - 2.5px),7.5% calc(100% - 2.1px),5.0% calc(100% - 2.5px),2.5% calc(100% - 1.4px),0.0% calc(100% - 6.8px)); background-color:#FFFEF9;background-image:linear-gradient(90deg,transparent 30px,#E9A2A2 30px,#E9A2A2 32px,transparent 32px),repeating-linear-gradient(#FFFEF9 0 19.2px,#BCD3E8 19.2px 20.4px,#FFFEF9 20.4px 26px);background-position:0 0,0 20px;padding:20px 14px 20px 42px;font-size:.92rem;line-height:26px;color:#1F2B2A}
.product .paper b{display:block;position:relative;top:2px;font:800 .8rem/26px 'DM Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#4E6B47}
.product .stamp{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;font-size:.9rem;line-height:1.45;color:#1F2B2A}
.product .stamp span{flex:0 0 auto;margin-top:1px;padding:6px 8px 4px;border:2.5px solid #B4473E;border-radius:6px;color:#B4473E;font:900 .76rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-6deg)}
.product .body>.go{align-self:flex-end;margin-top:auto;padding-top:12px}
@media (max-width:700px){.price-key{padding:16px 14px 12px}.pk-btns button{font-size:.82rem;padding:8px 11px 7px}.price{font-size:.66rem;padding:5px 9px 4px;left:8px;top:8px}}
/* Product cards: torn lined paper for Why kids love it, red stamp for Heads up if */
.product .safety{margin:12px 0 0;padding:8px 11px 9px;border:2.5px solid #FFD23F;border-radius:7px;background:#fff;font-size:.8rem;line-height:1.45;color:#1F2B2A}
.product .safety b{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:#1A1A1A;font:800 .76rem/1.2 'DM Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase}
.product .safety b::before{content:"";flex:0 0 auto;width:20px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 1.5 23 20.5H1z' fill='%231A1A1A'/%3E%3Cpath d='M12 8v6' stroke='%23FFD23F' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.3' r='1.5' fill='%23FFD23F'/%3E%3C/svg%3E") no-repeat center/contain}
.warn{display:flex;flex-direction:column;gap:6px;padding:12px 12px 2px}
.warn span{display:flex;align-items:center;gap:9px;padding:7px 11px 6px;border:2.5px solid #FFD23F;border-radius:7px;background:#fff;color:#1A1A1A;font:800 .8rem/1.15 'DM Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase}
.warn svg,.pk-safety svg{flex:0 0 auto;width:22px;height:20px}
.warn-corner{position:absolute;right:10px;top:8px;z-index:1;width:44px;height:40px;filter:drop-shadow(0 2px 3px rgba(31,43,42,.3))}
.pk-safety{max-width:640px;margin:14px auto 0;padding:12px 16px 12px;border:2.5px solid #FFD23F;border-radius:10px;background:#fff;text-align:left;font-size:.86rem;line-height:1.45;color:#1F2B2A}
.pk-safety .pk-st{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:800 .82rem/1.2 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.pk-safety ul{margin:0;padding:0;list-style:none}
.pk-safety li{margin:0 0 5px}
.pk-safety li b{font-weight:800}
.pk-safety .pk-sf{margin:8px 0 0;font-weight:700}
@media (max-width:700px){.warn span{font-size:.72rem;padding:6px 10px 5px}.warn-corner{width:38px;height:34px;right:8px}}
.pk-safety .pk-bybbi{display:flex;align-items:center;gap:12px;margin:10px 0 0;font-size:.8rem;line-height:1.45;color:#5B6461}
.pk-safety .pk-bybbi p{margin:0}
.pk-safety .pk-bybbi-img{flex:0 0 auto;display:block;width:66px;margin:-6px 4px -6px -30px;transform:rotate(-9deg);filter:drop-shadow(2px 4px 6px rgba(31,43,42,.28))}
.pk-safety .pk-bybbi-img img{display:block;width:100%;height:auto;border-radius:7px}
.pk-safety .pk-bybbi a{color:#2F4A3A;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.product .shot.ph svg.warn-corner{width:44px;height:40px;stroke:none;fill:none}
@media (max-width:700px){.product .shot.ph svg.warn-corner{width:38px;height:34px}}
.warn-tape{position:absolute;right:10px;top:12px;z-index:1;width:58px;height:18px;border:2px solid #1A1A1A;border-radius:999px;background:repeating-linear-gradient(45deg,#FFD23F 0 6px,#1A1A1A 6px 12px);box-shadow:0 2px 5px rgba(31,43,42,.25)}
@media (max-width:700px){.warn-tape{right:8px;top:10px;width:50px;height:16px}}
.price-key .pk-age{margin:8px 0 0;font-size:.85rem;font-weight:700;color:#3C503E}
.price-key .pk-age a{color:inherit;text-decoration:none}
.price-key .pk-age a:hover{text-decoration:underline;text-underline-offset:3px}
.price-key .pk-age a::before{content:"";display:inline-block;width:38px;height:35px;margin:0 10px -11px 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 21C5 15.5 2 12 2 7.8a5 5 0 0 1 10-1.9 5 5 0 0 1 10 1.9C22 12 19 15.5 12 21z' fill='%23B4473E'/%3E%3Cpath d='M7.6 10.8l3 3 5.8-6' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
/* section jump links: scalloped buttons, same build as .btn, replacing the blob shapes */
.jump{gap:12px 14px}
.jump li:nth-child(n) a{--b:#E09F3E;-webkit-mask:none;mask:none;border-radius:0;display:inline-flex;align-items:center;height:52px;padding:0 26px;color:var(--ink);font:700 1rem/1 'DM Sans',sans-serif;
  background:
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left top/18px 18px round no-repeat,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left bottom/18px 18px round no-repeat,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left top/18px 18px no-repeat round,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) right top/18px 18px no-repeat round,
    linear-gradient(var(--b),var(--b)) center/calc(100% - 16px) calc(100% - 16px) no-repeat;
  transition:transform .2s}
.jump li:nth-child(3n+2) a{--b:#E78D96;border-radius:0}
.jump li:nth-child(3n) a{--b:#B2AC84;border-radius:0}
.jump a:hover,.jump li:nth-child(3n+2) a:hover,.jump li:nth-child(3n) a:hover{background:
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left top/18px 18px round no-repeat,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left bottom/18px 18px round no-repeat,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) left top/18px 18px no-repeat round,
    radial-gradient(circle,var(--b) 8.4px,transparent 9px) right top/18px 18px no-repeat round,
    linear-gradient(var(--b),var(--b)) center/calc(100% - 16px) calc(100% - 16px) no-repeat;border-radius:0;transform:translateY(-2px) rotate(-1deg)}
@media (max-width:700px){.jump a{height:46px;padding:0 20px;font-size:.92rem}}
.aff-pill{display:inline-flex;align-items:center;justify-content:center;width:40px;height:24px;margin:0 8px -6px 0;border-radius:999px;background:#DDA03A;box-shadow:0 2px 4px rgba(0,0,0,.18)}
.aff-pill svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* pictures always fit inside their square, so tall drawings never spill over the safety labels */
.product .shot{overflow:hidden}
.product .shot>img{position:absolute;top:14px;left:14px;width:calc(100% - 28px);height:calc(100% - 28px);max-width:none;max-height:none;object-fit:contain}

/* phones: one card per row, heads up stamp above its text, roomier paper note */
@media (max-width:700px){
  .products{grid-template-columns:1fr;gap:22px}
  .product .shot{aspect-ratio:4/3}
  .product .body{padding:16px 18px 20px}
  .product p{font-size:.95rem}
  .product .stamp{flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}
  .product .stamp span{transform:rotate(-4deg)}
  .product .paper b{white-space:nowrap}
  .warn span{font-size:.74rem}
}

/* phone menu: a hamburger button opens the header links plus the section jump buttons */
.menu-btn,.menu-jump{display:none}
@media (max-width:700px){
  .top{flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 16px 6px;row-gap:0}
  .menu-btn{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:44px;padding:0 12px;border:0;border-radius:12px;background:#3C503E;cursor:pointer}
  .menu-btn span{display:block;height:3px;border-radius:2px;background:#FBF7F1;transition:transform .2s,opacity .2s}
  .top.open .menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .top.open .menu-btn span:nth-child(2){opacity:0}
  .top.open .menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .top .nav{display:none}
  .top.open .nav{display:flex;flex-direction:column;align-items:stretch;order:3;flex:0 0 100%;gap:12px;margin:14px 0 6px;padding:18px 16px;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(31,43,42,.15)}
  .top.open .nav a.nav-chip{justify-content:flex-start;font-size:1rem}
  .menu-jump{display:block;border-top:1.5px dashed #E3D7C3;padding-top:14px;margin-top:4px}
  .menu-label{margin:0 0 12px;font:800 .78rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#3C503E;text-align:center}
  .menu-jump .jump{margin:0;gap:10px}
}
/* mid size screens: three cards across so the paper notes have room */
@media (min-width:1001px) and (max-width:1240px){.products{grid-template-columns:repeat(3,1fr)}}
.product .paper b{white-space:nowrap}
.product .stamp{flex-direction:column;align-items:flex-start;gap:8px}
.product .stamp span{transform:rotate(-4deg)}
/* quiz teaser icon: bigger badge, question mark bubble larger than the gift */
.qt-ico{width:104px;height:104px;flex:0 0 104px}
.qt-ico svg{width:84px;height:84px}
@media (max-width:700px){.qt-ico{width:88px;height:88px;flex-basis:88px}.qt-ico svg{width:72px;height:72px}}
.btb-card-peek.no-img{grid-template-columns:1fr}
.btb-form-wrap p.btb-err,.btb-err{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#FBEDEA;border:1.5px solid #B4473E;color:#86302A;font-size:.88rem;font-weight:600}
/* phone menu section buttons: no gold underline, the scalloped button just lifts */
.menu-jump .jump a,.menu-jump .jump a:hover{border-bottom:0;text-decoration:none}

/* ================= wish list ================= */
/* Add to list on cards */
.product .card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px}
.product .card-actions .go{margin:0;padding:0;align-self:center}
.add-list{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 7px 10px;border:2px solid #B4473E;border-radius:999px;background:#fff;color:#B4473E;font:800 .74rem/1 'DM Sans',sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:transform .15s,background .15s}
.add-list svg{width:17px;height:16px;fill:none;stroke:#B4473E;stroke-width:2.2}
.add-list:hover{transform:translateY(-2px)}
.add-list.on{background:#B4473E;color:#fff}
.add-list.on svg{fill:#fff;stroke:#fff}
.add-list:focus-visible{outline:2px dashed #1F2B2A;outline-offset:3px}

/* header icon */
.mylist-link{position:relative;display:inline-flex;align-items:center;padding:0;border:0;background:none;text-decoration:none;transition:transform .2s;flex:0 0 auto}
.nav a.mylist-link,.mylist-link:hover{border:0}
.mylist-link:hover{transform:translateY(-2px)}
.mylist-link .ml-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ml-ico{position:relative;display:grid;place-items:center;width:54px;height:54px}
.ml-ico svg.ml-cart{width:54px;height:54px}
.ml-ico b{position:absolute;top:-4px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#DDA03A;color:#1F2B2A;font:800 .72rem/16px 'DM Sans',sans-serif;text-align:center;border:2px solid #fff}
.ml-ico b[hidden]{display:none}
@media (min-width:1061px){.top{flex-wrap:nowrap}.top .nav{margin-left:auto}}
@media (max-width:1060px) and (min-width:701px){.top{flex-wrap:wrap;justify-content:space-between}.top .brand{order:1}.top .mylist-link{order:2}.top .nav{order:3;flex:0 0 100%;margin-left:0}}
@media (max-width:700px){.top .mylist-link{order:2;margin-left:auto;margin-right:10px}.top .menu-btn{order:3}.ml-ico,.ml-ico svg.ml-cart{width:48px;height:48px}}

/* phone floating button */
.wl-fab{display:none}
@media (max-width:700px){
  .wl-fab.has-items{position:fixed;right:14px;bottom:14px;z-index:40;display:inline-flex;align-items:center;gap:8px;padding:11px 14px 10px 12px;border-radius:999px;background:#B4473E;color:#fff;font:800 .88rem/1 'DM Sans',sans-serif;text-decoration:none;box-shadow:0 4px 0 #86302A,0 10px 22px rgba(0,0,0,.25)}
  .wl-fab svg{width:20px;height:18px;fill:#fff}
  .wl-fab b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#FBF7F1;color:#B4473E;font-size:.78rem}
}

/* toast and first time note */
.wl-toast{position:fixed;left:50%;bottom:80px;z-index:70;max-width:min(92vw,440px);transform:translateX(-50%) translateY(16px);opacity:0;padding:12px 18px 11px;border-radius:16px;background:#2F4A3A;color:#fff;font:700 .88rem/1.4 'DM Sans',sans-serif;text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.3);transition:opacity .25s,transform .25s;pointer-events:none}
.wl-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.wl-first{position:fixed;left:50%;bottom:18px;z-index:71;display:flex;gap:12px;align-items:flex-start;width:min(92vw,460px);padding:14px 16px;border-radius:18px;background:#FBF7F1;color:#1F2B2A;font-size:.88rem;line-height:1.45;box-shadow:0 0 0 2.5px #DDA03A,0 14px 30px rgba(0,0,0,.3);transform:translateX(-50%) translateY(30px);opacity:0;transition:opacity .3s,transform .3s}
.wl-first.show{opacity:1;transform:translateX(-50%) translateY(0)}
.wl-first>svg{flex:0 0 auto;width:22px;height:20px;fill:#B4473E;margin-top:2px}
.wl-first b{font-family:'DM Sans',sans-serif}
.wl-first button{flex:0 0 auto;align-self:center;padding:9px 14px 8px;border:0;border-radius:999px;background:#3C503E;color:#fff;font:800 .74rem/1 'DM Sans',sans-serif;text-transform:uppercase;cursor:pointer}

/* My list page */
.wl-main{background:#3C503E;padding:30px 16px 70px;min-height:60vh}
.wl-pad{max-width:760px;margin:0 auto;background:#FBF7F1;border-radius:26px;padding:30px 28px 34px;box-shadow:0 8px 0 #DDA03A,0 20px 40px rgba(0,0,0,.25)}
.wl-pad .eyebrow{display:table;margin:0 auto 6px}
.wl-pad h2{text-align:center;margin:0 0 6px}
.wl-save{display:flex;gap:10px;align-items:flex-start;margin:16px 0 18px;padding:12px 14px;border-radius:12px;border:2px dashed #DDA03A;background:#fff;font-size:.86rem;line-height:1.5;color:#3A3A3A}
.wl-save svg{flex:0 0 auto;width:20px;height:19px;fill:#B4473E;margin-top:2px}
.wl-save p{margin:0}
.wl-empty{text-align:center;padding:10px 0 4px}
.wl-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 18px}
.wl-actions button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px 10px;border:0;border-radius:999px;font:800 .84rem/1 'DM Sans',sans-serif;letter-spacing:.03em;cursor:pointer}
.wl-share{background:#B4473E;color:#fff;box-shadow:0 4px 0 #86302A}
.wl-ghost{background:#fff;color:#3C503E;border:2px solid #3C503E!important}
.wl-sort{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;margin:0 0 6px;font-size:.84rem;color:#5B6461}
.wl-sort button{padding:7px 13px 6px;border-radius:999px;background:#fff;border:1.5px solid #E3D7C3;font:700 .84rem/1 'DM Sans',sans-serif;color:#1F2B2A;cursor:pointer}
.wl-sort button.on{background:#3C503E;border-color:#3C503E;color:#fff}
.wl-groupbox h3{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font:800 1rem/1.2 'DM Sans',sans-serif;color:#3C503E;text-transform:uppercase;letter-spacing:.05em}
.wl-groupbox h3::after{content:"";flex:1;border-top:1.5px dashed #D8CDB9}
.wl-item{display:grid;grid-template-columns:84px 1fr;gap:12px 14px;padding:14px;margin:0 0 12px;border-radius:16px;background:#fff;box-shadow:0 3px 0 rgba(31,43,42,.08)}
.wl-item>img,.wl-card>img,.wl-ph{width:84px;height:84px;object-fit:contain;border-radius:10px;background:#F6F2EA}
.wl-ph{display:grid;place-items:center}
.wl-ph svg{width:46px;height:46px;fill:none;stroke:#3C503E;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wl-item h4{margin:0 0 6px;font:800 1.02rem/1.25 'DM Sans',sans-serif;color:#2F4A3A}
.wl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.8rem}
.wl-meta .price,.wl-card .price{position:static;box-shadow:none}
.wl-meta a{color:#B4473E;font:800 .78rem/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.wl-rm{border:0;background:none;color:#7A817E;font-size:.8rem;text-decoration:underline;cursor:pointer;padding:0}
.wl-item textarea{grid-column:1 / -1;width:100%;min-height:52px;resize:vertical;padding:0 12px;border:1.5px solid #E3D7C3;border-radius:10px;background:repeating-linear-gradient(#fff 0 25px,#DCE7F1 25px 26px);font:400 .9rem/26px 'DM Sans',sans-serif;color:#1F2B2A}

/* pop ups */
.wl-modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(20,30,24,.55)}
.wl-modal.open{display:flex}
.wl-sheet{position:relative;width:100%;max-width:470px;max-height:90vh;overflow:auto;padding:24px 22px 22px;border-radius:22px;background:#FBF7F1;box-shadow:0 8px 0 #DDA03A,0 24px 50px rgba(0,0,0,.35);color:#1F2B2A}
.wl-sheet h3{margin:0 40px 8px 0;font:800 1.25rem/1.2 'DM Sans',sans-serif;color:#2F4A3A}
.wl-sheet p{margin:0 0 10px;font-size:.9rem;line-height:1.5}
.wl-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#E9E2D5;font:800 1rem/1 'DM Sans',sans-serif;cursor:pointer}
.wl-f{display:block;margin:12px 0 5px}
.wl-f span{display:block;margin:0 0 5px;font:800 .84rem/1.2 'DM Sans',sans-serif;color:#2F4A3A}
.wl-f i{font-style:normal;font-weight:600;color:#7A817E}
.wl-f input{width:100%;padding:11px 12px;border:1.5px solid #D8CDB9;border-radius:10px;background:#fff;font:500 .95rem/1.2 'DM Sans',sans-serif;color:#1F2B2A}
.wl-sheet .wl-help{font-size:.78rem;color:#5B6461;margin:0 0 8px}
.wl-heads{margin:8px 0 14px;padding:11px 13px;border-radius:12px;border:2.5px solid #FFD23F;background:#fff;font-size:.82rem;line-height:1.5}
.wl-link{display:flex;gap:8px;margin:0 0 10px}
.wl-link input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid #D8CDB9;border-radius:10px;background:#fff;font:500 .8rem/1.2 'DM Sans',sans-serif;color:#3C503E}
.wl-link button,.wl-ways button{padding:11px 16px 10px;border:0;border-radius:999px;background:#3C503E;color:#fff;font:800 .8rem/1 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}
.wl-ways{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.wl-ways button{background:#B4473E}
.wl-sheet .wl-what{margin:0 0 6px}
.wl-msg{padding:12px 14px;margin:0 0 10px;border-radius:14px;background:#fff;border:1.5px dashed #DDA03A;font-size:.86rem;line-height:1.5;white-space:pre-line;word-break:break-all}
.wl-copytext{margin:0;padding:12px 14px;border-radius:12px;background:#fff;border:1.5px solid #E3D7C3;font:500 .82rem/1.55 'DM Sans',sans-serif;white-space:pre-wrap;word-break:break-word}

/* family view */
.wl-shared-view .top .mylist-link,.wl-shared-view .menu-btn{display:none}
.wl-lights{display:none;margin:4px 0 -6px}
.wl-shared-view .wl-lights{display:block}
.wl-shared-view .bunting{display:none}
.wl-shared-view .wl-main{background:#F6F1E8}
.wl-hero{max-width:640px;margin:0 auto;padding:4px 4px 6px;text-align:center}
.wl-hero h1{margin:0 0 8px;font:800 clamp(2rem,7vw,2.8rem)/1.05 'DM Sans',sans-serif;color:#B4473E}
.wl-hero h1 em{font-style:normal;color:#3C503E}
.wl-hero p{margin:0 auto 6px;max-width:520px;font-size:1rem;line-height:1.55;color:#2F3A37}
.wl-from{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;padding:8px 14px 7px;border-radius:999px;background:#fff;border:1.5px solid #E3D7C3;font-size:.86rem;color:#3C503E}
.wl-from svg{width:18px;height:17px;fill:#B4473E}
.wl-sl{max-width:640px;margin:16px auto 0}
.wl-remind{margin:6px 0 4px;padding:12px 14px;border-radius:14px;background:#fff;border:2px dashed #3C503E;font-size:.88rem;line-height:1.5;color:#1F2B2A}
.wl-group{margin:24px 0 10px;display:flex;align-items:center;gap:10px;font:800 .9rem/1.2 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#3C503E}
.wl-group::after{content:"";flex:1;border-top:1.5px dashed #D8CDB9}
.wl-card{display:grid;grid-template-columns:110px 1fr;gap:12px 16px;padding:16px;margin:0 0 14px;border-radius:20px;background:#fff;box-shadow:0 4px 0 #E6DCCB}
.wl-card>img,.wl-card>.wl-ph{width:110px;height:110px;border-radius:14px;background:#FBF7F1}
.wl-card h3{margin:2px 0 6px;font:800 1.12rem/1.2 'DM Sans',sans-serif;color:#2F4A3A}
.wl-card .price{margin:0 0 8px;display:inline-flex}
.wl-desc{margin:0;font-size:.9rem;line-height:1.5;color:#3A3A3A}
.wl-note{grid-column:1 / -1;display:flex;gap:10px;align-items:flex-start;padding:0 12px;border-radius:12px;background:repeating-linear-gradient(#FFFEF9 0 23px,#DCE7F1 23px 24px);border:1.5px solid #E8E0D0;font:400 .9rem/24px 'DM Sans',sans-serif;color:#1F2B2A}
.wl-note b{font:800 .72rem/24px 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#B4473E}
.wl-buy{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;padding:13px 18px 12px;border-radius:999px;background:#B4473E;color:#fff;font:800 .95rem/1 'DM Sans',sans-serif;letter-spacing:.03em;text-decoration:none;box-shadow:0 4px 0 #86302A}
.wl-claim{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px 10px;border:2px solid #3C503E;border-radius:999px;background:#fff;color:#3C503E;font:800 .9rem/1 'DM Sans',sans-serif;letter-spacing:.03em;cursor:pointer}
.wl-claim svg{width:20px;height:20px;fill:none;stroke:#3C503E;stroke-width:1.8;stroke-linejoin:round}
.wl-claim.done{background:#3C503E;color:#fff}
.wl-claim.done svg{stroke:#fff}
.wl-safe{max-width:640px;margin:8px auto 0}
.wl-safe div{padding:12px 14px;border-radius:12px;border:2.5px solid #FFD23F;background:#fff;font-size:.84rem;line-height:1.5}
.wl-cta{max-width:640px;margin:22px auto 0}
.wl-cta div{padding:22px 20px;border-radius:22px;background:#3C503E;color:#FBF7F1;text-align:center}
.wl-cta h2{margin:0 0 6px;font:800 1.2rem/1.2 'DM Sans',sans-serif;color:#FBF7F1}
.wl-cta p{margin:0 0 14px;font-size:.9rem;color:#E8E2D6}
.wl-cta a{display:inline-block;padding:12px 20px 11px;border-radius:999px;background:#DDA03A;color:#1F2B2A;font:800 .9rem/1 'DM Sans',sans-serif;text-decoration:none}
.wl-aff{max-width:640px;margin:16px auto 0;font-size:.76rem;color:#6B726F;text-align:center}
@media (max-width:520px){.wl-pad{padding:24px 16px 28px}.wl-item{grid-template-columns:64px 1fr}.wl-item>img,.wl-item>.wl-ph{width:64px;height:64px}.wl-card{grid-template-columns:84px 1fr}.wl-card>img,.wl-card>.wl-ph{width:84px;height:84px}}

/* print: only the clean list */
#wl-print{display:none}
@media print{
  body>*:not(#wl-print){display:none!important}
  #wl-print{display:block;font:400 12pt/1.4 'DM Sans',Arial,sans-serif;color:#000}
  #wl-print h1{font:800 20pt/1.2 'DM Sans',Arial,sans-serif;margin:0}
  #wl-print .wl-pfrom{margin:2pt 0 10pt;color:#555}
  #wl-print h2{margin:14pt 0 4pt;font:800 10pt/1 'DM Sans',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#555}
  .wl-pi{display:grid;grid-template-columns:16pt 1fr;gap:6pt;padding:5pt 0;border-bottom:1px solid #ddd}
  .wl-box{width:11pt;height:11pt;margin-top:2pt;border:1.3pt solid #000;border-radius:2pt}
  .wl-pi small{display:block;color:#444}
  .wl-pfoot{margin-top:12pt;color:#555}
}
.product .card-actions{flex-wrap:wrap;row-gap:10px}
.product .card-actions .go{white-space:nowrap;margin-left:auto}
/* paper notes: no loose leaf margin line, so the words get the full width */
.product .paper{background-image:repeating-linear-gradient(#FFFEF9 0 19.2px,#BCD3E8 19.2px 20.4px,#FFFEF9 20.4px 26px);background-position:0 20px;padding:20px 16px 20px 18px}
.product .paper b{white-space:normal}
/* "Why kids love it" label in black; card titles a little larger */
.product .paper b{color:#1A1A1A}
.product h4{font-size:1.25rem}
/* subtle red wavy line under each card title, as wide as the title */
.product h4{position:relative;align-self:flex-start;padding-bottom:11px;margin-bottom:2px}
.product h4::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:#B4473E;opacity:.85;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='7'%3E%3Cpath d='M-7 3.5Q-3.5 6.5 0 3.5T7 3.5T14 3.5T21 3.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") 0 0/14px 7px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='7'%3E%3Cpath d='M-7 3.5Q-3.5 6.5 0 3.5T7 3.5T14 3.5T21 3.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") 0 0/14px 7px repeat-x}
.product.to-list h4{align-self:stretch}
/* black check mark before "Why kids love it" */
.product .paper b::before{content:"";display:inline-block;width:13px;height:11px;margin:0 6px 0 0;vertical-align:-1px;background:#1A1A1A;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 11'%3E%3Cpath d='M1.5 6l3.2 3.2L11.5 1.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 11'%3E%3Cpath d='M1.5 6l3.2 3.2L11.5 1.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* green wavy divider above Add to list and See options */
.product .card-actions::before{content:"";order:-1;flex:0 0 100%;height:7px;margin:0 0 4px;background:var(--t-ink,#3C503E);opacity:.7;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='7'%3E%3Cpath d='M-7 3.5Q-3.5 6.5 0 3.5T7 3.5T14 3.5T21 3.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") 0 0/14px 7px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='7'%3E%3Cpath d='M-7 3.5Q-3.5 6.5 0 3.5T7 3.5T14 3.5T21 3.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") 0 0/14px 7px repeat-x}

/* phone menu section links: smooth rounded pills with a small icon (the page buttons stay scalloped) */
.menu-jump .jump.menu-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.menu-jump .jump.menu-pills li:nth-child(n) a{display:inline-flex;align-items:center;gap:7px;height:auto;padding:10px 16px 9px 12px;border-radius:999px;background:var(--b);color:#1F2B2A;font:700 .95rem/1 'DM Sans',sans-serif;box-shadow:0 3px 0 rgba(0,0,0,.14);transform:none}
.menu-jump .jump.menu-pills li:nth-child(n) a:hover{background:var(--b);transform:translateY(-2px)}
.menu-pills .pill-ico{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:#1F2B2A;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* white site background in place of the cream and tan */
:root{--cream:#FFFFFF;--paper:#FFFFFF}
body,.paper-sec{background:#fff}
.price-key,.wl-pad,.wl-sheet,.wl-first,.wl-shared-view .wl-main{background:#fff}
@media (max-width:700px){.top .mylist-link{order:1}.top .menu-btn{order:2}.top.open .nav{order:3}}
/* phone menu main links: no scallop, plain rows with a colored arrow on the right */
@media (max-width:700px){
  .top.open .nav{gap:4px}
  .top.open .nav a.nav-chip{background:none !important;filter:none;padding:8px 6px 8px 4px;color:var(--t-ink);font-size:1.05rem}
  .top.open .nav a.nav-chip.nav-free{--c:#B4473E;color:var(--t-ink)}
  .top.open .nav a.nav-chip.nav-free .nav-ico{background:#F6E3E0}
  .top.open .nav a.nav-chip::after{content:"";position:static;flex:0 0 auto;width:22px;height:22px;margin-left:auto;inset:auto;background:var(--c);border-radius:0;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .2s}
  .top.open .nav a.nav-chip:hover{transform:none}
  .top.open .nav a.nav-chip:hover::after{transform:translateX(4px)}
}

/* top menu: no scallops. Plain icon and words; Free resources gets a soft gold pill and sparkles */
.nav a.nav-chip{background:none;filter:none;padding:6px 10px 6px 4px;border-radius:999px;transition:transform .2s,background .2s}
.nav a.nav-chip:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--c) 12%,#fff)}
.nav a.nav-chip.nav-free,.nav-chip.nav-free{--c:#DDA03A;color:var(--t-ink);background:#FBEBC8;padding:6px 16px 6px 6px;box-shadow:0 0 0 2px #F1D08A}
.nav a.nav-chip.nav-free:hover{background:#F8E0A8}
.nav-chip.nav-free .nav-ico{background:#fff}
.free-spark{position:absolute;top:-16px;right:-10px;width:44px;height:30px;pointer-events:none}
.free-spark svg{position:absolute;fill:#DDA03A;animation:twinkle 2.4s ease-in-out infinite}
.free-spark svg:nth-child(1){width:16px;height:16px;right:4px;top:0}
.free-spark svg:nth-child(2){width:10px;height:10px;right:22px;top:4px;fill:#B4473E;animation-delay:.8s}
.free-spark svg:nth-child(3){width:9px;height:9px;right:-2px;top:16px;fill:#7E9370;animation-delay:1.5s}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.55) rotate(25deg);opacity:.55}}
@media (prefers-reduced-motion:reduce){.free-spark svg,.qt-spark svg{animation:none}}
@media (max-width:700px){.top.open .nav a.nav-chip.nav-free{box-shadow:none}.top.open .free-spark{right:auto;left:22px;top:-8px}}

/* price dropdown under the section buttons */
.pk-drop{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:4px auto 14px;padding:7px 8px 7px 16px;border-radius:999px;background:#F3F1EC}
.pk-drop label{font:800 .85rem/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#3C503E}
.pk-sel{appearance:none;-webkit-appearance:none;min-width:170px;padding:9px 36px 8px 14px;border:2px solid #3C503E;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233C503E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right 13px center/12px 8px no-repeat;color:#1F2B2A;font:700 .92rem/1.1 'DM Sans',sans-serif;cursor:pointer}
.pk-sel:focus-visible{outline:2px dashed #3C503E;outline-offset:3px}
.price-key .pk-note{margin-top:0}

/* quiz box: white card, gold top band, sample question, sparkles */
.quiz-teaser{grid-template-columns:auto 1fr auto;gap:26px;max-width:940px;padding:34px 36px 32px 32px;border-radius:28px;background:#fff;filter:none;box-shadow:0 0 0 5px #DDA03A,0 18px 34px rgba(10,24,14,.35);overflow:visible}
.quiz-teaser:hover{transform:translateY(-4px) rotate(-.4deg)}
.qt-ico{width:96px;height:96px;flex-basis:96px;background:#FBEBC8;align-self:start}
.qt-ico svg{width:66px;height:66px}
.qt-kick{display:inline-block;margin:0 0 8px;padding:5px 12px 4px;border-radius:999px;background:#B4473E;color:#fff;font:800 .72rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.qt-text strong{font-size:1.6rem}
.qt-text .sub{display:block;margin:0 0 14px}
.qt-q{display:block;margin:0 0 8px;font:700 .9rem/1.3 'DM Sans',sans-serif;color:#3C503E}
.qt-picks{display:flex;flex-wrap:wrap;gap:7px}
.qt-picks i{font:600 .82rem/1 'DM Sans',sans-serif;font-style:normal;padding:8px 12px 7px;border-radius:999px;background:#F3F1EC;color:#1F2B2A;border:1.5px solid #E3DED3;transition:background .2s,border-color .2s,transform .2s}
.quiz-teaser .go{align-self:center;padding:17px 26px 16px;font-size:.95rem}
.qt-spark{position:absolute;pointer-events:none}
.qt-spark svg{display:block;width:100%;height:100%;animation:twinkle 2.6s ease-in-out infinite}
.qt-spark.k1{top:-20px;left:44px;width:28px;height:28px}.qt-spark.k1 svg{fill:#DDA03A}
.qt-spark.k2{top:-12px;left:82px;width:14px;height:14px}.qt-spark.k2 svg{fill:#FBF7F1;animation-delay:.9s}
.qt-spark.k3{bottom:-14px;right:60px;width:22px;height:22px}.qt-spark.k3 svg{fill:#DDA03A;animation-delay:1.6s}
@media (max-width:760px){
  .quiz-teaser{grid-template-columns:auto 1fr;padding:26px 20px 24px;gap:14px 16px}
  .qt-ico{width:64px;height:64px;flex-basis:64px}.qt-ico svg{width:44px;height:44px}
  .qt-text strong{font-size:1.25rem}
  .qt-text{grid-column:2}
  .qt-q,.qt-picks{margin-left:-80px}
  .quiz-teaser .go{grid-column:1 / -1;justify-self:stretch;justify-content:center}
}
.free-spark{top:-20px;right:-12px;width:52px;height:36px}
.free-spark svg:nth-child(1){width:21px;height:21px}
.free-spark svg:nth-child(2){width:12px;height:12px;right:27px}
.free-spark svg:nth-child(3){width:11px;height:11px;top:20px}
.qt-spark.k1{width:36px;height:36px;top:-24px}
.qt-spark.k3{width:28px;height:28px}
/* price dropdown: no pill behind it, white label, a little more space above */
.pk-drop{background:none;padding:0;margin:22px auto 16px}
.pk-drop label{color:#fff}
/* price dropdown: styled menu that matches the site (the real select stays hidden) */
.pk-sel-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pk-dd{position:relative}
.pk-dd-btn{display:inline-flex;align-items:center;gap:8px;min-width:190px;padding:9px 40px 8px 12px;border:2px solid #fff;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233C503E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right 14px center/12px 8px no-repeat;color:#1F2B2A;font:700 .92rem/1.1 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.18);text-align:left}
.pk-dd-btn:focus-visible{outline:2px dashed #fff;outline-offset:3px}
.pk-dd-btn[aria-expanded="true"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 7l5-5 5 5' fill='none' stroke='%233C503E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.pk-dd b,.pk-dd-list b{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 6px;border-radius:999px;color:#fff;font:900 .74rem/1 'DM Sans',sans-serif}
.pk-dd b.p1{background:#5E7A56}.pk-dd b.p2{background:#DDA03A;color:#1F2B2A}.pk-dd b.p3{background:#B4473E}
.pk-dd-list{position:absolute;z-index:30;left:0;top:calc(100% + 8px);min-width:100%;margin:0;padding:8px;list-style:none;border-radius:18px;background:#fff;box-shadow:0 14px 30px rgba(10,24,14,.3);text-align:left}
.pk-dd-list li{display:flex;align-items:center;gap:10px;padding:10px 34px 10px 10px;border-radius:12px;font:700 .92rem/1.1 'DM Sans',sans-serif;color:#1F2B2A;white-space:nowrap;cursor:pointer;position:relative}
.pk-dd-list li:hover,.pk-dd-list li:focus{background:#F3F1EC;outline:none}
.pk-dd-list li[aria-selected="true"]{background:#E8EEE6}
.pk-dd-list li[aria-selected="true"]::after{content:"";position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%233C503E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* price menu: plain colored dollar signs, no pill */
.pk-dd b,.pk-dd-list b{min-width:34px;height:auto;padding:0;border-radius:0;background:none!important;font-size:1rem;letter-spacing:.02em;place-items:center start}
.pk-dd b.p1{color:#5E7A56}.pk-dd b.p2{color:#C98A1E}.pk-dd b.p3{color:#B4473E}

/* Before You Buy card: real parent questions in speech bubbles around the tablet */
.res .res-img.byb-q{display:grid;grid-template-columns:1fr minmax(120px,170px) 1fr;align-items:center;gap:10px;height:auto;margin:0 -12px 24px}
.res .res-img.byb-q img{width:100%;height:auto;max-height:none;transform:rotate(-3deg);filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}
.qb-col{display:flex;flex-direction:column;gap:16px}
.qb-l{align-items:flex-end}.qb-r{align-items:flex-start}
.qb{--q:#3C503E;position:relative;display:block;max-width:150px;padding:9px 12px 8px;border-radius:14px;background:#fff;border:2px solid var(--q);box-shadow:0 3px 0 var(--q);font:700 .8rem/1.3 'DM Sans',sans-serif;color:#1F2B2A}
.qb::after{content:"";position:absolute;bottom:-7px;width:11px;height:11px;background:#fff;border:2px solid var(--q);border-top:0;border-left:0;transform:rotate(45deg)}
.qb-l .qb::after{right:18px}.qb-r .qb::after{left:18px}
.qb-green{--q:#3C503E}.qb-red{--q:#B4473E}.qb-gold{--q:#DDA03A}.qb-sage{--q:#7E9370}
.qb-col .qb:nth-child(odd){transform:rotate(-2.5deg)}
.qb-col .qb:nth-child(even){transform:rotate(2deg)}
.qb-l .qb:nth-child(even){margin-right:14px}.qb-r .qb:nth-child(odd){margin-left:12px}
@media (max-width:560px){
  .res .res-img.byb-q{grid-template-columns:1fr 96px 1fr;gap:6px;margin:0 -8px 20px}
  .qb{max-width:none;padding:7px 9px 6px;font-size:.7rem;border-radius:11px}
  .qb-col{gap:12px}
  .qb-l .qb:nth-child(even),.qb-r .qb:nth-child(odd){margin:0}
}
.res .res-img.byb-q{max-height:none}

/* resources: Equipment Guide first, "Browse first, then plan" label, question bubbles above and below its screens */
.res.res-eq{--c:var(--gold)}.res.res-byb{--c:var(--pine)}
.res.res-eq .tag{background:#B4473E}.res.res-byb .tag{background:var(--pine)}
.eq-pair{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:34px auto -14px;padding:10px 20px 9px;border-radius:999px;background:#3C503E;color:#fff;font:800 .85rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 0 rgba(0,0,0,.15);max-width:none}
.eq-pair span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#1F2B2A}
.eq-pair .n1{background:#DDA03A}.eq-pair .n2{background:#E8939A}
.res .res-img.eq-rows{display:flex;flex-direction:column;align-items:center;gap:14px;height:auto;max-height:none}
.res .res-img.eq-rows img{max-height:200px;width:auto;max-width:100%}
.qb-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 10px}
.qb-row .qb{max-width:200px}
.qb-row .qb:nth-child(odd){transform:rotate(-2deg)}.qb-row .qb:nth-child(even){transform:rotate(2deg)}
.qb-row .qb::after{left:18px}
.qb-row:first-child .qb:nth-child(even)::after{left:auto;right:18px}
.eq-start{display:flex;align-items:center;gap:8px;margin:-6px 0 12px;font-size:.95rem;color:#1F2B2A}
.eq-start svg{flex:0 0 22px;width:22px;height:22px}
.eq-start b{font-weight:800;color:#86302A}
@media (max-width:560px){.qb-row .qb{max-width:46%}}

/* resources lists: check marks, and a click icon for the interactive parts */
.res .ticks li::before{left:0;top:12px;width:20px;height:20px;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5L19.5 6.5' fill='none' stroke='%233C503E' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.res-byb .ticks li.click::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7.5l9.5 4.2-4.1 1.4 2.9 4.6-2 1.2-2.9-4.6-3 3z' fill='%233C503E' stroke='%233C503E' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M5.6 4.6l1.5 1.5M9 2.5v2M3 8h2' fill='none' stroke='%233C503E' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.res-eq .ticks li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7.5l9.5 4.2-4.1 1.4 2.9 4.6-2 1.2-2.9-4.6-3 3z' fill='%23C98A1E' stroke='%23C98A1E' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M5.6 4.6l1.5 1.5M9 2.5v2M3 8h2' fill='none' stroke='%23C98A1E' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}

/* free quiz card art: a little phone showing a quiz question, with the match popping out */
.free-quiz-art.fq{position:relative;display:block;width:100%;max-width:300px;height:230px;margin:6px 0 10px;border-radius:22px;background:#FBEBC8;overflow:visible}
.fq-phone{position:absolute;left:22px;top:16px;width:150px;height:214px;padding:14px 10px 10px;border-radius:22px;background:#fff;border:5px solid #1F2B2A;box-shadow:0 12px 22px rgba(31,43,42,.25);transform:rotate(-4deg);display:flex;flex-direction:column;gap:6px}
.fq-bar{display:flex;gap:4px;margin:0 0 4px}
.fq-bar i{flex:1;height:4px;border-radius:2px;background:#E6E1D8}
.fq-bar i.on{background:#B4473E}
.fq-q{font:800 .66rem/1.25 'DM Sans',sans-serif;color:#1F2B2A;margin:0 0 2px}
.fq-a{display:block;padding:6px 7px 5px;border-radius:8px;border:1.5px solid #E3DED3;background:#F7F5F0;font:600 .56rem/1.2 'DM Sans',sans-serif;color:#1F2B2A}
.fq-a.on{position:relative;border-color:#3C503E;background:#3C503E;color:#fff;padding-right:20px}
.fq-a.on::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.fq-match{position:absolute;right:6px;bottom:22px;width:140px;padding:11px 13px 10px;border-radius:16px;background:#B4473E;color:#fff;font:800 .9rem/1.15 'DM Sans',sans-serif;box-shadow:0 5px 0 #86302A,0 12px 20px rgba(0,0,0,.2);transform:rotate(4deg);transition:transform .25s}
.fq-match small{display:block;margin:0 0 4px;font:700 1.05rem/1 'Caveat',cursive;color:#FBEBC8}
.free-card:hover .fq-match{transform:rotate(1deg) translateY(-4px) scale(1.04)}
.free-card:hover .fq-phone{transform:rotate(-6deg)}
.fq-phone{transition:transform .25s}
.fq-spark{position:absolute;pointer-events:none}
.fq-spark svg{display:block;width:100%;height:100%;animation:twinkle 2.6s ease-in-out infinite}
.fq-spark.k1{right:30px;top:20px;width:26px;height:26px}.fq-spark.k1 svg{fill:#DDA03A}
.fq-spark.k2{right:70px;top:52px;width:13px;height:13px}.fq-spark.k2 svg{fill:#B4473E;animation-delay:.8s}
.fq-spark.k3{right:14px;top:74px;width:15px;height:15px}.fq-spark.k3 svg{fill:#7E9370;animation-delay:1.5s}
@media (prefers-reduced-motion:reduce){.fq-spark svg{animation:none}}
.free-flag{z-index:3}
/* bigger tablet in the Before You Buy bubbles */
.res .res-img.byb-q{grid-template-columns:1fr minmax(150px,230px) 1fr;gap:8px}
.res .res-img.byb-q img{transform:rotate(-3deg) scale(1.08)}
@media (max-width:560px){.res .res-img.byb-q{grid-template-columns:1fr 124px 1fr;gap:5px}}
/* Equipment Guide image: a cursor tapping the tablet's Explore button */
.eq-shot{position:relative;display:inline-block;max-width:100%}
.eq-shot img{display:block}
.eq-cursor{position:absolute;left:73%;top:71%;width:30px;height:30px;pointer-events:none;animation:eqtap 2.4s ease-in-out infinite}
.eq-cursor svg{position:relative;z-index:1;display:block;width:100%;height:100%;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.eq-ripple{position:absolute;left:-12px;top:-12px;width:28px;height:28px;border-radius:50%;border:3px solid #B4473E;opacity:0;animation:eqripple 2.4s ease-out infinite}
@keyframes eqtap{0%,100%{transform:translate(10px,10px)}40%,60%{transform:translate(0,0)}50%{transform:translate(0,0) scale(.88)}}
@keyframes eqripple{0%,45%{transform:scale(.3);opacity:0}50%{opacity:.9}80%,100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.eq-cursor,.eq-ripple{animation:none}.eq-ripple{opacity:.7}}
@media (max-width:560px){.eq-cursor{width:22px;height:22px}}

/* Equipment Guide card: two real guide pages with a magnifying glass comparing the same box */
.cmp-wrap{container-type:inline-size;width:100%;margin:10px 0 14px}
.cmp{--gap:18px;--pw:calc((100cqi - var(--gap)) / 2);--L:calc(var(--pw) * .62);--z:2.4;--fx:.178;--fy:.645;--ph:calc(var(--pw) * 1.294);
  position:relative;width:100%;height:calc(var(--ph) + 64px);
  --ay:calc(var(--ph) * var(--fy) - var(--L) / 2);
  --ax:calc(var(--pw) * var(--fx) - var(--L) / 2);
  --bx:calc(var(--pw) + var(--gap) + var(--pw) * var(--fx) - var(--L) / 2)}
.cmp-pg{position:absolute;top:0;width:var(--pw);height:var(--ph);border-radius:6px;background:#fff center/cover no-repeat;box-shadow:0 8px 18px rgba(31,43,42,.16);border:1px solid #ECE7DD}
.cmp-pg.a{left:0}
.cmp-pg.b{left:calc(var(--pw) + var(--gap))}
.cmp-tag{position:absolute;top:calc(var(--ph) + 10px);width:var(--pw);display:flex;flex-direction:column;align-items:center;gap:6px;font:800 .8rem/1 'DM Sans',sans-serif;letter-spacing:.03em;color:#1F2B2A;text-align:center}
.cmp-tag.a{left:0}.cmp-tag.b{left:calc(var(--pw) + var(--gap))}
.cmp-tag b{display:inline-block;padding:5px 10px 4px;border-radius:999px;color:#fff;font-size:.74rem;white-space:nowrap}
.cmp-tag.a b{background:#B4473E;animation:cmpTagA 7s ease-in-out infinite}
.cmp-tag.b b{background:#3C503E;animation:cmpTagB 7s ease-in-out infinite}
.cmp .lens{position:absolute;left:var(--ax);top:var(--ay);width:var(--L);height:var(--L);z-index:3;animation:cmpGlide 7s ease-in-out infinite}
.cmp .view{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#fff;border:6px solid #1F2B2A;box-shadow:0 0 0 3px #fff,0 12px 22px rgba(0,0,0,.3)}
.cmp .view i{position:absolute;inset:0;background-repeat:no-repeat;
  background-size:calc(var(--pw) * var(--z)) calc(var(--ph) * var(--z));
  background-position:calc(var(--L) / 2 - 6px - var(--pw) * var(--z) * var(--fx)) calc(var(--L) / 2 - 6px - var(--ph) * var(--z) * var(--fy))}
.cmp .view i.a{animation:cmpShowA 7s ease-in-out infinite}
.cmp .view i.b{animation:cmpShowB 7s ease-in-out infinite}
.cmp .view::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.45),transparent 45%)}
.cmp .handle{position:absolute;left:calc(var(--L) * .83);top:calc(var(--L) * .83);width:16px;height:calc(var(--L) * .45);border-radius:8px;background:#B4473E;box-shadow:inset -3px 0 0 #86302A;transform-origin:50% 0;transform:rotate(-45deg)}
.cmp .handle::before{content:"";position:absolute;left:-3px;top:-5px;width:22px;height:11px;border-radius:4px;background:#1F2B2A}
@keyframes cmpGlide{0%,30%{left:var(--ax)}45%,80%{left:var(--bx)}95%,100%{left:var(--ax)}}
@keyframes cmpShowA{0%,34%{opacity:1}40%,86%{opacity:0}92%,100%{opacity:1}}
@keyframes cmpShowB{0%,34%{opacity:0}40%,86%{opacity:1}92%,100%{opacity:0}}
@keyframes cmpTagA{0%,30%{transform:scale(1.08);opacity:1}40%,85%{transform:scale(.92);opacity:.45}95%,100%{transform:scale(1.08);opacity:1}}
@keyframes cmpTagB{0%,30%{transform:scale(.92);opacity:.45}45%,80%{transform:scale(1.08);opacity:1}95%,100%{transform:scale(.92);opacity:.45}}
@media (prefers-reduced-motion:reduce){.cmp .lens,.cmp .view i,.cmp-tag b{animation:none}.cmp .view i.b{opacity:0}}
.cmp-cap{margin:6px 0 0;font-size:.92rem;line-height:1.5;color:#2F3A37}
.cmp-cap b{color:#B4473E;font-weight:700}

/* Equipment Guide card: how much is inside, and that it keeps growing */
.eq-stats{display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;margin:12px 0 10px;padding:0}
.eq-stats li{display:flex;align-items:center;gap:8px;font:700 .95rem/1.1 'DM Sans',sans-serif;color:#1F2B2A}
.eq-stats b{display:inline-grid;place-items:center;min-width:46px;padding:7px 10px 5px;border-radius:14px;font:900 1.25rem/1 'DM Sans',sans-serif;color:#1F2B2A}
.eq-stats b.s1{background:#F6D9D6}.eq-stats b.s2{background:#FBEBC8}.eq-stats b.s3{background:#DCEBDD}
.eq-grow{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;font-size:.92rem;line-height:1.45;color:#2F3A37}
.eq-grow svg{flex:0 0 20px;width:20px;height:20px;margin-top:1px;fill:none;stroke:#5E7A56;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.eq-grow b{color:#3C503E;font-weight:800}

/* Equipment Guide button: longer label, a shine that sweeps across, and a click icon that taps */
.btn.present.eq-cta{white-space:normal;height:auto;min-height:62px;padding:13px 22px 12px 74px;font:800 1rem/1.2 'DM Sans',sans-serif;letter-spacing:.02em;text-align:left;justify-content:flex-start;gap:12px;
  background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.55) 50%,transparent 58%) 130% 0/260% 100% no-repeat,linear-gradient(90deg,transparent 40px,var(--rib) 40px 54px,transparent 54px),var(--box);
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.14),0 8px 18px rgba(221,160,58,.45);animation:eqShine 3.2s ease-in-out infinite}
.btn.present.eq-cta:hover{animation:hop .55s ease,eqShine 3.2s ease-in-out infinite}
.eq-cta-click{flex:0 0 26px;width:26px;height:26px;margin-left:auto;animation:eqClick 1.6s ease-in-out infinite}
@keyframes eqShine{0%,55%{background-position:130% 0,0 0,0 0}100%{background-position:-30% 0,0 0,0 0}}
@keyframes eqClick{0%,100%{transform:translate(3px,3px)}45%,55%{transform:none}50%{transform:scale(.86)}}
@media (prefers-reduced-motion:reduce){.btn.present.eq-cta,.eq-cta-click{animation:none}}
.eq-cta-note{margin:8px 0 0;font-size:.82rem;color:#5B6461}

/* Before You Buy card: top down room where a swing's clear zone appears and the couch moves out of it */
.mpath{position:relative;margin:12px 0 0;padding:14px 14px 50px;border-radius:18px;background:#FBF7F1}
.mpath svg{display:block;width:100%;height:auto}
.mpath .room{fill:#fff;stroke:#1F2B2A;stroke-width:3}
.mpath .rug{fill:#F3E9DC}
.mpath .zone{fill:rgba(221,160,58,.14);stroke:#DDA03A;stroke-width:2.5;stroke-dasharray:7 6;transform-box:view-box;transform-origin:150px 105px;animation:mpZone 9s ease-in-out infinite}
.mpath .path{fill:none;stroke:#B4473E;stroke-width:2.5;stroke-dasharray:4 5;opacity:.8}
.mpath .hook{fill:#1F2B2A}
.mpath .seat{animation:mpSwing 1.6s ease-in-out infinite alternate}
.mpath .couch{animation:mpCouch 9s ease-in-out infinite}
.mpath .couch rect{fill:#C9D3C2;animation:mpWarn 9s ease-in-out infinite}
.mpath .lbl{font:800 11px 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.mpath .ok{opacity:0;animation:mpOk 9s ease-in-out infinite}
.mpath-tags{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px}
.mpath-tags span{padding:6px 10px 5px;border-radius:999px;font:800 .72rem/1 'DM Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase}
.mpath-tags .t1{background:#B4473E;color:#fff}.mpath-tags .t2{background:#DDA03A;color:#1F2B2A}
.mpath-cap{margin:8px 0 6px;font-size:.92rem;line-height:1.5;color:#2F3A37}
.mpath-cap b{color:#B4473E;font-weight:700}
@keyframes mpSwing{from{transform:translateX(-58px)}to{transform:translateX(58px)}}
@keyframes mpZone{0%,10%{transform:scale(.2);opacity:0}25%,92%{transform:scale(1);opacity:1}100%{transform:scale(.2);opacity:0}}
@keyframes mpWarn{0%,28%{fill:#C9D3C2}34%,52%{fill:#E8A39C}60%,100%{fill:#C9D3C2}}
@keyframes mpCouch{0%,52%{transform:translate(0,0)}66%,92%{transform:translate(32px,48px)}100%{transform:translate(0,0)}}
@keyframes mpOk{0%,64%{opacity:0}70%,90%{opacity:1}96%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.mpath .zone,.mpath .seat,.mpath .couch,.mpath .couch rect,.mpath .ok{animation:none}.mpath .ok{opacity:1}.mpath .couch{transform:translate(32px,48px)}}
.btn.present.eq-cta{font-size:1.08rem;width:100%}

/* Before You Buy card: real searches type out one by one, then get pulled into the guide */
.srch{position:relative;height:380px;margin:12px 0 0;border-radius:18px;background:#FBF7F1;overflow:hidden}
.srch-q{position:absolute;left:50%;top:46%;display:flex;align-items:center;gap:8px;width:max-content;max-width:92%;padding:10px 14px 10px 12px;border-radius:999px;background:#fff;border:1px solid #DFE1E5;box-shadow:0 2px 6px rgba(32,33,36,.18);opacity:0;font:400 .84rem/1.2 Arial,Helvetica,sans-serif;color:#202124}
.srch-q svg{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:#9AA0A6;stroke-width:2.2;stroke-linecap:round}
.srch-q .q{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0}
.srch-q .caret{display:inline-block;width:1.5px;height:16px;margin-left:-5px;background:#202124;animation:srBlink .8s steps(1) infinite}
@keyframes srBlink{50%{opacity:0}}
@keyframes srq0{0%,3.3%{opacity:0;transform:translate(calc(-50% + -18px),calc(-50% + -132px)) rotate(-1.5deg) scale(.85)}5.3%,58%{opacity:1;transform:translate(calc(-50% + -18px),calc(-50% + -132px)) rotate(-1.5deg)}66%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes srt0{0%,5.3%{max-width:0}11.3%,100%{max-width:330px}}
.srch-q.k0{animation:srq0 12s ease-in-out infinite}.srch-q.k0 .q{animation:srt0 12s steps(30,end) infinite}
@keyframes srq1{0%,11.6%{opacity:0;transform:translate(calc(-50% + 18px),calc(-50% + -82px)) rotate(1.5deg) scale(.85)}13.6%,58%{opacity:1;transform:translate(calc(-50% + 18px),calc(-50% + -82px)) rotate(1.5deg)}66%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes srt1{0%,13.6%{max-width:0}19.6%,100%{max-width:330px}}
.srch-q.k1{animation:srq1 12s ease-in-out infinite}.srch-q.k1 .q{animation:srt1 12s steps(30,end) infinite}
@keyframes srq2{0%,19.9%{opacity:0;transform:translate(calc(-50% + -18px),calc(-50% + -32px)) rotate(-1.5deg) scale(.85)}21.9%,58%{opacity:1;transform:translate(calc(-50% + -18px),calc(-50% + -32px)) rotate(-1.5deg)}66%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes srt2{0%,21.9%{max-width:0}27.9%,100%{max-width:330px}}
.srch-q.k2{animation:srq2 12s ease-in-out infinite}.srch-q.k2 .q{animation:srt2 12s steps(30,end) infinite}
@keyframes srq3{0%,28.2%{opacity:0;transform:translate(calc(-50% + 18px),calc(-50% + 18px)) rotate(1.5deg) scale(.85)}30.2%,58%{opacity:1;transform:translate(calc(-50% + 18px),calc(-50% + 18px)) rotate(1.5deg)}66%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes srt3{0%,30.2%{max-width:0}36.2%,100%{max-width:330px}}
.srch-q.k3{animation:srq3 12s ease-in-out infinite}.srch-q.k3 .q{animation:srt3 12s steps(30,end) infinite}
@keyframes srq4{0%,36.5%{opacity:0;transform:translate(calc(-50% + -18px),calc(-50% + 68px)) rotate(-1.5deg) scale(.85)}38.5%,58%{opacity:1;transform:translate(calc(-50% + -18px),calc(-50% + 68px)) rotate(-1.5deg)}66%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes srt4{0%,38.5%{max-width:0}44.5%,100%{max-width:330px}}
.srch-q.k4{animation:srq4 12s ease-in-out infinite}.srch-q.k4 .q{animation:srt4 12s steps(30,end) infinite}
@keyframes srq5{0%,44.8%{opacity:0;transform:translate(calc(-50% + 18px),calc(-50% + 118px)) rotate(1.5deg) scale(.85)}46.8%,58%{opacity:1;transform:translate(calc(-50% + 18px),calc(-50% + 118px)) rotate(1.5deg)}66%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes srt5{0%,46.8%{max-width:0}52.8%,100%{max-width:330px}}
.srch-q.k5{animation:srq5 12s ease-in-out infinite}.srch-q.k5 .q{animation:srt5 12s steps(30,end) infinite}
.srch-guide{position:absolute;left:50%;top:44%;height:230px;opacity:0;transform:translate(-50%,-50%) scale(.6);filter:drop-shadow(0 14px 22px rgba(0,0,0,.22));animation:srGuide 12s ease-in-out infinite}
@keyframes srGuide{0%,60%{opacity:0;transform:translate(-50%,-50%) scale(.6)}68%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}72%,93%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.6)}}
.srch-msg{position:absolute;left:0;right:0;bottom:12px;height:28px;margin:0;text-align:center;font:700 1.35rem/1 'Caveat',cursive;max-width:none}
.srch-msg span{position:absolute;left:0;right:0}
.srch-msg .m1{color:#B4473E;animation:srM1 12s infinite}.srch-msg .m2{color:#3C503E;opacity:0;animation:srM2 12s infinite}
@keyframes srM1{0%,5%{opacity:0}9%,58%{opacity:1}64%,100%{opacity:0}}
@keyframes srM2{0%,66%{opacity:0}72%,93%{opacity:1}100%{opacity:0}}
.srch-cap{margin:8px 0 4px;font-size:.92rem;line-height:1.5;color:#2F3A37}
.srch-cap b{color:#B4473E;font-weight:700}
@media (max-width:560px){.srch{height:350px}.srch-q{font-size:.72rem;padding:8px 11px 8px 10px}.srch-guide{height:190px}}
@media (prefers-reduced-motion:reduce){.srch-q{display:none}.srch-guide,.srch-msg .m1,.srch-msg .m2{animation:none}.srch-guide{opacity:1;transform:translate(-50%,-50%)}.srch-msg .m1{opacity:0}.srch-msg .m2{opacity:1}}
@media (max-width:560px){.srch-q{font-size:.64rem;max-width:96%}}
.srch{background:#fff}

/* Before You Buy card: an example receipt prints out, the total gets circled, then a sticky note lands */
.rcpt{margin:14px 0 0}
.rcpt-in{position:relative;width:320px;max-width:100%;height:392px;margin:0 auto;overflow:hidden}
.rcpt .slot{position:absolute;left:8px;top:12px;width:214px;height:16px;border-radius:8px;background:#2F3A37;box-shadow:inset 0 4px 0 #1F2B2A;z-index:2}
.rcpt .feed{position:absolute;left:16px;top:20px;width:198px;height:360px;overflow:hidden}
.rcpt .paper{position:relative;padding:18px 12px 24px;background:#FFFEFA;color:#2B2B2B;font:600 .62rem/1.35 ui-monospace,'SF Mono',Menlo,'Courier New',monospace;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 10px 18px rgba(31,43,42,.18);transform:translateY(-100%);animation:rcPrint 11s steps(14) infinite;
  -webkit-mask:linear-gradient(#000,#000) 0 0/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at 50% 0,#000 90deg,transparent 0) 0 100%/12px 10px repeat-x;
          mask:linear-gradient(#000,#000) 0 0/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at 50% 0,#000 90deg,transparent 0) 0 100%/12px 10px repeat-x}
.rcpt .paper h3{margin:0;padding:0;background:none;text-align:center;font:800 .72rem/1.2 ui-monospace,'SF Mono',Menlo,monospace;letter-spacing:.12em;color:#2B2B2B}
.rcpt .paper p{max-width:none}
.rcpt .meta{text-align:center;font-size:.58rem;color:#6B6B6B;margin:3px 0 0}
.rcpt .dash{margin:8px 0;border-top:1.5px dashed #9A9A9A}
.rcpt .row{display:flex;align-items:baseline;gap:4px;margin:0 0 4px}
.rcpt .row .dots{flex:1;border-bottom:1.5px dotted #9A9A9A;transform:translateY(-3px)}
.rcpt .row b{font-weight:800}
.rcpt .tot{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-weight:800;font-size:.8rem;color:#B4473E}
.rcpt .amt{position:relative;display:inline-block}
.rcpt .ring{position:absolute;left:-18px;top:-12px;width:92px;height:42px;fill:none;stroke:#B4473E;stroke-width:3;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300;animation:rcRing 11s ease-out infinite}
.rcpt .tot2{margin:2px 0 0;text-align:right;font-weight:800;color:#B4473E}
.rcpt .bar{height:22px;margin:8px 6px 3px;background:repeating-linear-gradient(90deg,#2B2B2B 0 2px,transparent 2px 4px,#2B2B2B 4px 5px,transparent 5px 8px,#2B2B2B 8px 11px,transparent 11px 12px)}
.rcpt .thx{margin:0;text-align:center;font-size:.58rem;color:#6B6B6B}
.rcpt .ex{margin:4px 0 0;text-align:center;font-size:.54rem;color:#8A8A8A;text-transform:none;letter-spacing:0}
.rcpt .sticky{position:absolute;right:6px;top:136px;z-index:3;width:96px;padding:14px 8px 12px;background:#FBE38E;box-shadow:0 10px 16px rgba(0,0,0,.18);font:700 1.08rem/1.05 'Caveat',cursive;color:#1F2B2A;text-align:center;opacity:0;transform:rotate(14deg) translateY(30px) scale(.8);animation:rcSticky 11s ease-out infinite}
.rcpt .sticky .tape{position:absolute;top:-10px;left:50%;width:56px;height:20px;margin-left:-28px;background:rgba(255,255,255,.65);box-shadow:0 1px 2px rgba(0,0,0,.08);transform:rotate(-4deg)}
@keyframes rcPrint{0%,3%{transform:translateY(-100%)}40%,94%{transform:translateY(0)}100%{transform:translateY(-100%)}}
@keyframes rcRing{0%,42%{stroke-dashoffset:300}50%,93%{stroke-dashoffset:0}100%{stroke-dashoffset:300}}
@keyframes rcSticky{0%,52%{opacity:0;transform:rotate(14deg) translateY(30px) scale(.8)}58%{opacity:1;transform:rotate(5deg) scale(1.04)}61%,92%{opacity:1;transform:rotate(7deg)}98%,100%{opacity:0}}
.rcpt-cap{margin:8px 0 4px;font-size:.92rem;line-height:1.5;color:#2F3A37}
.rcpt-cap b{color:#B4473E;font-weight:700}
@media (prefers-reduced-motion:reduce){.rcpt .paper,.rcpt .ring,.rcpt .sticky{animation:none}.rcpt .paper{transform:none}.rcpt .ring{stroke-dashoffset:0}.rcpt .sticky{opacity:1;transform:rotate(7deg)}}
.rcpt-in{height:372px}
/* receipt headline: sits above the receipt and reads like a callout */
.rcpt-cap{margin:22px 0 2px;font:800 1.3rem/1.2 'DM Sans',sans-serif;color:#1F2B2A;text-align:center;max-width:none}
.rcpt-cap b{color:#B4473E;font-weight:800;background:linear-gradient(transparent 62%,#FBE38E 62% 92%,transparent 92%)}
.rcpt-cap span{display:block;margin-top:8px;font:600 .98rem/1.4 'DM Sans',sans-serif;color:#3F4A44}
.rcpt{margin-top:6px}
.rcpt-cap{margin-top:22px;padding-top:22px;border-top:2px dashed rgba(31,43,42,.18)}

/* free guide card art: the real gift card page slides out from behind the tablet, then a text to grandma pops up */
.fg{position:relative;display:block;width:100%;max-width:300px;height:230px;margin:6px 0 10px;border-radius:22px;background:#F6D9D6}
.fg-tab{position:absolute;left:14px;top:12px;width:auto!important;height:206px;margin:0!important;transform:rotate(-4deg)!important;box-shadow:none!important;border-radius:0!important;mix-blend-mode:multiply;z-index:2}
.fg-page{position:absolute;left:96px;top:24px;width:auto!important;height:170px;margin:0!important;border-radius:4px!important;box-shadow:0 8px 16px rgba(31,43,42,.2)!important;transform:rotate(2deg);z-index:1;animation:fgPage 9s ease-in-out infinite}
.fg-msg{position:absolute;right:8px;bottom:14px;z-index:3;max-width:150px;padding:9px 12px 8px;border-radius:16px 16px 4px 16px;background:#3C503E;color:#fff;font:600 .74rem/1.3 'DM Sans',sans-serif;box-shadow:0 8px 16px rgba(0,0,0,.2);opacity:0;transform:translateY(10px) scale(.85);transform-origin:100% 100%;animation:fgMsg 9s ease-out infinite}
.fg-msg small{display:block;margin:0 0 2px;font:700 .6rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#F1D08A}
.fg-spark{position:absolute;pointer-events:none}
.fg-spark svg{display:block;width:100%;height:100%;animation:twinkle 2.6s ease-in-out infinite}
.fg-spark.k1{right:22px;top:16px;width:24px;height:24px}.fg-spark.k1 svg{fill:#DDA03A}
.fg-spark.k2{right:58px;top:44px;width:12px;height:12px}.fg-spark.k2 svg{fill:#B4473E;animation-delay:.9s}
.free-card:hover .fg-page{animation-play-state:paused;transform:translateX(70px) rotate(8deg)}
@keyframes fgPage{0%,10%{transform:translateX(0) rotate(2deg)}28%,90%{transform:translateX(70px) rotate(8deg)}100%{transform:translateX(0) rotate(2deg)}}
@keyframes fgMsg{0%,32%{opacity:0;transform:translateY(10px) scale(.85)}38%{opacity:1;transform:translateY(-2px) scale(1.03)}42%,88%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateY(10px) scale(.85)}}
@media (prefers-reduced-motion:reduce){.fg-page,.fg-msg,.fg-spark svg{animation:none}.fg-page{transform:translateX(70px) rotate(8deg)}.fg-msg{opacity:1;transform:none}}
.fg-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.fg-chips i{font:700 .76rem/1 'DM Sans',sans-serif;font-style:normal;padding:7px 11px 6px;border-radius:999px;background:#F6D9D6;color:#86302A}
.fg-chips i::before{content:"✓ ";font-weight:800}
.fg .fg-tab{height:206px!important;max-width:none!important;max-height:none!important}.fg .fg-page{height:170px!important;max-width:none!important;max-height:none!important}.fg{overflow:hidden}

/* "Browse first, then plan": no pill, two big numbered steps joined by a hand drawn arrow */
.eq-pair{background:none;box-shadow:none;padding:0;gap:14px;margin:38px auto -6px;color:#1F2B2A;font:800 clamp(1.2rem,2.6vw,1.6rem)/1 'DM Sans',sans-serif;letter-spacing:.01em;text-transform:none;flex-wrap:wrap}
.eq-pair .st{display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;border-radius:0;background:none;color:#1F2B2A}
.eq-pair .st:last-child{color:#B4473E}
.eq-pair .n1,.eq-pair .n2{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;font:900 1.15rem/1 'DM Sans',sans-serif;color:#1F2B2A;box-shadow:0 3px 0 rgba(0,0,0,.12)}
.eq-pair .n1{background:#DDA03A}.eq-pair .n2{background:#E8939A}
.eq-pair .arr{width:74px;height:26px;fill:none;stroke:#3C503E;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 6}
.eq-pair .arr path:last-child{stroke-dasharray:none}
@media (max-width:560px){.eq-pair{gap:8px}.eq-pair .arr{width:46px}.eq-pair .n1,.eq-pair .n2{width:32px;height:32px;font-size:1rem}}

/* quiz card: a cursor taps "Jump on everything", then the phone screen turns into the matching list */
.fq-phone{overflow:hidden}
.fq-a.fq-pick{position:relative;padding-right:20px;animation:fqPick 9s infinite}
.fq-a.fq-pick::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;animation:fqCheck 9s infinite}
.fq-bar i:nth-child(n+3){animation:fqBar 9s infinite}
.fq-res{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;padding:10px 10px 12px;background:#fff;transform:translateX(105%);animation:fqRes 9s ease-in-out infinite}
.fq-res img{display:block;width:100%!important;height:92px!important;margin:0 0 8px!important;object-fit:cover;border-radius:10px!important;box-shadow:none!important;transform:none!important}
.fq-res small{display:block;font:700 1.05rem/1 'Caveat',cursive;color:#B4473E}
.fq-res b{display:block;margin:2px 0 8px;font:800 .9rem/1.1 'DM Sans',sans-serif;color:#1F2B2A}
.fq-see{align-self:flex-start;margin-top:auto;padding:6px 10px 5px;border-radius:999px;background:#B4473E;color:#fff;font:800 .6rem/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.fq-tap{position:absolute;left:140px;top:150px;z-index:4;width:28px;height:28px;pointer-events:none;opacity:0;animation:fqTap 9s ease-in-out infinite}
.fq-tap svg{position:relative;z-index:1;display:block;width:100%;height:100%;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.fq-tap .ring{position:absolute;left:-12px;top:-12px;width:28px;height:28px;border-radius:50%;border:3px solid #B4473E;opacity:0;animation:fqRing 9s ease-out infinite}
@keyframes fqPick{0%,28%{background:#F7F5F0;border-color:#E3DED3;color:#1F2B2A}31%,100%{background:#3C503E;border-color:#3C503E;color:#fff}}
@keyframes fqCheck{0%,29%{opacity:0}31%,100%{opacity:1}}
@keyframes fqBar{0%,38%{background:#E6E1D8}42%,100%{background:#B4473E}}
@keyframes fqRes{0%,38%{transform:translateX(105%)}46%,92%{transform:translateX(0)}98%,100%{transform:translateX(105%)}}
@keyframes fqTap{0%,6%{opacity:0;transform:translate(40px,40px)}12%{opacity:1}24%{transform:translate(0,0)}28%{transform:scale(.85)}31%{transform:scale(1)}36%{opacity:1}42%,100%{opacity:0;transform:translate(0,0)}}
@keyframes fqRing{0%,27%{opacity:0;transform:scale(.3)}29%{opacity:.9}38%,100%{opacity:0;transform:scale(1.6)}}
@media (prefers-reduced-motion:reduce){.fq-a.fq-pick,.fq-a.fq-pick::after,.fq-bar i,.fq-res,.fq-tap,.fq-tap .ring{animation:none}.fq-res{transform:none}.fq-tap{display:none}}

/* holiday guide section: a family group text with ready replies, and a battery that drains and refills (from the guide's pages 36, 17 and 56) */
.hgd{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:900px;margin:46px auto 0;padding:34px 26px 30px;border-radius:26px;background:#fff;box-shadow:0 10px 30px rgba(31,43,42,.1)}
.hgd-k{margin:0 0 14px;text-align:center;font:700 1.6rem/1 'Caveat',cursive;color:#B4473E;max-width:none}
.hgd-cap{margin:16px auto 0;max-width:340px;text-align:center;font:600 .95rem/1.45 'DM Sans',sans-serif;color:#2F3A37}
.hgd-cap b{color:#B4473E}
@media (max-width:860px){.hgd{grid-template-columns:1fr;padding:26px 14px}}

.hgd /* 1. a real looking group text */
.phone{position:relative;width:300px;height:560px;margin:0 auto;border-radius:44px;background:#111;padding:12px;box-shadow:0 18px 36px rgba(0,0,0,.25)}
.hgd .screen{position:relative;height:100%;border-radius:34px;background:#fff;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Arial,sans-serif}
.hgd .notch{position:absolute;left:50%;top:8px;width:90px;height:24px;margin-left:-45px;border-radius:14px;background:#111;z-index:3}
.hgd .status{display:flex;justify-content:space-between;padding:12px 22px 0;font-size:.72rem;font-weight:600;color:#000}
.hgd .batt{display:inline-flex;align-items:center;gap:4px}
.hgd .batt b{color:#FF3B30;font-weight:700}
.hgd .bico{position:relative;display:inline-block;width:22px;height:11px;border:1.5px solid #8E8E93;border-radius:3px;padding:1px}
.hgd .bico::after{content:"";position:absolute;right:-4px;top:3px;width:2px;height:4px;border-radius:0 1px 1px 0;background:#8E8E93}
.hgd .bico i{display:block;width:12%;min-width:3px;height:100%;border-radius:1px;background:#FF3B30}
.hgd .head{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 0 10px;border-bottom:1px solid #E5E5EA;background:#F7F7F8}
.hgd .av{display:flex}
.hgd .av span{width:30px;height:30px;margin-left:-8px;border-radius:50%;border:2px solid #F7F7F8;display:grid;place-items:center;color:#fff;font-size:.66rem;font-weight:700}
.hgd .av span:nth-child(1){background:#C97966;margin-left:0}
.hgd .av span:nth-child(2){background:#7E9370}
.hgd .av span:nth-child(3){background:#DDA03A}
.hgd .head b{font-size:.74rem;font-weight:600;color:#000}
.hgd .thread{position:absolute;left:0;right:0;top:118px;bottom:46px;padding:10px 12px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;overflow:hidden}
.hgd .msg{max-width:74%;padding:7px 12px 8px;border-radius:18px;font-size:.82rem;line-height:1.3;opacity:0;animation:hgdMsgIn 18s infinite;animation-delay:var(--t)}
.hgd .msg.in{align-self:flex-start;background:#E9E9EB;color:#000;border-bottom-left-radius:5px}
.hgd .msg.out{align-self:flex-end;background:#0B84FF;color:#fff;border-bottom-right-radius:5px;margin-bottom:6px}
.hgd .who{align-self:flex-start;margin:6px 0 1px 12px;font-size:.62rem;color:#8E8E93;opacity:0;animation:hgdMsgIn 18s infinite;animation-delay:var(--t)}
.hgd .typing{align-self:flex-end;display:flex;gap:4px;padding:10px 12px;border-radius:18px;background:#E9E9EB;opacity:0;height:0;margin:0;overflow:hidden;animation:hgdTyping 18s infinite;animation-delay:var(--t)}
.hgd .typing i{width:7px;height:7px;border-radius:50%;background:#8E8E93;animation:hgdBlinkDot 1s infinite}
.hgd .typing i:nth-child(2){animation-delay:.15s}
.hgd .typing i:nth-child(3){animation-delay:.3s}
.hgd .read{align-self:flex-end;margin:-4px 4px 0 0;font-size:.6rem;color:#8E8E93;opacity:0;animation:hgdReadIn 14s infinite}

@keyframes hgdReadIn{0%,66%{opacity:0}68%,93%{opacity:1}97%,100%{opacity:0}}
.hgd .bar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:8px}
.hgd .bar span{flex:1;height:28px;border:1px solid #D1D1D6;border-radius:16px;padding:0 12px;display:flex;align-items:center;font-size:.72rem;color:#C7C7CC}
.hgd .bar i{width:26px;height:26px;border-radius:50%;background:#0B84FF;display:grid;place-items:center;color:#fff;font-style:normal;font-size:.8rem;font-weight:700}

@keyframes hgdMsgIn{0%{opacity:0;transform:translateY(8px)}2%,94%{opacity:1;transform:none}98%,100%{opacity:0}}

@keyframes hgdTyping{0%{opacity:0;height:0;margin:0}1%,9%{opacity:1;height:27px;margin:4px 0}11%,100%{opacity:0;height:0;margin:0}}

@keyframes hgdBlinkDot{0%,100%{opacity:.35}50%{opacity:1}}
.hgd .borrow{display:block;text-align:center;margin:18px 0 0;font:700 1.5rem/1 'Caveat',cursive;color:#B4473E}
.hgd /* 2. battery with pictures */
.bat{padding:6px 0 0}
.hgd .bat .row3{display:grid;grid-template-columns:1fr 150px 1fr;gap:12px;align-items:center}
.hgd .bat h3{margin:0 0 10px;text-align:center;font:800 .74rem/1 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.hgd .bat .drains h3{color:#B4473E}
.hgd .bat .fills h3{color:#5E7A56}
.hgd .bat .it{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 12px;padding:10px 6px 9px;border-radius:16px;border:2px solid #EFEBE3;background:#fff;text-align:center;font:700 .76rem/1.2 'DM Sans',sans-serif;color:#1F2B2A;opacity:.28;filter:grayscale(1);animation:hgdItOn 14s infinite;animation-delay:var(--t)}
.hgd .bat .it .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.hgd .bat .drains .ic{background:#F6D9D6}
.hgd .bat .fills .ic{background:#DCEBDD}
.hgd .bat .it svg{width:26px;height:26px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hgd .bat .drains svg{stroke:#B4473E}
.hgd .bat .fills svg{stroke:#3C503E}
.hgd .bat .drains .it{--on:#B4473E}
.hgd .bat .fills .it{--on:#5E7A56}
.hgd .cell{position:relative;width:96px;height:210px;margin:0 auto;border:6px solid #1F2B2A;border-radius:20px;padding:7px;display:flex;flex-direction:column-reverse;gap:6px}
.hgd .cell::before{content:"";position:absolute;top:-16px;left:50%;width:36px;height:10px;margin-left:-18px;border-radius:5px 5px 0 0;background:#1F2B2A}
.hgd .cell b{flex:1;border-radius:6px;background:#E9E5DC}
.hgd .cell b:nth-child(1){animation:hgdS1 14s infinite}
.hgd .cell b:nth-child(2){animation:hgdS2 14s infinite}
.hgd .cell b:nth-child(3){animation:hgdS3 14s infinite}
.hgd .cell b:nth-child(4){animation:hgdS4 14s infinite}
.hgd .cell b:nth-child(5){animation:hgdS5 14s infinite}
.hgd .face{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);display:grid;place-items:center}
.hgd .face svg{width:32px;height:32px;fill:none;stroke:#1F2B2A;stroke-width:2.2;stroke-linecap:round}
.hgd .face .m{animation:hgdMouth 14s infinite}
.hgd .pct{margin:12px 0 0;text-align:center;font:900 1.4rem/1 'DM Sans',sans-serif;color:#1F2B2A}
.hgd .pct span{display:none}
.hgd .lbl{position:relative;height:16px;text-align:center;font:800 .72rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.hgd .lbl span{position:absolute;left:0;right:0;opacity:0}
.hgd .lbl .a{color:#5E7A56;animation:hgdLa 14s infinite}
.hgd .lbl .b{color:#C98A1E;animation:hgdLb 14s infinite}
.hgd .lbl .c{color:#B4473E;animation:hgdLc 14s infinite}
.hgd .zap{position:absolute;width:20px;height:20px;opacity:0}

@keyframes hgdItOn{0%{opacity:.28;filter:grayscale(1);border-color:#EFEBE3;transform:none}3%,90%{opacity:1;filter:none;border-color:var(--on);transform:scale(1.03)}6%,90%{transform:none}96%,100%{opacity:.28;filter:grayscale(1);border-color:#EFEBE3}}
/* five segments, top one (5) goes first */

@keyframes hgdS5{0%,8%{background:#5E7A56}10%,62%{background:#E9E5DC}64%,100%{background:#5E7A56}}

@keyframes hgdS4{0%,8%{background:#5E7A56}9%,20%{background:#DDA03A}22%,72%{background:#E9E5DC}74%,100%{background:#5E7A56}}

@keyframes hgdS3{0%,8%{background:#5E7A56}9%,20%{background:#DDA03A}22%,32%{background:#DDA03A}34%,56%{background:#E9E5DC}58%,100%{background:#5E7A56}}

@keyframes hgdS2{0%,8%{background:#5E7A56}9%,32%{background:#DDA03A}34%,44%{background:#B4473E}46%,52%{background:#E9E5DC}54%,100%{background:#5E7A56}}

@keyframes hgdS1{0%,8%{background:#5E7A56}9%,32%{background:#DDA03A}34%,52%{background:#B4473E}54%,100%{background:#5E7A56}}

@keyframes hgdLa{0%,8%{opacity:1}10%,62%{opacity:0}66%,100%{opacity:1}}

@keyframes hgdLb{0%,8%{opacity:0}10%,32%{opacity:1}34%,100%{opacity:0}}

@keyframes hgdLc{0%,32%{opacity:0}34%,62%{opacity:1}66%,100%{opacity:0}}

@keyframes hgdMouth{0%,20%{d:path("M9 19c2 3 12 3 14 0")}24%,36%{d:path("M9 21h14")}40%,58%{d:path("M9 23c2-3 12-3 14 0")}64%,100%{d:path("M9 19c2 3 12 3 14 0")}}
@media (max-width:520px){.hgd .bat .row3{grid-template-columns:1fr 112px 1fr;gap:8px}.hgd .cell{width:76px;height:180px}.hgd .bat .it{font-size:.68rem}}
@media (prefers-reduced-motion:reduce){.hgd *{animation:none!important}.hgd .msg,.hgd .who,.hgd .read,.hgd .it{opacity:1!important;filter:none!important}.hgd .typing{display:none}}

/* holiday guide button: guide thumbnail, two line label, bouncing arrow, sweeping shine and sparkles */
.hg-cta{position:relative;display:inline-flex;align-items:center;gap:14px;max-width:100%;margin-top:16px;padding:10px 12px 10px 10px;border-radius:22px;text-decoration:none;color:#fff;text-align:left;
  background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%) 130% 0/260% 100% no-repeat,linear-gradient(135deg,#C2564A,#A63D35);
  box-shadow:0 6px 0 #86302A,0 14px 26px rgba(134,48,42,.35);animation:hgShine 3.4s ease-in-out infinite;transition:transform .2s,box-shadow .2s}
.hg-cta:hover{transform:translateY(-3px);box-shadow:0 9px 0 #86302A,0 18px 30px rgba(134,48,42,.4)}
.hg-cta:active{transform:translateY(3px);box-shadow:0 3px 0 #86302A,0 8px 16px rgba(134,48,42,.3)}
.hg-cta:focus-visible{outline:3px dashed #1F2B2A;outline-offset:4px}
.hg-cta-ico{flex:0 0 58px;width:58px;height:58px;border-radius:16px;background:#FBF7F1;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 3px #F1D08A;transform:rotate(-4deg);transition:transform .3s}
.hg-cta-ico img{width:120%!important;height:auto!important;max-width:none!important;margin:0!important;box-shadow:none!important;border-radius:0!important}
.hg-cta:hover .hg-cta-ico{transform:rotate(4deg) scale(1.06)}
.hg-cta-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.hg-cta-txt b{font:800 1.12rem/1.15 'DM Sans',sans-serif;letter-spacing:.01em;color:#fff}
.hg-cta-txt small{font:600 .78rem/1.3 'DM Sans',sans-serif;color:#FBE3CF}
.hg-cta-arr{flex:0 0 44px;width:44px;height:44px;margin-left:6px;border-radius:50%;background:#F1D08A;display:grid;place-items:center;animation:hgNudge 1.6s ease-in-out infinite}
.hg-cta-arr svg{width:22px;height:22px;fill:none;stroke:#86302A;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.hg-cta-spark{position:absolute;pointer-events:none}
.hg-cta-spark svg{display:block;width:100%;height:100%;fill:#DDA03A;animation:twinkle 2.4s ease-in-out infinite}
.hg-cta-spark.s1{right:-10px;top:-14px;width:24px;height:24px}
.hg-cta-spark.s2{left:-8px;bottom:-10px;width:14px;height:14px}.hg-cta-spark.s2 svg{fill:#7E9370;animation-delay:1s}
@keyframes hgShine{0%,55%{background-position:130% 0,0 0}100%{background-position:-30% 0,0 0}}
@keyframes hgNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.hg-cta,.hg-cta-arr,.hg-cta-spark svg{animation:none}}
@media (max-width:520px){.hg-cta{gap:10px;padding:9px 10px 9px 9px}.hg-cta-ico{flex-basis:48px;width:48px;height:48px}.hg-cta-txt b{font-size:.98rem}.hg-cta-txt small{font-size:.7rem}.hg-cta-arr{flex-basis:38px;width:38px;height:38px}}
.hgd-cta{grid-column:1 / -1;display:flex;justify-content:center;margin-top:4px}
.hgd-cta .hg-cta{margin-top:0}
/* holiday guide button: the tablet cover sits half outside the button, tilted */
.hg-cta{padding-left:96px;margin-left:18px;overflow:visible}
.hg-cta-tab{position:absolute;left:-22px;top:50%;width:96px!important;height:auto!important;max-width:none!important;margin:0!important;transform:translateY(-58%) rotate(-12deg)!important;clip-path:inset(1% round 13%);filter:drop-shadow(0 10px 14px rgba(0,0,0,.3));box-shadow:none!important;border-radius:0!important;transition:transform .3s;z-index:2}
.hg-cta:hover .hg-cta-tab{transform:translateY(-62%) rotate(-6deg) scale(1.05)!important}
@media (max-width:520px){.hg-cta{padding-left:76px;margin-left:14px}.hg-cta-tab{width:78px!important;left:-18px}}
.hg-cta{margin-top:40px}.hgd-cta{margin-top:34px}.hgd-cta .hg-cta{margin-top:0}
/* tighter gaps: under the two home resources, and under the email signup */
#resources{padding-bottom:28px}
#free{padding-top:36px}
#signup{padding-bottom:30px}
#signup .fine{margin-bottom:0}

/* Equipment Guide button: product drawings from the guide roll across the top */
.eqr{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:14px;padding:14px 16px 16px;border-radius:22px;text-decoration:none;background:#3C503E;color:#fff;box-shadow:0 6px 0 #27382A,0 14px 26px rgba(39,56,42,.35);transition:transform .2s,box-shadow .2s}
.eqr:hover{transform:translateY(-3px);box-shadow:0 9px 0 #27382A,0 18px 30px rgba(39,56,42,.4)}
.eqr:active{transform:translateY(3px);box-shadow:0 3px 0 #27382A,0 8px 16px rgba(39,56,42,.3)}
.eqr:focus-visible{outline:3px dashed #1F2B2A;outline-offset:4px}
.eqr-strip{width:100%;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.eqr-track{display:flex;gap:12px;width:max-content;animation:eqrRoll 24s linear infinite}
.eqr:hover .eqr-track{animation-play-state:paused}
.eqr-tile{flex:0 0 auto;width:62px;height:62px;padding:5px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.eqr-tile img{width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:contain;box-shadow:none!important;border-radius:0!important;transform:none!important}
.eqr b{font:800 1.12rem/1.15 'DM Sans',sans-serif;text-align:center}
.eqr b::after{content:" →";color:#F1D08A}
@keyframes eqrRoll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.eqr-track{animation:none}}
@media (max-width:520px){.eqr-tile{width:54px;height:54px}.eqr b{font-size:1rem}}
.eqr{min-width:0;max-width:100%;box-sizing:border-box}.eqr-strip{min-width:0;max-width:100%;contain:inline-size}

/* quiz box: a cursor taps "Jump on everything", then the answers turn into the matching list */
.qt-stage{position:relative;display:block}
.qt-stage .qt-q,.qt-stage .qt-picks{animation:qtHide 9s ease-in-out infinite}
.qt-picks i.qt-pick{position:relative;animation:qtPick 9s infinite}
.qt-picks i.qt-pick::after{content:"";display:inline-block;width:11px;height:11px;margin-left:7px;vertical-align:-1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;animation:qtCheck 9s infinite}
.qt-tap{position:absolute;right:6px;top:55%;z-index:3;width:28px;height:28px;pointer-events:none;opacity:0;animation:qtTap 9s ease-in-out infinite}
.qt-tap svg{position:relative;z-index:1;display:block;width:100%;height:100%;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.qt-tap .ring{position:absolute;left:-12px;top:-12px;width:28px;height:28px;border-radius:50%;border:3px solid #B4473E;opacity:0;animation:qtRing 9s ease-out infinite}
.qt-res{position:absolute;left:0;right:0;top:50%;display:flex;align-items:center;gap:14px;padding:10px;border-radius:16px;background:#FBEBC8;opacity:0;transform:translateY(-50%) translateX(30px);pointer-events:none;animation:qtRes 9s ease-in-out infinite}
.qt-res img{flex:0 0 96px;width:96px!important;height:76px!important;margin:0!important;object-fit:cover;border-radius:10px!important;box-shadow:none!important}
.qt-res small{display:block;font:700 1.15rem/1 'Caveat',cursive;color:#B4473E}
.qt-res b{display:block;margin:2px 0 3px;font:800 1.1rem/1.15 'DM Sans',sans-serif;color:#1F2B2A}
.qt-res em{display:block;font:600 .82rem/1.35 'DM Sans',sans-serif;font-style:normal;color:#3F4A44}
@keyframes qtPick{0%,28%{background:#F3F1EC;border-color:#E3DED3;color:#1F2B2A}31%,100%{background:#3C503E;border-color:#3C503E;color:#fff}}
@keyframes qtCheck{0%,29%{opacity:0}31%,100%{opacity:1}}
@keyframes qtTap{0%,6%{opacity:0;transform:translate(40px,30px)}12%{opacity:1}24%{transform:translate(0,0)}28%{transform:scale(.85)}31%{transform:scale(1)}36%{opacity:1}42%,100%{opacity:0;transform:translate(0,0)}}
@keyframes qtRing{0%,27%{opacity:0;transform:scale(.3)}29%{opacity:.9}38%,100%{opacity:0;transform:scale(1.6)}}
@keyframes qtHide{0%,40%{opacity:1}46%,90%{opacity:0}96%,100%{opacity:1}}
@keyframes qtRes{0%,42%{opacity:0;transform:translateY(-50%) translateX(30px)}50%,90%{opacity:1;transform:translateY(-50%)}96%,100%{opacity:0;transform:translateY(-50%) translateX(30px)}}
@media (prefers-reduced-motion:reduce){.qt-stage .qt-q,.qt-stage .qt-picks,.qt-picks i.qt-pick,.qt-picks i.qt-pick::after,.qt-tap,.qt-tap .ring,.qt-res{animation:none}.qt-tap,.qt-res{display:none}}
@media (max-width:760px){.qt-res img{flex-basis:76px;width:76px!important;height:62px!important}.qt-res b{font-size:.98rem}.qt-res em{font-size:.74rem}}

/* hero button: three list photos fanned out of the left edge, big label, bouncing down arrow */
.hero-cta{position:relative;display:inline-flex;align-items:center;gap:16px;margin:30px auto 0 40px;padding:16px 14px 16px 120px;border-radius:24px;text-decoration:none;color:#fff;
  background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%) 130% 0/260% 100% no-repeat,linear-gradient(135deg,#C2564A,#A63D35);
  box-shadow:0 6px 0 #86302A,0 16px 30px rgba(134,48,42,.35);animation:hgShine 3.4s ease-in-out infinite;transition:transform .2s,box-shadow .2s}
.hero-cta:hover{transform:translateY(-3px);box-shadow:0 9px 0 #86302A,0 20px 34px rgba(134,48,42,.4)}
.hero-cta:active{transform:translateY(3px);box-shadow:0 3px 0 #86302A,0 8px 16px rgba(134,48,42,.3)}
.hero-cta:focus-visible{outline:3px dashed #1F2B2A;outline-offset:4px}
.hero-cta b{font:800 1.45rem/1.1 'DM Sans',sans-serif;letter-spacing:.01em}
.hc-fan{position:absolute;left:-34px;top:50%;width:140px;height:100px;transform:translateY(-50%)}
.hc-fan img{position:absolute;left:0;top:0;width:96px!important;height:76px!important;max-width:none!important;margin:0!important;object-fit:cover;border:4px solid #fff;border-radius:8px!important;box-shadow:0 8px 16px rgba(0,0,0,.25)!important;transition:transform .35s}
.hc-fan .f1{transform:translate(4px,18px) rotate(-16deg)!important}
.hc-fan .f2{transform:translate(26px,4px) rotate(-4deg)!important}
.hc-fan .f3{transform:translate(48px,16px) rotate(10deg)!important;animation:hcPeek 4s ease-in-out infinite}
.hero-cta:hover .hc-fan .f1{transform:translate(-4px,20px) rotate(-22deg)!important}
.hero-cta:hover .hc-fan .f3{transform:translate(58px,12px) rotate(16deg)!important}
.hc-arr{animation:hcBounce 1.4s ease-in-out infinite}
@keyframes hcBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@keyframes hcPeek{0%,70%,100%{translate:0 0}80%{translate:0 -6px}}
@media (prefers-reduced-motion:reduce){.hero-cta,.hc-arr,.hc-fan .f3{animation:none}}
@media (max-width:560px){.hero-cta{margin-left:30px;padding:14px 12px 14px 96px;gap:10px}.hero-cta b{font-size:1.18rem}.hc-fan{left:-28px;width:112px}.hc-fan img{width:76px!important;height:60px!important}}
@media (max-width:560px){.hero-cta b{font-size:1.06rem;white-space:nowrap}.hero-cta{padding-left:88px}}
@media (max-width:560px){.hero-cta{padding-left:100px;margin-left:24px}.hero-cta b{font-size:1rem}.hc-fan{left:-26px}.hc-fan img{width:68px!important;height:54px!important}}
.eyebrow.eyebrow-lg{font-size:clamp(2.4rem,5vw,3.2rem);padding-bottom:12px}
.quiz-teaser .go{font-size:1.25rem;padding:20px 30px 19px;letter-spacing:.05em}@media (max-width:760px){.quiz-teaser .go{font-size:1.12rem;padding:18px 22px 17px}}
/* Equipment Guide button: white with a green outline instead of solid green */
.eqr{background:#fff;color:#3C503E;border:3px solid #3C503E;box-shadow:0 5px 0 #3C503E,0 12px 24px rgba(31,43,42,.12)}
.eqr:hover{box-shadow:0 8px 0 #3C503E,0 16px 28px rgba(31,43,42,.16)}
.eqr:active{box-shadow:0 2px 0 #3C503E,0 6px 12px rgba(31,43,42,.12)}
.eqr b::after{color:#B4473E}
.eqr-tile{border:1.5px solid #E6E1D8;box-shadow:none}
/* the two resource cards: no colored edge along the bottom */
.res.res-eq,.res.res-byb{box-shadow:0 10px 30px rgba(31,43,42,.1)}
.eqr{container-type:inline-size}.eqr b{font-size:clamp(1rem,5.4cqi,1.75rem);line-height:1.1;letter-spacing:0}
/* Before You Buy button: same build as the holiday button, in pine green with the Before You Buy tablet */
.hg-cta.byb-cta{display:flex;margin:40px 0 0 22px;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.3) 50%,transparent 60%) 130% 0/260% 100% no-repeat,linear-gradient(135deg,#4F6A52,#33473A);box-shadow:0 6px 0 #22322A,0 14px 26px rgba(34,50,42,.35)}
.hg-cta.byb-cta:hover{box-shadow:0 9px 0 #22322A,0 18px 30px rgba(34,50,42,.4)}
.hg-cta.byb-cta:active{box-shadow:0 3px 0 #22322A,0 8px 16px rgba(34,50,42,.3)}
.hg-cta.byb-cta .hg-cta-tab{clip-path:none;filter:drop-shadow(0 10px 14px rgba(0,0,0,.3))}
.hg-cta.byb-cta .hg-cta-txt{flex:1}
.hg-cta.byb-cta .hg-cta-arr svg{stroke:#22322A}
/* every button's label uses DM Sans */
.btn,a.btn,button,.go,.hg-cta-txt b,.hero-cta b,.eqr b,.fq-see,.qt-kick,.add-list,.wl-fab,.btb-form button,.quiz-teaser .go,.free-card .go,.res .btn,.pk-dd-btn,.btn-hero,.btn-mail span{font-family:'DM Sans',sans-serif!important;font-weight:700!important}
.eqr b{font-size:clamp(.95rem,4.8cqi,1.6rem)!important;white-space:nowrap}

/* gift cards: "See options" is a gold pill with a shopping cart */
.product .card-actions .go{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:10px 16px 9px 12px;border-radius:999px;background:#DDA03A;color:#1F2B2A;font-size:.88rem!important;letter-spacing:.02em;text-transform:none;text-decoration:none;white-space:nowrap;box-shadow:0 3px 0 #B07E2A;transition:transform .15s,box-shadow .15s}
.product .card-actions .go::before{content:"";flex:0 0 18px;width:18px;height:18px;background:#1F2B2A;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h2.5l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h7.9a1.5 1.5 0 0 0 1.5-1.1L20.5 8H6.4' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='19.5' r='1.6'/%3E%3Ccircle cx='17' cy='19.5' r='1.6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h2.5l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h7.9a1.5 1.5 0 0 0 1.5-1.1L20.5 8H6.4' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='19.5' r='1.6'/%3E%3Ccircle cx='17' cy='19.5' r='1.6'/%3E%3C/svg%3E") center/contain no-repeat}
.product .card-actions a.go:hover,.product .card-actions a.go[href]:hover{transform:translateY(-2px);box-shadow:0 5px 0 #B07E2A;text-decoration:none}
.product .card-actions a.go:active{transform:translateY(2px);box-shadow:0 1px 0 #B07E2A}
.product .card-actions a.go:focus-visible{outline:2px dashed #1F2B2A;outline-offset:3px}
/* keep the resource cards inside the page on phones (Before You Buy card was hanging off the right) */
.res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.res-grid>*{min-width:0}
@media (max-width:1000px){.res-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.srch{margin:12px -12px 0}.srch-q{font-size:.6rem}}
/* free guide card: real iPad image plus one summary bubble (no sliding page) */
.fg{background:#fff;border:2px solid #F6D9D6;box-sizing:border-box}
.fg .fg-tab{left:50%;top:50%;height:212px!important;mix-blend-mode:normal;transform:translate(-62%,-50%) rotate(-3deg)!important}
.fg-msg{right:10px;bottom:16px;max-width:148px;background:#B4473E;animation:fgMsg2 7s ease-out infinite}
.fg-msg small{color:#FBE3B0}
@keyframes fgMsg2{0%,8%{opacity:0;transform:translateY(12px) scale(.8)}15%{opacity:1;transform:translateY(-3px) scale(1.04)}19%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:translateY(12px) scale(.8)}}
@media (prefers-reduced-motion:reduce){.fg-msg{animation:none;opacity:1;transform:none}}
/* ===== "Show me what's inside" dropdowns ===== */
.dd{margin:18px 0 6px;width:100%;--dc:#B4473E;--dt:#FBEDEB;--dd:#86302A}
.dd-btn{position:relative;display:flex;align-items:center;gap:14px;width:100%;max-width:620px;margin:0 auto;box-sizing:border-box;padding:18px 18px 18px 22px;border:3px solid var(--dc);border-radius:22px;background:var(--dt);color:var(--dd);box-shadow:0 6px 0 var(--dc);cursor:pointer;list-style:none;text-align:left;font:700 1.32rem/1.2 'DM Sans',sans-serif;letter-spacing:-.01em;transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.dd-btn::-webkit-details-marker{display:none}.dd-btn::marker{content:""}
.dd-btn:hover{transform:translateY(-3px);box-shadow:0 9px 0 var(--dc)}
.dd-btn:active{transform:translateY(3px);box-shadow:0 3px 0 var(--dc)}
.dd-btn:focus-visible{outline:3px dashed var(--dd);outline-offset:4px}
.dd-txt{flex:1;min-width:0}
.dd-o{display:none}
.dd[open] .dd-c{display:none}.dd[open] .dd-o{display:inline}
.dd[open] .dd-btn{font-size:1.05rem;padding-top:12px;padding-bottom:12px}
.dd-spark{flex:0 0 26px;width:26px;height:26px;fill:#DDA03A;animation:twinkle 2.4s ease-in-out infinite}
.dd-chev{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--dc);animation:ddNudge 1.8s ease-in-out infinite}
.dd-chev svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.dd[open] .dd-chev{animation:none}.dd[open] .dd-chev svg{transform:rotate(180deg)}
@keyframes ddNudge{0%,55%,100%{transform:none}70%{transform:translateY(5px)}85%{transform:translateY(-1px)}}
.dd-body{padding-top:18px;animation:ddIn .35s ease-out}
@keyframes ddIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.dd-red{--dc:#B4473E;--dt:#FBEDEB;--dd:#86302A}
.dd-green,.dd-pine{--dc:#3C503E;--dt:#EEF3EA;--dd:#2F4A3A}
.dd-gold{--dc:#DDA03A;--dt:#FFF6E2;--dd:#7A5410}
.dd-gold .dd-spark{fill:#B4473E}
.dd-hol{margin-top:34px}
.dd-hol .hg-blobs{max-width:520px;margin:0 auto 10px}
.dd-free{max-width:940px;margin:30px auto 0}.dd-free .free-grid{margin-top:12px}
.res .dd{margin:14px 0 18px}.res .dd-btn{font-size:1.18rem}
@media (max-width:560px){.dd-btn{font-size:1.12rem;gap:10px;padding:15px 12px 15px 14px;border-radius:18px}.res .dd-btn{font-size:1.06rem}.dd-spark{flex-basis:20px;width:20px;height:20px}.dd-chev{flex-basis:38px;width:38px;height:38px}}
@media (prefers-reduced-motion:reduce){.dd-chev,.dd-spark,.dd-body{animation:none}}
.eq-start{display:block;text-align:left}.eq-start svg{display:inline-block;vertical-align:-5px;margin-right:6px}.eq-start span{display:inline}
.dd-green,.dd-pine{--dc:#D99A1E;--dt:#FFE38A;--dd:#4A3304}.dd-green .dd-spark,.dd-pine .dd-spark{fill:#B4473E}
.res .eq-start{margin-left:0;margin-right:0;max-width:none}
/* dropdowns: plain bold arrow (no circle), bigger sparkle */
.dd-chev{flex:0 0 40px;width:40px;height:40px;background:none;border-radius:0}
.dd-chev svg{width:40px;height:40px;stroke:var(--dd);stroke-width:3.2}
.dd-spark{flex:0 0 36px;width:36px;height:36px}
@media (max-width:560px){.dd-chev{flex-basis:34px;width:34px;height:34px}.dd-chev svg{width:34px;height:34px}.dd-spark{flex-basis:30px;width:30px;height:30px}}
.dd-spark{flex:0 0 40px;width:40px;height:40px;animation:ddTwinkle 2.4s ease-in-out infinite}
@keyframes ddTwinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.85) rotate(20deg)}}
@media (max-width:560px){.dd-spark{flex-basis:34px;width:34px;height:34px}}
@media (prefers-reduced-motion:reduce){.dd-spark{animation:none}}
/* "Tap to open" label above the dropdown arrow */
.dd-chev{flex:0 0 auto;width:auto;height:auto;display:flex;flex-direction:column;align-items:center;gap:2px}
.dd-chev::before{content:"Tap to open";white-space:nowrap;font:800 .68rem/1 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--dd)}
.dd[open] .dd-chev::before{content:"Tap to close"}
.dd-chev svg{width:34px;height:34px}
@media (max-width:560px){.dd-chev{width:auto;height:auto}.dd-chev::before{font-size:.6rem}.dd-chev svg{width:30px;height:30px}}
@media (max-width:600px){.gifts .gift .pic{flex-basis:124px;width:124px;height:144px}.gifts .gift{padding:10px}.gifts .gift .body{gap:8px;padding-top:6px;padding-bottom:6px}.gifts .gift h3{font-size:1.06rem}}
/* ===== category banners: the button animation, looping between the title and subtitle ===== */
.hero-fx .fx{position:absolute;bottom:0;pointer-events:none}
.hero-fx .fx{left:calc(100% + 16px);width:100px;height:64px}
.hero-fx .sm{position:absolute;bottom:0;width:26%;height:36%;border-radius:3px;transition:transform .5s cubic-bezier(.5,0,.3,1),opacity .3s .3s}
.hero-fx .sm::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:22%;margin-left:-11%;background:rgba(255,255,255,.7)}
.hero-fx .s1{left:0;background:#748C6C}
.hero-fx .s2{left:37%;background:#7494AC}
.hero-fx .s3{right:0;background:#C97966}
.hero-fx .big{position:absolute;left:12%;bottom:0;width:76%;height:100%;opacity:0;transform:scale(.3);transform-origin:50% 100%;transition:transform .45s cubic-bezier(.3,1.6,.5,1) .5s,opacity .1s .5s}
.hero-fx.on .s1{transform:translateX(140%);opacity:0}
.hero-fx.on .s3{transform:translateX(-140%);opacity:0}
.hero-fx.on .s2{opacity:0}
.hero-fx.on .big{opacity:1;transform:none}
.hero-fx .fx svg{display:block;width:100%;height:100%;overflow:visible}
.hero-fx .fx *{transform-box:fill-box}
.hero-fx.on .fx-ladder .rail{opacity:1}
.hero-fx.on .fx-ladder .rung{animation:rungin .2s ease-out forwards}
.hero-fx.on .fx-ladder .g1{animation-delay:.1s}
.hero-fx.on .fx-ladder .g2{animation-delay:.25s}
.hero-fx.on .fx-ladder .g3{animation-delay:.4s}
.hero-fx.on .fx-ladder .g4{animation-delay:.55s}
.hero-fx.on .fx-house svg{opacity:1;transform:none}
.hero-fx.on .fx-house .win{fill:#F0C878}
.hero-fx.on .fx-house .puff{animation:chimney 1.4s ease-out .5s infinite}
.hero-fx.on .fx-house .p2{animation-delay:.9s}
.hero-fx.on .fx-push .floor{opacity:1}
.hero-fx.on .fx-push .box{animation:pushbox .7s cubic-bezier(.4,0,.3,1) forwards}
.hero-fx.on .fx-push .dust{animation:dust .5s ease-out .35s}
.hero-fx.on .fx-push .d2{animation-delay:.45s}
.hero-fx.on .fx-stock .sock{opacity:1;transform:none}
.hero-fx.on .fx-stock .i1{animation:peek .35s cubic-bezier(.3,1.6,.5,1) .25s forwards}
.hero-fx.on .fx-stock .i2{animation:peek .35s cubic-bezier(.3,1.6,.5,1) .45s forwards}
.hero-fx.on .fx-pik svg{animation:pikup .45s cubic-bezier(.3,1.6,.5,1) forwards}
.hero-fx.on .fx-tramp svg{opacity:1;transform:none}
.hero-fx.on .fx-tramp .ball{animation:trampball .8s cubic-bezier(.5,0,.5,1) .2s infinite}
.hero-fx.on .fx-tramp .mat{animation:trampmat .8s ease-out .2s infinite}
.hero-fx.on .fx-tramp svg{opacity:1;transform:none}
.hero-fx.on .fx-tramp .ball{animation:trampball .8s cubic-bezier(.5,0,.5,1) .2s infinite}
.hero-fx.on .fx-tramp .mat{animation:trampmat .8s ease-out .2s infinite}
.hero-fx.on .fx-lego .b1,.hero-fx.on .fx-lego .b2{opacity:1;transform:none}
.hero-fx.on .fx-lego .b3{animation:legodrop .35s ease-in .4s forwards}
.hero-fx.on .fx-lego .clk{animation:legoclick .35s ease-out .75s}
.hero-fx{display:flex;justify-content:center;margin:10px auto 6px;height:96px}
.hero-fx .fx{position:relative;left:auto;right:auto;bottom:auto;display:block;width:150px;height:96px}
@media (max-width:700px){.hero-fx{height:76px}.hero-fx .fx{width:118px;height:76px}}
@media (prefers-reduced-motion:reduce){.hero-fx .fx *{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important}}
/* Moving Together: seesaw buddies. Cold Sensitive: snowflake melts into a heart. Still at rest, play on hover and in the banner loop. */
.fx-saw .saw{transform-origin:50% 90%;transform:rotate(-13deg)}
.btn-hero:hover .fx-saw .saw,.hero-fx.on .fx-saw .saw{animation:sawRock 1.8s ease-in-out infinite}
@keyframes sawRock{0%,100%{transform:rotate(-13deg)}50%{transform:rotate(13deg)}}
.fx-melt .sf{transform-origin:50% 50%}
.fx-melt .hh{transform-origin:50% 50%;opacity:0;transform:scale(.2)}
.fx-melt .glow{fill:#F1D08A;opacity:0;transform-origin:50% 50%}
.btn-hero:hover .fx-melt .sf,.hero-fx.on .fx-melt .sf{animation:meltSf 3.2s ease-in-out infinite}
.btn-hero:hover .fx-melt .hh,.hero-fx.on .fx-melt .hh{animation:meltHh 3.2s ease-in-out infinite}
.btn-hero:hover .fx-melt .glow,.hero-fx.on .fx-melt .glow{animation:meltGlow 3.2s ease-out infinite}
@keyframes meltSf{0%,30%{opacity:1;transform:rotate(0) scale(1)}45%,90%{opacity:0;transform:rotate(180deg) scale(.2)}100%{opacity:1;transform:rotate(360deg) scale(1)}}
@keyframes meltHh{0%,35%{opacity:0;transform:scale(.2)}50%{opacity:1;transform:scale(1.15)}56%,85%{opacity:1;transform:scale(1)}95%,100%{opacity:0;transform:scale(.2)}}
@keyframes meltGlow{0%,40%{opacity:0;transform:scale(.4)}55%{opacity:.7;transform:scale(1)}90%,100%{opacity:0;transform:scale(1.3)}}
.hero-fx .fx-saw .saw{animation:sawRock 1.8s ease-in-out infinite}
.hero-fx .fx-melt .sf{animation:meltSf 3.2s ease-in-out infinite}.hero-fx .fx-melt .hh{animation:meltHh 3.2s ease-in-out infinite}.hero-fx .fx-melt .glow{animation:meltGlow 3.2s ease-out infinite}
/* home page cards: seesaw and snowflake play on hover like the other list buttons */
.gift:hover .fx-saw .saw{animation:sawRock 1.8s ease-in-out infinite}
.gift:hover .fx-melt .sf{animation:meltSf 3.2s ease-in-out infinite}.gift:hover .fx-melt .hh{animation:meltHh 3.2s ease-in-out infinite}.gift:hover .fx-melt .glow{animation:meltGlow 3.2s ease-out infinite}
/* share and "I'm getting this" are real links now (more reliable on phones); keep the button look */
.wl-ways .wl-way{display:inline-block;padding:11px 16px 10px;border-radius:999px;background:#B4473E;color:#fff;font:800 .8rem/1 'DM Sans',sans-serif;white-space:nowrap;text-decoration:none}
a.wl-claim{text-decoration:none;box-sizing:border-box}
/* Share with family: pretty email box */
.wl-pretty{margin:4px 0 14px;padding:14px 14px 12px;border:2px solid #DDA03A;border-radius:16px;background:#FFFDF6}
.wl-pretty-k{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:.92rem;line-height:1.45;color:#2F3A37}
.wl-pretty-k svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:#B4473E;stroke-width:1.8;stroke-linejoin:round;margin-top:1px}
.wl-pretty-row{display:flex;flex-wrap:wrap;gap:8px}
.wl-pretty-row button,.wl-pretty-row .wl-open-mail{display:inline-block;padding:12px 18px 11px;border:0;border-radius:999px;background:#B4473E;color:#fff;font:800 .85rem/1 'DM Sans',sans-serif;white-space:nowrap;cursor:pointer;text-decoration:none;box-shadow:0 4px 0 #86302A}
.wl-pretty-row .wl-open-mail{background:#3C503E;box-shadow:0 4px 0 #2E3E30}
.wl-pretty-row [hidden]{display:none}
.wl-pretty-done{margin:10px 0 0;font-size:.85rem;line-height:1.45;color:#2F4A3A}
.wl-ways .wl-way-plain{background:#fff;color:#B4473E;box-shadow:inset 0 0 0 2px #B4473E}
/* Share with family: simple buttons, email steps, privacy note */
.wl-ways .wl-way-green{border:0;cursor:pointer;background:#3C503E}
.wl-steps{margin:6px 0 16px;padding:14px 14px 4px;border-radius:16px;background:#FBF3E4}
.wl-steps-k{margin:0 0 10px;font:800 1rem/1.25 'DM Sans',sans-serif;color:#3C503E}
.wl-steps ol{list-style:none;margin:0;padding:0}
.wl-steps li{display:flex;gap:12px;align-items:flex-start;margin:0 0 12px}
.wl-n{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#B4473E;color:#fff;display:grid;place-items:center;font:800 .9rem/1 'DM Sans',sans-serif}
.wl-steps li p{margin:3px 0 6px;font-size:.92rem;line-height:1.4;color:#2F3A37}
.wl-step-btn{display:inline-block;padding:11px 18px 10px;border:0;border-radius:999px;background:#B4473E;color:#fff;font:800 .85rem/1 'DM Sans',sans-serif;white-space:nowrap;cursor:pointer;text-decoration:none;box-shadow:0 4px 0 #86302A}
.wl-step-btn.done{background:#5E7A5C;box-shadow:0 4px 0 #3F5640}
.wl-step-green{background:#3C503E;box-shadow:0 4px 0 #2E3E30}
.wl-privacy{margin:18px 0 0;padding:14px 0 0;border-top:2px dotted #CFC3AE}
.wl-privacy p{margin:0 0 8px;font-size:.8rem;line-height:1.5;color:#5B6461}
.wl-privacy p:first-child{font:800 .78rem/1 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#3C503E}
/* email steps box: white with a green outline, header in DM Sans */
.wl-steps{background:#fff;border:2px solid #3C503E}
.wl-steps-k{font:700 1.02rem/1.3 'DM Sans',sans-serif;color:#3C503E}
/* Share with family: little "i ?" buttons under the name and contact boxes, with a bubble on hover or tap */
.wl-tipwrap{position:relative;margin:4px 0 6px}
.wl-tip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px 3px 4px;border:1.5px solid #3C503E;border-radius:999px;background:#fff;color:#3C503E;cursor:pointer;line-height:1}
.wl-tip .wl-i{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#3C503E;color:#fff;font:italic 700 .72rem/1 Georgia,serif}
.wl-tip .wl-q{font:800 .82rem/1 'DM Sans',sans-serif}
.wl-tip:focus-visible{outline:2px dashed #3C503E;outline-offset:3px}
.wl-tipbox{display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:5;width:min(300px,78vw);padding:12px 14px;border:2px solid #3C503E;border-radius:14px;background:#fff;box-shadow:0 10px 24px rgba(31,43,42,.18);font-size:.84rem;line-height:1.5;color:#2F3A37}
.wl-tipbox::before{content:"";position:absolute;left:14px;top:-8px;width:12px;height:12px;background:#fff;border-left:2px solid #3C503E;border-top:2px solid #3C503E;transform:rotate(45deg)}
.wl-tipwrap.open .wl-tipbox{display:block}
@media (hover:hover){.wl-tipwrap:hover .wl-tipbox{display:block}}
/* icons on the share buttons and the email box header */
.wl-ways .wl-way{display:inline-flex;align-items:center;gap:7px}
.wl-ico{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wl-steps-k{display:flex;align-items:center;gap:9px}
.wl-steps-k .wl-ico{flex-basis:24px;width:24px;height:24px;stroke:#3C503E}
/* My list notepad: "keep a copy" on its own line with a bookmark icon */
.wl-save{display:block}
.wl-save-row{display:flex;gap:10px;align-items:flex-start}
.wl-save-copy{margin-top:10px;padding-top:10px;border-top:1px dashed #E6D3A8}
.wl-save .wl-save-ico{width:20px;height:20px;fill:none;stroke:#3C503E;stroke-width:2;stroke-linejoin:round}
/* Fonts: League Spartan only on the big list page titles; DM Sans bold for card titles, buttons and every other heading */
.banner-title,.banner-title *{font-family:'League Spartan',sans-serif}
.banner-club,.banner-sub{font-weight:700}
/* family view: "Getting something?" as a heading with arrow steps */
.wl-remind-k{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:1rem;color:#3C503E}
.wl-remind-k svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:#B4473E;stroke-width:1.8;stroke-linejoin:round}
.wl-remind ul{list-style:none;margin:0;padding:0}
.wl-remind li{display:flex;gap:8px;align-items:flex-start;margin:0 0 6px}
.wl-remind li:last-child{margin-bottom:0}
.wl-arw{flex:0 0 18px;width:18px;height:18px;margin-top:2px;fill:none;stroke:#3C503E;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.wl-red{color:#B4473E;font-weight:700}
/* quiz card: gift icon pops off the top left corner, bigger and tilted */
.quiz-teaser{grid-template-columns:1fr auto;padding-left:112px}
.quiz-teaser .qt-ico{position:absolute;top:-38px;left:-34px;z-index:3;width:128px;height:128px;flex:none;margin:0;background:#FBEBC8;border:5px solid #fff;box-shadow:0 0 0 4px #DDA03A,0 14px 24px rgba(10,24,14,.28);transform:rotate(-12deg)}
.quiz-teaser .qt-ico svg{width:84px;height:84px}
.quiz-teaser:hover .qt-ico{transform:rotate(-16deg) scale(1.04)}
.qt-spark.k1{left:auto;right:96px}.qt-spark.k2{left:auto;right:70px}
@media (max-width:760px){
  .quiz-teaser{grid-template-columns:1fr;padding:70px 20px 24px}
  .quiz-teaser .qt-ico{top:-30px;left:-16px;width:96px;height:96px}
  .quiz-teaser .qt-ico svg{width:62px;height:62px}
  .qt-text{grid-column:1}
  .qt-q,.qt-picks{margin-left:0}
}
/* quiz card: "Find their list" as a stitched ribbon button with an icon and a gold arrow */
.quiz-teaser .go.qt-go{position:relative;display:inline-flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:999px;background:linear-gradient(180deg,#C65E52 0%,#B4473E 55%,#A43E36 100%);color:#FFF8EE;box-shadow:0 6px 0 #86302A,0 12px 22px rgba(134,48,42,.28);letter-spacing:.05em;text-shadow:0 1px 0 rgba(0,0,0,.15)}
.quiz-teaser .go.qt-go::before{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(255,244,226,.65);border-radius:999px;pointer-events:none}
.qt-go-ic{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:rgba(255,248,238,.16);display:grid;place-items:center}
.qt-go-ic svg{width:20px;height:20px;fill:none;stroke:#FFF8EE;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.qt-go-t{white-space:nowrap}
.qt-go-arw{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#F1D08A;box-shadow:inset 0 -3px 0 rgba(176,126,42,.35);display:grid;place-items:center;transition:transform .2s}
.qt-go-arw svg{width:22px;height:22px;fill:none;stroke:#1F2B2A;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.quiz-teaser:hover .go.qt-go{transform:translateY(-2px);box-shadow:0 8px 0 #86302A,0 16px 26px rgba(134,48,42,.32)}
.quiz-teaser:hover .qt-go-arw{transform:translateX(4px)}
@media (max-width:760px){.quiz-teaser .go.qt-go{justify-content:space-between;padding:9px 9px 9px 14px}.qt-go-t{flex:1;text-align:center}.qt-go-arw{flex-basis:38px;width:38px;height:38px}}
@media (prefers-reduced-motion:reduce){.qt-go-arw{transition:none}}
/* quiz card headline: small lead in line, then a big line with "your kid?" in red over a gold squiggle */
.qt-text strong.qt-head{display:block;margin:2px 0 10px;font-family:'DM Sans',sans-serif;font-weight:700;color:#3C503E;line-height:1}
.qt-h1{display:block;font-size:1.15rem;letter-spacing:.01em;color:#5B6F5D}
.qt-h2{display:block;margin-top:4px;font-size:2.35rem;letter-spacing:-.01em}
.qt-h2 em{font-style:normal;color:#B4473E;padding-bottom:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M1 5c4-4 8-4 12 0s8 4 12 0 8-4 12 0' fill='none' stroke='%23DDA03A' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/26px 7px repeat-x}
@media (max-width:760px){.qt-h1{font-size:1rem}.qt-h2{font-size:1.9rem}}
/* ===== quiz card redesign: intro on the left, a "mini quiz" panel on the right, less empty space ===== */
.quiz-teaser{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"kick stage" "head stage" "sub stage" "go stage";column-gap:34px;row-gap:0;align-items:start;padding:30px 30px 30px 116px;
  background:#fff radial-gradient(circle at 96% 8%,rgba(221,160,58,.16) 0 54px,transparent 55px),#fff}
.quiz-teaser .qt-text{display:contents}
.quiz-teaser .qt-kick{grid-area:kick;justify-self:start;margin:0 0 10px}
.quiz-teaser .qt-head{grid-area:head;margin:0 0 10px}
.quiz-teaser .qt-text .sub{grid-area:sub;margin:0 0 18px;font-size:1rem;line-height:1.5;color:#2F3A37}
.quiz-teaser .go.qt-go{grid-area:go;justify-self:start;align-self:start}
.quiz-teaser .qt-stage{grid-area:stage;align-self:center;padding:16px 16px 18px;border-radius:20px;background:#FBF3E4;border:2px dashed #E3C98F}
.qt-step{display:flex;align-items:center;gap:6px;margin:0 0 10px}
.qt-step b{margin-right:6px;font:700 .72rem/1 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#B4473E}
.qt-step i{width:22px;height:6px;border-radius:999px;background:#E6D6B3}
.qt-step i.on{background:#B4473E}
.quiz-teaser .qt-q{margin:0 0 10px;font-size:1rem;color:#1F2B2A}
.quiz-teaser .qt-picks{gap:8px}
.quiz-teaser .qt-picks i{display:inline-flex;align-items:center;gap:8px;padding:9px 13px 8px;border-radius:999px;background:#fff;border:2px solid var(--pc,#748C6C);font-size:.86rem}
.quiz-teaser .qt-picks i::before{content:"";flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--pc,#748C6C)}
.quiz-teaser .qt-picks i:nth-child(1){--pc:#748C6C}.quiz-teaser .qt-picks i:nth-child(2){--pc:#DDA03A}.quiz-teaser .qt-picks i:nth-child(3){--pc:#C97966}.quiz-teaser .qt-picks i:nth-child(4){--pc:#7494AC}
.quiz-teaser .qt-tap::before,.quiz-teaser .qt-tap i::before{content:none}
@media (max-width:760px){
  .quiz-teaser{grid-template-columns:minmax(0,1fr);grid-template-areas:"kick" "head" "sub" "stage" "go";padding:22px 18px 22px}
  .quiz-teaser .qt-kick{margin-left:82px;margin-top:4px}
  .quiz-teaser .qt-h1{margin-left:82px}
  .quiz-teaser .qt-head{margin-top:2px}
  .quiz-teaser .qt-stage{margin:0 0 18px;padding:14px 12px 16px}
  .quiz-teaser .go.qt-go{justify-self:stretch}
}
/* home gift lists heading: bigger, with "your kid?" in one solid gold, extra bold */
#gifts .eyebrow.eyebrow-lg{font-size:clamp(2.9rem,6.4vw,4rem)}
#gifts h2.pick-h{font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.02}
#gifts h2.pick-h em.solid{color:#F1C76A;font-weight:900}
.quiz-teaser,.quiz-teaser .qt-head{text-align:left}
/* home: logo sits right under the bunting */
.hero{padding-top:2px}
.hero .hero-art{margin-bottom:16px}
/* safety notes as a dropdown that clearly says it needs to be read */
.pk-safe-dd{padding:0;overflow:hidden;border-width:3px}
.pk-safe-dd>summary.pk-st{list-style:none;display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;background:#FFF5CC;cursor:pointer;letter-spacing:.04em}
.pk-safe-dd>summary::-webkit-details-marker{display:none}.pk-safe-dd>summary::marker{content:""}
.pk-safe-dd>summary>svg{flex:0 0 26px;width:26px;height:24px}
.pk-st-t{flex:1;min-width:0;font:800 .9rem/1.2 'DM Sans',sans-serif}
.pk-st-t small{display:inline-block;margin-top:5px;padding:4px 9px 3px;border-radius:999px;background:#B4473E;color:#fff;font:700 .68rem/1 'DM Sans',sans-serif;letter-spacing:.06em}
.pk-st-open{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:8px 10px 7px 12px;border-radius:999px;background:#1F2B2A;color:#FFD23F;font:800 .72rem/1 'DM Sans',sans-serif;letter-spacing:.06em}
.pk-chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.pk-o2{display:none}
.pk-safe-dd[open] .pk-o1{display:none}.pk-safe-dd[open] .pk-o2{display:inline}
.pk-safe-dd[open] .pk-chev{transform:rotate(180deg)}
.pk-safe-dd:not([open]){animation:pkPulse 2.6s ease-in-out infinite}
@keyframes pkPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,210,63,0)}50%{box-shadow:0 0 0 6px rgba(255,210,63,.35)}}
.pk-safe-body{padding:12px 16px 14px}
.pk-safe-dd>summary:focus-visible{outline:3px dashed #1F2B2A;outline-offset:-3px}
@media (prefers-reduced-motion:reduce){.pk-safe-dd:not([open]){animation:none}}
.pk-st-t small{white-space:nowrap}
@media (max-width:560px){.pk-safe-dd>summary.pk-st{flex-wrap:wrap;row-gap:10px}.pk-st-open{flex:1 0 100%;justify-content:center;padding:10px}}
/* phones and tablets: the whole quiz headline sits beside the corner icon, not under it */
@media (max-width:760px){
  .quiz-teaser .qt-ico{top:-26px;left:-14px;width:86px;height:86px}
  .quiz-teaser .qt-ico svg{width:56px;height:56px}
  .quiz-teaser .qt-kick{margin-left:84px;margin-top:0}
  .quiz-teaser .qt-head{margin-left:84px}
  .quiz-teaser .qt-h1{margin-left:0}
  .qt-h2{font-size:clamp(1.55rem,7vw,1.9rem)}
}
@media (max-width:760px){.quiz-teaser .qt-text strong.qt-head{margin:4px 0 12px 84px}}
/* quiz headline: seamless squiggle and much bigger lines */
.qt-h2 em{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 8'%3E%3Cpath d='M0 4C3 0.8 9 0.8 12 4S21 7.2 24 4' fill='none' stroke='%23DDA03A' stroke-width='2.2' stroke-linecap='butt'/%3E%3C/svg%3E") left bottom/22px 8px repeat-x;padding-bottom:9px}
.qt-h1{font-size:clamp(1.35rem,2.1vw,1.7rem)}
.qt-h2{font-size:clamp(2.4rem,3.6vw,3.2rem);margin-top:6px}
@media (max-width:760px){
  .qt-h1{font-size:min(1.6rem,calc((100vw - 150px) / 10.4));white-space:nowrap}
  .qt-h2{font-size:min(2.8rem,calc((100vw - 150px) / 7.4));white-space:nowrap}
}
/* share window: the "i ?" button sits on the label line, right after "(optional)" */
.wl-f-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.wl-f-head label{font:800 .84rem/1.2 'DM Sans',sans-serif;color:#2F4A3A}
.wl-f-head label i{font-style:normal;font-weight:600;color:#7A817E}
.wl-f-head .wl-tipwrap{margin:0;position:static}
.wl-f{position:relative}
.wl-f .wl-tip span{margin:0}
.wl-f-head .wl-tipbox{top:calc(100% - 6px)}
/* these section titles use League Spartan */
#holiday-guide h2,#holiday-guide h2 *,#free h2,#free h2 *,.faq-sec h2,.faq-sec h2 *{font-family:'League Spartan',sans-serif}
#holiday-guide h2,#free h2,.faq-sec h2{font-weight:800}
/* equipment guide button: no outline, just a soft lift so it still reads as a button */
.eqr{border:0;box-shadow:0 10px 24px rgba(31,43,42,.14)}
.eqr:hover{box-shadow:0 14px 28px rgba(31,43,42,.18)}
/* "Just browsing" tag: a magnifying glass in place of the diamond */
.res.res-eq .tag::before{content:"";display:inline-block;width:14px;height:14px;margin:0 7px -2px 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10' cy='10' r='6.5' fill='none' stroke='%23FFE3A3' stroke-width='3'/%3E%3Cpath d='M15 15l6 6' stroke='%23FFE3A3' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* keep the equipment button text inside the box on phones */
.eqr b{font-size:clamp(.9rem,4.3cqi,1.6rem)!important}
@media (max-width:560px){.eqr b{white-space:normal!important;font-size:1.12rem!important;line-height:1.2;max-width:100%;text-wrap:balance}}

/* share window: exact pick note */
.wl-heads.wl-pick{border-color:#B4473E;margin-top:0}
.wl-heads .wl-hico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 6px 0 0;border-radius:50%;background:#FFD23F;vertical-align:-6px}
.wl-heads .wl-hico svg{width:15px;height:15px;fill:none;stroke:#1F2B2A;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wl-heads.wl-pick .wl-hico{background:#B4473E}
.wl-heads.wl-pick .wl-hico svg{stroke:#fff}
/* scalloped colored bottoms on the "more guides" cards */
.more a{box-shadow:none;background:transparent;overflow:visible;border-radius:0}
.more a img{border-radius:16px 16px 0 0}
.more a span{background:#fff;flex:1}
.more a::after{content:"";display:block;height:14px;background:radial-gradient(circle at 50% 0,var(--c,var(--sage)) 10px,transparent 10.5px) 0 0/20px 14px repeat-x,linear-gradient(var(--c,var(--sage)),var(--c,var(--sage))) 0 0/100% 4px no-repeat}
/* Equipment Guide: short line under the list intro, and one card mid list */
.eg-line{font-size:.95rem;margin-top:4px}
.eg-line a{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.eg-inline{grid-column:1/-1;display:flex;align-items:center;gap:20px;background:#fff;border:2px dashed var(--gold);border-radius:18px;padding:16px 20px;margin:4px 0}
.eg-inline img{width:170px;height:auto;flex:none;border-radius:10px}
.eg-inline p{color:#2B3A33;margin:0 0 6px;font-size:.98rem;line-height:1.45}
.eg-inline .eg-kicker{font-weight:800;font-size:1.05rem;color:var(--t-ink,#2b2b2b)}
.eg-inline .eg-link{display:inline-block;margin-top:2px;font-weight:800;color:var(--berry);text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.eg-inline{flex-direction:column;align-items:flex-start;gap:12px}.eg-inline img{width:100%;max-width:280px}}
.guide-cta .eg-price{margin:12px 0 0;font-size:.92rem;font-weight:600;color:#5A6560;text-align:center}
.guide-cta .hg-cta + .eg-price{margin-top:26px}
.more span .more-sub{display:block;margin-top:4px;font-size:.85rem;font-weight:500;color:#5A6560}
/* scalloped "For Grown Ups" tag on the Holiday Overwhelm Guide card */
.more a{position:relative}
.more .more-tag{position:absolute;top:-14px;left:-10px;z-index:2;width:84px;height:84px;display:flex;align-items:center;justify-content:center;padding:0 14px;text-align:center;font-style:normal;font-family:'DM Sans',Arial,sans-serif;font-weight:800;font-size:.66rem;line-height:1.05;letter-spacing:.05em;text-transform:uppercase;color:#fff;transform:rotate(-14deg);background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='%23B4473E'><circle cx='50' cy='50' r='40'/><circle cx='90.0' cy='50.0' r='9.5'/><circle cx='87.0' cy='65.3' r='9.5'/><circle cx='78.3' cy='78.3' r='9.5'/><circle cx='65.3' cy='87.0' r='9.5'/><circle cx='50.0' cy='90.0' r='9.5'/><circle cx='34.7' cy='87.0' r='9.5'/><circle cx='21.7' cy='78.3' r='9.5'/><circle cx='13.0' cy='65.3' r='9.5'/><circle cx='10.0' cy='50.0' r='9.5'/><circle cx='13.0' cy='34.7' r='9.5'/><circle cx='21.7' cy='21.7' r='9.5'/><circle cx='34.7' cy='13.0' r='9.5'/><circle cx='50.0' cy='10.0' r='9.5'/><circle cx='65.3' cy='13.0' r='9.5'/><circle cx='78.3' cy='21.7' r='9.5'/><circle cx='87.0' cy='34.7' r='9.5'/></g><circle cx='50' cy='50' r='35' fill='none' stroke='%23fff' stroke-width='1.5' stroke-dasharray='3 3'/></svg>") center/contain no-repeat;filter:drop-shadow(0 3px 0 rgba(0,0,0,.18))}
@media (max-width:640px){.more .more-tag{width:70px;height:70px;font-size:.56rem;top:-12px;left:-6px;padding:0 11px}}
.more .more-tag{width:96px;height:96px;top:-18px;left:-14px;padding:0 17px;font-size:.6rem;line-height:1.1}
@media (max-width:640px){.more .more-tag{width:80px;height:80px;top:-14px;left:-8px;padding:0 14px;font-size:.5rem}}
@media (max-width:640px){.more .more-tag{width:96px;height:96px;top:-18px;left:-12px;padding:0 16px;font-size:.62rem;line-height:1.08}}
/* bottom signup now offers the free Gifts That Get Them guide */
.signup .thanks p{margin:0 auto 14px}
.signup .thanks .su-dl{display:inline-block;background:var(--butter,#FFD23F);color:var(--ink,#1F2B2A);font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-weight:800;font-size:1rem;padding:14px 26px;border-radius:999px;text-decoration:none;box-shadow:0 4px 0 rgba(0,0,0,.2)}
.signup .thanks .su-note{font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-size:.92rem;margin-top:14px;opacity:.9}
/* signup heading: one solid color, no mixed outlined letters */
.signup h2 em .l1,.signup h2 em .l2,.signup h2 em .l3,.signup h2 em .l4{color:var(--butter,#F2C14E);text-shadow:none}
/* gift count tags: white ring and stronger shadow so they stand out on busy photos */
.gift .count{border:2.5px solid #fff;box-shadow:0 2px 0 rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.35)}
/* $23 guide offer shown after the free guide download */
.dl-upsell{display:flex;align-items:center;gap:16px;max-width:560px;margin:22px auto 0;padding:14px 16px;background:#fff;border-radius:16px;border:2px dashed var(--gold,#DDA03A);text-align:left;color:#2B3A33;font-family:'DM Sans',Arial,sans-serif;font-style:normal}
.dl-upsell img{width:120px;height:auto;flex:none;border-radius:10px}
.dl-upsell p{margin:0 0 6px!important;font-size:.92rem;line-height:1.45;color:#2B3A33;font-style:normal;font-family:inherit}
.dl-upsell .dl-up-k{font-weight:800;font-size:.95rem;color:var(--berry,#B4473E)}
.dl-upsell a{font-weight:800;color:var(--berry,#B4473E);text-decoration:underline;text-underline-offset:3px}
@media (max-width:520px){.dl-upsell{flex-direction:column;align-items:flex-start}.dl-upsell img{width:100%;max-width:220px}}
.signup .thanks .dl-upsell a,.dl-upsell a{display:inline;font-size:.95rem;font-family:"DM Sans",Arial,sans-serif;font-style:normal;padding:0;background:none;box-shadow:none;border-radius:0;line-height:1.4}
.dl-upsell img{width:130px}@media (max-width:520px){.dl-upsell img{width:150px;max-width:150px}}
.dl-upsell p{font-size:.92rem!important}.dl-upsell a{font-size:.95rem!important}
.dl-upsell a{line-height:1.4!important}
.dl-upsell p.dl-up-k{font-size:1.2rem!important;line-height:1.2;margin-bottom:8px!important}
.dl-upsell p.dl-up-k{font-family:'League Spartan','DM Sans',Arial,sans-serif!important;font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:1.35rem!important;line-height:1.05;color:var(--berry,#B4473E)}
/* free guide cover in the bottom signup box */
.signup .su-cover{display:block;width:170px;height:auto;margin:0 auto 18px;border-radius:16px;background:#fff;padding:6px;transform:rotate(-3deg);box-shadow:0 6px 0 rgba(0,0,0,.15),0 12px 24px rgba(0,0,0,.25)}
@media (max-width:640px){.signup .su-cover{width:140px}}
.signup .su-cover{padding:0;background:none;border-radius:24px;width:180px}@media (max-width:640px){.signup .su-cover{width:150px;border-radius:20px}}
/* second option in the signup box: send the saved wish list */
.signup .su-list{margin-top:26px;padding-top:22px;border-top:2px dashed rgba(255,255,255,.35)}
.signup .su-list p{margin:0 auto 10px;font-weight:700}
.signup .su-list-btn{display:inline-block;padding:13px 26px;border:2.5px solid #fff;border-radius:999px;color:#fff;font-family:'DM Sans',Arial,sans-serif;font-weight:800;font-size:1rem;text-decoration:none;transition:background .2s,color .2s}
.signup .su-list-btn:hover{background:#fff;color:var(--berry,#B4473E)}
/* "send your family to your list": a tilted gift tag with a heart sticker */
.signup .su-list{border-top:0;padding-top:8px;margin-top:30px}
.signup .su-tag{position:relative;display:inline-flex;align-items:center;gap:16px;padding:16px 28px 16px 46px;background:#FBF3E4;color:#2B3A33;text-decoration:none;text-align:left;transform:rotate(-2deg);clip-path:polygon(26px 0,100% 0,100% 100%,26px 100%,0 50%);border-radius:0 16px 16px 0;filter:drop-shadow(0 5px 0 rgba(0,0,0,.18));transition:transform .25s}
.signup .su-tag:hover{transform:rotate(0deg) scale(1.03)}
.signup .su-tag::before{content:"";position:absolute;left:-46px;top:50%;width:56px;height:2px;background:repeating-linear-gradient(90deg,#FBF3E4 0 6px,transparent 6px 10px)}
.signup .su-hole{position:absolute;left:24px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--berry,#B4473E);box-shadow:inset 0 0 0 2px rgba(0,0,0,.08)}
.signup .su-ico{flex:none;width:58px;height:58px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;border:2.5px dashed var(--gold,#DDA03A);transform:rotate(-8deg)}
.signup .su-ico svg{width:38px;height:38px}
.signup .su-tx{display:flex;flex-direction:column;gap:8px}
.signup .su-k{font-family:'Caveat',cursive;font-weight:700;font-size:1.65rem;line-height:1;color:var(--berry,#B4473E)}
.signup .su-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:10px 18px;border-radius:999px;background:var(--pine,#3C5446);color:#fff;font-family:'DM Sans',Arial,sans-serif;font-weight:800;font-size:.98rem;line-height:1.1;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.signup .su-btn svg{width:18px;height:18px;flex:none}
.signup .su-spark{position:absolute;color:var(--gold,#DDA03A);font-size:1.1rem;line-height:1}
.signup .su-spark.s1{right:10px;top:6px}
.signup .su-spark.s2{right:26px;bottom:6px;font-size:.75rem}
@media (max-width:520px){.signup .su-tag{gap:12px;padding:14px 18px 14px 40px;clip-path:polygon(22px 0,100% 0,100% 100%,22px 100%,0 50%)}.signup .su-hole{left:20px}.signup .su-ico{width:48px;height:48px}.signup .su-ico svg{width:30px;height:30px}.signup .su-k{font-size:1.4rem}.signup .su-btn{font-size:.88rem;padding:9px 14px}.signup .su-tag::before{display:none}}
.signup .su-cover{border-radius:5% / 3.7%!important}
/* section headings: heavier and a little bigger, site wide */
h2{font-weight:800;font-size:clamp(2.1rem,4vw,3.45rem)}
.guide-head h2{font-weight:800;font-size:clamp(2rem,3.8vw,3rem)}
.guide-cta h2{font-weight:800;font-size:clamp(1.8rem,3.1vw,2.55rem)}
/* Equipment Guide pitch: swipe between the comparison animation and the computer and tablet image */
.eg-swipe{position:relative;min-width:0}
.eg-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;align-items:flex-start;-webkit-overflow-scrolling:touch}
.eg-track::-webkit-scrollbar{display:none}
.eg-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.eg-slide-img{display:flex;align-items:center;justify-content:center;min-height:100%}
.eg-slide-img img{width:100%;height:auto}
.eg-dots{display:flex;justify-content:center;gap:10px;margin-top:8px}
.eg-dots button{width:11px;height:11px;padding:0;border-radius:50%;border:2px solid #3C503E;background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.eg-dots button.on{background:#3C503E;transform:scale(1.15)}
.eg-slide{overflow:hidden}
.eg-track{align-items:stretch}.eg-slide-img{min-height:0}
/* round arrow buttons on the Equipment Guide swipe, the next one nudges to say there's more */
.eg-arr{position:absolute;top:38%;z-index:5;width:46px;height:46px;border-radius:50%;border:0;padding:0;background:#3C503E;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 0 #22322A,0 8px 16px rgba(0,0,0,.25)}
.eg-arr[hidden]{display:none}
.eg-arr svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.eg-prev{left:-8px}
.eg-next{right:-8px;animation:egNudge 1.8s ease-in-out infinite}
.eg-arr:hover{background:#2E4031}
@keyframes egNudge{0%,60%,100%{transform:translateX(0)}30%{transform:translateX(6px)}}
@media (prefers-reduced-motion:reduce){.eg-next{animation:none}}
@media (max-width:640px){.eg-arr{width:40px;height:40px;top:34%}.eg-prev{left:-4px}.eg-next{right:-4px}}
/* related list links under each list intro */
.lead-links{max-width:680px;margin:-6px auto 22px;font-size:.98rem;line-height:1.6;text-align:center;color:var(--t-ink,#2B3A33)}
.lead-links a{color:var(--berry,#B4473E);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.lead-links a:hover{text-decoration-style:wavy}
/* related list links: icon circle, question, pill button */
.lead-links{display:flex;flex-direction:column;gap:12px;align-items:center;max-width:720px;margin:-4px auto 24px;text-align:left}
.lead-links .rel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.lead-links .rel-ico{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.18)}
.lead-links .rel-ico.c1{background:var(--berry,#B4473E);transform:rotate(-6deg)}
.lead-links .rel-ico.c2{background:var(--gold,#DDA03A);transform:rotate(6deg)}
.lead-links .rel-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lead-links .rel-q{font-weight:700;font-size:1rem;color:var(--t-ink,#2B3A33)}
.lead-links .rel-btn{display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;background:#FBF3E4;border:2px solid var(--berry,#B4473E);color:var(--berry,#B4473E);font-family:'DM Sans',Arial,sans-serif;font-weight:800;font-size:.95rem;line-height:1.2;text-decoration:none;box-shadow:0 3px 0 rgba(180,71,62,.25);transition:transform .15s,box-shadow .15s,background .15s}
.lead-links .rel:nth-child(2) .rel-btn{border-color:#B07E2A;color:#7A5418;box-shadow:0 3px 0 rgba(176,126,42,.3)}
.lead-links .rel-btn:hover{transform:translateY(-2px);background:#fff}
.lead-links .rel-arr{white-space:nowrap}
@media (max-width:640px){.lead-links .rel{display:grid;grid-template-columns:42px 1fr;column-gap:12px;row-gap:8px;width:100%;justify-content:stretch}.lead-links .rel-btn{grid-column:1/-1;justify-content:center;text-align:center}}
/* related list links v2: one outlined box, everything lined up on the left */
.lead-links{display:grid;grid-template-columns:42px max-content minmax(0,1fr);column-gap:14px;row-gap:12px;align-items:center;justify-items:start;max-width:760px;margin:6px auto 26px;padding:18px 22px;background:#fff;border:2px dashed var(--gold,#DDA03A);border-radius:18px;text-align:left}
.lead-links .rel{display:contents}
.lead-links .rel-ico{transform:none!important}
.lead-links .rel-q{font-size:1rem}
.lead-links .rel-btn{justify-self:start;font-size:.92rem;padding:8px 14px}
.lead-links .rel + .rel .rel-ico{margin-top:0}
@media (max-width:700px){.lead-links{grid-template-columns:42px minmax(0,1fr);row-gap:8px;padding:16px}.lead-links .rel-btn{grid-column:2;justify-content:flex-start;text-align:left;margin-bottom:8px}.lead-links .rel:last-child .rel-btn{margin-bottom:0}}
.lead-links{max-width:860px}.lead-links .rel-btn{display:inline-block;text-wrap:balance}.lead-links .rel-arr{display:inline}
