:root{
  --pzd-bg:#2a1f17;
  --pzd-panel:#3a2c20;
  --pzd-accent:#c8843f;
  --pzd-cream:#f4e8d4;
  --pzd-cream-soft:#ede0c4;
  --pzd-latte:#a8896a;
  --pzd-border:rgba(244,232,212,0.12);
  --pzd-border-strong:rgba(244,232,212,0.22);
  --pzd-shadow:0 12px 28px rgba(0,0,0,0.40);
  --pzd-shell:min(1180px,calc(100% - 2rem));
}
*,
*::before,
*::after{
  box-sizing:border-box;
}
html{
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--pzd-cream);
  background:linear-gradient(180deg,#2a1f17 0%,#33261c 52%,#3a2c20 100%);
  line-height:1.6;
}
body::before,
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}
body::before{
  background-image:radial-gradient(circle at 1px 1px, rgba(244,232,212,0.025) 1px, transparent 0);
  background-size:5px 5px;
  opacity:0.95;
  animation:pzdGrainMove 24s linear infinite alternate;
}
body::after{
  background:
    linear-gradient(115deg, rgba(200,132,63,0.03), transparent 34%, rgba(168,137,106,0.04) 60%, transparent 78%),
    linear-gradient(0deg, rgba(42,31,23,0), rgba(42,31,23,0.24));
  background-size:160% 160%,100% 100%;
  opacity:0.55;
  animation:pzdRoastFlow 18s ease-in-out infinite;
}
@keyframes pzdGrainMove{
  0%{ background-position:0 0; }
  100%{ background-position:18px 12px; }
}
@keyframes pzdRoastFlow{
  0%,100%{ background-position:0% 50%,0 0; opacity:0.46; }
  50%{ background-position:100% 50%,0 0; opacity:0.58; }
}
a{ color:inherit; }
img{ display:block; max-width:100%; }
.pzd-page{ position:relative; z-index:1; }
.pzd-page > main, .pzd-page > footer{ position:relative; z-index:1; }
.pzd-shell{ width:var(--pzd-shell); margin:0 auto; }
.pzd-section{ padding:4.5rem 0; }
.pzd-section-head{ display:flex; justify-content:space-between; gap:1.5rem; align-items:end; margin-bottom:1.75rem; }
.pzd-kicker{ display:inline-block; margin-bottom:1rem; color:var(--pzd-accent); font-size:0.75rem; font-weight:600; letter-spacing:0.21em; text-transform:uppercase; }
h1,h2,h3,h4{ margin:0; font-family:'Crimson Pro',serif; color:var(--pzd-cream); }
h2{ font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; }
p{ margin:0 0 1rem; color:var(--pzd-latte); }
.pzd-text-strong{ color:var(--pzd-cream-soft); }
.pzd-header { position:sticky; top:0; z-index:200; background:rgba(42,31,23,0.92); border-bottom:1px solid var(--pzd-border); }
.pzd-header-scrolled{ background:rgba(34,25,18,0.98); }
.pzd-header-inner{ position:relative; overflow:visible; width:var(--pzd-shell); margin:0 auto; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.pzd-brand{ display:flex; align-items:center; gap:0.95rem; text-decoration:none; min-width:0; }
.pzd-brand-mark{ width:32px; height:32px; border-radius:8px; background:var(--pzd-accent); display:grid; place-items:center; color:var(--pzd-bg); font-family:'Crimson Pro',serif; font-size:1.1rem; font-weight:700; flex-shrink:0; }
.pzd-brand-copy{ min-width:0; display:flex; flex-direction:column; gap:0.15rem; }
.pzd-brand-copy strong{ font-family:'Crimson Pro',serif; font-size:1.5rem; font-weight:700; color:var(--pzd-cream); }
.pzd-brand-copy span{ width:28px; height:2px; border-radius:2px; background:var(--pzd-accent); }
.pzd-burger{ display:none; width:48px; height:48px; border:1px solid var(--pzd-border); border-radius:10px; background:transparent; padding:0; cursor:pointer; }
.pzd-burger span{ display:block; width:18px; height:2px; margin:4px auto; background:var(--pzd-cream); border-radius:999px; }
.pzd-nav{ width:var(--pzd-shell); margin:0 auto; }
.pzd-nav ul{ list-style:none; display:flex; justify-content:flex-end; gap:1.4rem; margin:0; padding:0 0 1rem; }
.pzd-nav a{ text-decoration:none; color:var(--pzd-cream); font-size:0.875rem; font-weight:500; padding-bottom:0.2rem; border-bottom:2px solid transparent; }
.pzd-nav a:hover,.pzd-nav a:focus-visible{ color:var(--pzd-accent); border-bottom-color:var(--pzd-accent); }
.pzd-nav a.pzd-nav-current{ color:var(--pzd-accent); }
.pzd-nav a.pzd-nav-current::before{ content:'☕ '; }
.pzd-nav-backdrop{ display:none; }
.pzd-hero{ padding-top:3.5rem; }
.pzd-hero-grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr); gap:2rem; align-items:end; }
.pzd-hero h1{ font-size:clamp(46px,8vw,108px); font-weight:600; line-height:1; letter-spacing:-0.5px; max-width:9.5ch; }
.pzd-hero h1 em{ color:var(--pzd-accent); font-style:italic; }
.pzd-hero-rule{ width:64px; height:2px; border-radius:2px; background:var(--pzd-accent); margin:1.35rem 0 1.15rem; }
.pzd-hero-subline{ max-width:540px; font-size:1.125rem; line-height:1.55; }
.pzd-stat-grid,.pzd-top-grid,.pzd-casino-list,.pzd-grid,.pzd-team-grid,.pzd-footer-grid{ display:grid; gap:1.2rem; }
.pzd-stat-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:2rem; }
.pzd-stat,.pzd-top-card,.pzd-card,.pzd-method-card,.pzd-team-card,.pzd-guide-card,.pzd-rg-card,.pzd-footer-box,.pzd-table-card,.pzd-legal-article{ background:var(--pzd-panel); border:1px solid var(--pzd-border); border-top:2px solid var(--pzd-accent); border-radius:10px; box-shadow:var(--pzd-shadow); }
.pzd-stat,.pzd-top-card,.pzd-method-card,.pzd-team-card,.pzd-guide-card,.pzd-rg-card,.pzd-table-card,.pzd-legal-article{ padding:1.25rem; min-width:0; }
.pzd-stat strong{ display:block; font-family:'Crimson Pro',serif; font-size:2rem; color:var(--pzd-cream); }
.pzd-stat span{ color:var(--pzd-latte); font-size:0.92rem; }
.pzd-top-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pzd-top-card strong{ display:block; font-family:'Crimson Pro',serif; font-size:1.45rem; margin-bottom:0.35rem; }
.pzd-table-wrap{ overflow-x:auto; }
table{ width:100%; border-collapse:collapse; }
thead th{ text-align:left; color:var(--pzd-cream); font-size:0.82rem; letter-spacing:0.12em; text-transform:uppercase; padding:0 0 1rem; }
tbody td{ padding:1rem 0.5rem 1rem 0; border-top:1px solid rgba(244,232,212,0.08); color:var(--pzd-latte); vertical-align:top; }
tbody tr:first-child td{ border-top:none; }
.pzd-table-bonus{ color:var(--pzd-cream); font-weight:600; }
.pzd-table-score{ color:var(--pzd-accent); font-weight:700; }
.pzd-casino-list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pzd-card{ display:flex; flex-direction:column; gap:1rem; padding:1.3rem; min-width:0; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, border-top-color .18s ease; }
.pzd-card-hover,.pzd-card:hover,.pzd-card:focus-within{ border-color:var(--pzd-border-strong); border-top-color:#d59857; transform:scale(1.01); }
.pzd-card-top{ display:flex; justify-content:space-between; gap:0.8rem; align-items:flex-start; min-width:0; }
.pzd-badge{ display:inline-flex; align-items:center; gap:0.35rem; padding:0.35rem 0.75rem; border-radius:999px; background:var(--pzd-accent); color:var(--pzd-bg); font-family:'Crimson Pro',serif; font-size:0.72rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }
.pzd-rating{ display:flex; align-items:center; gap:0.65rem; flex-wrap:wrap; }
.pzd-beans{ display:flex; gap:0.32rem; }
.pzd-bean{ width:10px; height:10px; border-radius:50%; border:1.5px solid var(--pzd-latte); }
.pzd-bean.pzd-bean-fill{ background:var(--pzd-accent); border-color:var(--pzd-accent); }
.pzd-rating-value{ color:var(--pzd-cream); font-weight:600; }
.pzd-logo-row{ display:flex; align-items:center; gap:1rem; min-width:0; }
.pzd-logo-wrap{ display:flex; align-items:center; height:40px; flex-shrink:0; min-width:0; max-width:200px; }
.pzd-logo-wrap img{ height:100%; width:auto; max-width:100%; object-fit:contain; }
.pzd-card h3,.pzd-method-card h3,.pzd-team-card h3,.pzd-guide-card h3,.pzd-rg-card h3{ font-size:1.5rem; margin-bottom:0.55rem; }
.pzd-bonus{ font-family:'Crimson Pro',serif; font-size:25px; font-weight:600; color:var(--pzd-cream); text-decoration:underline; text-decoration-color:var(--pzd-accent); text-decoration-thickness:2px; text-underline-offset:4px; }
.pzd-pill-row{ display:flex; flex-wrap:wrap; gap:0.45rem; }
.pzd-pill{ background:rgba(244,232,212,0.08); color:var(--pzd-cream); border:1px solid rgba(244,232,212,0.18); border-radius:6px; padding:4px 12px; font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.pzd-card-note{ font-size:0.82rem; color:var(--pzd-latte); margin-bottom:0; }
.pzd-card-actions{ display:flex; gap:0.8rem; align-items:center; margin-top:auto; }
.pzd-cta-btn,.pzd-button{ display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:0.8rem 1.2rem; border-radius:8px; border:1.5px solid var(--pzd-accent); background:var(--pzd-accent); color:var(--pzd-bg); text-decoration:none; text-transform:uppercase; letter-spacing:1px; font-family:'Crimson Pro',serif; font-weight:600; box-shadow:0 6px 16px rgba(200,132,63,0.28); transition:background .18s ease,color .18s ease,border-color .18s ease; }
.pzd-cta-btn:hover,.pzd-cta-btn:focus-visible,.pzd-button:hover,.pzd-button:focus-visible{ background:var(--pzd-cream); color:var(--pzd-bg); }
.pzd-button-outline{ background:transparent; border-color:var(--pzd-latte); color:var(--pzd-cream); box-shadow:none; }
.pzd-button-outline:hover,.pzd-button-outline:focus-visible{ background:var(--pzd-cream); color:var(--pzd-bg); }
.pzd-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pzd-team-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.6rem 0 1.8rem; }
.pzd-team-role,.pzd-legal-meta{ color:var(--pzd-accent); font-size:0.82rem; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:0.45rem; }
.pzd-guide-card{ margin-top:1.6rem; }
.pzd-rg-links,.pzd-footer-list{ list-style:none; padding:0; margin:0; }
.pzd-rg-links li,.pzd-footer-list li{ margin-bottom:0.7rem; }
.pzd-rg-links a,.pzd-footer-list a{ color:var(--pzd-cream); text-decoration:none; }
.pzd-rg-links a:hover,.pzd-footer-list a:hover{ color:var(--pzd-accent); }
.pzd-rg-alert{ display:inline-flex; align-items:center; gap:0.5rem; padding:0.45rem 0.8rem; border-radius:999px; border:1px solid var(--pzd-border); background:rgba(244,232,212,0.05); color:var(--pzd-cream); font-size:0.82rem; }
.pzd-footer{ padding:0 0 2rem; }
.pzd-footer-grid{ grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,0.7fr)); }
.pzd-footer h2,.pzd-footer h3{ margin-bottom:0.8rem; }
.pzd-footer-copy{ display:flex; justify-content:space-between; gap:1rem; align-items:center; padding-top:1.2rem; margin-top:1.2rem; border-top:1px solid rgba(244,232,212,0.08); }
.pzd-footer-copy p{ margin:0; }
.pzd-age-badge{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:999px; background:var(--pzd-accent); color:var(--pzd-bg); font-weight:700; }
.pzd-cookie-banner{ position:fixed; right:20px; bottom:20px; z-index:2147483645; width:min(360px,calc(100% - 24px)); background:rgba(58,44,32,0.98); border:1px solid var(--pzd-border); border-top:2px solid var(--pzd-accent); border-radius:12px; padding:1rem; box-shadow:var(--pzd-shadow); }
.pzd-cookie-banner[data-pzd-cookie-state='hidden']{ display:none; }
.pzd-cookie-actions{ display:flex; flex-wrap:wrap; gap:0.65rem; align-items:center; }
.pzd-cookie-actions button,.pzd-age-confirm,.pzd-age-leave,.pzd-scroll-top{ font:inherit; cursor:pointer; }
.pzd-cookie-accept,.pzd-age-confirm{ border:none; background:var(--pzd-accent); color:var(--pzd-bg); border-radius:8px; padding:0.7rem 1rem; font-weight:600; }
.pzd-cookie-decline,.pzd-age-leave{ border:1px solid var(--pzd-latte); background:transparent; color:var(--pzd-cream); border-radius:8px; padding:0.7rem 1rem; }
.pzd-age-overlay[data-pzd-age-state='confirmed']{ display:none !important; }
.pzd-age-box p{ color:#3a2c20; margin-bottom:1.5rem; }
.pzd-age-box .pzd-age-confirm,.pzd-age-box .pzd-age-leave{ width:100%; margin-bottom:0.75rem; }
.pzd-scroll-top{ position:fixed; right:20px; bottom:20px; z-index:198; width:52px; height:52px; border:none; border-radius:50%; background:var(--pzd-accent); color:var(--pzd-bg); box-shadow:0 6px 16px rgba(200,132,63,0.28); }
.pzd-scroll-top[data-pzd-top-state='hidden']{ opacity:0; pointer-events:none; }
.pzd-scroll-top[data-pzd-top-state='visible']{ opacity:1; }
.pzd-legal-article h1{ font-size:clamp(2.2rem,5vw,3.8rem); margin-bottom:0.6rem; }
.pzd-legal-article h2{ font-size:1.9rem; margin:2rem 0 0.75rem; }
@media (max-width:900px){
  .pzd-burger{ display:block; }
  .pzd-nav { position:fixed; top:0; right:0; width:min(320px,85vw); height:100dvh; z-index:201; background:var(--pzd-panel); transform:translateX(calc(100% + 16px)); opacity:0; visibility:hidden; transition:transform .3s ease,opacity .3s ease,visibility 0s linear .3s; overflow-y:auto; padding:1.5rem 1rem; margin:0; border-left:1px solid var(--pzd-border); }
  .pzd-nav ul{ flex-direction:column; align-items:flex-start; padding:4.2rem 0 0; }
  .pzd-nav-backdrop { position:fixed; inset:0; z-index:199; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .3s ease; display:block; }
  body.pzd-nav-open .pzd-nav { transform:translateX(0); opacity:1; visibility:visible; transition:transform .3s ease,opacity .3s ease,visibility 0s linear 0s; }
  body.pzd-nav-open .pzd-nav-backdrop { opacity:1; pointer-events:auto; }
  body.pzd-nav-open { overflow:hidden; }
  .pzd-hero-grid,.pzd-footer-grid,.pzd-grid,.pzd-team-grid,.pzd-casino-list,.pzd-stat-grid,.pzd-top-grid{ grid-template-columns:1fr; }
  .pzd-header-inner{ min-height:72px; }
  .pzd-section-head,.pzd-footer-copy{ flex-direction:column; align-items:flex-start; }
  .pzd-scroll-top{ right:16px; bottom:16px; }
  .pzd-cookie-banner{ bottom:84px; right:12px; }
}
@media (max-width:550px){
  html,body{ overflow-x:hidden; max-width:100%; }
  .pzd-page *{ max-width:100%; }
  .pzd-casino-list, .pzd-grid{ grid-template-columns:1fr !important; }
  .pzd-card{ flex-direction:column !important; min-width:0; }
  .pzd-card *{ min-width:0; max-width:100%; }
  .pzd-card-top{ flex-wrap:wrap; gap:8px; }
  .pzd-logo-wrap{ max-width:120px; height:36px; }
  .pzd-cta-btn, .pzd-button{ width:100% !important; max-width:100%; white-space:normal; word-break:break-word; overflow-wrap:anywhere; }
  h1,h2{ font-size:clamp(1.25rem,6vw,2rem) !important; }
  .pzd-card:hover{ transform:none !important; }
  .pzd-nav{ max-width:min(320px,85vw) !important; }
  table{ table-layout:auto; width:max-content; min-width:100%; }
  .pzd-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  thead th{ white-space:nowrap; }
  td{ word-break:normal; overflow-wrap:break-word; hyphens:none; }
}
@media (max-width:380px){
  h1{ font-size:clamp(1.1rem,7vw,1.5rem) !important; }
  .pzd-logo-wrap{ max-width:90px; height:30px; }
  .pzd-bonus-text{ font-size:0.85rem; }
}
