/* ============================================================
   5777bet app — Emerald Trust Gaming UI
   Design System: Original premium dark-emerald theme
   ============================================================ */

/* --- CSS Variables (Design Tokens) --- */
:root {
  --color-primary: #22c55e;
  --color-primary-dark: #16a34a;
  --color-primary-soft: rgba(34,197,94,.15);
  --color-secondary: #10b981;
  --color-accent: #fbbf24;
  --color-bg: #020617;
  --color-bg-soft: #022c22;
  --color-surface: #0d3b2e;
  --color-surface-strong: #134e3a;
  --color-card: #0d3b2e;
  --color-card-alt: #0a2e23;
  --color-border: #134e3a;
  --color-border-strong: #1a6b4f;
  --color-text: #e2f8ee;
  --color-text-soft: #86efac;
  --color-text-muted: #4d7060;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-footer-bg: #010e08;
  --color-footer-text: #86efac;
  --gradient-hero: linear-gradient(135deg,#011a14 0%,#022c22 50%,#020617 100%);
  --gradient-button: linear-gradient(90deg,var(--color-primary),var(--color-secondary));
  --gradient-cta: linear-gradient(135deg,#022c22,#011a14);
  --shadow-header: 0 2px 20px rgba(0,0,0,.4);
  --shadow-card: 0 4px 24px rgba(0,0,0,.3);
  --shadow-card-hover: 0 8px 32px rgba(34,197,94,.15);
  --shadow-soft: 0 2px 8px rgba(0,0,0,.2);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-pill: 25px;
  --font-base: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"Noto Sans Bengali",sans-serif;
  --fs-h1: clamp(1.6rem,4vw,2.8rem);
  --fs-h2: clamp(1.3rem,3vw,2rem);
  --fs-h3: clamp(1.1rem,2vw,1.4rem);
  --fs-body: .97rem;
  --fs-small: .85rem;
  --lh-body: 1.9;
  --section-y: 70px;
  --container-max: 1200px;
  --header-h: 72px;
  --motion-normal: .3s;
  --ease-out: cubic-bezier(.25,.46,.45,.94);
}

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-base);background:var(--color-bg);color:var(--color-text);margin:0;padding:0;overflow-x:hidden;font-size:var(--fs-body);line-height:var(--lh-body);}
a{color:var(--color-primary);text-decoration:none;transition:color var(--motion-normal);}
a:hover{color:var(--color-secondary);}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;line-height:1.3;color:#fff;}
p{margin:0 0 1em;}
ul{list-style:none;padding:0;margin:0;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* --- Container --- */
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 20px;}
.text-center{text-align:center;}

/* --- Section Spacing --- */
.section-pad{padding:var(--section-y) 0;}
.section-alt{background:rgba(2,44,34,.3);}
.section-cta-bg{background:var(--gradient-cta);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);}
.section-divider{width:60px;height:3px;background:var(--gradient-button);border-radius:2px;margin:10px 0 16px;}
.text-center .section-divider{margin-left:auto;margin-right:auto;}
.section-header{margin-bottom:2rem;}
.section-sub{color:var(--color-text-soft);font-size:var(--fs-body);margin-bottom:2rem;}
.text-accent{color:var(--color-primary);}

/* ============================================================
   HEADER — Stable single-row, no "more" button
   ============================================================ */
