/* Responsive public marketing site. Mobile navigation is enabled by viewport width or mobile-device detection. */
html,body{max-width:100%;overflow-x:hidden}
/* The checkbox is the pure-CSS toggle: the label flips it, no JavaScript needed. */
.nav-toggle-checkbox{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.mobile-nav-toggle{display:none;place-items:center;width:42px;height:42px;margin-left:auto;padding:0;border:1px solid #d7e1ef;border-radius:12px;color:#243956;background:#fff;box-shadow:0 8px 22px rgba(13,32,60,.08);cursor:pointer;-webkit-tap-highlight-color:transparent}
.mobile-nav-toggle svg{width:22px;height:22px;margin:auto;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mobile-nav-toggle .icon-close{display:none}
.nav-toggle-checkbox:checked~.mobile-nav-toggle,.nav.is-menu-open .mobile-nav-toggle{color:#fff;border-color:#356bf3;background:#356bf3}
.nav-toggle-checkbox:checked~.mobile-nav-toggle .icon-menu,.nav.is-menu-open .mobile-nav-toggle .icon-menu{display:none}
.nav-toggle-checkbox:checked~.mobile-nav-toggle .icon-close,.nav.is-menu-open .mobile-nav-toggle .icon-close{display:block}

@media(max-width:900px){
  .shell{width:min(100% - 36px,760px)}
  .hero{gap:34px;padding:54px 0 48px}
  section{padding:62px 0}
  .report-scores{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security{grid-template-columns:1fr;gap:26px}
  .sec-visual{min-height:160px}
  .sec-shield{width:150px;height:150px}
  .sec-shield svg{width:58px;height:58px}
  .cta{display:grid;grid-template-columns:1fr;justify-items:start}
}

/* Shared mobile menu. The class also covers Android browsers reporting a wider CSS viewport. */
@media(max-width:900px){
  header{background:rgba(245,248,253,.98);backdrop-filter:blur(20px)}
  .nav{position:relative;min-height:64px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;transition:padding-bottom .2s}
  .nav>.brand{order:1;min-width:0}
  .brand{font-size:16px;white-space:nowrap}
  .brand-mark{width:36px;height:36px}
  .mobile-nav-toggle{display:grid;place-items:center;order:2;flex:0 0 42px;margin-left:auto}
  .nav-links,.nav-actions{display:none}
  .nav.is-menu-open,.nav:has(.nav-toggle-checkbox:checked){padding-bottom:15px}
  .nav.is-menu-open .nav-links,.nav.is-menu-open .nav-actions,.nav:has(.nav-toggle-checkbox:checked) .nav-links,.nav:has(.nav-toggle-checkbox:checked) .nav-actions{flex:0 0 100%;width:100%;min-width:0;margin-left:0}
  .nav.is-menu-open .nav-links,.nav:has(.nav-toggle-checkbox:checked) .nav-links{order:3;margin-top:3px;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #dfe7f2;border-radius:16px;background:#fff;box-shadow:0 18px 42px rgba(13,32,60,.12)}
  .nav.is-menu-open .nav-links a,.nav:has(.nav-toggle-checkbox:checked) .nav-links a{min-width:0;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:10px;color:#34465f;background:#f6f8fc;font-size:14px;font-weight:700}
  .nav.is-menu-open .nav-links a:active,.nav:has(.nav-toggle-checkbox:checked) .nav-links a:active{background:#eaf0ff;color:#2450c8}
  .nav.is-menu-open .nav-actions,.nav:has(.nav-toggle-checkbox:checked) .nav-actions{order:4;margin-top:9px;padding:0 1px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .nav.is-menu-open .nav-status,.nav:has(.nav-toggle-checkbox:checked) .nav-status{grid-column:1/-1;min-height:40px;justify-content:center}
  .nav.is-menu-open .nav-login,.nav.is-menu-open .nav-actions .btn,.nav:has(.nav-toggle-checkbox:checked) .nav-login,.nav:has(.nav-toggle-checkbox:checked) .nav-actions .btn{min-width:0;min-height:47px;padding:11px 12px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #dbe4f0;border-radius:12px;background:#fff;font-size:14px;font-weight:800;line-height:1.2}
  .nav.is-menu-open .nav-login,.nav:has(.nav-toggle-checkbox:checked) .nav-login{color:#243956}
  .nav.is-menu-open .nav-actions .btn,.nav:has(.nav-toggle-checkbox:checked) .nav-actions .btn{color:#fff;border-color:#356bf3;background:linear-gradient(135deg,#3f77f6,#2450c8);box-shadow:0 10px 22px rgba(41,75,201,.22)}
}

html.mobile-navigation-mode header{background:rgba(245,248,253,.98);backdrop-filter:blur(20px)}
html.mobile-navigation-mode .nav{position:relative;height:64px;min-height:64px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;transition:padding-bottom .2s}
html.mobile-navigation-mode .nav>.brand{order:1;min-width:0}
html.mobile-navigation-mode .brand{font-size:16px;white-space:nowrap}
html.mobile-navigation-mode .brand-mark{width:36px;height:36px}
html.mobile-navigation-mode .mobile-nav-toggle{display:grid;place-items:center;order:2;flex:0 0 42px;margin-left:auto}
html.mobile-navigation-mode .nav-links,html.mobile-navigation-mode .nav-actions{display:none}
html.mobile-navigation-mode .nav.is-menu-open{height:auto;padding-bottom:15px}
html.mobile-navigation-mode .nav.is-menu-open .nav-links,html.mobile-navigation-mode .nav.is-menu-open .nav-actions{flex:0 0 100%;width:100%;min-width:0;margin-left:0}
html.mobile-navigation-mode .nav.is-menu-open .nav-links{order:3;margin-top:3px;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #dfe7f2;border-radius:16px;background:#fff;box-shadow:0 18px 42px rgba(13,32,60,.12)}
html.mobile-navigation-mode .nav.is-menu-open .nav-links a{min-width:0;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:10px;color:#34465f;background:#f6f8fc;font-size:14px;font-weight:700}
html.mobile-navigation-mode .nav.is-menu-open .nav-links a:active{background:#eaf0ff;color:#2450c8}
html.mobile-navigation-mode .nav.is-menu-open .nav-actions{order:4;margin-top:9px;padding:0 1px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
html.mobile-navigation-mode .nav.is-menu-open .nav-status{grid-column:1/-1;min-height:40px;justify-content:center}
html.mobile-navigation-mode .nav.is-menu-open .nav-login,html.mobile-navigation-mode .nav.is-menu-open .nav-actions .btn{min-width:0;min-height:47px;padding:11px 12px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #dbe4f0;border-radius:12px;background:#fff;font-size:14px;font-weight:800;line-height:1.2}
html.mobile-navigation-mode .nav.is-menu-open .nav-login{color:#243956}
html.mobile-navigation-mode .nav.is-menu-open .nav-actions .btn{color:#fff;border-color:#356bf3;background:linear-gradient(135deg,#3f77f6,#2450c8);box-shadow:0 10px 22px rgba(41,75,201,.22)}

@media(max-width:760px){
  .hero{padding:44px 0 38px}
  .hero h1{margin-top:16px;font-size:clamp(38px,11vw,48px);line-height:1.03}
  .hero-sub{margin-top:17px;max-width:none;font-size:16px;line-height:1.6}
  .hero-cta{margin-top:24px}
  .hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-top:22px;font-size:12px}
  .hero-trust span:last-child{grid-column:1/-1}
  .report{padding:18px;border-radius:19px}
  .report-top{align-items:flex-start;gap:12px}
  .report-file{min-width:0}
  .report-file>div{min-width:0}
  .report-file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .report-done{flex:0 0 auto}
  .score{padding:13px}
  .score .ring{width:52px;height:52px}
  .score .ring span{width:39px;height:39px}
  .report-src-row{gap:7px}
  .bar{width:60px}
  section{padding:52px 0}
  .sec-head{margin-bottom:30px}
  .sec-head h2{font-size:clamp(30px,9vw,38px)}
  .sec-head p{font-size:15px}
  .price-grid,.grid-4,.steps{gap:14px}
  .price{padding:24px 21px}
  .price .pill{top:18px;right:18px}
  .feature{padding:21px 18px;gap:13px}
  .feature .ic{width:43px;height:43px}
  .step{padding:23px 20px}
  .security{padding:30px 22px;border-radius:22px}
  .security>div>p{font-size:14px}
  details{padding-inline:16px}
  summary{font-size:14px;line-height:1.4}
  .cta{padding:34px 23px;border-radius:22px}
  .cta h2{max-width:none;font-size:30px}
  .cta .btn{width:100%;justify-content:center}
  footer{margin-top:54px;padding:42px 0 25px}
  .foot{display:grid;grid-template-columns:1fr;gap:32px}
  .foot-brand{max-width:none}
  .foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px}
  .foot-base{align-items:flex-start;flex-direction:column}
}

@media(max-width:520px){
  .shell{width:calc(100% - 28px)}
  .eyebrow{font-size:10px;letter-spacing:.12em}
  .hero{padding-top:37px}
  .hero h1{font-size:40px}
  .hero-cta{display:grid;grid-template-columns:1fr}
  .hero-cta .btn{width:100%;min-height:48px;justify-content:center;text-align:center}
  .report-top{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .report-file .doc{width:35px;height:35px}
  .report-file small{font-size:9px}
  .report-file strong{font-size:12px}
  .report-done{padding:5px 8px;font-size:9px}
  .report-scores{gap:8px}
  .score p{font-size:9px}
  .score b{font-size:11px}
  .report-src-row span{font-size:10px}
  .report-src-row b{width:27px;font-size:10px}
  .bar{width:48px}
  section{padding:45px 0}
  .price-tag b{font-size:34px}
  .price li,.feature p,.step p,details p{font-size:13px}
  .feature{align-items:flex-start}
  .sec-visual{display:none}
  .foot-cols{grid-template-columns:1fr}
  .nav.is-menu-open .nav-links,html.mobile-navigation-mode .nav.is-menu-open .nav-links,.nav:has(.nav-toggle-checkbox:checked) .nav-links{grid-template-columns:1fr}
}

@media(max-width:360px){
  .shell{width:calc(100% - 20px)}
  .brand{font-size:15px;gap:8px}
  .brand-mark{width:34px;height:34px}
  .mobile-nav-toggle{width:40px;height:40px;flex-basis:40px}
  .hero h1{font-size:36px}
  .hero-trust{grid-template-columns:1fr}
  .hero-trust span:last-child{grid-column:auto}
}
