/* KeepSlip — Apple product-page style. Light page, one dark section, SF type, real device frames. */
:root{
  --page:#f5f5f7; --white:#fff; --ink:#1d1d1f; --ink2:#6e6e73; --line:#d2d2d7;
  --blue:#0071e3; --blue-hover:#0077ed; --link:#0066cc; --brand:#1D62BD;
  --dark:#000; --dark2:#161617; --dark-ink:#f5f5f7; --dark-ink2:#86868b;
  --r-tile:28px; --max:1000px; --wide:1240px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:56px}
body{margin:0;background:var(--white);color:var(--ink);font:17px/1.47 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.022em;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.narrow{max-width:760px}
.center{text-align:center}
h1,h2,h3{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;margin:0}
h1{font-size:clamp(44px,7vw,80px);line-height:1.05;font-weight:700;letter-spacing:-.015em}
h2{font-size:clamp(32px,4.6vw,56px);line-height:1.07;font-weight:700;letter-spacing:-.005em}
h3{font-size:21px;line-height:1.2;font-weight:600;letter-spacing:.011em}
.kicker{font-size:21px;font-weight:600;margin:14px 0 6px;letter-spacing:.01em}
.kicker.blue{color:#2997ff;font-size:17px;margin:0 0 10px}
.lead{font-size:clamp(19px,2.2vw,24px);line-height:1.33;color:var(--ink);max-width:640px;margin:18px auto 0;font-weight:400}
.sub{font-size:clamp(17px,1.8vw,21px);color:var(--ink2);max-width:640px;margin:16px 0 0;line-height:1.4}
.sub.center{margin-inline:auto}
.fine{font-size:14px;color:var(--ink2);margin:14px 0 0}

/* global nav */
.gnav{position:sticky;top:0;z-index:50;background:rgba(250,250,252,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.gnav-in{display:flex;align-items:center;gap:22px;height:48px;max-width:var(--wide)}
.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;font-size:17px;margin-inline-end:auto}
.brand img{border-radius:5px}
.brand:hover{text-decoration:none}
.links{display:flex;gap:22px;font-size:12px}
.links a{color:var(--ink);opacity:.8}
.links a:hover{opacity:1;text-decoration:none}
.langs{position:relative;font-size:12px}
.langs summary{cursor:pointer;list-style:none;color:var(--ink);opacity:.8}
.langs summary::-webkit-details-marker{display:none}
.langs summary::after{content:" ⌄"}
.langs nav{position:absolute;inset-inline-end:0;top:30px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.12);min-width:180px;display:grid}
.langs nav a{color:var(--ink);padding:7px 12px;border-radius:8px;font-size:14px}
.langs nav a:hover,.langs nav a[aria-current]{background:var(--page);text-decoration:none}

/* buttons */
.pill{display:inline-block;background:var(--blue);color:#fff;font-size:17px;font-weight:400;padding:12px 22px;border-radius:980px;line-height:1.18;transition:background .2s}
.pill:hover{background:var(--blue-hover);text-decoration:none}
.pill-sm{font-size:12px;padding:4px 11px}
.more{font-size:17px;color:var(--link)}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin:32px 0 0}

/* hero */
.hero{padding:72px 0 0;background:var(--page);overflow-x:clip}
.appicon{margin:0 auto;width:112px;height:112px;border-radius:25px;box-shadow:0 10px 30px rgba(29,98,189,.25)}
.stage{position:relative;max-width:var(--wide);margin:64px auto 0;padding:0 22px}
.desk{background:radial-gradient(120% 120% at 15% 0%,#a9c8ff 0%,#5b8fe8 32%,#2a4fb0 62%,#14215c 100%);border-radius:28px;padding:56px 12% 64px 5%}
.desk .mac{width:100%;filter:drop-shadow(0 30px 50px rgba(5,20,60,.45))}
.stage-phone{position:absolute;width:min(22%,270px);inset-inline-end:4%;bottom:-12%;filter:drop-shadow(0 28px 40px rgba(0,0,0,.35))}

/* highlights / bento */
section{padding:110px 0}
.highlights{background:var(--page);padding-top:190px}
.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:56px}
.tile{background:var(--white);border-radius:var(--r-tile);padding:34px;overflow:hidden}
.tile h3{margin:16px 0 8px}
.tile p{margin:0;color:var(--ink2);font-size:17px}
.tile-ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#3F8CF2,#1D62BD);color:#fff;display:grid;place-items:center}
.ic{width:26px;height:26px}
.tile.big{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding:48px 48px 0}
.tile.big h3{font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin:0 0 14px}
.tile.big p{font-size:19px}
.tile.big .phone{width:min(300px,100%);margin:0 auto -18%;}

/* dark claim section */
.dark{background:var(--dark);color:var(--dark-ink);overflow:hidden}
.dark .sub{color:var(--dark-ink2)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.split-art{display:flex;justify-content:center}
.split-art .phone{width:min(330px,80vw);filter:drop-shadow(0 30px 60px rgba(41,151,255,.18))}
.steps{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:18px}
.steps li{display:flex;gap:14px;align-items:flex-start;font-size:19px;color:var(--dark-ink)}
.steps span{flex:none;width:30px;height:30px;border-radius:50%;background:#1d1d1f;border:1px solid #424245;display:grid;place-items:center;font-size:14px;font-weight:600;color:#2997ff}

/* ecosystem */
.eco{background:var(--white);overflow-x:clip}
.eco-stage{position:relative;max-width:1080px;margin:64px auto 0;padding:0 6% 60px}
.eco-stage .mac{width:100%;filter:drop-shadow(0 24px 40px rgba(0,0,0,.18))}
.eco-stage .ipad{position:absolute;width:34%;inset-inline-start:0;bottom:0;border-radius:18px;border:1px solid rgba(0,0,0,.08);box-shadow:0 24px 50px rgba(0,0,0,.2)}
.eco-stage .phone{position:absolute;width:15%;inset-inline-end:1%;bottom:-2%;filter:drop-shadow(0 24px 34px rgba(0,0,0,.28))}
.eco-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px;text-align:center}
.eco-caps p{margin:0;font-size:15px;color:var(--ink2);display:grid;gap:4px}
.eco-caps strong{color:var(--ink);font-size:21px;font-weight:600}

/* privacy */
.privacy{background:var(--page)}
.lock{color:var(--brand);margin:0 auto 18px;display:block}
.chips{list-style:none;padding:0;margin:34px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:640px}
.chips li{background:var(--white);border-radius:980px;padding:9px 16px;font-size:15px;color:var(--ink)}

/* pricing */
.pricing{background:var(--white)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:44px 0 36px}
.plan{background:var(--page);border-radius:var(--r-tile);padding:34px}
.plan.pro{background:linear-gradient(160deg,#eaf2ff,#f5f5f7);box-shadow:inset 0 0 0 2px var(--brand)}
.plan p{color:var(--ink2);margin:0}
.plan .price{color:var(--ink);font-size:34px;font-weight:700;margin:6px 0 12px;letter-spacing:-.01em}

/* faq */
.faq{background:var(--white);padding-top:40px}
.faq h2{margin-bottom:20px}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ink2);font-weight:300;font-size:24px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--ink2);margin:12px 0 0}

/* footer */
footer{background:var(--page);padding:22px 0 40px;font-size:12px;color:var(--ink2);border-top:1px solid var(--line)}
.foot{max-width:var(--max)}
.foot p{margin:10px 0}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot-links a{color:#424245}

@media (max-width:860px){
  .links{display:none}
  .split,.tile.big{grid-template-columns:1fr}
  .tile.big{padding:36px 30px 0;text-align:center}
  .bento{grid-template-columns:1fr}
  section{padding:80px 0}
  .highlights{padding-top:110px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .desk{padding:24px 14% 32px 4%;border-radius:20px}
  .stage{padding:0 8px}
  .stage-phone{width:34%;inset-inline-end:3%}
  .plans{grid-template-columns:1fr}
  .eco-caps{grid-template-columns:1fr;gap:18px}
  .tile{padding:28px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pill{transition:none}}

/* scripts that must not be letter-spaced */
html:lang(ar) *,html:lang(ja) *,html:lang(ko) *{letter-spacing:0!important}
html:lang(ja) h1,html:lang(ko) h1{word-break:keep-all;line-break:strict}
html:lang(ja) h1,html:lang(ko) h1{font-size:clamp(32px,6.6vw,72px)}

/* legal pages */
.lhero{background:var(--page);padding:64px 0 48px}
.appicon.sm{width:72px;height:72px;border-radius:16px;margin:0 auto 18px}
.lhero h1{font-size:clamp(34px,5vw,56px)}
.seg{display:inline-flex;gap:4px;background:#e8e8ed;border-radius:980px;padding:4px;margin:22px 0 0}
.seg a{color:var(--ink);font-size:15px;padding:7px 18px;border-radius:980px}
.seg a:hover{background:#fff;text-decoration:none}
.ldoc{padding:40px 22px 90px}
.ldoc h2{font-size:clamp(28px,3.4vw,40px);margin:48px 0 8px;padding-top:12px}
.lsec{border-top:1px solid var(--line);padding:22px 0 6px}
.lsec h3{font-size:20px;margin:0 0 10px}
.lsec p{margin:0 0 14px;color:#333336;font-size:17px;line-height:1.6}
.lsec p a,.faq p a{text-decoration:underline;text-underline-offset:2px}
