/* September stakeholder revision: wine-rich color, clear rewards and round selection. */
.hero { background: #f6ede2; }
.hero-copy { background: radial-gradient(ellipse at top left,#fff8e8,transparent 80%); }
.hero h1 { font-size: clamp(40px,4.7vw,70px); }
#hero-varietal { display: inline-block; min-height: 2.15em; color: #861b3f; max-width: 100%; overflow-wrap: break-word; }
.hero-tag { max-width: calc(100% - 30px); }
.wins-front { padding-top: 50px; padding-bottom: 55px; }
.wins-front h2 { font-size: clamp(32px,4vw,48px); margin-bottom: 26px; }
.wins-grid,.pack-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.wins-grid article { padding:26px;border-radius:16px;background:#791b36;color:#fff8ee; }
.wins-grid article:nth-child(2) { background:#245346; }
.wins-grid article:nth-child(3) { background:#f1dfb0;color:#46261a; }
.wins-grid article>span { font-size:11px;letter-spacing:1.4px;font-weight:800; }
.wins-grid h3 { margin:18px 0 10px;font-size:26px;line-height:1.12; }
.wins-grid p { color:inherit;line-height:1.65;font-size:15px; }
.reward-timeline { margin:22px 0;padding:22px 25px;border-left:4px solid #bc8e32;background:#fff9ed;border-radius:0 12px 12px 0; }
.reward-timeline p { margin:10px 0;line-height:1.8; }
.reward-timeline small { color:#715444;line-height:1.6; }
.stage { position:relative;overflow:hidden;border:1px solid #dccab9; }
.stage-photo { grid-column:1/-1;width:100%;height:150px;object-fit:cover;border-radius:10px; }
.stage.locked { opacity:1; }
.round-map { margin:35px 0;padding:25px;background:#f6eddf;border-radius:18px; }
.round-map-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:22px 0; }
.round-map-grid img { width:100%;height:85px;object-fit:cover;border-radius:9px; }
.round-map-grid strong { display:block;font-size:12px;margin-top:10px; }
.round-map p { line-height:1.7;margin-top:15px; }
.practice-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0 45px; }
.practice-tile { display:flex;flex-direction:column;gap:12px;overflow:hidden;text-align:left;border:1px solid #ddc9b3;background:#fffaf0;border-radius:16px;padding:0 0 20px;color:#572231;cursor:pointer; }
.practice-tile img { width:100%;height:150px;object-fit:cover; }
.practice-tile strong,.practice-tile>span { padding:0 18px; }
.practice-tile strong { font-size:21px; }
.practice-tile>span { font-size:13px; }
.practice-tile:hover { border-color:#861b3f;box-shadow:0 8px 22px #601b3215; }
.varietal-choices { display:flex;flex-wrap:wrap;gap:10px;margin:22px 0; }
.pack-card { padding:22px;border:1px solid #dbc59d;border-radius:18px;background:#fff9ed; }
.pack-card h2 { font-size:30px; }.pack-card p { line-height:1.65;margin:15px 0; }
.pack-art { display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin:10px auto 28px;width:160px;height:210px;padding:24px 12px;text-align:center;background:linear-gradient(130deg,#390d23,#912443 55%,#3f1127);border:3px double #e7c886;border-radius:7px;box-shadow:10px 12px 0 #e8d9c0;color:#ffe7a7;transform:rotate(-5deg); }
.pack-art strong { font-family:Georgia,serif;font-size:28px; }.pack-art span { font-size:12px;letter-spacing:2px; }.pack-art span:last-child { font-size:35px; }
.pack-grid + .dashboard-grid { margin-top:30px; }
.wine-image { position:relative; }.wine-image>.pill { max-width:58%;font-size:10px; }
.coupon-count { position:absolute;top:12px;right:10px;background:#f1d990;color:#48291a;border:1px solid #bd9446;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800; }
.paired-wine-links { display:grid;gap:10px;margin:16px 0 26px; }
.paired-wine-link { position:relative;display:flex;align-items:center;gap:15px;min-height:100px;border:1px solid #e3d2bc;border-radius:12px;background:#fff9ee;padding:32px 15px 12px;text-align:left;color:#651e36; }
.paired-wine-link img { width:38px;height:60px;object-fit:contain; }.paired-wine-link .coupon-count { top:7px; }
.collection-goal { margin:25px 0 35px;padding:27px;border-radius:16px;background:linear-gradient(125deg,#f7e7b4,#fff8e7);border:1px solid #d4ac58; }
.collection-goal h3 { font-size:28px;margin:12px 0; }.collection-goal p { margin:12px 0;line-height:1.65; }
.collection-checks { display:flex;flex-wrap:wrap;gap:12px;margin:20px 0; }.collection-checks span { border:1px solid #bca36f;padding:8px 13px;border-radius:9px; }
.collection-goal progress { width:100%;accent-color:#791b36;height:13px; }
.offer-row { border:1px solid #dfcda9;border-radius:12px;padding:20px;margin:18px 0;text-align:left; }.offer-row h3 { font-size:23px; }
.catch-demo { height:240px;position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(#fff9ee,#ecd8ba);margin:15px 0;isolation:isolate; }
.demo-track { position:absolute;width:90px;height:100%;left:40%;animation:glass-track 6s infinite; }
.demo-glass { position:absolute;bottom:18px;height:125px;width:85px;object-fit:contain;z-index:2; }
.demo-food { position:absolute;width:42px;height:42px;object-fit:contain;left:21px;top:-45px;z-index:3;animation:food-catch 6s infinite; }
.demo-miss { position:absolute;width:40px;height:40px;object-fit:contain;left:13%;top:-45px;animation:food-miss 6s infinite; }
.demo-score { position:absolute;bottom:150px;left:-32px;white-space:nowrap;font-weight:900;color:#285843;opacity:0;animation:catch-score 6s infinite; }
@keyframes glass-track { 0%,12% { transform:translateX(-50px); } 34%,66% { transform:translateX(20px); } 83%,100% { transform:translateX(-50px); } }
@keyframes food-catch { 0%,12% { top:-45px;opacity:0; } 15% { opacity:1; } 48% { top:calc(100% - 155px);opacity:1;transform:scale(1); } 57% { top:calc(100% - 130px);opacity:1;transform:scale(.65); } 63%,100% { top:calc(100% - 130px);opacity:0;transform:scale(.4); } }
@keyframes food-miss { 0%,40% { top:-45px; } 85%,100% { top:110%; } }
@keyframes catch-score { 0%,52%,90%,100% { opacity:0; } 60%,78% { opacity:1; } }
.age-entry { position:relative;isolation:isolate;overflow:hidden; }.age-entry .age-demo { position:absolute;inset:0;height:100%;margin:0;opacity:.13;z-index:-1;background:white;border-radius:0;pointer-events:none; }
.age-entry .age-demo .demo-glass { height:230px;width:160px;bottom:30px; }.age-entry .age-demo .demo-track { width:170px;left:35%; }.age-entry .age-demo .demo-food { left:63px; }
.age-entry .age-demo .demo-score { display:none; }.age-entry .age-icon { display:none; }
.legacy-tutorial { display:none!important; }
@media (max-width:760px) {
 .site-header { flex-wrap:wrap;gap:8px; }.site-header nav { display:flex;width:100%;flex-wrap:wrap;gap:5px; }.site-header .nav-link { display:block!important;padding:7px 10px;font-size:13px; }.site-header .nav-profile { margin-left:auto; }
 .wins-grid,.pack-grid { grid-template-columns:1fr; }.wins-front { padding:30px 20px; }.wins-grid h3 { font-size:25px; }
 .practice-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }.practice-tile img { height:115px; }.practice-tile strong { font-size:18px; }
 .round-map-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.stage-photo { height:125px; }.hero h1 { font-size:clamp(32px,9vw,44px); }
 .hero-copy { padding:25px 22px; }.hero h1 em { min-height:2.25em; }.collection-goal { padding:20px; }.catch-demo { height:210px; }
}
@media (prefers-reduced-motion:reduce) { .demo-track,.demo-food,.demo-miss,.demo-score { animation:none; }.demo-track { transform:translateX(20px); }.demo-food { top:calc(100% - 130px);opacity:1; }.demo-score { opacity:1; } }
@media(min-width:761px){.hero-copy{padding:44px 40px}.hero h1{font-size:clamp(40px,4.2vw,60px)}#hero-varietal{min-height:2.1em}.hero-copy>.tiny{max-width:440px;font-size:12px;line-height:1.6}.hero-art{min-height:590px}}

.age-entry .age-demo .demo-food { animation-name:age-food-catch; }
@keyframes age-food-catch { 0%,12%{top:-45px;opacity:0}15%{opacity:1}48%{top:calc(100% - 270px);opacity:1;transform:scale(1)}57%{top:calc(100% - 220px);opacity:1;transform:scale(.65)}63%,100%{top:calc(100% - 220px);opacity:0;transform:scale(.4)} }
@media(prefers-reduced-motion:reduce){.age-entry .age-demo .demo-food{animation:none;top:calc(100% - 220px);opacity:1}}
@media(max-width:420px){.ppl-slice-board{grid-template-columns:repeat(2,minmax(0,1fr))}.ppl-slice-food strong{overflow-wrap:normal;word-break:normal}}
.pairing-type{display:block;margin:0 0 9px}.pairing-type strong{color:#70233b}
.cellar-room{background:linear-gradient(90deg,#160e0be8,#160e0b40),url('/assets/backdrops-v2/lvl17-collectors-cellar.jpg') center 48%/cover;border-radius:22px;padding:36px;color:#fff4df;margin-bottom:40px;overflow:hidden;border:1px solid #ad8350}
.cellar-room-heading{max-width:550px;text-shadow:0 2px 5px #000}.cellar-room .eyebrow{color:#eccc8b}.cellar-room h2{font:clamp(28px,4vw,44px)/1.1 Georgia,serif;margin:12px 0}.cellar-room p{color:#f3dfc5}
.bottle-rack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px;padding:16px 16px 22px;background:linear-gradient(#2e1b11e8,#180d08ed);border:10px ridge #654128;border-bottom:14px ridge #83552f;box-shadow:0 10px 25px #0008,inset 0 0 25px #000}
.bottle-slot{color:#f8e8c9;border:1px solid #9e784855;background:linear-gradient(#0c0807cf,#36231699);border-radius:70px 70px 6px 6px;min-height:205px;padding:18px 8px 12px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;cursor:pointer;box-shadow:inset 0 5px 18px #0008;transition:background .2s}
.bottle-slot:hover{background:#78543199}.bottle-slot:focus-visible{outline:3px solid #ffdc90;outline-offset:3px}.bottle-slot img{width:100%;height:124px;object-fit:contain;filter:drop-shadow(0 3px 6px #000)}.bottle-slot strong{font-size:12px;line-height:1.35;margin-top:10px}.bottle-slot small{font-size:10px;color:#d2b896;margin-top:4px}
.bottle-outline{border:2px dashed #d5b88199;border-radius:20px 20px 8px 8px;width:44px;height:83px;display:grid;place-items:center;color:#e6c995;font:30px Georgia;margin-top:20px;position:relative}.bottle-outline:before{content:'';position:absolute;top:-21px;width:17px;height:21px;border:2px dashed #d5b88199;border-bottom:0;border-radius:5px 5px 0 0}
.collection-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.collection-goals .collection-goal{margin:0;padding:22px;display:flex;flex-direction:column}.collection-goals .collection-goal .btn{margin-top:auto;white-space:normal}.collection-goals h3{font-size:24px}.collection-checks{flex-wrap:wrap}
.topic-library{margin:28px 0;padding:22px;background:#f4ebdd;border:1px solid #d9c59e;border-radius:14px}.topic-library summary{cursor:pointer;font-weight:800;line-height:1.5}.topic-library summary span{display:block;font-size:12px;font-weight:400}.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}.topic-card{padding:16px;background:#fffaf0;border:1px solid #d9c59e;border-radius:10px}.topic-card.collected{border:2px solid #355f42}.topic-card img{height:95px;width:100%;object-fit:contain;margin-bottom:12px}.topic-card h3{font-size:20px;margin:8px 0}.topic-card p,.topic-card>span:last-child{font-size:12px}.topic-card .eyebrow{font-size:10px}
@media(max-width:700px){.cellar-room{padding:24px 16px}.bottle-rack{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 8px 16px;gap:8px;border-width:7px}.bottle-slot{min-height:180px;padding:14px 5px 10px}.bottle-slot img{height:100px}.collection-goals{grid-template-columns:1fr}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-library{padding:16px}.topic-card{padding:12px}}
.earned-wine-card[data-card-type="region"] .earned-card-art img{width:100%;max-width:360px;height:auto;aspect-ratio:640/380;border-radius:9px}
