:root{
  --bg:#f6f8fc;
  --bg-2:#edf2fb;
  --surface:rgba(255,255,255,.82);
  --surface-strong:#ffffff;
  --text:#122033;
  --muted:#637082;
  --accent:#0b84ff;
  --accent-2:#6b5efc;
  --accent-3:#00c2ff;
  --line:#dbe6ef;
  --shadow:0 20px 50px rgba(11,18,32,.08);
  --shadow-soft:0 10px 24px rgba(11,18,32,.06);
  --container:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  position:relative;
  overflow-x:hidden;
  font-family:'Inter','Segoe UI',system-ui,sans-serif;
  line-height:1.7;
  color:var(--text);
  background:
    radial-gradient(circle at top left,rgba(11,132,255,.12),transparent 26%),
    radial-gradient(circle at top right,rgba(107,94,252,.10),transparent 22%),
    radial-gradient(circle at bottom right,rgba(0,194,255,.08),transparent 24%),
    linear-gradient(135deg,#fbfdff 0%,var(--bg) 42%,var(--bg-2) 100%);
  margin:0;
  min-height:100vh;
}
body::before,
body::after{
  content:'';
  position:fixed;
  inset:auto;
  width:420px;
  height:420px;
  border-radius:50%;
  filter:blur(28px);
  pointer-events:none;
  z-index:-1;
  opacity:.45;
}
body::before{top:-140px;left:-140px;background:rgba(11,132,255,.18)}
body::after{right:-160px;bottom:-160px;background:rgba(107,94,252,.12)}

.container{max-width:var(--container);margin:0 auto;padding:32px}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  color:#fff;
  padding:16px 0;
  background:linear-gradient(135deg,rgba(10,17,31,.94),rgba(22,32,53,.92));
  backdrop-filter:blur(14px);
  box-shadow:0 12px 34px rgba(0,0,0,.12);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}
