/* =========================================================
  GLOBAL THEME VARIABLES
  ========================================================= */
:root{
    /* Brand Colors */
    --primary-100:#0f2027;
    --primary-200:#203a43;
    --primary-300:#2c5364;

    --accent-100:#00c389;
    --accent-200:#41e0a8;

    --neutral-100:#ffffff;
    --neutral-200:#fafafa;
    --neutral-300:#e0e0e0;
    --neutral-800:#222222;

    /* Typography */
    --font-heading:'Roboto',sans-serif;
    --font-body:'Lato',sans-serif;

    /* Shadows & Radius */
    --shadow-elevated:0 8px 20px rgba(0,0,0,.25);
    --radius-sm:6px;
    --radius-md:12px;
    --radius-lg:24px;

    /* Transitions */
    --transition-fast:.25s ease;
    --transition-medium:.45s cubic-bezier(.4,0,.2,1);

    /* Layout */
    --container-width:1200px;
    --gutter:1rem;
}

/* =========================================================
  RESET & BASICS
  ========================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:var(--font-body);
    color:var(--neutral-200);
    background:var(--primary-100);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:var(--accent-200);transition:color var(--transition-fast)}
a:hover{color:var(--accent-100);text-decoration:underline}
ul{list-style:none}

/* =========================================================
  TYPOGRAPHY (Adaptive)
  ========================================================= */
h1,h2,h3,h4,h5,h6{
    font-family:var(--font-heading);
    color:var(--neutral-100);
    line-height:1.2;
    text-align:center;
    text-shadow:1px 1px 3px rgba(0,0,0,.5);
}
h1{font-size:clamp(2rem,4vw + 1rem,4rem)}
h2{font-size:clamp(1.75rem,3vw + 1rem,3rem);margin-bottom:1rem}
h3{font-size:clamp(1.25rem,2vw + .75rem,2rem);margin-bottom:.75rem}

/* =========================================================
  LAYOUT HELPERS
  ========================================================= */
.container{
    width:100%;
    max-width:var(--container-width);
    margin:0 auto;
    padding:0 var(--gutter);
}
.section-title{margin-bottom:2.5rem}
.parallax{
    background-attachment:fixed;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center;
}
@media(max-width:991px){.parallax{background-attachment:scroll}}

/* =========================================================
  HEADER & NAV
  ========================================================= */
.site-header{
    position:fixed;
    top:0;left:0;width:100%;
    background:rgba(15,32,39,.85);
    backdrop-filter:blur(12px);
    z-index:999;
    box-shadow:var(--shadow-elevated);
}
.site-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.75rem 1rem;
}
.logo{font-size:1.5rem;font-weight:700;color:var(--neutral-100)}
.main-nav ul{display:flex;gap:1.5rem}
.main-nav a{color:var(--neutral-100);font-weight:500}
.main-nav a:hover{color:var(--accent-100)}
.burger{display:none;background:none;border:none;cursor:pointer}
.burger span{
    display:block;width:24px;height:2px;
    background:var(--neutral-100);margin:5px 0;
    transition:transform var(--transition-fast)
}
@media(max-width:768px){
    .burger{display:block}
    .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--primary-200);display:none}
    .main-nav.open{display:block}
    .main-nav ul{flex-direction:column;padding:1rem}
}

/* =========================================================
  HERO
  ========================================================= */
.hero-section{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:90vh;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center;
    position:relative;
}
.hero-content{
    text-align:center;
    max-width:800px;
    padding:4rem 1rem;
}
.hero-title{margin-bottom:1.5rem}
.hero-text{margin-bottom:2rem;font-size:1.125rem;color:var(--neutral-100)}
/* =========================================================
  GLOBAL BUTTONS
  ========================================================= */
.btn,button,input[type='submit']{
    font-family:var(--font-heading);
    display:inline-block;
    padding:.75rem 1.75rem;
    border-radius:var(--radius-sm);
    border:none;
    cursor:pointer;
    font-size:1rem;
    transition:all var(--transition-medium);
    text-align:center;
    background:linear-gradient(135deg,var(--accent-100),var(--accent-200));
    color:var(--neutral-100);
    box-shadow:0 4px 10px rgba(0,195,137,.4);
}
.btn:hover,button:hover,input[type='submit']:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 14px rgba(0,195,137,.6);
}
.secondary-btn{
    background:transparent;
    border:2px solid var(--accent-100);
}
.secondary-btn:hover{background:var(--accent-100);color:var(--neutral-100)}
.tertiary-btn{
    background:var(--primary-200);
    border:2px solid var(--accent-200);
}
.tertiary-btn:hover{
    background:var(--accent-200);
    color:var(--neutral-100)
}

