/* =========================================================
   Kepto: site.css
   Cream paper, ink outlines, amber accent. Shared by every page.
   ========================================================= */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  color-scheme:light only;
  --bg:#FAF6EC;
  --surface:#FFFDF8;
  --band:#F2EBDA;
  --band-line:#E8DFCB;
  --border:#E8E2D2;
  --ink:#1C1A15;
  --ink-2:#655F50;
  --ink-3:#8F8876;
  --amber:#E0A92E;
  --amber-soft:#F6DC8E;
  --amber-deep:#8A6514;
  --night:#1C1A15;
  --night-2:#2B2820;
  --night-line:#3D392E;
  --night-ink:#F6F0E2;
  --night-ink-2:#B9B1A0;

  --butter:#F5E9BF;
  --sky:#DCE8EE;
  --rose:#F5DAD3;
  --mint:#D6EADF;

  --line:1.5px;
  --display:'Poppins',system-ui,sans-serif;
  --body:'DM Sans',system-ui,sans-serif;

  --max:1160px;
  --gutter:20px;
  --radius:24px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;}
a{color:var(--amber-deep);}
a:hover{color:var(--ink);}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);}
h1,h2,h3{font-family:var(--display);letter-spacing:-0.025em;text-wrap:balance;}
.dot{color:var(--amber);}

/* ---- Header ---- */
.site-head{max-width:var(--max);margin:0 auto;padding:16px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex-shrink:0;}
.brand img{height:40px;width:auto;display:block;}
.brand span{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-0.03em;line-height:1;}
.brand:hover{color:var(--ink);}
.pill-nav{display:flex;gap:2px;background:var(--surface);padding:4px;border-radius:999px;border:var(--line) solid var(--ink);}
.pill-nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:600;line-height:1;padding:10px 16px;border-radius:999px;border:1px solid transparent;transition:background 150ms;white-space:nowrap;}
.pill-nav a:hover{background:var(--band);}
.pill-nav a.active{background:var(--amber-soft);border-color:var(--ink);}
@media(max-width:560px){
  .site-head{padding:12px 16px;}
  .brand span{display:none;}
  .pill-nav a{padding:9px 11px;font-size:13.5px;}
}

