
:root{--ink:#112638;--muted:#60707d;--paper:#fff;--soft:#f3f7f8;--navy:#123f4a;--orange:#f06432;--line:#dce5e8;--max:1180px}
*{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;color:var(--ink);background:var(--paper);line-height:1.7}
a{color:#0d6173;text-underline-offset:3px}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}
.navbar{max-width:var(--max);margin:auto;padding:12px 22px;display:flex;align-items:center;gap:20px;min-height:66px}.brand{font-weight:900;color:var(--ink);text-decoration:none;font-size:20px;white-space:nowrap}.brand em{font-style:normal;color:var(--orange)}
.desktop-nav{margin-left:auto;display:flex;gap:18px;align-items:center}.desktop-nav a{text-decoration:none;color:var(--ink);font-size:14px;font-weight:700}.header-cta{white-space:nowrap;margin-left:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff!important;text-decoration:none;padding:11px 16px;border-radius:9px;font-weight:850;line-height:1.2;border:0}.btn.alt{background:var(--navy)}
.mobile-tools{display:none;margin-left:auto;align-items:center;gap:8px}.menu-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:white;display:grid;place-items:center;cursor:pointer}.menu-btn span,.menu-btn:before,.menu-btn:after{content:"";width:20px;height:2px;background:var(--ink);display:block;margin:3px 0}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:10px 22px 18px;background:white}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:10px 0;text-decoration:none;font-weight:750;color:var(--ink)}
main{max-width:var(--max);margin:auto;padding:52px 22px 80px}.layout{display:grid;grid-template-columns:minmax(0,790px) 280px;gap:54px;align-items:start}.content{min-width:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.3rem,5vw,4rem);margin:.15em 0 .35em}h2{font-size:clamp(1.45rem,3vw,2.05rem);margin-top:2.1em}h3{font-size:1.15rem;margin-top:1.7em}.lead{font-size:1.2rem;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;font-weight:900;color:var(--orange)}
.hero{display:grid;grid-template-columns:1.45fr .75fr;gap:48px;align-items:center;padding:18px 0 40px}.hero-panel{background:var(--navy);color:white;border-radius:20px;padding:30px;box-shadow:0 18px 50px #123f4a20}.hero-panel li{margin:9px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.card{display:block;border:1px solid var(--line);border-radius:14px;padding:20px;text-decoration:none;color:var(--ink)}.card b{display:block;margin-bottom:5px}.card span{color:var(--muted);font-size:.94rem}
.sidebar{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--soft)}.sidebar h2{font-size:1.1rem;margin:0 0 10px}.sidebar p{font-size:.92rem;color:var(--muted)}.sidebar .btn{width:100%;text-align:center}.sidebar ul{padding-left:18px;font-size:.9rem}
.callout{background:#fff3ee;border:1px solid #ffd6c8;border-radius:14px;padding:22px;margin:32px 0}.callout .btn{margin-top:8px}.note{background:var(--soft);border-left:4px solid var(--navy);padding:16px 18px;margin:24px 0}.toc{background:var(--soft);padding:18px 22px;border-radius:14px;margin:26px 0}.toc a{display:block;margin:6px 0}
.related{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}.related a{display:block;margin:8px 0}.disclosure{font-size:.88rem;color:var(--muted);margin-top:42px;padding-top:20px;border-top:1px solid var(--line)}
.site-footer{background:var(--soft);border-top:1px solid var(--line)}.footer-inner{max-width:var(--max);margin:auto;padding:34px 22px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.9rem;color:var(--muted)}.footer-inner a{margin-right:14px}
.sitemap-grid{columns:2;column-gap:40px}.sitemap-grid a{display:block;margin:8px 0;break-inside:avoid}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.mobile-tools{display:flex}.mobile-tools .btn{font-size:12px;padding:10px 11px}.navbar{gap:8px}.brand{font-size:17px}.layout{grid-template-columns:1fr}.sidebar{margin-top:8px}.hero{grid-template-columns:1fr}.site-header{position:sticky}.cards{grid-template-columns:1fr}}
@media(max-width:480px){.navbar{padding:10px 12px}.brand{font-size:15px;max-width:132px;overflow:hidden;text-overflow:ellipsis}.mobile-tools{gap:6px}.mobile-tools .btn{font-size:11px;padding:9px 9px}.menu-btn{width:38px;height:38px}main{padding:38px 16px 70px}.sitemap-grid{columns:1}}

/* Editorial rebuild mobile header: brand + prominent product CTA only. */
@media(max-width:900px){
  .desktop-nav,.header-cta,.menu-btn,.mobile-menu{display:none!important}
  .mobile-tools{display:flex!important;margin-left:auto}
  .mobile-tools .btn{font-size:13px;padding:11px 14px;min-height:42px}
}
@media(max-width:480px){
  .brand{max-width:145px}
  .mobile-tools .btn{font-size:12px;padding:10px 12px}
}
/* Sitewide scroll popup */
.offer-overlay{position:fixed;inset:0;background:#10223588;display:none;align-items:center;justify-content:center;padding:20px;z-index:1000}
.offer-overlay.show{display:flex}.offer-modal{position:relative;background:#fff;width:min(540px,100%);border-radius:18px;padding:30px;box-shadow:0 28px 80px #10223555}
.offer-modal h2{margin-top:0;font-size:1.75rem}.offer-modal p{color:var(--muted)}.offer-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.offer-modal .stay{background:var(--soft);color:var(--ink)!important}
.offer-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);padding:6px 10px}

