/* subsave-site.css — trust & legal website
   Brand: iOS-light. White cards on #F4F4F5, blue #2E6BF0, green #1FAE63, Manrope. */

:root{
  --ink:#161617; --muted:#5F5F66; --faint:#9A9AA0;
  --hair:#E6E6E6; --line:#E0E0E0; --bg:#F4F4F4; --card:#FFFFFF;
  --blue:#1C1C1E; --blue-ink:#000000; --blue-tint:#EDEDED;
  --green:#444448; --green-tint:#EDEDED;
  --amber:#5F5F66; --amber-tint:#EDEDED;
  --shadow:0 1px 2px rgba(17,17,20,.04), 0 8px 24px rgba(17,17,20,.05);
  --shadow-sm:0 1px 2px rgba(17,17,20,.05);
  --radius:18px; --radius-sm:13px;
  --maxw:1080px; --readw:720px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Manrope',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:var(--blue); text-decoration:none;}
a:hover{color:var(--blue-ink);}
svg{display:block;}
h1,h2,h3,h4{letter-spacing:-.02em; line-height:1.15; margin:0;}

/* ── top nav ───────────────────────────────────────── */
.topnav{
  position:sticky; top:0; z-index:50;
  background:rgba(244,244,245,.82); backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid var(--line);
}
.topnav-in{
  max-width:var(--maxw); margin:0 auto; padding:0 28px; height:64px;
  display:flex; align-items:center; gap:28px;
}
.brand{display:flex; align-items:center; gap:11px; cursor:pointer; user-select:none;}
.brand-mark{width:34px; height:34px; flex-shrink:0;}
.brand-name{font-weight:800; font-size:19px; letter-spacing:-.03em;}
.brand-name span{color:var(--blue);}
.nav-links{display:flex; align-items:center; gap:4px; margin-left:auto;}
.nav-link{
  font-weight:600; font-size:14.5px; color:var(--muted);
  padding:8px 14px; border-radius:99px; cursor:pointer; border:none; background:none;
  font-family:inherit; transition:background .15s, color .15s;
}
.nav-link:hover{color:var(--ink); background:rgba(17,17,20,.04);}
.nav-link.active{color:var(--blue); background:var(--blue-tint);}
.nav-cta{
  font-weight:700; font-size:14.5px; color:#fff; background:var(--ink);
  padding:9px 17px; border-radius:99px; cursor:pointer; border:none; font-family:inherit;
  transition:transform .12s, opacity .15s;
}
.nav-cta:hover{opacity:.9;}
.nav-cta:active{transform:scale(.97);}

/* ── view system ───────────────────────────────────── */
.view{display:none;}
.view.active{display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

/* ── overview / hero ───────────────────────────────── */
.hero{padding:72px 0 64px;}
.hero-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); gap:52px; align-items:center;}
.hero-copy{text-align:left;}
.eyebrow{
  display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:12.5px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--green);
  background:var(--green-tint); padding:6px 13px; border-radius:99px; margin-bottom:22px;
}
.hero h1{font-size:clamp(32px,4.4vw,50px); font-weight:800; max-width:15ch; margin:0;}
.hero .lede{
  font-size:clamp(16px,1.9vw,19px); color:var(--muted); max-width:52ch; margin:20px 0 0; line-height:1.55;
}
.hero-actions{display:flex; gap:12px; justify-content:flex-start; flex-wrap:wrap; margin-top:30px;}

