:root{color-scheme:light dark;--paper:#f7f7f2;--ink:#273a3b;--muted:#536769;--line:#d6ded8;--accent:#467b78;--accent-dark:#285b58;--card:#fffefa;--orb:#a2c8bd;--orb2:#d1e3d7;--shadow:rgba(30,68,66,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 85% 42% at 80% 24%,#e4efea 0%,transparent 74%),var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b46b31;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.shell{max-width:1190px;margin:auto;padding:0 clamp(22px,5vw,70px)}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:15px;font-weight:700;letter-spacing:-.02em;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-mark{display:inline-block;width:24px;height:24px;border:1.6px solid var(--accent);border-radius:50%;position:relative;flex:none}.brand-mark:after{content:"";position:absolute;inset:5px;border:1px solid var(--accent);border-radius:50%}.site-nav{display:flex;gap:30px}.site-nav a,.site-footer a{font-size:14px;text-decoration:none;color:var(--muted)}.site-nav a:hover,.site-footer a:hover{text-decoration:underline}.hero{min-height:650px;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:clamp(30px,5vw,80px);padding-top:18px;padding-bottom:72px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--accent-dark);margin:0 0 21px}.hero h1,.editorial h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(46px,5.8vw,82px);line-height:1.07;letter-spacing:-.055em;margin:0 0 25px;max-width:630px}.lead{font-size:clamp(17px,1.6vw,21px);line-height:1.55;color:var(--muted);max-width:430px;margin:0 0 30px}.duration-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.duration-picker button,.small-button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:10px 17px;min-height:45px}.duration-picker button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.primary-button{background:var(--accent-dark);color:#fff;border:1px solid var(--accent-dark);border-radius:99px;min-height:54px;padding:13px 25px;font-weight:650;box-shadow:0 8px 22px var(--shadow)}.primary-button:hover{background:#1c4948}.microcopy{color:var(--muted);font-size:14px;margin:15px 0 0}.exercise{min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:530px;position:relative}.exercise:before{content:"";position:absolute;width:min(480px,100%);aspect-ratio:1;background:radial-gradient(circle,#d5e9df 0%,#e5eee7 38%,transparent 71%);pointer-events:none}.breath-circle{position:relative;width:min(300px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 32%,#d5e8dc 0%,var(--orb) 48%,#87b7ae 100%);box-shadow:inset 0 0 35px rgba(255,255,255,.5),0 18px 50px rgba(78,126,117,.18);transform:scale(.72);will-change:transform}.breath-circle:before,.breath-circle:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(65,119,110,.25)}.breath-circle:before{inset:-22px}.breath-circle:after{inset:-44px;border-color:rgba(65,119,110,.13)}.breath-label{position:relative;z-index:1;color:#213f3c;font-size:24px;font-family:Georgia,serif;text-align:center;padding:12px}.timer-readout{min-height:31px;font-variant-numeric:tabular-nums;letter-spacing:.03em;margin:66px 0 13px;color:var(--muted);font-size:15px}.exercise-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;min-height:47px}.exercise-controls[hidden],.start-controls[hidden],.completion[hidden],.orb-wrap[hidden]{display:none}.text-button{background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;padding:9px 12px;min-height:44px}.completion{position:relative;text-align:center;max-width:330px}.completion h2{font-family:Georgia,serif;font-size:43px;letter-spacing:-.04em;font-weight:400;margin:0 0 8px}.completion p{margin:0 0 22px;color:var(--muted)}.completion .text-button{display:block;margin:8px auto}.below{padding-top:65px;padding-bottom:85px;border-top:1px solid var(--line)}.below h2,.prose h2{font-family:Georgia,serif;font-size:clamp(31px,3vw,42px);font-weight:400;letter-spacing:-.04em;line-height:1.2;margin:0 0 25px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.choice-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 22px;min-height:210px;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.choice-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px var(--shadow)}.card-icon{width:34px;height:34px;color:var(--accent);margin-bottom:22px}.choice-card strong{font-size:18px;line-height:1.25}.choice-card span:last-child{font-size:14px;line-height:1.45;color:var(--muted);margin-top:8px}.explain{padding:57px 0 70px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:35px}.explain p{color:var(--muted);font-size:17px;margin:0;max-width:500px}.site-footer{border-top:1px solid var(--line);padding:27px 0 35px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.footer-links{display:flex;gap:24px}.editorial{max-width:780px;padding-top:80px;padding-bottom:100px;min-height:65vh}.editorial h1{font-size:clamp(46px,5vw,68px)}.editorial p,.editorial li{font-size:18px;color:var(--muted);line-height:1.7}.editorial a{color:var(--accent-dark)}.prose{max-width:670px;padding-bottom:80px}.prose p{color:var(--muted);line-height:1.65}.notice{font-size:14px;color:var(--muted);max-width:520px;margin:0 0 0}.mode-info{margin-top:8px;font-size:14px;color:var(--muted)}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:12px}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.site-header{height:68px}.site-nav{gap:16px}.site-nav a{font-size:13px}.brand{font-size:13px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:35px;padding-bottom:44px;min-height:auto;gap:18px}.hero h1{font-size:clamp(45px,10vw,62px);margin-bottom:17px}.lead{margin-bottom:23px}.exercise{min-height:390px}.breath-circle{width:min(225px,58vw)}.timer-readout{margin-top:48px}.below{padding-top:46px;padding-bottom:55px}.card-grid{grid-template-columns:1fr 1fr}.choice-card{min-height:190px;padding:19px}.explain{grid-template-columns:1fr;padding:48px 0 55px;gap:4px}.editorial{padding-top:52px}.site-footer{flex-direction:column;align-items:flex-start}}
@media(max-width:390px){.site-nav a:first-child{display:none}.card-grid{grid-template-columns:1fr}.choice-card{min-height:160px}}
@media(prefers-color-scheme:dark){:root{--paper:#172426;--ink:#eef3ee;--muted:#bdcbc8;--line:#415154;--accent:#9cc7bb;--accent-dark:#c3ded0;--card:#243538;--orb:#608f88;--orb2:#709e95;--shadow:rgba(0,0,0,.2)}body{background:radial-gradient(ellipse 85% 42% at 80% 24%,#233c3c 0%,transparent 74%),var(--paper)}.primary-button{background:#b5d5c8;color:#1b3434;border-color:#b5d5c8}.primary-button:hover{background:#d4e6d9}.exercise:before{background:radial-gradient(circle,#294c49 0%,#213838 38%,transparent 71%)}.breath-circle{background:radial-gradient(circle at 35% 32%,#96beb2,#598a82 55%,#426c68);box-shadow:inset 0 0 35px rgba(255,255,255,.1),0 18px 50px rgba(0,0,0,.25)}.breath-label{color:#f3faf4}.duration-picker button[aria-pressed="true"]{background:#d1e5db;color:#1d3435;border-color:#d1e5db}.editorial a{color:#b7ded1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.breath-circle,.choice-card{transition:none!important;animation:none!important}.choice-card:hover{transform:none}}

.sound-settings { margin: 1rem auto; text-align: center; max-width: 28rem; }
.sound-settings .microcopy { margin: .4rem 0; font-size: .85rem; }

/* Keep decorative glow behind every control and anchor the circle independently
   of the height of the sound settings. */
.exercise { isolation:isolate; justify-content:flex-start; padding-top:64px; min-height:650px; }
.exercise:before { z-index:-1; top:0; left:50%; transform:translateX(-50%); }
.orb-wrap { display:flex; flex-direction:column; align-items:center; width:100%; }
.timer-readout { width:100%; text-align:center; color:var(--ink); font-size:16px; }
.exercise-controls[hidden] { display:flex; visibility:hidden; }
.exercise-controls { position:relative; z-index:1; }
.sound-settings { position:relative; z-index:1; width:100%; }
.completion:not([hidden]) { margin-top:40px; }
@media(max-width:680px) {
 .exercise { padding-top:44px; min-height:550px; }
 .exercise:before { top:0; width:min(380px,100%); }
}

/* Compact phone layout; solid background avoids gradient export artifacts. */
@media(max-width:680px) {
 body { background:var(--paper); }
 .site-header { height:auto; min-height:84px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 18px; padding-top:16px; padding-bottom:12px; }
 .brand { white-space:nowrap; flex-basis:100%; }
 .site-nav { gap:24px; padding-left:34px; }
 .site-nav a { white-space:nowrap; }
 .hero { padding-top:24px; gap:8px; }
 .exercise { min-height:0; padding-top:40px; padding-bottom:16px; }
 .exercise:before { display:none; }
 .breath-label { font-size:20px; white-space:nowrap; padding:8px; }
 .timer-readout { margin-top:32px; margin-bottom:8px; }
 .sound-settings { margin:8px auto 0; }
 .sound-settings .microcopy { max-width:280px; margin:4px auto 0; }
 .explain.shell, .site-footer.shell { padding-left:clamp(22px,5vw,70px); padding-right:clamp(22px,5vw,70px); }
 .notice { padding-bottom:24px; }
}

/* Completion replaces the circle visually without collapsing its layout space. */
.orb-wrap { transition:opacity .55s ease; }
.completion:not([hidden]) {
 position:absolute; top:64px; left:50%; transform:translateX(-50%);
 width:min(330px,100%); height:300px; margin:0; z-index:2;
 display:flex; flex-direction:column; align-items:center; justify-content:center;
 animation:completion-appear .65s ease both;
}
@keyframes completion-appear { from { opacity:0; } to { opacity:1; } }
@media(max-width:680px) {
 .completion:not([hidden]) { top:40px; height:min(225px,58vw); }
 .completion h2 { font-size:36px; }
 .completion p { margin-bottom:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .orb-wrap { transition:none; }
 .completion:not([hidden]) { animation:none; }
}

.guide { max-width:850px; padding-top:36px; padding-bottom:64px; border-top:1px solid var(--line); }
.guide h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(26px,3vw,34px); line-height:1.25; margin:32px 0 16px; }
.guide h2:first-child { margin-top:0; }
.guide p,.guide li { color:var(--muted); line-height:1.7; }
.guide li { margin-bottom:10px; }
.guide ol { padding-left:24px; }
.guide a { color:var(--ink); text-underline-offset:3px; }
