/* Local fonts; all four product screenshots are unedited beta captures. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('fonts/manrope-latin.woff2') format('woff2')}

:root{--green:#0f5132;--deep:#0c3528;--sage:#446e55;--paper:#f7f8f3;--ink:#193c30;--text:#596d61;--line:#d5dfd1;--soft:#e8eee3;--focus:#346b43}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
:where(button,a,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:5px}
#main:focus{outline:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3,.brand{font-family:'Manrope',Arial,sans-serif}
h1,h2{font-weight:650;letter-spacing:-.055em;line-height:1.12}
h1 em,h2 em{font-family:Georgia,serif;font-weight:400}
h3{letter-spacing:-.035em;line-height:1.35;font-weight:700}
.wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.section{padding-block:60px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--sage);font-size:10px;letter-spacing:.13em;font-weight:700;line-height:1.5}
.section-intro h2{font-size:clamp(32px,8.8vw,42px);margin-top:16px}
.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);padding:12px;z-index:100}
.skip-link:focus{top:12px}
.status-dot{width:6px;height:6px;flex-shrink:0;background:currentColor;border-radius:50%;box-shadow:0 0 0 4px #446e5514}

/* Navigation is expanded by default; only hide it once its controls are ready. */
.header{min-height:84px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;position:relative}
.brand{display:inline-flex;align-items:center;gap:14px;font-size:28px;font-weight:800;letter-spacing:-.055em;line-height:1}
.brand-dot{color:var(--sage)}
.brand-icon{width:42px;height:42px;flex-shrink:0}
.menu-toggle{display:none;min-height:44px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:transparent;color:var(--ink);font-size:13px}
.header nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;font-size:13px;font-weight:600;padding-bottom:20px}
.header nav>a{min-height:44px;display:flex;align-items:center}
.header nav>a:not(.button):hover,.text-link:hover,.footer a:not(.brand):hover{text-decoration:underline;text-underline-offset:5px}
.button{border:1px solid var(--green);background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;padding:13px 18px;border-radius:7px;font-weight:600;font-size:14px;line-height:1.5;text-align:left;transition:background .18s}
.button:hover{background:var(--deep)}
.button span{font-size:22px;line-height:1}
.button-small{min-height:44px;font-size:12px;padding:10px 14px;gap:14px}
.text-link{min-height:44px;display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:600}
.text-link span{font-size:20px}