/* laptop mockup */
.hero-visual{display:flex; justify-content:center;}
.laptop{width:100%; max-width:580px;}
.laptop-screen{
  position:relative; background:#1b1b1e; border-radius:20px 20px 5px 5px; padding:11px;
  box-shadow:0 24px 55px rgba(17,17,20,.24), inset 0 0 0 1px rgba(255,255,255,.06);
}
.laptop-cam{position:absolute; top:5px; left:50%; transform:translateX(-50%); width:5px; height:5px; border-radius:99px; background:#3a3a40;}
.laptop-inner{
  position:relative; aspect-ratio:16/10.2; border-radius:7px; overflow:hidden;
  background:linear-gradient(157deg,#2c2c2e 0%,#161617 48%,#050506 100%);
  display:flex; align-items:center; justify-content:center;
}
.laptop-inner::before{content:""; position:absolute; inset:0; background:radial-gradient(120% 85% at 50% -8%, rgba(255,255,255,.30), transparent 58%);}
.laptop-phone{
  position:relative; height:86%; border-radius:30px; background:#0b0b0c; padding:6px;
  box-shadow:0 18px 38px rgba(10,12,30,.42);
}
.laptop-phone img{display:block; height:100%; width:auto; border-radius:24px;}
.laptop-base{
  position:relative; height:15px; width:114%; margin-left:-7%;
  background:linear-gradient(#cfd0d5,#a7a8af);
  border-radius:0 0 11px 11px / 0 0 90px 90px;
  box-shadow:0 9px 16px rgba(17,17,20,.16);
}
.laptop-base::before{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:13%; height:6px; background:#b1b2b9; border-radius:0 0 7px 7px;}
.btn{
  font-family:inherit; font-weight:700; font-size:15px; cursor:pointer; border:none;
  padding:13px 22px; border-radius:99px; transition:transform .12s, opacity .15s, background .15s;
  display:inline-flex; align-items:center; gap:9px;
}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--blue); color:#fff;}
.btn-primary:hover{background:var(--blue-ink);}
.btn-ghost{background:var(--card); color:var(--ink); box-shadow:var(--shadow-sm); border:1px solid var(--hair);}
.btn-ghost:hover{background:#fafafa;}

.updated{margin-top:24px; font-size:13.5px; color:var(--faint);}

/* trust pillars */
.pillars{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  padding:24px 0 8px;
}
.pillar{
  background:var(--card); border:1px solid var(--hair); border-radius:var(--radius);
  padding:26px 24px; box-shadow:var(--shadow-sm);
}
.pillar-ic{
  width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:var(--blue-tint); color:var(--blue); margin-bottom:16px;
}
.pillar h3{font-size:17.5px; font-weight:800;}
.pillar p{margin:8px 0 0; font-size:14.5px; color:var(--muted); line-height:1.55;}

/* section heading */
.sec{padding:56px 0;}
.sec-head{max-width:var(--readw); margin-bottom:30px;}
.sec-head .kicker{font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--blue);}
.sec-head h2{font-size:clamp(26px,3.4vw,34px); font-weight:800; margin-top:10px;}
.sec-head p{font-size:16.5px; color:var(--muted); margin-top:12px; line-height:1.6;}

/* connected services grid */
.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.svc{
  background:var(--card); border:1px solid var(--hair); border-radius:var(--radius);
  padding:24px; box-shadow:var(--shadow-sm); display:flex; gap:16px; align-items:flex-start;
}
.svc-tile{
  width:52px; height:52px; border-radius:14px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:21px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.svc h3{font-size:17px; font-weight:800; display:flex; align-items:center; gap:9px; flex-wrap:wrap;}
.svc .role{font-size:12px; font-weight:700; color:var(--muted); background:var(--bg); border:1px solid var(--hair); padding:3px 9px; border-radius:99px;}
.svc p{margin:9px 0 0; font-size:14.5px; color:var(--muted); line-height:1.55;}
.svc .data{
  margin-top:13px; display:flex; flex-wrap:wrap; gap:6px;
}
.chip{font-size:11.5px; font-weight:600; color:var(--ink); background:var(--bg); border:1px solid var(--hair); padding:4px 10px; border-radius:99px;}
.chip.no{color:var(--green); background:var(--green-tint); border-color:transparent;}

/* callout */
.callout{
  display:flex; gap:15px; align-items:flex-start; max-width:var(--readw);
  background:var(--blue-tint); border:1px solid var(--hair); border-radius:var(--radius);
  padding:20px 22px; margin-top:30px;
}
.callout .ic{color:var(--blue); flex-shrink:0; margin-top:1px;}
.callout p{margin:0; font-size:14.5px; color:#2B2B30; line-height:1.55;}
.callout strong{color:var(--blue-ink);}

/* ── legal document layout ─────────────────────────── */
.doc{display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; padding:48px 0 96px; align-items:start;}
.doc-hero{padding:64px 0 8px;}
.doc-hero .eyebrow{color:var(--blue); background:var(--blue-tint);}
.doc-hero h1{font-size:clamp(30px,4vw,42px); font-weight:800;}
.doc-hero p{font-size:17px; color:var(--muted); margin-top:14px; max-width:60ch;}
.doc-meta{display:flex; gap:18px; flex-wrap:wrap; margin-top:20px; font-size:13.5px; color:var(--faint);}
.doc-meta b{color:var(--muted); font-weight:700;}

.toc{position:sticky; top:88px;}
.toc-label{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin-bottom:12px;}
.toc a{
  display:block; font-size:13.5px; font-weight:600; color:var(--muted);
  padding:7px 12px; border-radius:9px; border-left:2px solid transparent; line-height:1.4;
}
.toc a:hover{color:var(--ink); background:rgba(17,17,20,.03);}
.toc a.active{color:var(--blue); background:var(--blue-tint); border-left-color:var(--blue);}

.doc-body{max-width:var(--readw);}
.doc-body section{padding-top:14px; margin-bottom:38px; scroll-margin-top:88px;}
.doc-body h2{
  font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--blue);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.doc-body h2 .num{
  width:24px; height:24px; border-radius:7px; background:var(--blue-tint); color:var(--blue);
  display:inline-flex; align-items:center; justify-content:center; font-size:12px; flex-shrink:0;
}
.doc-body h3{font-size:19px; font-weight:800; margin:0 0 10px;}
.doc-body p{margin:0 0 14px; color:#2B2B30; font-size:15.5px; line-height:1.65;}
.doc-body ul{margin:0 0 16px; padding-left:0; list-style:none;}
.doc-body li{
  position:relative; padding-left:24px; margin-bottom:9px; color:#2B2B30; font-size:15.5px; line-height:1.6;
}
.doc-body li::before{
  content:""; position:absolute; left:4px; top:10px; width:6px; height:6px; border-radius:99px; background:var(--blue);
}
.doc-body li b, .doc-body p b{color:var(--ink); font-weight:700;}
.doc-card{
  background:var(--card); border:1px solid var(--hair); border-radius:var(--radius-sm);
  padding:18px 20px; margin:0 0 16px; box-shadow:var(--shadow-sm);
}
.doc-card p:last-child{margin-bottom:0;}

/* ── footer ────────────────────────────────────────── */
.footer{border-top:1px solid var(--line); background:#fff;}
.footer-in{max-width:var(--maxw); margin:0 auto; padding:44px 28px; display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between;}
.footer-brand{max-width:320px;}
.footer-brand p{margin:14px 0 0; font-size:14px; color:var(--muted); line-height:1.55;}
.footer-cols{display:flex; gap:56px; flex-wrap:wrap;}
.footer-col h4{font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); margin-bottom:14px;}
.footer-col a, .footer-col button{
  display:block; font-size:14px; font-weight:600; color:var(--muted); margin-bottom:10px;
  background:none; border:none; padding:0; font-family:inherit; cursor:pointer; text-align:left;
}
.footer-col a:hover, .footer-col button:hover{color:var(--ink);}
.footer-base{border-top:1px solid var(--line); }
.footer-base-in{max-width:var(--maxw); margin:0 auto; padding:20px 28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--faint);}

/* ── responsive ────────────────────────────────────── */
@media (max-width:860px){
  .pillars{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:1fr;}
  .doc{grid-template-columns:1fr; gap:0;}
  .toc{display:none;}
  .nav-links{display:none;}
  .hero-grid{grid-template-columns:1fr; gap:44px;}
  .hero-copy{text-align:center;}
  .hero h1{max-width:16ch; margin:0 auto;}
  .hero .lede{margin-left:auto; margin-right:auto;}
  .hero-actions{justify-content:center;}
  .laptop{max-width:420px;}
}
@media (max-width:520px){
  .wrap, .topnav-in{padding-left:18px; padding-right:18px;}
  .hero{padding:56px 0 36px;}
}
