/* ==========================================================================
   Just One Thought — marketing layer ("v2")
   Loaded only on public/marketing pages, after styles.css.
   Self-hosted: no external fonts, no CDN, no images beyond the local logo.
   All new class names are prefixed so nothing here can affect the app, auth,
   export or offline screens.
   ========================================================================== */

:root{
  --c-ink:#101f10;
  --c-ink-soft:#2a3a2b;
  --c-muted:#5d6d5f;
  --c-muted-2:#78877a;
  --c-paper:#fffafd;
  --c-paper-2:#fbf4f9;
  --c-card:#ffffff;
  --c-green:#003301;
  --c-green-2:#0a4a0e;
  --c-green-3:#125c17;
  --c-pink:#ec86cb;
  --c-pink-deep:#a82b7a;
  --c-pink-soft:#fdeef7;
  --c-line:#f0dde9;
  --c-line-strong:#e6cddd;
  --c-gold:#c9a86a;
  --shadow-xs:0 1px 2px rgba(16,31,16,.05);
  --shadow-sm:0 2px 10px rgba(16,31,16,.05),0 1px 2px rgba(16,31,16,.04);
  --shadow-md:0 18px 40px -22px rgba(0,51,1,.28),0 2px 8px rgba(16,31,16,.04);
  --shadow-lg:0 40px 80px -40px rgba(0,51,1,.35),0 8px 24px -16px rgba(16,31,16,.12);
  --r-sm:10px;
  --r-md:14px;
  --r-lg:20px;
  --r-xl:28px;
  --max:1180px;
  --gutter:clamp(18px,4vw,40px);
  --serif-2:Georgia,'Iowan Old Style','Times New Roman',serif;
}

