/* ============================================================
   Crystal Arcade Trust UI - Design System
   Visual: Emerald-teal trust gaming, Bangladesh market
   ============================================================ */
:root {
  --color-primary: #0d9488;
  --color-primary-dark: #0f766e;
  --color-primary-soft: rgba(13,148,136,.12);
  --color-secondary: #059669;
  --color-accent: #f59e0b;
  --color-accent-soft: rgba(245,158,11,.12);
  --color-bg: #f0fdfa;
  --color-bg-soft: #ecfdf5;
  --color-surface: #ffffff;
  --color-surface-strong: #f8fafc;
  --color-card: #ffffff;
  --color-card-alt: #f0fdf4;
  --color-border: rgba(13,148,136,.15);
  --color-border-strong: rgba(13,148,136,.28);
  --color-text: #134e4a;
  --color-text-soft: #1e665f;
  --color-text-muted: #5f8a85;
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-footer-bg: #0f2d2a;
  --color-footer-text: #d1fae5;
  --gradient-hero: linear-gradient(135deg, #ecfdf5 0%, #f0fdfa 40%, #e0f2fe 100%);
  --gradient-button: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  --gradient-button-hover: linear-gradient(135deg, var(--color-primary-dark), #047857);
  --gradient-card-border: linear-gradient(135deg, rgba(13,148,136,.2), rgba(5,150,105,.1));
  --gradient-cta: linear-gradient(135deg, #065f46 0%, #134e4a 100%);
  --gradient-footer: linear-gradient(180deg, #0f2d2a 0%, #0a1f1c 100%);
  --shadow-header: 0 2px 16px rgba(13,148,136,.08);
  --shadow-card: 0 4px 24px rgba(13,148,136,.08);
  --shadow-card-hover: 0 8px 32px rgba(13,148,136,.14);
  --shadow-button: 0 4px 14px rgba(13,148,136,.18);
  --shadow-soft: 0 2px 8px rgba(0,0,0,.04);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --radius-card: 18px;
  --font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, "Noto Sans Bengali", sans-serif;
  --fs-h1: clamp(28px, 4vw, 48px);
  --fs-h2: clamp(22px, 3vw, 36px);
  --fs-h3: clamp(18px, 2.2vw, 26px);
  --fs-body: 17px;
  --fs-small: 14px;
  --fs-nav: clamp(13px, .84vw, 15px);
  --lh-body: 1.85;
  --lh-heading: 1.25;
  --container-max: 1200px;
  --container-wide: 1140px;
  --container-narrow: 820px;
  --section-y: clamp(48px, 6vw, 80px);
  --gap-sm: 12px;
  --gap-md: 20px;
  --gap-lg: 32px;
  --header-h: 72px;
  --mobile-header-h: 64px;
  --motion-fast: .15s;
  --motion-normal: .25s;
  --motion-slow: .4s;
  --ease-out: cubic-bezier(.22,1,.36,1);
}

/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-base);background:var(--color-bg);color:var(--color-text);line-height:var(--lh-body);font-size:var(--fs-body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary-dark);text-decoration:none;transition:color var(--motion-fast)}
a:hover{color:var(--color-secondary)}
h1,h2,h3,h4{margin:0 0 .6em;line-height:var(--lh-heading);color:var(--color-primary-dark);font-weight:800}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{margin:0 0 1em}
ul{list-style:none;padding:0;margin:0}
table{width:100%;border-collapse:collapse}

/* Containers */
.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.section-pad{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.section-gap{padding:var(--gap-lg) 0}
.alt-bg{background:var(--color-surface-strong)}
.text-center{text-align:center}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-header);transition:box-shadow var(--motion-normal)}
.site-header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.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:var(--fs-nav);line-height:1;white-space:nowrap;color:var(--color-text);font-weight:600;border-radius:var(--radius-sm);transition:all var(--motion-fast)}
.primary-nav a:hover,.primary-nav a.active{color:var(--color-primary);background:var(--color-primary-soft)}
.header-actions{flex:0 0 auto;display:flex;align-items:center;gap:clamp(6px,.6vw,10px);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--radius-pill);font-weight:700;font-size:14px;min-height:42px;cursor:pointer;border:none;text-decoration:none;transition:all var(--motion-fast);white-space:nowrap}
.btn-login{background:transparent;color:var(--color-primary-dark);border:2px solid var(--color-primary)}
.btn-login:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}
.btn-register{background:var(--gradient-button);color:#fff;box-shadow:var(--shadow-button)}
.btn-register:hover{background:var(--gradient-button-hover);color:#fff;transform:translateY(-1px)}
.btn-primary-glow{background:var(--gradient-button);color:#fff;box-shadow:var(--shadow-button);padding:12px 28px;font-size:16px}
.btn-primary-glow:hover{background:var(--gradient-button-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(13,148,136,.22)}
.btn-outline-light{background:transparent;color:var(--color-primary-dark);border:2px solid var(--color-border-strong);padding:12px 28px;font-size:16px}
.btn-outline-light:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}
.btn-outline-accent{background:transparent;color:var(--color-accent);border:2px solid var(--color-accent);padding:12px 28px}
.btn-outline-accent:hover{background:var(--color-accent-soft);color:var(--color-accent)}
.btn-full{width:100%}
.nav-toggle{display:none;flex:0 0 40px;width:40px;height:40px;background:none;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:8px;flex-direction:column;justify-content:center;gap:4px;align-items:center}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--color-text);border-radius:2px;transition:all var(--motion-normal)}

/* Mobile menu */
.mobile-menu{display:none;position:fixed;left:12px;right:12px;top:calc(var(--mobile-header-h) + 8px);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.12);padding:16px;flex-direction:column;gap:0;max-height:calc(100vh - var(--mobile-header-h) - 24px);overflow-y:auto;z-index:999;border:1px solid var(--color-border)}
.mobile-menu.is-open{display:flex}
.mobile-menu a{display:block;padding:14px 16px;font-size:16px;font-weight:600;color:var(--color-text);border-radius:var(--radius-sm)}
.mobile-menu a:hover{background:var(--color-primary-soft);color:var(--color-primary)}

