:root{--g:#173f30;--m:#56775e;--gold:#9b8956;--text:#788077}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--g);font:16px/1.75 'Segoe UI',Arial,sans-serif}header,main,footer{max-width:1160px;margin:auto}header{padding:25px 30px;display:flex;align-items:center;gap:35px;border-bottom:1px solid #ebeee7}a{color:inherit;text-decoration:none}a:hover{color:#7a8c59}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa975e;outline-offset:5px}.brand{font-size:32px;font-weight:700;display:flex;align-items:center;gap:16px;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:400;margin-top:7px}.brand i{font-style:normal;background:var(--g);border:3px double #c3aa62;border-radius:50%;height:60px;width:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e0cc86;font-size:24px}.brand i small{font:12px Georgia;color:#e0cc86;letter-spacing:0;margin:0}nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.lang{display:flex;border:1px solid #e9ece5;border-radius:30px;padding:5px}.lang button{border:0;background:none;border-radius:50%;width:40px;height:40px;font-size:11px;color:var(--g)}.lang .active{background:var(--g);color:white}section{padding:70px 30px}.hero{text-align:center;padding-top:80px;padding-bottom:0}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold);font-weight:600;margin:0 0 24px}h1{font-size:76px;line-height:1.07;letter-spacing:-4px;font-weight:650;margin:0 0 30px}em{font-style:normal;color:var(--m)}.intro{font-size:18px;color:var(--text);line-height:1.9}.actions{display:flex;align-items:center;justify-content:center;gap:35px;margin:34px 0 24px;font-size:14px}.button{border:0;display:inline-block;background:#09543e;color:white;border-radius:30px;padding:15px 26px;font-size:13px;font-weight:600}.button:hover{background:#183f30;color:white}.muted{font-size:13px;color:#898d85}.showcase{height:425px;background:linear-gradient(#fdfdfb,#eff3ec);border-radius:25px;margin-top:65px;display:flex;align-items:center;justify-content:center;gap:35px;position:relative;overflow:hidden}.paper{border-radius:12px;width:300px;text-align:left;box-shadow:0 18px 35px #29463416;padding:28px}.one{background:#f1eedf;transform:rotate(-6deg)}.two{background:white;transform:rotate(5deg)}small{font-size:9px;letter-spacing:1.7px;color:var(--gold)}.paper h2{font:34px/1.2 Georgia;margin:16px 0}.equation{font:30px Georgia;margin:24px 0 12px}.dots{font-size:23px;line-height:1.6;letter-spacing:15px;color:#728b5e}.paper p{font-size:10px;color:#818770}.geometry{height:150px;position:relative}.geometry span{position:absolute;width:100px;height:100px;border:2px solid #82946a;border-radius:50%;top:25px;left:10px;background:#edf0e799}.geometry b{font:140px/1 Georgia;position:absolute;left:55px;color:#bac6a6}.geometry i{position:absolute;width:75px;height:75px;transform:rotate(25deg);border:2px solid #ab965a;left:145px;top:50px}.paper h3{font-weight:500;font-size:22px;line-height:1.3}.paper a{font-size:13px;font-weight:600}.formula{position:absolute;right:30px;top:30px;font:italic 20px Georgia;color:#98a28b}.strip{padding:28px 0 35px;display:flex;justify-content:center;gap:70px;font-size:12px;color:var(--text);border-bottom:1px solid #e8ebe4}h2{font-size:44px;line-height:1.15;letter-spacing:-1.8px;font-weight:600;margin:0}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.heading p{text-align:right;color:var(--text);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid #e6eae0;border-radius:18px;overflow:hidden;text-align:left;background:white;color:var(--g);padding:0;transition:transform .2s}.card:hover{transform:translateY(-5px)}.art{height:190px;display:flex;align-items:center;justify-content:center;font:46px Georgia;background:#f0eee2;gap:20px}.art span{font-size:26px;color:#a18c55}.algebra{background:#eaf0e4;color:#587355}.shapes{background:#194b38;color:#e0d3aa}.content{padding:26px}h3{font-size:20px;font-weight:600;line-height:1.4;margin:12px 0}p{color:var(--text)}.content p,.shop p{font-size:14px}.content b,.shop b{font-size:13px;font-weight:600}.practice{margin:10px 30px;background:#f1f4ec;border-radius:24px;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.practice h2{font-size:36px}.practice p{font-size:14px}label{display:block;font-size:12px;margin-top:25px}select{background:white;border:1px solid #d9e1d0;padding:9px;border-radius:8px;color:var(--g)}form{background:white;border-radius:18px;padding:28px;align-self:center}form h3{font-size:25px;margin:20px 0}.answer{display:flex;gap:10px}input{min-width:0;width:100%;border:1px solid #dae1d3;padding:10px;border-radius:8px}.answer .button{white-space:nowrap;padding:12px 16px;font-size:12px}#feedback{min-height:50px;font-size:13px}.text{padding:0;background:none;border:0;color:var(--g);font-size:12px}.shops{display:grid;grid-template-columns:1fr 1fr;gap:25px}.shop{border:1px solid #e6eae0;border-radius:18px;padding:32px;display:flex;gap:22px}.icon{width:60px;height:60px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#edf1e7;font-size:30px}.soon{background:#fafbf8}.badge{background:#edf1e7;border-radius:20px;padding:4px 12px;font-size:11px;color:#77836b}.story{text-align:center;background:#f7f7f2;border-radius:24px;margin:0 30px 65px;padding:60px 25px}.story p:not(.eyebrow){max-width:550px;margin:25px auto;font-size:15px}footer{border-top:1px solid #e7ebe1;padding:35px 30px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text)}footer .brand{display:block;font-size:25px}footer small{font-size:8px}dialog{width:min(560px,90vw);border:1px solid #d7decd;border-radius:20px;padding:45px;color:var(--g)}dialog::backdrop{background:#163e3066}dialog h2{font-size:30px}.close{position:absolute;right:15px;top:8px;border:0;background:none;font-size:28px;color:var(--g)}.example{background:#f0f3e9;border-radius:10px;padding:25px;text-align:center;font:28px Georgia}@media(max-width:750px){header{flex-wrap:wrap;gap:15px;padding:20px}.brand{font-size:25px}.brand i{width:48px;height:48px}nav{order:3;width:100%;justify-content:space-between;gap:10px;font-size:12px}.lang{margin-left:auto}section{padding:48px 22px}.hero{padding-top:50px}h1{font-size:52px;letter-spacing:-2.8px}.intro{font-size:15px}.actions{gap:22px;flex-wrap:wrap;font-size:12px}.muted{font-size:11px}.showcase{height:350px;gap:15px;margin-top:40px}.paper{width:220px;flex-shrink:0;padding:20px}.two{width:200px}.paper h2{font-size:26px}.dots{font-size:18px;letter-spacing:10px}.geometry{transform:scale(.8);transform-origin:left}.formula{display:none}.strip{gap:20px;font-size:10px}.heading{display:block}.heading p{text-align:left;margin-top:20px}h2{font-size:35px}.grid,.shops{grid-template-columns:1fr}.art{height:160px}.practice{grid-template-columns:1fr;margin:10px 20px;padding:28px;gap:25px}.practice h2{font-size:31px}form{padding:20px}.answer{flex-wrap:wrap}.shop{padding:24px}.story{margin:10px 20px 40px;padding:40px 25px}footer{flex-wrap:wrap;gap:20px}footer p{margin:0}dialog{padding:35px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
/* Bright Math Studio identity */
.brand,footer .brand{display:flex;align-items:center;gap:13px;color:#173f30;font-family:'Segoe UI',Arial,sans-serif;line-height:1;flex-shrink:0}
.brand:hover{color:#173f30}
.brand-mark{display:block;width:56px;height:56px;flex-shrink:0}
.brand-name{font-size:32px;font-weight:650;letter-spacing:-1.3px}
.brand-subtitle{display:block;margin-top:9px;font-size:10px;line-height:1.2;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:#897649}
footer .brand-mark{width:42px;height:42px}footer .brand-name{font-size:25px}footer .brand-subtitle{font-size:8px;letter-spacing:1.8px;margin-top:7px}
@media(max-width:750px){.brand-mark{width:47px;height:47px}.brand-name{font-size:28px}.brand-subtitle{font-size:9px;letter-spacing:2px;margin-top:7px}}
/* Responsive layout corrections: preserve complete cards and comfortable touch targets. */
.grid>*,.shops>*,.practice>*{min-width:0}
.shop>div{min-width:0;overflow-wrap:anywhere}
nav a{display:inline-flex;align-items:center;min-height:44px}
.close{min-width:44px;min-height:44px}
.text{min-height:44px}
input,select{font-size:16px;min-height:44px}
@media(min-width:751px) and (max-width:1000px){header{flex-wrap:wrap;gap:18px}nav{order:3;width:100%;margin-left:0;justify-content:center;gap:35px}.lang{margin-left:auto}.practice{gap:24px;padding:32px}.answer{flex-wrap:wrap}.shop{padding:24px;gap:16px}.grid{gap:16px}.content{padding:20px}}
@media(max-width:750px){
 h1{font-size:clamp(38px,9.8vw,52px);letter-spacing:-2px}
 .showcase{height:auto;flex-direction:column;gap:28px;padding:34px 18px;overflow:visible}
 .paper,.two{width:min(100%,290px);flex-shrink:1;transform:none}
 .geometry{transform:none;max-width:235px}
 .strip{flex-wrap:wrap;gap:8px 20px}
 .practice{padding:24px 18px;margin-left:16px;margin-right:16px}
 form{padding:20px 16px;width:100%}
 .answer input,.answer .button{width:100%}
 .answer .button{min-height:46px}
 .shop{gap:16px;padding:22px 18px}
 .icon{width:44px;height:44px;font-size:24px}
 nav{flex-wrap:wrap;column-gap:15px;justify-content:center}
 .actions{gap:16px}.actions>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 dialog{max-height:85dvh;overflow:auto}.example{font-size:clamp(18px,5vw,28px);padding:20px 10px}
}
@media(max-width:360px){header{padding:16px;column-gap:9px}.brand{gap:9px}.brand-name{font-size:25px}.brand-subtitle{font-size:8px;letter-spacing:1.5px}.brand-mark{width:42px;height:42px}.lang{padding:3px}.lang button{width:36px;height:40px}section{padding-left:18px;padding-right:18px}.shop{flex-direction:column}footer{padding:28px 20px}}
.button.secondary{background:#eef2e9;color:#173f30}.button.secondary:hover{background:#e1e8d8}
.lessons{margin:0 30px 60px;padding:45px;background:#edf2e8;border-radius:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center}
.lessons h2{font-size:38px}.lessons p:not(.eyebrow){max-width:520px;font-size:15px}.lesson-action{text-align:center}.lesson-action p{font-size:12px!important}.booking-link{text-align:center}
@media(max-width:750px){.lessons{margin:0 20px 40px;padding:30px 24px;grid-template-columns:minmax(0,1fr);gap:18px}.lessons h2{font-size:32px}.lesson-action{text-align:left}.lesson-action .button{width:100%;white-space:normal}.hero .actions{flex-direction:column;align-items:stretch}.hero .actions>a{width:100%}nav{gap:0 16px;font-size:12px}}
.youtube-section{margin:0 30px 45px;padding:44px;border:1px solid #e0e6d8;border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:36px}.youtube-section h2{font-size:38px}.youtube-section p:not(.eyebrow){max-width:520px;font-size:15px}.youtube-link{flex-shrink:0}
@media(max-width:750px){.youtube-section{margin:0 20px 35px;padding:30px 24px;flex-direction:column;align-items:stretch;gap:18px}.youtube-section h2{font-size:32px}.youtube-link{width:100%;text-align:center}footer{column-gap:24px;row-gap:18px}}
/* Readable defaults and visitor-controlled text sizing. */
html{font-size:18px}body{font-size:1rem;line-height:1.8;color:#173f30}
p,.intro,.content p,.shop p,.practice p,.story p:not(.eyebrow),.lessons p:not(.eyebrow),.youtube-section p:not(.eyebrow),.heading p{font-size:1rem;color:#4e5d52;line-height:1.8}
nav,.actions,.button,.card b,.shop b,.paper a,footer,.text,.muted,.strip,label,select,input,#feedback,.answer .button,.lesson-action p{font-size:1rem!important}
.eyebrow,small,.paper-label,.paper p,.badge,form small{font-size:.8rem;line-height:1.6}
h3,.paper h3{font-size:1.3rem;line-height:1.4}form h3{font-size:1.5rem}
nav{flex-wrap:wrap;gap:12px 24px}header{flex-wrap:wrap}.lang{margin-left:auto}.lang button{font-size:.85rem;width:44px;height:44px}
.button{white-space:normal;line-height:1.5}.answer{flex-wrap:wrap}.answer .button{width:100%}input,select{max-width:100%;min-height:48px}
.reading-tools{max-width:1100px;margin:16px auto 0;padding:10px 20px;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;font-size:1rem}
.reading-tools button{font-size:1rem;min-height:48px;padding:8px 16px;border:1px solid #a4b49d;border-radius:10px;background:#fff;color:#173f30;line-height:1.5}
.reading-tools button[aria-pressed="true"]{background:#173f30;color:#fff;border-color:#173f30}
html[data-text-size="large"]{font-size:21px}html[data-text-size="largest"]{font-size:24px}
html[data-text-size="large"] .grid,html[data-text-size="largest"] .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
html[data-text-size="largest"] .practice,html[data-text-size="largest"] .lessons{grid-template-columns:minmax(0,1fr)}
html[data-text-size="largest"] .shops{grid-template-columns:minmax(0,1fr)}
html[data-text-size="largest"] .youtube-section{flex-wrap:wrap}
html[data-text-size="largest"] h1{font-size:clamp(2.1rem,7vw,3.5rem)}
html[data-text-size="largest"] .showcase{height:auto;flex-wrap:wrap;padding:40px 24px}
html[data-text-size="largest"] .paper{transform:none;max-width:100%}
footer{flex-wrap:wrap;gap:20px}.brand-subtitle{font-size:.7rem;letter-spacing:1.5px}.brand-name{font-size:1.9rem}footer .brand-name{font-size:1.5rem}footer .brand-subtitle{font-size:.65rem}
@media(max-width:750px){
 html{font-size:19px}html[data-text-size="large"]{font-size:22px}html[data-text-size="largest"]{font-size:25px}
 .reading-tools{justify-content:flex-start;padding:12px 20px;margin-top:4px}.reading-tools>span{width:100%;font-weight:600}
 .reading-tools button{padding:8px 12px}
 nav{justify-content:flex-start;gap:4px 20px;font-size:1rem}
 .brand-name{font-size:1.65rem}.brand-subtitle{font-size:.65rem}
 .hero{padding-top:36px}h1{font-size:clamp(2rem,9vw,2.75rem);letter-spacing:-1.7px}
 h2,.practice h2,.lessons h2,.youtube-section h2{font-size:1.8rem;line-height:1.25;letter-spacing:-.8px}
 .paper h2{font-size:1.6rem}.paper h3{font-size:1.25rem}.paper{width:100%;max-width:310px}
 .showcase{padding:26px 16px}.strip{flex-direction:column;gap:12px;text-align:left}
 .shop{flex-direction:column}.shop h3{overflow-wrap:anywhere}
 .content{padding:24px}.eyebrow{letter-spacing:1.5px}
 .lesson-action p{line-height:1.6}.practice{padding:24px 16px}.example{font-size:1.2rem;overflow-wrap:anywhere}
 .lang{margin-left:0}header{justify-content:space-between;gap:16px 10px}.brand{flex-shrink:1;min-width:0}
}
@media(max-width:360px){.brand-name{font-size:1.45rem}.brand-subtitle{font-size:.6rem}.lang button{width:44px}.reading-tools{padding-left:16px;padding-right:16px}}
.weekly-pick{margin:55px 30px 0;padding:35px;background:#f0f3e9;border-radius:24px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:40px;align-items:center}
.pick-art{padding:45px 24px;min-height:300px;background:#173f30;border-radius:16px;display:flex;flex-direction:column;justify-content:center;gap:40px;text-align:center;color:#e8d7a4}.pick-art span{font-size:.8rem;letter-spacing:2px}.pick-art strong{font:clamp(26px,3.5vw,44px) Georgia,serif}.pick-week{font-size:.85rem!important;margin-top:-16px}.pick-content h2{font-size:2rem}.pick-content ul{padding-left:24px;font-size:1rem}.pick-content li{margin:10px 0}.product-note{font-size:.9rem!important}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.product-card{border:1px solid #dfe5d6;border-radius:18px;overflow:hidden;min-width:0}.product-art{background:#f1edde;color:#173f30;text-align:center;padding:30px;font:2.5rem Georgia,serif}.product-card:nth-child(even) .product-art{background:#e9f0e3}.product-body{padding:28px}.product-body h3{font-size:1.35rem}.product-body p{font-size:1rem}.product-footer{text-align:center;margin-top:32px}.product-footer p{font-size:.9rem}header nav{order:3;width:100%;justify-content:center;margin-left:0}
@media(max-width:750px){.weekly-pick{margin:35px 20px 0;padding:22px;grid-template-columns:minmax(0,1fr);gap:28px}.pick-art{min-height:200px;padding:28px 18px;gap:25px}.pick-content h2{font-size:1.8rem}.product-grid{grid-template-columns:minmax(0,1fr)}.product-body{padding:24px}.product-body .button,.pick-content .button{width:100%;text-align:center}.pick-content li{line-height:1.7}header nav{justify-content:flex-start}}
html[data-text-size="largest"] .weekly-pick,html[data-text-size="largest"] .product-grid{grid-template-columns:minmax(0,1fr)}
.mini-apps-coming{margin:10px 30px 30px;padding:42px;background:#f5f3eb;border:1px solid #e5dfcc;border-radius:24px;display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:40px;align-items:center}
.mini-app-illustration{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;min-height:220px;padding:24px;border-radius:18px;background:#e6ecdf}
.mini-app-illustration span{display:grid;place-items:center;width:75px;height:75px;border-radius:18px;background:#fff;color:#173f30;font:2.5rem Georgia,serif}.mini-app-illustration span:nth-child(2){background:#173f30;color:#e9d69c}.mini-app-illustration span:last-child{background:#dfd3ae}
.mini-apps-coming h2{font-size:2rem;line-height:1.25}.mini-apps-coming p:not(.eyebrow){font-size:1rem;color:#4e5d52}.coming-status{display:inline-block;padding:10px 16px;border-radius:12px;background:#e6ebde;font-size:1rem;line-height:1.6;color:#173f30}.mini-app-actions{display:flex;flex-wrap:wrap;gap:14px}.mini-app-note{margin-top:24px}
@media(max-width:750px){.mini-apps-coming{margin:10px 20px 25px;padding:26px 22px;grid-template-columns:minmax(0,1fr);gap:26px}.mini-app-illustration{min-height:150px;padding:18px;gap:10px}.mini-app-illustration span{width:60px;height:60px;font-size:2rem}.mini-apps-coming h2{font-size:1.8rem}.mini-app-actions{flex-direction:column}.mini-app-actions a{text-align:center;width:100%}}
html[data-text-size="largest"] .mini-apps-coming{grid-template-columns:minmax(0,1fr)}
/* Professional navigation: compact identity, deliberate spacing, mobile disclosure. */
header{padding:24px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 24px;align-items:center}
header .brand{justify-self:start}header .lang{justify-self:end;margin:0}
header nav{grid-column:1/-1;order:initial;width:100%;margin:0;display:flex;justify-content:flex-start;gap:6px 26px;border-top:1px solid #edf0e8;padding-top:12px}
header nav a{font-size:.9rem!important;line-height:1.5;min-height:44px;padding:5px 0;color:#294d3b}
header nav a:hover{color:#07543e;text-decoration:underline;text-underline-offset:6px}
.menu-toggle{display:none}.menu-symbol{font-size:22px;line-height:1}
.reading-tools{border-bottom:1px solid #edf0e8;padding-bottom:16px}
@media(max-width:750px){
 header{padding:20px;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px}
 header .brand{gap:10px}header .brand-mark{width:46px;height:46px}header .brand-name{font-size:28px;letter-spacing:-1px}header .brand-subtitle{font-size:11px;letter-spacing:1.6px;margin-top:7px}
 header .lang{grid-column:1;grid-row:2;justify-self:start;padding:3px;border-color:#dce4d7}
 header .lang button{width:44px;height:44px;font-size:15px}
 .menu-toggle{display:inline-flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid #dce4d7;border-radius:10px;background:#fff;color:#173f30;font-size:17px;line-height:1.5}
 .menu-toggle[aria-expanded="true"]{background:#edf2e8;border-color:#a7b59b}
 header nav{display:none;grid-column:1/-1;grid-row:3;padding:12px 0 0;border-top:1px solid #e5ebdf;gap:0}
 header nav.is-open{display:grid;grid-template-columns:minmax(0,1fr)}
 header nav a{font-size:1rem!important;min-height:52px;padding:12px 6px;border-bottom:1px solid #edf0e8;overflow-wrap:anywhere}
 header nav a:last-child{border-bottom:0}
 .reading-tools{margin:0 20px;padding:16px 0;gap:10px;font-size:.9rem}
 .reading-tools>span{width:100%;color:#4e5d52}
 .reading-tools button{font-size:.9rem;min-height:46px;padding:8px 12px}
 .hero{padding-top:42px}
}
@media(min-width:420px) and (max-width:750px){header{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}header .lang{grid-row:1;grid-column:2;justify-self:end}header .menu-toggle{grid-column:3}header nav{grid-column:1/-1;grid-row:2}}
@media(max-width:360px){header{padding:18px 16px}header .brand-mark{width:42px;height:42px}header .brand-name{font-size:26px}header .brand-subtitle{font-size:10px}.menu-toggle{font-size:16px;padding:10px}.reading-tools{margin:0 16px}}
/* Shop categories follow the catalog and remain readable at every text size. */
.category-navigation{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px;padding:0}
.category-navigation a{border:1px solid #cbd7c1;border-radius:10px;background:#f3f6ef;font-size:1rem;line-height:1.5;padding:12px 18px;min-height:48px}
.category-navigation a:hover{background:#e6eddf;color:#173f30}
.product-category{padding:0;margin:0 0 56px;scroll-margin-top:24px}
.category-heading{border-top:1px solid #dfe6d8;padding-top:28px;margin-bottom:24px}
.category-heading h3{font-size:1.6rem;line-height:1.3;margin:0 0 12px;letter-spacing:-.5px}
.category-heading p{margin:0;font-size:1rem}
.product-body{display:flex;flex-direction:column;align-items:flex-start;height:100%}
.product-card{display:flex;flex-direction:column}.product-art{flex-shrink:0}
.product-body h4{font-size:1.25rem;line-height:1.45;font-weight:600;margin:14px 0 10px;color:#173f30;overflow-wrap:anywhere}
.product-body .button{margin-top:auto}.product-body p{margin:0 0 24px}
.free-label{display:block;margin-top:12px;background:#e8efdf;color:#284b30;border-radius:8px;padding:6px 10px;font-size:.85rem;line-height:1.5}
@media(max-width:750px){.category-navigation{gap:10px;margin-bottom:32px}.category-navigation a{width:100%;font-size:1rem}.category-heading h3{font-size:1.5rem}.product-category{margin-bottom:40px}.product-body .button{width:100%;text-align:center}}
/* Original shop artwork: preserve cover text and logo proportions. */
.product-cover-link{display:block;background:#f4f3ec;flex-shrink:0;padding:16px;border-bottom:1px solid #e5e9de}
.product-cover{display:block;width:100%;height:320px;object-fit:contain;object-position:center;border-radius:8px}
.weekly-cover-link{display:block;min-width:0;border-radius:16px;padding:16px;background:#fff;border:1px solid #e1e6d7}
.weekly-cover{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;border-radius:8px}
.shop-logo{display:block;width:88px;height:88px;flex-shrink:0;object-fit:contain;border-radius:50%;background:#f5f3eb;border:1px solid #e1dece}
@media(max-width:750px){.product-cover-link{padding:12px}.product-cover{height:auto;max-height:420px;aspect-ratio:1/1;object-fit:contain}.weekly-cover-link{padding:10px}.shop-logo{width:80px;height:80px}}
.about-me{margin:0 30px 60px;padding:40px;display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:44px;align-items:center;border:1px solid #dfe6d7;border-radius:24px;background:#fafbf7}
.about-photo-wrap{min-width:0;background:#eaf0e3;border-radius:18px;overflow:hidden}
.about-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.about-copy{min-width:0}.about-copy h2{font-size:2rem}.about-copy p{font-size:1rem}.about-role{font-weight:600;color:#365a42;line-height:1.6}.about-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
@media(max-width:750px){.about-me{margin:0 20px 40px;padding:26px 22px;grid-template-columns:minmax(0,1fr);gap:28px}.about-photo-wrap{width:100%;max-width:340px;margin:auto}.about-photo{max-height:400px}.about-copy h2{font-size:1.8rem}.about-actions{flex-direction:column}.about-actions a{width:100%;text-align:center}}
html[data-text-size="largest"] .about-me{grid-template-columns:minmax(0,1fr)}html[data-text-size="largest"] .about-photo-wrap{max-width:380px;margin:auto}
/* Give the biography a compact editorial layout on phones. */
.about-copy p{line-height:1.65;margin:18px 0}.about-copy .eyebrow{margin:0 0 16px}.about-actions{margin-top:22px}.about-role{font-size:.95rem!important}
.lessons p:not(.eyebrow){line-height:1.65}.lesson-action p{margin:14px 0 0;line-height:1.5}
@media(max-width:750px){
 .lessons,.about-me,.youtube-section{margin-left:16px;margin-right:16px;border-radius:18px}
 .lessons{padding:26px 22px;gap:16px;margin-bottom:32px}
 .lessons h2,.about-copy h2{font-size:1.65rem;line-height:1.25}
 .lessons p:not(.eyebrow){margin:18px 0 0}
 .lesson-action p{font-size:.85rem!important;margin-top:12px!important}
 .about-me{padding:26px 22px;gap:22px;margin-bottom:32px}
 .about-photo-wrap{width:156px;max-width:100%;margin:0;border-radius:14px}
 .about-photo{width:100%;height:180px;max-height:none;object-fit:cover;object-position:center 25%}
 .about-copy .eyebrow{margin-bottom:12px}
 .about-copy p{line-height:1.65;margin:16px 0}
 .about-actions{margin-top:20px}
 .about-actions .button,.lesson-action .button{padding:13px 18px;border-radius:14px;line-height:1.5;white-space:normal}
 .youtube-section{margin-bottom:32px}
 html[data-text-size="largest"] .about-photo-wrap{width:156px;margin:0}
}
/* Final typography rhythm: readable body copy, restrained labels, consistent actions. */
body{line-height:1.6}
p,.intro,.content p,.shop p,.practice p,.story p:not(.eyebrow),.lessons p:not(.eyebrow),.youtube-section p:not(.eyebrow),.heading p,.about-copy p,.mini-apps-coming p:not(.eyebrow),.product-body p{line-height:1.6}
.eyebrow{font-size:.85rem;letter-spacing:.08em;line-height:1.5;margin-bottom:18px}
small,.paper-label,form small{font-size:.85rem;letter-spacing:.04em;line-height:1.5}
.brand-subtitle{letter-spacing:.1em}
.button,.answer .button,.about-actions .button,.lesson-action .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border-radius:12px;font-weight:600;line-height:1.5;text-align:center}
.heading{margin-bottom:30px}.heading p{margin-bottom:0}
.product-body h3,.content h3,.shop h3{line-height:1.35}
.product-body p{margin-top:12px;margin-bottom:24px}
@media(max-width:750px){
 section{padding-top:40px;padding-bottom:40px}
 h2,.practice h2,.lessons h2,.youtube-section h2,.about-copy h2,.mini-apps-coming h2,.pick-content h2{font-size:1.7rem;line-height:1.25;letter-spacing:-.025em}
 .hero{padding-top:36px;padding-bottom:0}
 .eyebrow{margin-bottom:16px;letter-spacing:.06em}
 .lessons,.about-me,.youtube-section,.mini-apps-coming{padding:26px 22px;margin-bottom:32px;gap:22px}
 .weekly-pick{padding:26px 22px;margin-top:32px;gap:24px}
 .practice{padding:26px 18px;margin-top:0;margin-bottom:32px;gap:22px}
 .story{padding:32px 24px;margin-bottom:32px}
 .story p:not(.eyebrow){margin:20px auto}
 .about-copy p,.lessons p:not(.eyebrow){margin:16px 0;line-height:1.6}
 .heading{margin-bottom:26px}.heading p{margin-top:16px}
 .product-grid,.grid,.shops{gap:22px}
 .actions{margin-top:26px;margin-bottom:20px}
 .product-footer{margin-top:26px}.product-footer p{line-height:1.6}
 .mini-app-actions,.about-actions{gap:12px;margin-top:20px}
 .strip{padding:24px 0 28px}
 .pick-content li{line-height:1.6}
 .lesson-action p{font-size:.9rem!important}
}
/* Product artwork should be the focal point, with no nested picture frames. */
.product-cover-link{padding:0;background:#f5f2e9;border-bottom:1px solid #e5e9de;overflow:hidden;border-radius:0}
.product-cover{display:block;width:100%;height:auto;aspect-ratio:1/1;max-height:none;object-fit:contain;object-position:center;border-radius:0;background:#f5f2e9}
.weekly-cover-link{padding:0;border:0;border-radius:12px;background:transparent;overflow:hidden;align-self:start;max-width:460px;width:100%;margin:0 auto}
.weekly-cover{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
.pick-week{margin-top:0;margin-bottom:20px;font-size:.9rem!important}
.pick-content .eyebrow{margin-bottom:8px}
@media(max-width:750px){
 .weekly-pick{padding:22px 18px;gap:24px}
 .weekly-cover-link{width:100%;max-width:360px;padding:0;border:0;border-radius:10px}
 .weekly-cover{width:100%;height:auto;max-height:none;border-radius:0}
 .product-cover-link{padding:0}
 .product-cover{height:auto;max-height:none;aspect-ratio:1/1;border-radius:0}
 .pick-content h2{margin-top:0}
}
/* Full product-page covers keep their original proportions. */
.product-cover{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}
@media(max-width:750px){.product-cover{width:100%;height:auto;aspect-ratio:auto;max-height:none}}
.product-gallery{min-width:0;max-width:100%;align-self:start}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:12px;overscroll-behavior-x:contain}.gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0;background:#faf6ed}.gallery-slide img{display:block;width:100%;height:auto}.gallery-slide figcaption{padding:12px 14px;font-size:.85rem;line-height:1.5;color:#354b3a}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}.gallery-controls button{width:48px;height:48px;border:1px solid #aebca2;border-radius:10px;background:#fff;color:#173f30;font-size:24px}.gallery-position{font-size:1rem}.gallery-note{font-size:.85rem!important;line-height:1.5!important;text-align:center}.gallery-controls button:disabled{opacity:.45;cursor:default}@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}}
.featured-gallery{padding:0 0 16px;background:#f8f5ed;border-bottom:1px solid #e1e6d8}
.featured-gallery .gallery-track{border-radius:0}
.featured-gallery .gallery-slide{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
.featured-gallery .gallery-slide img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.featured-gallery .gallery-slide figcaption{font-size:.85rem;padding:12px 18px;line-height:1.5}
.featured-gallery .gallery-note{margin:10px 14px 0;font-size:.85rem!important;line-height:1.5!important}
.featured-gallery .gallery-controls{margin-top:4px}
.product-card>.product-body{height:auto;flex:1}
@media(max-width:750px){.featured-gallery .gallery-controls{gap:24px}.featured-gallery .gallery-controls button{min-width:48px;min-height:48px}}
