/* Shared help links and an opt-in native audio player; no scripts or trackers. */
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
.footer-help a{display:block;margin-bottom:.55rem}
.policy-source{font-size:.75rem;line-height:1.5;max-width:220px;margin-top:1rem;opacity:.8}
.flute-player{position:fixed;left:12px;bottom:10px;z-index:79;max-width:calc(100vw - 24px);border:1px solid #b5a17e;border-radius:6px;background:#fff8ed;color:#59442e;box-shadow:0 2px 12px #59442e18;font-size:12px}
.flute-player summary{padding:7px 12px;cursor:pointer}
.flute-player p{padding:0 12px;margin:3px 0 8px;max-width:280px}
.flute-player audio{display:block;width:280px;max-width:100%;height:42px;margin-bottom:8px}
.flute-player:has(details[open]){bottom:50px}
.morning-hero .motion-toggle{bottom:55px}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:440px){.footer-grid{grid-template-columns:1fr}}
@media print{.flute-player{display:none}}

.flute-player button{font:inherit;border:0;background:transparent;color:inherit;padding:7px 12px;cursor:pointer}.flute-player button[hidden]{display:none}.flute-player details{border-top:1px solid #dac8ab}.flute-player #music-play{text-decoration:underline}

.policy-page{padding-bottom:70px}.policy-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:64px}.policy-copy{max-width:850px;overflow-wrap:anywhere}.policy-copy h2{font-size:1.45rem;line-height:1.4;margin:2rem 0 1rem;letter-spacing:0}.policy-copy p{line-height:1.8;margin-bottom:1.5rem}.policy-nav h2{font-size:1.3rem;letter-spacing:0}.policy-nav a{display:block;margin-bottom:1rem}.policy-nav{border-left:1px solid #d9c9aa;padding-left:28px;align-self:start}
@media(max-width:760px){.policy-layout{grid-template-columns:1fr;gap:28px}.policy-nav{border-left:0;border-top:1px solid #d9c9aa;padding:24px 0 0}.policy-page h1{font-size:2.6rem}}

/* One shared panel for sound and the decorative logo smoke. */
.flute-player .controls-title{font-weight:600;margin:0;padding:8px 12px 2px}
.flute-player .smoke-control{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #dac8ab}
.flute-player .brand-smoke-toggle{position:static;width:16px;height:16px;margin:0;flex-shrink:0}
.flute-player .brand-smoke-label{position:static;border:0;box-shadow:none;background:transparent;padding:0;font-size:12px}
@media(prefers-reduced-motion:reduce){.flute-player .smoke-control{display:none}}
.about-story section{padding:24px 0;border-top:1px solid #d9c9aa}.about-story h2{font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.25;margin-bottom:20px}.about-story p{line-height:1.85}.about-story .about-intro{font-size:1.15rem}.about-story .about-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}

.footer-sound{padding:16px 0;font-size:14px}.footer-sound summary{cursor:pointer}.footer-sound button{margin:12px 8px 12px 0}.footer-sound audio{width:280px;max-width:100%}.footer-sound .brand-smoke-toggle,.footer-sound .brand-smoke-label{position:static;width:auto;height:auto;clip-path:none;opacity:1}.footer-sound .brand-smoke-label{background:transparent;color:inherit;border:0;box-shadow:none}

/* Brand social links and the real session counter, shared across all pages. */
.social-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.site-footer .social-button{display:inline-flex;align-items:center;gap:10px;border:1px solid #baa477;border-radius:9px;padding:10px 14px;min-height:48px;background:#fff6e6;color:#493320;text-decoration:none;font-weight:600}.social-button svg{width:24px;height:24px;flex-shrink:0}.site-footer .social-button:hover{background:#e8d1a4}.visitor-panel{padding-top:20px;padding-bottom:24px}.visitor-counter{display:flex;flex-direction:column;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:auto;padding:18px 30px;border:1px solid #ae945e;border-radius:12px;background:#fff5e3;color:#4d3523;box-shadow:0 5px 20px #0002}.visitor-counter-label{font-size:15px;letter-spacing:.1em;text-transform:uppercase}.visitor-counter-value{font-family:ui-monospace,monospace;font-size:clamp(38px,6vw,60px);line-height:1.2;letter-spacing:.13em;font-variant-numeric:tabular-nums}.visitor-counter-note{font-size:12px}.image-attribution{margin-top:10px;font-size:12px;color:var(--muted)}.image-attribution summary{cursor:pointer}.image-attribution p{margin-top:8px}

/* Clear, balanced footer navigation and contact groups. */
.ritual-footer .footer-grid{grid-template-columns:1.15fr 1fr 1fr 1.2fr;align-items:start;gap:clamp(24px,3vw,52px);padding-top:0;padding-bottom:16px}.footer-grid>div{min-width:0}.ritual-footer .footer-grid h2{font-family:var(--sans);font-size:17px;line-height:1.4;letter-spacing:.015em;font-weight:600;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #c4ac773d}.ritual-footer .footer-grid a:not(.wordmark):not(.social-button){display:block;width:fit-content;max-width:100%;padding:5px 0;margin:0;font-size:15px;line-height:1.65;text-decoration:none;overflow-wrap:anywhere}.ritual-footer .footer-grid a:not(.wordmark):hover{text-decoration:underline;text-underline-offset:4px}.ritual-footer .footer-brand .wordmark{display:block;max-width:280px;margin:0}.ritual-footer .footer-grid .footer-brand img{width:100%;margin:0}.ritual-footer .footer-connect p{font-size:15px;line-height:1.8;margin:0 0 18px}.ritual-footer .footer-connect .social-buttons{margin-top:16px}.ritual-footer .ownership{margin-top:24px;padding-top:20px;padding-bottom:12px;font-size:13px;line-height:1.7}.ritual-footer .visitor-panel{padding-top:28px}
@media(max-width:1100px){.ritual-footer .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.ritual-footer .footer-brand{grid-column:1}.ritual-footer .footer-connect{grid-column:auto}}
@media(max-width:600px){.ritual-footer .footer-grid{gap:28px 20px}.ritual-footer .footer-brand,.ritual-footer .footer-connect{grid-column:1/-1}.ritual-footer .footer-brand .wordmark{max-width:220px}.ritual-footer .footer-grid h2{font-size:15px;margin-bottom:12px}.ritual-footer .footer-grid a:not(.wordmark):not(.social-button){font-size:14px;padding:6px 0}.ritual-footer .footer-connect .social-buttons{gap:8px}.ritual-footer .footer-grid{padding-bottom:0}}

@media(max-width:440px){.ritual-footer .footer-care,.ritual-footer .footer-policies{grid-column:1/-1}.ritual-footer .footer-policies{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.ritual-footer .footer-policies h2{grid-column:1/-1}}