.brand{display:flex;align-items:center;text-decoration:none;color:inherit;transition:transform .25s ease,opacity .25s ease,filter .25s ease}
.brand:hover{transform:translateY(-1px);opacity:.97;filter:brightness(1.04)}
.brand-logo{width:42px;height:42px;margin-right:12px;border-radius:12px;background:rgba(255,255,255,.95);padding:4px;display:inline-block;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.brand-title{font-weight:700;font-size:1.05rem;color:#fff;letter-spacing:.2px}
.nav-toggle{background:transparent;border:0;display:none;padding:8px;margin-left:12px;cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.nav-toggle:hover{transform:scale(1.04);opacity:.95}
.nav-toggle .hamburger{display:block;width:22px;height:2px;background:#fff;position:relative;border-radius:2px}
.nav-toggle .hamburger::before,.nav-toggle .hamburger::after{content:'';position:absolute;left:0;width:22px;height:2px;background:#fff;border-radius:2px}
.nav-toggle .hamburger::before{top:-6px}
.nav-toggle .hamburger::after{top:6px}
.site-nav{display:flex}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.site-nav a{
  color:rgba(255,255,255,.95);
  text-decoration:none;
  padding:10px 8px;
  font-weight:600;
  position:relative;
  transition:color .22s ease,transform .22s ease,opacity .22s ease;
}
.site-nav a::after{
  content:'';
  position:absolute;
  left:8px;right:8px;bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,.6));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.site-nav a:hover{color:#fff;opacity:1;transform:translateY(-1px)}
.site-nav a:hover::after{transform:scaleX(1)}

/* Mobile nav */
@media(max-width:900px){
  .nav-toggle{display:block}
  .site-nav{
    position:absolute;
    left:0;right:0;top:64px;
    background:linear-gradient(180deg,rgba(11,18,28,.99),rgba(11,18,28,.94));
    transform:translateY(-8px) scale(.985);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease,transform .22s ease;
    padding:8px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
    box-shadow:0 18px 30px rgba(0,0,0,.18);
  }
  .site-nav.open{opacity:1;transform:none;pointer-events:auto}
  .site-nav ul{flex-direction:column;gap:0;padding:8px 12px;align-items:stretch}
  .site-nav a{display:block;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.06)}
  .site-nav a::after{left:10px;right:10px}
}

.tagline{margin:6px 0 0;color:rgba(255,255,255,.88);font-size:.95rem}

.hero{
  display:flex;
  gap:32px;
  align-items:center;
  padding:48px;
  margin:24px 0;
  border:1px solid rgba(255,255,255,.6);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(251,253,255,.9) 45%,rgba(241,246,255,.92) 100%);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(11,132,255,.06),transparent 34%,rgba(107,94,252,.05));
  pointer-events:none;
}
.hero:hover{transform:translateY(-3px);box-shadow:0 26px 60px rgba(11,18,32,.12);border-color:rgba(11,132,255,.16)}
.hero-media{flex:0 0 420px;max-width:540px;position:relative;z-index:1}
.hero-media img{
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 18px 36px rgba(11,16,30,.16);
  display:block;
  background-color:transparent;
  transition:transform .45s ease,box-shadow .45s ease,filter .45s ease;
}
.hero-media img:hover{transform:translateY(-4px) scale(1.018);box-shadow:0 24px 42px rgba(11,16,30,.22);filter:saturate(1.04)}
.hero-copy{flex:1;padding:8px 0;position:relative;z-index:1}
.hero-copy h1{margin:0 0 14px;font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.08;color:#0b1220;font-weight:800;letter-spacing:-.03em}
.hero-copy p{margin:0 0 14px;color:var(--muted);max-width:60ch}
.hero-copy strong{color:#0b1220}
.cta{margin-top:18px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 24px;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.1px;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease,background-position .28s ease,scale .28s ease;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
  will-change:transform;
}
.btn.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 55%,var(--accent-3) 100%);
  background-size:180% 180%;
}
.btn.primary:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 18px 30px rgba(11,132,255,.28);filter:saturate(1.08);background-position:100% 0}
.btn.primary:active{transform:translateY(-1px) scale(.985);box-shadow:0 10px 18px rgba(11,132,255,.18)}
.disclaimer{font-size:.9rem;color:#778599;margin-top:8px}

.overview,.links,.seo-copy,.faq,.tips{
  position:relative;
  padding:30px;
  margin:18px 0;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(249,252,255,.9));
  backdrop-filter:blur(10px);
  border-radius:20px;
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;
}
.overview::before,.links::before,.seo-copy::before,.faq::before,.tips::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(11,132,255,.04),transparent 52%,rgba(107,94,252,.035),rgba(0,194,255,.025));
  pointer-events:none;
}
.overview:hover,.links:hover,.seo-copy:hover,.faq:hover,.tips:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(11,132,255,.16);background:rgba(255,255,255,.96)}
.overview h2,.links h2,.seo-copy h2,.faq h2,.tips h2{margin:0 0 16px;font-size:clamp(1.35rem,2vw,1.7rem);color:#0b1220;line-height:1.2;letter-spacing:-.02em}
.seo-copy h3{margin:18px 0 12px;font-size:1.1rem;color:#142235}

.overview ul,.links ul,.tips ul,.seo-copy ul{padding-left:20px;margin:0}
.overview li,.links li,.tips li,.seo-copy li{margin:10px 0;color:var(--text)}

.links ul{list-style:none;padding-left:0;display:grid;gap:12px}
.links li{margin:0}
.links a,.seo-copy a,.overview a,.tips a{
  color:#0c63d6;
  text-decoration:none;
  text-decoration-color:rgba(12,99,214,.25);
  text-underline-offset:3px;
  transition:color .2s ease,text-decoration-color .2s ease,transform .2s ease,filter .2s ease,background-color .2s ease;
}
.links a:hover,.seo-copy a:hover,.overview a:hover,.tips a:hover{color:#063f89;text-decoration:underline;text-decoration-thickness:2px;transform:translateY(-1px);filter:brightness(1.02)}
.links a:active,.seo-copy a:active,.overview a:active,.tips a:active{transform:translateY(0) scale(.985)}

.links li,
.overview li,
.tips li,
.seo-copy li{
  position:relative;
  padding-left:4px;
}
.links li::marker,
.overview li::marker,
.tips li::marker,
.seo-copy li::marker{color:#0b84ff}

.links li::before,
.overview li::before,
.tips li::before,
.seo-copy li::before{
  content:'';
  position:absolute;
  left:-14px;
  top:.78em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  opacity:.6;
  transform:scale(.9);
  transition:transform .2s ease,opacity .2s ease;
}
.links li:hover::before,
.overview li:hover::before,
.tips li:hover::before,
.seo-copy li:hover::before{transform:scale(1.15);opacity:1}

.faq details{
  margin:12px 0;
  padding:16px 16px 14px;
  border:1px solid #dfe8f1;
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.94));
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
}
.faq details:hover{transform:translateY(-3px);box-shadow:0 14px 24px rgba(11,18,32,.08);border-color:rgba(11,132,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(242,247,255,.97))}
.faq summary{font-weight:700;cursor:pointer;transition:color .2s ease,transform .2s ease;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#0b84ff;transform:translateX(3px)}
.faq summary:active{transform:translateX(1px) scale(.99)}

.site-footer{padding:26px 0;color:#667588;border-top:1px solid #dde8f0;background:linear-gradient(180deg,rgba(249,252,255,.94),rgba(241,246,255,.9));text-align:center}
.site-footer a{color:#0c63d6;text-decoration:none;transition:color .2s ease}
.site-footer a:hover{color:#063f89;text-decoration:underline}

/* Reveal animations: hide only when JS is active */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.is-visible{opacity:1;transform:none}

/* Generic section images */
.overview img,.seo-copy img,.tips img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 18px 36px rgba(11,16,30,.14);
  background-color:transparent;
  transition:transform .35s ease,box-shadow .35s ease,filter .35s ease;
}
.overview img:hover,.seo-copy img:hover,.tips img:hover{transform:scale(1.015) translateY(-2px);box-shadow:0 24px 44px rgba(11,16,30,.2);filter:saturate(1.05)}

.hero-media img:active,.overview img:active,.seo-copy img:active,.tips img:active{transform:scale(.995)}

main.container > section{scroll-margin-top:96px}

/* Fallback for images that fail to load */
.img-fallback{background:linear-gradient(135deg,#f0f6ff,#e8f4fd);min-height:220px;border-radius:12px}

/* Strong defaults to prevent images being hidden by CSS or filters */
img{max-width:100%;height:auto;border-style:none;display:block;mix-blend-mode:normal;filter:none;opacity:1}
img[src$='.webp'],img[src$='.png'],img[src$='.jpg'],img[src$='.jpeg']{background-color:transparent}
.img-broken{border:2px dashed #ff6b6b;padding:8px;background:linear-gradient(180deg,#fff7f7,#fff)}

/* Responsive */
@media(max-width:900px){
  .container{padding:20px}
  .hero{flex-direction:column;padding:26px 18px;border-radius:20px}
  .hero-media{flex:0 0 auto;width:100%;max-width:none}
  .overview,.links,.seo-copy,.faq,.tips{padding:22px;border-radius:18px}
}

@media(max-width:640px){
  .container{padding:16px}
  .hero-copy h1{font-size:1.8rem}
  .btn{width:100%;padding:14px 18px}
  .site-nav a{font-size:.98rem}
}

/* Accessibility */
.btn:focus,.site-nav a:focus-visible,.faq summary:focus-visible,a:focus-visible{
  outline:3px solid rgba(11,132,255,.28);
  outline-offset:3px;
  border-radius:8px;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}