/* =========================================================
  FEATURES, RESOURCES, ACCOLADES, PRICING (CARDS)
  ========================================================= */
.features-grid,.pricing-table,.resources-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:2rem;
}
.card{
    background:rgba(32,58,67,.6);
    backdrop-filter:blur(14px);
    border-radius:var(--radius-md);
    padding:1.5rem;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    transition:transform var(--transition-medium),box-shadow var(--transition-medium);
}
.card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-elevated);
}
.card-image{
    width:100%;
    height:180px;
    overflow:hidden;
    border-radius:var(--radius-sm);
    margin-bottom:1rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0 auto;
}
.card-content p{color:var(--neutral-300)}

/* =========================================================
  STATISTICS WIDGET
  ========================================================= */
.stats-widget{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:2rem;
}
.stat{
    background:rgba(0,0,0,.25);
    padding:1.5rem 2rem;
    border-radius:var(--radius-sm);
    text-align:center;
}
.stat-number{
    font-size:2rem;
    font-weight:700;
    color:var(--accent-200);
}
.stat-label{color:var(--neutral-200)}

/* =========================================================
  PRICING SWITCH
  ========================================================= */
.switch{
    position:relative;display:inline-block;width:50px;height:26px;margin:0 .5rem
}
.switch input{opacity:0;width:0;height:0}
.slider{
    position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;
    background:var(--neutral-300);transition:var(--transition-fast);border-radius:34px
}
.slider:before{
    position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;
    background:white;transition:var(--transition-fast);border-radius:50%
}
input:checked + .slider{background:var(--accent-100)}
input:checked + .slider:before{transform:translateX(24px)}
.price{font-size:2rem;font-weight:700;color:var(--accent-200);margin:1rem 0}

/* =========================================================
  CONTACT FORM
  ========================================================= */
.contact-section form{
    max-width:600px;margin:0 auto;
    display:grid;gap:1.25rem
}
.form-group{display:flex;flex-direction:column}
label{margin-bottom:.5rem;font-weight:700;color:var(--neutral-100)}
input[type="text"],input[type="email"],textarea{
    padding:.75rem 1rem;border-radius:var(--radius-sm);
    border:1px solid var(--primary-300);background:rgba(255,255,255,.05);
    color:var(--neutral-100);resize:vertical
}
input:focus,textarea:focus{outline:none;border-color:var(--accent-100);box-shadow:0 0 0 2px rgba(0,195,137,.4)}

/* =========================================================
  FOOTER
  ========================================================= */
.site-footer{
    background:var(--primary-300);
    padding:2rem 0;
    color:var(--neutral-100);
    text-align:center;
}
.footer-links ul{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}
.footer-links a{color:var(--neutral-100);font-weight:500}
.footer-links a:hover{color:var(--accent-100)}
.social-links a{color:var(--accent-200);margin:0 .5rem;font-weight:700}
.social-links a:hover{color:var(--accent-100)}

/* =========================================================
  SUCCESS PAGE
  ========================================================= */
.success-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--primary-200),var(--primary-300));
    text-align:center;
    padding:2rem;
}
.success-page h1{margin-bottom:1rem}

/* =========================================================
  PRIVACY & TERMS PADDING
  ========================================================= */
.privacy-page,.terms-page{padding-top:100px;padding-bottom:60px}

/* =========================================================
  COOKIE POPUP (INLINE STYLE EXISTS BUT EXTRA HERE FOR THEME)
  ========================================================= */
#cookiePopup button:hover{background:var(--accent-200)}

/* =========================================================
  UTILITIES & ANIMATIONS
  ========================================================= */
.read-more{
    font-weight:700;
    color:var(--accent-200);
    position:relative;
}
.read-more::after{
    content:'→';
    margin-left:.25rem;
    transition:transform var(--transition-fast)
}
.read-more:hover::after{transform:translateX(4px)}

[data-aos]{will-change:transform,opacity}

@media(max-width:575px){
    .stats-widget{gap:1rem}
    .card-image{height:150px}
}

/* =========================================================
  GLASSMORPHIC OVERLAY (OPTIONAL BACKGROUND)
  ========================================================= */
.glass{
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.15);
    border-radius:var(--radius-md);
}
.burger{
    display: none;
}