/* Landing page only: journal and policy layouts retain their own styles. */
.landing { --bg:#f8fafb; --ink:#243b4b; --muted:#5b6f7f; --accent:#315f80; --line:#dfe6eb; --max:1160px; background:var(--bg); -webkit-font-smoothing:antialiased; }
.landing main { overflow:clip; }
.landing h1,.landing h2,.landing h3 { letter-spacing:-.045em; word-break:keep-all; }
.landing p { word-break:keep-all; }
.landing section[id] { scroll-margin-top:105px; }
.landing .wrap { width:min(calc(100% - 80px),1160px); margin-inline:auto; }
.landing .site-header { width:min(calc(100% - 48px),1224px); margin-top:18px; padding:10px 16px 10px 12px; border-color:#e0e6eb; background:rgba(255,255,255,.88); box-shadow:0 8px 30px #27465c08; }
.landing .brand { font-size:21px; font-weight:750; letter-spacing:-.6px; }
.landing .brand img { width:36px;height:36px;border-radius:11px; }
.landing .nav-links { gap:8px; }
.landing .nav-links a { font-size:13px; font-weight:600; color:#455d6e; padding:10px 14px; }
.landing .nav-links .nav-download { background:#263f50;color:#fff; }
.landing .nav-download span { margin-left:8px; }
.home-hero { display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;padding:142px 0 70px;min-height:860px; }
.kicker { display:flex;align-items:center;gap:9px;color:#315f80;font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.6;margin-bottom:28px; }
.kicker > span { width:6px;height:6px;background:#7ba5c3;border-radius:50%; }
.landing h1 { font-size:clamp(48px,5.1vw,72px);line-height:1.18;font-weight:750;margin:0 0 28px; }
.landing h1 em { color:#6092b4;font-style:normal; }
.hero-description { font-size:18px;line-height:1.9;color:#5b6f7f;margin-bottom:32px; }
.actions { display:flex;align-items:center;gap:24px;flex-wrap:wrap; }
.download-button { display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 21px;min-height:58px;border-radius:16px;background:#263f50;color:#fff;font-size:14px;font-weight:650;transition:background .2s,transform .2s; }
.download-button:hover { background:#315f80;transform:translateY(-2px); }
.download-button svg { width:24px;height:26px; }
.download-button small { display:block;font-size:10px;font-weight:400;opacity:.7;margin-bottom:2px; }
.quiet-link { display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:600;color:#315f80; }
.quiet-link:hover { text-decoration:underline;text-underline-offset:5px; }
.hero-note { font-size:11px;letter-spacing:.02em;color:#607788;margin-top:22px; }
.hero-stage { position:relative;display:flex;align-items:center;justify-content:center;min-height:665px;border:1px solid #e3ebf2;border-radius:44px;background:radial-gradient(ellipse at 40% 35%,#f8fcff,#e5eff6 80%);isolation:isolate; }
.orbit { position:absolute;border:1px solid #c5d9e65e;border-radius:50%;z-index:-1; }
.orbit-one { width:430px;height:430px; }
.orbit-two { width:550px;height:550px; }
.device { width:260px;flex-shrink:0;padding:5px;border-radius:35px;background:linear-gradient(140deg,#fdfefe,#bcc9d2 48%,#fff 80%,#b8c6d0);border:1px solid #bac7d1;box-shadow:0 30px 55px -25px #25465d4a,0 2px 4px #23394a12; }
.device img { width:100%;height:auto;border-radius:29px;aspect-ratio:1320 / 2868; }
.hero-stage .device { width:270px;transform:rotate(-4deg); }
.stage-caption { position:absolute;top:28px;left:28px;font-size:9px;letter-spacing:.18em;color:#607f95; }
.stage-footnote { position:absolute;bottom:22px;font-size:10px;color:#648093; }
.rhythm-note { position:absolute;right:-20px;bottom:98px;display:flex;align-items:center;gap:12px;padding:17px 20px;border:1px solid #fff;border-radius:18px;background:#ffffffed;box-shadow:0 12px 35px #38577112; }
.note-check { display:grid;place-items:center;width:32px;height:32px;background:#e4eff5;color:#315f80;border-radius:50%; }
.rhythm-note strong { display:block;font-size:12px;font-weight:650; }
.rhythm-note div span { display:block;font-size:10px;color:#5c7385;margin-top:4px; }
.flow-strip { display:flex;align-items:center;gap:25px;border-block:1px solid var(--line);padding:27px 0;font-size:16px;font-weight:600; }
.flow-strip i { font-style:normal;color:#8caec5; }
.flow-strip p { margin:0 0 0 auto;font-size:12px;font-weight:400;color:var(--muted); }
.section-space { padding-block:110px; }
.plan-section,.theme-section { display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center; }
.landing h2 { font-size:clamp(30px,3.5vw,46px);line-height:1.3;margin-bottom:24px;font-weight:700; }
.body-copy { max-width:450px;color:#596f80;font-size:16px;line-height:1.95; }
.view-buttons { display:flex;flex-wrap:wrap;gap:7px;margin-top:30px; }
.view-buttons button { appearance:none;cursor:pointer;border:1px solid #dce5eb;background:transparent;color:#526b7d;font:inherit;font-size:13px;padding:10px 17px;border-radius:30px; }
.view-buttons button[aria-pressed="true"] { background:#28485e;color:white;border-color:#28485e; }
.view-buttons button:focus-visible { outline:3px solid #83acc9;outline-offset:4px; }
.view-detail { min-height:40px;color:#607788;font-size:12px;margin:16px 0 28px;line-height:1.8; }
.chain-example { display:grid;gap:8px;padding:22px 24px;border-left:2px solid #91b6ce;background:#ecf2f6;border-radius:0 16px 16px 0; }
.chain-example > span { color:#60798b;font-size:10px; }
.chain-example strong { font-size:15px;font-weight:600; }
.chain-example b { margin:0 10px;font-weight:400;color:#8ba9be; }
.chain-example small { font-size:11px;color:#60798b; }
.plan-preview { display:flex;flex-direction:column;align-items:center;gap:25px;background:#edf2f5;border-radius:34px;padding:38px 0 26px; }
.plan-preview .device { width:252px; }
.image-caption { font-size:10px;color:#607788; }
.moments-section { background:#eaf0f4;padding:95px 0 55px; }
.section-title { margin-bottom:48px; }
.section-title .body-copy { max-width:none; }
.moment-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.moment-card { display:flex;flex-direction:column;align-items:center;gap:30px;padding:30px 26px 32px;border:1px solid #e0e8ee;border-radius:28px;background:#f9fbfd; }
.card-copy { width:100%;min-height:215px; }
.card-index { display:block;font-size:10px;letter-spacing:.07em;color:#5d7b90;margin-bottom:23px; }
.card-copy h3 { font-size:25px;line-height:1.4;margin:0 0 15px;font-weight:650; }
.card-copy p { font-size:13px;line-height:1.9;color:#5b7182;margin:0; }
.moment-card .device { width:100%;max-width:238px;border-radius:30px;padding:4px; }
.moment-card .device img { border-radius:25px; }
.sample-note { margin:24px 0 0;font-size:10px;line-height:1.8;color:#5d7688; }
.theme-section { grid-template-columns:.9fr 1.1fr; }
.theme-preview { display:flex;justify-content:center;padding:40px;background:linear-gradient(130deg,#eef2f4,#e4ebf0);border-radius:34px; }
.palette-list { list-style:none;margin:28px 0;padding:0; }
.palette-list li { display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px; }
.palette-list small { margin-left:auto;color:#607788;font-size:10px; }
.swatches { display:flex;flex-shrink:0; }
.swatches i { display:block;width:23px;height:23px;border-radius:50%;background:var(--swatch);border:1px solid #7a899120; }
.swatches i+i { margin-left:-5px; }
.theme-languages { font-size:11px;color:#5c7485;line-height:2; }
.theme-languages span { margin-inline:8px; }
.why-section { background:#263f50;color:#f5f8fa;padding:90px 0; }
.why-inner { text-align:center; }
.why-inner .kicker { justify-content:center;color:#a1c4de; }
.why-inner h2 { font-weight:550;font-size:clamp(32px,3.4vw,46px); }
.why-inner p:not(.kicker) { color:#c3d2dd;font-size:15px;line-height:2; }
.why-inner .quiet-link { color:#d8e9f5;margin-top:20px; }
.landing .blog-preview { padding-block:95px;width:min(calc(100% - 80px),1160px);border:0; }
.landing .blog-preview .section-heading h2 { font-size:32px; }
.landing .blog-preview .section-heading p:not(.eyebrow) { font-size:14px; }
.landing .blog-preview .eyebrow { font-size:10px;letter-spacing:.12em;font-weight:650;color:#315f80; }
.landing .journal-card { border-radius:25px; }
.landing .journal-card h2 { font-size:27px;line-height:1.5; }
.landing .journal-card > div { padding:34px; }
.landing .journal-card > div > p:not(.eyebrow):not(.journal-card-meta) { font-size:14px; }
.download-section { text-align:center;padding:70px 24px 90px;border-top:1px solid var(--line); }
.download-section > img { width:76px;height:76px;border-radius:22px;margin:0 auto 27px;box-shadow:0 8px 25px #233b4c12; }
.download-section .kicker { justify-content:center; }
.download-section h2 { font-size:clamp(27px,3.2vw,39px); }
.download-section > p:not(.kicker) { color:#607788;font-size:14px;margin-bottom:28px; }
.landing .site-footer { background:#f0f4f7;border-top:1px solid #e1e8ed;color:#284252;padding-block:30px; }
.landing .site-footer > span { font-size:19px; }
.landing .site-footer p,.landing .footer-links a { color:#5b7385;font-size:11px;font-weight:500; }
@media(min-width:1600px) { .home-hero { padding-block:155px 90px; } }
@media(max-width:1020px) { .landing .wrap { width:calc(100% - 48px); } .home-hero { gap:26px;min-height:770px; } .hero-stage { min-height:595px; } .hero-stage .device { width:238px; } .landing h1 { font-size:53px; } .hero-description { font-size:16px; } .actions { gap:20px; } .rhythm-note { right:-6px;bottom:65px; } .plan-section,.theme-section { gap:45px; } .moment-grid { gap:13px; } .moment-card { padding:24px 18px; } .card-copy h3 { font-size:22px; } .card-copy { min-height:235px; } }
@media(max-width:760px) { .landing .site-header { width:calc(100% - 24px);margin-top:10px;padding:9px 10px; } .landing .brand { font-size:17px;gap:7px; } .landing .brand img { width:31px;height:31px;border-radius:9px; } .landing .nav-links { gap:0; } .landing .nav-links a { padding:8px 9px;font-size:11px; } .landing .nav-links a[href="#settings"] { display:none; } .landing .nav-download span { margin-left:3px; } .landing .wrap { width:calc(100% - 40px); } .home-hero { grid-template-columns:1fr;gap:38px;padding:127px 0 35px;min-height:auto; } .hero-words { text-align:center; } .hero-words .kicker { justify-content:center;font-size:9px;margin-bottom:23px; } .landing h1 { font-size:clamp(43px,9vw,62px);line-height:1.22; } .hero-description { font-size:15px;line-height:1.85; } .actions { justify-content:center;gap:20px; } .hero-note { font-size:10px; } .hero-stage { min-height:596px;border-radius:30px;max-width:470px;width:100%;margin-inline:auto; } .hero-stage .device { width:232px; } .rhythm-note { right:8px;bottom:70px;padding:14px; } .stage-caption { top:24px;left:22px;font-size:8px; } .flow-strip { gap:14px;padding:25px 0;font-size:14px; } .flow-strip p { font-size:10px;max-width:85px;line-height:1.7; } .section-space { padding-block:70px; } .plan-section,.theme-section { grid-template-columns:1fr;gap:32px; } .landing h2 { font-size:34px;line-height:1.35; } .body-copy { font-size:15px; } .kicker { font-size:10px;margin-bottom:20px; } .plan-preview .device { width:240px; } .moment-grid { grid-template-columns:1fr;gap:22px; } .moments-section { padding:65px 0 35px; } .section-title { margin-bottom:32px; } .moment-card { padding:30px 26px;gap:25px; } .card-copy { min-height:0; } .card-index { margin-bottom:18px; } .card-copy h3 { font-size:27px; } .card-copy p { font-size:14px;max-width:390px; } .moment-card .device { max-width:250px; } .sample-note { font-size:10px; } .theme-copy { order:-1; } .theme-preview .device { width:240px; } .why-section { padding-block:66px; } .why-inner p:not(.kicker) { font-size:14px; } .why-inner p br { display:none; } .landing .blog-preview { width:calc(100% - 40px);padding-block:65px; } .landing .blog-preview .section-heading h2 { font-size:29px; } .landing .journal-card { grid-template-columns:1fr; } .landing .journal-card > div { padding:25px; } .landing .journal-card h2 { font-size:24px; } .download-section { padding:55px 0 70px; } .landing .site-footer { gap:17px; } .landing .footer-links { flex-direction:row;flex-wrap:wrap;gap:18px; } }
@media(max-width:360px) { .landing .nav-links a { padding:8px 7px;font-size:10px; } .landing .brand { font-size:15px; } .landing .wrap,.landing .blog-preview { width:calc(100% - 32px); } .hero-stage { min-height:550px; } .hero-stage .device { width:213px; } .rhythm-note { bottom:50px; } .landing h2 { font-size:30px; } .palette-list li { gap:10px;font-size:12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .download-button { transition:none; } }