/* ---- Store badges ---- */
.stores{display:flex;flex-wrap:wrap;gap:12px;}
.store{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 18px 0 14px;border-radius:12px;background:#000;color:#fff;text-decoration:none;border:1px solid #5a5a5a;transition:transform 160ms,box-shadow 160ms;}
.store svg{width:26px;height:26px;fill:#fff;flex-shrink:0;}
.store span{display:flex;flex-direction:column;font-family:var(--body);font-weight:600;font-size:19px;line-height:1.1;letter-spacing:-0.01em;white-space:nowrap;}
.store small{font-size:11px;font-weight:500;letter-spacing:0.01em;}
.store:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px -8px rgba(28,26,21,0.5);}
@media(max-width:420px){
  .stores{gap:8px;}
  .store{height:48px;gap:8px;padding:0 12px 0 10px;border-radius:10px;}
  .store svg{width:22px;height:22px;}
  .store span{font-size:16px;}
  .store small{font-size:10px;}
}
.note{margin-top:18px;font-size:15px;color:var(--ink-2);}
.note a{color:var(--ink);text-underline-offset:3px;}
.rank{margin-top:18px;font-size:15px;color:var(--ink-2);}
.rank b{color:var(--ink);font-weight:700;}
.rank + .rank,.rank + .note{margin-top:6px;}

/* ---- Shared section furniture ---- */
.section{padding:96px 0;}
.section.tinted{background:var(--band);border-block:1px solid var(--band-line);}
.kicker{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:10px;}
.section h2{font-weight:700;font-size:clamp(32px,4.4vw,50px);line-height:1.12;max-width:20ch;}
.lede{margin-top:16px;font-size:17px;color:var(--ink-2);max-width:54ch;}
.center{text-align:center;}
.center h2,.center .lede{margin-inline:auto;}
.card{background:var(--surface);border:var(--line) solid var(--ink);border-radius:var(--radius);}
.tab{display:inline-block;color:var(--ink);font-size:13px;font-weight:700;line-height:1;padding:7px 12px;border-radius:999px;background:var(--amber-soft);border:var(--line) solid var(--ink);}

/* phone: thin ink outline, real capture inside */
.phone{--pw:240px;width:var(--pw);max-width:100%;flex-shrink:0;background:var(--surface);border:2.5px solid var(--ink);border-radius:calc(var(--pw) * 0.15);padding:calc(var(--pw) * 0.022);box-shadow:0 34px 50px -26px rgba(28,26,21,0.5);}
.phone img{display:block;width:100%;height:auto;border-radius:calc(var(--pw) * 0.128 - 2.5px);background:var(--band);}

/* scroll reveal, only when the script is running */
.js .reveal{opacity:0;translate:0 14px;transition:opacity 400ms ease,translate 400ms cubic-bezier(0.16,1,0.3,1);}
.js .reveal.in{opacity:1;translate:none;}
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;translate:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---- Home: hero ---- */
.hero{max-width:var(--max);margin:0 auto;padding:32px var(--gutter) 88px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:40px;align-items:center;}
.hero h1{font-weight:700;font-size:clamp(42px,5.4vw,62px);line-height:1.12;max-width:15ch;}
.hero-sub{margin:22px 0 28px;font-size:20px;line-height:1.6;color:var(--ink-2);max-width:32ch;}
.hero-art{position:relative;height:560px;}
.hero-art::before{content:'';position:absolute;right:0;top:20%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--amber-soft);opacity:0.5;}
.hero-art .phone{position:absolute;}
.hero-art .back{--pw:226px;left:4%;top:76px;transform:rotate(-5deg);}
.hero-art .front{--pw:256px;right:4%;top:0;}
.notif{position:absolute;z-index:2;display:flex;gap:10px;align-items:flex-start;width:258px;padding:10px 12px 11px 10px;background:rgba(255,253,248,0.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:var(--line) solid var(--ink);border-radius:18px;box-shadow:0 18px 30px -18px rgba(28,26,21,0.55);font-size:12.5px;line-height:1.35;color:var(--ink-2);text-align:left;}
.notif img{width:32px;height:32px;border-radius:8px;flex-shrink:0;margin-top:2px;}
.notif .n-app{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px;}
.notif .n-app i{font-style:normal;letter-spacing:0;text-transform:none;font-weight:500;}
.notif b{display:block;font-family:var(--display);font-weight:600;font-size:13.5px;line-height:1.3;color:var(--ink);}
.notif.one{left:-14px;top:44px;transform:rotate(-3deg);}
.notif.two{right:-22px;bottom:56px;transform:rotate(2deg);}
@media(prefers-reduced-motion:no-preference){
  .hero-art .phone,.notif{animation:rise 500ms cubic-bezier(0.16,1,0.3,1) backwards;}
  .hero-art .front{animation-delay:60ms;}
  .notif{animation-delay:200ms;}
  .notif.two{animation-delay:320ms;}
}
@keyframes rise{from{opacity:0;translate:0 26px;}}
@media(max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);padding-bottom:56px;}
  .hero-art{height:500px;max-width:440px;width:100%;margin:0 auto;}
  .hero-art .back{--pw:196px;left:0;}
  .hero-art .front{--pw:224px;right:0;}
  .notif{width:236px;}
  .notif.one{left:-6px;top:52px;}
  .notif.two{right:-8px;bottom:40px;}
}
@media(max-width:400px){
  .hero-art{height:440px;}
  .hero-art .back{--pw:170px;}
  .hero-art .front{--pw:196px;}
  .notif{width:198px;font-size:11px;padding:8px 9px 9px 8px;gap:7px;border-radius:15px;}
  .notif img{width:26px;height:26px;border-radius:6px;}
  .notif .n-app{font-size:9.5px;}
  .notif b{font-size:12px;}
  .notif.one{left:auto;right:-4px;top:auto;bottom:34px;}
  .notif.two{display:none;}
}

