/* ============================================================
   Drip Casino — review & manual (Canada)
   Brand colors: deep plum-black + drip orange/gold accent
   No external resources. System font stack only.
   ============================================================ */

:root{
  --bg:#0d0a14;
  --bg2:#15101f;
  --surface:#1d1730;
  --surface2:#241d3c;
  --line:#352c50;
  --accent:#ff6b2c;       /* drip orange */
  --accent-2:#ffb23e;     /* warm gold */
  --violet:#8a6bff;
  --text:#f4f0fb;
  --muted:#b3aacb;
  --green:#36d399;
  --red:#ff5d7a;
  --radius:16px;
  --maxw:1140px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --font:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(1100px 520px at 80% -10%, rgba(255,107,44,.18), transparent 60%),
    radial-gradient(900px 480px at -10% 5%, rgba(138,107,255,.16), transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

a{color:var(--accent-2);text-decoration:none}
a:hover{text-decoration:underline}

p{margin:0 0 16px}

h1,h2,h3{line-height:1.2;margin:0 0 14px;font-weight:800;letter-spacing:.2px}
h1{font-size:clamp(2.1rem,6vw,3.5rem);text-transform:uppercase}
h2{font-size:clamp(1.5rem,3.6vw,2.2rem);margin-top:8px}
h3{font-size:clamp(1.15rem,2.4vw,1.4rem)}

.eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:3px;
  font-size:.72rem;font-weight:700;color:var(--accent);
  border:1px solid var(--line);padding:6px 12px;border-radius:999px;
  background:rgba(255,107,44,.08);margin-bottom:14px;
}

.lead{font-size:1.12rem;color:#e7e1f4}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  border:0;font-family:inherit;font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;font-size:.95rem;color:#1a0f06;
  background:linear-gradient(135deg,var(--accent-2),var(--accent));
  padding:15px 30px;border-radius:999px;
  box-shadow:0 12px 30px rgba(255,107,44,.4);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(255,107,44,.55);filter:brightness(1.04);text-decoration:none}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.btn--ghost{
  background:transparent;color:var(--text);border:2px solid var(--line);
  box-shadow:none;
}
.btn--ghost:hover{border-color:var(--accent);box-shadow:none}
.btn--big{font-size:1.05rem;padding:18px 38px}
.btn .drop{width:16px;height:16px;flex:0 0 auto}

/* ---------- Header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(13,10,20,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:12px}
.logo svg{display:block;filter:drop-shadow(0 6px 14px rgba(255,107,44,.5))}
.logo .word{font-weight:900;letter-spacing:2px;font-size:1.25rem;text-transform:uppercase;line-height:1}
.logo .word b{color:var(--accent)}
.logo .word span{display:block;font-size:.6rem;letter-spacing:5px;color:var(--muted);font-weight:700}
.nav{display:flex;gap:22px;align-items:center}
.nav a{color:var(--muted);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.6px}
.nav a:hover{color:var(--text);text-decoration:none}
.nav-cta{padding:11px 20px;font-size:.82rem}

/* ---------- Hero ---------- */
.hero{padding:46px 0 30px;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}

/* Top bonus banner (above everything in first screen) */
.bonus-hero{
  position:relative;border-radius:22px;overflow:hidden;
  border:1px solid rgba(255,178,62,.4);
  background:
    radial-gradient(600px 300px at 100% 0%, rgba(255,107,44,.35), transparent 60%),
    linear-gradient(135deg,#2a1735,#1a1126);
  box-shadow:var(--shadow);
  display:grid;grid-template-columns:1.4fr .9fr;gap:18px;
  padding:30px 34px;align-items:center;
}
.bonus-hero .tag{font-size:.72rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent-2);font-weight:800}
.bonus-hero .bh-title{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;line-height:1.2;margin:6px 0 8px}
.bonus-hero .bh-title em{font-style:normal;color:var(--accent);text-shadow:0 0 26px rgba(255,107,44,.55)}
.bonus-hero p{color:var(--muted);margin:0}
.bonus-hero .cta-col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.bonus-hero .fine{font-size:.74rem;color:#8d86a6;margin-top:2px}
.bonus-hero .drips{position:absolute;top:0;right:0;width:160px;height:100%;pointer-events:none;opacity:.7}

.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:34px;margin-top:34px;align-items:start}
.hero-copy h1{margin-bottom:18px}
.hero-copy h1 b{color:var(--accent)}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chip{
  display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;
  background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:#d8d2ea;
}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}

/* Snapshot card */
.snapshot{
  background:linear-gradient(180deg,var(--surface2),var(--surface));
  border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);
}
.snapshot .snap-title{margin:0 0 6px;font-weight:800;font-size:1.2rem;display:flex;align-items:center;gap:10px}
.snapshot ul{list-style:none;margin:0;padding:0}
.snapshot li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.snapshot li:last-child{border-bottom:0}
.snapshot li span:first-child{color:var(--muted)}
.snapshot li span:last-child{font-weight:700;text-align:right}
.rating{display:flex;align-items:center;gap:10px;margin-top:6px}
.rating .score{font-size:2.1rem;font-weight:900;color:var(--accent-2)}
.stars{color:var(--accent);letter-spacing:2px;font-size:1.1rem}

