/* Stillwalk components and responsive variants. */
@font-face{font-family:"Source Sans 3";src:url("assets/SourceSans3.woff2") format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:Lora;src:url("assets/Lora.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root { --cream:#fdfbf7;--ivory:#ffffff;--forest:#36594a;--ink:#242b29;--sage:#e0e9df;--muted:#617067;--line:#e6e2d9;--dark:#171d19;--plum:#756881;--gold:#f6c453; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth;scroll-padding-top:100px; }
body { margin:0;background:var(--cream);color:var(--ink);font-family:"Source Sans 3",Arial,sans-serif;font-size:16px;line-height:1.65; }
a { color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent; }
button { font:inherit;-webkit-tap-highlight-color:transparent;cursor:pointer; }
img { display:block;max-width:100%; }
p { margin:0; }
blockquote { font-family:Lora,Georgia,serif;font-weight:400; }
em { font-weight:400;color:var(--forest); }
h2 { margin:0;font-family:Lora,Georgia,serif;font-weight:400;font-size:clamp(36px,4.5vw,61px);line-height:1.16;letter-spacing:-1.8px; }
h3 { margin:0;font-family:Lora,Georgia,serif;font-weight:400;font-size:26px;line-height:1.3; }
.eyebrow { font-family:"Source Sans 3",Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;line-height:1.5;color:var(--forest); }
.button { display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:14px 25px;border:1px solid var(--forest);border-radius:40px;background:var(--forest);color:var(--cream);font-size:14px;font-weight:500;transition:background .2s,transform .2s; }
.button:hover { background:#254638;transform:translateY(-2px); }
.button span { font-size:20px;line-height:1; }
.button-small { min-height:44px;padding:10px 21px;gap:18px; }
:focus-visible { outline:2px solid rgba(54,89,74,.42);outline-offset:3px; }
.skip { position:fixed;top:-100px;left:20px;padding:10px 20px;background:white;z-index:100; }
.skip:focus { top:10px; }
.site-header { max-width:1600px;margin:auto;height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:30px; }
.site-header nav { display:flex;gap:34px;font-size:14px; }
.site-header nav a:hover { color:var(--forest);text-decoration:underline;text-underline-offset:6px; }
.brand { flex-shrink:0; }
.menu-button { display:none;border:0;background:transparent;color:var(--forest);min-height:44px; }
.mobile-nav { padding:0 24px 20px;background:var(--cream); }
.mobile-nav a { padding:12px 0;display:block; }
.hero { max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:0 32px 0 6vw;gap:5vw; }
.hero-copy { padding:65px 0 35px; }
.hero-copy>.eyebrow { display:flex;align-items:center;gap:12px; }
.short-line { width:28px;height:1px;background:var(--forest); }
h1 { font-family:Lora,Georgia,serif;font-weight:400;font-size:clamp(62px,6.7vw,100px);line-height:1.1;letter-spacing:-4px;margin:23px 0 27px; }
h1 em { white-space:nowrap; }
.hero-description { font-size:18px;color:#60675f;line-height:1.8; }
.hero-actions { display:flex;align-items:center;gap:27px;margin-top:31px; }
.hero-note { display:flex;gap:15px;align-items:center;margin-top:50px; }
.hero-note p { font-size:12px;line-height:1.55;color:#647166;letter-spacing:.2px; }
.hero-note strong { font-weight:500;color:var(--forest); }
.landscape { position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center;z-index:-2; }
.hero-art:after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#15241cb3);z-index:-1; }
.principles { max-width:1440px;margin:38px auto 0;display:flex;justify-content:space-around;gap:20px;border-bottom:1px solid var(--line);padding:21px 5vw 34px;color:#657064;font-size:13px; }
.principles span:before { content:"✧";color:var(--forest);margin-right:14px;font-size:16px; }
.intro { text-align:center;max-width:880px;margin:auto;padding-bottom:100px; }
.intro h2 { margin:20px 0 26px; }
.intro>p:last-child { max-width:620px;margin:auto;color:#60685f;font-size:17px;line-height:1.9; }
footer p { font-size:12px;color:#616c62; }
footer span { font-size:12px;color:#616c62; }
@media (min-width:1600px) {
  .hero { padding-left:96px;gap:80px; }
}
@media (min-width:1600px) {
  .site-header { padding:0 80px; }
}
@media (max-width:1050px) {
  .site-header nav { gap:20px; }
}
@media (max-width:1050px) {
  .hero { gap:30px;min-height:620px; }
}
@media (max-width:1050px) {
  .hero-art { min-height:620px;border-top-left-radius:130px; }
}
@media (max-width:1050px) {
  .hero-copy { padding-top:50px; }
}
@media (max-width:1050px) {
  h1 { font-size:70px;letter-spacing:-3px; }
}
@media (max-width:1050px) {
  .hero-actions { gap:17px;flex-wrap:wrap; }
}
@media (max-width:1050px) {
  .hero-note { margin-top:25px; }
}
@media (max-width:760px) {
  html { scroll-padding-top:30px; }
}
@media (max-width:760px) {
  .site-header { height:84px;padding:0 24px; }
}
@media (max-width:760px) {
  .brand img { width:145px; }
}
@media (max-width:760px) {
  .site-header nav { display:none; }
}
@media (max-width:760px) {
  .site-header>.button { display:none; }
}
@media (max-width:760px) {
  .menu-button { display:flex;align-items:center;gap:12px;font-size:14px; }
}
@media (max-width:760px) {
  .hero { display:flex;flex-direction:column;padding:0 20px;gap:28px; }
}
@media (max-width:760px) {
  .hero-copy { padding:32px 5px 0; }
}
@media (max-width:760px) {
  h1 { font-size:clamp(54px,12vw,78px);letter-spacing:-2.8px;margin:20px 0 24px; }
}
@media (max-width:760px) {
  .hero-note { display:none; }
}
@media (max-width:760px) {
  .hero-actions { gap:22px; }
}
@media (max-width:760px) {
  .principles span:before { margin-right:8px; }
}
@media (max-width:760px) {
  .section { padding:76px 25px; }
}
@media (max-width:760px) {
  h2 { font-size:39px;letter-spacing:-1.3px; }
}
@media (max-width:760px) {
  .intro>p:last-child { font-size:16px; }
}
@media (max-width:760px) {
  footer img { width:140px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
@media (prefers-reduced-motion:reduce) {
  * { animation:none!important;transition:none!important; }
}
@media (prefers-reduced-motion:reduce) {
  *:before { animation:none!important;transition:none!important; }
}
@media (prefers-reduced-motion:reduce) {
  *:after { animation:none!important;transition:none!important; }
}
.section { padding:112px max(6vw,24px);scroll-margin-top:32px; }
.section-heading { max-width:690px;margin-bottom:56px; }
.section-heading>p:last-child { max-width:510px;color:var(--muted);font-size:18px;line-height:1.7; }
.rhythm { max-width:1400px;margin:auto;padding:30px 6vw 110px; }
.rhythm-grid { display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;scroll-margin-top:35px; }
.rhythm-tabs button[aria-selected=true] { color:#36594a;border-bottom-color:#36594a;background:linear-gradient(90deg,#e0e9df66,transparent); }
.step-number { font-size:12px;padding-top:5px;letter-spacing:.08em; }
.rhythm-tabs strong { display:block;font-family:Lora,Georgia,serif;font-size:25px;font-weight:400;line-height:1.25; }
.tab-arrow { margin-left:auto;font-size:22px;opacity:0; }
.rhythm-tabs button[aria-selected=true] .tab-arrow { opacity:1; }
.companion { max-width:1400px;margin:auto;padding:30px 6vw 130px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center; }
.companion-art { height:620px;border-radius:12px 150px 12px 12px;overflow:hidden;position:relative; }
.companion-art>img { height:100%;width:100%;object-fit:cover; }
.companion-art>span { position:absolute;bottom:28px;left:28px;right:28px;color:#fff;font-size:9px;letter-spacing:.16em;text-shadow:0 1px 8px #000; }
.companion-copy>p:not(.eyebrow):not(.small-print) { font-size:16px;line-height:1.8;color:#687267; }
.conversation-example { border-left:2px solid #a6b69b;margin:30px 0;padding:4px 0 4px 23px; }
.conversation-example p { font:italic 24px/1.5 Lora,serif;margin:13px 0; }
.conversation-example>span:last-child { font-size:11px;color:#687267; }
.formation { background:linear-gradient(135deg,#36594a,#29483c);color:#fdfbf7;padding:100px 6vw; }
.formation-inner { max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center; }
.formation .eyebrow { color:#d3ddc9; }
.formation h2 em { color:#d6dfca; }
.formation-copy>p:not(.eyebrow) { max-width:440px;line-height:1.85;color:#e0e5dc;font-size:16px; }
.formation-note { font-size:14px!important;border-top:1px solid #ffffff2b;padding-top:22px;margin-top:26px; }






.privacy { padding:110px 6vw;max-width:1400px;margin:auto; }
.privacy-title { text-align:center;max-width:690px;margin:auto; }
.privacy-title>p:last-child { font-size:17px;line-height:1.8;color:#687267;max-width:570px;margin:25px auto 0; }
.privacy-points { display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:65px; }
.privacy-points>div { border-top:1px solid #bec8b9;padding-top:24px; }
.faq-list summary::-webkit-details-marker { display:none; }
.closing { text-align:center;background:#e0e9df;margin:0 32px;border-radius:14px;padding:62px 24px 53px; }
.closing .eyebrow { font-size:10px; }
footer { display:flex;align-items:center;justify-content:space-between;margin:0 6vw;padding:38px 0;border-top:1px solid var(--line);gap:24px; }
[hidden] { display:none!important; }
@media (min-width:1500px) {
  .rhythm { padding-left:60px;padding-right:60px; }
}
@media (min-width:1500px) {
  .companion { padding-left:60px;padding-right:60px; }
}
@media (min-width:1500px) {
  .privacy { padding-left:60px;padding-right:60px; }
}
@media (min-width:1500px) {
  .faq { padding-left:60px;padding-right:60px; }
}
@media (max-width:1050px) {
  .preview-stage { padding:28px 20px 17px; }
}
@media (max-width:1050px) {
  .rhythm-grid { gap:4vw; }
}
@media (max-width:1050px) {
  .rhythm-tabs strong { font-size:22px; }
}
@media (max-width:1050px) {
  .companion { gap:5vw; }
}
@media (max-width:1050px) {
  .companion-art { height:570px; }
}
@media (max-width:1050px) {
  .formation-inner { gap:5vw; }
}
@media (max-width:1050px) {
  .privacy-points { gap:25px; }
}
@media (max-width:1050px) {
  .faq { gap:4vw; }
}
@media (max-width:1050px) {
  .faq h2 { font-size:37px; }
}
@media (max-width:760px) {
  .rhythm { padding:10px 24px 70px; }
}
@media (max-width:760px) {
  .section-heading { margin-bottom:30px; }
}
@media (max-width:760px) {
  .section-heading>p:last-child { font-size:16px; }
}
@media (max-width:760px) {
  .rhythm-grid { grid-template-columns:1fr;gap:30px; }
}
@media (max-width:760px) {
  .rhythm-tabs button { padding:21px 10px;gap:16px; }
}
@media (max-width:760px) {
  .rhythm-tabs strong { font-size:21px; }
}
@media (max-width:760px) {
  .companion { padding:0 24px 70px;grid-template-columns:1fr;gap:38px; }
}
@media (max-width:760px) {
  .companion-art { height:440px;border-top-right-radius:120px; }
}
@media (max-width:760px) {
  .companion-copy h2 { font-size:38px; }
}
@media (max-width:760px) {
  .formation { padding:60px 24px; }
}
@media (max-width:760px) {
  .formation-inner { grid-template-columns:1fr;gap:35px; }
}
@media (max-width:760px) {
  .formation-copy>p:not(.eyebrow) { font-size:16px; }
}
@media (max-width:760px) {
  .formation-note { font-size:14px!important; }
}
@media (max-width:760px) {
  .privacy { padding:65px 24px; }
}
@media (max-width:760px) {
  .privacy-title h2 { font-size:36px; }
}
@media (max-width:760px) {
  .privacy-title>p:last-child { font-size:16px; }
}
@media (max-width:760px) {
  .privacy-points { grid-template-columns:1fr;gap:25px;margin-top:40px; }
}
@media (max-width:760px) {
  .privacy-points h3 { font-size:23px;margin:15px 0 10px; }
}
@media (max-width:760px) {
  .privacy-points p { margin-bottom:0; }
}
@media (max-width:760px) {
  .closing { margin:0 14px;padding:48px 22px; }
}
@media (max-width:760px) {
  .closing h2 { font-size:35px; }
}
@media (max-width:760px) {
  .closing .availability { font-size:10px; }
}
@media (max-width:760px) {
  footer { margin:0 25px;padding:32px 0;gap:20px;flex-wrap:wrap;text-align:center;justify-content:center; }
}
@media (max-width:760px) {
  footer p { order:3;width:100%;margin:0; }
}
@media (max-width:760px) {
  footer>span { width:100%;font-size:11px; }
}
.faq { margin:auto;padding:25px 6vw 110px;grid-template-columns:1fr 1.3fr;gap:7vw;display:block;max-width:1400px;padding-top:25px;padding-bottom:110px; }
.faq>div:first-child { margin-bottom:48px; }
.faq h2 { font-size:clamp(36px,4.5vw,56px);margin-top:18px; }
.faq h2 br { display:none; }
.faq-list { border-top:1px solid #c9d0c5; }
.faq-list details { border-bottom:1px solid #c9d0c5; }
.faq-list summary span { position:relative;display:block;flex:0 0 46px;width:46px;height:46px;border:1px solid #b9c4b7;border-radius:50%;font-size:0;color:var(--forest);transition:background .2s,border-color .2s,color .2s; }
.faq-list summary span::before { content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:currentColor;transform:translate(-50%,-50%); }
.faq-list summary span::after { content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(90deg); }
.faq-list details[open] summary span { transform:none;background:var(--forest);border-color:var(--forest);color:var(--cream); }
.faq-list details[open] summary span::after { display:none; }
.faq-list summary:hover { color:var(--forest); }
.faq-list summary:hover span { border-color:var(--forest); }
.faq-list details p { max-width:850px;padding:0 78px 32px 0;margin:0;font-size:18px;line-height:1.8;color:#566258; }
@media (max-width:760px) {
  .faq { grid-template-columns:1fr;gap:20px;padding:10px 24px 65px; }
}
@media (max-width:760px) {
  .faq>div:first-child { margin-bottom:32px; }
}
@media (max-width:760px) {
  .faq h2 { font-size:36px;max-width:330px; }
}
@media (max-width:760px) {
  .faq-list summary { padding:24px 0;gap:18px;font-size:18px; }
}
@media (max-width:760px) {
  .faq-list summary span { flex-basis:40px;width:40px;height:40px; }
}
@media (max-width:760px) {
  .faq-list details p { padding:0 0 26px;font-size:16px;line-height:1.8; }
}
.phone h3 { font:400 27px/1.25 Lora,serif;letter-spacing:-.7px;margin:0 0 10px; }
.phone h4 { font:600 20px/1.3 Lora,serif;margin:10px 0; }
.hero-art { position:relative;min-width:0;overflow:hidden;border-radius:180px 12px 12px 12px;isolation:isolate;min-height:725px; }
.privacy-title>img { margin:0 0 22px;margin-left:auto;margin-right:auto; }
.closing>img { margin-bottom:23px;margin-left:auto;margin-right:auto; }
.section-heading h2 { margin:18px 0 24px; }
.companion-copy h2 { font-size:clamp(34px,4vw,53px);margin:18px 0 24px; }
.formation h2 { color:#fdfbf7;margin:18px 0 24px; }
.companion-copy>p { margin-bottom:18px; }
.privacy-points span { letter-spacing:.13em;color:#687267;font-size:12px; }
.privacy-points p { line-height:1.8;color:#687267;font-size:16px; }

.privacy-points h3 { font:23px/1.35 Lora,serif;margin:14px 0; }

.small-print { line-height:1.7;color:#687267;font-size:14px; }
.availability { color:#626b63;margin-top:15px;font-size:14px; }
.rhythm-tabs small { display:block;line-height:1.7;margin-top:11px;font-size:16px; }
@media (max-width:760px) {
  .hero-art { border-radius:115px 8px 8px 8px;min-height:730px; }
}
@media (max-width:760px) {
  .hero-description br { display:none; }
}
@media (max-width:760px) {
  .hero-description { font-size:17px;max-width:34ch; }
}
@media (max-width:760px) {
  .principles { display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 25px 26px;margin-top:25px;font-size:13px; }
}
@media (max-width:760px) {
  .rhythm-tabs small { margin-top:7px;font-size:14px; }
}
@media (max-width:380px) {
  .phone { border-width:5px; }
}
@media (max-width:380px) {
  .hero-art { padding-left:10px;padding-right:10px; }
}
@media (max-width:380px) {
  .phone h3 { font-size:25px; }
}
.phone { width:320px;max-width:100%;margin:auto;background:var(--cream);line-height:1.4;color:var(--ink);text-align:left;position:relative;border:0;border-radius:18px;box-shadow:0 22px 60px #1a302124;overflow:hidden; }
.product-hero .landscape { inset:0;opacity:.12;filter:saturate(.6); }
.product-hero:after { display:none; }
.dark-preview .phone { background:#1c2823;color:#f0eee6;box-shadow:0 24px 55px #0a191f38; }
@media (max-width:1050px) and (min-width:761px) {
  .hero-phone { transform:translate(-30px,-30px) ;max-width:77%; }
}
@media (max-width:1050px) and (min-width:761px) {
  .hero-secondary { right:-25px;max-width:65%;top:130px; }
}
@media (max-width:1050px) and (min-width:761px) {
  .hero-art { min-height:750px; }
}
@media (max-width:760px) {
  .product-hero { min-height:730px;padding:25px 12px;border-radius:55px 20px 20px 20px; }
}
@media (max-width:760px) {
  .hero-phone { max-width:79%;width:290px;transform:translate(-26px,-24px) ; }
}
@media (max-width:760px) {
  .hero-secondary { width:250px;max-width:75%;transform:none;right:-35px;top:90px; }
}
.preview-stage [role=tabpanel] { animation:screen-arrive .65s ease both; }
.rhythm-tabs button { font:inherit;background:none;border:0;border-bottom:1px solid #d8ddd3;text-align:left;display:flex;width:100%;gap:21px;align-items:flex-start;padding:29px 10px;cursor:pointer;color:#6c756e;transition:background .4s,color .4s,border-color .4s; }
.faq-list summary { list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:30px 0;align-items:center;gap:32px;font-size:clamp(18px,2vw,25px);font-weight:500;line-height:1.45;color:var(--ink);transition:color .2s; }
@keyframes screen-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes quiet-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@media (max-width:760px) {
  .chat-stage { min-height:660px;max-width:390px;padding:28px 18px 20px; }
}
@media (max-width:760px) {
  .preview-stage { padding:28px 15px 20px;min-height:690px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-phone .phone { animation:none!important; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-secondary .phone { animation:none!important; }
}
@media (prefers-reduced-motion:reduce) {
  .preview-stage [role=tabpanel] { animation:none!important; }
}
.preview-stage [role=tabpanel] .phone { transform:none;transform-origin:center center; }
.preview-stage #panel-pray .phone { transform:none; }
.preview-stage #panel-reflect .phone { transform:none; }
.chat-stage .phone { width:295px;max-width:100%;transform:none; }
.preview-stage { position:relative;background:#e5eadf;border-radius:26px;padding:38px 24px 24px;min-height:700px;padding-top:40px;padding-bottom:30px; }
.chat-stage { height:auto;display:flex;flex-direction:column;justify-content:center;border-radius:26px;background:#dfe7db;width:100%;max-width:470px;margin-inline:auto;min-height:0;padding:36px 24px 24px;padding-top:42px;padding-bottom:30px; }
@media (max-width:760px) {
  .preview-stage [role=tabpanel] .phone { transform:none; }
}
@media (max-width:760px) {
  .preview-stage #panel-pray .phone { transform:none; }
}
@media (max-width:760px) {
  .chat-stage .phone { transform:none; }
}
.launch-copy { max-width:470px;margin:0 auto 26px;font-size:17px;color:var(--forest); }
.closing h2 { margin-bottom:22px; }
.product-hero { justify-content:center;background:#e8ece2;border-radius:100px 24px 24px 24px;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;padding:45px 28px 65px;min-height:720px; }
.hero-phone { position:relative;z-index:2;flex-shrink:0;width:100%;max-width:none;transform:none;min-width:0; }
.hero-secondary { z-index:1;position:relative;top:auto;right:auto;width:100%;max-width:none;transform:translateY(24px) ;min-width:0; }
.hero-phone .phone { box-shadow:0 22px 55px #183b2838;animation:quiet-float 8s ease-in-out infinite;width:100%; }
.hero-secondary .phone { animation:quiet-float 9s ease-in-out 1s infinite;width:100%; }
.hero-phone .phone h3 { font-size:23px; }
.closing .availability { margin:22px 0 0;color:#46564a; }
.closing-invitation .button { margin-top:4px; }
.waitlist-back { display:inline-flex;align-items:center;gap:10px;color:var(--forest);font-size:14px;border-bottom:1px solid transparent;padding:8px 0; }
.waitlist-back:hover { border-bottom-color:#91a494; }
@media (max-width:560px) {
  .waitlist-back { font-size:13px; }
}
.footer-links a,.legal-content a { color:var(--forest);text-decoration:underline;text-decoration-color:#91a494;text-underline-offset:4px; }
.footer-links a:hover,.legal-content a:hover { text-decoration-color:var(--forest); }


@media (max-width:1100px) {
  .product-hero { display:flex;flex-direction:column;gap:32px;padding:32px 20px 60px;min-height:0; }
}
@media (max-width:1100px) {
  .hero-phone { width:min(290px,90%);max-width:100%;transform:none; }
}
@media (max-width:1100px) {
  .hero-secondary { width:min(290px,90%);max-width:100%;position:relative;top:auto;right:auto;transform:none; }
}

.rhythm-grid > * { min-width:0; }
.rhythm-tabs button > span:nth-child(2) { min-width:0; }
@media(max-width:760px) { .preview-stage .phone { width:min(320px,100%); } }

/* Consistent vector controls in app previews. */

footer{flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--forest);white-space:nowrap}.social-link svg{width:22px;height:22px;flex-shrink:0}footer .social-link span{font-size:14px;color:inherit}.social-link:hover span{text-decoration:underline;text-underline-offset:4px}

footer .social-link{width:44px;height:44px;justify-content:center;border-radius:50%;gap:0}footer .social-link:hover{background:var(--sage)}
.footer-links { display:flex;align-items:center;gap:20px;font-size:12px;color:#526158; }
.footer-links a[aria-current=page] { color:var(--ink);text-decoration-color:var(--forest); }

/* Legal pages */
.legal-page { background:var(--cream); }
.legal-header { max-width:1400px;height:96px;margin:auto;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.legal-hero { width:min(1280px,calc(100% - 64px));margin:0 auto;padding:clamp(62px,8vw,118px) clamp(32px,7vw,96px);border-radius:28px;background:linear-gradient(145deg,#d8e3d7 0%,#eef1e9 100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end; }
.legal-hero h1 { font-size:clamp(54px,7vw,92px);margin:18px 0 25px; }
.legal-lead { max-width:700px;font-size:18px;line-height:1.85;color:#526158; }
.legal-meta { min-width:190px;padding:22px 0 4px;border-top:1px solid rgba(54,89,74,.25);display:grid;gap:4px; }
.legal-meta span { margin-top:10px;color:#718077;font-size:11px;letter-spacing:.1em;text-transform:uppercase; }
.legal-meta strong { color:var(--forest);font-size:14px;font-weight:600; }
.legal-layout { width:min(1180px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:220px minmax(0,780px);justify-content:space-between;gap:90px;padding:90px 0 115px; }
.legal-toc { align-self:start;position:sticky;top:30px;padding:7px 0 20px; }
.legal-toc nav { display:flex;flex-direction:column;margin-top:19px;border-top:1px solid var(--line); }
.legal-toc nav a { padding:10px 0;border-bottom:1px solid var(--line);color:#617067;font-size:13px;line-height:1.35; }
.legal-toc nav a:hover { color:var(--forest); }
.legal-content { min-width:0; }
.legal-section { scroll-margin-top:30px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:22px;padding:0 0 54px;margin:0 0 54px;border-bottom:1px solid var(--line); }
.legal-section:last-child { margin-bottom:0; }
.legal-number { padding-top:9px;color:#7d8a80;font-size:11px;letter-spacing:.1em; }
.legal-section h2 { margin:0 0 24px;font-size:clamp(30px,3.2vw,43px);letter-spacing:-1px; }
.legal-section h3 { margin:31px 0 10px;color:var(--forest);font:600 18px/1.45 "Source Sans 3",Arial,sans-serif; }
.legal-section p { margin:0 0 17px;color:#515e56;font-size:16px;line-height:1.85; }
.legal-section strong { color:#33483d; }
.legal-section ul { margin:4px 0 22px;padding-left:22px;color:#515e56; }
.legal-section li { margin:8px 0;padding-left:5px;line-height:1.75; }
.legal-opening { padding-top:4px; }
.legal-callout { display:flex;gap:22px;align-items:center;margin:30px 0;padding:24px 26px;border-radius:18px;background:var(--sage); }
.legal-callout img { flex:0 0 auto; }
.legal-callout p { margin:0;color:#3e5548; }
.legal-contact { border-bottom:0;padding:0;margin-bottom:0; }
.legal-footer { max-width:1280px;margin-left:auto;margin-right:auto; }
@media(max-width:900px){
  .legal-hero { grid-template-columns:1fr;gap:42px; }
  .legal-meta { max-width:260px; }
  .legal-layout { grid-template-columns:1fr;gap:55px; }
  .legal-toc { position:static; }
  .legal-toc nav { display:grid;grid-template-columns:1fr 1fr;column-gap:24px; }
}
@media(max-width:560px){
  .legal-header { height:82px;padding:0 20px; }
  .legal-hero { width:calc(100% - 20px);padding:48px 25px;border-radius:20px; }
  .legal-hero h1 { font-size:51px;letter-spacing:-2px; }
  .legal-lead { font-size:16px; }
  .legal-layout { width:calc(100% - 40px);padding:60px 0 80px;gap:44px; }
  .legal-toc nav { grid-template-columns:1fr; }
  .legal-section { grid-template-columns:1fr;gap:8px;padding-bottom:40px;margin-bottom:40px; }
  .legal-number { padding:0; }
  .legal-callout { align-items:flex-start;padding:21px 19px; }
  .legal-footer { margin-left:20px;margin-right:20px; }
  .footer-links { width:100%;justify-content:center; }
}

/* Current app organisation, with restrained surface depth. */
.formation-copy{min-width:0}.formation-copy h2{font-size:clamp(34px,3.7vw,54px)}
.week-explainer{display:flex;gap:18px;margin-top:30px;max-width:460px}
.week-number{font-size:12px;color:#c6d5c9;padding-top:7px}
.week-explainer h3{font-size:23px;margin-bottom:8px;color:var(--cream)}
.week-explainer p{font-size:16px;line-height:1.75;color:#dde7de}







.inline-link{text-decoration:underline;text-underline-offset:3px}.inline-link:hover{color:var(--forest)}
:focus-visible{outline:2px solid #36594a;outline-offset:4px}.formation :focus-visible{outline-color:#e0e9df}
@media(max-width:760px){.formation{padding:68px 24px}.formation-inner{gap:38px}.week-explainer{margin-top:24px}.section{padding-top:72px;padding-bottom:72px}.intro{padding-bottom:72px}.rhythm{padding-bottom:72px}.companion{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Editorial Scripture feature: open typography, without app controls or card chrome. */
.path-editorial{padding:12px 0 12px 42px;border-left:1px solid #b7cbb34d;color:#fdfbf7}
.path-editorial>.eyebrow{font-size:11px;letter-spacing:.18em;margin:0 0 32px}
.path-editorial blockquote{margin:0}
.path-editorial blockquote p{font:italic 32px/1.5 Lora,Georgia,serif;letter-spacing:-.025em;margin:0 0 22px;text-wrap:pretty}
.path-editorial cite{font:400 13px/1.6 'Source Sans 3',sans-serif;color:#d3ddc9}
.path-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px;padding-top:24px;border-top:1px solid #b7cbb34d}
.path-moments>div>span{color:#cad8c3;font-size:11px;letter-spacing:.1em}
.path-moments h3{font:400 23px/1.3 Lora,Georgia,serif;margin:14px 0 10px}
.path-moments p{font-size:16px;line-height:1.65;color:#e0e5dc;margin:0}
.path-endnote{font-size:13px;letter-spacing:.025em;color:#d3ddc9;margin:32px 0 0}
@media(max-width:760px){.path-editorial{padding:32px 0 0;border-left:0;border-top:1px solid #b7cbb34d}.path-editorial blockquote p{font-size:28px}.path-moments{gap:16px}.path-moments h3{font-size:21px}}
@media(max-width:380px){.path-moments{grid-template-columns:1fr;gap:24px}.path-moments h3{display:inline;margin-left:12px}.path-moments p{margin-top:8px}}

/* Shared marketing heading scale; app previews keep their own typography. */
.intro h2,.section-heading h2,.companion-copy h2,.formation-copy h2,.privacy-title h2,.faq h2,.closing h2{font-size:clamp(36px,4vw,54px);line-height:1.16;letter-spacing:-.035em}
.intro{max-width:1400px;padding-left:6vw;padding-right:6vw;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;align-items:center;text-align:left}
.intro-copy>p:last-child{max-width:490px;color:#60685f;font-size:17px;line-height:1.85}
.intro-painting{margin:0;min-width:0}
.intro-painting img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px}
@media(max-width:760px){.intro h2,.section-heading h2,.companion-copy h2,.formation-copy h2,.privacy-title h2,.faq h2,.closing h2{font-size:36px}.intro{grid-template-columns:1fr;gap:32px;padding-left:24px;padding-right:24px}.intro-copy>p:last-child{font-size:16px}.intro-painting{width:100%}}

/* A painted clearing frames the closing invitation. */
.closing-invitation{position:relative;isolation:isolate;overflow:hidden;background:#e7eadf;padding-top:76px;padding-bottom:68px}
.closing-landscape{position:absolute;inset:-8px;z-index:-2;pointer-events:none}
.closing-landscape img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;filter:blur(3px);opacity:.85}
.closing-invitation::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,rgba(253,251,247,.96) 0%,rgba(240,241,230,.9) 28%,rgba(233,238,222,.62) 59%,rgba(228,235,218,.25) 100%)}
.closing-invitation .launch-copy{color:#36594a}
.closing-invitation .availability{color:#394e40}
@media(max-width:760px){.closing-invitation{padding:56px 24px}.closing-landscape img{object-position:47% center;filter:blur(2px)}.closing-invitation::before{background:linear-gradient(180deg,#fdfbf7cf,#f0f1e6ed 35%,#edf0e2e6 72%,#e4ebdacc)}}

/* Let the closing landscape reach both edges of the page. */
.closing.closing-invitation{margin-left:0;margin-right:0;border-radius:0;width:100%}



/* Identical logical screen dimensions and display scale across all previews. */
:root{--app-preview-width:clamp(200px,18vw,300px)}
.app-preview-frame{position:relative;width:var(--app-preview-width);max-width:100%;aspect-ratio:390/844;margin:auto;flex:none}
.app-preview-frame .phone{position:absolute;inset:0;width:390px!important;max-width:none!important;height:844px;min-height:0;margin:0;display:flex;flex-direction:column;transform:scale(var(--screen-scale,.6))!important;transform-origin:top left!important;animation:none!important;translate:none!important;border-radius:24px}
.product-hero{align-items:center;min-height:0;padding-top:40px;padding-bottom:40px}
.hero-phone,.hero-secondary{width:var(--app-preview-width)!important;max-width:100%;transform:none!important;justify-self:center}
@media(max-width:1100px){:root{--app-preview-width:280px}}
@media(max-width:1100px){:root{--app-preview-width:min(280px,calc(100vw - 100px))}}

/* Today preview follows the app's reading hierarchy inside the shared screen. */
.hero-phone .app-preview-frame .phone h3{font-size:32px;line-height:1.25;margin-bottom:12px}

/* Library preview mirrors the app's continuous chapter reader. */
#panel-read .phone{background:#171e19}

/* Reflect menu follows the app's icon, copy and trailing-arrow layout. */

/* Real app screenshots and the Talk recording fill the shared preview screen. */
.phone-shot{display:block;width:100%;height:100%;object-fit:cover;object-position:top;background:var(--cream)}
