/* Kythli site — one stylesheet, merged verbatim-where-possible from the
   approved mockups (Kythli_Landing_Page / Gallery_Index / Account_Flow) plus
   the kit-detail additions. Contexts that restyle shared elements are scoped:
   .hero (landing), .phead (index-style page heads), .auth (account flow). */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#FFF9F0;--card:#fff;--ink:#2B3A42;--ink-soft:#6B7C85;
  --line:rgba(43,58,66,.10);--line-strong:rgba(43,58,66,.16);
  --coral:#F06A4A;--coral-soft:#FFEAE2;--teal:#2A9D94;--teal-soft:#E3F3F1;
  --leaf:#5BA84E;--leaf-soft:#EAF4E6;--grape:#7A6BD0;--sun:#E8A33D;--paper:#F7F1E8;
  --sky:#5BB8E8;--rose:#E86F8A;
}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px;}
.serif{font-family:'Playfair Display',serif;}

/* ---- nav ---- */
nav{position:sticky;top:0;background:rgba(255,249,240,.92);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--line);z-index:40;}
.nav-in{display:flex;align-items:center;gap:26px;height:62px;}
.logo{font-family:'Playfair Display',serif;font-size:23px;font-weight:700;text-decoration:none;}
.logo span{color:var(--coral);}
.nav-links{display:flex;gap:22px;margin-left:6px;}
.nav-links a{font-size:14px;font-weight:700;color:var(--ink-soft);text-decoration:none;}
.nav-links a:hover,.nav-links a.here{color:var(--ink);}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:16px;}
.signin{font-size:14px;font-weight:700;color:var(--ink-soft);text-decoration:none;}

