  :root {
    --emerald: #1B6B3A;
    --emerald-dark: #0F4D28;
    --emerald-deep: #0A3A1D;
    --gold: #D4A843;
    --gold-light: #E8C76A;
    --cream: #FDF8EF;
    --cream-dark: #F4EBDA;
    --text: #1A1A1A;
    --text-muted: #5A5A5A;
    --text-light: #8A8A8A;
    --white: #FFFFFF;
    --border: #E5DFD3;
    --card-shadow: 0 2px 16px rgba(27,107,58,0.08);
    --card-hover: 0 8px 32px rgba(27,107,58,0.14);
    --radius: 14px;
    --radius-sm: 8px;
    --fh: Georgia, 'Times New Roman', serif;
    --fb: -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { font-family:var(--fb); background:var(--cream); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; }

  .celtic-bg {
    position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:0.03;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%231B6B3A' stroke-width='1.5'%3E%3Ccircle cx='30' cy='30' r='12'/%3E%3Ccircle cx='30' cy='30' r='6'/%3E%3Cpath d='M30 18 Q42 30 30 42 Q18 30 30 18Z'/%3E%3C/g%3E%3C/svg%3E");
  }

  header {
    background: linear-gradient(175deg, var(--emerald-deep) 0%, var(--emerald) 50%, var(--emerald-dark) 100%);
    position:relative; overflow:hidden;
  }
  header::before {
    content:''; position:absolute; inset:0;
    background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='0.5' opacity='0.06'%3E%3Ccircle cx='50' cy='50' r='20'/%3E%3Cpath d='M50 30 Q70 50 50 70 Q30 50 50 30Z'/%3E%3Ccircle cx='50' cy='50' r='10'/%3E%3C/g%3E%3C/svg%3E");
  }
  .header-shimmer {
    position:absolute; top:-50%; left:-50%; width:200%; height:200%;
    background: radial-gradient(ellipse at 30% 50%, rgba(212,168,67,0.08) 0%, transparent 60%);
    animation: shimmer 8s ease-in-out infinite alternate;
  }
  @keyframes shimmer {
    0% { transform: translateX(-10%) translateY(-5%); }
    100% { transform: translateX(10%) translateY(5%); }
  }

  nav { max-width:1200px; margin:0 auto; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }
  .logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--white); }
  .logo-icon { width:38px; height:38px; background:var(--gold); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
  .logo-text { font-family:var(--fh); font-weight:700; font-size:26px; letter-spacing:-0.5px; }
  .logo-text span { color:var(--gold-light); }
  nav ul { list-style:none; display:flex; gap:28px; }
  nav a { color:rgba(255,255,255,0.8); text-decoration:none; font-size:16px; font-weight:500; transition:color 0.2s; }
  nav a:hover { color:var(--gold-light); }
  .nav-cta { background:var(--gold); color:var(--emerald-deep)!important; padding:8px 18px; border-radius:8px; font-weight:600!important; transition:transform 0.2s,box-shadow 0.2s!important; }
  .nav-cta:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(212,168,67,0.4); }

  .hero { max-width:1200px; margin:0 auto; padding:60px 24px 70px; text-align:center; position:relative; z-index:2; }
  .hero-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.15); padding:6px 16px; border-radius:50px; font-size:15px; color:var(--gold-light); margin-bottom:20px; }
  .hero h1 { font-family:var(--fh); font-size:clamp(38px,5.5vw,64px); font-weight:700; color:var(--white); line-height:1.15; margin-bottom:16px; letter-spacing:-1px; }
  .hero h1 em { font-style:italic; color:var(--gold-light); }
  .hero p { color:rgba(255,255,255,0.75); font-size:19px; max-width:620px; margin:0 auto 30px; line-height:1.7; }
  .hero-stats { display:flex; justify-content:center; gap:40px; flex-wrap:wrap; }
  .hero-stat { text-align:center; }
  .hero-stat strong { display:block; font-family:var(--fh); font-size:34px; color:var(--gold-light); font-weight:700; }
  .hero-stat span { font-size:13px; color:rgba(255,255,255,0.55); text-transform:uppercase; letter-spacing:1px; }

  .trust-bar { background:var(--white); border-bottom:1px solid var(--border); padding:16px 24px; }
  .trust-bar-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap; font-size:15px; color:var(--text-muted); }
  .trust-item { display:flex; align-items:center; gap:6px; }
  .trust-icon { width:18px; height:18px; background:var(--emerald); border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-size:10px; }

  .filters { max-width:1200px; margin:0 auto; padding:30px 24px 10px; }
  .filter-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
  .filter-btn { padding:10px 20px; border:1.5px solid var(--border); border-radius:50px; background:var(--white); font-size:15px; font-weight:500; color:var(--text-muted); cursor:pointer; transition:all 0.2s; font-family:var(--fb); }
  .filter-btn:hover { border-color:var(--emerald); color:var(--emerald); }
  .filter-btn.active { background:var(--emerald); border-color:var(--emerald); color:var(--white); }
  .filter-count { margin-left:auto; font-size:16px; color:var(--text-light); }
  .filter-count strong { color:var(--emerald); }

  .casino-list { max-width:1200px; margin:0 auto; padding:20px 24px 60px; display:flex; flex-direction:column; gap:16px; }
  .casino-card {
    background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
    display:grid; grid-template-columns:60px 200px 1fr 160px 160px 150px; align-items:center;
    transition:all 0.3s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden;
    animation: fadeUp 0.5s ease both;
  }
  .casino-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--emerald); opacity:0; transition:opacity 0.3s; }
  .casino-card:hover { box-shadow:var(--card-hover); transform:translateY(-2px); border-color:rgba(27,107,58,0.2); }
  .casino-card:hover::before { opacity:1; }
  .casino-card.featured { border-color:var(--gold); background:linear-gradient(135deg,var(--white) 0%,#FFFDF5 100%); }
  .casino-card.featured::before { background:var(--gold); opacity:1; }
  .casino-card:nth-child(1){animation-delay:0s} .casino-card:nth-child(2){animation-delay:.06s} .casino-card:nth-child(3){animation-delay:.12s} .casino-card:nth-child(4){animation-delay:.18s} .casino-card:nth-child(5){animation-delay:.24s} .casino-card:nth-child(6){animation-delay:.3s} .casino-card:nth-child(7){animation-delay:.36s} .casino-card:nth-child(8){animation-delay:.42s}

  .featured-tag { position:absolute; top:0; right:0; background:var(--gold); color:var(--emerald-deep); font-size:12px; font-weight:700; padding:5px 14px; border-radius:0 0 0 10px; text-transform:uppercase; letter-spacing:0.5px; }
  .casino-rank { padding:20px 0 20px 20px; text-align:center; }
  .rank-num { font-family:var(--fh); font-size:26px; font-weight:700; color:var(--emerald); }
  .casino-card.featured .rank-num { color:var(--gold); }
  .casino-logo { padding:16px 20px; display:flex; flex-direction:column; gap:6px; }
  .casino-logo-box { width:160px; height:56px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-family:var(--fh); font-weight:700; font-size:18px; color:var(--white); letter-spacing:0.5px; }
  .casino-name-sub { font-size:14px; color:var(--text-light); }
  .casino-rating { padding:16px 20px; display:flex; flex-direction:column; gap:4px; }
  .rating-score { display:flex; align-items:center; gap:8px; }
  .rating-badge { font-size:24px; font-weight:700; color:var(--emerald); }
  .rating-stars { display:flex; gap:2px; color:var(--gold); font-size:16px; }
  .rating-label { font-size:14px; color:var(--text-light); }
  .rating-bar { width:100px; height:5px; background:var(--cream-dark); border-radius:3px; overflow:hidden; margin-top:2px; }
  .rating-fill { height:100%; background:linear-gradient(90deg,var(--emerald),var(--gold)); border-radius:3px; }
  .casino-bonus { padding:16px 20px; }
  .bonus-main { font-size:18px; font-weight:700; color:var(--emerald-dark); line-height:1.3; }
  .bonus-extra { font-size:14px; color:var(--gold); font-weight:600; margin-top:2px; }
  .bonus-terms { font-size:13px; color:var(--text-light); margin-top:4px; }
  .casino-features { padding:16px 12px; display:flex; flex-direction:column; gap:4px; }
  .feature-tag { display:inline-flex; align-items:center; gap:4px; font-size:13px; color:var(--text-muted); background:var(--cream); padding:4px 10px; border-radius:4px; }
  .feature-tag .dot { width:5px; height:5px; background:var(--emerald); border-radius:50%; }
  .casino-cta { padding:16px 20px 16px 0; display:flex; flex-direction:column; gap:6px; align-items:center; }
  .cta-btn { display:inline-flex; align-items:center; justify-content:center; width:140px; padding:13px 0; background:var(--emerald); color:var(--white); border:none; border-radius:var(--radius-sm); font-size:16px; font-weight:600; cursor:pointer; transition:all 0.25s; font-family:var(--fb); text-decoration:none; }
  .cta-btn:hover { background:var(--emerald-dark); transform:translateY(-1px); box-shadow:0 4px 12px rgba(27,107,58,0.3); }
  .casino-card.featured .cta-btn { background:var(--gold); color:var(--emerald-deep); }
  .casino-card.featured .cta-btn:hover { background:var(--gold-light); box-shadow:0 4px 12px rgba(212,168,67,0.4); }
  .cta-review { font-size:14px; color:var(--emerald); text-decoration:none; font-weight:500; }
  .cta-review:hover { text-decoration:underline; }

  .methodology { background:var(--white); border-top:1px solid var(--border); padding:80px 24px; }
  .methodology-inner { max-width:1200px; margin:0 auto; }
  .methodology-header { text-align:center; margin-bottom:56px; }
  .methodology-badge { display:inline-flex; align-items:center; gap:6px; background:var(--cream); border:1px solid var(--border); padding:6px 16px; border-radius:50px; font-size:14px; color:var(--emerald); font-weight:600; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px; }
  .methodology-header h2 { font-family:var(--fh); font-size:clamp(32px,4.5vw,48px); font-weight:700; color:var(--emerald-deep); line-height:1.2; margin-bottom:14px; letter-spacing:-0.5px; }
  .methodology-header h2 em { font-style:italic; color:var(--emerald); }
  .methodology-header p { font-size:18px; color:var(--text-muted); max-width:600px; margin:0 auto; line-height:1.7; }
  .methodology-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .method-card { background:var(--cream); border:1px solid var(--border); border-radius:var(--radius); padding:32px 28px; display:flex; gap:20px; transition:all 0.3s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden; }
  .method-card::after { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--emerald); opacity:0; transition:opacity 0.3s; }
  .method-card:hover { background:var(--white); box-shadow:var(--card-hover); transform:translateY(-3px); border-color:rgba(27,107,58,0.15); }
  .method-card:hover::after { opacity:1; }
  .method-num { flex-shrink:0; width:52px; height:52px; background:linear-gradient(135deg,var(--emerald),var(--emerald-dark)); border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:var(--fh); font-size:20px; font-weight:700; color:var(--white); box-shadow:0 4px 12px rgba(27,107,58,0.2); }
  .method-card:nth-child(even) .method-num { background:linear-gradient(135deg,var(--gold),#C49A38); box-shadow:0 4px 12px rgba(212,168,67,0.25); }
  .method-body h3 { font-family:var(--fh); font-size:19px; font-weight:700; color:var(--emerald-deep); margin-bottom:6px; line-height:1.3; }
  .method-body p { font-size:16px; color:var(--text-muted); line-height:1.65; }

  .info-section { background:var(--cream); border-top:1px solid var(--border); padding:60px 24px; }
  .info-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; }
  .info-card { text-align:center; padding:30px 20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--white); transition:box-shadow 0.3s; }
  .info-card:hover { box-shadow:var(--card-shadow); }
  .info-icon { width:52px; height:52px; margin:0 auto 16px; background:linear-gradient(135deg,var(--emerald),var(--emerald-dark)); border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; color:var(--white); }
  .info-card h3 { font-family:var(--fh); font-size:20px; font-weight:700; margin-bottom:8px; color:var(--emerald-deep); }
  .info-card p { font-size:16px; color:var(--text-muted); line-height:1.6; }

  footer { background:var(--emerald-deep); color:rgba(255,255,255,0.6); padding:40px 24px; font-size:15px; }
  .footer-inner { max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
  .footer-logo { font-family:var(--fh); font-size:22px; font-weight:700; color:var(--white); }
  .footer-logo span { color:var(--gold); }
  .footer-links { display:flex; gap:24px; }
  .footer-links a { color:rgba(255,255,255,0.5); text-decoration:none; font-size:15px; }
  .footer-links a:hover { color:var(--gold-light); }
  .footer-disclaimer { width:100%; margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.08); font-size:13px; line-height:1.7; color:rgba(255,255,255,0.35); }
  .age-badge { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:2px solid rgba(255,255,255,0.3); border-radius:50%; font-weight:700; font-size:11px; color:rgba(255,255,255,0.5); margin-right:8px; vertical-align:middle; }

  /* === ARTICLE CONTENT === */
  .article-content {
    max-width:900px; margin:0 auto; padding:60px 24px 80px;
  }
  .article-content h1 {
    font-family:var(--fh); font-size:clamp(28px,4vw,40px); font-weight:700;
    color:var(--emerald-deep); line-height:1.25; margin-bottom:20px;
  }
  .article-content h2 {
    font-family:var(--fh); font-size:26px; font-weight:700;
    color:var(--emerald-deep); margin:40px 0 14px; line-height:1.3;
    padding-top:20px; border-top:1px solid var(--border);
  }
  .article-content h2:first-of-type { border-top:none; padding-top:0; }
  .article-content h3 {
    font-family:var(--fh); font-size:20px; font-weight:700;
    color:var(--emerald-dark); margin:28px 0 10px; line-height:1.3;
  }
  .article-content p {
    font-size:16px; color:var(--text-muted); line-height:1.85; margin-bottom:16px;
  }
  .article-content ul, .article-content ol {
    margin:0 0 18px 24px; color:var(--text-muted); font-size:16px; line-height:1.85;
  }
  .article-content li { margin-bottom:6px; }
  .article-content strong { color:var(--text); }
  .article-content table {
    width:100%; border-collapse:collapse; margin:20px 0 28px;
    font-size:15px; background:var(--white);
    border-radius:var(--radius); overflow:hidden;
    border:1px solid var(--border);
  }
  .article-content thead { background:var(--emerald-deep); color:var(--white); }
  .article-content th {
    padding:14px 16px; text-align:left; font-weight:600; font-size:14px;
    letter-spacing:0.3px;
  }
  .article-content td {
    padding:12px 16px; border-bottom:1px solid var(--border);
    color:var(--text-muted);
  }
  .article-content tbody tr:last-child td { border-bottom:none; }
  .article-content tbody tr:hover { background:var(--cream); }

  @keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

  @media(max-width:1024px){
    .casino-card{grid-template-columns:1fr;padding:20px;gap:14px;text-align:center}
    .casino-rank,.casino-logo,.casino-rating,.casino-bonus,.casino-features,.casino-cta{padding:0}
    .casino-logo-box{margin:0 auto}
    .casino-features{flex-direction:row;justify-content:center;flex-wrap:wrap}
    .rating-score{justify-content:center}
    .rating-bar{margin:2px auto 0}
    .featured-tag{border-radius:0 var(--radius) 0 10px}
    nav ul{display:none}
  }
  @media(max-width:768px){
    .info-inner{grid-template-columns:1fr}
    .methodology-grid{grid-template-columns:1fr}
  }

  /* === PAGE HERO (subpages) === */
  .page-hero {
    max-width:1200px; margin:0 auto;
    padding:50px 24px 50px;
    text-align:center;
    position:relative; z-index:2;
  }
  .page-hero h1 {
    font-family:var(--fh); font-size:clamp(32px,4vw,48px);
    font-weight:700; color:var(--white); line-height:1.2; margin-bottom:10px;
  }
  .page-hero p { color:rgba(255,255,255,0.6); font-size:16px; }

  /* === CONTENT SECTION (subpages) === */
  .content-section {
    max-width:860px; margin:0 auto;
    padding:50px 24px 80px;
  }
  .content-section h2 {
    font-family:var(--fh); font-size:24px; font-weight:700;
    color:var(--emerald-deep); margin:36px 0 12px; line-height:1.3;
  }
  .content-section h2:first-child { margin-top:0; }
  .content-section p {
    font-size:16px; color:var(--text-muted); line-height:1.8; margin-bottom:16px;
  }
  .content-section ul {
    margin:0 0 16px 24px; color:var(--text-muted); font-size:16px; line-height:1.8;
  }
  .content-section li { margin-bottom:6px; }
  .content-section strong { color:var(--text); }

  .last-updated {
    display:inline-block; background:var(--cream-dark); border:1px solid var(--border);
    padding:6px 16px; border-radius:50px; font-size:14px; color:var(--emerald);
    font-weight:600; margin-bottom:30px;
  }