.site-header{position:sticky;top:0;z-index:1000;width:100%;background:linear-gradient(90deg,#011a14,#022c22);border-bottom:2px solid var(--color-primary);transition:box-shadow var(--motion-normal);}
.site-header.scrolled{box-shadow:var(--shadow-header);}
.header-inner{width:100%;max-width:none;padding-left:clamp(10px,1.2vw,20px);padding-right:clamp(10px,1.2vw,20px);min-height:var(--header-h);display:flex;align-items:center;gap:clamp(10px,1vw,18px);}
.brand-wrap{flex:0 0 auto;margin-right:clamp(4px,.8vw,14px);display:flex;align-items:center;}
.site-logo{display:block;width:auto;height:clamp(32px,3vw,42px);max-width:clamp(118px,10vw,168px);object-fit:contain;}
.primary-nav{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(6px,.72vw,14px);white-space:nowrap;overflow:visible;}
.primary-nav a{flex:0 1 auto;min-width:0;padding:9px clamp(6px,.65vw,12px);font-size:clamp(13px,.84vw,15px);line-height:1;white-space:nowrap;color:var(--color-text-soft);font-weight:500;transition:color var(--motion-normal);border-radius:var(--radius-sm);}
.primary-nav a:hover,.primary-nav a.active{color:var(--color-primary);}
.header-actions{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:clamp(6px,.6vw,10px);white-space:nowrap;}

/* Header Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;border:none;cursor:pointer;transition:all var(--motion-normal) var(--ease-out);text-decoration:none;white-space:nowrap;border-radius:var(--radius-pill);}
.btn-login{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);padding:8px 18px;font-size:.88rem;min-height:40px;}
.btn-login:hover{background:var(--color-primary);color:#011a14;}
.btn-register{background:var(--gradient-button);color:#011a14;padding:8px 18px;font-size:.88rem;min-height:40px;font-weight:700;}
.btn-register:hover{opacity:.9;transform:translateY(-1px);}

/* Nav Toggle (mobile only) */
.nav-toggle{display:none;flex:0 0 40px;width:40px;height:40px;align-items:center;justify-content:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:0;flex-direction:column;gap:5px;}
.hamburger-line{display:block;width:20px;height:2px;background:var(--color-primary);border-radius:1px;transition:transform var(--motion-normal);}

/* Mobile Menu */
.mobile-menu{display:none;position:fixed;top:var(--header-h);left:0;right:0;background:var(--color-bg-soft);border-bottom:2px solid var(--color-primary);max-height:calc(100vh - var(--header-h));overflow-y:auto;z-index:999;padding:1rem;}
.mobile-menu.is-open{display:block;}
.mobile-nav{display:flex;flex-direction:column;gap:0;}
.mobile-nav a{display:block;padding:14px 12px;color:var(--color-text-soft);font-size:1rem;border-bottom:1px solid var(--color-border);transition:color var(--motion-normal);}
.mobile-nav a:hover{color:var(--color-primary);}

/* Mobile breakpoint */
@media(max-width:1180px){
  .primary-nav{display:none;}
  .nav-toggle{display:inline-flex;}
  .header-inner{padding-left:clamp(8px,2.4vw,14px);padding-right:clamp(8px,2.4vw,14px);justify-content:flex-start;gap:clamp(6px,1.8vw,10px);}
  .brand-wrap{flex:0 1 auto;margin-right:0;}
  .site-logo{height:clamp(30px,8vw,40px);max-width:clamp(104px,27vw,138px);}
  .header-actions{margin-left:auto;gap:clamp(5px,1.6vw,8px);}
  .header-actions .btn{min-height:40px;padding-inline:clamp(10px,2.6vw,14px);font-size:clamp(12px,3.2vw,14px);}
  .nav-toggle{flex-basis:40px;}
}
@media(max-width:375px){
  .header-inner{padding-left:8px;padding-right:8px;gap:6px;}
  .site-logo{max-width:104px;}
  .header-actions .btn{min-height:38px;padding-inline:9px;font-size:12px;}
  .nav-toggle{flex-basis:38px;width:38px;height:38px;}
}

/* ============================================================
   HERO
   ============================================================ */
.home-hero{background:var(--gradient-hero);padding:80px 0 60px;position:relative;overflow:hidden;}
.home-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 70%);pointer-events:none;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.hero-badge{display:inline-block;background:var(--color-primary-soft);border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-pill);padding:4px 16px;font-size:.82rem;font-weight:600;margin-bottom:18px;}
.home-hero h1{font-size:var(--fs-h1);font-weight:700;line-height:1.3;margin-bottom:18px;}
.hero-lead{color:var(--color-text-soft);font-size:1.05rem;margin-bottom:30px;max-width:520px;}
.hero-cta-group{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;}
.hero-stats-row{display:flex;gap:32px;flex-wrap:wrap;margin-top:20px;}
.stat-item{text-align:center;}
.stat-num{font-size:1.7rem;font-weight:700;color:var(--color-primary);display:block;}
.stat-label{font-size:.78rem;color:var(--color-text-soft);}
.hero-visual-wrap{position:relative;}
.hero-visual,.content-visual,.section-visual,.gallery-visual{border-radius:var(--radius-lg);overflow:hidden;border:2px solid var(--color-border);box-shadow:var(--shadow-card);width:100%;transition:transform var(--motion-normal);}
.hero-visual:hover,.content-visual:hover{transform:scale(1.02);}

/* Page title sections (inner pages) */
.page-title-section{padding:50px 0 40px;background:var(--gradient-hero);position:relative;}
.page-title-game{border-bottom:1px solid var(--color-border);}
.page-title-section h1{font-size:var(--fs-h1);margin-bottom:16px;}
.page-intro{color:var(--color-text-soft);font-size:1.02rem;max-width:800px;line-height:1.8;}