/* ---- Home: what you can keep (marquee) ---- */
.keeps{overflow:hidden;margin-top:44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.keeps-track{display:flex;width:max-content;animation:slide 90s linear infinite;}
.keep{width:196px;margin-right:16px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--surface);border:var(--line) solid var(--ink);border-radius:22px;padding:10px 10px 16px;}
.keep img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:10.5px;border:1px solid var(--border);margin-bottom:6px;}
.keep b{font-family:var(--display);font-weight:600;font-size:15.5px;line-height:1.2;letter-spacing:-0.01em;}
.keep small{font-size:13.5px;color:var(--ink-2);line-height:1.2;}
.keep small strong{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);}
.stamp{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;line-height:1;color:#2E7D46;border:1.5px solid #2E7D46;border-radius:5px;padding:4px 7px;}
.stamp::before{content:'';width:8px;height:4px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg) translateY(-1px);}
@keyframes slide{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.keeps-track{animation:none;}}

/* ---- Home: how it works ---- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:60px;}
.step{position:relative;overflow:visible;display:flex;flex-direction:column;}
.step-n{position:absolute;top:-18px;left:18px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--amber-soft);border:var(--line) solid var(--ink);font-family:var(--display);font-weight:700;font-size:15px;}
.step-copy{padding:36px 24px 26px;min-height:168px;}
.step h3{font-weight:600;font-size:21px;line-height:1.15;}
.step p{margin-top:10px;font-size:15.5px;color:var(--ink-2);}
.step-shot{flex:1;background:var(--bg);border-top:1px solid var(--border);border-radius:0 0 calc(var(--radius) - 2px) calc(var(--radius) - 2px);padding:36px 20px 0;display:flex;justify-content:center;overflow:hidden;height:420px;}
.step-shot .phone{--pw:230px;align-self:flex-start;}
@media(max-width:900px){
  .steps{grid-template-columns:minmax(0,1fr);max-width:440px;margin-inline:auto;gap:44px;}
  .step-copy{min-height:0;}
}

/* ---- Home: backup card ---- */
.duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:48px;align-items:center;padding:64px 52px;}
.duo h2{max-width:14ch;}
.ticks{list-style:none;margin-top:26px;display:grid;gap:14px;}
.ticks li{position:relative;padding-left:36px;font-size:16px;line-height:1.5;}
.ticks li::before{content:'';position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--amber-soft);border:var(--line) solid var(--ink);}
.ticks li::after{content:'';position:absolute;left:7px;top:8px;width:9px;height:5px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg);}
.roster{background:var(--band);border:var(--line) solid var(--ink);border-radius:20px;padding:12px;display:grid;gap:10px;}
.roster-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;font-size:15.5px;color:var(--ink-2);}
.roster-row b{flex-shrink:0;min-width:74px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink);background:var(--amber-soft);border:var(--line) solid var(--ink);border-radius:999px;padding:5px 10px;line-height:1;}
.duo-art{display:grid;gap:18px;}
.duo-art img{height:112px;width:auto;justify-self:center;display:block;}
@media(max-width:900px){
  .duo{grid-template-columns:minmax(0,1fr);padding:36px 22px;gap:32px;}
  .roster-row{align-items:flex-start;}
}

/* ---- Home: smart scan panels ---- */
.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px;margin-top:60px;}
.panel{position:relative;padding:38px 30px 30px;}
.panel.wide{grid-column:1 / -1;}
.panel .tab{position:absolute;top:-14px;left:20px;}
.panel h3{font-weight:600;font-size:21px;line-height:1.2;}
.panel p{margin-top:10px;font-size:15.5px;color:var(--ink-2);}
.checks{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;}
.checks li{position:relative;padding:12px 0 12px 28px;font-size:15.5px;line-height:1.5;border-bottom:1px solid var(--border);}
.checks li::before{content:'';position:absolute;left:2px;top:18px;width:12px;height:7px;border-left:2px solid var(--amber-deep);border-bottom:2px solid var(--amber-deep);transform:rotate(-45deg);}
@media(max-width:760px){
  .panels{grid-template-columns:minmax(0,1fr);}
  .checks{grid-template-columns:minmax(0,1fr);}
  .panel{padding:34px 22px 24px;}
}