@media(max-width:1180px){
  .primary-nav{display:none}
  .nav-toggle{display:inline-flex}
  .header-inner{min-height:var(--mobile-header-h);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;flex:0 0 auto;justify-content:flex-end;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:clamp(60px,8vw,100px) 0 clamp(40px,6vw,70px);border-bottom:1px solid var(--color-border)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-lg);align-items:center}
.hero-badge{display:inline-block;background:var(--color-primary-soft);color:var(--color-primary-dark);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:8px 18px;font-size:var(--fs-small);font-weight:700;margin-bottom:16px}
.hero-lead{font-size:clamp(16px,1.6vw,19px);color:var(--color-text-soft);margin-bottom:24px}
.hero-cta-group{display:flex;flex-wrap:wrap;gap:12px}
.hero-stat-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-card)}
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.stat-box{padding:16px;border-radius:var(--radius-md);text-align:center}
.stat-box.accent-a{background:rgba(13,148,136,.08)}
.stat-box.accent-b{background:rgba(5,150,105,.08)}
.stat-val{font-size:28px;font-weight:800;color:var(--color-primary-dark)}
.stat-label{font-size:13px;color:var(--color-text-muted)}
.stat-info p{margin:0;font-size:15px;color:var(--color-text-soft)}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
}

/* Inner page opening */
.inner-opening,.about-opening,.policy-opening,.faq-opening,.auth-opening,.register-opening,.error-section{padding:clamp(28px,4vw,48px) 0;background:var(--gradient-hero);border-bottom:1px solid var(--color-border)}
.opening-lead{font-size:clamp(15px,1.4vw,18px);color:var(--color-text-soft);max-width:720px}

/* Breadcrumb */
.breadcrumb-nav{margin-bottom:16px}
.breadcrumb-nav ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0;font-size:13px}
.breadcrumb-nav li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--color-text-muted)}
.breadcrumb-nav a{color:var(--color-primary)}
.breadcrumb-nav span{color:var(--color-text-muted)}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.home-trust-strip{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:16px 0}
.trust-items{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(16px,3vw,40px)}
.trust-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-primary-dark)}
.trust-item i{font-size:20px;color:var(--color-secondary)}

/* ============================================================
   CONTENT SECTIONS
   ============================================================ */
.split-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-lg);align-items:start}
.split-main h2{margin-bottom:.5em}
.split-side{position:sticky;top:calc(var(--header-h) + 20px)}
@media(max-width:900px){.split-layout{grid-template-columns:1fr}.split-side{position:static}}

.notice-panel{background:var(--color-card);border-radius:var(--radius-card);padding:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}
.notice-panel.accent-green{border-left:4px solid var(--color-secondary)}
.notice-panel.accent-amber{border-left:4px solid var(--color-accent)}
.notice-panel h3{display:flex;align-items:center;gap:8px;font-size:18px;margin-bottom:12px}

/* Feature grid */
.section-heading{margin-bottom:var(--gap-lg)}
.feature-grid-8,.feature-grid-4{display:grid;gap:var(--gap-md)}
.feature-grid-8{grid-template-columns:repeat(4,1fr)}
.feature-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.feature-grid-8,.feature-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.feature-grid-8,.feature-grid-4{grid-template-columns:1fr}}