/* Breadcrumb */
.breadcrumb-nav{font-size:.85rem;color:var(--color-text-muted);margin-bottom:12px;}
.breadcrumb-nav a{color:var(--color-text-soft);}
.breadcrumb-nav span{margin:0 4px;}

/* ============================================================
   CARDS & FEATURES
   ============================================================ */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-top:24px;}
.feature-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px 22px;transition:transform var(--motion-normal),box-shadow var(--motion-normal);}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);}
.feature-icon{width:52px;height:52px;background:var(--color-primary-soft);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.5rem;color:var(--color-primary);}
.feature-card h3{color:#fff;font-weight:600;margin-bottom:8px;font-size:var(--fs-h3);}
.feature-card p{color:var(--color-text-soft);font-size:.93rem;margin:0;}

/* Game Showcase Cards */
.game-showcase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:24px;}
.game-showcase-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px 20px;transition:transform var(--motion-normal),box-shadow var(--motion-normal);}
.game-showcase-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);}
.game-showcase-card h3{color:#fff;font-weight:600;margin-bottom:8px;}
.game-showcase-card p{color:var(--color-text-soft);font-size:.9rem;}

/* Steps */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:24px;}
.steps-grid-3{grid-template-columns:repeat(3,1fr);}
.step-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:26px 20px;text-align:center;}
.step-number{width:48px;height:48px;background:var(--gradient-button);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:#011a14;margin:0 auto 16px;}
.step-card h3{color:#fff;font-weight:600;font-size:var(--fs-h3);}
.step-card p{color:var(--color-text-soft);font-size:.9rem;}

/* Content Split */
.content-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.content-split-reverse{direction:rtl;}.content-split-reverse>*{direction:ltr;}
.split-visual img{border-radius:var(--radius-lg);}

/* Tags */
.tag-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.content-tag{background:var(--color-primary-soft);color:var(--color-primary);border:1px solid var(--color-primary);padding:8px 14px;border-radius:var(--radius-pill);font-size:.85rem;}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.gallery-item img{border-radius:var(--radius-lg);width:100%;}

/* Prose */
.prose-text{color:var(--color-text-soft);font-size:var(--fs-body);line-height:var(--lh-body);max-width:820px;}
.prose-text p{margin-bottom:16px;}
.prose-text a{color:var(--color-primary);font-weight:600;}
.prose-container{max-width:900px;margin:0 auto;}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary-cta{background:var(--gradient-button);color:#011a14;font-weight:700;border:none;border-radius:var(--radius-pill);padding:12px 32px;font-size:1rem;transition:opacity var(--motion-normal),transform var(--motion-normal);}
.btn-primary-cta:hover{opacity:.9;transform:translateY(-2px);color:#011a14;}
.btn-secondary-cta{border:2px solid var(--color-primary);color:var(--color-primary);background:transparent;border-radius:var(--radius-pill);padding:10px 28px;font-size:1rem;font-weight:600;transition:all var(--motion-normal);}
.btn-secondary-cta:hover{background:var(--color-primary);color:#011a14;}
.btn-step{background:var(--gradient-button);color:#011a14;border-radius:var(--radius-pill);padding:8px 20px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;margin-top:12px;}
.btn-step:hover{opacity:.9;color:#011a14;}
.btn-step-outline{border:2px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-pill);padding:8px 20px;font-size:.9rem;font-weight:600;background:transparent;display:inline-flex;align-items:center;}
.btn-step-outline:hover{background:var(--color-primary);color:#011a14;}
.btn-lg{padding:14px 40px;font-size:1.05rem;}
.btn-block{display:block;width:100%;text-align:center;}
.cta-lead{color:var(--color-text-soft);font-size:1rem;max-width:500px;margin:12px auto 28px;}
.cta-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.related-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;}

/* ============================================================
   TABLE
   ============================================================ */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);}
.compare-table{width:100%;border-collapse:separate;border-spacing:0;}
.compare-table th{background:rgba(34,197,94,.12);color:var(--color-primary);font-weight:700;padding:14px 18px;border-bottom:2px solid var(--color-primary);font-size:.95rem;}
.compare-table td{padding:12px 18px;border-bottom:1px solid var(--color-border);color:var(--color-text-soft);font-size:.9rem;background:var(--color-card);}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table td:first-child{color:#fff;font-weight:500;}
.highlight-col{color:var(--color-primary)!important;}
.check-yes{color:var(--color-primary);font-weight:700;}
.check-no{color:var(--color-danger);}

/* ============================================================
   PRICING
   ============================================================ */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:24px;}
.pricing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:32px 24px;text-align:center;transition:transform var(--motion-normal);}
.pricing-card:hover{transform:translateY(-4px);}
.pricing-featured{border-color:var(--color-primary);background:linear-gradient(135deg,#0d4a35,#0d3b2e);box-shadow:0 0 32px rgba(34,197,94,.2);transform:scale(1.03);}
.pricing-featured:hover{transform:scale(1.03) translateY(-4px);}
.pricing-badge{display:inline-block;background:var(--color-primary);color:#011a14;border-radius:var(--radius-md);padding:3px 14px;font-size:.75rem;font-weight:700;margin-bottom:16px;}
.badge-silver{background:rgba(148,163,184,.2);color:#94a3b8;border:1px solid #94a3b8;}
.badge-gold{background:var(--color-primary);}
.badge-platinum{background:rgba(251,191,36,.15);color:var(--color-accent);border:1px solid var(--color-accent);}
.pricing-title{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:8px;}
.pricing-amount{font-size:2.2rem;font-weight:700;color:var(--color-primary);margin:12px 0 4px;}
.pricing-amount small{font-size:1rem;color:var(--color-text-soft);font-weight:400;}
.pricing-features{margin:20px 0;text-align:left;}
.pricing-features li{color:var(--color-text-soft);font-size:.9rem;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.feat-yes::before{content:"✔ ";color:var(--color-primary);font-weight:700;}
.feat-no::before{content:"✘ ";color:var(--color-danger);}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;}
.testimonial-card{background:linear-gradient(135deg,#0d3b2e,#0a2e23);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:26px 22px;}
.testimonial-stars{color:var(--color-accent);font-size:1rem;margin-bottom:12px;}
.testimonial-text{color:var(--color-text);font-size:.95rem;line-height:1.7;margin-bottom:16px;}
.testimonial-author{display:flex;align-items:center;gap:12px;}
.avatar{width:44px;height:44px;background:var(--gradient-button);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#011a14;font-size:1rem;flex-shrink:0;}
.testimonial-author strong{color:#fff;font-size:.93rem;}
.testimonial-author small{color:var(--color-text-soft);font-size:.8rem;}

/* ============================================================
   RESPONSIBLE GAMING
   ============================================================ */
.rg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:20px;}
.rg-card{background:linear-gradient(135deg,#0d2d22,#091f17);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-lg);padding:22px 20px;display:flex;gap:16px;align-items:flex-start;}
.rg-icon{width:44px;height:44px;flex-shrink:0;background:rgba(34,197,94,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:1.3rem;}
.rg-card h3{color:#fff;font-weight:600;margin-bottom:4px;font-size:1.05rem;}
.rg-card p{color:var(--color-text-soft);font-size:.88rem;margin:0;}
.age-notice{margin-top:24px;display:flex;align-items:center;gap:12px;justify-content:center;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:12px 20px;}
.age-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-danger);color:#fff;font-weight:700;font-size:.7rem;border-radius:50%;flex-shrink:0;}
.age-notice p{margin:0;color:#fca5a5;font-size:.88rem;}

/* Highlight Box */
.highlight-box{background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);padding:20px 22px;margin:24px 0;}
.highlight-box p{color:var(--color-text);margin:0;font-size:.95rem;}
.highlight-box strong{color:var(--color-primary);}

/* Privacy Notice Block */
.privacy-notice-block{display:flex;gap:20px;align-items:flex-start;background:linear-gradient(90deg,rgba(34,197,94,.08),rgba(16,185,129,.08));border:1px solid rgba(34,197,94,.3);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:24px;}
.privacy-icon{color:var(--color-primary);font-size:2rem;flex-shrink:0;}
.privacy-content h2{font-size:1.1rem;color:var(--color-primary);margin-bottom:8px;}
.privacy-content p{color:var(--color-text-soft);font-size:.9rem;margin:0;}

/* ============================================================
   FAQ
   ============================================================ */
.faq-list{display:flex;flex-direction:column;gap:8px;}
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-card);}
.faq-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:none;border:none;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;text-align:left;gap:12px;transition:background var(--motion-normal);}
.faq-toggle:hover{background:rgba(34,197,94,.05);}
.faq-icon{color:var(--color-primary);font-size:1.4rem;font-weight:700;flex-shrink:0;transition:transform var(--motion-normal);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-answer{display:none;padding:0 20px 16px;color:var(--color-text-soft);font-size:.93rem;line-height:1.7;}
.faq-item.open .faq-answer{display:block;}

/* ============================================================
   AUTH PAGES (Login/Register)
   ============================================================ */
.auth-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;}
.auth-form-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:36px 30px;}
.auth-form-card h2{margin-bottom:24px;font-size:var(--fs-h2);}
.form-group{margin-bottom:20px;}
.form-group label{display:block;color:var(--color-text-soft);font-size:.9rem;margin-bottom:6px;font-weight:500;}
.form-group input{width:100%;padding:12px 16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;transition:border-color var(--motion-normal);}
.form-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.15);}
.form-note{text-align:center;color:var(--color-text-soft);font-size:.88rem;margin-top:16px;}
.form-note a{color:var(--color-primary);font-weight:600;}
.auth-info-panel{padding:20px 0;}
.auth-info-panel h3{color:#fff;font-size:1.2rem;margin-bottom:16px;}
.benefit-list{margin-bottom:24px;}
.benefit-list li{color:var(--color-text-soft);padding:8px 0;font-size:.93rem;border-bottom:1px solid rgba(255,255,255,.05);}
.benefit-list li::before{content:"✔ ";color:var(--color-primary);font-weight:700;}
.trust-card{background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);padding:20px;}
.trust-card h4{color:var(--color-primary);margin-bottom:8px;font-size:1rem;}
.trust-card p{color:var(--color-text-soft);font-size:.88rem;margin:0;}

/* ============================================================
   POLICY PAGES
   ============================================================ */
.policy-layout{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;}
.policy-toc{position:sticky;top:90px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;}
.policy-toc h2{font-size:1rem;color:var(--color-primary);margin-bottom:12px;}
.policy-toc ul li{margin-bottom:6px;}
.policy-toc ul li a{color:var(--color-text-soft);font-size:.88rem;transition:color var(--motion-normal);}
.policy-toc ul li a:hover{color:var(--color-primary);}
.policy-body h2{margin-top:36px;font-size:var(--fs-h2);}
.policy-body h2:first-child{margin-top:0;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--color-footer-bg);border-top:2px solid var(--color-surface);padding:50px 0 24px;}
.footer-inner{max-width:var(--container-max);margin:0 auto;padding:0 20px;}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px;}
.footer-logo-wrap{display:inline-block;margin-bottom:12px;}
.footer-logo-wrap img{height:38px;width:auto;}
.footer-desc{color:var(--color-text-soft);font-size:.88rem;line-height:1.7;max-width:280px;}
.footer-age-badge{display:flex;align-items:center;gap:8px;margin-top:12px;}
.footer-age-badge span:last-child{color:var(--color-text-muted);font-size:.8rem;}
.footer-heading{color:var(--color-primary);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;}
.footer-links li{margin-bottom:8px;}
.footer-links a{color:var(--color-text-soft);font-size:.88rem;transition:color var(--motion-normal);}
.footer-links a:hover{color:var(--color-primary);}
.footer-bottom{border-top:1px solid var(--color-surface);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;}
.footer-bottom p{color:var(--color-text-muted);font-size:.8rem;margin:0;}
.footer-bottom a{color:var(--color-primary);}

/* ============================================================
   AOS Degradation
   ============================================================ */
[data-aos]{opacity:1!important;transform:none!important;}
.aos-animate[data-aos]{opacity:1!important;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:900px){
  .hero-grid,.content-split,.content-split-reverse{grid-template-columns:1fr;gap:24px;}
  .content-split-reverse{direction:ltr;}
  .hero-stats-row{gap:20px;}
  .pricing-featured{transform:none;}
  .auth-layout{grid-template-columns:1fr;}
  .policy-layout{grid-template-columns:1fr;}
  .policy-toc{position:static;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .section-pad{padding:48px 0;}
  .home-hero{padding:50px 0 40px;}
  .steps-grid-3{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .feature-grid{grid-template-columns:1fr;}
  .testimonial-grid{grid-template-columns:1fr;}
  .rg-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
  .pricing-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:1fr;}
}
@media(max-width:414px){
  .container{padding:0 14px;}
  .section-pad{padding:36px 0;}
  .pricing-card{padding:24px 16px;}
  .feature-card{padding:20px 16px;}
  .auth-form-card{padding:24px 18px;}
}
@media(max-width:375px){
  body{font-size:.92rem;}
  h1{font-size:1.4rem;}
  h2{font-size:1.15rem;}
  .hero-lead{font-size:.95rem;}
  .cta-buttons{flex-direction:column;align-items:stretch;}
  .cta-buttons .btn{text-align:center;}
}
