/* ===================================================================
   hushri — stylesheet (v3)
   Tokens + light/dark theming. Palette rebalanced: onyx is an accent
   and anchor, not the default banner. Moss and oat carry more weight.
   =================================================================== */

@font-face { font-family:"Jost"; src:url("assets/fonts/Jost-Light.ttf") format("truetype");    font-weight:300; font-display:swap; }
@font-face { font-family:"Jost"; src:url("assets/fonts/Jost-Regular.ttf") format("truetype");  font-weight:400; font-display:swap; }
@font-face { font-family:"Jost"; src:url("assets/fonts/Jost-Medium.ttf") format("truetype");   font-weight:500; font-display:swap; }
@font-face { font-family:"Jost"; src:url("assets/fonts/Jost-SemiBold.ttf") format("truetype"); font-weight:600; font-display:swap; }

:root{
  /* brand palette */
  --ivory:#F6F1E8; --oat:#ECE3D2; --mushroom:#BFB3A3; --clay:#A88871; --clay-deep:#7E6450;
  --onyx:#2A2723; --onyx-lt:#3A3530; --moss:#6E7560; --moss-deep:#586049; --mid:#6B6660; --warm-div:#E0D6C5;
  /* semantic (light) */
  --bg:var(--ivory); --surface:var(--oat); --surface-soft:#FBF8F2;
  --text:var(--onyx); --text-soft:var(--mid); --border:var(--warm-div); --link:var(--clay-deep);
  --moss-band:#586049; --on-moss:#F6F1E8;
  --footer-bg:#26231F; --footer-text:#BFB3A3; --footer-link:#F6F1E8;

  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Jost",var(--body);
  --maxw:1240px; --measure:78ch; --r:10px; --r-sm:7px; --r-btn:6px;
  --shadow-soft:0 1px 2px rgba(42,39,35,.04), 0 8px 24px rgba(42,39,35,.05);
  --sx:clamp(1.25rem,5vw,2.5rem); --sy:clamp(3.75rem,8vw,7rem);
}
[data-theme="dark"]{
  --bg:#1B1916; --surface:#262320; --surface-soft:#2F2B27;
  --text:#F2ECE0; --text-soft:#B5ABA0; --border:#3A352F; --link:#D2AE91; --mushroom:#A89C8D;
  --footer-bg:#141210; --footer-text:#A89C8D; --footer-link:#F2ECE0;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--body); font-size:1.0625rem; line-height:1.75;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; transition:background-color .3s ease,color .3s ease;}
img{display:block; max-width:100%; -webkit-user-drag:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none;}
a{color:var(--link); text-underline-offset:3px; text-decoration-thickness:1px;}
a:hover{color:var(--text);}
:focus-visible{outline:3px solid var(--moss); outline-offset:3px; border-radius:4px;}
.skip-link{position:absolute; left:0; top:-4rem; background:var(--onyx); color:#F6F1E8; padding:.75rem 1.25rem; z-index:300; border-radius:0 0 8px 0; transition:top .2s ease;}
.skip-link:focus{top:0;}
.visually-hidden{position:absolute!important; width:1px;height:1px; padding:0;margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

/* ---- Layout ---- */
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding-inline:var(--sx);}
.section{padding-block:var(--sy);}
.section--surface{background:var(--surface);}
.section--moss{background:var(--moss-band); color:var(--on-moss);}
.section--moss h1,.section--moss h2,.section--moss h3{color:var(--on-moss);}
.section--moss p{color:#EDE7DB;}
.measure{max-width:var(--measure);}
.center{text-align:center; margin-inline:auto;}

/* ---- Typography ---- */
h1,h2,h3,h4{font-family:var(--display); font-weight:300; line-height:1.14; color:var(--text); margin:0 0 .5em; letter-spacing:-.015em;}
h1{font-size:clamp(2.5rem,6vw,4.25rem); line-height:1.06;}
h2{font-size:clamp(1.85rem,4vw,2.9rem);}
h3{font-size:clamp(1.3rem,2.3vw,1.65rem); font-weight:400;}
h4{font-size:1.12rem; font-weight:500; letter-spacing:0;}
p{margin:0 0 1.15em; max-width:var(--measure);}
.lead{font-size:clamp(1.18rem,2vw,1.45rem); line-height:1.55; font-weight:300; color:var(--text);}
.muted{color:var(--text-soft);}
.eyebrow{display:inline-flex; align-items:center; gap:.6rem; font-family:var(--display); font-weight:600;
  text-transform:uppercase; letter-spacing:.2em; font-size:.72rem; color:var(--text); margin:0 0 1.2rem;}
.eyebrow::before{content:""; width:1.6rem; height:2px; background:var(--clay);}
.section--moss .eyebrow{color:#E7E2D6;} .section--moss .eyebrow::before{background:#C9B7A6;}
.slogan{font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:.26em; font-size:.8rem;}

/* ---- Buttons ---- */
.btn-row{display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2rem;}
.btn{display:inline-block; font-family:var(--display); font-weight:500; font-size:1rem; letter-spacing:.01em;
  padding:.82rem 1.7rem; border-radius:var(--r-btn); text-decoration:none; cursor:pointer; border:1.5px solid var(--text);
  background:var(--text); color:var(--bg); transition:opacity .2s ease,background-color .2s ease,color .2s ease,transform .2s ease;}
.btn:hover{opacity:.88; color:var(--bg);}
.btn--ghost{background:transparent; color:var(--text);}
.btn--ghost:hover{background:var(--text); color:var(--bg); opacity:1;}
.btn--yt::before{content:"\25B6"; font-size:.78em; margin-right:.55em;}
/* buttons on moss / dark bands */
.section--moss .btn{background:var(--ivory); color:var(--moss-deep); border-color:var(--ivory);}
.section--moss .btn--ghost{background:transparent; color:var(--ivory); border-color:var(--ivory);}
.section--moss .btn--ghost:hover{background:var(--ivory); color:var(--moss-deep);}

/* ---- Media ---- */
.media{border-radius:var(--r); overflow:hidden; background:var(--surface);}
.media img{width:100%; height:100%; object-fit:cover;}
.media--portrait{aspect-ratio:4/5;} .media--landscape{aspect-ratio:4/3;} .media--wide{aspect-ratio:16/7;}
/* image focal points so the subject stays in frame (placeholder images; tune per final image) */
.hero__img img{object-position:64% 42%;}
.media img[src*="home-calm"]{object-position:28% 38%;}
.media img[src*="home-care"]{object-position:30% 30%;}
.media img[src*="about-why"]{object-position:24% 30%;}
.media img[src*="about-founder"]{object-position:center 26%;}
.media img[src*="contact"]{object-position:42% 32%;}
.media img[src*="reset"]{object-position:center 35%;}
.offer__media img[src*="about-hero"]{object-position:78% 30%;}

/* ---- Navigation ---- */
.nav{position:sticky; top:0; z-index:100; background:color-mix(in srgb,var(--bg) 90%,transparent); backdrop-filter:saturate(120%) blur(12px); border-bottom:1px solid var(--border);}
.nav__inner{display:flex; align-items:center; justify-content:space-between; gap:1rem 2.5rem; max-width:var(--maxw); margin:0 auto; padding:.95rem var(--sx);}
.nav__brand{display:inline-flex; align-items:center; flex:0 0 auto;}
.nav__brand img{height:38px; width:auto;}
.nav__right{display:flex; align-items:center; gap:2.2rem;}
.nav .nav__toggle{display:none;}
.nav__links{display:flex; gap:2rem; align-items:center;}
.nav__links a{position:relative; color:var(--text); text-decoration:none; font-size:.8rem; font-weight:500; text-transform:uppercase; letter-spacing:.11em; padding:.4rem 0; line-height:1;}
.nav__links a::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:1.5px; background:var(--clay); transform:scaleX(0); transform-origin:center; transition:transform .25s ease;}
.nav__links a:hover{color:var(--link);}
.nav__links a:hover::after{transform:scaleX(1);}
.nav__links a[aria-current="page"]{color:var(--text);}
.nav__links a[aria-current="page"]::after{transform:scaleX(1); background:var(--text);}
.nav__tools{display:flex; align-items:center; gap:.55rem; padding-left:1.4rem; border-left:1px solid var(--border);}
.icon-btn{display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1.5px solid var(--border);
  background:transparent; color:var(--text); cursor:pointer; transition:background-color .2s,border-color .2s;}
.icon-btn:hover{border-color:var(--clay);}
.icon-btn svg{width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.icon-btn .moon{display:none;} [data-theme="dark"] .icon-btn .sun{display:none;} [data-theme="dark"] .icon-btn .moon{display:block;}

/* ---- Hero ---- */
.hero{display:grid; grid-template-columns:1.05fr 1fr; min-height:min(84vh,760px); background:var(--bg);}
.hero__text{display:flex; flex-direction:column; justify-content:center; padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,5rem);}
.hero__text h1{margin-bottom:.35em;}
.hero__img img{width:100%; height:100%; object-fit:cover;}
.hero--page{min-height:auto; grid-template-columns:1fr;}

/* ---- Statement + ring motif ---- */
.statement{position:relative; overflow:hidden; text-align:center;}
.statement .wrap{position:relative; z-index:1;}
.statement p{max-width:24ch; margin-inline:auto; font-family:var(--display); font-weight:300; font-size:clamp(1.8rem,4.5vw,3.1rem); line-height:1.2; letter-spacing:-.015em; color:var(--on-moss);}
.statement .slogan{display:block; margin-top:2rem; color:#D8CBB6;}
.rings{position:absolute; pointer-events:none; opacity:.20;}
.rings circle{fill:none; stroke:#C9B7A6; stroke-width:1;}
.rings--statement{right:-90px; bottom:-120px; width:380px; height:380px;}

/* ---- Features ---- */
.feature{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center;}
.feature + .feature{margin-top:var(--sy);}
.feature--reverse .feature__media{order:2;}

/* ---- Who-it's-for cards ---- */
.points{display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); margin-top:2.5rem;}
.point{background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--r-sm); padding:1.7rem 1.6rem;}
.section--surface .point{background:var(--bg);}
.point .ico{width:48px; height:48px; border-radius:50%; background:var(--surface); display:grid; place-items:center; margin-bottom:1rem;}
.point .ico svg{width:23px; height:23px; fill:none; stroke:var(--link); stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round;}
.point h4{margin:0 0 .3em;} .point p{margin:0; color:var(--text);}

/* ---- Values with icons ---- */
.value-grid{display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); margin-top:2.5rem;}
.value-card{background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--r-sm); padding:1.7rem 1.6rem; border-top:3px solid var(--clay);}
.section--surface .value-card{background:var(--bg);}
.value-card:nth-child(3n+2){border-top-color:var(--moss);} .value-card:nth-child(3n){border-top-color:var(--mushroom);}
.value-ico{width:54px; height:54px; border-radius:50%; background:var(--surface); display:grid; place-items:center; margin-bottom:1.1rem;}
.section--surface .value-ico{background:var(--bg);}
.value-ico svg{width:25px; height:25px; stroke:var(--link); stroke-width:1.45; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.value-card h4{margin:0 0 .25em; font-weight:500;} .value-card p{margin:0; color:var(--text);}
.icon-sprite{position:absolute; width:0; height:0; overflow:hidden;}

/* ---- Panel / author / note ---- */
.panel{background:var(--surface); border-radius:var(--r); padding:clamp(1.6rem,3vw,2.4rem); border-left:4px solid var(--clay);}
.section--surface .panel{background:var(--bg);}
.panel h2{margin-top:0;} .panel p:last-child{margin-bottom:0;}
.author{background:var(--surface); border-radius:var(--r-sm); padding:1.7rem 1.6rem; border-left:4px solid var(--moss); margin-top:1.6rem;}
.author .name{font-family:var(--display); font-weight:500;} .author p{margin:0 0 .4em;} .author p:last-child{margin-bottom:0;}
.note{background:var(--surface); border-radius:var(--r-sm); padding:1.4rem 1.6rem; border-left:4px solid var(--moss); margin-top:2.5rem;}
.section--surface .note{background:var(--bg);} .note p:last-child{margin-bottom:0;}
.pronounce{display:inline-flex; align-items:center; gap:.5rem; margin:.2rem 0 0; color:var(--text-soft); font-size:.95rem;}
.pronounce strong{font-family:var(--display); font-weight:500; color:var(--text); letter-spacing:.04em;}

/* ---- Contact list ---- */
.contact-list{list-style:none; padding:0; margin:2.5rem 0 0; display:grid; gap:1.1rem; max-width:560px;}
.contact-list li{border-bottom:1px solid var(--border); padding-bottom:1.1rem;}
.contact-list .label{display:block; font-family:var(--display); font-weight:600; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; color:var(--text); margin-bottom:.35rem;}
.contact-list a{font-size:1.3rem; color:var(--text); text-decoration:none; border-bottom:1px solid var(--clay);}
.contact-list a:hover{color:var(--link); border-bottom-color:var(--link);}

/* ---- Forms ---- */
.form{max-width:600px; width:100%; margin-top:2rem; display:grid; gap:1.2rem;}
.form > *{min-width:0;}
.field{display:grid; gap:.4rem; min-width:0;}
.field label{font-family:var(--display); font-weight:500; font-size:.95rem;}
.field input,.field textarea,.field select{font:inherit; color:var(--text); background:var(--surface-soft); border:1.5px solid var(--border); border-radius:var(--r-btn); padding:.8rem 1rem; width:100%;}
.section--surface .field input,.section--surface .field textarea,.section--surface .field select{background:var(--bg);}
.field select{appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237E6450' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.4rem;}
.field .hint{font-size:.85rem; color:var(--text-soft); margin:0;}
.fieldset{border:0; padding:0; margin:0; display:grid; gap:.5rem;}
.fieldset legend{font-family:var(--display); font-weight:500; font-size:.95rem; padding:0; margin-bottom:.2rem;}
.radio-row{display:flex; gap:.6rem; flex-wrap:wrap;}
.radio-row label{display:inline-flex; align-items:center; gap:.45rem; border:1.5px solid var(--border); border-radius:var(--r-btn); padding:.5rem .9rem; cursor:pointer; font-family:var(--display); font-weight:500; font-size:.9rem;}
.radio-row input{accent-color:var(--moss-deep);}
.field input:focus,.field textarea:focus{border-color:var(--moss); outline:none;}
.field textarea{min-height:140px; resize:vertical;}
.form .btn{justify-self:start;}
.form__hp{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}
.form-note{font-size:.9rem; color:var(--text-soft); margin-top:.4rem; max-width:100%;}

/* ---- Accordion (details/summary) ---- */
.acc{border-top:1px solid var(--border);}
.acc details{border-bottom:1px solid var(--border);}
.acc summary{list-style:none; cursor:pointer; padding:1.25rem .25rem; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  font-family:var(--display); font-weight:500; font-size:1.12rem; color:var(--text);}
.acc summary::-webkit-details-marker{display:none;}
.acc summary::after{content:"+"; font-size:1.5rem; font-weight:300; color:var(--link); transition:transform .2s ease;}
.acc details[open] summary::after{content:"\2212";}
.acc .acc__body{padding:0 .25rem 1.4rem; color:var(--text);}
.acc .acc__body p{margin:0;}

/* ---- Resources / blog / voices cards ---- */
.card-grid{display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); margin-top:2.5rem;}
.rcard{background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--r-sm); padding:1.6rem; display:flex; flex-direction:column;}
.section--surface .rcard{background:var(--bg);}
.rcard h4{margin:.1rem 0 .3em;} .rcard p{margin:0 0 1.1rem; color:var(--text);} .rcard .btn{margin-top:auto; align-self:flex-start;}
.pcard{display:flex; flex-direction:column; border-radius:var(--r-sm); overflow:hidden; background:var(--surface-soft); border:1px solid var(--border); text-decoration:none; color:var(--text);}
.section--surface .pcard{background:var(--bg);}
.pcard .media{border-radius:0;} .pcard__body{padding:1.4rem 1.5rem;}
.pcard h4{margin:.1rem 0 .35em;} .pcard p{margin:0; color:var(--text-soft); font-size:.98rem;}
a.pcard:hover{border-color:var(--clay);}
.eyebrow-date{font-family:var(--display); text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; color:var(--link); margin:0 0 .5rem;}
.voice{background:var(--surface); border-radius:var(--r); padding:clamp(1.6rem,3vw,2.2rem); border-left:4px solid var(--clay);}
.section--surface .voice{background:var(--bg);}
.voice:nth-child(2n){border-left-color:var(--moss);}
.voice p{font-size:1.08rem;} .voice .who{font-family:var(--display); font-weight:500; color:var(--text-soft); margin:0;}
.resource-empty{background:var(--surface); border-radius:var(--r); padding:clamp(2rem,5vw,3.5rem); text-align:center; margin-top:2.5rem;}
.section--surface .resource-empty{background:var(--bg);}
.resource-empty p{margin-inline:auto;}
.todo{font-size:.85rem; color:var(--text-soft); border:1px dashed var(--border); border-radius:8px; padding:.5rem .8rem; margin-top:1.5rem;}

/* ---- Footer (premium, multi-column) ---- */
.footer{background:var(--footer-bg); color:var(--footer-text);}
.footer a{color:var(--footer-link); text-decoration:none;} .footer a:hover{text-decoration:underline;}
.footer__grid{max-width:var(--maxw); margin:0 auto; padding:clamp(3rem,6vw,4.5rem) var(--sx) 2rem; display:grid; gap:2.5rem; grid-template-columns:1.4fr 1fr 1fr 1.3fr;}
.footer__brand img{height:34px; margin-bottom:1rem;}
.footer__brand .slogan{color:var(--footer-text); display:block; margin-bottom:1rem;}
.footer__col h5{font-family:var(--display); text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; color:var(--footer-text); margin:0 0 1rem; font-weight:600;}
.footer__col ul{list-style:none; padding:0; margin:0; display:grid; gap:.6rem;}
.footer__news p{color:var(--footer-text); font-size:.95rem; margin:0 0 .8rem; max-width:none;}
.footer__news form{display:flex; gap:.5rem; flex-wrap:wrap;}
.footer__news input{flex:1 1 150px; min-width:0; font:inherit; padding:.7rem .9rem; border-radius:var(--r-btn); border:1.5px solid #4a443c; background:transparent; color:var(--footer-link);}
.footer__news input::placeholder{color:#8a8073;}
.footer__news button{border:none; background:var(--ivory); color:var(--onyx); border-radius:var(--r-btn); padding:.7rem 1.3rem; font-family:var(--display); font-weight:500; cursor:pointer;}
.social{display:flex; gap:.7rem; margin-top:1.2rem;}
.social a{display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; border:1px solid #4a443c;}
.social a:hover{border-color:var(--mushroom);}
.social svg{width:18px; height:18px; fill:var(--footer-text);}
.social a:hover svg{fill:var(--footer-link);}
.footer__legal{max-width:var(--maxw); margin:0 auto; padding:1.4rem var(--sx); border-top:1px solid #3a352f; display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; align-items:center;}
.footer__legal a{font-size:.85rem; color:var(--footer-text);}
.footer__legal a:hover{color:var(--footer-link);}
.footer__fine{max-width:var(--maxw); margin:0 auto; padding:0 var(--sx) 2.2rem; font-size:.8rem; color:var(--footer-text); line-height:1.7;}
.footer__fine p{max-width:none; margin:.3rem 0;}

/* ===================================================================
   Reset zone (box breathing)
   =================================================================== */
.breathe{display:flex; flex-direction:column; align-items:center; gap:2rem;}
.tech{display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center;}
.tech-btn{font-family:var(--display); font-weight:500; font-size:.92rem; padding:.5rem 1.05rem; border-radius:var(--r-btn); border:1.5px solid var(--border); background:transparent; color:var(--text); cursor:pointer; transition:background-color .2s,border-color .2s;}
.tech-btn:hover{border-color:var(--clay);}
.tech-btn[aria-pressed="true"]{background:var(--text); color:var(--bg); border-color:var(--text);}
.breathe-stage{position:relative; width:min(360px,82vw); height:min(360px,82vw); display:grid; place-items:center; --bscale:1.05; --bnorm:0;}
.breathe-svg{position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); z-index:3;}
.breathe-track{fill:none; stroke:var(--border); stroke-width:2;}
.breathe-progress{fill:none; stroke:url(#bprog); stroke-width:3; stroke-linecap:round;}
.breathe-dot{fill:var(--clay-deep);}
.breathe-glow{position:absolute; width:80%; height:80%; border-radius:50%; background:radial-gradient(circle, rgba(168,136,113,.45), rgba(110,117,96,.14) 48%, transparent 72%); filter:blur(6px); opacity:calc(.10 + var(--bnorm) * .3); transform:scale(calc(.82 + var(--bnorm) * .3));}
.breathe-disc{position:absolute; width:40%; height:40%; border-radius:50%; background:radial-gradient(circle at 50% 42%, rgba(168,136,113,.42), rgba(168,136,113,.14) 68%, transparent); opacity:.92; transform:scale(var(--bscale));}
.breathe-ripple{position:absolute; width:40%; height:40%; border-radius:50%; border:1px solid var(--clay); background:radial-gradient(circle, rgba(168,136,113,.07), transparent 72%);}
.breathe-ripple.br1{opacity:calc(.10 + var(--bnorm) * .16); transform:scale(calc(var(--bscale) * .56));}
.breathe-ripple.br2{opacity:calc(.08 + var(--bnorm) * .12); transform:scale(calc(var(--bscale) * .78)); border-color:var(--moss);}
.breathe-halo{position:absolute; width:40%; height:40%; border-radius:50%; border:1.5px solid var(--clay); opacity:.5; transform:scale(var(--bscale));}
.breathe-center{position:relative; z-index:2; width:130px; text-align:center; pointer-events:none;}
.breathe-phase{font-family:var(--display); font-weight:400; font-size:1rem; letter-spacing:.02em; color:var(--text); margin:0; white-space:nowrap;}
.breathe-count{font-family:var(--display); font-weight:300; font-size:2.1rem; line-height:1; color:var(--text); margin:.15em 0 0; font-variant-numeric:tabular-nums;}
.breathe-controls{display:flex; gap:.85rem; flex-wrap:wrap; justify-content:center;}
.breathe-meta{color:var(--text-soft); font-size:.95rem; margin:0;}
@media (prefers-reduced-motion:reduce){
  .breathe-disc,.breathe-halo{transform:scale(1.6)!important; transition:none!important;}
  .breathe-ripple.br1{transform:scale(.95)!important;} .breathe-ripple.br2{transform:scale(1.3)!important;}
  .breathe-glow{opacity:.3!important; transform:scale(1.1)!important;}
}

/* dark-mode header logo: flip onyx wordmark to white */
[data-theme="dark"] .nav__brand img{filter:brightness(0) invert(1);}

/* theme toggle shows current state: filled (lit) when dark mode is on */
#themeBtn{transition:background-color .2s, border-color .2s, color .2s;}
[data-theme="dark"] #themeBtn{background:var(--clay-deep); border-color:var(--link); color:#F6F1E8;}
[data-theme="dark"] #themeBtn:hover{background:#8a6e57;}

/* footer appearance switch (injected) so the light/dark option is never missed */
.appearance-toggle{background:none; border:0; padding:0; margin:0; cursor:pointer; font:inherit; font-size:.85rem; color:var(--footer-text); text-decoration:underline; text-underline-offset:3px;}
.appearance-toggle:hover{color:var(--footer-link);}

/* ---- Calming sounds ---- */
.sounds{display:flex; flex-direction:column; align-items:center; gap:1.1rem;}
.sound-grid{display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center;}
.sound-btn{font-family:var(--display); font-weight:500; font-size:.92rem; padding:.55rem 1.15rem; border-radius:var(--r-btn); border:1.5px solid var(--border); background:transparent; color:var(--text); cursor:pointer; transition:background-color .2s,border-color .2s;}
.sound-btn:hover{border-color:var(--clay);}
.sound-btn[aria-pressed="true"]{background:var(--moss-deep); color:var(--ivory); border-color:var(--moss-deep);}
.volume{display:flex; align-items:center; gap:.9rem; width:min(380px,82vw);}
.volume label{font-size:.85rem; color:var(--text-soft); white-space:nowrap;}
.volume input[type=range]{flex:1; accent-color:var(--moss-deep); height:4px;}

/* ---- Quiet mode overlay ---- */
.quiet{position:fixed; inset:0; z-index:500; background:#BFB3A3; color:#2A2723; display:none; flex-direction:column; align-items:center; justify-content:center; gap:3rem; padding:4rem 1.25rem 2.5rem; overflow-y:auto;}
.quiet.is-open{display:flex;}
.quiet__circle{width:min(44vmin,250px); height:min(44vmin,250px); border-radius:50%; background:rgba(42,39,35,.10); display:grid; place-items:center; transform:scale(1); flex:none;}
.quiet__label{font-family:var(--display); font-weight:300; font-size:1.5rem; color:#2A2723; margin-top:1rem;}
.quiet__exit{position:absolute; top:1.5rem; right:1.5rem; background:transparent; border:1.5px solid #2A2723; color:#2A2723; border-radius:var(--r-btn); padding:.6rem 1.3rem; font-family:var(--display); cursor:pointer;}
.quiet__hint{font-family:var(--display); letter-spacing:.2em; text-transform:uppercase; font-size:.7rem; color:#5a5247;}
@media (prefers-reduced-motion:reduce){ .quiet__circle{transform:scale(1.15)!important;} }

/* ---- 404 ---- */
.err{min-height:50vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}

/* ---- Sounds: timer + immersive visual ---- */
.timer{display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; align-items:center;}
.timer .lbl{font-size:.85rem; color:var(--text-soft); margin-right:.2rem;}
.timer-btn{font-family:var(--display); font-weight:500; font-size:.88rem; padding:.42rem .95rem; border-radius:var(--r-btn); border:1.5px solid var(--border); background:transparent; color:var(--text); cursor:pointer; transition:background-color .2s,border-color .2s;}
.timer-btn:hover{border-color:var(--clay);}
.timer-btn[aria-pressed="true"]{background:var(--text); color:var(--bg); border-color:var(--text);}
#timerStatus{font-size:.9rem; color:var(--text-soft); margin:0;}
.sound-visual{width:min(760px,94vw); height:170px; margin:.5rem auto 1.6rem; overflow:hidden;}
.sound-wave{width:100%; height:100%; display:block; overflow:hidden;}
.sound-wave .sw{fill:none; stroke-width:2.5; opacity:.32; transition:opacity .4s ease;}
.sound-wave .sw1{stroke:var(--clay);}
.sound-wave .sw2{stroke:var(--moss);}
.sound-wave .sw3{stroke:var(--mushroom);}
.sounds.is-playing .sound-wave .sw{opacity:.7;}
.sounds.is-playing .sound-wave .sw1{animation:swflow 11s linear infinite;}
.sounds.is-playing .sound-wave .sw2{animation:swflow 16s linear infinite;}
.sounds.is-playing .sound-wave .sw3{animation:swflow 8s linear infinite reverse;}
@keyframes swflow{from{transform:translateX(0);} to{transform:translateX(-1200px);}}
@media (prefers-reduced-motion:reduce){.sounds.is-playing .sound-wave .sw{animation:none;}}

/* ---- Decorative ripple on moss bands (less flat) ---- */
.section--moss{position:relative; overflow:hidden;}
.section--moss > .wrap{position:relative; z-index:1;}
.section--moss::before{content:""; position:absolute; right:-120px; top:50%; width:420px; height:420px; transform:translateY(-50%);
  border-radius:50%; box-shadow:0 0 0 1px rgba(201,183,166,.18), 0 0 0 60px rgba(201,183,166,.10), 0 0 0 120px rgba(201,183,166,.06); pointer-events:none;}

/* ---- Blog article width + meta + share + closing + references ---- */
.article-body{max-width:calc(var(--measure) + (var(--sx) * 2)); margin-inline:auto; padding-inline:var(--sx);}
.article-body h2{margin-top:1.8rem;}
.post-meta{display:flex; gap:1rem; align-items:center; flex-wrap:wrap; color:var(--text-soft); font-size:.92rem; margin:.2rem 0 0;}
.share{display:flex; gap:.5rem; align-items:center; margin:1.5rem 0;}
.share .lbl{font-size:.82rem; text-transform:uppercase; letter-spacing:.14em; color:var(--text-soft); margin-right:.3rem;}
.share a{display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; border:1.5px solid var(--border); color:var(--text);}
.share a:hover{border-color:var(--clay); color:var(--link);}
.share svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.post-close{background:var(--surface); border-left:4px solid var(--clay); border-radius:var(--r-sm); padding:1.6rem 1.7rem; margin-top:2.5rem;}
.post-close p{margin:0 0 .8em;} .post-close p:last-child{margin-bottom:0;}
.post-refs{margin-top:2.5rem; border-top:1px solid var(--border); padding-top:1.5rem;}
.post-refs h2{font-size:1.2rem;} .post-refs ol{padding-left:1.2rem; color:var(--text-soft); font-size:.92rem;} .post-refs li{margin-bottom:.4rem;}

/* ---- LinkedIn inline link ---- */
.inline-linkedin{display:inline-flex; align-items:center; gap:.4rem;}

/* ---- Unified card style (consistent top colour stripe, as on the About values) ---- */
.point, .pcard, .rcard{border-top:3px solid var(--clay);}
.points .point:nth-child(3n+2), .card-grid .pcard:nth-child(3n+2), .card-grid .rcard:nth-child(3n+2){border-top-color:var(--moss);}
.points .point:nth-child(3n),   .card-grid .pcard:nth-child(3n),   .card-grid .rcard:nth-child(3n){border-top-color:var(--mushroom);}
.point .ico{margin-top:.2rem;}

/* ---- Insights: one post per row ---- */
.post-list{display:grid; gap:1.6rem; margin-top:2.5rem;}
.post-row{display:grid; grid-template-columns:300px 1fr; background:var(--surface-soft); border:1px solid var(--border); border-top:3px solid var(--clay); border-radius:var(--r-sm); overflow:hidden; text-decoration:none; color:var(--text);}
.section--surface .post-row{background:var(--bg);}
.post-row:nth-child(3n+2){border-top-color:var(--moss);}
.post-row:nth-child(3n){border-top-color:var(--mushroom);}
a.post-row:hover{border-color:var(--clay);}
.post-row .media{border-radius:0; height:100%; min-height:210px; background:var(--surface);}
.post-row__body{padding:1.7rem 1.9rem; align-self:center;}
.post-row__body h3{margin:.2rem 0 .35em;}
.post-row__body p{margin:0; color:var(--text-soft);}
@media (max-width:640px){ .post-row{grid-template-columns:1fr;} .post-row .media{min-height:180px;} }

/* ---- Legal pages ---- */
.legal h2{margin-top:2.2rem;} .legal h2:first-of-type{margin-top:0;}
.legal ul{padding-left:1.2rem;} .legal li{margin-bottom:.5rem; max-width:var(--measure);}

/* ===================================================================
   Responsive
   =================================================================== */
@media (max-width:980px){
  .footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .hero{grid-template-columns:1fr; min-height:auto;}
  .hero__img{order:-1; height:54vh; min-height:300px;}
  .feature{grid-template-columns:1fr; gap:1.6rem;}
  .feature--reverse .feature__media,.feature__media{order:-1;}
  .rings--statement{width:260px; height:260px;}
}
@media (max-width:1200px){
  .nav__brand{border-right:none; padding-right:0;}
  .nav__right{gap:.6rem;}
  html.js .nav__toggle{display:inline-grid;}
  html.js .nav__links{display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0;
    background:var(--bg); border-bottom:1px solid var(--border); padding:.4rem var(--sx) 1.1rem; box-shadow:0 16px 30px rgba(42,39,35,.07);}
  html.js .nav.is-open .nav__links{display:flex;}
  html.js .nav__links a{padding:.9rem .2rem; font-size:.95rem; letter-spacing:.12em; border-bottom:1px solid var(--border);}
  html.js .nav__links a:last-child{border-bottom:0;}
  html.js .nav__links a[aria-current="page"]{color:var(--link);}
}
@media (max-width:600px){
  .footer__grid{grid-template-columns:1fr; gap:2rem;}
}
@media (max-width:480px){
  .btn-row .btn{width:100%; text-align:center;}
  h1{font-size:clamp(2.05rem,8.5vw,2.6rem);}
  .nav__links a{letter-spacing:.1em;}
  .nav__tools{gap:.4rem;}
  .icon-btn{width:36px; height:36px;}
  .nav__brand img{height:32px;}
}

/* ===================================================================
   v4 additions — premium polish, search, lead magnet, social proof,
   blog filter, self-assessment, membership, founder, audience split
   =================================================================== */

/* restrained lift on interactive cards */
.point,.value-card,.rcard,.pcard,.tier,.quote-card{transition:box-shadow .25s ease,transform .2s ease,border-color .25s ease;}
a.pcard:hover,a.post-row:hover{box-shadow:var(--shadow-soft);}
.btn:hover{transform:translateY(-1px);} .btn:active{transform:translateY(0);}

/* ---- Search (button injected into nav, panel into body) ---- */
.search{position:fixed; inset:0; z-index:550; background:color-mix(in srgb,var(--bg) 86%,transparent); backdrop-filter:blur(8px) saturate(120%); display:none; padding:11vh var(--sx) 2rem;}
.search.is-open{display:block;}
.search__panel{max-width:640px; margin:0 auto; background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--r); box-shadow:0 30px 60px rgba(42,39,35,.18); overflow:hidden;}
.search__top{display:flex; align-items:center; gap:.55rem; padding:.5rem .6rem .5rem 1rem; border-bottom:1px solid var(--border);}
.search__top svg{width:20px; height:20px; fill:none; stroke:var(--text-soft); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto;}
.search__field{flex:1; font:inherit; font-size:1.08rem; border:0; background:transparent; color:var(--text); padding:.7rem .2rem;}
.search__field:focus{outline:none;}
.search__close{background:transparent; border:1px solid var(--border); border-radius:var(--r-btn); color:var(--text-soft); font-family:var(--display); font-size:.78rem; padding:.4rem .7rem; cursor:pointer;}
.search__close:hover{border-color:var(--clay); color:var(--text);}
.search__results{list-style:none; margin:0; padding:.4rem; max-height:54vh; overflow:auto;}
.search__result{display:block; padding:.8rem 1rem; border-radius:var(--r-sm); text-decoration:none; color:var(--text);}
.search__result:hover,.search__result:focus{background:var(--surface); color:var(--text); outline:none;}
.search__result .t{font-family:var(--display); font-weight:500; display:block;}
.search__result .d{font-size:.88rem; color:var(--text-soft);}
.search__empty{padding:1.2rem 1rem; color:var(--text-soft); font-size:.95rem;}
.search__hint{max-width:640px; margin:.7rem auto 0; color:var(--text-soft); font-size:.8rem; text-align:center;}

/* ---- Quiet mode explainer ---- */
.quiet__note{max-width:36ch; text-align:center; font-size:.92rem; line-height:1.6; color:#5a5247; margin:0;}
.quiet__note strong{color:#2A2723; font-weight:500;}

/* ---- Lead-magnet offer ---- */
.offer{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4rem); align-items:center; background:var(--surface-soft); border:1px solid var(--border); border-top:3px solid var(--clay); border-radius:var(--r); padding:clamp(1.8rem,4vw,3rem);}
.section--surface .offer{background:var(--bg);}
.offer__media{border-radius:var(--r-sm); overflow:hidden; background:var(--surface); box-shadow:var(--shadow-soft); aspect-ratio:4/3;}
.offer__media img{width:100%; height:100%; object-fit:cover;}
.offer ul{list-style:none; padding:0; margin:1rem 0 1.4rem;}
.offer li{position:relative; padding-left:1.6rem; margin-bottom:.5rem;}
.offer li::before{content:""; position:absolute; left:.1rem; top:.45em; width:.62rem; height:.62rem; border:1.6px solid var(--clay); border-right:0; border-top:0; transform:rotate(-45deg);}
.offer__form{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem;}
.offer__form input{flex:1 1 220px; font:inherit; padding:.85rem 1rem; border:1.5px solid var(--border); border-radius:var(--r-btn); background:var(--bg); color:var(--text);}
@media (max-width:760px){ .offer{grid-template-columns:1fr;} .offer__media{order:-1; max-height:260px;} }

/* ---- Social proof ---- */
.proof-grid{display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); margin-top:2.5rem;}
.quote-card{background:var(--surface-soft); border:1px solid var(--border); border-top:3px solid var(--clay); border-radius:var(--r-sm); padding:1.7rem 1.6rem; display:flex; flex-direction:column; gap:.9rem;}
.section--surface .quote-card{background:var(--bg);}
.quote-card:nth-child(3n+2){border-top-color:var(--moss);} .quote-card:nth-child(3n){border-top-color:var(--mushroom);}
.quote-card p{margin:0; font-size:1.04rem;}
.quote-card .who{font-family:var(--display); font-weight:500; color:var(--text-soft); font-size:.9rem; margin-top:auto;}
.quote-mark{font-family:var(--display); font-size:2.2rem; line-height:.4; color:var(--clay); height:.4em;}

/* ---- Blog filter + tags ---- */
.filter-bar{display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-top:2rem;}
.filter-bar .lbl{font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; color:var(--text-soft); margin-right:.3rem; font-family:var(--display); font-weight:600;}
.chip{font-family:var(--display); font-weight:500; font-size:.85rem; padding:.4rem .9rem; border-radius:var(--r-btn); border:1.5px solid var(--border); background:transparent; color:var(--text); cursor:pointer;}
.chip:hover{border-color:var(--clay);}
.chip[aria-pressed="true"]{background:var(--text); color:var(--bg); border-color:var(--text);}
.post-tags{display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .55rem;}
.tag{font-family:var(--display); font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; color:var(--link); border:1px solid var(--border); border-radius:999px; padding:.12rem .6rem;}
.post-row.is-hidden{display:none;}
.filter-empty{margin-top:1.5rem; color:var(--text-soft);}

/* ---- Self-assessment ---- */
.quiz{max-width:700px; margin:2.5rem auto 0;}
.quiz__q{background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--r-sm); padding:1.4rem 1.6rem; margin-bottom:1rem;}
.section--surface .quiz__q{background:var(--bg);}
.quiz__q > p{font-family:var(--display); font-weight:500; margin:0 0 1rem;}
.quiz__opts{display:flex; flex-wrap:wrap; gap:.5rem;}
.quiz__opt{font-family:var(--display); font-weight:500; font-size:.9rem; padding:.5rem 1.05rem; border-radius:var(--r-btn); border:1.5px solid var(--border); background:transparent; color:var(--text); cursor:pointer;}
.quiz__opt:hover{border-color:var(--clay);}
.quiz__opt[aria-pressed="true"]{background:var(--moss-deep); color:var(--ivory); border-color:var(--moss-deep);}
.quiz__actions{display:flex; gap:.85rem; flex-wrap:wrap; align-items:center; margin-top:1.4rem;}
.quiz__count{font-family:var(--display); color:var(--text-soft); font-size:.95rem;}
.quiz__result{margin-top:2rem; background:var(--surface); border-left:4px solid var(--clay); border-radius:var(--r-sm); padding:clamp(1.5rem,3vw,2rem); display:none;}
.section--surface .quiz__result{background:var(--bg);}
.quiz__result.is-shown{display:block;}
.meter{height:10px; border-radius:999px; background:var(--surface-soft); overflow:hidden; margin:1rem 0 1.3rem; border:1px solid var(--border);}
.meter > span{display:block; height:100%; background:linear-gradient(90deg,var(--moss),var(--clay)); width:0; transition:width .9s ease;}
.quiz__set{display:none;} .quiz__set.is-active{display:block;}

/* footer membership button (injected site-wide) */
.footer__join{display:inline-block; margin-top:1.3rem; font-family:var(--display); font-weight:500; font-size:.9rem; padding:.6rem 1.3rem; border:1.5px solid var(--footer-text); border-radius:var(--r-btn); color:var(--footer-link); text-decoration:none; background:transparent; transition:background-color .2s,color .2s,border-color .2s;}
.footer__join:hover{background:var(--ivory); color:var(--onyx); border-color:var(--ivory); text-decoration:none;}

/* pull quote (affirming) */
.pullquote{max-width:34ch; margin-inline:auto; text-align:center;}
.pullquote blockquote{font-family:var(--display); font-weight:300; font-size:clamp(1.45rem,3.2vw,2.1rem); line-height:1.32; letter-spacing:-.01em; color:var(--text); margin:0 0 1rem;}
.pullquote cite{font-style:normal; font-family:var(--display); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-soft);}

/* dyslexia-friendly reading mode (font + spacing + motion off) */
[data-reading="dyslexic"]{ --body:"Verdana","Tahoma","Trebuchet MS","Segoe UI",sans-serif; --display:var(--body); scroll-behavior:auto; }
[data-reading="dyslexic"] body{ letter-spacing:.03em; word-spacing:.08em; line-height:1.9; }
[data-reading="dyslexic"] p, [data-reading="dyslexic"] li{ max-width:68ch; }
[data-reading="dyslexic"] h1,[data-reading="dyslexic"] h2,[data-reading="dyslexic"] h3,[data-reading="dyslexic"] h4{ letter-spacing:0; font-weight:500; line-height:1.3; }
[data-reading="dyslexic"] *, [data-reading="dyslexic"] *::before, [data-reading="dyslexic"] *::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
[data-reading="dyslexic"] #readingBtn{ background:var(--clay-deep); border-color:var(--link); color:#F6F1E8; }
#readingBtn span{ line-height:1; }

/* members area + disabled login */
.login-card{max-width:440px; margin:2.5rem auto 0; background:var(--surface-soft); border:1px solid var(--border); border-top:3px solid var(--clay); border-radius:var(--r); padding:clamp(1.6rem,4vw,2.2rem); text-align:center;}
.section--surface .login-card{background:var(--bg);}
.soon-badge{display:inline-block; font-family:var(--display); font-size:.66rem; text-transform:uppercase; letter-spacing:.16em; color:var(--ivory); background:var(--clay-deep); border-radius:999px; padding:.25rem .8rem; margin-bottom:1.1rem;}
.login-card .field{text-align:left; margin-bottom:1rem;}
.login-card input:disabled, .login-card button:disabled{opacity:.55; cursor:not-allowed;}
.login-card .btn:disabled:hover{transform:none; opacity:.55;}

/* cookie / storage notice */
.cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:600; background:var(--surface-soft); color:var(--text); border-top:1px solid var(--border); box-shadow:0 -8px 30px rgba(42,39,35,.10);}
[data-theme="dark"] .cookie-banner{background:var(--surface);}
.cookie-banner__inner{max-width:var(--maxw); margin:0 auto; padding:1rem var(--sx); display:flex; gap:.9rem 1.6rem; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.cookie-banner p{margin:0; font-size:.92rem; line-height:1.55; flex:1 1 320px; min-width:0; max-width:100%;}
.cookie-banner .btn{padding:.58rem 1.5rem; font-size:.92rem; flex:0 0 auto;}
@media (max-width:600px){ .cookie-banner .btn{width:100%; text-align:center;} }

/* gratitude wall */
.wall{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem;}
.wall span{font-family:var(--display); font-size:.95rem; background:var(--surface-soft); border:1px solid var(--border); border-radius:999px; padding:.45rem 1rem; color:var(--text);}
.section--surface .wall span{background:var(--bg);}
.wall--founders span{border-color:var(--clay); color:var(--link);}
.wall--ambassador span{font-size:1.05rem; border-color:var(--clay); color:var(--link); padding:.6rem 1.2rem;}
[data-theme="dark"] .wall .badge, [data-theme="dark"] .tier__ico{box-shadow:0 0 0 1px rgba(246,241,232,.22);}
.wall .badge{display:inline-flex; align-items:center; gap:.3em; font-family:var(--display); font-style:normal; font-size:.64rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--ivory); background:var(--onyx); border:none; border-radius:999px; padding:.2rem .58rem .2rem .46rem; margin-left:.5rem; vertical-align:middle; line-height:1;}
.wall .badge::before{content:""; flex:none; width:.92em; height:.92em; background-color:currentColor; -webkit-mask:center/contain no-repeat var(--ico); mask:center/contain no-repeat var(--ico);}
.wall .badge--ambassador{background:var(--onyx); --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 7l3.6 3.4L12 3l5.4 7.4L21 7l-1.7 11.5H4.7z'/%3E%3C/svg%3E");}
.wall .badge--champion{background:var(--clay-deep); --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.7 6.3 6.8.5-5.2 4.3 1.7 6.6L12 16.7 6 20l1.7-6.6L2.5 8.8l6.8-.5z'/%3E%3C/svg%3E");}
.wall .badge--supporter{background:var(--moss-deep); --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21S3 14.6 3 8.9C3 5.7 5.4 3.6 8.2 3.6c1.9 0 3.1 1 3.8 2 .7-1 1.9-2 3.8-2C18.6 3.6 21 5.7 21 8.9 21 14.6 12 21 12 21z'/%3E%3C/svg%3E");}
.wall .badge--friend{background:var(--onyx-lt); --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19C4 12 8 5 20 4c1 12-6 16-12 15 1-4 4-7 8-9-5 1-9 4-11 9z'/%3E%3C/svg%3E");}

/* consent checkbox row (mobile-safe) */
.consent{display:flex; align-items:flex-start; gap:.6rem; font-family:var(--body); font-weight:400; font-size:.95rem; line-height:1.5;}
.consent input{flex:0 0 auto; margin-top:.3rem; accent-color:var(--moss-deep);}
.consent span{flex:1 1 auto; min-width:0;}

/* ---- Membership tiers ---- */
.tiers{display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); margin-top:2.5rem; align-items:start;}
.tier{background:var(--surface-soft); border:1px solid var(--border); border-top:3px solid var(--clay); border-radius:var(--r-sm); padding:1.9rem 1.7rem; display:flex; flex-direction:column;}
.section--surface .tier{background:var(--bg);}
.tier--featured{border:1.5px solid var(--clay); border-top:3px solid var(--clay); box-shadow:var(--shadow-soft);}
.tier__badge{align-self:flex-start; font-family:var(--display); font-size:.64rem; text-transform:uppercase; letter-spacing:.16em; color:var(--ivory); background:var(--clay-deep); border-radius:999px; padding:.2rem .7rem; margin-bottom:.9rem;}
.tier h3{margin:.1rem 0 .2em;}
.tier__ico{width:46px; height:46px; border-radius:50%; display:grid; place-items:center; margin-bottom:1rem;}
.tier__ico::before{content:""; width:23px; height:23px; background-color:var(--ivory); -webkit-mask:center/contain no-repeat var(--ico); mask:center/contain no-repeat var(--ico);}
.tier--supporter .tier__ico{background:var(--moss-deep);}
.tier--supporter{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21S3 14.6 3 8.9C3 5.7 5.4 3.6 8.2 3.6c1.9 0 3.1 1 3.8 2 .7-1 1.9-2 3.8-2C18.6 3.6 21 5.7 21 8.9 21 14.6 12 21 12 21z'/%3E%3C/svg%3E");}
.tier--friend .tier__ico{background:var(--onyx-lt);}
.tier--friend{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19C4 12 8 5 20 4c1 12-6 16-12 15 1-4 4-7 8-9-5 1-9 4-11 9z'/%3E%3C/svg%3E");}
.tier--champion .tier__ico{background:var(--clay-deep);}
.tier--champion{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.7 6.3 6.8.5-5.2 4.3 1.7 6.6L12 16.7 6 20l1.7-6.6L2.5 8.8l6.8-.5z'/%3E%3C/svg%3E");}
.tier--ambassador .tier__ico{background:var(--onyx);}
.tier--ambassador{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 7l3.6 3.4L12 3l5.4 7.4L21 7l-1.7 11.5H4.7z'/%3E%3C/svg%3E");}
.tier__price{font-family:var(--display); font-weight:300; font-size:2.4rem; line-height:1; color:var(--text); margin:.3rem 0 .1rem;}
.tier__price span{font-size:1rem; color:var(--text-soft);}
.tier__sub{color:var(--text-soft); font-size:.9rem; margin:0 0 1.1rem;}
.perks{list-style:none; padding:0; margin:0 0 1.5rem;}
.perks li{position:relative; padding-left:1.5rem; margin-bottom:.55rem; font-size:.96rem;}
.perks li::before{content:""; position:absolute; left:.1rem; top:.5em; width:.55rem; height:.55rem; border:1.5px solid var(--clay); border-right:0; border-top:0; transform:rotate(-45deg);}
.tier .btn{margin-top:auto;}

/* ---- Founder ---- */
.founder{display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(2rem,5vw,4rem); align-items:start;}
.founder__media{border-radius:var(--r-sm); overflow:hidden; background:var(--surface); box-shadow:var(--shadow-soft);}
.founder__media img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/5;}
.cred-list{list-style:none; padding:0; margin:1.4rem 0 0; display:grid; gap:.7rem;}
.cred-list li{position:relative; padding-left:1.5rem; color:var(--text);}
.cred-list li::before{content:""; position:absolute; left:0; top:.62em; width:.55rem; height:.55rem; border-radius:50%; background:var(--clay);}
.qa{margin-top:1.8rem;}
.qa h3{font-size:1.18rem; color:var(--link); margin:0 0 .25em; font-weight:500;}
.qa p{margin:0 0 1.4rem;}
@media (max-width:760px){ .founder{grid-template-columns:1fr;} .founder__media{max-width:320px;} }

/* ---- Audience split (adults / children) ---- */
.split{display:grid; gap:1.5rem; grid-template-columns:1fr 1fr; margin-top:2.5rem;}
.split__col{background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--r-sm); padding:1.8rem 1.7rem;}
.section--surface .split__col{background:var(--bg);}
.split__col.is-adult{border-top:3px solid var(--clay);}
.split__col.is-child{border-top:3px solid var(--moss);}
.split__col h3{margin:.1rem 0 .5em;}
.split__col .tagline{font-family:var(--display); text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; color:var(--text-soft); margin:0 0 .6rem;}
@media (max-width:680px){ .split{grid-template-columns:1fr;} }

/* ---- Minors / age notice ---- */
.age-note{background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--clay-deep); border-radius:var(--r-sm); padding:1.1rem 1.4rem; margin-top:2rem; font-size:.92rem; color:var(--text-soft);}
.section--surface .age-note{background:var(--bg);}
.age-note strong{color:var(--text); font-weight:500;}

/* ---- Print ---- */
@media print{
  .nav,.footer,.quiet,.btn-row,.tech,.breathe-controls,.breathe-meta,.icon-btn,.skip-link,.search,.filter-bar,.quiz__actions{display:none!important;}
  body{background:#fff; color:#000;}
  .section{padding-block:1rem;}
  a{color:#000; text-decoration:underline;}
  .media,.rings{display:none!important;}
}

/* ---- Printables (free print-at-home resources) ---- */
.printable{display:none;}
.printable .print-brand{font-family:var(--display); text-transform:uppercase; letter-spacing:.18em; font-size:.7rem; color:#7E6450; margin:0 0 1rem;}
.printable h2{margin:0 0 .6rem;}
.print-table{width:100%; border-collapse:collapse; margin:1rem 0;}
.print-table th,.print-table td{border:1px solid #888; padding:.55rem .6rem; text-align:left; font-size:.95rem; vertical-align:top;}
.print-table th{font-family:var(--display); font-weight:600;}
.print-check{list-style:none; padding:0;}
.print-check li{position:relative; padding-left:1.8rem; margin-bottom:.6rem;}
.print-check li::before{content:""; position:absolute; left:0; top:.15em; width:1rem; height:1rem; border:1.5px solid #555;}
@media print{
  body.print-isolate{background:#fff;}
  body.print-isolate *{visibility:hidden !important;}
  body.print-isolate .print-target, body.print-isolate .print-target *{visibility:visible !important;}
  body.print-isolate .print-target{display:block !important; position:absolute; left:0; top:0; width:100%; padding:1.6rem; color:#000;}
}