/* The first screen stays short; the full schedule is never cropped. */
.hero{display:grid;gap:28px;padding-block:22px 44px}
.hero h1{font-size:clamp(34px,9.5vw,66px);margin-top:18px}
.hero-description{max-width:475px;margin-top:20px;color:var(--text);font-size:16px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:24px}
.hero-actions .text-link{display:none}
.availability{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--sage);margin-top:16px}
.hero-visual{position:relative;isolation:isolate;display:grid;place-items:center;padding:22px 0 0}
.hero-visual:before{content:'';position:absolute;z-index:-1;inset:52px -4px 50px;background:var(--soft);border-radius:160px 160px 12px 12px}
.product-shot{width:100%;max-width:300px;margin:0;justify-self:center}
.product-shot img{display:block;width:100%;height:auto;border:1px solid #c8d6c7;border-radius:12px;box-shadow:0 14px 30px -15px #193c3030}
.product-shot figcaption{font-size:14px;line-height:1.6;color:var(--text);text-align:center;margin-top:12px}
.screenshot-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.hero-shot{max-width:286px}

/* Template choices and optional tools stay readable without JavaScript. */
.audience-section{border-top:1px solid var(--line)}
.audiences{display:grid;gap:28px;margin-top:30px}
.audiences article{position:relative;padding-left:35px}
.section-number{position:absolute;top:2px;left:0;font-size:11px;font-weight:600;color:var(--sage);letter-spacing:.07em}
.audiences h3{font-size:21px;margin-bottom:9px}
.audiences p{color:var(--text);font-size:15px;line-height:1.75}
.profile-note{margin-top:28px;color:var(--text);font-size:13px;line-height:1.7}
.profile-note a{display:block;width:fit-content;min-height:44px;padding-block:10px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.feature-choice{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.feature-choice h3{font-size:19px;margin-bottom:6px}
.feature-choice p{font-size:14px;color:var(--text)}
.feature-options{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.feature-options li{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:6px 11px;font-size:13px;color:var(--ink)}

/* All tour content is HTML. Script enhances it into a keyboard-operable tab set. */
.workspace-section{background:var(--soft);border-block:1px solid var(--line)}
.tour-heading{display:grid;gap:18px}
.tour-heading>p{color:var(--text);max-width:355px;font-size:15px}
.tour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;margin-block:28px 24px}
.tour-tabs-hint{grid-column:1/-1;font-size:13px;font-weight:600;color:var(--ink)}
.tour-tabs button{min-height:52px;padding:10px 6px;background:var(--paper);border:2px solid #829a83;border-radius:7px;font-size:14px;font-weight:700;color:var(--green);box-shadow:0 2px 3px #193c3014;transition:background .15s,border-color .15s,box-shadow .15s}
.tour-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:white;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;box-shadow:none}
.tour-tabs button:hover{background:#fff;border-color:var(--green);box-shadow:0 3px 8px #193c3026}
.tour-tabs button[aria-selected=true]:hover{background:var(--deep);border-color:var(--deep)}
.tour-panel{display:grid;gap:24px;margin-top:32px}
.tour-panel+.tour-panel{border-top:1px solid #c8d6c7;padding-top:32px}
.tour-tabs:not([hidden])+.tour-panels .tour-panel{margin:0;border:0;padding:0}
.tour-copy h3{font-size:30px;line-height:1.17;margin-block:12px 14px;font-weight:650;letter-spacing:-.045em}
.tour-copy>p:not(.eyebrow){color:var(--text);font-size:15px;max-width:400px;line-height:1.75}
.tour-copy .tour-example{display:none}
.product-shot .invoice-note{display:block;font-size:14px;line-height:1.7;margin-top:12px}
.tour-example span{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--sage);margin-bottom:8px}
.supporting-tools{display:grid;gap:22px;border-top:1px solid #c8d6c7;margin-top:36px;padding-top:28px}
.supporting-tools h3{font-size:18px;margin-bottom:6px}
.supporting-tools p{font-size:14px;color:var(--text);line-height:1.75}

/* Recovery and practical answers have their own place in the page. */
.privacy-section{display:grid;gap:30px;border-bottom:1px solid var(--line)}
.privacy-copy{display:grid;gap:26px}
.privacy-copy h3{font-size:20px;margin-bottom:10px}
.privacy-copy p{font-size:15px;color:var(--text);line-height:1.8}
.questions{display:grid;gap:28px}
.faq-list details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:16px 0;font-size:15px;font-weight:600;line-height:1.6}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';flex:0 0 20px;text-align:center;font-size:24px;line-height:1;font-weight:400;color:var(--sage)}
details[open]>summary:after{content:'−'}
.faq-list p{font-size:15px;line-height:1.8;color:var(--text);margin-block:0 22px;max-width:650px}
.development{padding-block:0 52px}
.beta-card{background:var(--deep);color:var(--paper);border-radius:16px;padding:30px 24px;display:grid;gap:28px}
.beta-card .eyebrow{color:#b7d0ac;font-size:9px;letter-spacing:.11em}
.beta-card h2{font-size:clamp(29px,8vw,42px);margin-block:20px 18px}
.beta-card p:not(.eyebrow){color:#c5d6c8;font-size:15px;line-height:1.8}
.beta-card>div>p{max-width:420px}
.beta-action .button{width:100%;margin-block:20px 12px}
.button-light{background:#e5eddf;border-color:#e5eddf;color:var(--deep);font-size:13px;gap:12px}
.button-light:hover{background:white}
.beta-card :focus-visible{outline-color:#e5eddf}
.beta-card .email-help{font-size:12px}
.beta-card .release-note{font-size:12px;border-top:1px solid #3c5c4b;margin-top:22px;padding-top:16px}

.footer{padding-block:28px 24px;border-top:1px solid var(--line)}
.footer-main{display:grid;gap:24px}
.footer .brand{font-size:27px}
.footer-main p{font-size:13px;color:var(--text);margin-top:10px}
.footer-contact{display:grid;justify-items:start}
.footer-contact span{font-size:12px;color:var(--text)}
.footer-contact a{font-size:16px;min-height:44px;display:flex;align-items:center}
.footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer nav a{min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--text)}
.website-privacy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}
.website-privacy summary{font-size:13px}
.website-privacy-copy{display:grid;gap:22px;padding-block:10px 26px}
.website-privacy-copy h3{font-size:16px;margin-bottom:10px}
.website-privacy-copy p{font-size:14px;line-height:1.8;color:var(--text)}
.website-privacy-copy a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.draft-note{margin-top:20px;color:var(--text);font-size:11px}

@media(max-width:800px){
  .js .menu-toggle{display:flex}
  .js .header nav{display:none;position:absolute;top:76px;right:0;left:0;background:var(--paper);border:1px solid var(--line);padding:18px;z-index:10;border-radius:12px;box-shadow:0 15px 25px #0f513212;align-items:stretch}
  .js .header nav.open{display:flex;flex-direction:column;gap:10px}
}
@media(max-width:360px){
  .wrap{width:calc(100% - 32px)}
  .brand{font-size:26px;gap:11px}
  .brand-icon{width:38px;height:38px}
  .hero-actions .button{font-size:13px;gap:12px;padding-inline:14px}
  .beta-card{padding:28px 18px}
  .button-light{font-size:12px;padding-inline:12px}
  .tour-tabs button{font-size:13px}
}
@media(min-width:600px){
  .wrap{width:min(1160px,calc(100% - 64px))}
  .audiences{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
  .supporting-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
  .tour-tabs{max-width:540px}
  .tour-copy>p:not(.eyebrow){max-width:520px}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(min-width:801px){
  .section{padding-block:52px}
  .header{min-height:86px;flex-wrap:nowrap;gap:24px}
  .header nav{flex-wrap:nowrap;gap:16px;padding:0;font-size:12px}
  .header .brand{font-size:30px}
  .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center;padding-block:12px 32px}
  .hero h1{font-size:clamp(42px,4.8vw,64px);margin-top:24px}
  .hero-description{font-size:17px;margin-top:24px}
  .hero-actions{margin-top:30px}
  .hero-actions .text-link{display:inline-flex}
  .availability{margin-top:20px}
  .hero-visual{padding:0}
  .hero-visual:before{inset:64px -6px 62px;border-radius:180px 180px 14px 14px}
  .hero-shot{max-width:230px}
  .section-intro h2{font-size:43px}
  .audience-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:24px 32px}
  .audiences{margin:0;gap:32px;align-self:center}
  .audiences article{padding-left:0}
  .section-number{position:static;display:block;margin-bottom:12px}
  .profile-note{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;margin:0}
  .feature-choice{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);column-gap:32px;margin:0;padding-top:20px}
  .feature-choice h3,.feature-choice p{grid-column:1}
  .feature-options{grid-column:2;grid-row:1/span 2;align-self:center;margin:0}
  .tour-heading{grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}
  .tour-heading>p{justify-self:end}
  .tour-tabs{margin-block:34px 28px}
  .tour-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding:32px}
  .tour-tabs:not([hidden])+.tour-panels .tour-panel{padding:28px 36px;background:#f7f8f370;border:1px solid #d1deca;border-radius:14px}
  .tour-copy h3{font-size:40px;margin-block:16px 20px}
  .tour-copy>p:not(.eyebrow){font-size:16px;max-width:380px}
  .tour-copy .tour-example{display:block;margin-top:34px;border-top:1px solid #cad7c4;padding-top:24px;font-size:14px}
  .tour-panel .product-shot{max-width:280px}
  /* Pair the introduction and selected story with the full phone image. */
  .js .workspace-section>.wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px 44px;align-items:start}
  .js .tour-heading{grid-column:1;display:block}
  .js .tour-heading>p{max-width:450px;margin-top:16px;justify-self:start}
  .js .tour-tabs{grid-column:1;margin:0;width:100%;max-width:480px}
  .js .tour-panels,.js .tour-tabs:not([hidden])+.tour-panels .tour-panel:not([hidden]){display:contents}
  .js .tour-copy{grid-column:1}
  .js .tour-copy h3{font-size:32px;margin-block:12px}
  .js .tour-copy>p:not(.eyebrow){max-width:450px}
  .js .tour-copy .tour-example{margin-top:20px;padding-top:16px}
  .js .tour-panel .product-shot{grid-column:2;grid-row:1/span 3;max-width:250px}
  .js .supporting-tools{grid-column:1/-1;margin-top:0;padding-top:24px}
  .supporting-tools{padding-top:32px;margin-top:36px;gap:44px}
  .supporting-tools article+article{border-left:1px solid #c8d6c7;padding-left:32px}
  .privacy-section{grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
  .privacy-copy{gap:28px}
  .questions{display:block}
  .questions>.section-intro{margin-bottom:24px}
  .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;align-items:start}
  .beta-card{grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;padding:36px}
  .beta-card h2{font-size:42px}
  .beta-card .eyebrow{font-size:10px}
  .beta-action .button{font-size:14px}
  .development{padding-bottom:44px}
  .footer-main{grid-template-columns:1fr 1fr auto;align-items:center;gap:32px}
  .footer nav{display:grid;gap:0}
  .website-privacy-copy{grid-template-columns:1fr 1fr 1fr;gap:32px}
}
@media(min-width:1101px){
  .wrap{width:min(1160px,calc(100% - 112px))}
  .header nav{gap:28px;font-size:13px}
  .hero{gap:44px}
  .hero h1{font-size:66px}
  .hero-visual:before{inset-inline:0}
  .hero-shot{max-width:240px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}
