@font-face{font-family:'Instrument Serif';src:url('/static/opal/fonts/instrument-serif-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/static/opal/fonts/instrument-serif-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/static/opal/fonts/instrument-sans-latin-wght-normal.woff2') format('woff2');font-weight:400 700;font-display:swap}
/* GRAND COMPLICATION: ivory and navy, salmon for actions, enamel blue, emerald and gold for the prizes.
   Instrument Serif for display with italics for the prize names, Instrument Sans for reading. Gold appears as fine lines only. */
:root{--bg:#F6F1E7;--surface:#FFFCF6;--surface-2:#ECE4D3;--ink:#13213F;--muted:#5A6072;--line:rgba(19,33,63,.14);--btn-line:rgba(19,33,63,.3);--accent:#E8805F;--accent-ink:#13213F;--accent-hover:#DA6B48;--pop:#E8805F;--pop-ink:#13213F;--gold:#A87A2A;--blue:#1E4E9E;--emerald:#0E6A4F;--hero-scrim:19,33,63;--bar-h:5px;--bar-bg:rgba(19,33,63,.1);--bar-fill:#1E4E9E;--radius:16px;--radius-btn:999px;
--shadow-1:0 1px 2px rgba(19,33,63,.05),0 14px 30px -20px rgba(19,33,63,.3);--shadow-2:0 2px 4px rgba(19,33,63,.05),0 34px 60px -30px rgba(19,33,63,.45);
--pill-bg:rgba(255,252,246,.86);--pill-blur:blur(18px) saturate(1.2);--pill-ink:#13213F;--pill-edge:rgba(19,33,63,.1);--pill-dot:#E8805F;--pill-hover:rgba(19,33,63,.06);--pill-cart:#13213F;--pill-cart-ink:#F6F1E7;--pill-cart-hover:#1E4E9E;--pill-count-ink:#13213F;
--font-display:'Instrument Serif',Georgia,serif;--font-body:'Instrument Sans',system-ui,sans-serif;--display-weight:400;--display-track:-.01em}
.gc-e-blue{--en:#1E4E9E;--en2:#2E66C4;--en-ink:#F6F1E7;--en-soft:rgba(246,241,231,.82)}
.gc-e-salmon{--en:#EE9B7E;--en2:#F6BBA4;--en-ink:#13213F;--en-soft:rgba(19,33,63,.78)}
.gc-e-emerald{--en:#0E6A4F;--en2:#1A8B69;--en-ink:#F6F1E7;--en-soft:rgba(246,241,231,.82)}
.gc-e-gold{--en:#E7D7B3;--en2:#F3E8CF;--en-ink:#13213F;--en-soft:rgba(19,33,63,.76)}
h1,h2{font-weight:400;letter-spacing:-.015em;line-height:1}
h2{font-size:clamp(2.6rem,5vw,4.4rem)}
h1 em,h2 em{font-style:italic}
h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}
.btn{font-weight:600;letter-spacing:.01em;border-radius:999px;transition:transform var(--t-press) var(--ease-out),background-color var(--t-state),color var(--t-state),box-shadow var(--t-state)}
.btn-primary{box-shadow:0 14px 26px -14px rgba(218,107,72,.9)}
.btn:not(:disabled):active{transform:scale(.96)}
.cart-count{background:var(--accent);color:var(--ink)}
.o-logo{height:24px}
.section{padding-block:clamp(64px,8vw,120px)}
.gc-head{display:grid;justify-items:center;gap:14px;margin-bottom:clamp(30px,4vw,52px);text-align:center}
.gc-head p{max-width:52ch;color:var(--muted);font-size:1.06rem}
.gc-head h2::after{content:'';display:block;width:56px;height:1px;margin:22px auto 0;background:var(--gold)}
.gc-head-row{display:flex;align-items:flex-end;justify-content:space-between;text-align:left}
.gc-head-row h2::after{margin-left:0}
.gc-link{display:inline-flex;align-items:center;padding:0;font:600 1rem/1.3 var(--font-body);color:var(--ink);background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:6px;transition:text-underline-offset var(--t-state) var(--ease-out)}
@media (hover:hover){.gc-link:hover{text-underline-offset:9px}}

/* hero: arched window and a sunburst dial */
.gc-hero{padding-top:clamp(110px,11vw,150px);padding-bottom:clamp(40px,5vw,80px)}
.gc-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:center}
.gc-name{font-size:clamp(3.2rem,6.8vw,6rem);line-height:.96;letter-spacing:-.02em;text-wrap:balance}
.gc-name em{display:block;color:var(--blue)}
.gc-lede{max-width:40ch;margin-top:22px;font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.55;color:var(--muted)}
.gc-lede b{color:var(--ink);font-weight:700}
.gc-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:30px}
.gc-visual{position:relative;padding:0 0 clamp(40px,5vw,70px) clamp(30px,4vw,70px)}
.gc-arch{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--surface-2);border-radius:999px 999px 18px 18px/70% 70% 18px 18px;box-shadow:var(--shadow-2),0 0 0 1px rgba(168,122,42,.35),0 0 0 10px var(--bg),0 0 0 11px rgba(168,122,42,.4)}
.gc-arch img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.gc-medal{position:absolute;left:0;bottom:0;z-index:2;display:grid;place-items:center;width:clamp(210px,19vw,270px);aspect-ratio:1;border-radius:50%;color:#F6F1E7;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 30%,rgba(8,20,48,.35) 100%),repeating-conic-gradient(from 0deg,#1E4E9E 0deg 1.2deg,#2A5DB4 1.2deg 2.4deg),#1E4E9E;
  box-shadow:0 0 0 5px #F3E8CF,0 0 0 6px rgba(168,122,42,.6),0 30px 50px -22px rgba(19,33,63,.7)}
.gc-medal svg{position:absolute;inset:0;width:100%;height:100%}
.gc-ring{fill:none;stroke:rgba(246,241,231,.18);stroke-width:4}
.gc-fill{fill:none;stroke:#E9C987;stroke-width:4;stroke-linecap:round}
.gc-idx line{stroke:#E9C987;stroke-width:3;stroke-linecap:round}.gc-idx line.q{stroke-width:5}
.gc-medal-in{position:relative;display:grid;justify-items:center;gap:6px;text-align:center}
.gc-medal-in>span{font:italic 400 1.1rem/1 var(--font-display);color:#E9C987}
.gc-medal-in em{font-size:.72rem;font-style:normal;letter-spacing:.04em;opacity:.85;max-width:16ch}
.gc-medal .cd-boxes{gap:6px}
.gc-medal .cd-boxes .cd-part{width:auto;min-width:34px;height:auto;padding:0;background:none;box-shadow:none;color:#F6F1E7}
.gc-medal .cd-boxes .cd-part b{font:400 clamp(1.7rem,2.3vw,2.2rem)/1 var(--font-display);font-variant-numeric:lining-nums tabular-nums}
.gc-medal .cd-boxes .cd-part i{font-size:.6rem;color:rgba(246,241,231,.7);letter-spacing:.06em;text-transform:uppercase}

/* the deck */
.gc-stack{padding-bottom:clamp(30px,4vw,60px)}
.gc-deck{display:grid;gap:clamp(24px,3vw,40px)}
.gc-card{position:sticky;top:calc(96px + var(--i) * 18px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:min(68vh,580px);overflow:hidden;color:var(--en-ink);background:linear-gradient(150deg,var(--en2),var(--en));border-radius:28px;box-shadow:var(--shadow-2);transform-origin:50% 0;will-change:transform}
.gc-card-copy{display:flex;flex-direction:column;gap:14px;padding:clamp(28px,4vw,56px)}
.gc-card h3{font-size:clamp(2.4rem,4.2vw,3.8rem);line-height:.98;font-style:italic;text-wrap:balance}
.gc-card-copy>p{color:var(--en-soft);font-size:1.06rem;max-width:40ch}
.gc-comps{display:flex;gap:clamp(10px,1.4vw,18px);margin-top:auto}
.gc-comps li{display:grid;place-items:center;align-content:center;gap:2px;width:clamp(92px,8vw,112px);aspect-ratio:1;text-align:center;border-radius:50%;box-shadow:inset 0 0 0 1px currentColor,inset 0 0 0 6px transparent,inset 0 0 0 7px rgba(255,255,255,.18)}
.gc-e-salmon .gc-comps li,.gc-e-gold .gc-comps li{box-shadow:inset 0 0 0 1px currentColor,inset 0 0 0 7px rgba(19,33,63,.08)}
.gc-comps b{font:400 clamp(1.5rem,2vw,1.9rem)/1 var(--font-display)}
.gc-comps span{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--en-soft)}
.gc-odds{font-size:.92rem!important}
.gc-card-btn{align-self:flex-start;color:var(--en);background:var(--en-ink);border-color:var(--en-ink)}
.gc-e-gold .gc-card-btn{color:#F6F1E7;background:var(--ink)}
.gc-e-salmon .gc-card-btn{color:#F6F1E7;background:var(--ink)}
@media (hover:hover){.gc-card-btn:hover{filter:brightness(1.06)}}
.gc-card-pic{position:relative;display:block;margin:14px;overflow:hidden;border-radius:18px}
.gc-card-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
@media (hover:hover){.gc-card:hover .gc-card-pic img{transform:scale(1.04)}}

/* quote */
.gc-quote{padding-block:clamp(90px,12vw,170px)}
.gc-quote p{max-width:24ch;margin-inline:auto;font:italic 400 clamp(2.3rem,5.4vw,4.6rem)/1.08 var(--font-display);text-align:center;text-wrap:balance;color:var(--ink)}

/* accordion */
.gc-acc{display:flex;gap:10px;height:clamp(420px,46vw,560px)}
.gc-slice{position:relative;flex:1 1 0;min-width:0;padding:0;overflow:hidden;font:inherit;color:#F6F1E7;text-align:left;background:var(--ink);border:0;border-radius:22px;cursor:pointer;transition:flex-grow .6s cubic-bezier(.2,0,0,1)}
.gc-slice.on{flex-grow:4.2}
.gc-slice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .9s var(--ease-out),filter .6s}
.gc-slice::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(19,33,63,.1),rgba(19,33,63,.82))}
.gc-slice.on img{filter:saturate(1.05)}
.gc-slice-v{position:absolute;left:50%;bottom:28px;z-index:1;font:italic 400 1.6rem/1 var(--font-display);white-space:nowrap;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);transition:opacity .3s}
.gc-slice.on .gc-slice-v{opacity:0}
.gc-slice-in{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;gap:8px;padding:clamp(22px,3vw,36px);opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease-out),transform .4s var(--ease-out)}
.gc-slice.on .gc-slice-in{opacity:1;transform:none;transition-delay:.18s}
.gc-slice-in strong{font:400 clamp(2rem,3.4vw,3rem)/1 var(--font-display)}
.gc-slice-in span{max-width:40ch;color:rgba(246,241,231,.85)}
.gc-slice-in em{display:inline-flex;align-items:center;gap:8px;font-style:normal;font-weight:600;color:#E9C987}
.gc-slice-in em svg{width:18px;height:18px}
.gc-slice:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* rail, cards */
.s-rail button{font-weight:600;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface)}
.rail-mark{background:var(--ink)}
.s-rail button[aria-pressed=true]{color:#F6F1E7}
.s-card{background:var(--surface);border-radius:22px;box-shadow:var(--shadow-1)}
.s-card .card-media{margin:12px 12px 0;border-radius:50% 50% 12px 12px/30% 30% 12px 12px;overflow:hidden}
.s-card h3{font:400 clamp(1.4rem,1.7vw,1.6rem)/1.08 var(--font-display);letter-spacing:-.01em}
.s-price b{font:400 2rem/1 var(--font-display);color:var(--blue)}
.s-ends{left:50%;top:auto;bottom:12px;transform:translateX(-50%);color:var(--ink);background:#F3E8CF;border-radius:999px;font-weight:600;white-space:nowrap}
.s-tag{right:auto;left:50%;top:14px;transform:translateX(-50%);border-radius:999px;white-space:nowrap}
.s-card .qa-btn,.s-card .st-compare-btn{border-radius:999px}
.s-plate strong{font-style:italic;color:var(--blue)}

/* calendar, free, winners, passes */
.p-cal-row>li{border-radius:18px;background:var(--surface)}
.p-cal-row>li.today{background:var(--blue);color:#F6F1E7}
.p-cal-day b{font:italic 400 1.6rem/1 var(--font-display);text-transform:none}
.s-free{width:min(100% - 24px,1440px);margin-inline:auto;color:#F6F1E7;background:radial-gradient(120% 140% at 90% 100%,#1A8B69,#0E6A4F 60%);border-radius:28px}
.s-free h2{font-style:italic}
.s-free .btn{color:var(--ink);background:#F3E8CF;border-color:#F3E8CF}
.s-winners li{border-radius:22px;background:var(--surface);padding:26px}
.s-winners strong{font-size:1.7rem}
.s-winners q{font:italic 400 1.25rem/1.35 var(--font-display);color:var(--ink)}
.s-ticket{color:var(--gold);letter-spacing:.04em}
.s-pass{border-radius:22px}
.s-p-w{color:var(--ink);background:linear-gradient(140deg,#FFFCF6,#E7D7B3)}.s-p-b{color:#F6F1E7;background:linear-gradient(140deg,#2E66C4,#13213F)}.s-p-y{color:var(--ink);background:linear-gradient(140deg,#F6BBA4,#E8805F)}
.s-pass strong{font-style:italic}
.o-more{color:var(--ink);text-decoration-color:var(--gold)}
.quick-btn{border-radius:999px}
.quick-btn.on{color:#F6F1E7;background:var(--blue)}
.picker{border-radius:24px}
.picker-total b{color:var(--blue)}
.detail-info .cd .cd-part b{font-family:var(--font-display);font-size:1.7rem}
.gc-toast{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;color:#F6F1E7;background:var(--ink);border-radius:999px;box-shadow:var(--shadow-2)}
.gc-toast b{display:grid;place-items:center;min-width:44px;height:44px;font:400 1.5rem/1 var(--font-display);color:var(--ink);background:var(--accent);border-radius:50%}
.gc-toast strong{display:block;font:italic 400 1.2rem/1 var(--font-display)}.gc-toast em{display:block;font-size:.86rem;font-style:normal;opacity:.8}
.play-toast.on{pointer-events:auto}
.h-empty{display:flex;align-items:center;min-height:calc(100svh - 60px);padding:130px 0 60px;text-align:center}
.h-empty h1{max-width:14ch;margin-inline:auto;font-size:clamp(3rem,7vw,5.6rem)}
.h-empty p{max-width:46ch;margin:18px auto 24px;color:var(--muted)}
.s-token{display:block;width:30px;height:30px;border-radius:50%;background:repeating-conic-gradient(#1E4E9E 0 3deg,#2A5DB4 3deg 6deg);box-shadow:0 0 0 3px #F3E8CF}
::selection{background:#F6BBA4;color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

@media (max-width:980px){
  .gc-hero-in{grid-template-columns:minmax(0,1fr)}
  .gc-visual{max-width:520px;width:100%;margin-inline:auto}
  .gc-card{grid-template-columns:minmax(0,1fr);position:relative;top:auto}
  .gc-card-pic{order:-1;aspect-ratio:16/10;margin:12px 12px 0}
}
@media (max-width:760px){
  .gc-acc{flex-direction:column;height:auto}
  .gc-slice,.gc-slice.on{flex:none;height:150px}
  .gc-slice.on{height:300px}
  .gc-slice-v{writing-mode:horizontal-tb;transform:none;left:22px;bottom:22px}
  .gc-head-row{flex-direction:column;align-items:flex-start}
  .gc-medal{width:170px}
  .gc-medal .cd-boxes .cd-part b{font-size:1.35rem}
  .gc-medal-in em{display:none}
  .gc-comps li{width:84px}
}
@media (prefers-reduced-motion:reduce){.gc-slice,.gc-slice img,.gc-slice-in,.gc-card-pic img{transition:none}}