/* Benchmark-inspired navigation and editorial UX, adapted to Funnel Hacking Hub */
.nav-menu{margin-left:auto;display:flex;align-items:stretch;gap:4px}.nav-group{position:relative}.nav-label{display:flex;align-items:center;height:42px;padding:0 11px;color:var(--ink);text-decoration:none;font-weight:750;font-size:13px;border-radius:8px}.nav-label:hover,.nav-group:focus-within .nav-label{background:var(--soft)}
.mega{display:none;position:absolute;top:42px;left:0;width:310px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 22px 60px #10223522;z-index:80}.nav-group:hover .mega,.nav-group:focus-within .mega{display:block}.mega strong{display:block;padding:6px 8px 9px}.mega a{display:block;padding:8px;border-radius:7px;text-decoration:none;color:var(--ink);font-size:13px}.mega a:hover{background:var(--soft)}.mega .viewall{margin-top:6px;border-top:1px solid var(--line);color:#0d6173;font-weight:800}
.article-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.88rem;margin:12px 0 20px}.takeaways{background:var(--navy);color:#fff;padding:22px;border-radius:15px;margin:24px 0}.takeaways h2{margin:0 0 10px;font-size:1.2rem}.takeaways li{margin:7px 0}.guide-nav{background:var(--soft);border-radius:14px;padding:18px 22px;margin:26px 0}.guide-nav b{display:block;margin-bottom:6px}.guide-nav a{display:block;margin:5px 0}
.cluster-library{border:1px solid var(--line);border-radius:15px;padding:20px;margin:28px 0}.cluster-library h2{font-size:1.15rem;margin:0 0 8px}.cluster-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cluster-links a{background:var(--soft);padding:10px;border-radius:8px;text-decoration:none;font-size:.9rem}
.faq{margin-top:42px}.faq details{border-top:1px solid var(--line);padding:15px 0}.faq summary{font-weight:800;cursor:pointer}.freshness{border-left:4px solid var(--orange);background:#fff7f3;padding:14px 16px;margin:20px 0;font-size:.92rem}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.knowledge-card{border:1px solid var(--line);border-radius:14px;padding:18px}.knowledge-card h2{font-size:1.2rem;margin-top:0}.knowledge-card a{display:block;margin:6px 0}
@media(max-width:1000px){.nav-menu{display:none}.knowledge-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cluster-links,.knowledge-grid{grid-template-columns:1fr}}

/* Production desktop shell correction */
@media(min-width:1001px){
  .navbar{
    max-width:1320px;
    padding:10px 20px;
    gap:10px;
    flex-wrap:nowrap;
  }
  .brand{
    flex:0 0 auto;
    font-size:18px;
  }
  .nav-menu{
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    justify-content:flex-end;
    gap:1px;
  }
  .nav-group{flex:0 1 auto}
  .nav-label{
    height:42px;
    padding:0 8px;
    font-size:12px;
    white-space:nowrap;
  }
  .header-cta{
    flex:0 0 auto;
    margin-left:2px;
    padding:10px 12px;
    font-size:12px;
  }
  .mega{
    top:42px;
    width:285px;
  }
  .nav-group:nth-last-of-type(-n+2) .mega{
    left:auto;
    right:0;
  }
}
@media(min-width:1180px){
  .brand{font-size:19px}
  .nav-label{font-size:12.5px;padding:0 9px}
  .header-cta{font-size:12.5px;padding:10px 14px}
}
@media(min-width:1360px){
  .navbar{padding-left:22px;padding-right:22px}
  .brand{font-size:20px}
  .nav-menu{gap:3px}
  .nav-label{font-size:13px;padding:0 10px}
  .header-cta{font-size:13px;padding:11px 15px}
}

/* Keep the content/sidebar grid inside its actual available width. */
@media(min-width:901px){
  main{max-width:1180px}
  .layout{
    grid-template-columns:minmax(0,1fr) 270px;
    gap:42px;
  }
  .content,article{min-width:0}
  img,video,iframe,table{max-width:100%}
  pre{max-width:100%;overflow:auto}
}
@media(min-width:901px) and (max-width:1100px){
  .layout{grid-template-columns:minmax(0,1fr) 240px;gap:28px}
  .sidebar{padding:18px}
}

/* At compact desktop widths preserve the desktop header without overflow:
   use the highest-value top-level links; all pages remain reachable via hubs. */
@media(min-width:901px) and (max-width:1000px){
  .navbar{max-width:100%;gap:8px;padding:10px 16px}
  .brand{font-size:17px}
  .nav-menu{display:flex!important;flex:1;justify-content:flex-end;min-width:0;gap:0}
  .nav-group:nth-child(n+3){display:none}
  .nav-menu>.nav-label{display:none}
  .nav-label{font-size:12px;padding:0 7px;white-space:nowrap}
  .header-cta{display:inline-flex!important;font-size:11px;padding:9px 10px}
  .mobile-tools{display:none!important}
}