/* ---- Home: the vault, after dark ---- */
.section.night{background:var(--night);color:var(--night-ink);padding-bottom:0;overflow:hidden;}
.night .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
.night .kicker{color:var(--amber);}
.night .lede{color:var(--night-ink-2);}
.night .ticks li::before{background:var(--amber);border-color:var(--amber);}
.night .ticks li{color:var(--night-ink);}
.night-copy{padding-bottom:96px;}
.night-art{position:relative;display:flex;justify-content:center;align-self:end;height:540px;}
.night-art::before{content:'';position:absolute;left:50%;top:60px;width:480px;height:480px;margin-left:-240px;border-radius:50%;background:#3A2F12;}
.night-art .phone{--pw:290px;position:relative;border-color:#000;background:#000;box-shadow:none;align-self:flex-start;}
@media(max-width:900px){
  .night .wrap{grid-template-columns:minmax(0,1fr);gap:8px;}
  .night-copy{padding-bottom:40px;}
  .night-art{height:460px;}
  .night-art .phone{--pw:250px;}
  .night-art::before{width:380px;height:380px;margin-left:-190px;}
}

/* ---- Home: pricing ---- */
.plus{position:relative;background:var(--night);color:var(--night-ink);border-radius:var(--radius);padding:64px 52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;}
.plus > .tab{position:absolute;top:-15px;left:44px;transform:rotate(-4deg);}
.plus .kicker{color:var(--night-ink-2);font-size:14px;}
.plus h2{color:#fff;font-size:clamp(30px,4vw,44px);max-width:12ch;}
.plus .lede{color:var(--night-ink-2);font-size:16px;}
.plans{display:grid;gap:10px;margin-top:26px;}
.plan{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--night-2);border:1px solid var(--night-line);border-radius:14px;padding:14px 16px;}
.plan b{display:block;font-family:var(--display);font-weight:600;font-size:16px;line-height:1.2;}
.plan small{display:block;font-size:13.5px;color:var(--night-ink-2);margin-top:2px;}
.plan em{font-style:normal;font-size:12.5px;font-weight:700;line-height:1;background:var(--surface);color:var(--ink);border:var(--line) solid var(--ink);border-radius:999px;padding:5px 10px;white-space:nowrap;}
.plan.best{background:var(--amber-soft);border-color:var(--amber-soft);color:var(--ink);}
.plan.best small{color:#4A4538;}
.perks{list-style:none;display:grid;gap:10px;}
.perks li{position:relative;background:var(--night-2);border:1px solid var(--night-line);border-radius:14px;padding:14px 16px 14px 52px;font-size:15.5px;line-height:1.5;}
.perks li::before{content:'';position:absolute;left:16px;top:15px;width:22px;height:22px;border-radius:50%;background:var(--amber);}
.perks li::after{content:'';position:absolute;left:23px;top:22px;width:9px;height:5px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg);}
.plus .stores{margin-top:20px;}
.plus .store{border-color:#6b6659;}
@media(max-width:900px){
  .plus{grid-template-columns:minmax(0,1fr);padding:48px 22px 32px;}
  .plus > .tab{left:22px;}
}

/* ---- Questions (home and support) ---- */
.faq{max-width:780px;margin:44px auto 0;display:grid;gap:12px;}
.faq details{background:var(--surface);border:var(--line) solid var(--ink);border-radius:18px;}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.35;letter-spacing:-0.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--amber-soft);font-family:var(--body);font-weight:500;font-size:20px;line-height:1;transition:transform 200ms;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq summary:focus-visible{outline:2px solid var(--amber-deep);outline-offset:3px;border-radius:18px;}
.faq .ans{padding:0 22px 20px;}
.faq .ans p,.faq .ans li{font-size:15.5px;line-height:1.65;color:var(--ink-2);}
.faq .ans p{margin-top:8px;}
.faq .ans > :first-child{margin-top:0;}
.faq .ans ul{margin-top:8px;padding-left:20px;}
.faq .ans li{margin-top:6px;}
.faq .ans .plat{display:block;margin-top:14px;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--amber-deep);}
.faq .ans .plat + p{margin-top:2px;}
.more{margin-top:28px;text-align:center;font-weight:600;font-size:16px;}
.more a{color:var(--ink);text-underline-offset:4px;}

/* ---- Home: who makes Kepto ---- */
.maker-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start;}
.maker-head{position:sticky;top:96px;}
@media(max-height:860px){.maker-head{position:static;}}
.maker-photo{margin-top:30px;max-width:360px;}
.maker-photo img{display:block;width:100%;height:auto;border:var(--line) solid var(--ink);border-radius:24px;background:var(--band);}
.maker-photo figcaption{margin-top:12px;font-size:14.5px;line-height:1.3;color:var(--ink-2);}
.maker-photo b{display:block;font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink);}
.maker-story p{margin-top:16px;font-size:17px;line-height:1.7;color:var(--ink-2);}
.maker-story > p:first-child{margin-top:0;}
.gripes{list-style:none;counter-reset:g;margin-top:18px;display:grid;gap:14px;}
.gripes li{counter-increment:g;position:relative;padding-left:42px;font-size:16px;line-height:1.6;color:var(--ink-2);}
.gripes li::before{content:counter(g);position:absolute;left:0;top:1px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--amber-soft);border:var(--line) solid var(--ink);font-family:var(--display);font-weight:600;font-size:13px;color:var(--ink);}
.gripes b{color:var(--ink);}
.trust{margin-top:28px;padding:22px 24px;}
.maker-story .trust p{margin:0;font-size:16px;line-height:1.65;}
.trust b{display:block;margin-bottom:4px;text-wrap:balance;font-family:var(--display);font-weight:600;font-size:17px;color:var(--ink);}
.maker-story .stores{margin-top:28px;}
@media(max-width:900px){
  .maker-grid{grid-template-columns:minmax(0,1fr);gap:28px;}
  .maker-head{position:static;}
  .maker-photo{max-width:300px;}
}

