
:root{
  --navy:#06161d;
  --navy-2:#08232c;
  --navy-3:#0b3039;
  --ink:#10272d;
  --muted:#61767a;
  --aqua:#14e2cf;
  --aqua-2:#39f0d7;
  --teal:#16bdb4;
  --line:#dce8e6;
  --paper:#ffffff;
  --page:#f3f8f7;
  --max:1180px;
  --article:920px;
  --shadow:0 22px 60px rgba(5,30,36,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--page);
  color:var(--ink);
  line-height:1.68;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:#087b7a;text-decoration-thickness:1px;text-underline-offset:3px}
button,input,textarea,select{font:inherit}
main{overflow:hidden}

/* Header */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(5,20,27,.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(82,216,208,.18);
}
.nav{
  max-width:var(--max);margin:auto;padding:13px 22px;
  min-height:68px;display:flex;align-items:center;gap:28px;
}
.brand{
  display:inline-flex;align-items:center;gap:10px;
  color:#fff;text-decoration:none;font-weight:900;font-size:1.2rem;letter-spacing:-.035em;
}
.brand img{width:34px;height:34px}
.brand-word>span{color:var(--aqua)}
.navlinks{display:flex;align-items:center;gap:26px;margin-left:auto}
.navlinks a{
  color:#e9f6f4;text-decoration:none;font-weight:700;font-size:.92rem;
  transition:color .2s ease,opacity .2s ease;
}
.navlinks a:hover{color:var(--aqua)}
.navlinks .cta{font-size:.88rem}
.mobile-menu{
  display:none;margin-left:auto;width:42px;height:40px;padding:9px;
  background:transparent;border:1px solid rgba(130,225,219,.28);border-radius:10px;
}
.mobile-menu span{display:block;height:2px;background:#e8f7f4;margin:4px 0;border-radius:2px}

/* Buttons / links */
.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,var(--aqua-2),#0fc8bd);
  color:#04252a!important;text-decoration:none!important;font-weight:900;
  border:0;border-radius:12px;padding:12px 18px;
  box-shadow:0 10px 28px rgba(20,226,207,.18);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,226,207,.25);filter:saturate(1.05)}
