:root { color-scheme: light; --paper:#f5f3eb; --ink:#183f3d; --muted:#566b63; --accent:#a3452c; --mint:#e4ebe2; --line:#cfd5cb; font-family:Georgia,'Times New Roman',serif; color:var(--ink); background:var(--paper); scroll-behavior:smooth; scroll-padding-top:24px; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-underline-offset:.25em; }
a:hover { color:var(--accent); }
a:focus-visible, summary:focus-visible { outline:3px solid var(--accent); outline-offset:6px; }
img { display:block; max-width:100%; height:auto; }
figure,h1,h2,h3,p { margin:0; }
p { font-family:system-ui,-apple-system,sans-serif; font-size:1rem; line-height:1.8; }
::selection { background:#d1decb; }
.page-shell { max-width:1440px; margin:auto; padding:0 64px; }
.skip-link { position:absolute; top:10px; left:10px; padding:12px 20px; background:white; z-index:5; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.site-header { min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:13px; font-size:1.6rem; text-decoration:none; letter-spacing:-.04em; }
.brand img { border-radius:12px; border:1px solid var(--line); }
.brand small { display:block; margin-top:7px; font:500 .59rem/1.4 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.13em; }
nav { display:flex; gap:30px; font:500 .8rem system-ui,sans-serif; }
nav a { text-decoration:none; padding:14px 0; }
.hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:35px; padding:92px 0 80px; }
.eyebrow,.step-number { font:650 .65rem/1.5 system-ui,sans-serif; letter-spacing:.17em; text-transform:uppercase; color:var(--accent); }
h1 { font-size:clamp(3.5rem,5.7vw,5.8rem); font-weight:400; letter-spacing:-.06em; line-height:1.08; margin:22px 0 26px; }
h1 em { color:var(--accent); font-weight:400; }
.hero-description { max-width:450px; color:var(--muted); font-size:1.08rem; }
.hero-actions { margin-top:32px; display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:17px 22px; border:1px solid var(--ink); border-radius:6px; background:var(--ink); color:white; font:550 .8rem/1.5 system-ui,sans-serif; text-decoration:none; }
.button:hover { background:#2c5550; color:white; }
.release-note { font:550 .75rem/1.8 system-ui,sans-serif; }
.release-note small { color:var(--muted); font-size:.64rem; font-weight:400; }
.status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-right:7px; margin-bottom:1px; }
.hero-footnote { color:var(--muted); font-size:.68rem; margin-top:25px; }
.hero-art { padding:0 10px 0 0; }
.art-frame { background:#ebe9df; border-radius:48% 48% 4px 4px; overflow:hidden; border:1px solid #d4d5c9; padding:22px 0 0; }
.art-frame img { width:100%; mix-blend-mode:multiply; }
figcaption { font:400 .65rem/1.7 system-ui,sans-serif; color:var(--muted); margin-top:18px; }
.hero-art figcaption { font:italic 1rem/1.5 Georgia,serif; text-align:right; margin-right:5px; }
.interlude { padding:23px 0; display:flex; justify-content:space-between; gap:20px; border-block:1px solid var(--line); font:500 .7rem/1.7 system-ui,sans-serif; }
.interlude span::before { content:'✳'; color:var(--accent); margin-right:12px; }
h2 { font-size:clamp(2.25rem,3.7vw,3.7rem); line-height:1.12; font-weight:400; letter-spacing:-.045em; }
h3 { font-size:1.8rem; line-height:1.2; font-weight:400; letter-spacing:-.025em; }
.section-intro { padding:85px 0 52px; display:grid; grid-template-columns:1fr 1fr; gap:18px 70px; align-items:end; }
.section-intro .eyebrow { grid-column:1/-1; }
.section-intro > p:last-child { color:var(--muted); max-width:400px; padding-bottom:4px; }
.practice-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; padding:20px 62px 80px; }
.phone-preview { max-width:285px; margin:auto; }
.phone-preview img { border:6px solid #254641; border-radius:33px; box-shadow:12px 19px 0 #e0e5dc; }
.phone-preview figcaption { text-align:center; margin-top:30px; }
.practice-steps article { padding:28px 0; border-bottom:1px solid var(--line); }
.practice-steps article:first-child { padding-top:0; }
.practice-steps article:last-child { border-bottom:0; }
.practice-steps h3 { margin:13px 0; }
.practice-steps p { color:var(--muted); font-size:.9rem; }
.devices-section { background:var(--mint); padding:62px 64px 0; overflow:hidden; }
.devices-copy { max-width:720px; margin:auto; text-align:center; }
.devices-copy h2 { margin:18px 0 24px; }
.devices-copy > p:not(.eyebrow) { color:var(--muted); max-width:610px; margin-inline:auto; }
.devices-copy .fine-print { font-size:.72rem; margin-top:18px; }
.tablet-preview { max-width:700px; margin:42px auto 0; }
.tablet-preview img { border:8px solid #28443e; border-radius:28px; box-shadow:0 12px 45px #193d3a1a; }
.tablet-preview figcaption { padding:8px 0 25px; text-align:center; font-size:.62rem; }
.data-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:85px 0; border-bottom:1px solid var(--line); }
.data-section h2 { margin-top:18px; }
.data-copy { padding-top:30px; }
.data-copy p { color:var(--muted); }
.data-copy p + p { margin-top:16px; }
.text-link { display:inline-flex; align-items:center; gap:28px; font:550 .8rem/1.5 system-ui,sans-serif; margin-top:24px; padding:8px 0; text-decoration:none; border-bottom:1px solid currentColor; }
.story { padding:78px 0; display:grid; grid-template-columns:1fr 1fr; gap:20px 70px; border-bottom:1px solid var(--line); }
.story .eyebrow { grid-column:1/-1; }
.story p:not(.eyebrow) { color:var(--muted); }
.story p + p { margin-top:18px; }
.story .signature { font:italic 1rem/1.6 Georgia,serif; color:var(--ink); }
.questions { padding:80px 0; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.questions h2 { margin-top:18px; }
details { border-bottom:1px solid var(--line); }
details:first-child { border-top:1px solid var(--line); }
summary { cursor:pointer; position:relative; padding:22px 30px 22px 0; list-style:none; font:550 .9rem/1.6 system-ui,sans-serif; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; position:absolute; right:3px; top:16px; font:400 1.7rem Georgia,serif; }
details[open] summary::after { content:'−'; }
details p { padding:0 20px 24px 0; color:var(--muted); font-size:.87rem; }
.support { background:var(--ink); color:var(--paper); padding:62px 25px; text-align:center; }
.support .eyebrow { color:#ebbc98; }
.support h2 { margin:20px 0; }
.support > p:not(.eyebrow) { color:#e1e7dd; font-size:.9rem; }
.support .contact-line { margin-top:28px; font-size:.77rem; }
.support a:hover { color:#ebbc98; }
.site-footer { display:flex; justify-content:space-between; gap:30px; padding:35px 0 40px; }
.footer-brand { text-decoration:none; font-size:1.15rem; }
.site-footer p { font-size:.65rem; color:var(--muted); margin-top:13px; }
.footer-right { text-align:right; font:500 .73rem/1.7 system-ui,sans-serif; }
.footer-right > a + a { margin-left:22px; }
.policy { max-width:780px; margin:65px auto 85px; }
.policy h1 { font-size:clamp(2.8rem,6vw,4rem); }
.policy .policy-date { font-size:.77rem; color:var(--muted); margin-bottom:28px; }
.policy .policy-summary { background:var(--mint); border-left:3px solid var(--ink); padding:24px 28px; margin-bottom:36px; }
.policy h2 { font-size:1.75rem; margin:38px 0 16px; letter-spacing:-.025em; }
.policy h3 { font-size:1.25rem; margin:23px 0 12px; }
.policy p,.policy li { font:400 .94rem/1.85 system-ui,sans-serif; color:#405b52; }
.policy p + p { margin-top:15px; }
.policy ul,.policy ol { padding-left:24px; }
.policy li + li { margin-top:12px; }
.policy .back-link { display:inline-block; font:500 .8rem system-ui,sans-serif; margin-bottom:28px; }
@media(min-width:1600px) { .hero { padding-block:105px; } }
@media(max-width:1100px) { .page-shell { padding:0 36px; } .hero { gap:20px; padding-block:70px; } h1 { font-size:clamp(3.1rem,5.8vw,4.5rem); } .hero-actions { gap:15px; } .button { padding:15px 18px; } .practice-layout { padding-inline:20px; gap:65px; } .devices-section { padding-inline:40px; } }
@media(max-width:760px) {
  .page-shell { padding:0 22px; } .site-header { min-height:97px; gap:15px; } .brand { font-size:1.3rem; gap:10px; } .brand img { width:40px; height:40px; border-radius:10px; } .brand small { font-size:.5rem; letter-spacing:.08em; } nav { gap:15px; font-size:.7rem; } nav a:nth-child(2) { display:none; }
  .hero { grid-template-columns:1fr; padding:52px 0 38px; gap:36px; } h1 { font-size:clamp(2.9rem,9.6vw,4.8rem); } .hero-description { font-size:1rem; } .hero-actions { gap:22px; } .hero-footnote { font-size:.65rem; } .hero-art { max-width:400px; width:100%; margin:auto; padding:0 20px; } .hero-art figcaption { font-size:.9rem; } .art-frame { padding-top:12px; }
  .interlude { justify-content:center; flex-wrap:wrap; gap:8px 20px; font-size:.63rem; padding-block:20px; } .interlude span::before { margin-right:7px; }
  .section-intro { padding:54px 0 30px; grid-template-columns:1fr; gap:16px; } .section-intro > p:last-child { font-size:.93rem; } .practice-layout { grid-template-columns:1fr; padding:12px 0 45px; gap:36px; } .phone-preview { width:250px; } .practice-steps { max-width:500px; margin:auto; } .practice-steps article { padding-block:23px; } .practice-steps h3 { font-size:1.7rem; }
  .devices-section { padding:40px 22px 0; margin-inline:-8px; } .devices-copy { text-align:left; } .devices-copy h2 { font-size:2.1rem; } .devices-copy p { font-size:.9rem; } .tablet-preview { margin-top:28px; } .tablet-preview img { border-width:5px; border-radius:16px; } .tablet-preview figcaption { font-size:.58rem; }
  .data-section,.story,.questions { grid-template-columns:1fr; gap:24px; padding-block:48px; } .data-copy { padding:0; } .data-copy p,.story p:not(.eyebrow) { font-size:.93rem; } .story { gap:18px; } .story > div { margin-top:5px; } .questions { gap:30px; } .questions h2 br { display:none; }
  .support { padding:44px 23px; } .support h2 { font-size:2.4rem; } .support .contact-line { line-height:1.9; } .site-footer { flex-direction:column; gap:20px; padding-block:28px; } .footer-right { text-align:left; } .footer-right p { margin-top:18px; }
  .policy { margin-top:40px; } .policy .policy-summary { padding:20px; } .policy h2 { font-size:1.6rem; }
}
@media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } }
