/* Carry the approved amber-glass art direction through every existing page. */
:root{--muted:#56665b}
body{font-size:20px}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}
.eyebrow{font-size:13px;letter-spacing:.14em}
.fine{font-size:14px;line-height:1.6}
.quiet{font-size:17px}
.button{font-size:18px;min-height:52px}
.text-link{font-size:18px;min-height:44px}
.brand-caption{font-size:12px;letter-spacing:.18em}
.nav-app{font-size:18px}
.header-join{font-size:18px}
.hero-note{font-size:15px;color:#425448}
.hero-chapters{left:81.5%;right:3.5%}
.hero-chapters button{font-size:17px;line-height:1.35;padding:17px 0;gap:10px}
.hero-chapters h2{font-size:30px;margin-bottom:20px}
.chapter-number{font-size:14px}
.hero-description{font-size:clamp(24px,1.95vw,40px)}
.watch-button{font-size:clamp(21px,1.5vw,30px)}
.statement-band{padding:38px 6% 42px}
.statement-band p{font-size:clamp(42px,4.6vw,72px);max-width:850px}
.statement-band span{font-size:19px;max-width:310px;line-height:1.5}
.section-wrap{padding:100px 6%}
.how-section{gap:8%}
.section-intro h2,.faq-section h2{font-size:clamp(60px,5.5vw,88px);margin:24px 0 32px}
.section-intro>p:not(.eyebrow){font-size:21px;line-height:1.65;max-width:490px}
.section-intro>p.quiet{font-size:17px}
.process{padding:30px 0 34px;gap:22px}
.process-number{font-size:17px;padding-top:8px;flex-basis:28px}
.process-copy{gap:17px}
.process-copy strong{font-size:clamp(32px,2.6vw,40px);line-height:1.12}
.process-copy>span:not(.text-link){font-size:19px;line-height:1.6}
.process .text-link{font-size:17px}
.feature-section{max-width:1440px;margin:0 auto;padding:32px 4% 84px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.feature-stage{position:relative;isolation:isolate;aspect-ratio:4/5.8;min-width:0;overflow:hidden;border-radius:4px 4px 100px 4px;background:#e5dac4}
.stage-backdrop{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.stage-caption{position:absolute;left:8%;top:6%;right:20%;font-family:var(--serif);font-size:clamp(26px,2.5vw,36px);line-height:1.12;letter-spacing:-.03em}
.feature-phone{position:absolute;left:12%;top:16%;width:57%;transform:rotate(-5deg);filter:drop-shadow(12px 20px 18px #492d2533);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.feature-phone:hover{transform:rotate(-2deg) translateY(-6px)}
.feature-phone .phone-screen,.beta-phone .phone-screen{z-index:0}
.feature-phone .phone-frame,.beta-phone .phone-frame{z-index:1}
.stage-proof{position:absolute;bottom:3%;left:7%;font-size:12px;padding:6px 11px;color:#173f30;background:#f5f0e4eb;border-radius:4px}
.feature-copy{padding:12px 0}
.feature-copy h2{font-size:clamp(46px,4.3vw,68px);line-height:1.04;margin:22px 0 28px}
.feature-copy h2 em{color:var(--rust)}
.feature-copy>p:not(.eyebrow):not(.fine){font-size:21px;line-height:1.65;max-width:520px}
.feature-copy>.button{margin-top:28px}
.feature-copy>.fine{margin-top:24px;max-width:520px}
.reminder-detail{margin-top:32px;border-top:1px solid var(--line);padding-top:25px}
.reminder-detail h3{font-family:var(--sans);font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.02em}
.reminder-detail>p:not(.fine){font-size:17px;line-height:1.55;margin-top:10px}
.reminder-trigger{padding:0;margin:12px 0 0}
.notification{max-width:100%;padding:20px;margin:13px 0;background:#e7eadd;border:0;border-radius:16px;box-shadow:none;gap:14px}
.notification-meta{font-size:11px;color:#4f6557}
.notification strong{font-size:18px}
.notification p{font-size:15px;line-height:1.5}
.receipt-feature{padding-top:50px;padding-bottom:80px;gap:8%}
.receipt-stage{border-radius:100px 4px 4px 4px}
.receipt-stage .feature-phone{left:15%;top:17%;width:57%;transform:rotate(5deg)}
.receipt-stage .feature-phone:hover{transform:rotate(2deg) translateY(-6px)}
.receipt-stage .stage-caption{left:10%;right:20%;top:5%}
.receipt-flow,.beta-steps{list-style:none;padding:0;margin:28px 0 4px}
.receipt-flow li,.beta-steps li{display:flex;gap:20px;align-items:baseline;border-top:1px solid var(--line);padding:17px 0}
.receipt-flow li>span,.beta-steps li>span{font-size:14px;color:var(--rust)}
.receipt-flow strong,.beta-steps strong{font-size:20px;font-weight:600}
.receipt-flow p,.beta-steps p{font-size:17px;line-height:1.5;color:var(--muted);margin-top:5px}
.receipt-feature .button-rust img{filter:invert(1)}
.faq-section{padding-top:90px;padding-bottom:100px;border-top:1px solid var(--line);gap:8%}
.faq-list details{padding:20px 0}
.faq-list summary{font-size:21px;line-height:1.4;min-height:48px}
.faq-list details p{font-size:19px;line-height:1.7;margin-top:18px}
.join-section{margin:0 3%;padding:75px 6%;border-radius:8px 8px 100px 8px;gap:45px}
.join-section h2{font-size:clamp(66px,7vw,104px)}
.join-section .fine{font-size:16px}
.join-qr{margin:0;text-align:left;max-width:260px}
.join-qr>.eyebrow{display:block;margin-bottom:20px;color:#d0d5bd}
.join-qr img{width:210px;height:210px;border-radius:6px}
.join-qr p{font-size:17px;line-height:1.4;margin-top:18px}
footer{padding:44px 6% 30px}
footer p,footer nav{font-size:17px}
footer small{font-size:13px}
/* Readable demo type, shared with the new product-feature players. */
.is-story .demo-brand{font-size:30px}
.is-story .demo-tabs button{font-size:16px}
.is-story .story-phases button{font-size:16px}
.is-story .story-phases button>span:first-child{font-size:13px}
.is-story .demo-info h2{font-size:clamp(40px,3.6vw,54px)}
.is-story #demo-description{font-size:18px;line-height:1.5;max-width:none}
.is-story .demo-info .fine{font-size:12px;max-width:none}
.story-payoff .payoff-label{font-size:11px;margin-bottom:13px}
.story-payoff>p:last-child{font-size:14px}
.route-chips span{font-size:14px}
.scan-lines span,.review-result{font-size:16px}
.review-result strong{font-size:23px}
.story-payoff dt{font-size:14px}
.story-payoff dd{font-size:39px}
.story-payoff dd small{font-size:14px}
.target-result>span{font-size:18px}
.weekly-hero>span{font-size:16px}
.weekly-hero>p{font-size:14px}
.week-bars>div{font-size:14px;grid-template-columns:78px 1fr 55px}
.story-payoff .gap-note{font-size:16px}
.story-scrub{font-size:13px}
.story-transport>button{font-size:16px}
.story-note{font-size:12px}
.story-evidence{font-size:11px}
#story-expand{font-size:13px}
.feature-step-live{display:none}
dialog.is-feature{width:min(1160px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:1000px}
.is-feature .demo-shell{height:100%;min-height:620px;display:grid;grid-template-columns:minmax(290px,.9fr) minmax(340px,1.1fr);grid-template-rows:48px 58px minmax(0,1fr);gap:0 38px;padding:20px 32px 20px 20px}
.is-feature .demo-top{grid-column:2;grid-row:1}
.is-feature .demo-brand{font-size:30px}
.is-feature .demo-tabs{grid-column:2;grid-row:2;margin:0}
.is-feature .demo-tabs button{font-size:16px;padding:12px 14px}
.is-feature .demo-panel{display:contents}
.is-feature .demo-media{grid-column:1;grid-row:1/4;min-width:0;min-height:0;justify-content:center}
.is-feature .story-device{position:relative;height:100%;max-height:890px;max-width:100%;aspect-ratio:.518757;filter:drop-shadow(0 18px 20px #73371026)}
.is-feature .story-device-frame{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.is-feature .demo-media video{position:absolute;z-index:1;left:9.9211%;top:4.7351%;width:79.8196%;height:89.9662%;max-width:none;aspect-ratio:auto;object-fit:contain;border-radius:11% / 5.5%;background:#f7f4ec;box-shadow:none}
.is-feature .demo-info{grid-column:2;grid-row:3;align-self:center;padding:25px 0;min-width:0}
.is-feature .demo-info h2{font-size:clamp(44px,4.3vw,66px);margin:18px 0 22px}
.is-feature #demo-description{font-size:20px;line-height:1.6}
.is-feature .demo-info .fine{font-size:13px;max-width:none}
.is-feature .demo-info ol{margin:24px 0}
.is-feature .demo-info li{font-size:18px;display:block;margin:6px 0}
.is-feature .demo-info li:before{display:none}
.demo-step-button{display:flex;align-items:baseline;gap:15px;text-align:left;width:100%;padding:12px 15px;border-radius:6px;min-height:52px;font-size:inherit;line-height:1.5}
.demo-step-button>span{font-size:13px;color:var(--rust);font-weight:500}
.is-active .demo-step-button{background:#e3e8dc;font-weight:600}
.demo-step-button:hover{background:#ebe6d9}
.is-feature #next-chapter{font-size:17px}
/* Beta invitation: the same photographic room, not a detached signup screen. */
.beta-page{padding:0;display:block}
.beta-header{max-width:1500px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between}
.beta-header .brand{font-size:48px}
.beta-header .back-link{display:inline-flex;align-items:center;gap:12px;margin:0;min-height:48px;font-size:17px}
.beta-layout{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:10px 5% 65px;align-items:center}
.beta-set{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/4.8;border-radius:5px 5px 90px 5px}
.beta-set-heading{position:absolute;left:9%;top:5%;font-family:var(--serif);font-size:clamp(34px,3vw,48px);line-height:1.05;letter-spacing:-.04em}
.beta-set-heading em{color:var(--rust)}
.beta-phone{position:absolute;left:15%;top:23%;width:58%;transform:rotate(-4deg);filter:drop-shadow(8px 16px 16px #6f3f2029)}
.beta-copy h1{font-size:clamp(52px,5.2vw,80px);margin:20px 0 24px}
.beta-copy h1 em{color:var(--rust)}
.beta-lead{font-size:22px;line-height:1.6;max-width:540px}
.beta-cta{margin:28px 0 8px;font-size:20px;padding:17px 24px}
.beta-steps{margin:22px 0}
.beta-steps li{padding:16px 0}
.beta-desktop-invite{display:flex;align-items:center;gap:22px;margin-top:25px}
.beta-desktop-invite>a{flex:0 0 132px}
.beta-desktop-invite img{width:132px;height:132px;border-radius:6px}
.beta-desktop-invite strong{font-size:19px;font-weight:600}
.beta-desktop-invite p{font-size:17px;line-height:1.5;margin-top:6px}
.beta-note{margin-top:24px;max-width:550px}
.beta-footer{max-width:1360px;margin:0 auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:25px 5%}
.beta-footer a{font-size:16px;min-height:44px;display:flex;align-items:center}
@media(min-width:701px) and (max-height:820px){
  .is-story .demo-info{padding:8px 0}
  .is-story .demo-info h2{font-size:42px;margin-bottom:12px}
  .is-story #demo-description{font-size:17px}
  .is-story .story-payoff{margin-top:16px;padding-top:14px}
  .story-payoff>p:last-child{margin-top:10px}
  .weekly-hero{margin-bottom:13px}
  .week-bars{gap:8px}
  .is-story .demo-info .fine{margin-top:10px;font-size:11px}
  .is-feature .demo-info h2{font-size:49px}
  .is-feature #demo-description{font-size:18px}
  .is-feature .demo-info ol{margin:17px 0}
  .is-feature .demo-info li{font-size:17px}
}
@media(min-width:701px) and (max-width:1050px){
  .header-join{font-size:15px}
  .brand-caption{font-size:9px}.nav-app{font-size:16px}
  .hero-chapters button{font-size:13px;gap:6px;padding:12px 0}
  .hero-chapters h2{font-size:22px}
  .hero-note{font-size:12px}
  .hero-description{font-size:21px}
  .watch-button{font-size:18px}
  .statement-band{gap:30px}.statement-band p{font-size:43px}.statement-band span{font-size:17px;max-width:220px}
  .how-section{grid-template-columns:1fr 1.15fr;gap:6%}
  .section-intro h2,.faq-section h2{font-size:60px}
  .section-intro>p:not(.eyebrow){font-size:19px}
  .process-copy strong{font-size:31px}
  .process-copy>span:not(.text-link){font-size:18px}
  .feature-section{gap:5%;padding-left:4%;padding-right:4%}
  .feature-stage{aspect-ratio:3/6.3}
  .stage-backdrop{object-fit:cover;object-position:65% center}
  .feature-phone{width:82%;left:4%;top:18%}
  .receipt-stage .feature-phone{width:82%;left:6%;top:18%}
  .stage-caption,.receipt-stage .stage-caption{left:8%;top:7%;right:8%;font-size:29px}
  .feature-copy h2{font-size:47px}
  .feature-copy>p:not(.eyebrow):not(.fine){font-size:19px}
  .notification{padding:16px;gap:10px}
  .notification>img{width:38px;height:38px}
  .notification p{font-size:14px}
  .receipt-flow p{font-size:16px}
  .is-feature .demo-shell{grid-template-columns:1fr 1fr;gap:0 18px;padding:16px}
  .is-feature .story-device{height:auto;width:100%}
  .is-feature .demo-info h2{font-size:40px}
  .is-feature #demo-description{font-size:18px}
  .is-feature .demo-tabs button{font-size:14px;padding:10px}
  .is-story .demo-tabs button{font-size:14px;padding:9px}
  .is-story .story-phases button{font-size:14px}
  .is-story .demo-info h2{font-size:37px}
  .is-story .story-payoff dd{font-size:28px}
  .beta-layout{gap:5%}
  .beta-set{aspect-ratio:3/7}
  .beta-set-heading{font-size:35px}
  .beta-phone{left:6%;top:27%;width:82%}
  .beta-copy h1{font-size:53px}
  .beta-lead{font-size:19px}
  .beta-steps strong{font-size:18px}.beta-steps p{font-size:16px}
}
@media(max-width:700px){
  body{font-size:18px}
  .eyebrow{font-size:12px;letter-spacing:.12em}
  .fine{font-size:14px}
  .button{font-size:17px;min-height:52px}
  .header-join{font-size:14px;min-height:46px}
  .hero-description{font-size:20px}
  .hero-note{font-size:13px}
  .watch-button{font-size:20px}
  .hero-chapters{left:auto;right:auto;margin:48px 6% 0}
  .hero-chapters h2{font-size:34px}
  .hero-chapters button{font-size:18px;padding:18px 0;grid-template-columns:28px 1fr 17px;gap:14px}
  .chapter-number{font-size:15px}
  .statement-band{padding:35px 6% 40px}
  .statement-band p{font-size:43px}
  .statement-band span{font-size:18px;margin-top:20px}
  .section-wrap{padding:65px 6%}
  .how-section{gap:34px}
  .section-intro h2,.faq-section h2{font-size:59px}
  .section-intro>p:not(.eyebrow){font-size:20px;line-height:1.6}
  .section-intro>p.quiet{font-size:16px}
  .process{gap:14px}
  .process-number{font-size:16px;flex-basis:25px}
  .process-copy strong{font-size:33px}
  .process-copy>span:not(.text-link){font-size:18px}
  .process .text-link{font-size:17px}
  .feature-section{display:flex;flex-direction:column;padding:25px 6% 65px;gap:30px}
  .feature-copy{order:0;width:100%;padding:0}
  .feature-stage{order:1;width:100%;aspect-ratio:4/6; border-radius:4px 4px 65px 4px}
  .stage-caption,.receipt-stage .stage-caption{font-size:25px;top:5%;left:7%;right:10%}
  .feature-phone{width:61%;left:12%;top:16%}
  .receipt-stage .feature-phone{width:61%;left:14%;top:18%}
  .stage-proof{font-size:10px}
  .feature-copy h2{font-size:49px;line-height:1.05;margin:19px 0 23px}
  .feature-copy>p:not(.eyebrow):not(.fine){font-size:20px;line-height:1.6}
  .feature-copy>.button{margin-top:23px}
  .reminder-detail{margin-top:27px;padding-top:22px}
  .reminder-detail h3{font-size:22px}
  .reminder-detail>p:not(.fine){font-size:17px}
  .notification{padding:17px}
  .notification strong{font-size:18px}
  .notification p{font-size:15px}
  .receipt-feature{padding-top:25px}
  .receipt-flow{margin-top:23px}
  .receipt-flow strong{font-size:21px}
  .receipt-flow p{font-size:17px}
  .faq-section{gap:25px}
  .faq-list summary{font-size:19px}
  .faq-list details p{font-size:18px}
  .join-section{margin:0 4%;padding:48px 7%;border-radius:5px 5px 65px 5px}
  .join-section h2{font-size:60px}
  .join-section .eyebrow{font-size:12px}
  .join-section .button{font-size:16px}
  .join-section .fine{font-size:14px}
  footer p,footer nav{font-size:16px}
  footer small{font-size:12px}
  .is-story .demo-shell{grid-template-rows:44px 46px 100px minmax(0,1fr) 70px;padding:6px 14px 8px}
  .is-story .demo-brand{font-size:24px}
  .is-story #close-demo{height:44px}
  .is-story .story-phases button{font-size:14px;min-height:44px}
  .is-story .story-phases button>span:first-child{font-size:12px}
  .is-story .demo-info h2{font-size:28px;line-height:1.02;margin-bottom:7px}
  .is-story #demo-description{font-size:14px;line-height:1.4}
  .is-story .story-evidence{font-size:9px;max-width:59px}
  .is-story #story-expand{font-size:11px;max-width:59px}
  .is-story .story-scrub{font-size:12px}
  .is-story .story-controls{grid-template-rows:48px 22px}
  .is-story .story-transport #story-toggle{font-size:14px;min-height:44px}
  .is-story .story-note{font-size:10px;line-height:1.3}
  .is-story.is-expanded .demo-shell{display:flex}
  .is-story.is-expanded .story-evidence{max-width:none;font-size:11px}
  .is-story.is-expanded #story-expand{max-width:none;font-size:13px}
  dialog.is-feature{width:100vw;height:100dvh;max-height:100dvh}
  .is-feature .demo-shell{height:100dvh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 44px 120px minmax(0,1fr) 42px 46px 32px;gap:4px;padding:8px 18px}
  .is-feature .demo-top{grid-column:1;grid-row:1}
  .is-feature .demo-brand{font-size:24px}
  .is-feature .demo-tabs{grid-column:1;grid-row:2;gap:0}
  .is-feature .demo-tabs button{font-size:14px;padding:10px 12px}
  .is-feature .demo-info{display:contents}
  .is-feature .demo-info>.eyebrow{display:none}
  .is-feature #demo-caption{grid-column:1;grid-row:3;align-self:center}
  .is-feature .demo-info h2{font-size:29px;line-height:1.05;margin:3px 0 9px}
  .is-feature #demo-description{font-size:15px;line-height:1.4}
  .is-feature .feature-step-live{display:block;grid-column:1;grid-row:5;align-self:center;font-size:14px;color:var(--green);font-weight:600;line-height:1.35;margin:0}
  .is-feature .demo-info ol{display:none}
  .is-feature .demo-info .fine{grid-column:1;grid-row:7;font-size:10px;line-height:1.4;margin:0;align-self:center}
  .is-feature #next-chapter{grid-column:1;grid-row:6;font-size:16px;margin:0;min-height:44px;padding:10px}
  .is-feature .demo-media{grid-column:1;grid-row:4;height:100%;max-height:none;margin:0}
  .is-feature .story-device{height:100%;max-width:100%;width:auto}
  .beta-header{padding:20px 6%}
  .beta-header .brand{font-size:37px}
  .beta-header .brand img{width:42px;height:42px}
  .beta-header .back-link{font-size:15px;gap:7px}
  .beta-layout{display:flex;flex-direction:column-reverse;gap:40px;padding:22px 6% 45px}
  .beta-copy{width:100%}
  .beta-copy h1{font-size:57px;margin:18px 0 22px}
  .beta-lead{font-size:20px;line-height:1.6}
  .beta-cta{font-size:18px;width:100%;margin:25px 0 8px}
  .beta-steps{margin-top:20px}
  .beta-steps li{padding:17px 0;gap:16px}
  .beta-steps strong{font-size:20px}.beta-steps p{font-size:17px}
  .beta-desktop-invite{display:none}
  .beta-note{font-size:14px}
  .beta-set{width:100%;aspect-ratio:3/5;border-radius:5px 5px 65px 5px}
  .beta-set-heading{font-size:33px}
  .beta-phone{width:58%;top:23%;left:13%}
  .beta-footer{margin:0 6%;padding:20px 0;gap:15px}
  .beta-footer p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.feature-phone,.receipt-stage .feature-phone{transition:none}.feature-phone:hover,.receipt-stage .feature-phone:hover{transform:none}}