.feature-card-v2{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-soft);transition:all var(--motion-normal) var(--ease-out)}
.feature-card-v2:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}
.fc-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-dark);font-size:24px;margin-bottom:14px}
.feature-card-v2 h3{font-size:17px;margin-bottom:8px}
.feature-card-v2 p{font-size:15px;color:var(--color-text-soft);margin:0}

/* Info grid for dice */
.info-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-md)}
@media(max-width:768px){.info-grid-3{grid-template-columns:1fr}}
.info-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:24px;text-align:center;box-shadow:var(--shadow-soft)}
.info-card i{font-size:36px;color:var(--color-primary);margin-bottom:12px}
.info-card h3{font-size:17px}
.info-card p{font-size:14px;color:var(--color-text-soft);margin:0}

/* Dual panel */
.dual-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg)}
@media(max-width:900px){.dual-panel{grid-template-columns:1fr}}
.panel-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-card)}

/* Steps */
.step-timeline{display:flex;flex-direction:column;gap:16px}
.step-item{display:flex;gap:16px;align-items:flex-start}
.step-num{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-button);color:#fff;font-weight:800;font-size:16px}
.step-body h3{font-size:17px;margin-bottom:4px}
.step-body p{font-size:15px;color:var(--color-text-soft);margin:0}

.step-flow{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}
.step-flow-item{display:flex;gap:16px;align-items:flex-start}
.step-circle{flex:0 0 42px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-button);color:#fff;font-weight:800;font-size:18px}

/* Compare */
.compare-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap-lg);align-items:start}
@media(max-width:900px){.compare-layout{grid-template-columns:1fr}}
.compare-table-wrap,.compare-list-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:clamp(20px,3vw,36px);box-shadow:var(--shadow-card)}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse}
table th{background:var(--color-primary-soft);color:var(--color-primary-dark);padding:12px 14px;text-align:left;font-size:14px}
table td{padding:12px 14px;border-bottom:1px solid var(--color-border);font-size:14px}
.check-list li{padding:8px 0 8px 28px;position:relative;font-size:15px}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--color-secondary);font-weight:800}

/* Plans */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-md)}
@media(max-width:768px){.plan-grid{grid-template-columns:1fr}}
.plan-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:32px 24px;text-align:center;box-shadow:var(--shadow-soft);transition:all var(--motion-normal)}
.plan-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}
.plan-card.featured{border:2px solid var(--color-secondary);position:relative}
.plan-badge{display:inline-block;background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:var(--radius-pill);padding:6px 16px;font-size:12px;font-weight:700;margin-bottom:12px}
.plan-badge.pop{background:rgba(5,150,105,.12);color:var(--color-secondary)}
.plan-price{font-size:28px;font-weight:800;color:var(--color-primary-dark);margin:8px 0 16px}
.plan-price.highlight{color:var(--color-secondary)}

/* Prose */
.prose-wide{max-width:var(--container-narrow);margin:0 auto}
.prose-wide p{font-size:17px;line-height:1.9}

/* Content image */
.content-img{width:100%;max-width:960px;height:auto;display:block;margin:0 auto;border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}
.full-width-img{max-width:100%}

/* ============================================================
   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-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:none;border:none;font:inherit;font-weight:700;font-size:16px;color:var(--color-text);cursor:pointer;text-align:left;gap:12px;transition:background var(--motion-fast)}
.faq-trigger:hover{background:var(--color-primary-soft)}
.faq-trigger::after{content:"+";flex:0 0 24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-dark);font-size:18px;font-weight:800;transition:transform var(--motion-normal)}
.faq-trigger[aria-expanded="true"]::after{content:"−";transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--motion-slow) var(--ease-out)}
.faq-answer.is-open{max-height:600px}
.faq-answer p{padding:0 20px 16px;margin:0;font-size:15px;color:var(--color-text-soft);line-height:1.8}

/* Related links */
.related-links-panel{margin-top:24px;padding:20px;background:var(--color-bg-soft);border-radius:var(--radius-md);border:1px solid var(--color-border)}
.related-links-panel h3{font-size:16px;margin-bottom:12px}
.related-links-panel ul{display:flex;flex-direction:column;gap:8px}
.related-links-panel li{font-size:15px}
.related-links-panel a{font-weight:600}

/* ============================================================
   AUTH PAGES (Login/Register)
   ============================================================ */
.auth-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-lg);align-items:start}
.register-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap-lg);align-items:start}
@media(max-width:900px){.auth-grid,.register-grid{grid-template-columns:1fr}}

