:root { --yellow:#fdcf00; --yellow-soft:#fff6cb; --ink:#171717; --paper:#f7f5ef; --white:#fff; --muted:#69675f; --line:#d8d4c8; --shadow:0 28px 70px rgba(23,23,23,.15); }
* { box-sizing:border-box; }
html { height:100%; scroll-behavior:smooth; user-select: none;}
body { height:100%; margin:0; overflow:hidden; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
main { height:100svh; overflow-x:hidden; overflow-y:auto; scroll-behavior:auto; scroll-snap-type:y mandatory; overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch; }
main.wheel-controlled { scroll-snap-type:none; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:.98; letter-spacing:-.055em; }
.site-header { position:fixed; top:18px; right:28px; left:28px; z-index:20; display:flex; align-items:center; justify-content:space-between; height:66px; padding:0 18px; border:1px solid #3e3e3e; border-radius:18px; background:#171717; color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.1); }
.brand { display:inline-flex; align-items:center; gap:11px; font-size:15px; font-weight:900; line-height:.9; letter-spacing:-.04em; text-transform:uppercase; }
.brand img { width:46px; height:46px; }
.site-nav { display:flex; gap:clamp(18px,3vw,42px); align-items:center; font-size:13px; font-weight:800; text-transform:uppercase; }
.site-nav a { position:relative; }
.site-nav a::after { position:absolute; right:0; bottom:-8px; left:0; height:2px; content:""; background:var(--yellow); transform:scaleX(0); transition:transform .2s ease; }
.site-nav a:hover::after { transform:scaleX(1); }
.menu-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:transparent; }
.menu-toggle span { display:block; width:20px; height:2px; margin:5px auto; background:#fff; transition:.2s; }
.hero { position:relative; height:100svh; min-height:680px; overflow:hidden; color:#fff; background:var(--ink); scroll-snap-align:start; contain:layout paint; }
.hero::before { position:absolute; top:0; bottom:0; left:0; width:clamp(7px,1vw,14px); content:""; background:var(--yellow); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr); gap:5vw; align-items:center; width:min(1540px,100%); min-height:calc(100vh - 56px); margin:auto; padding:125px clamp(24px,6vw,100px) 70px; }
.hero-copy { position:relative; z-index:2; max-width:800px; }
.kicker,.section-no { margin-bottom:23px; font-size:11px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.kicker { display:flex; gap:12px; align-items:center; color:var(--yellow); }
.kicker span { width:36px; height:2px; background:var(--yellow); }
h1 { margin-bottom:28px; font-size:clamp(58px,7.2vw,118px); }
h1 em,h2 em { color:var(--yellow); font-family:Georgia, "Times New Roman", serif; font-weight:400; letter-spacing:-.06em; }
.hero-intro { max-width:660px; margin-bottom:34px; color:#c9c6bc; font-size:clamp(17px,1.55vw,22px); }
.hero-actions { display:flex; flex-wrap:wrap; gap:28px; align-items:center; margin-bottom:32px; }
.google-download { padding:0; border:0; background:transparent; cursor:pointer; transition:transform .2s ease, filter .2s ease; }
.google-download:hover { filter:drop-shadow(0 9px 15px rgba(253,207,0,.22)); transform:translateY(-3px); }
.google-download:focus-visible { border-radius:8px; outline:3px solid var(--yellow); outline-offset:4px; }
.google-download img { width:206px; }
.text-link { padding-bottom:5px; border-bottom:1px solid #77746d; font-size:13px; font-weight:800; text-transform:uppercase; }
.text-link span { margin-left:9px; color:var(--yellow); }
.disclaimer { margin:0; color:#88857d; font-size:12px; }
.hero-art { position:relative; display:grid; place-items:center; min-height:660px; }
.sun-disc { position:absolute; width:min(42vw,590px); aspect-ratio:1; border-radius:50%; background:var(--yellow); }
.sun-disc::after { position:absolute; inset:34px; border:1px solid rgba(23,23,23,.22); border-radius:50%; content:""; }
.phone { position:relative; overflow:hidden; border:8px solid #111; border-radius:36px; background:#111; box-shadow:var(--shadow); }
.phone::after { position:absolute; inset:0; border:1px solid rgba(255,255,255,.15); border-radius:27px; content:""; pointer-events:none; }
.phone img { width:100%; height:100%; object-fit:cover; object-position:top; }
.phone-top { position:absolute; top:9px; left:50%; z-index:2; width:64px; height:17px; border-radius:20px; background:#111; transform:translateX(-50%); }
.hero-phone { z-index:2; width:min(62vw,315px); aspect-ratio:750/1932; transform:rotate(5deg); box-shadow:0 38px 70px rgba(0,0,0,.35); }
.scribble { position:absolute; z-index:3; padding:4px 10px; border:2px solid var(--ink); color:var(--ink); font-family:Georgia,serif; font-size:18px; font-style:italic; transform:rotate(-8deg); }
.scribble.one { top:20%; left:5%; }.scribble.two { right:2%; bottom:23%; transform:rotate(9deg); }
.result-note { position:absolute; right:2%; bottom:10%; z-index:4; width:152px; padding:17px 18px; border:2px solid var(--ink); background:#fff; color:var(--ink); box-shadow:8px 8px 0 var(--ink); transform:rotate(-3deg); }
.result-note small,.result-note strong { display:block; }.result-note strong { font-size:21px; }.result-note span { position:absolute; right:14px; bottom:13px; font-size:20px; }
.hero-ticker { display:flex; gap:32px; align-items:center; height:56px; padding:0 28px; overflow:hidden; background:var(--yellow); color:var(--ink); white-space:nowrap; font-size:12px; font-weight:900; letter-spacing:.12em; }
.hero-ticker i { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:var(--ink); }
.toolkit { display:contents; }
.snap-panel { height:100svh; min-height:680px; scroll-snap-align:start; contain:layout paint; }
.tool-overview { position:relative; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:100px clamp(20px,5vw,78px) 54px; background:var(--yellow); }
.tool-overview::after { position:absolute; top:0; right:0; width:22%; height:100%; content:""; border-left:1px solid rgba(23,23,23,.14); background:repeating-linear-gradient(-45deg,transparent 0,transparent 9px,rgba(23,23,23,.045) 10px,rgba(23,23,23,.045) 11px); pointer-events:none; }
.panel-watermark { position:absolute; right:-.08em; bottom:-.22em; color:rgba(23,23,23,.055); font-size:clamp(110px,18vw,300px); font-weight:900; letter-spacing:-.09em; line-height:1; pointer-events:none; }
.module-heading { display:grid; grid-template-columns:.48fr 1.2fr .72fr; gap:4vw; align-items:end; max-width:1400px; margin:0 auto clamp(50px,7vw,95px); }
.section-no { align-self:start; margin-top:8px; color:#5c510d; }
.module-heading h2,.preview h2,.delete-account h2 { margin:0; font-size:clamp(42px,5.4vw,78px); }
.module-heading > p:last-child { max-width:390px; margin:0 0 5px; color:var(--muted); font-size:17px; }
.feature-strip { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); width:100%; max-width:1400px; margin:0 auto; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.feature-strip article { position:relative; min-height:270px; padding:26px clamp(22px,3vw,46px) 30px; border-right:1px solid rgba(23,23,23,.25); }
.feature-strip article:last-child { border-right:0; }
.feature-strip article > b { font-size:11px; letter-spacing:.12em; }
.feature-icon { display:grid; place-items:center; width:62px; height:62px; margin:28px 0 25px; border:2px solid var(--ink); border-radius:0; background:var(--paper); box-shadow:6px 6px 0 var(--ink); font-size:26px; transform:rotate(-4deg); }
.feature-strip h3 { margin-bottom:14px; font-size:25px; }.feature-strip p { max-width:330px; margin:0; color:var(--muted); font-size:14px; }
.preview { position:relative; display:grid; grid-template-columns:minmax(310px,.7fr) minmax(550px,1.3fr); gap:5vw; align-items:center; width:100%; max-width:none; margin:0; padding:92px max(clamp(20px,5vw,78px),calc((100vw - 1400px)/2)); overflow:hidden; background:var(--paper); }
.preview::after { position:absolute; top:0; right:0; width:46%; height:100%; content:""; background:#e2ded3; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); z-index:0; }
.preview > * { position:relative; z-index:1; }
.preview-copy > p { color:#7e7a70; }.preview-copy h2 { max-width:600px; margin-bottom:55px; }
.preview ol { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.preview li { display:grid; grid-template-columns:56px 1fr; gap:12px; padding:21px 0; border-bottom:1px solid var(--line); }
.preview li > span { padding-top:2px; font-size:11px; font-weight:900; }.preview li b { font-size:17px; }.preview li p { margin:3px 0 0; color:var(--muted); font-size:14px; }
.phone-stack { position:relative; min-height:min(74vh,740px); }
.phone-stack::before { position:absolute; top:12%; right:5%; bottom:7%; left:5%; content:""; border-radius:50%; background:var(--yellow); }
.stack-phone { position:absolute; top:10%; left:50%; z-index:2; width:260px; margin:0; text-align:center; transform:translateX(-50%); }
.stack-phone .phone { width:100%; aspect-ratio:375/788; }
.stack-phone figcaption { display:inline-block; margin-top:20px; padding:6px 12px; border:1px solid var(--ink); background:var(--paper); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.stack-phone.back-left { top:20%; z-index:1; margin-left:-205px; transform:translateX(-50%) rotate(-8deg); }.stack-phone.back-right { top:20%; z-index:1; margin-left:205px; transform:translateX(-50%) rotate(8deg); }.stack-phone.center { z-index:3; width:282px; }
.delete-account { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:center; width:100%; max-width:none; margin:0; padding:100px max(clamp(30px,8vw,140px),calc((100vw - 1400px)/2)); overflow:hidden; color:#fff; background:var(--ink); }
.delete-account::before { position:absolute; content:""; }
.section-no.light { color:var(--yellow); }.delete-account h2 { margin-bottom:28px; }.delete-account > .delete-copy > p:not(.section-no) { max-width:610px; color:#bab7ad; font-size:17px; }
.delete-facts { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:43px; padding-top:28px; border-top:1px solid #45433f; }
.delete-facts p { margin:0; }.delete-facts b,.delete-facts span { display:block; }.delete-facts b { margin-bottom:7px; color:var(--yellow); font-size:13px; }.delete-facts span { color:#aaa79e; font-size:12px; }
.delete-form { padding:clamp(28px,4vw,52px); background:var(--yellow); color:var(--ink); box-shadow:12px 12px 0 #fff; }
.form-label { display:block; margin-bottom:40px; font-size:10px; font-weight:900; letter-spacing:.18em; }.delete-form label { display:block; margin-bottom:9px; font-size:13px; font-weight:800; }
.phone-input { display:flex; align-items:center; min-height:66px; border:2px solid var(--ink); background:#fff; }.phone-input > span { padding:0 16px; border-right:1px solid var(--line); font-weight:900; }.phone-input input { min-width:0; width:100%; padding:18px; border:0; outline:0; background:transparent; font-size:20px; font-weight:800; }
.field-error { min-height:24px; margin:5px 0 8px; color:#a12418; font-size:12px; }
.submit-button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:62px; padding:0 20px; border:0; background:var(--ink); color:#fff; font-size:14px; font-weight:900; cursor:pointer; text-transform:uppercase; }.submit-button span { color:var(--yellow); font-size:21px; }
.form-help { margin:17px 0 0; font-size:11px; }.form-help a { font-weight:900; text-decoration:underline; }
.site-footer { position:relative; display:grid; grid-template-columns:1.25fr .55fr .8fr; grid-template-rows:1fr auto; gap:50px; align-items:center; padding:110px max(clamp(30px,8vw,140px),calc((100vw - 1400px)/2)) 30px; overflow:hidden; background:var(--yellow); }
.site-footer::after { position:absolute; right:-10vw; bottom:-25vw; width:62vw; height:62vw; border:1px solid rgba(23,23,23,.2); border-radius:50%; content:""; box-shadow:0 0 0 6vw rgba(23,23,23,.035),0 0 0 12vw rgba(23,23,23,.025); pointer-events:none; }
.footer-intro { position:relative; z-index:1; align-self:center; }.footer-intro h2 { margin:0 0 52px; font-size:clamp(50px,6vw,94px); }.footer-intro h2 em { color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-weight:400; }.footer-brand { color:var(--ink); }.site-footer > div > p:last-child { margin:14px 0 0; color:#625817; font-size:13px; }.footer-download { position:relative; z-index:1; justify-self:center; }.site-footer nav { position:relative; z-index:1; display:grid; gap:18px; padding-left:32px; border-left:1px solid rgba(23,23,23,.35); font-size:12px; font-weight:900; text-transform:uppercase; }.site-footer nav a:hover { text-decoration:underline; }.copyright { position:relative; z-index:1; grid-column:1/-1; margin:0; padding-top:20px; border-top:1px solid rgba(23,23,23,.28); color:#655a16; font-size:11px; }
.back-to-top { position:absolute; right:clamp(28px,4vw,64px); bottom:24px; z-index:2; display:grid; place-items:center; width:52px; height:52px; padding:0; border:2px solid var(--ink); border-radius:50%; background:var(--ink); color:var(--yellow); box-shadow:5px 5px 0 rgba(255,255,255,.8); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }.back-to-top span { font-size:27px; line-height:1; transform:translateY(-1px); }.back-to-top:hover { box-shadow:2px 2px 0 rgba(255,255,255,.8); transform:translate(3px,3px); }.back-to-top:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.screen-dots { position:fixed; top:50%; right:22px; z-index:30; display:grid; gap:10px; padding:7px; border-radius:24px; background:rgba(23,23,23,.82); transform:translateY(-50%); }
.screen-dots a { display:grid; place-items:center; width:29px; height:29px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#fff; font-size:8px; font-weight:900; transition:background .16s ease,color .16s ease,transform .16s ease; }
.screen-dots a.is-active { border-color:#fff; background:#fff; color:#000; transform:scale(1.15); }
.toast { position:fixed; bottom:25px; left:50%; z-index:50; max-width:calc(100vw - 40px); padding:13px 20px; border:1px solid #555; background:var(--ink); color:#fff; box-shadow:0 15px 35px rgba(0,0,0,.22); font-size:13px; transform:translate(-50%,30px); opacity:0; pointer-events:none; transition:.25s; }.toast.is-visible { transform:translate(-50%,0); opacity:1; }
.reveal { transform:translateY(24px); opacity:0; transition:opacity .7s ease,transform .7s ease; }.reveal.is-visible { transform:none; opacity:1; }

/* Legal pages intentionally use an editorial layout distinct from the landing page. */
.legal-page { height:auto; overflow:auto; background:#ece9e0; }.legal-page .site-header { position:relative; top:auto; right:auto; left:auto; margin:18px 28px 0; color:#fff; }.legal-page main { height:auto; overflow:visible; scroll-snap-type:none; }
.legal-shell { display:grid; grid-template-columns:270px minmax(0,830px); gap:7vw; max-width:1260px; margin:auto; padding:clamp(60px,9vw,125px) 24px; }.legal-aside { position:sticky; top:35px; align-self:start; }.legal-index { font-size:11px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }.legal-aside .rule { width:70px; height:5px; margin:25px 0; background:var(--yellow); }.legal-aside a { display:block; margin-top:10px; color:var(--muted); font-size:13px; }.legal-card { padding:clamp(30px,6vw,78px); background:#fff; box-shadow:0 24px 60px rgba(23,23,23,.08); }.legal-card .document-type { color:#8a867c; font-size:11px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }.legal-card h1 { max-width:none; margin:16px 0 22px; font-size:clamp(48px,7vw,92px); color:var(--ink); }.legal-card .updated { margin-bottom:55px; padding-bottom:22px; border-bottom:1px solid var(--ink); color:var(--muted); font-size:12px; }.legal-card h2 { margin:45px 0 15px; font-size:28px; }.legal-card .legal-app-name { overflow-wrap:anywhere; }.legal-card p,.legal-card li { color:#56544f; font-family:Georgia,serif; font-size:16px; line-height:1.8; }.legal-card a { text-decoration:underline; }.legal-card .c-primary { color:#1989fa; font-weight:700; }.legal-footer { padding:30px; background:var(--ink); color:#fff; text-align:center; font-size:12px; }
@media (max-width:1050px) { .hero-grid { grid-template-columns:1fr 440px; }.hero-art { min-height:560px; }.module-heading { grid-template-columns:1fr 2fr; }.module-heading > p:last-child { grid-column:2; }.preview { grid-template-columns:.85fr 1.15fr; }.preview-copy { max-width:700px; }.phone-stack { min-height:620px; }.stack-phone.back-left { margin-left:-150px; }.stack-phone.back-right { margin-left:150px; }.delete-account { grid-template-columns:1fr 1fr; gap:5vw; }.delete-form { max-width:620px; }.site-footer { grid-template-columns:1fr .7fr; }.site-footer nav { grid-column:1/-1; grid-template-columns:repeat(4,auto); padding:25px 0 0; border-top:1px solid rgba(23,23,23,.3); border-left:0; }.legal-shell { grid-template-columns:200px 1fr; } }
@media (max-width:760px) { .site-header { top:12px; right:12px; left:12px; height:58px; padding:0 12px; border-radius:15px; }.brand img { width:38px; height:38px; }.menu-toggle { display:block; }.site-nav { position:absolute; top:64px; right:0; display:none; width:230px; padding:20px; border:1px solid #4d4b46; background:var(--ink); color:#fff; box-shadow:0 18px 45px rgba(0,0,0,.22); }.site-nav.is-open { display:grid; }.legal-page .site-header { margin:12px 12px 0; }.legal-page .site-nav { background:#fff; color:var(--ink); }.hero,.snap-panel { height:100svh; min-height:600px; }.hero-grid { display:grid; grid-template-columns:1fr 155px; gap:10px; align-items:center; height:calc(100svh - 44px); min-height:556px; padding:90px 20px 45px; }.hero-copy { margin:0; } h1 { font-size:clamp(46px,14vw,68px); }.hero-intro { font-size:14px; }.hero-actions { gap:12px; }.google-download img { width:165px; }.text-link { display:none; }.disclaimer { font-size:9px; }.hero-art { min-height:430px; }.sun-disc { width:255px; }.hero-phone { width:178px; }.scribble,.result-note { display:none; }.hero-ticker { height:44px; gap:22px; }.tool-overview { justify-content:center; padding:82px 20px 30px; }.module-heading { display:block; margin-bottom:18px; }.module-heading .section-no { margin-bottom:12px; }.module-heading h2 { margin-bottom:12px; font-size:35px; }.module-heading > p:last-child { font-size:12px; }.feature-strip { grid-template-columns:1fr; }.feature-strip article { display:grid; grid-template-columns:45px 1fr; gap:4px 13px; min-height:auto; padding:14px 4px; border-right:0; border-bottom:1px solid rgba(23,23,23,.25); }.feature-strip article > b { display:none; }.feature-icon { grid-row:1/3; width:38px; height:38px; margin:0; box-shadow:3px 3px 0 var(--ink); font-size:18px; }.feature-strip h3 { margin:0; font-size:18px; }.feature-strip p { font-size:11px; }.preview { display:grid; grid-template-columns:1fr; align-content:center; padding:80px 20px 15px; }.preview::after { top:auto; bottom:0; width:100%; height:48%; clip-path:polygon(0 18%,100% 0,100% 100%,0 100%); }.preview-copy h2 { margin-bottom:16px; font-size:35px; }.preview-copy .section-no { margin-bottom:10px; }.preview ol { display:none; }.phone-stack { min-height:460px; margin:0 -15px; overflow:visible; }.phone-stack::before { top:15%; right:8%; bottom:4%; left:8%; }.stack-phone { width:155px; }.stack-phone.center { width:176px; }.stack-phone.back-left { margin-left:-103px; }.stack-phone.back-right { margin-left:103px; }.stack-phone figcaption { margin-top:8px; }.delete-account { display:grid; grid-template-columns:1fr; align-content:center; gap:22px; padding:80px 20px 20px; }.delete-account h2 { margin-bottom:12px; font-size:38px; }.delete-account > .delete-copy > p:not(.section-no) { margin-bottom:0; font-size:12px; }.delete-copy .section-no { margin-bottom:10px; }.delete-facts { display:none; }.delete-form { padding:24px; box-shadow:6px 6px 0 #fff; }.form-label { margin-bottom:20px; }.phone-input { min-height:54px; }.phone-input input { padding:13px; font-size:17px; }.submit-button { min-height:53px; }.screen-dots { right:7px; gap:7px; }.screen-dots a { width:22px; height:22px; font-size:6px; }.legal-shell { display:block; padding-top:45px; }.legal-aside { position:static; margin-bottom:30px; }.legal-page .site-header .brand span { display:none; } }
@media (max-width:760px) {
  .site-footer { display:flex; flex-direction:column; justify-content:center; align-items:stretch; gap:22px; padding:82px 28px 22px; }
  .footer-intro h2 { margin:0 0 26px; font-size:clamp(42px,13vw,58px); }
  .footer-intro .section-no { margin-bottom:10px; }
  .footer-intro > p:last-child { display:none; }
  .footer-download { align-self:flex-start; justify-self:auto; }
  .site-footer nav { grid-column:auto; grid-template-columns:1fr 1fr; gap:12px; padding:18px 0 0; border-top:1px solid rgba(23,23,23,.3); border-left:0; }
  .copyright { margin-top:auto; padding-right:58px; }
  .back-to-top { right:20px; bottom:18px; width:46px; height:46px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { transform:none; opacity:1; transition:none; } }