/* ---- Document pages ---- */
.doc{max-width:800px;margin:0 auto;padding:36px var(--gutter) 96px;}
.lp-dochead{padding-bottom:32px;border-bottom:1px solid var(--border);}
.lp-dochead .lp-logo{display:none;}
.lp-eyebrow{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber-deep);}
.lp-dochead h1{font-weight:700;font-size:clamp(36px,5.2vw,56px);line-height:1.1;margin-top:10px;}
.lp-dochead h1 .dot{color:var(--amber);}
.lp-meta{margin-top:12px;font-size:15px;color:var(--ink-3);}

.lp-prose{padding-top:32px;}
.lp-prose h2{font-weight:600;font-size:clamp(22px,2.8vw,27px);letter-spacing:-0.02em;line-height:1.2;margin:44px 0 12px;}
.lp-prose h2:first-child{margin-top:0;}
.lp-prose p{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin:12px 0;}
.lp-prose ul{margin:12px 0;padding-left:22px;}
.lp-prose li{font-size:16.5px;line-height:1.65;color:var(--ink-2);margin:6px 0;}
.lp-prose li::marker{color:var(--amber);}
.lp-prose a{color:var(--amber-deep);text-underline-offset:3px;}
.lp-prose a:hover{color:var(--ink);}
.lp-prose strong{color:var(--ink);font-weight:600;}
.lp-prose code{font-size:0.9em;background:var(--band);padding:1px 6px;border-radius:6px;}
.lp-prose .plat{display:inline-block;margin:18px 0 0;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--amber-deep);}
.lp-prose .plat + p,.lp-prose .plat + ul{margin-top:4px;}
.lp-prose .lp-note{font-size:14.5px;color:var(--ink-2);background:var(--band);border:1px solid var(--band-line);border-radius:16px;padding:16px 18px;margin-top:28px;}

/* ---- Privacy and terms: text beside a contents card ---- */
.doc.legal{max-width:var(--max);display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"head head" "body side";column-gap:64px;align-items:start;}
.legal .lp-dochead{grid-area:head;border-bottom:0;padding-bottom:12px;}
.legal .lp-prose{grid-area:body;padding-top:16px;}
.legal .lp-prose h2{scroll-margin-top:24px;}
.summary{position:relative;background:var(--amber-soft);border:var(--line) solid var(--ink);border-radius:var(--radius);padding:36px 28px 22px;margin:34px 0 8px;}
.summary > .tab{position:absolute;top:-14px;left:20px;background:var(--surface);}
.lp-prose .summary li{color:var(--ink);margin:8px 0;}
.lp-prose .summary li::marker{color:var(--ink);}
.lp-prose .summary .summary-note{font-size:14px;color:#5A4A1C;margin:14px 0 0;}
.toc{grid-area:side;position:sticky;top:20px;background:var(--surface);border:var(--line) solid var(--ink);border-radius:var(--radius);padding:30px 24px 20px;margin-top:30px;}
.toc > .tab{position:absolute;top:-14px;left:20px;background:var(--surface);}
.toc ol{padding-left:22px;font-size:15px;}
.toc li{margin:9px 0;color:var(--ink-2);}
.toc a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--ink-3);}
.toc a:hover{text-decoration-color:var(--ink);}
@media(max-width:900px){
  .doc.legal{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "body";}
  .toc{display:none;}
}