/* ---- buttons ---- */
.btn{display:inline-block;background:var(--ink);color:#fff;font-weight:800;font-size:14.5px;padding:10px 20px;border-radius:12px;text-decoration:none;border:1.5px solid var(--ink);text-align:center;}
.btn:hover{background:#1e2b32;}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}
.btn.big{font-size:16px;padding:14px 26px;border-radius:14px;}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.btn.ghost:hover{background:#fff;}
.btn.full{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:15px;padding:13px 20px;border-radius:13px;}
.btn.google{background:#fff;color:var(--ink);border-color:var(--line-strong);}
.btn.google:hover{background:var(--paper);}
.btn.slim{width:auto;padding:9px 16px;font-size:13.5px;border-radius:11px;}
.gmark{width:18px;height:18px;border-radius:3px;background:conic-gradient(from -45deg,#ea4335 110deg,#4285f4 90deg 180deg,#34a853 180deg 270deg,#fbbc05 270deg);flex-shrink:0;}

/* ---- landing hero ---- */
.hero{display:grid;grid-template-columns:1fr .95fr;gap:44px;align-items:center;padding:52px 0 30px;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(36px,4.9vw,56px);font-weight:600;line-height:1.04;letter-spacing:-.015em;margin-bottom:16px;}
.hero h1 em{font-style:normal;color:var(--coral);}
.hero .sub{font-size:18px;color:var(--ink-soft);font-weight:600;max-width:48ch;margin-bottom:24px;}
.hero .sub b{color:var(--ink);}
.hero-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.nocard{font-size:13.5px;font-weight:700;color:var(--ink-soft);}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;}
.trust span{font-size:13px;font-weight:800;color:var(--ink-soft);display:flex;align-items:center;gap:6px;}
.trust i{font-style:normal;color:var(--leaf);}

/* ---- landing showcase phone ---- */
.showcase{display:flex;flex-direction:column;align-items:center;gap:16px;}
.personas{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.personas button{border:1.5px solid var(--line-strong);background:#fff;border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:800;color:var(--ink-soft);}
.personas button.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.phone{width:340px;max-width:100%;background:var(--bg);border-radius:42px;border:1.5px solid var(--line-strong);box-shadow:0 0 0 9px var(--ink),0 0 0 11px #1c272d,0 26px 52px rgba(43,58,66,.30);overflow:hidden;position:relative;}
.phone::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:112px;height:26px;background:#1c272d;border-radius:0 0 16px 16px;z-index:5;}
.p-status{display:flex;justify-content:space-between;padding:12px 22px 4px;font-size:12px;font-weight:800;}
.p-body{padding:6px 14px 18px;min-height:640px;}
.p-hello{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;padding:6px 4px 0;}
.p-sub{font-size:11px;font-weight:700;color:var(--ink-soft);padding:0 4px 10px;}
.home{display:none;flex-direction:column;gap:9px;}
.home.on{display:flex;}
.ftile{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:12px 12px 13px 16px;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(43,58,66,.05);}
.ftile::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:var(--ac,var(--coral));}
.ftile .wm{position:absolute;right:-8px;bottom:-14px;font-size:58px;line-height:1;opacity:.13;}
.ftile .t{font-family:'Playfair Display',serif;font-size:16.5px;font-weight:600;position:relative;line-height:1.1;}
.ftile .s{font-size:11px;font-weight:700;color:var(--ink-soft);margin-top:3px;position:relative;display:flex;gap:8px;flex-wrap:wrap;}
.ftile .s b{color:var(--ink);}
.ftile .s .warn{color:var(--coral);font-weight:800;}
.ftile .s .ok{color:var(--leaf);font-weight:800;}
.caption{font-size:13.5px;font-weight:700;color:var(--ink-soft);text-align:center;max-width:44ch;min-height:42px;}
.caption b{color:var(--ink);}

/* ---- shared sections ---- */
section{padding:58px 0;}
section.alt{background:#FDF5E9;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);}
.k-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
h2{font-family:'Playfair Display',serif;font-size:clamp(26px,3.4vw,38px);font-weight:600;letter-spacing:-.01em;line-height:1.1;margin-bottom:12px;}
.lead{font-size:16.5px;color:var(--ink-soft);font-weight:600;max-width:62ch;}
.lead b{color:var(--ink);}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;}
.step{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 2px 9px rgba(43,58,66,.05);}
.step .n{width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;margin-bottom:13px;}
.step h3{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;margin-bottom:6px;}
.step p{font-size:14px;font-weight:600;color:var(--ink-soft);}
.morelink{display:inline-block;margin-top:22px;font-weight:800;color:var(--teal);text-decoration:none;border-bottom:2px solid var(--teal-soft);}
.morelink:hover{border-bottom-color:var(--teal);}

/* ---- template cards (gallery variant is the canonical one) ---- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px;}
.tcard{background:#fff;border:1.5px solid var(--line);border-radius:17px;padding:17px 17px 18px 21px;position:relative;overflow:hidden;text-decoration:none;box-shadow:0 2px 9px rgba(43,58,66,.06);min-height:98px;display:block;}
.tcard:hover{border-color:var(--line-strong);box-shadow:0 8px 20px rgba(43,58,66,.10);}
.tcard::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--ac);}
.tcard .wm{position:absolute;right:-10px;bottom:-15px;font-size:60px;line-height:1;opacity:.13;}
.tcard .cat{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.tcard .t{font-family:'Playfair Display',serif;font-size:18.5px;font-weight:600;position:relative;line-height:1.12;margin-top:2px;}
.tcard .d{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-top:4px;position:relative;max-width:26ch;}
.season{position:absolute;top:12px;right:12px;background:var(--coral-soft);color:var(--coral);font-size:10px;font-weight:800;border-radius:999px;padding:4px 10px;letter-spacing:.04em;}
.season.soon{background:var(--teal-soft);color:var(--teal);}

/* ---- gallery page ---- */
.phead{padding:44px 0 8px;}
.phead h1{font-family:'Playfair Display',serif;font-size:clamp(32px,4.2vw,46px);font-weight:600;letter-spacing:-.015em;line-height:1.06;margin-bottom:10px;}
.phead .sub{font-size:17px;color:var(--ink-soft);font-weight:600;max-width:56ch;}
.phead .sub b{color:var(--ink);}
.freeline{display:inline-flex;gap:8px;align-items:center;background:var(--leaf-soft);color:var(--leaf);font-size:12.5px;font-weight:800;border-radius:999px;padding:6px 14px;margin-top:14px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:22px 0 6px;}
.filters button{border:1.5px solid var(--line-strong);background:#fff;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:800;color:var(--ink-soft);}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.count{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--ink-soft);}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:18px 0 8px;}
.grid .tcard{min-height:112px;}
.tcard.featured{grid-column:1 / -1;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center;padding:24px 26px;border-color:var(--teal);box-shadow:0 12px 32px rgba(42,157,148,.13);}
.tcard.featured::before{background:var(--teal);top:20px;bottom:20px;}
.tcard.featured .wm{font-size:120px;right:-18px;bottom:-28px;opacity:.10;}
.f-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:4px;}
.tcard.featured .t{font-size:27px;}
.tcard.featured .d{font-size:14.5px;max-width:44ch;margin-top:6px;}
.f-chips{display:flex;gap:8px;flex-wrap:wrap;position:relative;}
.f-chip{background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:9px 13px;font-size:12px;font-weight:800;color:var(--ink-soft);}
.f-chip b{color:var(--ink);}
.f-chip.warn{color:var(--coral);border-color:var(--coral-soft);background:var(--coral-soft);}
.custom{margin:34px 0 64px;background:#FDF5E9;border:1.5px solid var(--line);border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.custom h3{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;margin-bottom:4px;}
.custom p{font-size:14px;font-weight:700;color:var(--ink-soft);max-width:52ch;}

/* ---- durable cards diagram (landing + how-it-works) ---- */
.threadwrap{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;margin-top:28px;}
.dcard{background:#fff;border:1.5px solid var(--line-strong);border-radius:18px;padding:18px 20px 19px 24px;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(43,58,66,.10);min-width:250px;}
.dcard::before{content:'';position:absolute;left:0;top:15px;bottom:15px;width:4px;border-radius:0 4px 4px 0;background:var(--teal);}
.dcard .wm{position:absolute;right:-8px;bottom:-14px;font-size:62px;opacity:.13;}
.dcard .r{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);}
.dcard .t{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;}
.dcard .s{font-size:12px;font-weight:700;color:var(--ink-soft);margin-top:3px;}
.threads{display:flex;flex-direction:column;gap:10px;}
.thread{display:flex;align-items:center;gap:12px;}
.thread .arrow{color:var(--ink-soft);font-weight:800;}
.chip-f{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:800;box-shadow:0 2px 8px rgba(43,58,66,.05);}
.thread .when{font-size:11.5px;font-weight:700;color:var(--ink-soft);}

/* ---- pricing minis (landing teaser) ---- */
.pstrip{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;max-width:760px;}
.pmini{background:#fff;border:1.5px solid var(--line-strong);border-radius:18px;padding:20px;}
.pmini.family{border-color:var(--coral);}
.pmini .name{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;}
.pmini .pr{font-family:'Playfair Display',serif;font-size:26px;font-weight:600;margin:4px 0 2px;}
.pmini .pr small{font-family:'Nunito',sans-serif;font-size:12.5px;font-weight:700;color:var(--ink-soft);}
.pmini p{font-size:13px;font-weight:700;color:var(--ink-soft);}
.oneline{font-size:14px;font-weight:700;color:var(--ink-soft);max-width:62ch;margin-top:20px;}
.oneline b{color:var(--ink);}

/* ---- privacy band ---- */
.privacy{background:var(--ink);color:#FFF9F0;border-radius:24px;padding:38px 40px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;}
.lockmark{font-size:44px;}
.privacy h2{color:#fff;margin-bottom:8px;font-size:clamp(22px,2.8vw,30px);}
.privacy p{font-size:15px;font-weight:600;color:rgba(255,249,240,.82);max-width:70ch;}
.privacy b{color:#fff;}

/* ---- final CTA + footer ---- */
.final{text-align:center;padding:64px 0 72px;}
.final h2{font-size:clamp(28px,3.8vw,42px);}
.final .sub{font-size:18px;color:var(--ink-soft);font-weight:600;margin:10px auto 26px;max-width:52ch;}
footer{border-top:1.5px solid var(--line);padding:30px 0 40px;}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;}
.foot a{font-size:13px;font-weight:700;color:var(--ink-soft);text-decoration:none;}
.foot a:hover{color:var(--ink);}
.foot .copy{font-size:13px;font-weight:700;color:var(--ink-soft);}

/* ================= KIT DETAIL PAGES ================= */
.khero{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:center;padding:46px 0 26px;}
.kcrumb{font-size:12.5px;font-weight:800;color:var(--ink-soft);margin-bottom:14px;}
.kcrumb a{text-decoration:none;color:var(--teal);}
.khero h1{font-family:'Playfair Display',serif;font-size:clamp(34px,4.4vw,50px);font-weight:600;line-height:1.05;letter-spacing:-.015em;margin-bottom:14px;}
.khero .sub{font-size:17.5px;color:var(--ink-soft);font-weight:600;max-width:46ch;margin-bottom:22px;}
.khero .sub b{color:var(--ink);}
.kfree{display:inline-flex;gap:8px;align-items:center;background:var(--leaf-soft);color:var(--leaf);font-size:12.5px;font-weight:800;border-radius:999px;padding:6px 14px;margin-top:14px;}

/* the kit phone: a focus hub rendered in CSS */
.kphone{width:352px;max-width:100%;background:var(--bg);border-radius:42px;border:1.5px solid var(--line-strong);box-shadow:0 0 0 9px var(--ink),0 0 0 11px #1c272d,0 26px 52px rgba(43,58,66,.30);overflow:hidden;position:relative;margin:0 auto;}
.kphone::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:112px;height:26px;background:#1c272d;border-radius:0 0 16px 16px;z-index:5;}
.kp-body{padding:34px 13px 18px;}
.kp-hero{border-radius:20px;padding:14px 15px 15px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--kc1),var(--kc2));box-shadow:0 10px 22px var(--ksh,rgba(43,58,66,.25));}
.kp-hero::after{content:'';position:absolute;right:-26px;top:-26px;width:118px;height:118px;border-radius:50%;background:rgba(255,255,255,.12);}
.kp-hero .tag{font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.92;position:relative;}
.kp-hero .t{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;line-height:1.1;margin-top:3px;position:relative;}
.kp-hero .m{font-size:11.5px;font-weight:700;opacity:.92;margin-top:5px;position:relative;}
.kp-label{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);opacity:.75;padding:13px 4px 7px;display:flex;align-items:center;gap:6px;}
.kp-label i{width:7px;height:7px;border-radius:50%;font-style:normal;background:var(--dot,var(--teal));}
.kp-tks{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.kp-tk{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:10px 11px;}
.kp-tk .l{font-size:8.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);}
.kp-tk .v{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;margin-top:2px;line-height:1;color:var(--tc,var(--ink));}
.kp-tk .v small{font-size:11px;font-weight:700;color:var(--ink-soft);font-family:'Nunito',sans-serif;}
.kp-tk .b{height:5px;border-radius:4px;background:#EEE9E0;margin-top:8px;overflow:hidden;}
.kp-tk .b span{display:block;height:100%;border-radius:4px;background:var(--tc,var(--teal));}
.kp-row{background:#fff;border:1.5px solid var(--line);border-radius:13px;padding:9px 11px;display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.kp-row .ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;background:var(--ib,#EAF6F4);}
.kp-row .tx{flex:1;min-width:0;}
.kp-row .tx b{font-size:12.5px;font-weight:800;display:block;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kp-row .tx s{font-size:10.5px;font-weight:600;color:var(--ink-soft);text-decoration:none;display:block;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kp-row .pill{font-size:9.5px;font-weight:800;padding:3px 8px;border-radius:8px;white-space:nowrap;flex-shrink:0;background:var(--paper);color:var(--ink-soft);}
.kp-row .pill.warn{background:var(--coral-soft);color:var(--coral);}
.kp-row .pill.ok{background:var(--leaf-soft);color:var(--leaf);}
.kp-cap{font-size:13px;font-weight:700;color:var(--ink-soft);text-align:center;max-width:40ch;margin:14px auto 0;}
.kp-cap b{color:var(--ink);}

/* inside tiles */
.inside{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px;}
.itile{background:#fff;border:1.5px solid var(--line);border-radius:15px;padding:14px 15px;display:flex;align-items:center;gap:11px;box-shadow:0 2px 8px rgba(43,58,66,.05);}
.itile .e{font-size:22px;}
.itile b{font-size:13.5px;font-weight:800;line-height:1.2;}
.itile s{display:block;font-size:10.5px;font-weight:700;color:var(--ink-soft);text-decoration:none;margin-top:1px;}

/* starter list cards */
.slists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;}
.slist{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:19px 20px;box-shadow:0 2px 9px rgba(43,58,66,.05);}
.slist .h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.slist .h b{font-family:'Playfair Display',serif;font-size:17.5px;font-weight:600;}
.kindchip{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--teal-soft);color:var(--teal);border-radius:999px;padding:4px 10px;flex-shrink:0;}
.slist ul{list-style:none;}
.slist li{display:flex;gap:10px;align-items:baseline;padding:6px 0;font-size:13.5px;font-weight:700;border-top:1.5px solid var(--line);}
.slist li:first-child{border-top:none;}
.slist li::before{content:'○';color:var(--ink-soft);font-weight:800;flex-shrink:0;}
.slist li.done{color:var(--ink-soft);}
.slist li.done::before{content:'✓';color:var(--leaf);}
.slist li .dt{margin-left:auto;font-size:11px;font-weight:800;color:var(--ink-soft);background:var(--paper);border-radius:8px;padding:2px 8px;flex-shrink:0;}
.slist li .dt.warn{color:var(--coral);background:var(--coral-soft);}
.slist .more{font-size:12px;font-weight:800;color:var(--ink-soft);padding-top:9px;}

/* kit prev/next */
.knav{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:10px 0 0;}
.knav .tcard .cat{color:var(--teal);}
.knav .tcard.next{text-align:right;padding-right:21px;padding-left:17px;}
.knav .tcard.next::before{left:auto;right:0;border-radius:4px 0 0 4px;}
.knav .tcard.next .wm{right:auto;left:-10px;}

/* ================= AUTH / ACCOUNT FLOW (scoped) ================= */
.auth .topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;}
.auth .topbar .aux{font-size:13.5px;font-weight:700;color:var(--ink-soft);text-decoration:none;}
.auth .steps{display:flex;gap:8px;justify-content:center;margin:8px 0 26px;}
.stepdot{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:8px;}
.stepdot::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--line-strong);}
.stepdot.done::before{background:var(--leaf);}
.stepdot.now{color:var(--ink);}
.stepdot.now::before{background:var(--coral);}
.stepdot+.stepdot{margin-left:10px;}
.auth .center{max-width:440px;margin:0 auto;padding:0 22px 60px;}
.auth .center.wide{max-width:880px;}
.auth h1{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-.01em;line-height:1.1;font-size:clamp(26px,3.6vw,34px);text-align:center;margin-bottom:8px;}
.auth .sub{text-align:center;color:var(--ink-soft);font-weight:600;font-size:15px;margin-bottom:26px;}
.auth .card{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 10px 30px rgba(43,58,66,.07);}
.auth .divider{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:12px;font-weight:800;margin:18px 0;}
.auth .divider::before,.auth .divider::after{content:'';flex:1;height:1.5px;background:var(--line);}
.auth label{display:block;font-size:12.5px;font-weight:800;margin:14px 0 6px;}
.auth input[type=email],.auth input[type=password],.auth input[type=text]{width:100%;border:1.5px solid var(--line-strong);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:600;background:#fff;color:var(--ink);}
.auth input:focus{outline:3px solid var(--teal-soft);border-color:var(--teal);}
.fine{font-size:12px;color:var(--ink-soft);font-weight:600;text-align:center;margin-top:16px;}
.fine a{font-weight:800;}
.below{text-align:center;font-size:13.5px;font-weight:700;color:var(--ink-soft);margin-top:20px;}
.below a{color:var(--teal);font-weight:800;}
.codes{display:flex;gap:9px;justify-content:center;margin:20px 0 6px;}
.codes input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:800;font-family:'Playfair Display',serif;}
.toggle{display:flex;justify-content:center;margin-bottom:24px;}
.toggle .pill{display:flex;background:#fff;border:1.5px solid var(--line-strong);border-radius:999px;padding:4px;}
.toggle button{border:none;background:transparent;font-size:13.5px;font-weight:800;padding:8px 18px;border-radius:999px;color:var(--ink-soft);}
.toggle button.on{background:var(--ink);color:#fff;}
.toggle .save{font-size:11px;font-weight:800;color:var(--leaf);margin-left:6px;}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
.plan{background:#fff;border:1.5px solid var(--line-strong);border-radius:22px;padding:26px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(43,58,66,.06);}
.plan.family{border-color:var(--coral);box-shadow:0 12px 34px rgba(240,106,74,.13);}
.plan .name{font-family:'Playfair Display',serif;font-size:22px;font-weight:600;}
.plan .for{font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:12px;}
.plan .price{font-family:'Playfair Display',serif;font-size:34px;font-weight:600;line-height:1;}
.plan .price small{font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;color:var(--ink-soft);}
.plan .per{font-size:12px;font-weight:700;color:var(--ink-soft);margin:4px 0 16px;min-height:16px;}
.plan ul{list-style:none;margin:0 0 20px;flex:1;}
.plan li{font-size:14px;font-weight:700;padding:7px 0;display:flex;gap:9px;align-items:flex-start;}
.plan li i{font-style:normal;color:var(--leaf);flex-shrink:0;}
.plan li.diff i{color:var(--coral);}
.plan .assure{font-size:12.5px;font-weight:800;color:var(--ink-soft);text-align:center;margin-top:10px;}
.auth .oneline{text-align:center;margin:24px auto 0;}
.skip{display:block;text-align:center;font-size:13px;font-weight:800;color:var(--ink-soft);margin-top:18px;text-decoration:underline;}
.stripebox{border:2px dashed var(--line-strong);border-radius:20px;padding:34px;text-align:center;background:rgba(255,255,255,.6);}
.stripebox .tag{display:inline-block;background:#635bff;color:#fff;font-weight:800;font-size:12px;border-radius:8px;padding:5px 11px;margin-bottom:12px;}
.planchip{display:inline-flex;gap:8px;align-items:center;background:var(--paper);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:800;margin:10px 0 18px;}
.note-sm{font-size:12px;color:var(--ink-soft);font-weight:600;max-width:46ch;margin:14px auto 0;}
.checkring{width:64px;height:64px;border-radius:50%;background:var(--leaf-soft);color:var(--leaf);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px;}
.handoff{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:8px;}
.playbadge{display:inline-flex;align-items:center;gap:10px;background:#1c272d;color:#fff;border-radius:12px;padding:11px 18px;font-weight:800;font-size:14px;text-decoration:none;}
.playbadge span{display:block;font-size:9.5px;font-weight:700;opacity:.75;letter-spacing:.06em;text-transform:uppercase;}
.qr{width:92px;height:92px;border-radius:12px;border:1.5px solid var(--line-strong);background:
 repeating-linear-gradient(0deg,#2B3A42 0 6px,transparent 6px 12px),
 repeating-linear-gradient(90deg,#2B3A42 0 6px,#FFF9F0 6px 12px);opacity:.85;}
.continuity{background:var(--paper);border:1.5px solid var(--line);border-radius:15px;padding:15px 17px;font-size:13.5px;font-weight:700;color:var(--ink-soft);margin-top:20px;}
.continuity b{color:var(--ink);}
.nextlist{margin:18px 0 0;list-style:none;counter-reset:n;}
.nextlist li{counter-increment:n;display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:14.5px;font-weight:700;}
.nextlist li::before{content:counter(n);width:26px;height:26px;border-radius:9px;background:var(--ink);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.emailbtn{margin-top:16px;}
.acct-wrap{max-width:640px;margin:0 auto;padding:0 22px 60px;}
.acct-card{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:0 4px 14px rgba(43,58,66,.05);}
.acct-card h3{font-family:'Playfair Display',serif;font-size:18px;font-weight:600;margin-bottom:10px;}
.rowline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;font-size:14.5px;font-weight:700;}
.rowline .mut{color:var(--ink-soft);font-weight:600;}
.tag-free{background:var(--paper);color:var(--ink-soft);font-size:11px;font-weight:800;border-radius:999px;padding:4px 11px;}
.tag-fam{background:var(--coral-soft);color:var(--coral);font-size:11px;font-weight:800;border-radius:999px;padding:4px 11px;}
.okline{color:var(--leaf);font-weight:800;}

/* ---- prose pages (legal, support) ---- */
.prose{max-width:720px;padding:44px 0 70px;}
.prose h1{font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,42px);font-weight:600;letter-spacing:-.015em;line-height:1.08;margin-bottom:10px;}
.prose .meta{font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:26px;}
.prose h2{font-size:22px;margin:30px 0 8px;}
.prose h3{font-family:'Playfair Display',serif;font-size:17.5px;font-weight:600;margin:22px 0 6px;}
.prose p,.prose li{font-size:15px;font-weight:600;color:var(--ink-soft);}
.prose p{margin-bottom:12px;}
.prose b{color:var(--ink);}
.prose ul{margin:0 0 14px 20px;}
.prose li{margin-bottom:6px;}
.draftnote{background:var(--coral-soft);border:1.5px solid rgba(240,106,74,.3);color:var(--coral);border-radius:14px;padding:13px 17px;font-size:13px;font-weight:800;margin-bottom:26px;}

/* ---- responsive ---- */
@media (max-width:920px){
  .hero{grid-template-columns:1fr;gap:34px;padding:34px 0 20px;}
  .steps3{grid-template-columns:1fr;}
  .tgrid{grid-template-columns:1fr 1fr;}
  .grid{grid-template-columns:1fr 1fr;}
  .tcard.featured{grid-template-columns:1fr;}
  .threadwrap{grid-template-columns:1fr;gap:20px;}
  .pstrip{grid-template-columns:1fr;}
  .privacy{grid-template-columns:1fr;padding:30px 26px;gap:12px;}
  .nav-links{display:none;}
  .khero{grid-template-columns:1fr;gap:30px;}
  .khero .kvisual{order:-1;}
  .inside{grid-template-columns:1fr 1fr;}
  .slists{grid-template-columns:1fr;}
  .plans{grid-template-columns:1fr;}
  .handoff{grid-template-columns:1fr;}
  .qr{display:none;}
}
@media (max-width:560px){.tgrid{grid-template-columns:1fr;}.grid{grid-template-columns:1fr;}.count{width:100%;margin-left:0;}.inside{grid-template-columns:1fr;}.knav{grid-template-columns:1fr;}}