.auth-form-card,.register-form-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-card)}
.auth-form{display:flex;flex-direction:column;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:14px;font-weight:700;color:var(--color-text)}
.form-group input{padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:16px;transition:border-color var(--motion-fast);background:var(--color-surface)}
.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}
.form-note{font-size:13px;color:var(--color-text-muted)}
.form-note a{font-weight:600}
.auth-switch{text-align:center;font-size:14px;margin-top:16px}

.auth-info-panel,.register-benefit-grid{display:flex;flex-direction:column;gap:16px}
.auth-trust-card,.benefit-card{background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;display:flex;gap:14px;align-items:flex-start}
.auth-trust-card i,.benefit-card i{font-size:28px;color:var(--color-primary);flex:0 0 auto}
.auth-trust-card h3,.benefit-card h3{font-size:16px;margin-bottom:4px}
.auth-trust-card p,.benefit-card p{font-size:14px;color:var(--color-text-soft);margin:0}

/* ============================================================
   POLICY PAGES
   ============================================================ */
.policy-meta{font-size:13px;color:var(--color-text-muted);margin-top:8px}
.policy-toc{background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:32px}
.policy-toc h3{font-size:16px;margin-bottom:12px}
.policy-toc ol{padding-left:20px}
.policy-toc li{padding:4px 0;font-size:14px}
.policy-toc a{font-weight:600}
.policy-warning{display:flex;gap:14px;align-items:flex-start;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.18);border-radius:var(--radius-md);padding:20px;margin-bottom:32px}
.policy-warning i{font-size:24px;color:var(--color-danger);flex:0 0 auto}

/* About page */
.data-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-md)}
@media(max-width:768px){.data-cards{grid-template-columns:repeat(2,1fr)}}
.data-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:24px;text-align:center;box-shadow:var(--shadow-soft)}
.data-num{font-size:36px;font-weight:800;color:var(--color-primary)}
.data-label{font-size:14px;font-weight:700;color:var(--color-primary-dark);margin-bottom:8px}
.data-card p{font-size:13px;color:var(--color-text-soft);margin:0}

.contact-card{background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin:16px 0}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--gradient-footer);color:var(--color-footer-text);padding:clamp(40px,6vw,64px) 0 0;margin-top:var(--section-y)}
.footer-inner{max-width:var(--container-wide);margin:0 auto;padding:0 clamp(16px,3vw,32px);display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gap-lg)}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr}}
.footer-brand{max-width:360px}
.footer-logo-wrap{display:inline-flex;margin-bottom:16px}
.footer-logo-wrap img{height:36px;width:auto;filter:brightness(1.2)}
.footer-desc{font-size:14px;color:rgba(209,250,229,.8);line-height:1.7;margin-bottom:12px}
.footer-email{font-size:13px;color:rgba(209,250,229,.6)}
.footer-links-group{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-md)}
@media(max-width:600px){.footer-links-group{grid-template-columns:1fr}}
.footer-col h4{font-size:14px;font-weight:700;color:#a7f3d0;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}
.footer-col ul{display:flex;flex-direction:column;gap:8px}
.footer-col a{color:rgba(209,250,229,.75);font-size:14px;transition:color var(--motion-fast)}
.footer-col a:hover{color:#fff}
.footer-bottom{margin-top:clamp(24px,4vw,40px);padding:16px clamp(16px,3vw,32px);border-top:1px solid rgba(167,243,208,.12);text-align:center}
.footer-bottom p{margin:0;font-size:12px;color:rgba(209,250,229,.5)}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-section{min-height:50vh;display:flex;align-items:center}
.error-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}
.error-page-list{display:flex;flex-direction:column;gap:8px;margin:16px auto 0;max-width:300px;text-align:left}
.error-page-list li a{font-weight:600}

/* CTA buttons group */
.final-cta-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* ============================================================
   FOCUS & ACCESSIBILITY
   ============================================================ */
:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* AOS degrade: never hide content */
[data-aos]{opacity:1!important;transform:none!important}

/* Swiper degrade */
.swiper:not(.swiper-initialized){overflow-x:auto;display:flex;gap:16px;scroll-snap-type:x mandatory}
.swiper:not(.swiper-initialized) .swiper-slide{flex:0 0 auto;scroll-snap-align:start}

/* ============================================================
   RESPONSIVE FINAL
   ============================================================ */
@media(max-width:414px){
  .home-hero{padding:40px 0 32px}
  .plan-grid{gap:12px}
  .data-cards{grid-template-columns:1fr 1fr;gap:12px}
  .step-num,.step-circle{flex-basis:36px;width:36px;height:36px;font-size:14px}
}
@media(max-width:375px){
  body{font-size:16px}
  .container-wide,.container-narrow{padding:0 12px}
  .content-img{border-radius:var(--radius-md)}
  .faq-trigger{padding:14px 16px;font-size:15px}
}