/* ---------- Sections ---------- */
section{padding:46px 0}
.section-head{max-width:760px;margin-bottom:26px}
.muted{color:var(--muted)}

/* Cards grid */
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;transition:transform .15s ease,border-color .15s ease;
}
.card:hover{transform:translateY(-3px);border-color:rgba(255,107,44,.5)}
.card h3{margin-top:10px}
.card p{color:var(--muted);font-size:.95rem;margin:0}
.icon{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,107,44,.12);border:1px solid rgba(255,107,44,.3);
}
.icon svg{width:24px;height:24px}

/* Steps */
.steps{counter-reset:step;display:grid;gap:16px}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.step::before{
  counter-increment:step;content:counter(step);
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  font-weight:900;color:#1a0f06;background:linear-gradient(135deg,var(--accent-2),var(--accent));
}
.step h3{margin:2px 0 6px}
.step p{margin:0;color:var(--muted);font-size:.95rem}

/* Pros / cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pc .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.pc .box.pros{border-top:4px solid var(--green)}
.pc .box.cons{border-top:4px solid var(--red)}
.pc ul{margin:0;padding-left:0;list-style:none}
.pc li{position:relative;padding:8px 0 8px 30px;border-bottom:1px dashed var(--line);font-size:.96rem}
.pc li:last-child{border-bottom:0}
.pc .pros li::before{content:"+";position:absolute;left:6px;top:8px;color:var(--green);font-weight:900}
.pc .cons li::before{content:"–";position:absolute;left:6px;top:8px;color:var(--red);font-weight:900}

/* Mid bonus strip */
.bonus-strip{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-radius:18px;padding:24px 30px;
  background:
    radial-gradient(500px 200px at 0% 0%, rgba(138,107,255,.3), transparent 60%),
    linear-gradient(90deg,#2a1735,#3a1c20);
  border:1px solid rgba(255,178,62,.35);box-shadow:var(--shadow);
}
.bonus-strip .txt strong{display:block;font-size:1.35rem;font-weight:900}
.bonus-strip .txt span{color:var(--muted);font-size:.92rem}

/* Tables */
.table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:var(--radius);
}
table{width:100%;border-collapse:collapse;min-width:560px}
caption{caption-side:top;text-align:left;color:var(--muted);font-size:.85rem;padding:12px 16px}
th,td{padding:14px 16px;text-align:left;font-size:.95rem;border-bottom:1px solid var(--line)}
thead th{background:var(--surface2);color:var(--accent-2);text-transform:uppercase;letter-spacing:.6px;font-size:.78rem}
tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
tbody tr:hover{background:rgba(255,107,44,.06)}
td:first-child,th:first-child{font-weight:700}

/* FAQ accordion (no JS, uses <details>) */
.faq details{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:0 20px;margin-bottom:12px;overflow:hidden;
}
.faq summary{
  list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:1.05rem;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--accent);font-weight:900;transition:transform .2s ease;
}
.faq details[open] summary .pm{transform:rotate(45deg)}
.faq .ans{color:var(--muted);padding:0 0 18px;font-size:.97rem}

/* Author / experience callout */
.callout{
  background:linear-gradient(180deg,var(--surface2),var(--surface));
  border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:14px;padding:22px 24px;
}
.callout .who{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.callout .ava{
  width:46px;height:46px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  font-weight:900;color:#1a0f06;background:linear-gradient(135deg,var(--accent-2),var(--accent));
}
.callout .who b{display:block}
.callout .who span{color:var(--muted);font-size:.85rem}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:var(--bg2);padding:40px 0 60px;margin-top:30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.site-footer h4{text-transform:uppercase;letter-spacing:1px;font-size:.85rem;color:var(--accent-2);margin:0 0 12px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:5px 0;color:var(--muted);font-size:.92rem}
.site-footer a{color:var(--muted)}
.site-footer a:hover{color:var(--text)}
.foot-note{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:#8d86a6;font-size:.82rem}
.age{
  display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;
  border:2px solid var(--red);color:var(--red);font-weight:900;font-size:.8rem;margin-right:10px;vertical-align:middle;
}

/* Reveal-on-load-ish (CSS only, subtle) */
@media (prefers-reduced-motion:no-preference){
  .card,.step,.bonus-hero{animation:rise .5s ease both}
}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .bonus-hero{grid-template-columns:1fr;text-align:left}
  .bonus-hero .drips{display:none}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  body{font-size:16px}
  .nav{display:none}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .pc{grid-template-columns:1fr}
  .bonus-strip{flex-direction:column;align-items:flex-start}
  .foot-grid{grid-template-columns:1fr}
  .bonus-hero{padding:24px 20px}
  section{padding:34px 0}
}