.cta-lg{padding:15px 22px;font-size:1.04rem;min-width:220px}
.text-link{font-weight:850;text-decoration:none;color:#0b777a}
.light-link{color:var(--aqua)!important}
.eyebrow{
  color:#0aaea8;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  font-size:.75rem;margin-bottom:8px;
}

/* Homepage hero */
.hero{
  position:relative;color:#fff;
  background:
    radial-gradient(circle at 77% 20%,rgba(21,168,179,.28) 0,rgba(21,168,179,0) 34%),
    linear-gradient(180deg,#071b23 0%,#06161d 100%);
  padding:54px 22px 0;
}
.home-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(80,210,204,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(80,210,204,.07) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent 84%);
}
.hero-grid{
  position:relative;z-index:1;max-width:var(--max);margin:auto;
  display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;
  min-height:510px;
}
.hero-copy{padding:26px 0 44px}
.hero .eyebrow{color:var(--aqua)}
.hero h1{
  margin:.18em 0 .3em;max-width:690px;
  font-size:clamp(3rem,5.5vw,5.4rem);line-height:.98;letter-spacing:-.06em;
}
.hero p{max-width:650px;color:#c8dcda;font-size:1.08rem}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}
.hero-actions .text-link{color:#d6edeb;border-bottom:1px solid rgba(214,237,235,.35)}
.hero-micro{font-size:.79rem!important;color:#8eafad!important;margin-top:16px!important}
.hero-visual{align-self:stretch;display:flex;align-items:center}
.device-stage{
  position:relative;width:100%;padding:18px;
  border:1px solid rgba(72,212,205,.22);border-radius:26px;
  background:linear-gradient(145deg,rgba(20,62,72,.6),rgba(6,22,29,.82));
  box-shadow:0 34px 90px rgba(0,0,0,.38);
  overflow:hidden;
}
.device-stage:after{
  content:"";position:absolute;left:9%;right:9%;bottom:-14%;height:35%;
  background:radial-gradient(ellipse,rgba(15,217,201,.25),transparent 68%);
  filter:blur(12px);
}
.device-stage img{position:relative;z-index:2;border-radius:18px;width:100%;aspect-ratio:16/9;object-fit:cover}
.device-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(24,235,214,.12);filter:blur(42px);right:-50px;top:-40px}

.feature-strip{
  position:relative;z-index:2;max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(81,211,203,.2);
  background:rgba(6,25,32,.74);
}
.feature-item{
  padding:20px 20px;display:flex;gap:13px;align-items:center;
  border-right:1px solid rgba(81,211,203,.18);
}
.feature-item:last-child{border-right:0}
.feature-icon{
  width:38px;height:38px;display:grid;place-items:center;flex:none;
  border:1px solid rgba(32,229,215,.32);border-radius:10px;color:var(--aqua);
  background:rgba(20,226,207,.06);font-size:1.05rem;
}
.feature-item strong{display:block;font-size:.93rem;color:#f2fbf9}
.feature-item small{display:block;color:#88aaa7;font-size:.72rem;line-height:1.35;margin-top:2px}

/* Homepage sections */
.section{
  max-width:var(--max);margin:0 auto;padding:58px 22px;
}
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px;
}
.section h2{
  font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.045em;
  margin:0 0 12px;
}
.lede{font-size:1.06rem;color:var(--muted);max-width:760px;margin:0}
.popular-guides{padding-top:64px;padding-bottom:64px}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.guide-card{
  overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;
  color:var(--ink);text-decoration:none;box-shadow:0 12px 34px rgba(15,42,48,.06);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.guide-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#b9d8d4}
.guide-media{aspect-ratio:16/9;background:#08212a;overflow:hidden}
.guide-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.guide-card:hover .guide-media img{transform:scale(1.025)}
.guide-body{padding:21px 22px 24px}
.guide-body>span{
  display:block;color:#0aa59f;text-transform:uppercase;font-weight:900;letter-spacing:.1em;
  font-size:.7rem;margin-bottom:6px;
}
.guide-body h3{margin:0 0 8px;font-size:1.25rem;letter-spacing:-.03em}
.guide-body p{color:#597074;font-size:.92rem;line-height:1.55;margin:0 0 16px}
.guide-body strong{color:#087c7a;font-size:.9rem}
.dark,.decision-band{background:linear-gradient(180deg,#071b23,#06161d);color:#fff}
.dark .section{padding-top:58px;padding-bottom:58px}
.dark .eyebrow{color:var(--aqua)}
.dark h2{color:#fff}
.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.comparison-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:start;
  color:#fff;text-decoration:none;padding:22px;
  border:1px solid rgba(85,207,200,.18);background:#0a252e;border-radius:16px;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.comparison-card:hover{transform:translateY(-3px);border-color:rgba(37,229,215,.46);background:#0d2d36}
.comparison-card>span{color:var(--aqua);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.comparison-card h3{margin:0 0 5px;font-size:1.04rem}
.comparison-card p{margin:0;color:#9ebcba;font-size:.82rem;line-height:1.5}
.comparison-card b{font-size:1.2rem;color:var(--aqua)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;
  box-shadow:0 10px 30px rgba(15,42,48,.05);
}
.card h3{margin-top:0;letter-spacing:-.025em}.card p{color:#546b70}.card a{font-weight:800}
.callout{
  background:linear-gradient(120deg,#0a2b34,#0e4650);border:1px solid #2c6067;
  color:#fff;border-radius:22px;padding:30px 32px;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;
  box-shadow:0 18px 48px rgba(6,34,42,.16);
}
.callout h2{margin:0 0 6px!important;font-size:1.7rem!important}
.callout p{margin:0;color:#bfd6d3}

/* Article heroes */
.article-hero{
  background:
    radial-gradient(circle at 78% 15%,rgba(26,175,184,.21),transparent 34%),
    linear-gradient(180deg,#071b23,#06161d);
  color:#fff;padding:54px 22px 76px;
}
.article-hero .inner{
  max-width:var(--max);margin:auto;
  display:grid;grid-template-columns:1.03fr .97fr;column-gap:52px;align-items:center;
}
.article-hero .inner>.eyebrow,
.article-hero .inner>h1,
.article-hero .inner>p{grid-column:1}
.article-hero .inner>.eyebrow{align-self:end}
.article-hero h1{
  margin:.15em 0 .24em;font-size:clamp(2.6rem,4.8vw,4.6rem);
  line-height:1;letter-spacing:-.055em;
}
.article-hero p{font-size:1.05rem;color:#bed4d1;max-width:680px;margin-bottom:0}
.article-hero img{
  grid-column:2;grid-row:1 / span 4;
  width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;
  border:1px solid rgba(91,214,205,.24);box-shadow:0 28px 70px rgba(0,0,0,.36);
}

/* Article content */
.article{
  position:relative;z-index:3;
  max-width:var(--article);margin:-34px auto 70px;
  padding:42px 52px 58px;
  background:#fff;border:1px solid #dfeae8;border-radius:24px;
  box-shadow:0 24px 70px rgba(8,39,46,.1);
}
.article h2{
  font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.035em;line-height:1.14;
  margin:2.05em 0 .55em;color:#102a30;
}
.article h2:first-of-type{margin-top:1.5em}
.article h3{font-size:1.26rem;line-height:1.3;margin:1.6em 0 .35em;color:#17343a}
.article p,.article li{font-size:1rem;color:#40595e}
.article p{margin:.72em 0}
.article ul,.article ol{padding-left:1.2em}
.article li{margin:.45em 0}
.article a{font-weight:750}
.article table{
  width:100%;border-collapse:separate;border-spacing:0;margin:28px 0;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;
}
.article th,.article td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.article tr:last-child td{border-bottom:0}
.article th{background:#eaf7f5;color:#173b40}
.answer-box{
  background:linear-gradient(135deg,#e7faf6,#effcf9);
  border:1px solid #b6e9df;border-radius:16px;padding:20px 22px;margin:0 0 26px;
  font-size:1rem;color:#183d41;
}
.note{padding:18px 20px;border-left:4px solid var(--teal);background:#edf8f6;border-radius:10px;margin:26px 0}
.toc{background:#f1f8f7;border:1px solid #dceae8;border-radius:16px;padding:20px}.toc a{font-weight:700}
.disclosure-lite{
  margin:0 0 18px!important;padding:8px 11px!important;border-left:3px solid #9cbfbb!important;
  background:#f6f9f8;color:#6a7d80!important;font-size:.76rem!important;line-height:1.45!important;
}


.fine{font-size:.8rem;color:#869a9d}

/* Footer */
footer{background:#05141b;color:#9fb9b6;padding:46px 22px;border-top:1px solid #14343c}
footer .inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
footer a{color:#d8ece9}

/* Exit modal */
.exit{
  position:fixed;inset:0;background:rgba(1,9,12,.76);display:none;align-items:center;justify-content:center;
  z-index:100;padding:22px;backdrop-filter:blur(5px)
}
.exit.show{display:flex}
.exit-box{
  max-width:580px;background:#09242d;color:#fff;border:1px solid #2a5f66;border-radius:22px;
  padding:32px;box-shadow:0 34px 100px rgba(0,0,0,.5);position:relative
}
.exit-box h2{font-size:1.9rem;line-height:1.05;margin:0 0 10px}
.exit-box p{color:#c5d9d6}
.exit-close{position:absolute;top:12px;right:14px;background:none;border:0;color:#fff;font-size:1.7rem;cursor:pointer}

/* Responsive */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr .9fr;gap:30px}
  .article-hero .inner{grid-template-columns:1fr .82fr;gap:34px}
  .feature-strip{grid-template-columns:repeat(2,1fr)}
  .feature-item:nth-child(2){border-right:0}
  .feature-item:nth-child(-n+2){border-bottom:1px solid rgba(81,211,203,.18)}
  .guide-grid,.comparison-grid{grid-template-columns:1fr 1fr}
  .guide-card:last-child,.comparison-card:last-child{grid-column:1 / -1}
}
@media(max-width:760px){
  .nav{min-height:62px;padding:11px 16px}
  .brand{font-size:1.05rem}.brand img{width:31px;height:31px}
  .mobile-menu{display:block}
  .navlinks{display:none}
  .nav.open .navlinks{
    display:flex;position:absolute;top:62px;left:0;right:0;
    padding:18px 16px 22px;background:#06161d;flex-direction:column;align-items:stretch;
    border-bottom:1px solid #21434b;gap:10px;box-shadow:0 18px 30px rgba(0,0,0,.28);
  }
  .nav.open .navlinks a{padding:10px 4px}
  .nav.open .navlinks .cta{text-align:center;margin-top:6px}
  .hero{padding:36px 16px 0}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:24px}
  .hero-copy{padding:10px 0 0}
  .hero h1{font-size:clamp(2.55rem,12vw,3.7rem)}
  .hero p{font-size:1rem}
  .hero-actions{align-items:stretch;flex-direction:column;gap:12px}
  .hero-actions .cta{width:100%}.hero-actions .text-link{text-align:center;border:0}
  .hero-visual{padding-bottom:24px}
  .device-stage{padding:10px;border-radius:18px}
  .feature-strip{grid-template-columns:1fr 1fr;margin:0 -16px}
  .feature-item{padding:15px 14px;gap:10px}
  .feature-icon{width:34px;height:34px}
  .feature-item small{font-size:.68rem}
  .section{padding:44px 16px}
  .section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .guide-grid,.comparison-grid,.grid3,.grid2,.callout,footer .inner{grid-template-columns:1fr}
  .guide-card:last-child,.comparison-card:last-child{grid-column:auto}
  .callout{padding:24px}
  .article-hero{padding:40px 16px 48px}
  .article-hero .inner{display:block}
  .article-hero h1{font-size:clamp(2.3rem,11vw,3.45rem)}
  .article-hero img{margin-top:24px;border-radius:16px}
  .article{
    margin:0 auto 0;border-radius:0;border-left:0;border-right:0;
    padding:30px 18px 50px;box-shadow:none;
  }
  .article h2{font-size:1.65rem}
  .article table{font-size:.84rem;display:block;overflow-x:auto}
  footer{padding:40px 18px}
}
@media(max-width:420px){
  .feature-strip{grid-template-columns:1fr}
  .feature-item{border-right:0;border-bottom:1px solid rgba(81,211,203,.18)!important}
  .feature-item:last-child{border-bottom:0!important}
}


/* Integrated FAQ / AEO block */
.faq-block{
  margin:54px -12px 10px;
  padding:30px 30px 32px;
  background:linear-gradient(180deg,#f4fbf9 0%,#eef8f6 100%);
  border:1px solid #d3e7e3;
  border-radius:20px;
}
.faq-head{margin-bottom:18px}
.faq-head .eyebrow{margin-bottom:6px}
.faq-head h2{
  margin:0 0 8px!important;
  font-size:clamp(1.8rem,3vw,2.25rem)!important;
  letter-spacing:-.04em!important;
}
.faq-intro{
  margin:0!important;
  max-width:680px;
  color:#60777b!important;
  font-size:.95rem!important;
}
.faq-list{display:grid;gap:10px}
.faq-item{
  background:#fff;
  border:1px solid #dbe8e6;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 7px 20px rgba(11,47,54,.04);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 18px;
  color:#15343a;
  font-weight:850;
  line-height:1.35;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{display:none}
.faq-question{display:block}
.faq-toggle{
  flex:0 0 28px;
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#e5f7f3;
  color:#087c78;
  font-size:1.18rem;
  font-weight:800;
  transition:transform .2s ease,background .2s ease;
}
.faq-item[open] .faq-toggle{
  transform:rotate(45deg);
  background:#cffff5;
}
.faq-answer{
  padding:0 18px 17px;
  border-top:1px solid #edf3f2;
}
.faq-answer p{
  margin:13px 0 0!important;
  color:#496267!important;
  font-size:.96rem!important;
}
.faq-answer ul,.faq-answer ol{margin:13px 0 0}
@media(max-width:760px){
  .faq-block{
    margin:40px 0 6px;
    padding:22px 16px 20px;
    border-radius:16px;
  }
  .faq-item summary{padding:15px 14px;font-size:.96rem}
  .faq-answer{padding:0 14px 15px}
}

.article > .faq-block{margin:54px -12px 0}
.faq-wide{
  max-width:var(--max);
  margin:52px auto 64px;
  padding:30px;
}
@media(max-width:760px){
  .article > .faq-block{margin:40px 0 0}
  .faq-wide{margin:38px 16px 48px;padding:22px 16px}
}


