/* APPROXIMATION NOTICE: the real assets/style.css was never shared in this
   project, so this is a reconstruction based on the color values and class
   names found in trivia.js, Chabert_Says.html, cocoa-counter-rush.html, and
   christmas-cookie-baker.html. Swap in the real file for a pixel-exact match. */

:root{
  --pine:#2f6d3e;
  --pine-light:#4a9960;
  --red:#b8323b;
  --red-bright:#d64545;
  --red-deep:#7a1f1f;
  --gold:#ebc96d;
  --gold-deep:#b9903f;
  --cream:#fff8e7;
  --cream-dim:rgba(255,248,231,.65);
  --shadow:rgba(0,0,0,.5);
  --serif:'Playfair Display',serif;
  --sans:'Poppins',sans-serif;
  --bg:#0b0f1e;
  --bg-2:#05070f;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);
  color:var(--cream);
  font-family:var(--sans);
  line-height:1.65;
  position:relative;
  overflow-x:hidden;
}
.wrap{max-width:1080px;margin-inline:auto;padding-inline:1.5rem;}
h1,h2,h3{font-family:var(--serif);color:var(--gold);margin:0 0 .6rem;font-weight:700;}
h1{font-size:clamp(2rem,5vw,3rem);}
h2{font-size:clamp(1.4rem,3vw,2rem);}
h3{font-size:1.15rem;color:var(--cream);}
p{margin:0 0 1rem;}
.lead{color:var(--cream-dim);font-size:1.1rem;}
.center{text-align:center;}
.eyebrow{display:inline-block;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;font-size:.78rem;color:var(--gold-deep);margin-bottom:.5rem;}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;
  max-width:1080px;margin-inline:auto;flex-wrap:wrap;gap:1rem;position:relative;z-index:2;}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--cream);}
.brand img{height:42px;width:auto;}
.brand-fallback{font-family:var(--serif);font-weight:700;color:var(--gold);}
.brand-fallback small{display:block;font-family:var(--sans);font-weight:400;color:var(--cream-dim);
  font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;}
.links{display:flex;gap:1.6rem;flex-wrap:wrap;}
.links a{color:var(--cream-dim);text-decoration:none;font-size:.95rem;font-weight:500;}
.links a:hover,.links a.active{color:var(--gold);}

section{padding:clamp(2rem,5vw,4rem) 0;position:relative;z-index:2;}

.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:999px;font-weight:600;
  text-decoration:none;font-size:.95rem;border:2px solid transparent;transition:transform .15s;cursor:pointer;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--gold);color:#2d1d05;border-color:var(--gold-deep);}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(235,201,109,.4);}
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .8rem;border-radius:999px;
  font-size:.78rem;font-weight:600;background:rgba(235,201,109,.15);border:1px solid var(--gold-deep);color:var(--gold);}
.pill-row{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;}

.card{background:rgba(255,255,255,.04);border:1px solid rgba(235,201,109,.18);
  border-radius:16px;padding:1.6rem;}
.grid{display:grid;gap:1.4rem;}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

.hero{position:relative;overflow:hidden;padding-block:clamp(3rem,9vw,7rem) clamp(2.5rem,7vw,5rem);text-align:center;}
.hero-logo{max-width:min(420px,80vw);width:100%;height:auto;margin:0 auto 1.2rem;display:block;}
.hero .tag{font-family:var(--serif);font-style:italic;color:var(--cream);font-size:clamp(1.1rem,3vw,1.7rem);margin-top:.3rem;}
.cta-row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem;}
.phone-note{font-size:.92rem;color:var(--cream-dim);margin-top:.5rem;}

footer{border-top:1px solid rgba(235,201,109,.15);padding:2rem 0;text-align:center;
  color:var(--cream-dim);font-size:.88rem;position:relative;z-index:2;}
.footer-links{display:flex;gap:1.4rem;justify-content:center;margin-bottom:.8rem;flex-wrap:wrap;}
.footer-links a{color:var(--cream-dim);text-decoration:none;}
.footer-links a:hover{color:var(--gold);}

.snow{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden;}
.snowflake{position:absolute;top:-10px;color:rgba(255,255,255,.8);}

label{display:block;font-size:.85rem;color:var(--cream-dim);margin:.6rem 0 .3rem;}
.field{width:100%;padding:.75rem 1rem;border-radius:10px;font-size:1rem;font-family:var(--sans);
  border:2px solid rgba(235,201,109,.3);background:rgba(5,7,15,.4);color:var(--cream);}
.field:focus{outline:none;border-color:var(--gold);}
.field::placeholder{color:rgba(255,248,231,.4);}

hr.fancy{border:none;border-top:1px solid rgba(235,201,109,.25);margin:1.6rem 0;}