/* ---- Support: questions beside the contact card ---- */
.doc.support{max-width:var(--max);display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"head head" "faq contact";column-gap:56px;align-items:start;}
.support .lp-dochead{grid-area:head;border-bottom:0;padding-bottom:28px;}
.support .lp-prose{grid-area:faq;padding-top:0;}
.support .lp-prose h2{margin-bottom:16px;}
.support .faq{margin:0;max-width:none;}
.lp-contact{grid-area:contact;position:sticky;top:20px;background:var(--surface);border:var(--line) solid var(--ink);border-radius:var(--radius);padding:34px 26px 26px;margin-top:14px;}
.lp-contact > .tab{position:absolute;top:-14px;left:20px;}
.lp-contact .lead{font-size:16px;line-height:1.6;color:var(--ink);}
.lp-contact .sub{margin-top:18px;font-size:13.5px;line-height:1.7;color:var(--ink-3);text-align:center;}
@media(max-width:900px){
  .doc.support{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "contact" "faq";}
  .lp-contact{position:relative;top:0;margin:14px 0 44px;}
}
.form{margin-top:20px;}
.form-row{margin-bottom:14px;}
.form-label{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.form-label span{color:var(--ink-3)!important;font-weight:400;}
.form-input,.form-textarea{width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:var(--bg);border:1px solid #CFC7B2;border-radius:12px;padding:11px 13px;outline:none;transition:border-color 150ms,box-shadow 150ms;}
.form-input:focus,.form-textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--amber-soft);}
.form-textarea{resize:vertical;min-height:120px;}
.form-actions{display:flex;margin-top:18px;}
.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;border:none;border-radius:999px;padding:12px 26px;cursor:pointer;background:var(--ink);color:#fff;font-family:var(--body);font-weight:700;font-size:15.5px;transition:transform 150ms,box-shadow 150ms;}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 10px 22px -8px rgba(28,26,21,0.5);}
.form-submit .ic{width:18px;height:18px;stroke:#fff;fill:none;}

/* ---- Download page ---- */
.dl{max-width:780px;margin:72px auto 96px;padding:0 var(--gutter);text-align:center;}
.dl-card{position:relative;background:var(--surface);border:var(--line) solid var(--ink);border-radius:var(--radius);padding:76px 24px 52px;}
.dl-card > img{position:absolute;top:-44px;left:50%;height:88px;width:auto;transform:translateX(-50%);}
.dl h1{font-weight:700;font-size:clamp(36px,5.6vw,54px);line-height:1.1;}
.dl p.dl-sub{margin:16px auto 28px;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:34ch;}
.dl .stores{justify-content:center;}

/* ---- Footer (legal details stay on every page) ---- */
.site-foot{border-top:1px solid var(--band-line);}
.site-foot .wrap{padding-top:40px;padding-bottom:52px;}
.foot-brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-0.03em;line-height:1;}
.foot-brand img{height:30px;width:auto;}
.lp-foot{margin-top:16px;font-size:14px;line-height:1.75;color:var(--ink-2);}
.lp-foot a{color:var(--ink-2);text-underline-offset:3px;}
.lp-foot a:hover{color:var(--ink);}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;padding-top:18px;border-top:1px solid var(--band-line);font-size:14px;}
.foot-links a{color:var(--ink);text-underline-offset:3px;}

/* Tilted text blurs on 1x screens, so keep these straight there */
@media (max-resolution:1.49dppx),(-webkit-max-device-pixel-ratio:1.49){
  .hero-art .back,.notif.one,.notif.two,.plus > .tab{transform:none;}
}