/* ---------- base for marketing pages ---------- */
body.marketing{
  background:var(--c-paper);
  color:var(--c-ink);
  font-size:15px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
body.marketing ::selection{background:#f7d3ea;color:#3a0a2a}
body.marketing a:not(.btn){color:inherit}
body.marketing a:not(.btn):hover{color:var(--c-pink-deep)}
body.marketing p{color:var(--c-muted)}
body.marketing h1,body.marketing h2,body.marketing h3{color:var(--c-ink)}
body.marketing em{font-style:italic;color:var(--c-pink-deep)}
body.marketing .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);width:100%}
body.marketing .band{padding:clamp(58px,7.5vw,104px) 0;position:relative}
body.marketing .band.tight{padding:clamp(38px,5vw,64px) 0}
body.marketing .band.surface{background:linear-gradient(180deg,#fdf6fa,#fbf2f8)}
body.marketing .band.dark{background:radial-gradient(120% 140% at 15% 0%,#0a4a0e 0%,#003301 55%,#001d01 100%);color:#e9f2e9}
body.marketing .band.dark h2,body.marketing .band.dark h3,body.marketing .band.dark p{color:#e9f2e9}
body.marketing .band.dark p{color:#c4d8c4}
body.marketing .center{text-align:center}
body.marketing .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.marketing .skip{position:absolute;left:-9999px;top:0;z-index:200;background:#fff;padding:12px 18px;border-radius:0 0 10px 0;box-shadow:var(--shadow-md)}
body.marketing .skip:focus{left:0}

/* ---------- shared atoms ---------- */
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--c-pink-deep);font-weight:600;margin:0 0 16px}
.kicker:before{content:'';width:22px;height:1px;background:currentColor;opacity:.5}
.kicker.plain:before{display:none}
.kicker.on-dark{color:var(--c-pink)}
.display{font-family:var(--serif-2);font-weight:400;letter-spacing:-.035em;line-height:1.06;font-size:clamp(34px,4.6vw,60px);margin:0 0 18px}
.display-sm{font-family:var(--serif-2);font-weight:400;letter-spacing:-.03em;line-height:1.12;font-size:clamp(27px,3vw,38px);margin:0 0 14px}
.lede{font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.8;color:var(--c-muted);max-width:56ch}
.lede.center{margin-left:auto;margin-right:auto;text-align:center}
.tiny{font-size:11.5px;line-height:1.7;color:var(--c-muted-2)}
.rule{height:1px;background:var(--c-line);border:0;margin:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;background:linear-gradient(160deg,var(--c-green-2),var(--c-green));color:#fdf9fc;border:1px solid var(--c-green);font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 14px 28px -14px rgba(0,51,1,.55);background:linear-gradient(160deg,var(--c-green-3),var(--c-green))}
.btn .arw{font-size:11px;opacity:.75;transition:transform .22s ease}
.btn:hover .arw{transform:translate(2px,-2px)}
.btn-ghost{background:#fff;color:var(--c-green);border:1px solid var(--c-line-strong);box-shadow:var(--shadow-xs)}
.btn-ghost:hover{background:var(--c-pink-soft);border-color:#edc8de;color:var(--c-green)}
.btn-pink{background:linear-gradient(160deg,#f2a3d5,var(--c-pink));border-color:#e57cc0;color:#34102a;box-shadow:0 10px 24px -14px rgba(168,43,122,.6)}
.btn-pink:hover{background:linear-gradient(160deg,#f7b7e0,#ef92d0);color:#2c0d24}
.btn-lg{padding:16px 26px;font-size:13.5px}
.btn-sm{padding:10px 16px;font-size:12px}
/* Button fills are darker/lighter than body text, so their label colour must
   beat the generic `body.marketing a{color:inherit}` rule. */
body.marketing .btn{color:#fdf9fc}
body.marketing .btn:hover{color:#fff}
body.marketing .btn-ghost{color:var(--c-green)}
body.marketing .btn-ghost:hover{color:var(--c-green)}
body.marketing .btn-pink{color:#34102a}
body.marketing .btn-pink:hover{color:#2c0d24}
body.marketing .band.dark .btn{color:#fdf9fc}
/* `body.marketing a:not(.btn)` has specificity (0,2,2); these must match it. */
body.marketing a.link-arrow{color:var(--c-green)}
body.marketing a.link-arrow:hover{color:var(--c-pink-deep);border-color:var(--c-pink)}
body.marketing a.link-arrow.u-link-light{color:#fff;border-color:rgba(255,255,255,.32)}
body.marketing a.link-arrow.u-link-light:hover{color:var(--c-pink)}
body.marketing .chips a:not(.btn){color:var(--c-ink-soft)}
body.marketing .chips a:not(.btn):hover{color:var(--c-pink-deep)}
.link-arrow{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--c-green);border-bottom:1px solid rgba(0,51,1,.18);padding-bottom:2px;transition:gap .2s ease,border-color .2s}
.link-arrow:hover{gap:11px;border-color:var(--c-pink);color:var(--c-pink-deep)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;border:1px solid var(--c-line);background:#fff;font-size:11px;color:var(--c-ink-soft);box-shadow:var(--shadow-xs)}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--c-green-3);box-shadow:0 0 0 3px rgba(18,92,23,.12)}
.card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}

/* ---------- masthead / navigation ---------- */
.mast{position:sticky;top:0;z-index:60;background:rgba(255,250,253,.82);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(240,221,233,.9);transition:box-shadow .25s ease,background .25s ease}
.mast.stuck{box-shadow:0 10px 30px -22px rgba(0,51,1,.45);background:rgba(255,250,253,.94)}
.mast-inner{max-width:var(--max);margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:22px}
.mast .brand-logo{height:44px;width:auto}
.mast-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.mast-brand span{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted-2);padding-left:12px;border-left:1px solid var(--c-line-strong);line-height:1.5;max-width:104px}
.mast-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.mast-nav a{font-size:12.5px;color:var(--c-ink-soft);padding:9px 12px;border-radius:8px;transition:background .18s ease,color .18s ease}
.mast-nav a:hover{background:#fdf0f7;color:var(--c-pink-deep)}
.mast-nav a[aria-current="page"]{color:var(--c-green);background:#f8eff5;font-weight:600}
.mast-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
.mast-cta .login{font-size:12.5px;color:var(--c-ink-soft);padding:9px 4px}
.mast-more{display:none}
.mast-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;padding:9px 14px;border:1px solid var(--c-line-strong);border-radius:999px;background:#fff}
.mast-more summary::-webkit-details-marker{display:none}
.mast-more summary:after{content:'≡';font-size:14px;line-height:1;color:var(--c-pink-deep)}

/* ---------- hero ---------- */
.hero-v2{position:relative;overflow:hidden;padding:clamp(38px,5vw,68px) 0 clamp(54px,6vw,84px)}
.hero-v2:before{content:'';position:absolute;inset:-20% -10% auto auto;width:min(760px,80vw);height:min(760px,80vw);background:radial-gradient(circle at 60% 40%,rgba(236,134,203,.20),rgba(236,134,203,0) 62%);pointer-events:none}
.hero-v2:after{content:'';position:absolute;inset:auto auto -30% -14%;width:min(620px,72vw);height:min(620px,72vw);background:radial-gradient(circle at 50% 50%,rgba(10,74,14,.13),rgba(10,74,14,0) 65%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,62px);align-items:center}
.hero-copy .display{font-size:clamp(38px,5.2vw,68px);margin-bottom:20px}
.hero-copy .lede{max-width:44ch;font-size:clamp(15px,1.25vw,17px)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:28px 0 14px}
.hero-trust{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0 0;padding:0;list-style:none;font-size:11.5px;color:var(--c-muted)}
.hero-trust li{display:flex;align-items:center;gap:7px}
.hero-trust li:before{content:'';width:14px;height:14px;border-radius:50%;background:#eef5ee url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.2l2.2 2.2 4.4-4.6' fill='none' stroke='%230a4a0e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px no-repeat;flex-shrink:0}

/* layered journal artwork (pure CSS) */
.hero-art{position:relative;min-height:clamp(360px,42vw,470px);display:grid;place-items:center;isolation:isolate}
.art-halo{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fde9f5,#f8f1f8 60%,#eff5ef);z-index:-1}
.sheet{position:absolute;background:#fff;border:1px solid #f7ecf3;border-radius:6px;box-shadow:var(--shadow-lg)}
.sheet-back{width:min(300px,74%);height:min(340px,84%);transform:rotate(-8deg) translate(-6%,3%);background:linear-gradient(160deg,#fffdfe,#fdf4f9)}
.sheet-front{width:min(312px,78%);transform:rotate(3.5deg);padding:22px 24px 20px;animation:float-sheet 9s ease-in-out infinite}
@keyframes float-sheet{0%,100%{transform:rotate(3.5deg) translateY(0)}50%{transform:rotate(2.2deg) translateY(-8px)}}
.sheet-top{display:flex;align-items:center;justify-content:space-between;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted-2);padding-bottom:12px;border-bottom:1px solid var(--c-line);margin-bottom:16px}
.sheet-top .sb{font-family:var(--serif-2);font-style:italic;font-size:12px;letter-spacing:0;text-transform:none;color:var(--c-green)}
.sheet-kicker{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-pink-deep);margin:0 0 8px}
.sheet-title{font-family:var(--serif-2);font-size:24px;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;color:var(--c-ink)}
.sheet-text{font-family:var(--serif-2);font-size:12px;line-height:1.85;color:#4e6350;margin:0 0 10px}
.sheet-moods{display:flex;gap:5px;margin-top:14px}
.sheet-moods span{font-size:8px;padding:4px 8px;border-radius:999px;border:1px solid var(--c-line);color:var(--c-muted-2)}
.sheet-moods span.on{background:#0d4410;border-color:#0d4410;color:#fff}
.float-chip{position:absolute;background:#fff;border:1px solid var(--c-line);border-radius:14px;box-shadow:var(--shadow-md);padding:11px 15px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--c-ink-soft);z-index:3}
.float-chip strong{font-family:var(--serif-2);font-size:19px;font-weight:400;color:var(--c-green);line-height:1}
.float-chip small{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted-2)}
.chip-streak{left:-6%;bottom:12%}
.chip-priv{right:-4%;top:8%}
.chip-priv .lock{width:22px;height:22px;border-radius:50%;background:var(--c-pink-soft);color:var(--c-pink-deep);display:grid;place-items:center;font-size:11px}
.chip-mood{right:2%;bottom:-2%;padding:10px 13px}
.chip-mood .bars{display:flex;align-items:flex-end;gap:3px;height:22px}
.chip-mood .bars i{width:4px;border-radius:2px;background:var(--c-pink);display:block}
.chip-mood .bars i:nth-child(1){height:35%}
.chip-mood .bars i:nth-child(2){height:60%}
.chip-mood .bars i:nth-child(3){height:45%}
.chip-mood .bars i:nth-child(4){height:78%}
.chip-mood .bars i:nth-child(5){height:100%;background:var(--c-green-3)}

/* ---------- trust strip ---------- */
.trust-strip{background:linear-gradient(90deg,#00280a,#003301 45%,#00280a);color:#d7e6d7;border-top:1px solid #0b4a0e;border-bottom:1px solid #0b4a0e}
.trust-inner{max-width:var(--max);margin:0 auto;padding:16px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 26px;font-size:11.5px}
.trust-inner>span{display:inline-flex;align-items:center;gap:9px;color:#c9dcc9;letter-spacing:.02em}
.trust-inner>span:before{content:'◇';color:var(--c-pink);font-size:10px}
.trust-lead{font-family:var(--serif-2);font-size:15px;color:#fff!important;letter-spacing:0}
.trust-lead:before{display:none}
.trust-lead strong{color:var(--c-pink);font-weight:400}

/* ---------- section heading ---------- */
.head{max-width:620px;margin:0 0 clamp(28px,3.5vw,46px)}
.head.center{margin-left:auto;margin-right:auto;text-align:center}
.head.center .kicker{justify-content:center}
.head .display-sm{margin-bottom:14px}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(26px,3vw,40px)}
.head-row .head{margin-bottom:0}

/* ---------- feature cards ---------- */
.grid{display:grid;gap:clamp(14px,1.8vw,22px)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.feat{position:relative;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:26px 24px 24px;box-shadow:var(--shadow-xs);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden}
.feat:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--c-pink),#f8c6e5 45%,transparent);opacity:0;transition:opacity .25s ease}
.feat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--c-line-strong)}
.feat:hover:before{opacity:1}
.feat .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,#fdeef7,#f7e6f1);color:var(--c-green);font-size:17px;margin-bottom:16px;border:1px solid #f6e2ef}
.feat h3{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}
.feat p{font-size:12.8px;line-height:1.72;margin:0}
.feat .num{position:absolute;top:18px;right:20px;font-family:var(--serif-2);font-size:13px;color:#e3cfdd}
.feat .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.feat .tags span{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted-2);background:#faf3f8;border:1px solid var(--c-line);border-radius:999px;padding:4px 8px}

/* ---------- product tour ---------- */
.tour{display:grid;gap:clamp(34px,5vw,74px)}
.tour-row{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(26px,4vw,56px);align-items:center}
.tour-row.flip .tour-copy{order:2}
.tour-copy h3{font-family:var(--serif-2);font-size:clamp(24px,2.6vw,32px);letter-spacing:-.025em;margin:0 0 12px;font-weight:400}
.tour-copy p{font-size:13.5px;line-height:1.8;margin:0 0 16px}
.tour-list{list-style:none;padding:0;margin:0}
.tour-list li{position:relative;padding:7px 0 7px 24px;font-size:12.8px;color:var(--c-ink-soft)}
.tour-list li:before{content:'';position:absolute;left:0;top:14px;width:12px;height:12px;border-radius:50%;background:#eef5ee url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.2l2.2 2.2 4.4-4.6' fill='none' stroke='%230a4a0e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/8px no-repeat}

.mock{position:relative;background:linear-gradient(165deg,#fff,#fdf7fb);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:14px;overflow:hidden}
.mock-top{display:flex;align-items:center;gap:6px;padding:2px 4px 12px;border-bottom:1px solid var(--c-line);margin-bottom:14px}
.mock-top i{width:7px;height:7px;border-radius:50%;background:#eddae6;display:block}
.mock-top i:first-child{background:#f0c2dd}
.mock-top em{margin-left:8px;font-style:normal;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted-2)}
.mock-body{display:grid;grid-template-columns:118px 1fr;gap:12px;min-height:212px}
.mock-side{border-right:1px solid var(--c-line);padding-right:10px}
.mock-side b{display:block;height:6px;border-radius:4px;background:#f1e2eb;margin-bottom:10px}
.mock-side b.on{background:linear-gradient(90deg,#f7d6e9,#fbe6f2);height:8px}
.mock-side b.s{width:64%}
.mock-main{display:flex;flex-direction:column;gap:10px}
.mock-card{background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:11px 12px;box-shadow:var(--shadow-xs)}
.mock-card .l{display:block;height:6px;border-radius:4px;background:#f3e6ee;margin-bottom:7px}
.mock-card .l.t{background:#e8dfe4;height:8px;width:58%}
.mock-card .l.w80{width:80%}
.mock-card .l.w60{width:60%}
.mock-card .l:last-child{margin-bottom:0}
.mock-tag{display:inline-flex;align-items:center;gap:5px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-pink-deep);background:var(--c-pink-soft);border-radius:999px;padding:3px 8px}
.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mock-stats div{background:#fff;border:1px solid var(--c-line);border-radius:9px;padding:9px;text-align:center}
.mock-stats strong{display:block;font-family:var(--serif-2);font-size:17px;font-weight:400;color:var(--c-green);line-height:1.1}
.mock-stats small{font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted-2)}
.spark{display:flex;align-items:flex-end;gap:7px;height:112px;background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:12px}
.spark i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#f6b8e0,var(--c-pink));display:block}
.spark i:nth-child(1){height:34%}
.spark i:nth-child(2){height:52%}
.spark i:nth-child(3){height:44%}
.spark i:nth-child(4){height:66%}
.spark i:nth-child(5){height:58%}
.spark i:nth-child(6){height:80%}
.spark i:nth-child(7){height:95%;background:linear-gradient(180deg,#2a8b31,#0a4a0e)}
.mock-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:11px}
.mock-cal span{aspect-ratio:1;display:grid;place-items:center;font-size:8.5px;color:var(--c-muted-2);border-radius:50%}
.mock-cal span.h{background:var(--c-pink);color:#3a0a2a;font-weight:600}
.mock-cal span.t{outline:1.5px solid var(--c-green-3);outline-offset:-1.5px;color:var(--c-green);font-weight:600}
.mock-editor{background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:14px;flex:1}
.mock-editor .h{font-family:var(--serif-2);font-size:15px;color:var(--c-ink);margin-bottom:8px;letter-spacing:-.01em}
.mock-editor .l{display:block;height:5px;border-radius:3px;background:#f3e6ee;margin-bottom:7px}
.mock-editor .l.s{width:72%}
.mock-editor .l.xs{width:45%}
.mock-editor .cursor{display:inline-block;width:1.5px;height:11px;background:var(--c-pink-deep);vertical-align:-1px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.mock-toolbar{display:flex;gap:5px;margin-bottom:9px}
.mock-toolbar span{font-size:8px;color:var(--c-muted-2);border:1px solid var(--c-line);border-radius:5px;padding:2px 5px}

/* ---------- week timeline ---------- */
.week{border:1px solid var(--c-line);border-radius:var(--r-lg);background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}
.week-row{display:grid;grid-template-columns:74px 1fr auto;gap:16px;align-items:center;padding:15px clamp(16px,2.4vw,26px);border-top:1px solid var(--c-line)}
.week-row:first-child{border-top:0}
.week-row .day{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-pink-deep);font-weight:600}
.week-row .what{font-size:12.8px;color:var(--c-ink-soft);line-height:1.6}
.week-row .what strong{color:var(--c-ink);font-weight:600}
.week-row .mins{font-size:10.5px;color:var(--c-muted-2);white-space:nowrap}
.week-row:nth-child(even){background:#fdf8fb}

/* ---------- prompt cards ---------- */
.prompts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prompt-card{position:relative;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);padding:22px 20px 18px;box-shadow:var(--shadow-xs);transition:transform .22s ease,box-shadow .22s ease}
.prompt-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.prompt-card p{font-family:var(--serif-2);font-size:15px;line-height:1.55;color:var(--c-ink);margin:0 0 14px}
.prompt-card .cat{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted-2);display:flex;align-items:center;gap:7px}
.prompt-card .cat:before{content:'✎';color:var(--c-pink-deep);font-size:10px}
.prompt-card .qmark{position:absolute;top:8px;right:14px;font-family:var(--serif-2);font-size:34px;color:#f4e2ec;line-height:1}

/* ---------- insight band ---------- */
.insight-card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px);align-items:center;border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);background:radial-gradient(130% 130% at 12% 0%,#0b4a0e,#003301 58%,#001c01);color:#eaf2ea;box-shadow:0 40px 80px -50px rgba(0,51,1,.8)}
.insight-card h2{color:#fff;font-family:var(--serif-2);font-weight:400;font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;line-height:1.14;margin:0 0 14px}
.insight-card p{color:#c3d8c3;font-size:13.2px;line-height:1.78;margin:0 0 18px}
.insight-card .kicker{color:var(--c-pink)}
.insight-card em{color:var(--c-pink)}
.insight-card .btn{background:linear-gradient(160deg,#f2a3d5,var(--c-pink));border-color:#e57cc0;color:#34102a}
.insight-card .btn:hover{background:linear-gradient(160deg,#f7b7e0,#ef92d0);color:#2c0d24}
.insight-chart{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:18px}
.insight-chart .rows{display:flex;align-items:flex-end;gap:8px;height:150px}
.insight-chart .rows i{flex:1;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#f7bce1,#e07bbd);display:block;position:relative}
.insight-chart .rows i:nth-child(1){height:30%}
.insight-chart .rows i:nth-child(2){height:48%}
.insight-chart .rows i:nth-child(3){height:40%}
.insight-chart .rows i:nth-child(4){height:62%}
.insight-chart .rows i:nth-child(5){height:55%}
.insight-chart .rows i:nth-child(6){height:76%}
.insight-chart .rows i:nth-child(7){height:88%;background:linear-gradient(180deg,#8ed89a,#3f9d4a)}
.insight-chart .rows i:nth-child(8){height:70%}
.insight-chart .axis{display:flex;justify-content:space-between;margin-top:9px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#9fbe9f}
.insight-chart .legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:9.5px;color:#c3d8c3}
.insight-chart .legend span{display:inline-flex;align-items:center;gap:5px}
.insight-chart .legend span:before{content:'';width:7px;height:7px;border-radius:2px;background:var(--c-pink)}

/* ---------- entry preview cards ---------- */
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.entry-paper{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:24px 22px;box-shadow:var(--shadow-xs);transition:transform .25s ease,box-shadow .25s ease}
.entry-paper:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.entry-paper .meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted-2);margin-bottom:12px}
.entry-paper h3{font-family:var(--serif-2);font-size:19px;font-weight:400;letter-spacing:-.02em;margin:0 0 9px;color:var(--c-ink)}
.entry-paper p{font-family:var(--serif-2);font-size:12.3px;line-height:1.85;color:#4e6350;margin:0 0 16px}
.entry-paper footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--c-muted-2);border-top:1px solid var(--c-line);padding-top:12px}
.mood-tag{display:inline-flex;align-items:center;gap:5px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;background:#f2f8f2;color:var(--c-green-2);border-radius:999px;padding:4px 9px}

/* ---------- quotes ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.quote-card{margin:0;background:linear-gradient(180deg,#fff,#fdf7fb);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:26px 24px 22px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column}
.quote-card p{font-family:var(--serif-2);font-size:15px;line-height:1.62;color:var(--c-ink);margin:0 0 18px}
.quote-card p:before{content:'“';display:block;font-size:34px;line-height:.6;color:#ecc2dd;margin-bottom:6px}
.quote-card cite{font-style:normal;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--c-pink-deep);margin-top:auto}
.quote-card cite span{display:block;letter-spacing:.04em;text-transform:none;color:var(--c-muted-2);font-size:10.5px;margin-top:3px}

/* ---------- comparison ---------- */
.compare-wrap{overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}
table.compare{width:100%;border-collapse:collapse;min-width:620px;font-size:12.5px}
table.compare th,table.compare td{padding:14px 18px;text-align:left;border-top:1px solid var(--c-line);vertical-align:middle}
table.compare thead th{border-top:0;background:#fdf7fb;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--c-muted);font-weight:600}
table.compare thead th.own{background:linear-gradient(180deg,#0a4a0e,#003301);color:#fff}
table.compare td:first-child{color:var(--c-ink-soft);font-weight:500;width:34%}
table.compare td{color:var(--c-muted)}
table.compare td.own{background:#fcf6fa;color:var(--c-ink);font-weight:500}
table.compare .yes{color:var(--c-green-2);font-weight:700}
table.compare .no{color:#c3ccc4}
table.compare tbody tr:hover td{background:#fdf9fc}
table.compare tbody tr:hover td.own{background:#fbf0f7}

/* ---------- plans ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-xl);padding:30px 26px;box-shadow:var(--shadow-xs);transition:transform .25s ease,box-shadow .25s ease}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.plan .badge{position:absolute;top:-11px;left:26px;background:linear-gradient(120deg,#f2a3d5,var(--c-pink));color:#34102a;font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:5px 11px;border-radius:999px;box-shadow:var(--shadow-sm)}
.plan .p-kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--c-muted-2);margin:0 0 10px}
.plan h3{font-family:var(--serif-2);font-weight:400;font-size:24px;letter-spacing:-.02em;margin:0 0 6px}
.plan .amount{font-family:var(--serif-2);font-size:44px;line-height:1;letter-spacing:-.04em;color:var(--c-green);margin:10px 0 4px}
.plan .amount span{font-family:var(--sans);font-size:11.5px;letter-spacing:.04em;color:var(--c-muted-2);margin-left:5px}
.plan .p-note{font-size:12px;color:var(--c-muted);margin:0 0 18px;line-height:1.6}
.plan ul{list-style:none;padding:18px 0 0;margin:0 0 22px;border-top:1px solid var(--c-line);flex:1}
.plan li{position:relative;padding:6px 0 6px 22px;font-size:12.4px;color:var(--c-ink-soft)}
.plan li:before{content:'✓';position:absolute;left:0;top:6px;color:var(--c-green-2);font-size:11px;font-weight:700}
.plan .btn{width:100%}
.plan.featured{background:radial-gradient(120% 120% at 85% 0%,#0d5412,#003301 62%,#001d01);border-color:#0a4a0e;color:#e9f2e9;box-shadow:0 40px 80px -46px rgba(0,51,1,.75)}
.plan.featured h3,.plan.featured .amount{color:#fff}
.plan.featured .p-kicker{color:#a9c7a9}
.plan.featured .amount span{color:#a9c7a9}
.plan.featured .p-note{color:#c3d8c3}
.plan.featured ul{border-color:rgba(255,255,255,.16)}
.plan.featured li{color:#dceadc}
.plan.featured li:before{color:var(--c-pink)}

/* ---------- faq ---------- */
.faq2{max-width:860px;margin:0 auto;border-top:1px solid var(--c-line)}
.faq2 details{border-bottom:1px solid var(--c-line)}
.faq2 summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;font-size:14.5px;font-weight:600;color:var(--c-ink);letter-spacing:-.005em}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary:after{content:'+';position:absolute;right:8px;top:16px;font-size:20px;font-weight:300;color:var(--c-pink-deep);transition:transform .2s ease}
.faq2 details[open] summary:after{content:'–'}
.faq2 details p{margin:0 0 20px;font-size:13.2px;line-height:1.8;padding-right:44px;color:var(--c-muted)}
.faq2 details[open] summary{color:var(--c-green)}
.faq-group-title{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--c-pink-deep);font-weight:700;margin:38px 0 8px}
.faq-group-title:first-child{margin-top:0}

/* ---------- cta band ---------- */
.cta{position:relative;overflow:hidden;text-align:center;border-radius:var(--r-xl);padding:clamp(38px,5.5vw,74px) clamp(22px,4vw,60px);background:radial-gradient(120% 140% at 50% 0%,#0c5111,#003301 60%,#001a01);color:#fff;box-shadow:0 50px 90px -60px rgba(0,51,1,.9)}
.cta:before{content:'';position:absolute;inset:auto auto -55% 50%;transform:translateX(-50%);width:min(620px,90%);aspect-ratio:1;background:radial-gradient(circle,rgba(236,134,203,.22),transparent 62%);pointer-events:none}
.cta h2{position:relative;font-family:var(--serif-2);font-weight:400;font-size:clamp(30px,4vw,50px);letter-spacing:-.035em;line-height:1.08;margin:0 0 16px;color:#fff}
.cta p{position:relative;color:#c9dcc9;font-size:13.5px;max-width:44ch;margin:0 auto 26px}
.cta .btn{position:relative}
.cta .kicker{color:var(--c-pink);position:relative}
.cta .fine{margin-top:18px;color:#9fbf9f;font-size:11px}

/* ---------- footer ---------- */
.foot{background:linear-gradient(180deg,#00280a,#001c01);color:#c6dbc6;padding:clamp(44px,5vw,66px) 0 26px;border-top:1px solid #0b4a0e}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(22px,3vw,44px)}
.foot-brand .brand-logo{display:block;height:56px;width:auto;border-radius:10px;background:#fff;padding:7px 12px;margin-bottom:16px}
.foot-brand p{color:#a8c4a8;font-size:12.5px;line-height:1.75;margin:0 0 18px;max-width:32ch}
.foot h4{color:#fff;font-size:10px;letter-spacing:.17em;text-transform:uppercase;margin:4px 0 14px;font-weight:600}
.foot-col a{display:block;font-size:12.5px;color:#b9d1b9;padding:5px 0;transition:color .18s}
.foot-col a:hover{color:var(--c-pink)}
.foot-bottom{max-width:var(--max);margin:clamp(30px,3.5vw,44px) auto 0;padding:20px var(--gutter) 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between;font-size:11px;color:#8fae8f}
.foot-bottom nav{display:flex;flex-wrap:wrap;gap:16px}
.foot-bottom a:hover{color:var(--c-pink)}
.foot-seal{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9fbf9f}
.foot-seal:before{content:'◇';color:var(--c-pink)}

/* ---------- inner page hero ---------- */
.page-head-v2{position:relative;overflow:hidden;padding:clamp(34px,4.6vw,62px) 0 clamp(30px,3.6vw,46px);text-align:center}
.page-head-v2:before{content:'';position:absolute;inset:-40% 50% auto auto;transform:translateX(50%);width:min(820px,110vw);aspect-ratio:1;background:radial-gradient(circle,rgba(236,134,203,.16),transparent 60%);pointer-events:none}
.page-head-v2 .display{max-width:16ch;margin:0 auto 18px}
.page-head-v2 .lede{margin:0 auto 26px}
.crumbs{display:flex;justify-content:center;gap:8px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted-2);margin-bottom:16px}
.crumbs a:hover{color:var(--c-pink-deep)}
.crumbs span{opacity:.5}

/* prose blocks */
.prose{max-width:66ch}
.prose h2{font-family:var(--serif-2);font-weight:400;font-size:clamp(23px,2.4vw,29px);letter-spacing:-.02em;margin:0 0 12px}
.prose h3{font-family:var(--serif-2);font-weight:400;font-size:19px;margin:24px 0 8px}
.prose p{font-size:14px;line-height:1.85;margin:0 0 16px}
.prose p.drop:first-letter{float:left;font-family:var(--serif-2);font-size:52px;line-height:.82;padding:6px 10px 0 0;color:var(--c-pink-deep)}

/* principles / measures */
.measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.measure{border-left:2px solid var(--c-pink);padding:4px 0 4px 20px}
.measure h3{font-size:15px;font-weight:600;margin:0 0 6px;letter-spacing:-.005em}
.measure p{font-size:12.7px;line-height:1.72;margin:0}
.timeline-v2{position:relative;margin:0;padding:0 0 0 26px;list-style:none;border-left:1px solid var(--c-line-strong)}
.timeline-v2 li{position:relative;padding:0 0 26px}
.timeline-v2 li:before{content:'';position:absolute;left:-32px;top:5px;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--c-pink)}
.timeline-v2 li:last-child{padding-bottom:0}
.timeline-v2 .when{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--c-pink-deep);font-weight:700;display:block;margin-bottom:5px}
.timeline-v2 h3{font-family:var(--serif-2);font-weight:400;font-size:18px;margin:0 0 6px}
.timeline-v2 p{font-size:12.6px;line-height:1.72;margin:0;max-width:52ch}

/* quote banner (about) */
.quote-banner-v2{border-radius:var(--r-xl);background:radial-gradient(120% 130% at 20% 0%,#0b4a0e,#003301 60%,#001c01);color:#fff;padding:clamp(34px,4.4vw,60px) clamp(22px,4vw,54px);text-align:center}
.quote-banner-v2 blockquote{margin:0}
.quote-banner-v2 p{font-family:var(--serif-2);font-size:clamp(22px,2.9vw,34px);line-height:1.28;letter-spacing:-.02em;color:#fff;margin:0 auto 16px;max-width:24ch}
.quote-banner-v2 cite{font-style:normal;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--c-pink)}

/* feature index / anchor chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chips a{font-size:11.5px;padding:8px 14px;border-radius:999px;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-ink-soft);box-shadow:var(--shadow-xs);transition:background .18s,border-color .18s,color .18s}
.chips a:hover{background:var(--c-pink-soft);border-color:#edc8de;color:var(--c-pink-deep)}

/* prompt browser */
.prompt-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:24px}
.filter-chips{display:flex;flex-wrap:wrap;gap:7px}
.filter-chips button{font-size:11.5px;padding:8px 14px;border-radius:999px;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-ink-soft);cursor:pointer;transition:all .18s}
.filter-chips button:hover{border-color:#edc8de;background:var(--c-pink-soft)}
.filter-chips button[aria-pressed="true"]{background:var(--c-green);border-color:var(--c-green);color:#fff}
.prompt-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--c-line-strong);border-radius:999px;padding:8px 16px;min-width:240px}
.prompt-search input{border:0;padding:0;background:none;font-size:12.5px;width:100%;outline:none;box-shadow:none}
.prompt-search span{color:var(--c-muted-2);font-size:12px}
.prompt-sets-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.prompt-set-v2{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--shadow-xs)}
.prompt-set-v2 h2{font-family:var(--serif-2);font-weight:400;font-size:22px;letter-spacing:-.02em;margin:0 0 4px;display:flex;align-items:center;gap:10px}
.prompt-set-v2 h2 .ico{width:30px;height:30px;border-radius:9px;background:var(--c-pink-soft);color:var(--c-pink-deep);display:grid;place-items:center;font-size:13px;flex-shrink:0}
.prompt-set-v2 .count{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted-2);margin:0 0 14px 40px}
.prompt-set-v2 ul{list-style:none;padding:14px 0 0;margin:0;border-top:1px solid var(--c-line)}
.prompt-set-v2 li{padding:9px 0 9px 20px;position:relative;font-family:var(--serif-2);font-size:13.6px;line-height:1.55;color:var(--c-ink-soft);border-top:1px solid #faf4f8}
.prompt-set-v2 li:first-child{border-top:0}
.prompt-set-v2 li:before{content:'✎';position:absolute;left:0;top:11px;font-size:9px;color:var(--c-pink-deep)}
.prompt-set-v2[hidden]{display:none}
.prompt-today{border-radius:var(--r-xl);border:1px solid var(--c-line);background:linear-gradient(150deg,#fffdfe,#fdf3f9);padding:clamp(24px,3.2vw,38px);display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;justify-content:space-between;box-shadow:var(--shadow-sm)}
.prompt-today .pt-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-pink-deep);font-weight:700;margin:0 0 8px}
.prompt-today .pt-text{font-family:var(--serif-2);font-size:clamp(18px,2.2vw,25px);line-height:1.35;letter-spacing:-.02em;color:var(--c-ink);margin:0;max-width:38ch}

/* faq search + misc */
.search-line{max-width:460px;margin:0 auto 30px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--c-line-strong);border-radius:999px;padding:11px 18px;box-shadow:var(--shadow-xs)}
.search-line input{border:0;background:none;padding:0;font-size:13px;width:100%;outline:none;box-shadow:none}
.faq2 details[hidden]{display:none}
.no-results{text-align:center;padding:26px;font-size:13px;color:var(--c-muted-2)}
.muted-note{font-size:11px;line-height:1.7;color:var(--c-muted-2);max-width:70ch;margin:26px auto 0;text-align:center}

/* stat band */
.stats-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px);text-align:center}
.stats-v2 div{padding:6px 4px}
.stats-v2 strong{display:block;font-family:var(--serif-2);font-weight:400;font-size:clamp(30px,3.6vw,44px);letter-spacing:-.04em;color:var(--c-green);line-height:1.1}
.stats-v2 span{font-size:11.5px;color:var(--c-muted);line-height:1.6;display:block;margin-top:6px}
.stats-v2 .divider{border-left:1px solid var(--c-line)}

/* reveal-on-scroll.
   Content is ALWAYS visible by default. JavaScript only adds a gentle
   entrance animation to elements as they scroll in, so a failed observer,
   an old browser, or a print job can never leave a blank page. */
@keyframes rise{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
.js-on [data-reveal].in{animation:rise .62s cubic-bezier(.2,.7,.2,1) both}
@media(prefers-reduced-motion:reduce){
  .js-on [data-reveal].in{animation:none!important}
}
@media print{
  [data-reveal]{opacity:1!important;transform:none!important;animation:none!important}
}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-art{min-height:400px;order:2}
  .hero-copy .lede{max-width:56ch}
  .grid-3,.grid-4,.prompts,.entries,.quotes,.plans,.prompt-sets-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tour-row{grid-template-columns:1fr;gap:26px}
  .tour-row.flip .tour-copy{order:0}
  .insight-card{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .stats-v2{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .stats-v2 .divider{border-left:0}
  .measures{grid-template-columns:1fr}
  .mast-brand span{display:none}
}
@media(max-width:900px){
  .mast-nav,.mast-cta .login{display:none}
  .mast-more{display:block;margin-left:auto}
  .mast-cta{margin-left:0}
  .mast-more .nav-panel{position:absolute;left:12px;right:12px;top:calc(100% + 8px);background:#fff;border:1px solid var(--c-line);border-radius:16px;box-shadow:var(--shadow-lg);padding:10px;display:flex;flex-direction:column;gap:2px;z-index:70}
  .mast-more[open] summary{background:var(--c-pink-soft);border-color:#edc8de}
  .mast-more .nav-panel a{padding:12px 14px;font-size:14px;border-radius:10px}
  .mast-more .nav-panel a[aria-current="page"]{background:#fdf0f7;color:var(--c-pink-deep)}
  .mast-more .nav-panel .btn{margin-top:6px;justify-content:center}
}
@media(max-width:720px){
  body.marketing{font-size:14.5px}
  .grid-3,.grid-4,.prompts,.entries,.quotes,.plans,.prompt-sets-v2,.foot-grid{grid-template-columns:1fr}
  .week-row{grid-template-columns:60px 1fr;row-gap:4px}
  .week-row .mins{grid-column:2;color:var(--c-muted-2)}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-actions{flex-direction:column;align-items:stretch}
  .chip-streak{left:-2%;bottom:6%}
  .chip-priv{right:-2%;top:2%}
  .chip-mood{right:0;bottom:-4%}
  .page-head-v2 .display{max-width:none}
  .prompt-today{flex-direction:column;align-items:flex-start}
  .trust-inner{justify-content:center;text-align:center;gap:10px 18px;font-size:10.5px}
  .trust-lead{width:100%}
  .stats-v2 strong{font-size:30px}
  .quote-banner-v2 p{max-width:none}
}
@media(max-width:420px){
  .sheet-title{font-size:20px}
  .float-chip{padding:9px 12px}
  .month-row{grid-template-columns:1fr}
}

/* ==========================================================================
   Utility layer.
   The site runs under Content-Security-Policy `style-src 'self'`, which
   blocks inline style="" attributes. Every layout tweak that used to be
   inline therefore lives here as a named class.
   ========================================================================== */
.u-fs-135{font-size:13.5px}
.u-fs-25{font-size:25px}
.u-c-soft{color:#dceadc}
.u-c-faint{color:#9fbf9f}
.u-c-pink{color:var(--c-pink)}
.u-c-ink{color:var(--c-ink)}
.u-w-820{max-width:820px;margin-left:auto;margin-right:auto}
.u-w-880{max-width:880px;margin-left:auto;margin-right:auto}
.u-note-wide{max-width:760px;margin:0 auto;text-align:center;border-radius:14px}
.u-cols-1{grid-template-columns:1fr}
.u-cols-3{grid-template-columns:repeat(3,1fr)}
.u-cols-covers{grid-template-columns:repeat(3,1fr)}
.u-pad-34{padding:34px 30px}
.u-pad-26{padding:26px}
.u-callout{padding:26px 24px;border-radius:18px}
.u-related{margin-top:36px;padding:24px 26px;border-radius:16px;background:linear-gradient(160deg,#fffdfe,#fdf4f9)}
.u-m-0{margin:0}
.u-m-0-auto{margin:0 auto}
.u-mb-10{margin:0 0 10px}
.u-mt-8{margin-top:8px}
.u-mt-9{margin-top:9px}
.u-mt-8-tight{margin:8px 0 0}
.u-mt-14{margin:14px 0 0}
.u-mt-16{margin:16px 0 0}
.u-mt-20{margin-top:20px}
.u-mt-22{margin-top:22px}
.u-mt-26{margin-top:26px}
.u-mt-32{margin-top:32px}
.u-mt-34{margin-top:34px}
.u-pt-20{padding-top:20px}
.u-pt-34{padding-top:34px}
.u-center-x{justify-content:center}
.u-start-x{justify-content:flex-start}
.u-axis-center{justify-content:center;margin-top:16px}
.u-legend-center{justify-content:center;margin-top:14px}
.u-split-lg{gap:clamp(28px,5vw,64px);align-items:center}
.u-gap-lg{gap:clamp(20px,3vw,34px)}
.u-gap-18{gap:18px}
.u-list-intro{color:#c3d8c3;margin:0 0 14px}
.u-list-heading{margin:0 0 12px;text-transform:uppercase;font-size:10px;color:var(--c-pink-deep);font-weight:700;letter-spacing:.08em}
.u-img-full{width:100%;height:auto;display:block}
.u-caption{text-align:center;margin:14px 0 0}
.u-dark-panel{text-align:center;padding:34px 22px}
.u-dark-chart{padding:26px}
.u-dark-flip{background:radial-gradient(130% 130% at 85% 0%,#0b4a0e,#003301 58%,#001c01)}
.u-dark-left{background:radial-gradient(130% 130% at 20% 0%,#0b4a0e,#003301 58%,#001c01)}
.u-lock-line{font-family:var(--serif-2);color:#fff;font-size:26px;line-height:1.2;letter-spacing:-.02em}
.u-link-light{color:#fff;border-color:rgba(255,255,255,.32)}
.u-no-top{border-top:0}
.u-square{aspect-ratio:1}
.u-logo-card{background:linear-gradient(160deg,#fff,#fdf4f9);border-radius:24px;padding:clamp(20px,3vw,34px);border:1px solid var(--c-line);box-shadow:var(--shadow-md)}
.u-cover-a{background:linear-gradient(160deg,#eef5ee,#dcebdc);min-height:110px}
.u-cover-b{background:linear-gradient(160deg,#fdf0f8,#f7dfee);min-height:110px}
.u-cover-c{background:linear-gradient(160deg,#faf3e6,#f1e4cc);min-height:110px}
@media(max-width:720px){
  .u-cols-3,.u-cols-covers{grid-template-columns:1fr}
  .u-pad-34{padding:26px 22px}
}
