:root{--ink:#212621;--ink2:#2b312b;--ink3:#363d36;--ivory:#f7f2e7;--paper:#fffdf7;--line:#d9d0bc;--wine:#a3174a;--wine-dk:#7c1038;--brass:#d4ae42;--brass-lt:#f0d98c;--muted:#6f6a5d;--ok:#2f6b46;--no:#a3261f;--sans:"Helvetica Neue",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font:17px/1.55 var(--serif);-webkit-text-size-adjust:100%}
button{font:inherit;cursor:pointer;min-height:48px;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--brass);outline-offset:3px}[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip{position:absolute;left:-999px;top:8px;background:var(--brass);color:var(--ink);padding:10px 14px;z-index:9}.skip:focus{left:8px}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--ink);border-bottom:1px solid #4a5148}
.brand{background:none;border:0;padding:0;min-height:0;display:block}.brand img{display:block;height:64px;width:auto}
#crumbs{font:600 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-lt);text-align:right}#crumbs button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:4px}
main{max-width:1100px;margin:0 auto;padding:26px 16px 40px;outline:0}.loading{padding:60px 0;text-align:center;color:var(--brass-lt)}
.eyebrow{font:700 11px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:0 0 8px}
h1{font:400 clamp(32px,6vw,54px)/1.08 var(--serif);letter-spacing:-.02em;margin:0 0 12px}h2{font:400 26px/1.2 var(--serif);margin:0 0 10px}
.lede{font-size:18px;max-width:640px;color:#e6dfcf;margin:0 0 26px}
/* home */
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.level{display:flex;flex-direction:column;text-align:left;background:var(--ink2);border:1px solid #4a5148;border-top:4px solid var(--wine);border-radius:4px;padding:20px 20px 18px;color:var(--ivory);min-height:230px}
.level:hover{background:var(--ink3);border-top-color:var(--brass)}.level .tag{font:700 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.level h2{margin:8px 0 8px}.level p{font-size:15px;line-height:1.5;color:#d8d1c0;margin:0 0 auto}
.bar{height:6px;background:#10130f;border-radius:3px;overflow:hidden;margin:16px 0 8px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--wine),var(--brass))}
.level .count{font:12px var(--sans);color:var(--brass-lt)}
.rules{margin:34px 0 0;padding:20px;border:1px solid #4a5148;border-radius:4px;background:var(--ink2)}.rules h2{font-size:22px}.rules ol{margin:8px 0 0;padding-left:22px;color:#e1dac9}.rules li{margin:6px 0}
/* play */
.play-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:6px}
.score{font:600 13px var(--sans);letter-spacing:.06em;color:var(--brass-lt)}.score b{font-size:22px;color:var(--ivory);font-family:var(--serif)}
.wheel-wrap{max-width:560px;margin:8px auto 0}#wheel{width:100%;cursor:pointer;touch-action:manipulation}#wheel svg{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 22px #0008)}
.spinwheel{transform-origin:170px 170px}
.spin-row{text-align:center;margin:10px 0 6px}.primary{background:var(--wine);color:#fff;border:1px solid #c93a6b;border-radius:3px;padding:14px 34px;font:700 15px var(--sans);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 3px 0 var(--wine-dk)}.primary:hover{background:#b81c55}.primary:disabled{opacity:.6;cursor:wait}
.secondary{background:none;color:var(--ivory);border:1px solid #8b8f84;border-radius:3px;padding:12px 20px;font:600 13px var(--sans);letter-spacing:.06em}.secondary:hover{border-color:var(--brass);color:var(--brass-lt)}
#status{text-align:center;font:13px var(--sans);color:var(--brass-lt);min-height:20px;margin:8px 0 0}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0;list-style:none}.chips li{font:12px var(--sans);padding:7px 12px 7px 10px;border:1px solid #4a5148;border-radius:20px;background:var(--ink2);display:flex;align-items:center;gap:8px}.chips li.gone{opacity:.45;text-decoration:line-through}.chips i{width:11px;height:11px;border-radius:50%;display:block}
.fineprint{text-align:center;font:12px/1.6 var(--sans);color:#a9a595;margin:22px auto 0;max-width:520px}
.linkish{background:none;border:0;color:var(--brass-lt);text-decoration:underline;text-underline-offset:4px;font:13px var(--sans);min-height:44px;padding:0 6px}
.confirm{margin:14px auto 0;max-width:460px;padding:14px;border:1px solid var(--no);border-radius:4px;background:#2b1b1a;text-align:center;font:14px var(--sans)}.confirm button{margin:6px 6px 0}
/* card */
.card{max-width:760px;margin:0 auto;background:var(--paper);color:var(--ink);border-radius:6px;overflow:hidden;box-shadow:0 18px 50px #000a}
.pic{position:relative;aspect-ratio:3/2;background:linear-gradient(135deg,var(--tint,#6b2a4a),#1d221d);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pic svg{width:96px;height:96px;opacity:.88}
.pic .badge{position:absolute;left:14px;top:12px;font:700 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:#0007;padding:6px 10px;border-radius:2px}
.body{padding:22px 24px 24px}.cardname{font:700 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin:0 0 10px}
.q{font:400 22px/1.38 var(--serif);margin:0 0 18px}
.opts{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.opt{width:100%;display:flex;gap:14px;align-items:flex-start;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:13px 14px;font:16px/1.4 var(--serif);min-height:52px}
.opt:hover:not(:disabled){border-color:var(--line);background:#fff}.opt b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ivory);border:1px solid var(--line);display:grid;place-items:center;font:700 13px var(--sans)}
.opt:disabled{cursor:default}.opt.right{border-color:var(--ok);background:#eaf5ee}.opt.right b{background:var(--ok);color:#fff;border-color:var(--ok)}.opt.wrong{border-color:var(--no);background:#fbeceb}.opt.wrong b{background:var(--no);color:#fff;border-color:var(--no)}.opt.dim{opacity:.55}
.answer{margin-top:20px;padding-top:18px;border-top:2px solid var(--line)}
.verdict{font:700 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}.verdict.ok{color:var(--ok)}.verdict.no{color:var(--no)}
.answer p{margin:0 0 12px;font-size:17px;line-height:1.6}.answer p strong{font:700 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--wine);display:block;margin-bottom:2px}
.answer .count{background:var(--ivory);border-left:4px solid var(--brass);padding:11px 14px;font:14px/1.5 var(--sans);margin:16px 0}
.answer .primary{margin-top:6px}
.done{max-width:640px;margin:20px auto;text-align:center}
@media(max-width:560px){body{font-size:16px}.brand img{height:50px}.masthead{padding:8px 12px}.body{padding:18px 16px 20px}.q{font-size:20px}main{padding:18px 12px 32px}.pic{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Vineyard setting: detail remains visible above and beside the wheel. */
main{position:relative;isolation:isolate}
main[data-view="home"]::before,main:is([data-view="wheel"],[data-view="taste"])::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;left:50%;transform:translateX(-50%);width:100vw;height:min(1050px,100%);background:linear-gradient(180deg,rgba(15,24,16,.6) 0%,rgba(15,24,16,.15) 35%,rgba(33,38,33,.36) 65%,#212621 100%),var(--century-cover,url('assets/vineyard-hero.webp')) center top/cover no-repeat}
main[data-view="home"]>.eyebrow{padding-top:24px}
main[data-view="home"]>.lede{margin-bottom:44px}
main[data-view="home"]>h1,main[data-view="home"]>.lede,.play-head{text-shadow:0 2px 12px #000}
main[data-view="home"] .level{background:rgba(33,38,33,.94)}
.play-head{margin-bottom:clamp(70px,10vw,120px)}
.play-head .eyebrow{color:var(--brass-lt)}
footer{text-align:center;padding:0 16px 24px;font:13px var(--sans)}footer a{color:var(--brass-lt);text-underline-offset:4px}
/* A teacher's burgundy A+, reserved for the second consecutive correct answer. */
.mastery{display:flex;align-items:center;gap:20px;margin:0 0 24px;padding:22px 20px;background:#f7eee9;border:1px solid #e1c4ca;border-radius:6px;box-shadow:inset 4px 0 var(--wine);animation:mastery-arrive .45s ease-out}
.teacher-mark{flex:none;width:100px;height:100px;color:var(--wine);transform:rotate(-7deg)}
.teacher-mark path{stroke-dasharray:1;stroke-dashoffset:0;animation:teacher-write 1s ease-out both}
.mastery h2{color:var(--wine);font:italic 30px/1.15 var(--serif);margin:0 0 6px}
.mastery p.retired{font:600 18px/1.35 var(--serif);margin:0 0 5px}
.mastery p.mastery-detail{font:14px/1.5 var(--sans);margin:0 0 12px}
.mastery-progress{font:13px/1.4 var(--sans);color:var(--wine-dk)}.mastery-progress b{font-size:22px}
.mastery p.group-complete{margin:10px 0 0;font:14px/1.5 var(--sans);color:var(--ok)}
@keyframes teacher-write{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes mastery-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.mastery{gap:12px;padding:18px 14px}.teacher-mark{width:66px;height:80px}.mastery h2{font-size:25px}.mastery p.retired{font-size:17px}main:is([data-view="wheel"],[data-view="taste"])::before{background-position:58% top}.play-head{margin-bottom:70px}}
@media(prefers-reduced-motion:reduce){.mastery,.teacher-mark path{animation:none}}

/* 1.2.668: one growing Wheel, the shelf of Centuries, and The Hundredth. */
.shelf-title{margin:38px 0 14px;font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.level .actions{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.primary.small{padding:11px 20px;font-size:13px;display:inline-block;text-decoration:none}
a.primary.small{line-height:1.4}
.badge-done,.badge-soon{font:700 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-lt);border:1px solid var(--brass);border-radius:20px;padding:8px 14px}
.badge-soon{color:#cfc8b6;border-color:#6b7066}
.level.locked{border-top-color:#6b7066;background:rgba(33,38,33,.8)}.level.locked h2{color:#e3dccb}
.wheel-start{margin:0 0 6px;padding:22px 24px;background:rgba(33,38,33,.94);border:1px solid #4a5148;border-top:4px solid var(--brass);border-radius:4px;max-width:640px}
.wheel-start h2{margin:0 0 6px}.wheel-start p{margin:0 0 14px;color:#e1dac9}
.keybox{margin:38px 0 0;padding:20px;border:1px solid #4a5148;border-radius:4px;background:var(--ink2)}.keybox form{display:flex;flex-wrap:wrap;gap:10px}.keybox input{flex:1 1 220px;min-height:48px;padding:0 14px;font:16px var(--sans);border-radius:3px;border:1px solid #8b8f84;background:#fffdf7;color:var(--ink)}#keystatus{min-height:22px;font:14px var(--sans);color:var(--brass-lt);margin:10px 0 0}
.scope-row{text-align:center;margin:16px 0 0;font:14px var(--sans)}.scope-row select{min-height:44px;font:15px var(--sans);padding:0 10px;border-radius:3px;max-width:100%}
.group-picks{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:760px}
.group-pick{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;min-height:110px;background:var(--pick);color:#fff;border:2px solid transparent;border-radius:6px;font:700 14px var(--sans)}
.group-pick:hover{border-color:var(--brass-lt)}.pick-glyph svg{width:44px;height:44px;display:block}
.credit-note{margin:18px 0 0;padding:12px 16px;border:1px solid var(--brass);border-radius:4px;background:var(--ink2);color:var(--brass-lt);font:15px var(--sans)}
.buy{max-width:620px;margin:0 auto}.buy h1{margin-bottom:12px}.order-lines{list-style:none;margin:0;padding:0}.order-lines li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #4a5148;font:16px var(--sans)}
.order-total{margin:14px 0;font:18px var(--sans);text-align:right}.buy form{display:grid;gap:10px;margin-top:18px}.buy label{font:15px var(--sans);color:#e1dac9}.buy label.check{display:flex;gap:10px;align-items:flex-start}
.buy input[type=email],.buy textarea{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;font:16px var(--sans);border-radius:3px;border:1px solid #8b8f84;background:#fffdf7;color:var(--ink)}
.buy input[type=checkbox]{width:22px;height:22px;flex:none}#orderstatus,#orderresult{min-height:22px;margin-top:12px;font:15px var(--sans);color:var(--brass-lt)}
.giftkey{font:700 22px/1.3 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;padding:14px;border:1px dashed var(--brass);border-radius:4px;text-align:center;word-break:break-all;user-select:all}
.level.bundle{border-color:var(--brass)}#hstatus{min-height:22px;margin-top:14px;font:15px var(--sans);color:var(--brass-lt)}

/* Wide monitors have room for the photograph and the answers side by side. */
@media (min-width: 1180px) {
  main[data-view="card"], main[data-view="hundredth-card"] {
    max-width: 1500px;
    padding-inline: clamp(24px, 4vw, 72px);
  }
  main[data-view="card"] .card, main[data-view="hundredth-card"] .card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    max-width: none;
  }
  main[data-view="card"] .body, main[data-view="hundredth-card"] .body {
    padding: clamp(24px, 3vw, 48px);
  }
}

/* Desktop card images stretch with the answer column. Phones keep the 3:2 frame. */
@media (min-width: 1180px) {
  main[data-view="card"] .card, main[data-view="hundredth-card"] .card {
    align-items: stretch;
  }
  main[data-view="card"] .card > .pic, main[data-view="hundredth-card"] .card > .pic {
    aspect-ratio: auto;
    align-self: stretch;
    min-height: 0;
  }
  main[data-view="card"] .card > .pic::before, main[data-view="hundredth-card"] .card > .pic::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 66.666667%;
    flex: 0 0 100%;
    pointer-events: none;
  }
  main[data-view="card"] .card > .pic > svg, main[data-view="hundredth-card"] .card > .pic > svg {
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
  }
}
.card > .pic > img { display: block; object-fit: cover; object-position: center; }



  .academy-wheel-layout{width:100%;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(34px,6vw,100px);max-width:1140px;margin:0 auto;padding:20px 0 45px}
  .academy-wheel-art{width:100%;max-width:580px;justify-self:center}
  .academy-wheel-art #wheel{width:100%;border:0;background:transparent;padding:0;cursor:pointer;touch-action:manipulation;border-radius:50%}
  .academy-wheel-art #wheel svg{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 24px #0005)}
  .academy-wheel-art .spinwheel{transform-origin:170px 170px}
  .academy-turn{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:420px;color:#fff;text-shadow:0 2px 15px #0007}
  .academy-turn .century-name{margin:0 0 22px;color:#f5dc91;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}
  .academy-turn .mastered-count{display:flex;align-items:center;gap:22px;margin:0 0 23px;line-height:1}
  .academy-turn .mastered-number{font:400 clamp(82px,8vw,122px)/.86 Georgia,serif;letter-spacing:-.045em;color:#fff}
  .academy-turn .mastered-count[data-digits="4"] .mastered-number{font-size:88px}
  .academy-turn .mastered-label{font:400 21px/1.45 Arial,sans-serif;letter-spacing:-.015em}
  .academy-turn .mastered-label span{display:block}
  .academy-turn .near-mastery{font:400 20px/1.6 Arial,sans-serif;margin:0 0 27px;max-width:330px;text-wrap:pretty}
  .academy-turn .near-mastery strong{font-weight:700;color:#f5dc91}
  .academy-turn #spin{display:flex;align-items:center;justify-content:space-between;gap:35px;width:min(100%,315px);padding:18px 23px;min-height:58px;background:#a71149;color:#fff;border:1px solid #cf3b73;border-radius:3px;box-shadow:0 5px 20px #26031045;font:700 13px/1.3 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-shadow:none;transition:background .18s,transform .18s}
  .academy-turn #spin:hover{background:#c31959;transform:translateY(-2px)}
  .academy-turn #spin:disabled{cursor:wait;opacity:.65;transform:none}
  .academy-turn #spin .button-arrow{font:400 25px/1 Arial,sans-serif;letter-spacing:0}
  .academy-turn #status{width:min(100%,315px);margin:12px 0 0;color:#fff;font:13px/1.5 Arial,sans-serif;text-align:left}.academy-turn #status:empty{display:none}
  .academy-turn .progress-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,315px);min-height:58px;margin:12px 0 0;padding:16px 23px;box-sizing:border-box;appearance:none;-webkit-appearance:none;text-align:left;color:#a71149;background:#fffdf7;border:1px solid #fffdf7;border-radius:3px;font:700 15px/1.4 Arial,sans-serif;cursor:pointer;text-shadow:none;box-shadow:0 3px 12px #0003}
  .academy-turn .progress-link:hover{background:#fff;border-color:#fff;color:#7c1038}
  .academy-turn .progress-link svg{display:block;width:24px;height:24px;flex:none;color:currentColor}
  .academy-wheel-layout :focus-visible,.academy-progress-dialog :focus-visible{outline:3px solid #f5dc91;outline-offset:3px}
  .academy-turn #spin:focus-visible,.academy-turn .progress-link:focus-visible{outline:3px solid #d4ae42;outline-offset:-5px}
  .academy-progress-dialog{width:min(540px,calc(100vw - 32px));max-height:85dvh;overflow:auto;margin:auto;padding:34px;border:0;border-top:3px solid #b9983d;border-radius:5px;background:#faf7ee;color:#233a2c;box-shadow:0 24px 90px #0008;text-shadow:none}
  .academy-progress-dialog::backdrop{background:#111d17a8;backdrop-filter:blur(6px)}
  .academy-progress-dialog .dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px}
  .academy-progress-dialog h2{font:400 32px/1.15 Georgia,serif;margin:0 0 9px;color:#233a2c}
  .academy-progress-dialog .dialog-close{font:300 27px/1 Arial,sans-serif;min-width:44px;min-height:44px;margin:-12px -13px 0 0;border:0;background:transparent;color:#233a2c;cursor:pointer}
  .academy-progress-dialog p{font:15px/1.6 Arial,sans-serif;margin:0 0 18px;color:#536057}
  .academy-progress-dialog table{width:100%;border-collapse:collapse;font:14px/1.5 Arial,sans-serif}
  .academy-progress-dialog th{font-weight:400}
  .academy-progress-dialog thead th{font-size:11px;color:#657068;letter-spacing:.08em;text-transform:uppercase}
  .academy-progress-dialog th,.academy-progress-dialog td{padding:12px 0;border-bottom:1px solid #d9ddd4;text-align:right;font-variant-numeric:tabular-nums}
  .academy-progress-dialog th:first-child{text-align:left;padding-right:12px;max-width:210px}
  .academy-progress-dialog td:last-child,.academy-progress-dialog th:last-child{padding-left:16px}
  .academy-progress-dialog .academy-category-stars{color:#87660e;font-size:16px;letter-spacing:2px;white-space:nowrap}
  .academy-progress-dialog .progress-note{font-size:12px;margin:20px 0 0}
  @media(max-width:760px){.academy-wheel-layout{grid-template-columns:1fr;gap:8px;padding:0 0 24px}.academy-wheel-art{max-width:380px}.academy-turn{align-items:center;max-width:400px;width:100%;text-align:center;margin:auto}.academy-turn .century-name{margin:4px 0 16px;font-size:10px}.academy-turn .mastered-count{justify-content:center;gap:16px;margin-bottom:15px}.academy-turn .mastered-number{font-size:70px}.academy-turn .mastered-count[data-digits="4"] .mastered-number{font-size:58px}.academy-turn .mastered-label{font-size:17px;text-align:left}.academy-turn .near-mastery{font-size:17px;line-height:1.5;max-width:310px;margin:0 auto 21px}.academy-turn #spin{margin:auto;min-height:54px;width:min(100%,285px)}.academy-turn #status{text-align:center;margin-bottom:3px}.academy-turn .progress-link{min-height:54px;width:min(100%,285px)}.academy-progress-dialog{padding:26px 22px}.academy-progress-dialog h2{font-size:29px}}
  @media(prefers-reduced-motion:reduce){.academy-turn #spin{transition:none}.academy-turn #spin:hover{transform:none}}
  
main:is([data-view="wheel"],[data-view="taste"]) .play-head{margin-bottom:20px}main:is([data-view="wheel"],[data-view="taste"]){max-width:1240px}main:is([data-view="wheel"],[data-view="taste"]) .academy-wheel-art{max-width:580px}

.academy-intro{--vineyard:url('assets/vineyard-hero.webp')}
body:has(main[data-view="home"]){background:#f8f3e8;color:#24241c}
main[data-view="home"]{width:100%;max-width:none;margin:0;padding:0}
.preview-note{margin:0;padding:9px 20px;background:#22281f;color:#fff8e8;text-align:center;font:14px/1.4 var(--sans)}
.academy-intro{display:grid;align-content:end;min-height:clamp(630px,55vw,820px);padding:clamp(24px,7vw,116px);color:#fffaf0;background:linear-gradient(90deg,rgba(18,21,15,.91),rgba(18,21,15,.72) 35%,transparent 79%),linear-gradient(0deg,rgba(18,21,15,.68),transparent 65%),var(--vineyard) center/cover}
.academy-intro h1{font:400 clamp(48px,7.1vw,110px)/.95 var(--serif);letter-spacing:-.055em;max-width:10.5ch;margin:24px 0;color:inherit}
.academy-intro h1 em{color:#ffe2a6}
.academy-intro .eyebrow,.edition-label{font:700 14px/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase}
.academy-intro .eyebrow{color:#ffe2a6;margin:0}
.academy-intro .lede{max-width:38ch;color:inherit;font:19px/1.55 var(--sans);margin:0}
.academy-intro .wheel-start{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin:30px 0 0;padding:20px 0 0;border:0;border-top:1px solid #fff8e880;border-radius:0;background:none;max-width:510px}
.academy-intro .wheel-start p{color:inherit;font:16px/1.45 var(--sans);margin:0}
.academy-intro .wheel-start .primary{background:#ffe2a6;color:#292419}
main[data-view="home"]{--shelf-gutter:max(6vw,calc((100% - 1330px)/2))}
.academy-shelf{padding:clamp(46px,7vw,110px) var(--shelf-gutter);margin:0}
.edition-label{display:block;color:#713245;margin-bottom:14px}
.academy-shelf>h2{font:400 clamp(42px,6.4vw,90px)/1 var(--serif);letter-spacing:-.045em;margin:0 0 18px;color:#24241c}
.academy-shelf>p{font:18px/1.5 var(--sans);margin:0 0 32px}
.academy-shelf .levels,.regional-list{display:block;list-style:none;padding:0;margin:0}
.academy-shelf .level{background:none;border:0;border-top:1px solid #a99b81;border-radius:0;padding:24px 0;min-height:0;color:#24241c;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr) minmax(170px,.65fr);gap:6px 30px;align-items:start}
.academy-shelf .level h3{grid-column:1;grid-row:2/span 2;font:400 clamp(28px,3vw,46px)/1.05 var(--serif);letter-spacing:-.025em;color:#24241c;margin:0;overflow-wrap:anywhere}
.academy-shelf .level .tag{grid-column:1;grid-row:1;color:#713245;font:700 13px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0}
.academy-shelf .level p{grid-column:2;grid-row:1/span 2;margin:0;color:#39352c;font:17px/1.55 var(--sans)}
.academy-shelf .level .count{grid-column:2;grid-row:3;color:#534638;font:15px/1.45 var(--sans);margin:0}
.academy-shelf .level .bar{grid-column:2;grid-row:4;margin:5px 0 0;background:#d9cdb7}
.academy-shelf .level .actions{grid-column:3;grid-row:1/span 4;justify-content:flex-end;margin:0;align-self:center}
main[data-view="home"] button:disabled{opacity:1;cursor:default;filter:none}
.academy-shelf .primary.small{background:#703246;color:#fff9ed;box-shadow:none}
main[data-view="home"] .secondary{color:#592737;border-color:#916678}
.academy-shelf .level.bundle{padding-inline:clamp(14px,3vw,36px);background:#ede1c9;border-top:3px solid #703246}
.academy-shelf .level .level-copy{grid-column:2;grid-row:1/span 3;align-self:center;display:flex;flex-direction:column;gap:6px}
.academy-shelf .level.bundle .actions{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;justify-self:stretch}
.academy-shelf.atlas{background:#e6e9dc}
.atlas .edition-label{color:#354e36}
.atlas .level{border-color:#99a38d}
.atlas .level h3{grid-row:1/span 3;color:#253c2a;font-size:clamp(29px,3.2vw,49px)}
.atlas .level .tag{display:none}
.atlas .regional-packages{margin-top:36px}
.atlas .regional-packages > h3{margin:0 0 12px;color:#354e36;font:700 13px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.atlas .regional-package h3{align-self:center}
.atlas .regional-package .actions{justify-self:end}
.atlas .regional-package-global{background:#dce3d2;border-top:3px solid #354e36}

main[data-view="home"] :is(.rules,.keybox){max-width:960px;margin:36px auto;padding:24px clamp(20px,5vw,56px);background:transparent;border:0;color:#24241c}
main[data-view="home"] .rules{max-width:none;padding-inline:var(--shelf-gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);align-items:center;gap:clamp(24px,5vw,80px)}
.rules-wheel{width:min(100%,420px);margin:0 auto}
.rules-wheel svg{display:block;width:100%;height:auto}
@media(max-width:780px){main[data-view="home"] .rules{grid-template-columns:minmax(0,1fr)}.rules-wheel{max-width:300px}}
main[data-view="home"] :is(.rules,.keybox) :is(h2,p,ol){color:#24241c}
footer{padding:24px;background:#22281f}
@media(max-width:780px){
.academy-intro{min-height:620px;background-position:60% center;background-image:linear-gradient(0deg,rgba(18,21,15,.96),rgba(18,21,15,.79) 48%,transparent 89%),var(--vineyard)}
.academy-shelf .level{display:flex;flex-direction:column;gap:9px}
.academy-shelf .level .actions{justify-content:flex-start;align-self:flex-start;margin-top:3px}
.atlas .regional-package h3{align-self:flex-start}
.academy-shelf .level .bar{width:min(100%,320px)}
.academy-shelf .level .level-copy{align-self:stretch}
.academy-shelf .level.bundle .actions{width:100%;align-self:stretch}
}

main[data-view="home"]::before{display:none}.academy-shelf .level h3{grid-column:1}.academy-shelf .level p{margin:0}.academy-shelf .level .actions button{min-height:48px}.academy-shelf .regional-package-global{padding-inline:0}
/* Override the earlier dark tile treatment inside the editorial shelves. */
main[data-view="home"] .academy-shelf .level{background:transparent}
main[data-view="home"] .academy-shelf .level.bundle{background:#ede1c9}
main[data-view="home"] .academy-shelf .regional-package-global{background:#dce3d2}

@media(min-width:981px){.academy-shelf .level{grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr) 280px}.academy-shelf .level .actions{gap:10px}.academy-shelf .level .actions button{padding-inline:14px;font-size:13px}}
@media(min-width:781px) and (max-width:980px){.academy-shelf .level{grid-template-columns:minmax(170px,1fr) minmax(200px,1.3fr)}.academy-shelf .level .actions{grid-column:2;grid-row:4;justify-content:flex-start}.academy-shelf .level .bar{grid-row:5}.academy-shelf .level.bundle .actions{grid-row:4}}

/* Category milestones: a distinct, persistent moment above the answer. */
.category-celebration{position:fixed;inset:0;margin:auto;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:36px 32px 30px;border:1px solid #d8b555;border-radius:12px;background:radial-gradient(ellipse at 50% 0%,#344435 0%,#202a23 65%);color:#fff;text-align:center;box-shadow:0 25px 110px #0009;isolation:isolate;animation:category-arrive .45s ease-out}
.category-celebration::backdrop{background:#111a14bd;backdrop-filter:blur(5px)}
.category-celebration .category-seal{position:relative;display:grid;place-items:center;width:76px;height:76px;margin:0 auto 20px;background:var(--category-color);border:2px solid #e4be59;border-radius:50%;box-shadow:0 0 0 7px #e4be5914,0 0 45px #e4be5920}
.category-seal svg{width:46px;height:46px}.category-seal span{position:absolute;right:-5px;bottom:-4px;background:#e4be59;border-radius:50%;width:27px;height:27px;line-height:27px;color:#213025;font-weight:bold;font-size:19px}
.category-celebration .category-kicker{margin:0 0 14px;color:#f1cf75;font:700 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.category-celebration h2{margin:0;color:#fff;font:400 clamp(38px,6vw,60px)/1.03 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.category-celebration h2 em{color:#f1cf75;font-weight:400}.category-celebration #category-milestone-copy{margin:20px auto;color:#f5f5ed;font:16px/1.65 var(--sans);max-width:370px}
.category-milestone-count{display:flex;justify-content:center;align-items:center;gap:12px;margin:23px auto 14px}.category-milestone-count b{color:#f1cf75;font:400 52px/1 var(--serif)}.category-milestone-count span{text-align:left;font:14px/1.45 var(--sans);color:#fff}
.category-celebration .category-next-milestone{margin:0 auto 23px;color:#e3e6db;font:14px/1.6 var(--sans);max-width:350px}.category-celebration .primary{position:relative;min-width:220px;min-height:50px;z-index:1}
.category-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:-1}.category-confetti i{position:absolute;top:-20px;left:var(--x);width:7px;height:13px;background:var(--confetti-color);opacity:0;animation:category-confetti 3.2s var(--delay) ease-out both}
@keyframes category-confetti{0%{opacity:0;transform:translateY(-20px) rotate(0)}10%{opacity:.95}85%{opacity:.75}100%{opacity:0;transform:translate(var(--drift),650px) rotate(var(--turn))}}
@keyframes category-arrive{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){.category-celebration{padding:28px 22px}.category-celebration .category-seal{width:62px;height:62px;margin-bottom:16px}.category-celebration #category-milestone-copy{font-size:15px;margin:16px auto}.category-milestone-count{margin:18px auto 12px}}
@media(prefers-reduced-motion:reduce){.category-celebration{animation:none}.category-confetti{display:none}}

/* Explicit final-exam confirmation, before any answer is recorded. */
.opt.selected,.opt.selected:hover:not(:disabled){border:2px solid var(--wine);padding:12px 13px;background:#f9edf2}
.opt.selected b{background:var(--wine);border-color:var(--wine);color:#fff}
.exam-confirm{margin-top:22px;padding:20px;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:3px;background:#fff}
.exam-confirm h2{font:400 25px/1.25 var(--serif);color:var(--ink);margin:0 0 10px}
.exam-confirm p{margin:0 0 16px}.exam-confirm .primary{width:100%}
.exam-confirm .exam-confirm-hint{font:13px/1.5 var(--sans);color:#5f625b;margin:12px 0 0}
.exam-confirm #exam-error:empty{display:none}.exam-confirm #exam-error{color:var(--no);margin:12px 0 0}
.completion-note{max-width:520px;margin:0 auto 26px;font:13px/1.6 var(--sans);color:#c4c8bd}

/* Century-specific cover art; preserve the approved editorial shelves and wide margins. */
.academy-shelf .level .century-title-with-cover{display:flex;align-items:flex-start;gap:16px;min-width:0;font-size:clamp(26px,2.6vw,40px)}
.century-cover-tile{display:block;position:relative;width:88px;flex:0 0 88px;aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.century-cover-art{display:block;width:100%;height:100%;object-fit:cover}
.century-cover-mark{position:absolute;top:4%;right:4%;width:23%;height:auto;object-fit:contain}
main:is([data-view="wheel"],[data-view="taste"]) .play-head{align-items:flex-start;justify-content:space-between}
.century-hero-mark{display:block;width:clamp(88px,12vw,150px);height:auto;object-fit:contain;flex:none}
@media(max-width:780px){.academy-shelf .level .century-title-with-cover{font-size:30px;align-items:center}.century-cover-tile{width:96px;flex-basis:96px}.century-hero-mark{width:82px}.play-head>div{min-width:0;flex:1}main:is([data-view="wheel"],[data-view="taste"]) h1{overflow-wrap:anywhere}}
.greeting{margin:0 0 10px;font-size:22px;font-weight:600;color:#ffe3a3}
.buy .hint,.cert-block .hint{margin:4px 0 0;font-size:15px;opacity:.8}
.buy.profile details{margin:14px 0}.buy.profile summary{cursor:pointer;font-weight:600}
.buy.profile select{width:100%;box-sizing:border-box;padding:10px;font:inherit}
.cert-block{margin:22px auto 0;padding:18px 20px;max-width:520px;border:1px solid #c7a442;border-radius:8px;background:#fffdf8;text-align:left}
.cert-block h2{margin:0 0 8px;font-size:22px}.cert-block label{display:block;margin:10px 0 4px;font-weight:600}.cert-block input[type=text],.cert-block input[type=email],.cert-block input:not([type]){width:100%;box-sizing:border-box;padding:10px;font:inherit;border:1px solid #8b8f84;border-radius:4px}
.cert-block .check{display:flex;gap:8px;align-items:center;font-weight:400}.cert-block .check input{width:auto}
.primary-link{display:inline-block;padding:12px 20px;border-radius:4px;background:#5b1f2e;color:#fff;font-weight:700;text-decoration:none}
.cert-status{min-height:22px;margin:8px 0 0}.cert-list{list-style:none;margin:0 0 12px;padding:0}.cert-list li{display:flex;gap:14px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e3dccb}
.cert-offer{margin:14px 0 4px}
.buy input:not([type]),.buy input[type=text],.buy select{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;font:16px var(--sans);border-radius:3px;border:1px solid #8b8f84;background:#fffdf7;color:var(--ink)}
.cert-block{color:#1d211d}.cert-block h2{color:#5b1f2e}.cert-block .hint{color:#4a4a42}
.cert-block input:not([type]),.cert-block input[type=email]{min-height:46px;background:#fff;color:#1d211d}
.keybox.certs a,.keybox.certs .linkish{color:#5b1f2e;font:600 16px var(--sans);text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}
.masterclass-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;width:100%;max-width:760px;margin:18px 0 0;padding:12px 18px;border:1px solid #8a6516;border-radius:4px;background:linear-gradient(180deg,#f6dc8a,#d3a43a);color:#2b1d05;font:15px/1.4 var(--sans);text-align:left;cursor:pointer;box-shadow:0 2px 0 #8a651655}
.masterclass-strip:hover,.masterclass-strip:focus-visible{background:linear-gradient(180deg,#fae59e,#dcae45)}
.masterclass-strip .mc-kicker{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:13px}.masterclass-strip .mc-text{flex:1 1 260px}.masterclass-strip .mc-go{font-weight:800;white-space:nowrap}
.masterclass-card{border:3px solid #d3a43a}.masterclass-pic{background:linear-gradient(135deg,#f6dc8a,#c9972a)!important;min-height:90px;display:flex;align-items:center;justify-content:center}
.masterclass-pic .badge{background:#2b1d05;color:#f6dc8a}
.masterclass-note{margin:14px 0;padding:10px 14px;border-left:4px solid #d3a43a;background:#fbf1cf;color:#2b1d05;font:15px/1.5 var(--sans)}
.masterclass-end h1{color:#f6dc8a}
.masterclass-card .masterclass-pic{aspect-ratio:auto;height:96px;min-height:0;max-height:96px}

.taste-start{margin-top:18px}
.code-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:6px 0 4px}.code-row input{flex:1 1 180px;text-transform:uppercase}
.taste-end h1{color:#f6dc8a}
.taste-card .pic{aspect-ratio:auto;height:96px;min-height:0;max-height:96px;display:flex;align-items:center;justify-content:center}.taste-card .pic svg{width:44px;height:44px}

.cert-block .cert-form{display:grid;gap:10px}.cert-block .linkish{color:var(--wine-dk);text-decoration:underline}.cert-list li{flex-wrap:wrap}.cert-block button:disabled{opacity:.65;cursor:wait}
.cert-block .check input[type=checkbox]{appearance:auto;flex:0 0 22px;width:22px;height:22px;min-height:0;padding:0;margin:0;accent-color:var(--wine)}
.buy.profile input[type=checkbox]{accent-color:var(--wine)}

/* Academy homepage: user selected option A, Lake Iseo, 2026-11-05. */
main[data-view="home"] .academy-intro{
  --vineyard:url('assets/academy-home-lake-iseo.webp');
  background:linear-gradient(90deg,rgba(18,26,18,.70),rgba(18,26,18,.51) 29%,rgba(18,26,18,.16) 49%,transparent 69%),linear-gradient(0deg,rgba(18,26,18,.26),transparent 52%),var(--vineyard) 50% 48%/cover;
}
main[data-view="home"] .academy-intro h1{text-shadow:0 2px 18px #101a1260}
main[data-view="home"] .academy-intro :is(.lede,.wheel-start p){text-shadow:0 1px 8px #101a12b0}
@media(max-width:780px){
  main[data-view="home"] .academy-intro{
    background:linear-gradient(0deg,rgba(18,26,18,.83),rgba(18,26,18,.52) 45%,rgba(18,26,18,.15) 76%,transparent),var(--vineyard) 60% center/cover;
  }
}
@media(max-width:560px){
  main[data-view="home"] .academy-intro{padding:30px 24px;min-height:640px}
  main[data-view="home"] .academy-intro h1{font-size:54px}
  main[data-view="home"] .academy-intro .lede{font-size:17px;max-width:29ch}
  main[data-view="home"] .academy-intro .eyebrow{font-size:11px}
  main[data-view="home"] .academy-intro .wheel-start{gap:12px;margin-top:24px}
  main[data-view="home"] .academy-intro .wheel-start p{font-size:14px}
}
.restore-form{margin-top:10px}.restore-form input{max-width:160px}.mykeys{list-style:none;padding:0;margin:8px 0}.mykeys code{font:600 16px var(--sans);letter-spacing:.04em}

/* Pairing Guide, gift greeting, Tell us */
.gift-banner{margin:18px 0;padding:16px 18px;border:1px solid #b08d3c;background:rgba(255,255,255,.06);color:inherit;border-radius:10px}.gift-banner a,.hint a,.fineprint a{color:#e6c866}
.gift-welcome{font-size:1.25rem;margin:0 0 6px;font-weight:600}.gift-line{margin:0 0 8px}
.pair{max-width:880px;margin:0 auto}.pair-start .secondary{margin-left:8px}
.pair-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.pair-tab{padding:10px 16px;border:1px solid #c9b88a;border-radius:999px;background:#fff;cursor:pointer;font:inherit}
.pair-tab.on{background:#5e7f4b;color:#fff;border-color:#5e7f4b}
#pair-q,#tbl-q{width:100%;padding:12px 14px;font:inherit;border:1px solid #c9b88a;border-radius:8px;box-sizing:border-box}
.pair-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:12px 0}
.pair-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid #e0d6bd;border-radius:8px;background:#fff;cursor:pointer;font:inherit}
.pair-item small{color:#7a6a3a}
.pair-detail{margin-top:16px}.pair-card{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.pair-pic{width:140px;height:140px;border-radius:10px;overflow:hidden;background:#5e7f4b;display:flex;align-items:center;justify-content:center;flex:none}
.pair-pic img{width:100%;height:100%;object-fit:cover}.pair-ph svg{width:64px;height:64px}
.pair-h{margin:18px 0 6px;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
.pair-h.best{color:#2f6b3a}.pair-h.good{color:#5e7f4b}.pair-h.works-with-care{color:#a8661c}.pair-h.avoid{color:#9b2c2c}
.pair-wines{list-style:none;padding:0;margin:0}.pair-wines li{margin:0 0 10px}.pair-wines p{margin:2px 0 0}
.pair-go{font-weight:600;text-align:left}
.tellus-form textarea{width:100%;box-sizing:border-box;padding:8px;font:inherit;border:1px solid #c9b88a;border-radius:8px}
.tellus{display:inline-block;margin-top:6px}
.card .secondary,.card .tellus .secondary{color:#6a1530;background:#fff;border:1px solid #a8174a}.card .linkish{color:#7a1d3c}.card .tellus-status{color:#7a1d3c}

/* Reviewed Pairing Guide: clear contrast, useful ingredient controls, full photo panels. */
main[data-view="pairing"]{background:#f8f5ed;color:#243b2c;min-height:80vh;padding-bottom:50px}
.pair .linkish,.pair .pair-go{color:#781d42}.pair .hint,.pair .fineprint{color:#53614f}.pair .hint a,.pair .fineprint a{color:#781d42}
.pair .secondary{color:#781d42;background:#fff;border:1px solid #781d42}.pair-tab,.pair-item{color:#243b2c}
.pair-modifier{border-block:1px solid #d6d5c5;margin:22px 0;padding:16px 0}.pair-modifier label{display:block;font-weight:600;margin-bottom:9px}.pair-modifier select{max-width:100%;width:100%;padding:12px;color:#243b2c;background:#fff;border:1px solid #a9ad9d;font:inherit}
.pair-question .pic{position:relative;align-self:stretch;min-height:450px}.pair-question .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:780px){.pair-question .pic{min-height:280px}.pair{padding-inline:18px}.pair-card>div:last-child{flex:1 1 200px}}

.pair-wines .pair-go{font:600 19px/1.4 Georgia,serif;letter-spacing:0;text-transform:none;padding:0}.pair-source{font:14px/1.5 Arial,sans-serif;color:#58665b;margin-top:12px}.pair-source summary{cursor:pointer}.pair-source p{font:inherit;overflow-wrap:anywhere}

.pair .lede{color:#354a3b}.pair .academy-turn,.pair .academy-turn .century-name{color:#6e223e;text-shadow:none}
.pair-question.no-photo .pic{height:100px;min-height:100px;aspect-ratio:auto}.pair-question.no-photo .pic svg{width:50px;height:50px}
.pair-question .answer>p:last-child{display:flex;flex-wrap:wrap;gap:10px}
@media(min-width:1180px){main[data-view="pair-card"]{max-width:1500px;padding-inline:clamp(24px,4vw,72px)}.pair-question.has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:none;align-items:stretch}.pair-question.has-photo .pic{aspect-ratio:auto;min-height:450px}.pair-question.has-photo .body{padding:clamp(24px,3vw,48px)}}

/* Pairing Guide: photo tiles, ingredient buttons, balance bars, table dinner */
.pair-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0}
.pair-tile{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;border:1px solid #e0d6bd;border-radius:10px;background:#fff;color:#1d211d;cursor:pointer;font:inherit;overflow:hidden}
.pair-tile-pic{display:block;aspect-ratio:4/3;background:#f2ecdb;overflow:hidden}.pair-tile-pic img{width:100%;height:100%;object-fit:cover;display:block}.pair-tile-pic .pair-ph{display:flex;align-items:center;justify-content:center;height:100%;color:#7a6a3a}
.pair-tile-name{padding:8px 10px 2px;font-weight:600;line-height:1.25}.pair-tile small{padding:0 10px 8px;color:#7a6a3a}
.pair-back{grid-column:1/-1;justify-self:start}
.pair-sec{margin:14px 0 4px;font-size:1rem;color:#5e7f4b;grid-column:1/-1}
.pair-mods{margin:14px 0;padding:12px;border:1px solid #e0d6bd;border-radius:10px;background:#fffaf1;color:#1d211d}.pair-mods-h{margin:0 0 8px;font-weight:600}
.pair-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.pair-chip{padding:8px 12px;border:1px solid #c9b88a;border-radius:999px;background:#fff;color:#1d211d;cursor:pointer;font:inherit}.pair-chip.on{background:#5e7f4b;border-color:#5e7f4b;color:#fff}
.pair-effect{margin:8px 0 0}.pair-moved{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#f3e6c4;color:#5a4710;font-size:.85em}
.pair-bal{font-size:.9em}
.pair-bars{margin:8px 0 12px;padding:10px 12px;border:1px solid #e0d6bd;border-radius:8px;background:#fff;color:#1d211d}.pb-key{margin:0 0 6px;font-size:.9em}.pb-dish::before,.pb-wine::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}.pb-dish::before{background:#a8661c}.pb-wine::before{background:#8e1d59}
.pb-row{display:grid;grid-template-columns:130px 1fr;gap:8px;align-items:center;margin:4px 0}.pb-lab{font-size:.9em}.pb-pair{display:flex;flex-direction:column;gap:3px}
.pb-seg{display:flex;gap:3px}.pb-seg i{flex:1;height:9px;border-radius:2px;background:#e8e0cb}.pb-seg i.on.d{background:#a8661c}.pb-seg i.on.w{background:#8e1d59}
@media (max-width:520px){.pb-row{grid-template-columns:96px 1fr}}
.pair-disclaimer{margin-top:18px}

/* Shared colors and readable food-group navigation across device sizes. */
.pair-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin:22px 0}.pair-tile-name{padding:14px 14px 8px}.pair-tile small{padding:0 14px 14px}.pair-tile{min-width:0}.pair-groups .pair-tile-pic{aspect-ratio:3/2}.pair-more{grid-column:1/-1;justify-self:center}.pair-bal{margin-left:12px;font-size:15px!important}.pair-bars{max-width:580px}.pair-disclaimer{color:#c9cbbf;max-width:1100px;margin:20px auto}.pair .pair-disclaimer{color:#526054}.pair-chip{min-height:44px}.pair-chip.on,.pair-tab.on{background:#8c164f;border-color:#8c164f;color:white}.pair-tile:focus-visible,.pair-chip:focus-visible{outline:3px solid #8c164f;outline-offset:3px}.pair-tabs{gap:10px}.pair-tile-pic .pair-ph{background:linear-gradient(135deg,#e6e3d4,#f5f0e3)}@media(max-width:520px){.pair-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pair-tile-name{padding:10px;font-size:16px}.pair-tab{padding:9px 12px}.pair-bal{display:block;margin:8px 0}.pair-groups .pair-tile-pic{aspect-ratio:4/3}}

/* The second button on the photograph must be readable: light text on a dark fill. */
main[data-view="home"] .academy-intro .secondary{color:#fff;background:rgba(20,16,12,.62);border:1px solid #f0d9a6}
main[data-view="home"] .academy-intro .secondary:hover{background:rgba(20,16,12,.8)}
.preorder-note{margin:14px 0;padding:12px 16px;max-width:620px;background:rgba(20,16,12,.62);border-left:3px solid #f0d9a6;color:#fff;font:500 15px/1.5 var(--sans)}
.buy .check{display:flex;gap:10px;align-items:flex-start;margin:14px 0}.buy .check input{width:auto;margin-top:4px}
/* One front page: what it teaches, the pictures, the gift, and the Founder’s welcome. */
main[data-view="home"] .academy-intro h1{max-width:15ch}
.academy-about{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:clamp(32px,5vw,64px) var(--shelf-gutter,clamp(20px,6vw,96px));background:#f7f1e6;color:#28241e}
main.academy-about .secondary{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;background:#751d3c;color:#fffdf7;border-color:#751d3c;text-decoration:none}
main.academy-about .secondary:hover{background:#592737;color:#fffdf7;border-color:#592737}
.academy-about h2{font:400 clamp(26px,3.4vw,38px)/1.1 var(--serif);margin:0 0 12px;color:#592737}.academy-about p{font:17px/1.6 var(--sans);margin:0 0 26px;max-width:60ch}
.about-pics{display:grid;gap:16px;align-content:start}.about-pics figure{margin:0}.about-pics img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px}.about-pics figcaption{padding:8px 0;color:#782345;font:700 13px var(--sans)}
.academy-shelf.gift p{max-width:62ch;font:17px/1.6 var(--sans)}
.academy-welcome{padding:clamp(40px,6vw,80px) 20px;text-align:center;background:#f7f1e6;color:#28241e}.academy-welcome h2{font:400 clamp(28px,4vw,44px)/1.15 var(--serif);color:#592737;max-width:22ch;margin:0 auto 18px}.academy-welcome p{font:17px/1.5 var(--sans);margin:0}
@media(max-width:780px){.academy-about{grid-template-columns:minmax(0,1fr)}}

/* 1.2.685 — one editorial front door; photographs, reading rhythm and clear actions. */
main[data-view="home"] .academy-arrival{min-height:640px;padding:clamp(44px,6vw,94px) clamp(24px,6vw,100px) 42px;display:block;background:linear-gradient(90deg,rgba(17,30,24,.8),rgba(17,30,24,.54) 38%,rgba(17,30,24,.07) 76%),url('assets/academy-home-lake-iseo.webp') center 48%/cover;color:#fffaf0}
main[data-view="home"] .academy-arrival h1{max-width:none;font:400 clamp(46px,5.8vw,86px)/1.04 var(--serif);letter-spacing:-.035em;margin:22px 0; color:#fffaf0}
.academy-arrival h1 em{font-weight:400;color:#f0d495}.academy-arrival .lede{font:19px/1.5 var(--sans);max-width:40ch!important;color:#fffaf0}
.academy-doors{display:flex;gap:32px;margin:34px 0 22px;max-width:690px}.academy-doors>div{flex:1;min-width:0}.door-label{font:600 12px/1.4 var(--sans);display:block;letter-spacing:.13em;text-transform:uppercase;color:#f1d799;margin-bottom:10px}.academy-doors button{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:18px 22px;min-height:62px;font-size:17px}.academy-doors small{display:block;margin-top:10px;font:13px/1.4 var(--sans);color:#fff7e3}.academy-doors .primary{background:#751d3c;border-color:#bd6582;color:#fff}.academy-doors .secondary{background:#fff8ed!important;color:#283c31!important;border:1px solid #fff8ed!important}.hero-key{font:14px/1.5 var(--sans);color:#fff7e3;background:none;border:0;padding:5px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
main[data-view="home"] .academy-about{padding-block:72px;align-items:center;gap:7vw;background:#faf6ed}.academy-about .edition-label{font-size:11px;letter-spacing:.13em}.academy-about h2{font-size:clamp(36px,4.2vw,58px);letter-spacing:-.025em;color:#2e4035}.academy-about .about-pair{font-size:16px;border-top:1px solid #d8cbb6;padding-top:20px}.about-pair strong{display:block;color:#752c44;margin-bottom:5px}.academy-about .about-pics{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}.academy-about .about-pics figure{margin:0}.academy-about .about-pics figure:last-child{margin-top:85px}.about-pics img{width:100%;height:290px;object-fit:cover}.about-pics figcaption{font-size:11px;letter-spacing:.06em;margin-top:12px;color:#6f655b}
main[data-view="home"] .rules{background:#eae7db;color:#2f4136;padding-block:55px}.rules h2{color:#2f4136}.rules li{line-height:1.65}.rules .course-note{color:#5a6258}.preorder-note{font:14px/1.65 var(--sans);color:#70435a;background:#f1e5e5;padding:14px 18px;border-left:3px solid #7a2946;max-width:80ch}
main[data-view="home"] .academy-welcome{padding:48px 20px 54px;border-top:1px solid #dfd4c3;background:#f4ecdf}.academy-welcome h2{max-width:none;font:400 clamp(25px,3.3vw,43px)/1.22 var(--serif);color:#573344}.academy-welcome h2 span{display:block}.academy-welcome .welcome-signature{font:italic 25px/1.3 var(--serif);margin-top:20px;color:#74513e}
.academy-return{padding:40px var(--shelf-gutter,5vw);background:#243a2e;color:#fff8eb}.academy-return h1{font:400 clamp(35px,4vw,56px)/1.15 var(--serif);color:#fff8eb;margin:12px 0 25px}.academy-return .wheel-start{background:transparent;color:#fff8eb;padding:20px 0;border-bottom:1px solid #6d7962;border-radius:0}.academy-return .wheel-start h2,.academy-return .wheel-start p{color:#fff8eb}.academy-return .secondary{color:#fff8eb}.owned-shelf{background:#f3eddf}.keybox form{gap:12px}.keybox input{min-width:0}.keybox{scroll-margin-top:30px}
@media(max-width:780px){main[data-view="home"] .academy-arrival{min-height:610px;background:linear-gradient(90deg,rgba(17,30,24,.78),rgba(17,30,24,.36)),url('assets/academy-home-lake-iseo.webp') 62% center/cover}.academy-about .about-pics img{height:240px}.academy-doors{gap:18px}main[data-view="home"] .academy-about{padding-block:44px}.academy-about .about-pics figure:last-child{margin-top:40px}}
@media(max-width:520px){main[data-view="home"] .academy-arrival{padding:32px 22px;min-height:610px}main[data-view="home"] .academy-arrival h1{font-size:46px}.academy-doors{gap:22px;flex-direction:column;margin:26px 0 18px}.academy-doors>div{max-width:100%}.academy-doors button{padding:15px 18px;min-height:54px}.academy-doors small{margin-top:6px}.door-label{font-size:10px;margin-bottom:7px}.academy-arrival .lede{font-size:17px!important}.academy-about .about-pics img{height:210px}.academy-welcome h2{font-size:25px}.academy-welcome h2 span{white-space:normal}.keybox form{flex-direction:column}.keybox form button{width:100%}}

.pp-course-offer{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:28px;align-items:center;border-top:1px solid #c9bba3;margin-top:35px;padding-top:30px}.pp-course-offer>img{width:110px;height:110px;object-fit:contain}.pp-course-offer h3{font:38px/1.1 var(--serif);color:#69233e;margin:5px 0 12px}.pp-course-offer p{max-width:64ch;font:15px/1.6 var(--sans)}.pp-course-offer .actions{display:grid;gap:10px}.pp-course-offer .edition-label{font-size:10px}@media(max-width:780px){.pp-course-offer{grid-template-columns:75px 1fr;gap:18px}.pp-course-offer>img{width:75px;height:75px}.pp-course-offer .actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media(max-width:480px){.pp-course-offer .actions{grid-template-columns:1fr}.pp-course-offer h3{font-size:31px}}

/* Hooked on Vino logo sits on a cream plate inside the dark masthead. */
.brand{background:#faf3ea;border-radius:10px;padding:4px 12px}.brand img{height:52px}
@media(max-width:560px){.brand{padding:3px 8px}.brand img{height:42px}}

/* Keep the game and its controls together on tablets. */
.founder-preview-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;padding:8px 16px;background:#f7f2e7;color:#412735;font:12px/1.5 var(--sans)}
.founder-preview-tools span{font-weight:700}.founder-preview-tools a{color:#72223f;text-underline-offset:3px;padding:4px 0}
main:is([data-view="wheel"],[data-view="taste"]){max-width:1100px;padding:18px 24px 12px}
main:is([data-view="wheel"],[data-view="taste"]) .play-head{margin:0 0 4px}
main:is([data-view="wheel"],[data-view="taste"]) h1{font-size:clamp(32px,4vw,44px);margin-bottom:4px}
main:is([data-view="wheel"],[data-view="taste"]) .academy-wheel-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,52px);padding:8px 0 12px;max-width:1000px}
main:is([data-view="wheel"],[data-view="taste"]) .academy-wheel-art{max-width:min(43vw,430px,calc(100svh - 300px))}
main:is([data-view="wheel"],[data-view="taste"]) .academy-turn{max-width:350px}
.academy-turn .century-hero-mark{width:clamp(190px,23vw,260px);height:auto;margin:0 0 22px;align-self:center}
main[data-view="wheel"] .academy-turn .century-name{display:none}
main:is([data-view="wheel"],[data-view="taste"]) .mastered-count{gap:16px;margin-bottom:16px}
main:is([data-view="wheel"],[data-view="taste"]) .mastered-number{font-size:72px}
main:is([data-view="wheel"],[data-view="taste"]) .mastered-count[data-digits="4"] .mastered-number{font-size:58px}
main:is([data-view="wheel"],[data-view="taste"]) .mastered-label{font-size:18px}
main:is([data-view="wheel"],[data-view="taste"]) .near-mastery{font-size:17px;line-height:1.45;margin-bottom:18px}
main:is([data-view="wheel"],[data-view="taste"]) #spin{min-height:48px;padding:12px 20px}
main:is([data-view="wheel"],[data-view="taste"]) .progress-link{min-height:48px;padding:12px 20px;margin-top:8px}
main:is([data-view="wheel"],[data-view="taste"]) .scope-row{margin:8px auto 0;font-size:14px}
main:is([data-view="wheel"],[data-view="taste"]) .fineprint{margin-top:8px}
body:has(main:is([data-view="wheel"],[data-view="taste"])) footer{margin-top:0;padding:18px 16px;font-size:13px}
main[data-view="taste"] .century-hero-mark{width:200px;margin-bottom:14px}
main[data-view="taste"] .century-name{margin-bottom:10px}
main[data-view="taste"] .mastered-number{font-size:54px}
main[data-view="taste"] .near-mastery{display:none}
.demo-explanation{font:14px/1.5 var(--sans);margin:18px 0 0;max-width:340px;color:#f7f2e7}
#tasteMaster{padding-left:0;text-align:left;font-size:14px}
#giftbox{display:grid;gap:10px}#gift-for{width:100%;min-height:48px;padding:10px 14px;border:1px solid #8b8f84;border-radius:3px;font:16px var(--sans);background:#fffdf7;color:var(--ink)}
@media(min-width:761px) and (max-width:1179px){
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]){padding:18px 24px 24px}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .pic{aspect-ratio:auto;height:190px;min-height:0;max-height:190px}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .body{padding:18px 24px}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .q{font-size:21px;margin-bottom:14px}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .opts{gap:8px}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .opt{padding:10px 14px;min-height:48px}
}
@media(max-width:760px){
 main:is([data-view="wheel"],[data-view="taste"]){padding:16px 16px 10px}
 main:is([data-view="wheel"],[data-view="taste"]) .academy-wheel-layout{grid-template-columns:1fr;gap:14px;padding-top:2px}
 main:is([data-view="wheel"],[data-view="taste"]) .academy-wheel-art{max-width:min(78vw,330px)}
 .academy-turn .century-hero-mark{width:180px;margin:0 0 16px}
 main:is([data-view="wheel"],[data-view="taste"]) .mastered-number{font-size:58px}
 main:is([data-view="wheel"],[data-view="taste"]) .near-mastery{margin-bottom:16px}
 .demo-explanation{text-align:center;margin-top:14px}#tasteMaster{text-align:center;padding:0 6px}
}

/* Public report traps are unreachable in normal keyboard and screen-reader use. */
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.academy-shelf .level .century-title-with-cover{overflow-wrap:normal;word-break:normal;hyphens:none;font-size:clamp(24px,2.4vw,36px)}
.pp-lookup{padding:24px 0;margin-bottom:24px;border-bottom:1px solid var(--line,#ddd)}
.pp-lookup h3{margin:0 0 10px}.pp-lookup-search{display:flex;gap:12px;flex-wrap:wrap}.pp-lookup-search input{flex:1;min-width:180px}
.pp-lookup-result{margin-top:16px}.pp-lookup-result:empty{display:none}.pp-lookup-choices{margin-top:20px}.pp-lookup-styles{max-height:340px;overflow:auto}
.pp-wine-report form{max-width:480px;padding:18px 0}.pp-wine-report label{display:block;margin:10px 0}.pp-wine-report input{display:block;width:100%;box-sizing:border-box}

@media(min-width:981px){.academy-shelf .level{grid-template-columns:minmax(290px,1.2fr) minmax(220px,1.4fr) 220px}}
@media(min-width:781px) and (max-width:980px){.academy-shelf .level{grid-template-columns:minmax(280px,1fr) minmax(200px,1.3fr)}}

.pp-wine-portrait{margin:0 0 24px;max-width:340px}.pp-wine-portrait .pp-photo{display:block;aspect-ratio:1;overflow:hidden}.pp-wine-portrait img{width:100%;height:100%;object-fit:cover}.pp-wine-portrait figcaption{font:12px/1.45 var(--sans);color:#6f655b;margin-top:8px}

.pp-photo-note{font:13px/1.45 Arial,sans-serif;color:#726858;margin:8px 0 20px;}

/* Reviewed Spain card artwork disclosure. */
.academy-art-note{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:rgba(32,22,18,.84);color:#fff;font-size:11px;line-height:1.35;font-weight:400;z-index:1}

/* Full question photographs, shared by demo, Master samples and owned Centuries. */
main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]){max-width:1200px;margin-inline:auto;padding:24px clamp(16px,3vw,40px) 32px}
main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card{display:grid;grid-template-columns:minmax(0,1fr);max-width:760px;align-items:start}
main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card>.pic{position:relative;display:flex;aspect-ratio:3/2;width:100%;height:auto;min-height:0;max-height:none;background:#171d18;align-self:start;overflow:hidden}
main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card>.pic::before{display:none;content:none;padding:0}
main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card>.pic>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card>.body{min-width:0;padding:22px clamp(18px,2.5vw,32px)}
@media(min-width:600px) and (max-width:899px){
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card>.pic{aspect-ratio:auto;height:300px}
}
@media(min-width:900px){
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);max-width:1120px;align-items:start}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .card>.pic{margin-top:0;align-self:start;position:relative;top:auto}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .q{font-size:clamp(20px,1.7vw,24px);line-height:1.3}
 main:is([data-view="card"],[data-view="hundredth-card"],[data-view="taste-card"],[data-view="masterclass"]) .opt{font-size:17px;padding:12px 14px;min-height:48px}
}

/* 695: demo celebration and readable, compact wine/dish check. */
.taste-celebrate{position:relative;overflow:hidden;min-height:390px}.taste-celebrate>*:not(.category-confetti){position:relative;z-index:1}
#wine-dish-check{padding:0 0 1.5rem;margin:0 0 1.5rem;border-bottom:1px solid #d8ccba}#wine-dish-check input{width:100%;box-sizing:border-box;padding:12px;font:inherit;border:1px solid #c9bbad;background:#fff;border-radius:4px}#wine-dish-check h3{margin-top:0}#wine-dish-check label{display:block;margin:8px 0}.pp-wine-sources a{color:#741d3b;text-decoration:underline}input[hidden],label[hidden]{display:none!important}
