@font-face{font-family:KikuchanSerif;src:url('assets/fonts/kikuchan-serif-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:KikuchanSerif;src:url('assets/fonts/kikuchan-serif-bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--ink:#0c2e43;--teal:#178492;--muted:#536775;--line:#d4e0e6;--wash:#f5f8fa;--serif:KikuchanSerif,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}img{display:block;max-width:100%;height:auto}button,summary{font:inherit}h1,h2,h3,p,figure{margin:0}button{cursor:pointer}button[hidden],[hidden]{display:none!important}.wrap{width:min(1280px,90%);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:20px;z-index:20;padding:12px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}
header{background:#fff}.nav{width:min(740px,90%);margin:auto;text-align:center;padding-top:20px}.brand{display:inline-block;font-family:var(--serif);font-size:28px;font-weight:700;letter-spacing:.09em;line-height:1.25}.brand small{display:block;font-family:var(--serif);font-weight:400;font-size:14px;letter-spacing:.06em;margin-top:5px}.navlinks{display:flex;justify-content:center;gap:44px;border-top:1px solid var(--line);margin-top:16px;padding:7px 0 0}.nav-tab{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:7px 18px;border-radius:3px;font-family:var(--serif);font-size:17px;letter-spacing:.03em;transition:color .2s,background .2s}.nav-tab:hover{background:#f1f6f8}.nav-tab[aria-current]{background:#e9f2f5;color:#0a465d}
.magazine-hero{text-align:center;padding-top:45px}.hero-copy{position:relative;z-index:1}.hero h1{font-family:var(--serif);font-size:clamp(2.3rem,5.1vw,4.75rem);font-weight:700;line-height:1.36;letter-spacing:.015em;margin:0 auto;color:var(--ink)}.hero-rotator{display:block;overflow:hidden;min-height:2.76em;padding-block:.02em}.hero-word{display:block;will-change:transform,opacity}.hero-topic{display:block;overflow-wrap:anywhere}.hero h1 em{display:block;font-style:normal}.hero-deck{font-family:var(--serif);font-size:clamp(1.06rem,1.64vw,1.45rem);line-height:1.8;letter-spacing:.03em;margin:19px 0 23px}.hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:min(304px,100%);max-width:100%;padding:10px 34px;background:var(--ink);color:white;border-radius:28px;font-family:var(--serif);font-size:19px;letter-spacing:.05em;transition:background .2s}.hero-link:hover{background:#194b60;color:white}.book-panorama{width:100%;margin:-46px 0 0;overflow:hidden}.book-panorama img{width:100%;height:auto;aspect-ratio:5.6;object-fit:cover;object-position:50% 70%}
.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:27px 0 25px;border-bottom:1px solid var(--line)}.entry-grid a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:90px;text-align:center;padding:0 20px}.entry-grid a+a{border-left:1px solid var(--line)}.entry-grid strong{font-family:var(--serif);font-size:clamp(1.3rem,2.3vw,2rem);font-weight:700;line-height:1.5;white-space:nowrap}.entry-grid small{font-size:13px;color:var(--muted)}.entry-grid strong::after{content:'';display:block;width:42px;border-bottom:2px solid var(--teal);margin:14px auto 0}.entry-grid a:hover strong{color:var(--teal)}
.editor-band{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:44px;padding:25px 0 10px}.author-mini{display:flex;align-items:center;gap:28px;min-width:0}.author-mini img{width:112px;height:112px;border-radius:50%;object-fit:cover;flex-shrink:0}.author-mini strong{display:block;font-family:var(--serif);font-size:28px;letter-spacing:.06em;line-height:1.5;font-weight:400}.author-mini small{display:block;font-size:14px;margin-top:6px}.hero-question{border-left:1px solid var(--line);padding-left:44px;min-width:0}.eyebrow{color:var(--teal);font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1.7}.question-stage{overflow:hidden;min-height:91px;padding-top:10px}.hero-question h2{font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.6rem);font-weight:400;line-height:1.65;margin:0;overflow-wrap:anywhere}.question-link{margin-top:4px}.question-content{will-change:transform,opacity}.motion-controls{display:flex;justify-content:flex-end;margin:0 0 12px}.motion-toggle{border:0;background:none;color:var(--muted);font-size:12px;min-height:44px;padding:9px 2px}.motion-toggle:hover{text-decoration:underline;text-underline-offset:4px}
.hero-word.is-leaving,.question-content.is-leaving{animation:content-leave 1.1s ease both}.hero-word.is-entering,.question-content.is-entering{animation:content-enter 1.1s ease both}@keyframes content-leave{from{transform:translateY(0);opacity:1}to{transform:translateY(-24px);opacity:0}}@keyframes content-enter{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.section{padding:80px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}h2{font-family:var(--serif);font-size:32px;font-weight:700;line-height:1.65;letter-spacing:.025em}.section-head h2{margin-top:10px}.section-head p{max-width:470px;color:var(--muted);font-size:15px;line-height:1.9}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;align-items:start}.card{min-width:0}.cover{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--line);background:#fff}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 12px;font-size:12px;color:var(--teal);letter-spacing:.07em}.badge,.status-label,.shop-status{display:inline-block;padding:3px 9px;border:1px solid var(--line);background:#f5f8fa;color:#4d6676;font-size:12px;line-height:1.7;letter-spacing:0}.card h3{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.65;margin:0 0 16px}.card p{font-size:16px;color:var(--muted);line-height:1.9;margin:0 0 18px}.text-link{display:inline-block;font-size:14px;font-weight:500;border-bottom:1px solid #92afb9;line-height:1.8;padding:3px 0;overflow-wrap:anywhere}.reading-path{margin:0 0 22px;border-top:1px solid var(--line)}.reading-path div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}.reading-path dt{color:var(--teal);font-weight:600}.reading-path dd{margin:0}.mini-points{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--teal)}
.about{display:grid;grid-template-columns:270px minmax(0,1fr);gap:80px}.about-person img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:22px}.about-person h2{font-size:24px;margin-top:10px}.quote{font-family:var(--serif);font-size:31px;line-height:1.7;margin-bottom:24px}.about>div>p:not(.quote):not(.signature){font-size:16px;line-height:2;color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.principles p{font-size:14px;color:var(--muted);line-height:1.8}.principles b{display:block;font-size:15px;color:var(--ink);margin-bottom:8px}.signature{font-family:var(--serif);font-size:23px;margin-top:25px}.signature span{display:block;font-family:var(--sans);font-size:13px;color:var(--muted)}
.product-bg{background:var(--wash);border-block:1px solid var(--line)}.product{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:60px;padding-block:64px}.product-visual img{width:100%;height:auto;object-fit:contain;border:1px solid var(--line)}.caption{font-size:13px;color:var(--muted);margin-top:12px}.caption small{font-size:12px}.shop-heading{display:flex;align-items:center;gap:15px;margin-bottom:16px}.shop-status{font-size:13px}.product h2{font-size:30px;margin-bottom:20px}.product p{font-size:16px;color:var(--muted);margin-bottom:17px}.product details{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:14px}.product summary{cursor:pointer;font-size:15px}.product details p{font-size:14px}.product details ul{padding-left:1.4em}.guide-teaser{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:70px 0}.guide-teaser h2{margin:12px 0 20px}.guide-teaser p{color:var(--muted);font-size:16px;margin-bottom:16px}.number-list{list-style:none;margin:0;padding:0}.number-list li{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;font-size:15px;line-height:1.8}.number-list span{font-size:12px;color:var(--teal);padding-top:3px}.follow{border-top:1px solid var(--line);padding:42px 0;display:flex;justify-content:space-between;align-items:center;gap:28px}.follow h2{font-size:22px;margin-bottom:8px}.follow p{font-size:14px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 21px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:14px}.button.secondary{background:white;color:var(--ink);border-color:#aebfc8}.button:hover{background:var(--ink);border-color:var(--ink);color:white}.footer{border-top:1px solid var(--line);background:#fafcfd;padding:25px 0}.footer-row{display:flex;justify-content:space-between;gap:28px;font-size:12px;color:var(--muted);line-height:1.8}.footer-row>span:last-child{max-width:540px}
.guide-intro{padding:60px 0 42px;max-width:850px}.guide-intro h1{font-family:var(--serif);font-size:36px;line-height:1.5;margin:16px 0 20px}.guide-intro p{color:var(--muted);font-size:16px;margin-bottom:20px}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.guide-box{border-top:2px solid var(--teal);padding-top:23px}.guide-box h2{font-size:23px;margin:12px 0 18px}.guide-box p{font-size:16px;color:var(--muted);margin-bottom:18px}.tag{display:block;font-size:13px;color:var(--teal)}.guide-rules{padding:64px 0}.guide-rules h2{margin-bottom:18px}.guide-rules>p{font-size:15px;color:var(--muted);max-width:850px;margin:25px 0}.reveal{transition:opacity .6s ease,transform .6s ease}.reveal.is-pending{opacity:0;transform:translateY(12px)}
@media(min-width:1600px){.book-panorama img{max-height:330px;aspect-ratio:auto;object-fit:cover}}
@media(max-width:950px){.nav{padding-top:18px}.magazine-hero{padding-top:35px}.hero h1{font-size:clamp(2.2rem,5.25vw,3.2rem)}.hero-deck{font-size:18px}.hero-link{font-size:17px;min-width:260px;min-height:48px}.book-panorama{margin-top:-24px}.book-panorama img{aspect-ratio:4.8}.entry-grid a{padding:0 12px}.entry-grid strong{font-size:23px}.entry-grid small{font-size:12px}.editor-band{gap:26px}.author-mini{gap:20px}.author-mini img{width:88px;height:88px}.author-mini strong{font-size:24px}.author-mini small{font-size:12px}.hero-question{padding-left:26px}.hero-question h2{font-size:20px}.section{padding:62px 0}.section-head{align-items:start}.section-head p{max-width:340px}.cards{gap:30px}.card h3{font-size:22px}.about{grid-template-columns:210px minmax(0,1fr);gap:40px}.principles{grid-template-columns:1fr;gap:17px}.principles b{margin-bottom:4px}.product,.guide-teaser{gap:35px}.product h2{font-size:26px}.guide-grid{gap:24px}.guide-box h2{font-size:21px}.follow{align-items:start}.follow .actions{flex-shrink:0}}
@media(max-width:650px){.wrap{width:89%}.nav{width:89%;padding-top:18px}.brand{font-size:24px}.brand small{font-size:12px;margin-top:4px}.navlinks{gap:6px;margin-top:16px;display:grid;grid-template-columns:1fr 1.25fr .85fr;padding-top:6px}.nav-tab{padding:7px 8px;font-size:14px;min-height:44px}.magazine-hero{padding-top:30px}.hero h1{font-size:clamp(1.5rem,6.8vw,2.55rem);line-height:1.55;letter-spacing:0}.hero-rotator{min-height:3.14em}.hero-deck{font-size:16px;line-height:1.85;margin:17px auto 22px;max-width:330px}.hero-link{font-size:16px;min-width:240px;min-height:48px;padding:9px 23px}.book-panorama{margin-top:24px}.book-panorama img{height:auto;aspect-ratio:3;object-fit:contain}.entry-grid{padding:18px 0}.entry-grid a{min-height:73px;padding:0 5px;gap:0}.entry-grid strong{font-size:clamp(.9rem,3.5vw,1.25rem);white-space:normal;line-height:1.7;max-width:7em}.entry-grid strong::after{width:25px;margin-top:11px}.entry-grid small{display:none}.editor-band{grid-template-columns:1fr;gap:21px;padding-top:22px}.author-mini{gap:19px}.author-mini img{width:72px;height:72px}.author-mini strong{font-size:23px}.author-mini small{font-size:12px;margin-top:2px}.hero-question{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.eyebrow{font-size:12px}.question-stage{min-height:100px;padding-top:9px}.hero-question h2{font-size:20px;max-width:100%;min-height:3.3em}.motion-controls{margin:0 0 15px}.motion-toggle{font-size:12px}.section{padding:43px 0}.section-head{display:block;margin-bottom:27px}.section-head h2{font-size:27px;margin-bottom:17px}.section-head p{font-size:14px;max-width:none}.cards{grid-template-columns:1fr;gap:39px}.card-meta{margin-top:15px}.card h3{font-size:22px}.card p{font-size:16px}.reading-path div{grid-template-columns:88px minmax(0,1fr);gap:10px;font-size:14px}.about{grid-template-columns:1fr;gap:30px}.about-person{display:grid;grid-template-columns:85px minmax(0,1fr);gap:0 21px;align-items:center}.about-person img{grid-row:1/3;width:85px;height:85px;margin:0}.about-person h2{font-size:19px;margin-top:7px}.quote{font-size:26px}.principles{gap:19px}.product{grid-template-columns:1fr;gap:27px;padding-block:40px}.product h2{font-size:26px}.guide-teaser{grid-template-columns:1fr;gap:20px;padding:44px 0}.guide-teaser h2{font-size:26px}.number-list li{font-size:14px;padding:15px 0}.follow{display:block;padding:34px 0}.follow h2{font-size:21px}.follow .actions{margin-top:22px}.footer-row{display:block}.footer-row>span{display:block;margin:5px 0}.guide-intro{padding:40px 0 30px}.guide-intro h1{font-size:28px}.guide-grid{grid-template-columns:1fr;gap:29px}.guide-box h2{font-size:23px;margin-block:10px 14px}.guide-rules{padding:42px 0}.guide-rules h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-word,.question-content,.reveal.is-pending{opacity:1!important;transform:none!important;will-change:auto}.motion-toggle{display:none!important}}

/* Separate reading, watching, biography and shop pages; keep the selected top quiet. */
.navlinks{gap:22px}.nav-tab{padding-inline:16px}
.magazine-home main{padding-bottom:18px}
.page-intro{max-width:900px;padding:55px 0 36px}.page-intro h1{font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.4rem);font-weight:700;line-height:1.65;letter-spacing:.02em;margin:13px 0 17px}.page-intro p{max-width:780px;font-size:16px;color:var(--muted);line-height:1.95}
.article-list{border-top:1px solid var(--line);padding:38px 0 22px}.article-feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:start}.article-copy .card-meta{margin-top:0}.article-copy h2{font-size:27px;margin:12px 0 19px;line-height:1.65}.listing-follow{padding:15px 0 60px}
.empty-state{max-width:850px;border-top:1px solid var(--line);padding:32px 0 65px;min-height:330px}.empty-state>p{font-size:16px;margin:17px 0 25px;color:var(--muted)}.empty-state details{border-block:1px solid var(--line);padding:15px 0;margin:0 0 23px}.empty-state summary{cursor:pointer;font-size:16px}.video-plan{padding-top:25px}.video-plan h2{font-size:26px;margin-bottom:17px}.video-plan p{font-size:16px;color:var(--muted);margin-bottom:19px}
.about-page .about{padding-top:42px}.about-page .quote{display:none}.shop-page .page-intro{padding-bottom:39px}
@media(max-width:950px){.article-feature{gap:30px}.article-copy h2{font-size:23px}.navlinks{gap:13px}.nav-tab{padding-inline:13px}}
@media(max-width:650px){.navlinks{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.nav-tab{padding-inline:2px;font-size:14px;white-space:nowrap}.page-intro{padding:36px 0 28px}.page-intro h1{font-size:27px;line-height:1.7}.page-intro p{font-size:16px}.article-list{padding-top:27px}.article-feature{grid-template-columns:1fr;gap:22px}.article-copy h2{font-size:23px}.listing-follow{padding-bottom:42px}.empty-state{padding:25px 0 42px;min-height:300px}.video-plan h2{font-size:23px}.about-page .about{padding-top:32px}}

/* Local catalogs: one set of records, multiple reading/search entrances. */
.filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 0 20px;border-bottom:1px solid var(--line);max-width:720px}.shop-catalog .filter-tabs{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px}.filter-tab{min-height:48px;border:1px solid var(--line);border-radius:4px;padding:10px 16px;background:#f3f7f9;color:var(--ink);font-size:16px;line-height:1.5;transition:background .2s,color .2s}.filter-tab:hover{background:#e4eef2}.filter-tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.filter-panel{padding:26px 0 20px;min-width:0}.filter-description{font-size:15px;color:var(--muted);margin-bottom:20px}.result-count{font-size:14px;color:var(--muted);margin:15px 0 20px}.unknown-date-label{font-size:14px;color:var(--muted);padding-bottom:14px}.article-facts{font-size:13px!important;line-height:1.8!important;margin:0 0 15px!important}.filter-select{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:15px}.filter-select label{font-weight:500}.filter-select select{font:inherit;line-height:1.5;color:var(--ink);background:#fff;border:1px solid #aabfc9;border-radius:4px;padding:10px 34px 10px 12px;min-height:46px;min-width:230px;max-width:100%}.filter-select select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.catalog-empty{padding:30px;background:var(--wash);border:1px solid var(--line);max-width:900px}.catalog-empty h2{font-size:25px;margin:12px 0 15px}.catalog-empty p{font-size:16px;color:var(--muted);line-height:1.9}.listing-follow{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center}.shop-principles{border-top:1px solid var(--line);margin-top:20px;padding:38px 0 25px;max-width:1020px}.shop-principles h2{font-size:28px}.shop-principles .principles{border-top:0;margin-top:0;padding-top:24px}.shop-disclosure{font-size:14px;color:var(--muted);margin:25px 0 15px;max-width:850px}.product-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.product-result{padding:24px;border:1px solid var(--line)}.product-result h2{font-size:24px;margin-bottom:14px}.product-result h3{font-size:15px;margin:20px 0 8px}.product-result p{font-size:16px;color:var(--muted)}.product-result .text-link{margin-top:20px}
@media(max-width:650px){.filter-tabs{gap:5px;padding-bottom:16px}.filter-tab{padding:10px 5px;font-size:14px;min-height:46px}.filter-panel{padding-top:21px}.filter-description{font-size:14px}.filter-select{display:block}.filter-select label{display:block;margin-bottom:9px}.filter-select select{width:100%;min-width:0;font-size:16px}.catalog-empty{padding:22px}.catalog-empty h2{font-size:22px}.shop-principles{padding-top:30px}.shop-principles h2{font-size:24px}.product-results{grid-template-columns:1fr}.listing-follow{align-items:start;flex-direction:column;gap:16px}.article-facts{font-size:13px!important}}

/* Full-sentence hero: natural wrapping, no fixed break after a comma. */
.hero h1{font-size:clamp(1.7rem,3.6vw,3.4rem);line-height:1.6}.hero-rotator{min-height:1.66em;padding-block:.03em}.hero-word{text-wrap:balance;overflow-wrap:normal;line-break:strict}.headline-indicators{display:flex;justify-content:center;align-items:center;gap:0;margin:6px 0 0}.headline-indicator{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:50%}.headline-indicator span{display:block;width:8px;height:8px;border-radius:50%;background:#bdcbd2}.headline-indicator[aria-current=true] span{background:var(--ink);width:10px;height:10px}.headline-indicator:hover span{background:var(--teal)}.headline-indicator:focus-visible{outline:2px solid var(--teal);outline-offset:-6px}.hero-deck{margin-top:8px}
@media(max-width:650px){.hero h1{font-size:clamp(1.5rem,5.9vw,2rem);line-height:1.65}.hero-rotator{min-height:3.36em}.headline-indicators{margin-top:2px}.hero-deck{margin-top:8px}}

/* Entrances state their destination first; themes remain secondary. */
.entry-grid strong span{display:inline}
@media(max-width:650px){.entry-grid strong{font-size:18px;line-height:1.55;white-space:normal;max-width:none}.entry-grid strong span{display:block;white-space:normal}.entry-grid a{min-height:87px}}

/* Matching social destinations at the foot of the homepage. */
.home-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(600px,100%);margin:16px auto 24px;padding-top:26px;border-top:1px solid var(--line)}.social-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:72px;padding:12px;border:1px solid #aebfc8;border-radius:4px;background:#fff;color:var(--ink);font-family:var(--sans);line-height:1.5;transition:background .2s,border-color .2s,color .2s}.social-button>span{font-size:18px;font-weight:600}.social-button>small{font-size:12px;color:var(--muted)}a.social-button:hover{background:var(--ink);border-color:var(--ink);color:#fff}a.social-button:hover small{color:#fff}.social-button:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.social-button:disabled{background:var(--wash);border-color:var(--line);color:#5d727e;cursor:not-allowed}
@media(max-width:650px){.home-social{gap:8px;padding-top:23px;margin-bottom:20px}.social-button{min-height:70px;padding:10px 5px}.social-button>span{font-size:16px}.social-button>small{font-size:12px}}

/* Article imagery supports the title instead of dominating the page. */
.article-feature{grid-template-columns:220px minmax(0,1fr);gap:32px}.article-visual{width:100%;max-width:220px}.article-visual .cover{aspect-ratio:auto;object-fit:contain}.article-copy{max-width:820px}
@media(min-width:651px) and (max-width:950px){.article-feature{grid-template-columns:200px minmax(0,1fr);gap:28px}}
@media(max-width:650px){.article-feature{grid-template-columns:112px minmax(0,1fr);gap:15px 16px}.article-visual{grid-column:1;grid-row:1;max-width:112px}.article-copy{display:contents}.article-copy>*{grid-column:1 / -1}.article-copy .card-meta{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;align-self:center;gap:5px;margin:0}.article-copy h2{font-size:22px;margin:0}.article-copy>p{margin:0}.article-copy>.article-facts{margin:0!important}.article-copy>.reading-path{margin:0}.article-copy>.text-link{justify-self:start}}

/* Local list preferences; unverified external metrics stay unavailable. */
.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;padding:22px 0 18px;border-bottom:1px solid var(--line)}.columns-control,.sort-control{display:flex;align-items:center;gap:12px;font-size:14px}.column-buttons{display:flex;gap:5px}.column-buttons button{min-width:52px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:#f5f8fa;color:var(--ink);font-size:14px}.column-buttons button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.column-buttons button:disabled{background:#f7f9fa;color:#7c8d96;border-color:#e0e7eb;cursor:not-allowed}.sort-control select{max-width:100%;min-height:44px;padding:8px 30px 8px 12px;border:1px solid #aabfc9;border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:14px}.sort-control select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.list-hint{flex-basis:100%;font-size:13px;color:var(--muted);line-height:1.8}.metric-hint{margin-top:-10px}.engagement-metrics{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 20px;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.engagement-metrics div{display:flex;gap:7px}.engagement-metrics dd{margin:0}.article-results,.product-results,.video-results{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.article-results[data-columns="2"],.product-results[data-columns="2"],.video-results[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.article-results[data-columns="4"],.product-results[data-columns="4"],.video-results[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.article-results>[data-undated]{grid-column:1 / -1;margin:0;padding:0}.article-results[data-columns="2"] .article-feature,.article-results[data-columns="4"] .article-feature{display:flex;flex-direction:column;gap:19px;min-width:0}.article-results[data-columns="2"] .article-visual{max-width:160px}.article-results[data-columns="4"] .article-visual{max-width:128px}.article-results[data-columns="2"] .article-copy,.article-results[data-columns="4"] .article-copy{display:block;max-width:100%;min-width:0}.article-results[data-columns="2"] .article-copy h2,.article-results[data-columns="4"] .article-copy h2{font-size:22px}.article-results[data-columns="4"] .article-copy h2{font-size:20px}.article-results[data-columns="2"] .reading-path div,.article-results[data-columns="4"] .reading-path div{display:block}.article-results[data-columns="2"] .reading-path dt,.article-results[data-columns="4"] .reading-path dt{margin-bottom:4px}.article-results[data-columns="4"] .article-copy .card-meta{flex-wrap:wrap}.article-results[data-columns="4"] .engagement-metrics{display:block}.article-results[data-columns="4"] .engagement-metrics div{margin:4px 0}
@media(max-width:650px){.list-toolbar{gap:16px;padding-top:18px}.columns-control,.sort-control{width:100%;justify-content:space-between}.sort-control select{font-size:16px;max-width:calc(100% - 62px)}.list-hint{font-size:12px}.article-results{gap:22px}.article-results[data-columns="2"]{gap:22px}.article-results[data-columns="2"] .article-visual{max-width:112px}.article-results[data-columns="2"] .article-copy h2{font-size:19px;margin:12px 0 15px}.article-results[data-columns="2"] .article-copy .card-meta{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.article-results[data-columns="2"] .article-copy>p{margin-bottom:16px}.article-results[data-columns="2"] .reading-path{margin-bottom:18px}.article-results[data-columns="2"] .engagement-metrics{display:block}.article-results[data-columns="2"] .engagement-metrics div{margin:4px 0}.engagement-metrics{margin:0}}
@media(min-width:651px) and (max-width:1119px){.article-results[data-columns="4"],.product-results[data-columns="4"],.video-results[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:479px){.article-results[data-columns],.product-results[data-columns],.video-results[data-columns]{grid-template-columns:minmax(0,1fr)}}

/* Planned resources: extend the existing editorial design without fake sales. */
.experience-intro{padding:48px 0 36px;max-width:800px}.experience-intro h2{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.6;margin:10px 0 18px}.experience-intro p{color:var(--muted);max-width:720px;margin-bottom:18px}.resources-section{padding:34px 0 42px;border-top:1px solid var(--line)}.resources-heading{max-width:780px;margin-bottom:24px}.resources-heading h2{font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.6;margin:8px 0 12px}.resources-heading p{color:var(--muted);margin:10px 0}.resources-notice{font-size:14px;border-left:3px solid var(--teal);padding-left:14px}.resource-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.resource-tabs button{min-height:52px;border:1px solid var(--line);border-radius:4px;background:var(--wash);color:var(--ink);font:inherit;font-size:16px;padding:10px}.resource-tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.resource-tabs button:hover{border-color:var(--teal)}.resource-panel{padding-top:22px}.resource-panel[hidden]{display:none}.resource-lead{font-family:var(--serif);font-size:20px;margin:0 0 20px}.resource-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resource-card{border:1px solid var(--line);border-top:3px solid var(--teal);padding:24px;min-width:0;background:#fff}.resource-card h3{font-family:var(--serif);font-size:23px;line-height:1.65;margin:18px 0 12px}.resource-card p{font-size:16px;line-height:1.9;color:var(--muted);margin:0}.resource-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:14px;color:var(--muted)}.resource-state{background:var(--wash);border:1px solid var(--line);padding:2px 8px;border-radius:3px;color:var(--ink)}.resource-footnote{font-size:14px;color:var(--muted);margin:20px 0 0}.shop-tools-heading{font-family:var(--serif);font-size:26px;margin:35px 0 22px}@media(max-width:900px){.resource-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.experience-intro{padding:32px 0 28px}.resource-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.resource-tabs button{font-size:15px}.resource-cards{grid-template-columns:1fr}.resource-card{padding:22px}.resource-lead{font-size:18px}.resource-card h3{font-size:22px}}

/* Audience entrances and a quieter article finder — 2026-10-09 */
.audience-section{margin:72px 0 56px}.audience-stage{position:relative;min-height:450px;border-radius:18px;overflow:hidden;background:#e9eeea}.audience-slide{position:absolute;inset:0;display:block;opacity:0;pointer-events:none;transition:opacity 1.5s ease;color:white!important;text-decoration:none}.audience-slide.is-active{opacity:1;pointer-events:auto;z-index:1}.audience-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.audience-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,39,42,.83),rgba(14,39,42,.45) 42%,rgba(14,39,42,.03) 80%)}.audience-copy{position:absolute;z-index:2;left:5.5%;top:50%;transform:translateY(-50%);max-width:58%}.audience-label{display:inline-block;padding:7px 12px;border:1px solid #ffffff75;border-radius:4px;font-size:14px;font-weight:700;letter-spacing:.06em}.audience-copy h2{font-size:clamp(24px,3vw,38px);line-height:1.5;margin:22px 0 12px;color:#fff;letter-spacing:.035em}.audience-copy p{color:#fff;font-size:15px;margin:0 0 26px}.audience-cta{display:inline-flex;align-items:center;min-height:44px;padding:8px 0 6px;border-bottom:1px solid rgba(255,255,255,.72);color:#fff;font-weight:600;font-size:15px;letter-spacing:.06em;transition:border-color .2s ease,opacity .2s ease}.audience-slide:hover .audience-cta,.audience-slide:focus-visible .audience-cta{border-color:#fff;opacity:.85}.audience-slide:focus-visible{outline:4px solid #f3bd5d;outline-offset:-5px}.audience-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}.audience-choices{display:flex;gap:8px;flex-wrap:wrap}.audience-choices a,.audience-pause{font:inherit;font-size:13px;border:1px solid #cbd8d4;border-radius:5px;padding:9px 15px;background:#fff;color:#344d49;cursor:pointer}.audience-choices a[data-active="true"]{background:#176961;border-color:#176961;color:#fff}.audience-pause{font-size:12px;border:0;text-decoration:underline;white-space:nowrap}.audience-note{font-size:12px;color:#64746e;margin-top:13px}.social-button.social-x{background:#202528;border-color:#202528;color:#fff}.social-button.social-note{background:#e6f5ed;border-color:#91cbb0;color:#155c43}.social-button.social-youtube{background:#fff0f0;border-color:#ebc1c1;color:#8d3535;opacity:1;cursor:not-allowed}.social-button.social-x small{color:#e0e6e8}.social-button.social-note small{color:#326c54}.social-button.social-youtube small{color:#885657}.social-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 20px #23332a13}#products-resources{scroll-margin-top:100px}.article-page-intro{padding-top:42px!important;padding-bottom:24px!important;margin-bottom:0!important}.article-page-intro h1{font-size:clamp(28px,4vw,40px);margin:0;line-height:1.3}.article-filterbar{display:flex;gap:24px;align-items:end;padding:22px 24px;background:#f0f5f3;border:1px solid #dce7e2;border-radius:12px}.article-filterbar label,.article-access>span{display:block;font-size:13px;font-weight:700;color:#345249}.article-filterbar select{display:block;min-width:240px;margin-top:9px;border:1px solid #b8cbc3;border-radius:6px;padding:10px 38px 10px 13px;background:#fff;color:#203d35;font:inherit}.article-access>div{display:flex;gap:4px;margin-top:9px}.article-access button{padding:11px 22px;border:1px solid #b8cbc3;border-radius:5px;background:#fff;color:#345249;font:inherit;font-size:14px;cursor:pointer}.article-access button[aria-pressed=true]{background:#176961;color:#fff;border-color:#176961}.article-browser .list-toolbar{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:20px;margin:18px 0 0;padding:8px 0;border:0;background:transparent}.article-browser .columns-control,.article-browser .sort-control{display:flex;align-items:center;gap:9px;font-size:13px}.article-browser .list-help{position:relative}.article-browser .list-help summary{display:grid;place-items:center;cursor:pointer;list-style:none;border:1px solid #bcc9c2;width:25px;height:25px;border-radius:50%;font-size:12px;color:#567068}.article-browser .list-help summary::-webkit-details-marker{display:none}.article-browser .list-help>div{position:absolute;z-index:5;right:0;top:34px;width:260px;padding:15px;background:white;border:1px solid #d2ded7;box-shadow:0 8px 25px #20362b15;border-radius:8px;font-size:12px}.article-result-heading{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.article-result-heading .result-count{margin:0;font-size:13px;color:#5b6b66}.filter-reset{border:0;background:transparent;color:#236f60;text-decoration:underline;font-size:12px;cursor:pointer}.article-browser .article-feature{padding:22px;gap:26px}.article-browser .article-copy h2{font-size:clamp(19px,2vw,25px);line-height:1.5;margin:10px 0 12px}.article-browser .article-copy>p:not(.article-facts){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.75;margin:0 0 10px;color:#566861}.article-browser .article-facts{font-size:12px;color:#6d7973}.article-more summary{font-size:12px;color:#61796c;cursor:pointer;margin:14px 0}.article-more .engagement-metrics{font-size:12px}.article-browser .article-feature[hidden]{display:none!important}.article-browser .article-results[data-columns="2"] .article-feature,.article-browser .article-results[data-columns="4"] .article-feature{padding:16px}.article-browser .article-results[data-columns="4"] .article-copy h2{font-size:18px}.article-browser .badge{background:#e8eee9;color:#355346}
@media(max-width:700px){.audience-section{margin:40px 0}.audience-stage{min-height:510px}.audience-slide img{object-position:65% center}.audience-slide:after{background:linear-gradient(0deg,rgba(14,39,42,.9),rgba(14,39,42,.35) 60%,rgba(14,39,42,.05))}.audience-copy{top:auto;bottom:30px;left:7%;right:7%;max-width:none;transform:none}.audience-copy h2{font-size:26px;margin:18px 0 10px}.audience-footer{align-items:flex-start;flex-direction:column;gap:8px}.audience-choices{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.audience-choices a{padding:10px}.audience-pause{align-self:flex-end}.article-filterbar{align-items:stretch;flex-direction:column;padding:18px;gap:17px}.article-filterbar select{width:100%;min-width:0}.article-access>div{display:grid;grid-template-columns:repeat(3,1fr)}.article-access button{padding:10px 12px}.article-browser .list-toolbar{justify-content:flex-start;gap:12px;flex-wrap:wrap}.article-browser .list-help{margin-left:auto}.article-browser .article-feature{padding:16px}.article-page-intro{padding-top:30px!important}#products-resources{scroll-margin-top:130px}}
@media(prefers-reduced-motion:reduce){.audience-slide{transition:none}.social-button{transition:none}}

.audience-heading{margin:0 0 24px}.audience-heading h2{margin:0;color:#244c42;font-size:clamp(22px,2.6vw,32px);line-height:1.5;font-weight:700;letter-spacing:.04em}

.audience-heading p{margin:10px 0 0;color:#566861;font-size:15px;line-height:1.8}

.audience-choices a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;box-sizing:border-box}.audience-choices a:focus-visible{outline:3px solid #478b80;outline-offset:3px}
.shop-page .page-intro{padding:30px 0 24px;margin-bottom:0}.shop-page .page-intro h1{font-size:clamp(27px,3vw,36px);margin:8px 0 12px;line-height:1.4}.shop-page .page-intro p{max-width:840px;margin:0;font-size:15px;line-height:1.8}.shop-page #products-resources{margin-top:0;padding-top:20px}.shop-page #products-resources .resources-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.shop-page #products-resources .resources-heading h2{font-size:20px;line-height:1.4;margin:0}.shop-page #products-resources .resources-notice{margin:0;padding:5px 10px;border:0;border-radius:5px;background:#f0f5f3;font-size:13px}.shop-page .resource-lead{margin:18px 0 14px}@media(max-width:700px){.shop-page .page-intro{padding:24px 0 18px}.shop-page #products-resources{padding-top:16px}}

#products-resources .resource-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
#products-resources .resource-image-tab{position:relative;isolation:isolate;min-width:0;min-height:108px;padding:0;overflow:hidden;text-align:left;border:2px solid transparent;border-radius:12px;background:#244b43;color:#fff;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
#products-resources .resource-image-tab img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}
#products-resources .resource-image-tab:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,29,32,.92),rgba(9,29,32,.15) 90%)}
.resource-tab-copy{display:flex;flex-direction:column;gap:5px;position:absolute;left:18px;right:14px;bottom:16px}.resource-tab-copy strong{font-size:18px;line-height:1.5;font-weight:700}.resource-tab-copy small{font-size:13px;line-height:1.5;color:#eef4f1}
.resource-tab-state{display:none;position:absolute;right:8px;top:7px;padding:3px 9px;border-radius:20px;background:#f8df89;color:#163e36;font-size:12px;font-weight:700}
#products-resources .resource-image-tab[aria-selected=true]{border-color:#176961;box-shadow:0 0 0 4px #176961,0 7px 16px #17696124}
#products-resources .resource-image-tab[aria-selected=true] .resource-tab-state{display:block}
#products-resources .resource-image-tab:hover img{transform:scale(1.035)}
#products-resources .resource-image-tab:focus-visible{outline:3px solid #a97735;outline-offset:4px}
@media(max-width:700px){#products-resources .resource-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#products-resources .resource-image-tab{min-height:108px}.resource-tab-copy{left:12px;right:8px;bottom:12px}.resource-tab-copy strong{font-size:16px}.resource-tab-copy small{font-size:12px}}
@media(prefers-reduced-motion:reduce){#products-resources .resource-image-tab,#products-resources .resource-image-tab img{transition:none}}

.nav-products{color:#236253}.nav-products[aria-current]{background:#e5f0e9;color:#175344}@media(min-width:701px){.navlinks{gap:12px}.nav-tab{padding-inline:13px}}@media(max-width:700px){.navlinks{display:flex;justify-content:flex-start;gap:4px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.nav-tab{flex:0 0 auto;padding:8px 12px;font-size:14px}}

#products-resources .resource-image-tab[aria-selected=true]:after{background:linear-gradient(0deg,rgba(5,62,51,.98),rgba(5,62,51,.12) 100%)}
#products-resources .resource-tab-copy{bottom:10px;gap:1px}#products-resources .resource-tab-copy strong{font-size:17px}

/* Browse products without leaving the category; only the chosen details are shown. */
.product-explorer{display:grid!important;grid-template-columns:minmax(240px,.85fr) minmax(0,1.65fr);gap:28px;align-items:start;margin:0 0 24px}.product-menu{min-width:0;border:1px solid #d9e5df;border-radius:12px;overflow:hidden;background:#f7faf8}.product-menu-label{font-size:12px;font-weight:700;letter-spacing:.05em;color:#60776d;padding:13px 16px;margin:0;border-bottom:1px solid #d9e5df}.product-pick{display:flex;align-items:center;gap:10px;width:100%;min-height:82px;padding:16px 14px;text-align:left;color:#24453c;background:transparent;border:0;border-bottom:1px solid #e2eae6;border-left:5px solid transparent;cursor:pointer;font:inherit}.product-menu-entry:last-child .product-pick{border-bottom:0}.product-pick strong{display:block;font-size:15px;line-height:1.6}.product-pick small{display:block;font-size:12px;line-height:1.6;color:#62796f;margin-top:3px}.product-pick-number{font-size:11px;color:#80978d;align-self:flex-start;margin-top:5px}.product-pick-marker{margin-left:auto;font-size:19px;flex:none}.product-pick[data-selected=true]{background:#e3f1e8;border-left-color:#14735d;color:#104a3c}.product-pick[data-selected=true] .product-pick-marker{background:#176b56;color:#fff;border-radius:50%;width:26px;height:26px;line-height:24px;text-align:center}.product-pick:hover{background:#edf5ef}.product-pick:focus-visible{outline:3px solid #9b7029;outline-offset:-4px}.product-preview{min-width:0}.product-preview .resource-card{margin:0;box-shadow:none;border:1px solid #d9e5df;border-radius:12px;padding:24px 28px;background:#fff}.product-preview .resource-card h3{font-size:24px;line-height:1.5;margin:12px 0}.product-preview .resource-card>p{font-size:14px;line-height:1.9}.product-facts{display:grid;gap:12px;margin:20px 0}.product-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px}.product-facts dt{font-size:12px;font-weight:700;color:#527667}.product-facts dd{margin:0;font-size:14px;line-height:1.75}.product-contents{padding:16px 18px;background:#f4f7f4;border-radius:8px}.product-contents h4{font-size:13px;margin:0 0 8px}.product-contents ul{padding-left:20px;margin:0;font-size:14px;line-height:1.9}.product-plan-note{font-size:12px!important;color:#708479;margin:16px 0!important}.product-detail-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;background:#176b56;color:#fff;text-decoration:none;font-size:14px;font-weight:700;padding:10px 18px;border-radius:7px}.product-detail-link:hover{background:#105641;color:#fff}.product-detail-link:focus-visible{color:#fff;outline:3px solid #b18b4a;outline-offset:3px}.product-full{max-width:920px;padding-top:32px;padding-bottom:60px}.product-full-header{padding:30px 0;border-bottom:1px solid var(--line)}.product-full h1{font-size:clamp(26px,4vw,40px);line-height:1.45;margin:12px 0}.product-tagline{font-size:19px;color:#286750}.product-full-body{display:grid;gap:24px;margin-top:30px}.product-full-body h2{font-size:21px;margin:0 0 14px}.product-full-body ul{padding-left:22px;line-height:2}.product-availability{background:#f1f6f2;border-radius:10px;padding:22px}.product-availability p{font-size:14px;line-height:1.85;margin:10px 0}.product-explorer [hidden]{display:none!important}
@media(max-width:700px){.product-explorer{display:block!important}.product-preview{display:none}.product-menu-label{padding:10px 13px}.product-pick{min-height:76px;padding:12px 10px}.product-pick strong{font-size:14px}.product-menu-entry .resource-card{border:0;border-top:1px solid #caddd1;border-radius:0;background:#fff;padding:20px 16px;margin:0}.product-menu-entry .resource-card h3{font-size:21px;line-height:1.5}.product-facts>div{grid-template-columns:70px minmax(0,1fr);gap:8px}.product-facts dd{font-size:13px}.product-detail-link{width:100%;box-sizing:border-box}.product-contents{padding:14px}.product-full{padding-top:24px}.product-full-header{padding:24px 0}}

/* SHOP: independent multi-select facets, OR within a row, AND between rows. */
.shop-filter-heading,.shop-concern-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px}.shop-filter-heading h2,.shop-concern-heading h2{font-size:18px;margin:0}.shop-filter-heading>span{font-size:12px;color:#60786c}.shop-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.shop-category{position:relative;isolation:isolate;overflow:hidden;min-height:108px;border:2px solid transparent;border-radius:10px;padding:0;background:#31564d;color:#fff;text-align:left;cursor:pointer;font:inherit}.shop-category>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.shop-category:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#102f2eef,#102f2e10)}.shop-category-copy{position:absolute;left:16px;bottom:12px;right:12px;display:flex;flex-direction:column;gap:2px}.shop-category-copy strong{font-size:18px;line-height:1.4}.shop-category-copy small{font-size:12px;line-height:1.5;color:#f0f6f2}.shop-category-all{background:linear-gradient(125deg,#295c50,#538873)}.shop-all-art{position:absolute;right:30px;top:8px;font-size:82px;line-height:1;opacity:.2}.shop-selected-mark{display:none;position:absolute;top:8px;right:8px;background:#f8df89;color:#183d32;border-radius:50%;width:23px;height:23px;font-size:15px;font-weight:800;line-height:23px;text-align:center}.shop-category[aria-pressed=true]{border-color:#146b53;box-shadow:0 0 0 3px #146b53}.shop-category[aria-pressed=true] .shop-selected-mark{display:block}.shop-category:focus-visible{outline:3px solid #a57832;outline-offset:5px}.shop-concern-heading{margin-top:25px}.shop-concerns{display:flex;flex-wrap:wrap;gap:8px}.shop-concerns button{min-height:40px;border:1px solid #cddcd3;border-radius:24px;padding:7px 16px;background:#fff;color:#38584a;font:inherit;font-size:14px;cursor:pointer}.shop-concerns button[aria-pressed=true]{background:#176b56;color:#fff;border-color:#176b56}.shop-concerns button[aria-pressed=true]:before{content:'✓ ';font-weight:800}.shop-concerns button:focus-visible{outline:3px solid #ad863d;outline-offset:2px}.shop-topic-note{font-size:11px;color:#66796e;margin:10px 0 18px;line-height:1.7}.shop-search-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shop-search-row label{font-size:13px;font-weight:700}.shop-search-row input{min-height:44px;flex:1;max-width:500px;min-width:180px;border:1px solid #b6ccbf;border-radius:7px;padding:8px 12px;font:inherit;font-size:14px;box-sizing:border-box}.shop-search-row input:focus-visible{outline:3px solid #5c9b81;outline-offset:2px}.shop-search-row button{border:0;background:transparent;color:#406c5b;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:12px;cursor:pointer;min-height:44px}.shop-search-row [hidden]{display:none!important}.shop-faceted .list-toolbar{padding:16px 0 12px;gap:12px 24px}.shop-faceted .list-hint{display:none}.shop-result-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0;font-size:13px;color:#476b59}.shop-result-summary p{margin:0}.shop-result-summary .result-count{flex:none}.shop-faceted .catalog-empty{margin-top:16px;padding:26px}.shop-faceted .catalog-empty h2{font-size:22px}.shop-faceted .catalog-empty p{font-size:14px}.shop-faceted .product-results:empty{display:none}
@media(max-width:700px){.shop-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-category{min-height:102px}.shop-category-copy{left:12px;bottom:10px}.shop-category-copy strong{font-size:17px}.shop-search-row{gap:8px}.shop-search-row label{width:100%}.shop-search-row input{font-size:16px;max-width:none;width:100%}.shop-filter-heading>span{font-size:11px}.shop-concerns{gap:7px}.shop-concerns button{font-size:13px;padding:7px 12px}.shop-faceted .list-toolbar{gap:8px}.shop-faceted .catalog-empty{padding:22px}.shop-faceted .catalog-empty h2{font-size:20px}}

.shop-page .resource-lead{font-size:16px;line-height:1.85;max-width:880px}

/* Clear category introductions, without expanding the page hero. */
.products-page .resource-lead{padding:15px 20px;margin:0 0 22px;border-left:5px solid #257963;border-radius:0 9px 9px 0;background:linear-gradient(90deg,#eaf4ee,#f8faf7);color:#244f41;font-size:18px;line-height:1.8;font-weight:600;max-width:none}
.shop-demo-card{padding:0;overflow:hidden;border-radius:14px}.shop-product-open{display:flex;align-items:center;gap:28px;text-decoration:none;color:inherit;padding:20px}.shop-product-open>img{width:180px;aspect-ratio:1;object-fit:cover;border-radius:10px}.shop-demo-copy h2{margin:12px 0}.shop-demo-copy p{max-width:480px}.demo-badge{display:inline-block;font-size:11px;letter-spacing:.08em;font-weight:700;color:#71582c;background:#f4e7c9;padding:5px 10px;border-radius:4px}.shop-demo-cta{display:inline-block;margin-top:18px;color:#176b56;font-size:14px;font-weight:700}.shop-product-open:hover{background:#f6faf7}.shop-product-open:focus-visible{outline:3px solid #247c61;outline-offset:-4px}.supplement-detail{padding-top:30px;padding-bottom:64px}.supplement-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;margin:28px 0 40px}.supplement-hero figure{margin:0}.supplement-hero img{width:100%;height:auto;border-radius:18px}.supplement-hero figcaption{font-size:11px;color:#768578;margin-top:8px}.supplement-hero h1{font-size:clamp(28px,3vw,42px);margin:12px 0 2px}.supplement-latin{font-size:13px;color:#6d8176}.supplement-hero .eyebrow{margin:22px 0 0}.supplement-catch{font-size:29px;line-height:1.55;font-weight:600;margin:24px 0 14px}.supplement-hero p:not(.supplement-catch){line-height:1.9}.supplement-tags,.supplement-jumps{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.supplement-tags a{font-size:12px;background:#edf3ed;padding:5px 13px;border-radius:22px;text-decoration:none;color:#456a53}.supplement-jumps a{font-size:14px;color:#176b56;text-underline-offset:6px}.supplement-summary{background:#f1f6f1;border-radius:12px;padding:26px 30px}.supplement-detail h2{font-size:25px;margin:0 0 14px}.supplement-detail p{font-size:15px;line-height:1.9}.supplement-detail .source-line{font-size:12px;margin-bottom:0}.supplement-detail section{scroll-margin-top:110px}.supplement-related,.supplement-retailers{margin-top:44px}.supplement-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.supplement-section-heading>span,.demo-note{color:#738378;font-size:12px!important}.demo-article-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}.demo-article{border:1px solid #d8e3da;border-radius:12px;overflow:hidden;background:#fff}.demo-article summary{cursor:pointer;padding:27px;list-style:none;background:linear-gradient(125deg,#eef5ef,#fbfaf4)}.demo-article summary::-webkit-details-marker{display:none}.demo-article summary:focus-visible{outline:3px solid #26785d;outline-offset:-4px}.demo-article-kicker{font-size:11px;letter-spacing:.09em;color:#66816d}.demo-article h3{font-size:23px;line-height:1.65;margin:18px 0}.demo-article-open{font-size:12px;color:#247356}.demo-article>div{padding:20px 27px}.demo-article>div>a{font-size:12px}.supplement-cautions{margin-top:34px;border-left:3px solid #bcab80;padding:8px 24px}.supplement-cautions h2{font-size:19px}.supplement-cautions p{font-size:13px}.retailer-buttons{display:flex;gap:16px;margin:20px 0}.retailer-buttons button{flex:1;max-width:300px;min-height:70px;padding:13px 20px;text-align:left;border:1px solid #cddbcf;border-radius:9px;background:#f3f6f2;color:#627666;font:inherit;font-weight:600;cursor:not-allowed}.retailer-buttons small{display:block;font-size:11px;font-weight:400;margin-top:3px}
@media(min-width:900px){.product-results[data-columns="4"] .shop-product-open{flex-direction:column;align-items:stretch}.product-results[data-columns="4"] .shop-product-open>img{width:100%}}
@media(max-width:700px){.products-page .resource-lead{font-size:16px;padding:13px 15px}.supplement-hero{grid-template-columns:1fr;gap:24px}.supplement-hero figure{max-width:420px;margin:auto}.supplement-catch{font-size:25px}.demo-article-grid{grid-template-columns:1fr}.supplement-summary{padding:22px}.shop-product-open{gap:16px;padding:16px}.shop-product-open>img{width:105px}.shop-demo-copy h2{font-size:21px}.shop-demo-copy p{font-size:13px}.shop-demo-cta{font-size:12px}.retailer-buttons{flex-wrap:wrap}.retailer-buttons button{min-width:130px}.demo-article h3{font-size:21px}}

/* Kotoba printable product */
.kotoba-product{padding-top:30px;padding-bottom:54px}.kotoba-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin:28px 0}.kotoba-hero figure,.kotoba-samples figure{margin:0}.kotoba-hero img{display:block;width:100%;height:auto;border-radius:16px}.kotoba-hero h1{font-size:clamp(32px,4vw,49px);line-height:1.3;margin:18px 0}.kotoba-hero h1 span{font-size:.62em}.kotoba-catch{font-size:25px;font-weight:700;line-height:1.55;color:#215c51}.kotoba-product p{line-height:1.9}.kotoba-product figcaption{font-size:12px;color:#60716b;margin-top:10px}.kotoba-chips{display:flex;flex-wrap:wrap;gap:8px}.kotoba-chips span{padding:5px 11px;background:#edf4ef;border-radius:20px;font-size:12px;color:#315e50}.kotoba-price{font-size:29px!important;font-weight:700;color:#214d43;margin:17px 0!important}.kotoba-price small{display:block;font-size:12px;font-weight:400;color:#66756f}.kotoba-primary{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;min-height:46px;border-radius:8px;background:#246b59;color:white;text-decoration:none;font-weight:700}.kotoba-primary:hover{background:#18513f}.kotoba-purchase-note,.kotoba-note{font-size:12px!important;color:#617269}.kotoba-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 0;border-block:1px solid #d5e2db;gap:15px}.kotoba-facts span{font-size:12px;color:#62756b;text-align:center}.kotoba-facts b{display:block;font-size:20px;color:#274e42;margin-bottom:5px}.kotoba-section{margin-top:48px;scroll-margin-top:100px}.kotoba-section h2{font-size:26px;line-height:1.5;margin:0 0 19px}.kotoba-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.kotoba-benefits>div{padding:23px;background:#f1f5ef;border-radius:12px}.kotoba-benefits>div>span{font-size:13px;color:#6c8776}.kotoba-benefits h3{font-size:19px;line-height:1.5;margin:10px 0}.kotoba-benefits p{font-size:14px}.kotoba-samples{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.kotoba-samples a,.kotoba-samples .sample-image-button{display:block;background:#edf2ec;padding:18px;border-radius:12px}.kotoba-samples img{display:block;max-height:480px;width:100%;object-fit:contain}.kotoba-included{display:grid;grid-template-columns:1fr 1fr;gap:44px}.kotoba-included li{line-height:1.9;margin-bottom:7px}.kotoba-sale{border-top:1px solid #d5e2db;padding-top:28px;display:grid;grid-template-columns:1fr auto;gap:0 28px}.kotoba-sale>p{grid-column:1/-1;font-size:12px;color:#617269}.kotoba-sale button{padding:12px 30px;border:1px solid #cad8ce;border-radius:8px;color:#697a70;background:#edf1ec;font-size:15px;cursor:not-allowed}.kotoba-card-image{display:block;margin:16px 0}.kotoba-card-image img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;background:#f1f5ef;border-radius:10px}.kotoba-product a:focus-visible{outline:3px solid #166955;outline-offset:4px}
@media(max-width:700px){.kotoba-hero{grid-template-columns:1fr;gap:24px}.kotoba-hero h1{font-size:36px}.kotoba-facts{grid-template-columns:repeat(2,1fr)}.kotoba-benefits,.kotoba-samples,.kotoba-included{grid-template-columns:1fr}.kotoba-section{margin-top:34px}.kotoba-section h2{font-size:23px}.kotoba-sale{grid-template-columns:1fr}.kotoba-sale button{width:100%}.kotoba-catch{font-size:23px}}

.resource-kind-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.resource-kind-filters button{font:inherit;font-size:13px;border:1px solid #bfcec5;border-radius:22px;background:#fff;color:#35584a;min-height:42px;padding:8px 15px;cursor:pointer}.resource-kind-filters button[aria-pressed=true]{background:#235f50;color:white;border-color:#235f50}.resource-kind-filters button:focus-visible{outline:3px solid #2c8469;outline-offset:3px}.product-menu-entry[hidden]{display:none!important}

.sample-fan{position:relative;height:390px;max-width:620px;margin:18px auto 10px;isolation:isolate}.sample-sheet{position:absolute;left:50%;top:18px;width:215px;padding:10px 10px 8px;border:1px solid #cad7ce;border-radius:8px;background:#fff;box-shadow:0 12px 25px #234b4026;transform:translateX(calc(-50% + var(--shift))) rotate(var(--tilt));transform-origin:50% 95%;transition:transform .25s,box-shadow .25s;cursor:pointer;font:inherit;color:#254f43}.sample-sheet>span{display:block;font-size:15px;font-weight:700;margin:0 0 7px}.sample-sheet img{width:100%;height:272px;object-fit:contain;display:block}.sample-sheet small{display:block;margin-top:5px;font-size:11px}.sample-sheet:hover,.sample-sheet:focus-visible{z-index:3;transform:translateX(calc(-50% + var(--shift))) translateY(-12px) rotate(0);box-shadow:0 18px 30px #234b4033;outline:2px solid #287b61}.sample-fan-help{font-size:12px!important;color:#65776c;text-align:center}.sample-dialog{width:min(900px,94vw);max-height:94dvh;border:0;border-radius:12px;padding:18px;background:#f1f5ef}.sample-dialog::backdrop{background:#0e2925bd}.sample-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:-18px;background:#f1f5ef;padding:10px 0;z-index:1}.sample-dialog h2{font-size:17px;margin:0}.sample-dialog button{white-space:nowrap;border:1px solid #a8bfb0;border-radius:6px;padding:10px 14px;background:white;color:#244e42;cursor:pointer}.sample-dialog>img{display:block;width:100%;height:auto}.kotoba-primary[type=button]{border:0;font:inherit;cursor:pointer}
@media(max-width:700px){.sample-fan{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:auto;gap:16px;padding:14px 16px 20px}.sample-sheet{position:relative;left:auto;top:auto;flex:0 0 82%;width:auto;transform:none;scroll-snap-align:center}.sample-sheet:hover,.sample-sheet:focus-visible{transform:none}.sample-sheet img{height:310px}.sample-dialog h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){.sample-sheet{transition:none}}

.sample-image-button{border:0;width:100%;cursor:pointer}.sample-image-button:focus-visible{outline:3px solid #247a60;outline-offset:3px}

.purchase-type-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.purchase-type-filters button{border:1px solid #c4d2c8;background:#fff;border-radius:8px;padding:9px 15px;font:inherit;font-size:13px;min-height:44px;cursor:pointer;color:#345347}.purchase-type-filters small{display:block;font-size:10px;margin-top:2px}.purchase-type-filters [aria-pressed=true]{background:#255d4b;color:#fff}.purchase-type-filters .bundle-filter{border-color:#d89f59;color:#824808;background:#fff5e8}.purchase-type-filters .bundle-filter[aria-pressed=true]{background:#965219;color:#fff}.resource-card[data-purchase-type=bundle]{background:#fffaf2;border-color:#dfb779}.bundle-state{background:#f5dfb8!important;color:#784309!important}.bundle-entry .product-pick{border-left:4px solid #c88739;background:#fff6e8}.bundle-entry .product-pick[data-selected=true]{background:#fff0d8;color:#77410e;border-color:#c88739}.product-empty{padding:22px;background:#f6f4ef;border-radius:8px;color:#596b5f}.header-cart{font:inherit;font-size:13px;border:1px solid #a8c0ae;border-radius:8px;background:#f0f5ed;color:#315541;padding:9px 13px;cursor:pointer;white-space:nowrap}.cart-add{font:inherit;font-weight:700;background:#256851;color:white;border:1px solid #256851;border-radius:8px;padding:13px 20px;cursor:pointer!important}.product-buy-actions{display:flex;gap:10px;flex-wrap:wrap}.product-buy-actions .buy-now{background:#f4ead9;color:#846f50;cursor:not-allowed}.cart-dialog{width:min(580px,94vw);max-height:90dvh;padding:25px;border:0;border-radius:14px;color:#254c40}.cart-dialog::backdrop{background:#142d24aa}.cart-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.cart-head h2{margin:0;font-size:24px}.cart-head button,.cart-item button{padding:8px 13px;border:1px solid #ccd7ce;border-radius:6px;background:#fff;color:#405d4d;cursor:pointer}.cart-notice{background:#fff5df;border-radius:8px;padding:12px;font-size:13px;line-height:1.7}.cart-item{padding:18px 0;border-bottom:1px solid #dce5dc}.cart-item a{font-weight:700;color:#276652}.cart-item p{font-size:13px;color:#5a7162}.cart-total{font-size:23px;font-weight:700;text-align:right}.cart-checkout{width:100%;padding:14px;border:0;border-radius:8px;background:#e7eee7;color:#69806f;font-size:15px;cursor:not-allowed}.cart-storage{font-size:11px;line-height:1.7;color:#617565}.cart-feedback{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:50;background:#214f3e;color:#fff;padding:14px 22px;border-radius:9px;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s}.cart-feedback.is-visible{opacity:1}

/* Product actions: primary cart, secondary detail, with separate hit areas. */
.product-card-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px;margin-top:20px;min-width:0}
.product-card-actions>.cart-add,.product-card-actions>.product-detail-link{box-sizing:border-box;flex:1 1 180px;min-width:0;max-width:100%;margin:0;min-height:52px;padding:13px 18px;font-size:15px;line-height:1.5;white-space:normal;text-align:center}
.product-card-actions>.cart-add{display:inline-flex;align-items:center;justify-content:center}
.product-detail-link{box-sizing:border-box;justify-content:center;text-align:center;background:#eaf4f0;color:#255d4b;border:1.5px solid #9fbdaf;gap:14px;box-shadow:none}
.product-detail-link:hover{background:#dceee5;color:#164c3b;border-color:#255d4b}
.product-detail-link:focus-visible{color:#164c3b;outline:3px solid #b18b4a;outline-offset:3px}
.cart-add:focus-visible{outline:3px solid #b18b4a;outline-offset:3px}
.product-buy-actions{gap:14px;align-items:stretch;min-width:0}
.product-buy-actions>button{box-sizing:border-box;margin:0;max-width:100%;min-height:52px;white-space:normal;line-height:1.5}
@media(max-width:700px){.product-card-actions{flex-direction:column;gap:12px}.product-card-actions>.cart-add,.product-card-actions>.product-detail-link{flex:auto;width:100%}.product-buy-actions>button{flex:1 1 180px}}
/* Product previews and persistent right-hand cart */
.recreation-preview-image{display:block;text-align:center;background:#f0f3ed;border-radius:14px;padding:18px;margin:18px 0}.recreation-preview-image img{display:block;max-height:300px;max-width:100%;width:auto;margin:auto;box-shadow:0 8px 24px #203d2420}
.recreation-product-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:30px 0}.recreation-product-hero h1{font-size:clamp(26px,3vw,40px);line-height:1.4}.recreation-product-hero figure{margin:0;text-align:center;background:#f2f4ee;border-radius:16px;padding:24px}.recreation-product-hero img{width:auto;max-width:100%;max-height:500px;box-shadow:0 8px 25px #213c2420}.recreation-product-hero figcaption{font-size:12px;margin-top:12px;color:#5a6c61}
.series-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.series-product-tile{display:block;background:#fff;border:1px solid #d9e2d7;border-radius:14px;padding:22px;text-decoration:none;color:#294f3e}.series-product-tile img{height:210px;max-width:100%;object-fit:contain;display:block;margin:0 auto 18px}.series-product-tile h2{font-size:20px;line-height:1.5}.series-product-tile p{font-size:14px;line-height:1.8}.series-product-tile>span{font-size:12px;color:#78623d}.series-product-tile:hover{border-color:#46816b;box-shadow:0 7px 22px #243d2310}.series-product-tile:focus-visible{outline:3px solid #197d65;outline-offset:4px}.bundle-intro{background:#fff7e9!important;border:1px solid #dfbc82!important;padding:28px!important;border-radius:16px}
.cart-sidebar{position:fixed;right:20px;top:110px;width:280px;max-height:calc(100dvh - 132px);overflow:auto;box-sizing:border-box;z-index:35;background:#fffdf7;color:#254c40;border:1px solid #d7e1d6;border-radius:16px;padding:20px;box-shadow:0 8px 30px #24432912}.cart-sidebar[hidden]{display:none}.cart-sidebar .cart-head h2{font-size:18px;line-height:1.5}.cart-sidebar .cart-head{gap:8px}.cart-sidebar .cart-item{padding:14px 0}.cart-sidebar .cart-item>a{display:block;font-size:14px;line-height:1.6}.cart-sidebar .cart-item p{margin:6px 0}.cart-sidebar .cart-item button{min-height:36px;font-size:12px}.cart-sidebar .cart-total{font-size:17px;text-align:left;line-height:1.6}.cart-sidebar .cart-notice{font-size:12px;padding:9px}.cart-empty{color:#708075;font-size:14px;padding:22px 0;line-height:1.8}.cart-overlap{font-size:12px;line-height:1.7;background:#fff1d3;padding:10px;border-radius:8px}.cart-close,.cart-mobile-toggle{display:none}

@media(max-width:1199px){.cart-mobile-toggle{display:block;position:fixed;right:18px;bottom:18px;z-index:45;background:#245e49;color:white;border:0;border-radius:99px;box-shadow:0 5px 24px #163d3538;min-height:48px;padding:12px 22px;font:inherit;font-weight:700}.cart-sidebar{top:auto;bottom:80px;right:16px;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 180px);z-index:46}.cart-close{display:block}.has-cart-sidebar footer{padding-bottom:85px}.cart-feedback{bottom:85px}.series-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.recreation-product-hero{grid-template-columns:1fr;gap:16px}.series-product-grid{grid-template-columns:1fr}.recreation-product-hero figure{padding:18px}.recreation-product-hero img{max-height:340px}.series-product-tile{padding:18px}.cart-sidebar .cart-item button{min-height:44px}.cart-sidebar .cart-head button{min-height:44px}}

/* Keep the page centered; cart never reserves a left-shifting column. */
.has-cart-sidebar main,.has-cart-sidebar footer{margin-right:0}
.cart-mobile-toggle{display:block;position:fixed;right:22px;top:20px;bottom:auto;z-index:48;min-height:44px;padding:8px 14px;background:#f5f9f4;border:1px solid #b9cdbf;border-radius:24px;color:#255e49;box-shadow:0 3px 14px #254d4012;font:inherit;font-weight:700}
.cart-sidebar{top:78px;bottom:auto;right:20px;max-height:calc(100dvh - 100px);width:280px;box-shadow:0 10px 36px #24432924}
.cart-close{display:block}.cart-sidebar[hidden]{display:none}
.sample-fan-six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px;height:auto;max-width:660px;margin:30px auto;padding:8px}
.sample-fan-six .sample-sheet{position:relative;left:auto;top:auto;width:100%;min-width:0;box-sizing:border-box;transform:rotate(var(--tilt));padding:9px;box-shadow:0 8px 20px #234b4020}
.sample-fan-six .sample-sheet img{height:auto;width:100%;aspect-ratio:566/800;object-fit:contain}
.sample-fan-six .sample-sheet>span{font-size:12px;line-height:1.5;min-height:36px;display:flex;align-items:center;justify-content:center}
.sample-fan-six .sample-sheet:hover,.sample-fan-six .sample-sheet:focus-visible{transform:translateY(-10px) rotate(0);z-index:3}
@media(min-width:1800px){.cart-shop-page .cart-close{display:none}.cart-shop-page main>.wrap{max-width:1120px}.cart-shop-page .cart-sidebar{top:110px;max-height:calc(100dvh - 135px)}}
@media(max-width:700px){.cart-mobile-toggle{top:12px;right:12px;font-size:13px;padding:8px 11px}.cart-sidebar{width:min(360px,calc(100vw - 24px));right:12px;top:68px;max-height:calc(100dvh - 88px)}.sample-fan-six{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:20px 12px;padding:8px}.sample-fan-six .sample-sheet{flex:initial;scroll-snap-align:none}.sample-fan-six .sample-sheet img{height:auto}.sample-fan-six .sample-sheet>span{font-size:12px}}

/* Product contents remain readable alongside the approved whole-sheet sample. */
.kotoba-preview-included{margin-top:24px;padding:20px 24px;border-radius:12px;background:#f0f6f2}.kotoba-preview-included h3{font-size:18px;line-height:1.5;margin:0 0 10px;color:#254f43}.kotoba-preview-included ul{margin:0;padding-left:1.2em}.kotoba-preview-included li{font-size:14px;line-height:1.9;margin:2px 0}

/* Distinguish complete sets from individual choices without moving the page. */
/* Separate category blocks while keeping their labels and product names aligned. */
.product-menu{--product-menu-inset:20px;border:0;border-radius:0;background:transparent;overflow:visible}.product-menu-label{padding:0 var(--product-menu-inset) 12px;border:0}.product-menu-section{--group-bg:#f3f8f4;--group-line:#ccdfd1;--group-ink:#32614c;--group-active:#e0efe5;--group-accent:#267256;border:1px solid var(--group-line);border-radius:12px;overflow:hidden;background:var(--group-bg)}.product-menu-section+.product-menu-section{margin-top:16px}.product-menu-section[data-group=bundle]{--group-bg:#fff7eb;--group-line:#e6c99c;--group-ink:#855321;--group-active:#ffe9c8;--group-accent:#a76b24}.product-menu-section[data-group=print]{--group-bg:#faf4f8;--group-line:#e3cfdc;--group-ink:#79536f;--group-active:#f0dfe9;--group-accent:#955d82}.product-menu-section[data-group=exercise]{--group-bg:#f0f7fb;--group-line:#c7ddea;--group-ink:#3c617b;--group-active:#dcecf6;--group-accent:#437da0}.product-menu-group-label{margin:0!important;padding:14px var(--product-menu-inset) 7px;font-size:12px!important;font-weight:700;line-height:1.6;letter-spacing:.03em;color:var(--group-ink)}.product-menu .product-pick{padding-inline:calc(var(--product-menu-inset) - 5px) var(--product-menu-inset);border-left:5px solid transparent;border-bottom-color:var(--group-line);background:transparent}.product-menu .product-pick:hover{background:var(--group-active)}.product-menu .product-pick[data-selected=true]{background:var(--group-active);border-left-color:var(--group-accent);color:#193f32}.product-menu .product-pick[data-selected=true] .product-pick-marker{background:var(--group-accent);color:#fff}.product-menu-section:has(.bundle-entry)>.product-menu-group-label{color:var(--group-ink)}
/* Shared columns; each one- or two-line text group is centered as a whole. */
.catalog-filters {
  --catalog-filter-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  gap: 12px;
  margin: 18px 0 20px;
  padding: 16px 18px;
  background: #f7faf8;
  border: 1px solid #d9e5df;
  border-radius: 12px;
}
.catalog-filter-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; }
.catalog-filter-label { margin: 0!important; font-size: 12px!important; font-weight: 700; color: #526e61; line-height: 1.5; }
.catalog-filters .resource-kind-filters,
.catalog-filters .purchase-type-filters {
  display: grid;
  grid-template-columns: var(--catalog-filter-columns);
  gap: 8px;
  width: 100%;
  max-width: 780px;
  min-width: 0;
  margin: 0;
}
.catalog-filters button {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 8px 12px;
  border: 1px solid #bfcec5;
  border-radius: 8px;
  background: #fff;
  color: #35584a;
  font: inherit;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
}
.catalog-filters button::before { content: ""; display: block; width: 12px; font-size: 12px; font-weight: 700; }
.catalog-filters button::after { content: ""; display: block; width: 12px; }
.catalog-filters button[aria-pressed=true]::before { content: "✓"; }
.catalog-filters button[aria-pressed=true] { background: #235f50; color: #fff; border-color: #235f50; }
.catalog-filters button:hover { border-color: #518773; }
.catalog-filters button:focus-visible { outline: 3px solid #9b7029; outline-offset: 3px; }
.catalog-filter-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  align-items: center;
}
.catalog-filter-name { display: block; line-height: 1.5; overflow-wrap: anywhere; }
.catalog-filters .catalog-filter-copy small { display: block; margin: 0; font-size: 11px; line-height: 1.5; }
.catalog-filters .bundle-filter { border-color: #d89f59; color: #824808; background: #fff5e8; }
.catalog-filters .bundle-filter[aria-pressed=true] { background: #965219; color: #fff; border-color: #965219; }
.catalog-filter-summary { margin: 0!important; padding-top: 2px; font-size: 12px!important; line-height: 1.5; color: #60776d; }
@media(max-width:1000px) {
  .catalog-filters { --catalog-filter-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:700px) {
  .product-menu { --product-menu-inset: 16px; }
  .catalog-filters { padding: 14px 12px; gap: 14px; }
  .catalog-filter-row { grid-template-columns: 1fr; gap: 7px; }
  .catalog-filters button { min-height: 58px; padding: 8px 10px; gap: 5px; font-size: 12px; }
  .catalog-filters .catalog-filter-copy small { font-size: 10px; }
}

/* Catalog v73: one document scroll; no independently scrolling product. */
.product-explorer > .product-preview{position:static;align-self:start;min-height:0;max-height:none;overflow:visible;border-radius:12px}
.product-preview .resource-card,.product-menu-entry>.resource-card{display:flex;flex-direction:column;align-items:stretch}
.product-preview .resource-card>.product-card-actions,.product-menu-entry>.resource-card>.product-card-actions{flex-wrap:wrap;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid #d9e5df}
.product-preview .resource-card>.product-card-actions>*,.product-menu-entry>.resource-card>.product-card-actions>*{min-height:44px}

/* Candidate product detail: short entry, then optional practical detail. */
.product-candidate{padding-block:28px 58px;max-width:1120px}.product-candidate-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:46px;align-items:center;margin:28px 0}.product-candidate-hero h1{font-size:clamp(27px,3.3vw,41px);line-height:1.45;margin:16px 0}.product-candidate-lead{font-size:18px;line-height:1.85;max-width:650px}.product-candidate-hero figure{margin:0;padding:20px;border-radius:14px;background:#f1f5ef;text-align:center}.product-candidate-hero .sample-image-button{background:transparent;padding:0}.product-candidate-hero img{width:auto;max-width:100%;max-height:490px;margin:auto;object-fit:contain;box-shadow:0 7px 20px #21473220}.product-candidate-hero figcaption{font-size:12px;line-height:1.7;margin-top:12px;color:#64766b}.product-candidate-facts{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.product-candidate-facts>div{padding-right:18px;border-right:1px solid #d6e2d9}.product-candidate-facts b,.product-candidate-facts span{display:block}.product-candidate-facts b{font-size:18px;color:#285543}.product-candidate-facts span{font-size:12px;color:#65756d}.product-candidate h2{font-size:23px;line-height:1.5;margin-bottom:14px}.product-candidate-recommend{background:#f0f6f2;border-left:4px solid #428572;border-radius:0 12px 12px 0;padding:22px 26px;margin:28px 0}.product-candidate-recommend h2{font-size:18px;margin-bottom:7px}.product-candidate-recommend p{font-size:15px;line-height:1.85}.product-candidate-contents{margin:34px 0}.product-candidate-contents ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 34px;padding-left:1.25em}.product-candidate li{line-height:1.9;margin:6px 0;overflow-wrap:anywhere}.product-reading-detail{border-top:1px solid #d6e2d9;padding:0;margin:0}.product-reading-detail summary{min-height:56px;padding:18px 8px;font-size:17px;font-weight:700;color:#285443;cursor:pointer}.product-reading-detail[open]{padding-bottom:20px}.product-reading-detail ul,.product-reading-detail ol{padding-left:28px;margin:0 10px}.product-candidate-limits{padding:22px 25px;background:#f7f5ef;border-radius:12px;margin:28px 0}.product-candidate-limits h2{font-size:17px}.product-candidate-limits ul{font-size:13px;padding-left:1.3em;margin:0}.product-candidate-last{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid #d6e2d9;padding-top:24px;margin-top:30px}.product-candidate-last p{font-size:15px}.product-candidate-last .product-buy-actions{justify-content:flex-end}@media(max-width:700px){.product-candidate-hero{grid-template-columns:1fr;gap:22px;margin:22px 0}.product-candidate-hero figure{padding:18px}.product-candidate-hero img{max-height:350px}.product-candidate-lead{font-size:16px}.product-candidate-facts{gap:12px}.product-candidate-facts b{font-size:16px}.product-candidate-contents ul{grid-template-columns:1fr;gap:4px}.product-candidate-last{display:block}.product-candidate-last .product-buy-actions{justify-content:flex-start;margin-top:18px}.product-candidate-recommend,.product-candidate-limits{padding:18px 20px}.product-reading-detail summary{font-size:16px}}
.product-bundle-comparison{font-size:13px;line-height:1.8;color:#6c613f;margin-top:12px}
.product-related{margin:34px 0}.product-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.product-related article{border:1px solid #d6e2d9;border-radius:12px;padding:20px;background:#fff}.product-related img{max-height:240px;max-width:100%;object-fit:contain;margin:0 auto;display:block}.product-related h3{font-size:18px;line-height:1.6;margin:16px 0 8px}.product-related p{font-size:14px;line-height:1.8}@media(max-width:700px){.product-related>div{grid-template-columns:1fr}.product-related img{max-height:210px}}

/* Purpose-made samples stay sharp; every sheet has its own explicit selector. */
.sample-fan-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;height:auto;max-width:560px;margin:26px auto;padding:12px;overflow:visible}
.sample-fan-two .sample-sheet{position:relative;left:auto;top:auto;flex:initial;width:100%;min-width:0;padding:10px;transform:rotate(var(--tilt));box-shadow:0 8px 20px #234b4020}
.sample-fan-two .sample-sheet>span{display:flex;align-items:center;justify-content:center;min-height:42px;font-size:13px;line-height:1.6}
.sample-fan-two .sample-sheet img{width:100%;height:auto;max-height:none;aspect-ratio:210/297;object-fit:contain}
.sample-fan-two .sample-sheet small{font-size:10px;line-height:1.6}
.sample-fan-two .sample-sheet:hover,.sample-fan-two .sample-sheet:focus-visible{transform:translateY(-8px) rotate(0);z-index:3}
.product-candidate-hero .bundle-preview{min-width:0;padding:14px}
.bundle-preview .sample-fan-two{gap:12px;padding:8px;margin:14px auto}
.kotoba-samples{grid-template-columns:minmax(0,620px);justify-content:center}
.kotoba-hero .sample-image-button,.recreation-product-hero .sample-image-button{display:block;background:transparent;padding:0}
.kotoba-hero img{max-height:600px;object-fit:contain}
.sample-dialog{overflow:auto}
.sample-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 16px}
.sample-dialog-controls span{font-size:13px;white-space:nowrap}
.sample-dialog-controls button{min-height:44px;font-size:13px}
.sample-dialog-note{font-size:13px;line-height:1.8;color:#405b4c;margin:16px 0 0}
@media(max-width:700px){.sample-fan-two{gap:12px;padding:8px;margin:20px auto}.sample-fan-two .sample-sheet{transform:none;padding:7px}.sample-fan-two .sample-sheet>span{font-size:11px;min-height:38px}.sample-fan-two .sample-sheet:hover,.sample-fan-two .sample-sheet:focus-visible{transform:none}.sample-dialog{padding:12px;width:96vw;max-height:96dvh}.sample-dialog-controls button{font-size:11px;padding:9px 10px}.sample-dialog-head{top:-12px}.sample-dialog h2{font-size:13px}.product-candidate-hero .bundle-preview{padding:8px}}
@media(prefers-reduced-motion:reduce){.sample-fan .sample-sheet,.sample-fan .sample-sheet:hover,.sample-fan .sample-sheet:focus-visible{transform:none;transition:none;animation:none}}
/* Product detail pages: visual on the left; product, price and actions on the right. */
.recreation-product-hero>figure,.product-candidate-hero>figure{min-width:0}
@media(min-width:701px){.recreation-product-hero,.product-candidate-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.recreation-product-hero>figure,.product-candidate-hero>figure{grid-column:1;grid-row:1}.recreation-product-hero>div,.product-candidate-hero>div{grid-column:2;grid-row:1}}
@media(max-width:700px){.recreation-product-hero>figure,.product-candidate-hero>figure{order:2}.recreation-product-hero>div,.product-candidate-hero>div{order:1}}
/* Word collection: a concise, readable explanation of the activity's purpose. */
.recreation-aim-block{background:#eef6f2;border:1px solid #c6ddd3;border-top:4px solid #3b8068;border-radius:12px;padding:24px 26px;align-self:start}
.recreation-aim-eyebrow{display:block;font-size:12px;font-weight:700;line-height:1.6;color:#37705d;margin-bottom:8px}
.kotoba-section .recreation-aim-block h2{margin:0 0 12px;font-size:25px;color:#1c5142}
.recreation-aim-block>p{font-size:14px;line-height:1.9}
.recreation-aim-list{display:grid;gap:0;margin:18px 0 0}
.recreation-aim-list>div{padding:12px 0;border-top:1px solid #cbded5}
.recreation-aim-list dt{font-size:15px;font-weight:700;line-height:1.6;color:#245e4d}
.recreation-aim-list dd{margin:4px 0 0;font-size:14px;line-height:1.8;color:#365b4d}
.recreation-aim-block .recreation-aim-note{font-size:12px;line-height:1.8;color:#536c61;border-top:1px solid #cbded5;padding-top:14px;margin-top:8px}
@media(max-width:700px){.recreation-aim-block{padding:20px}.kotoba-section .recreation-aim-block h2{font-size:23px}}
/* Concrete package contents, with duplicated print sizes stated transparently. */
.purchase-contents{padding:24px;border:1px solid #c6ddd3;background:#eef6f2}
.purchase-contents-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.purchase-contents-heading h3{margin:0!important;font-size:21px!important;line-height:1.6}
.purchase-contents-heading>span{display:inline-block;padding:5px 10px;border:1px solid #bdd6c9;border-radius:6px;background:#fff;font-size:12px;color:#2e6452}
.purchase-contents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.purchase-contents-grid>section{padding:18px 20px;border:1px solid #d0e0d7;border-radius:10px;background:#fff}
.purchase-content-count{display:block;font-size:30px;line-height:1.25;color:#24634f}
.purchase-content-label{display:block;font-size:13px;line-height:1.7;color:#37725d}
.purchase-contents-grid h4{font-size:16px;line-height:1.6;margin:8px 0 6px;color:#204d3e}
.purchase-contents-grid p{font-size:14px;line-height:1.8;color:#486253}
.purchase-contents .purchase-contents-note{margin-top:16px;font-size:12px;line-height:1.8;color:#4e685a}
@media(max-width:700px){.purchase-contents{padding:18px}.purchase-contents-grid{grid-template-columns:1fr}.purchase-contents-grid>section{padding:16px}}

/* One product-detail family: all 15 singles and both bundles use this layout. */
.unified-product-detail{max-width:1120px;padding-block:30px 60px;color:#264c40}
.unified-product-detail p,.unified-product-detail li{line-height:1.9}
.unified-product-detail h1,.unified-product-detail h2,.unified-product-detail h3{overflow-wrap:anywhere}
.unified-product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:46px;align-items:center;margin:32px 0 20px}
.unified-product-preview{grid-column:1;grid-row:1;min-width:0;margin:0;padding:38px 30px 22px;background:#f0f5ef;border:1px solid #e3eae2;border-radius:16px;text-align:center}
.unified-product-intro{grid-column:2;grid-row:1;min-width:0}
.unified-product-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.unified-product-chips span{font-size:12px;line-height:1.6;background:#edf4ef;border-radius:18px;padding:5px 11px;color:#376652}
.unified-product-intro>.resource-state{font-size:12px;line-height:1.7}
.unified-product-intro h1{font-size:clamp(28px,3.2vw,40px);line-height:1.4;letter-spacing:.01em;margin:16px 0 18px;color:#1d493c}
.unified-product-catch{font-size:21px;font-weight:700;line-height:1.65!important;color:#286652;margin-bottom:14px}
.unified-product-lead{font-size:15px;color:#466457}
.unified-product-facts{display:flex;flex-wrap:wrap;gap:14px 18px;margin:24px 0 8px;padding-block:16px;border-block:1px solid #d6e2d9}
.unified-product-facts>div{flex:1 1 120px;min-width:0}
.unified-product-facts b,.unified-product-facts span{display:block}
.unified-product-facts b{font-size:16px;line-height:1.65;color:#285b46}
.unified-product-facts span{font-size:11px;line-height:1.7;color:#65776c;margin-top:3px}
.unified-product-detail .kotoba-price{font-size:29px!important;line-height:1.5;margin:18px 0!important}
.unified-product-detail .kotoba-price small{font-size:12px;line-height:1.7;margin-top:3px}
.unified-product-detail .product-buy-actions{gap:12px}
.unified-product-detail .product-buy-actions>button{min-height:50px;padding:12px 18px;border:1px solid #d8d2c5;border-radius:8px;font-size:14px}
.unified-product-detail .product-buy-actions .buy-now{opacity:1}
.unified-product-note{font-size:12px;color:#607568;margin-top:14px}
.unified-product-jump{margin-top:14px}
.unified-product-preview figcaption{font-size:12px;line-height:1.7;color:#5e7467;margin-top:18px}
.unified-product-preview .sample-image-button{position:relative;z-index:3;display:block;padding:0;background:#fff;border-radius:5px;box-shadow:0 8px 22px #244a3b20;transition:transform .32s ease}
.unified-product-preview .sample-image-button img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:4px 4px 0 0}
.unified-product-preview .sample-image-button>small{display:block;padding:9px 5px;font-size:10px;line-height:1.6;color:#587465}
.unified-product-sample-stack{position:relative;isolation:isolate;width:min(calc(100% - 28px),360px);margin:24px auto 0}
.unified-product-backing-sheet{position:absolute;inset:0 2% auto;aspect-ratio:var(--back-display-aspect);overflow:hidden;z-index:1;pointer-events:none;display:block;border:1px solid #b7cfc2;border-radius:5px;background:#fff;box-shadow:0 5px 15px #254b3a14;transform-origin:50% 55%;transition:transform .38s ease}
.backing-native-paper{position:absolute;left:50%;top:50%;display:block;width:var(--back-native-width);aspect-ratio:var(--back-page-aspect);transform:translate(-50%,-50%) rotate(var(--back-native-turn));background:#fff}
.unified-product-backing-sheet .backing-edge-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
.unified-product-backing-sheet:nth-child(1){transform:translate(-6%,-6%) rotate(-5deg)}
.unified-product-backing-sheet:nth-child(2){z-index:2;background:#fff;transform:translate(6%,-3%) rotate(5deg)}
.unified-product-sample-stack:focus-within .unified-product-backing-sheet:nth-child(1){transform:translate(-11%,-9%) rotate(-8deg)}
.unified-product-sample-stack:focus-within .unified-product-backing-sheet:nth-child(2){transform:translate(11%,-6%) rotate(8deg)}
.unified-product-sample-stack:focus-within .sample-image-button{transform:translateY(2px)}
@media(hover:hover) and (pointer:fine){
 .unified-product-sample-stack:hover .unified-product-backing-sheet:nth-child(1){transform:translate(-11%,-9%) rotate(-8deg)}
 .unified-product-sample-stack:hover .unified-product-backing-sheet:nth-child(2){transform:translate(11%,-6%) rotate(8deg)}
 .unified-product-sample-stack:hover .sample-image-button{transform:translateY(2px)}
}
.unified-product-sample-note{padding:14px 18px;border-radius:8px;background:#f6f8f4;font-size:12px;color:#62746a}
.unified-product-preview .sample-fan{margin:8px auto;padding:4px;gap:18px 12px}
.unified-product-preview .sample-fan-six{grid-template-columns:repeat(3,minmax(0,1fr))}
.unified-product-preview .sample-fan .sample-sheet{padding:7px;background:#fff}
.unified-product-preview .sample-fan .sample-sheet img{width:100%;height:auto;max-height:none;object-fit:contain}
.unified-product-preview .sample-fan .sample-sheet>span{font-size:11px;line-height:1.5;min-height:3em}
.unified-product-preview .sample-fan .sample-sheet small{font-size:9px}
.unified-product-section{margin-top:46px;scroll-margin-top:30px}
.unified-product-section h2{font-size:26px;line-height:1.55;letter-spacing:.015em;color:#24513f;margin:0 0 20px}
.unified-product-section h3{font-size:17px;line-height:1.6;color:#315e4a}
.unified-product-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.unified-product-section-heading h2{margin:0}
.unified-product-section-heading>span{padding:6px 11px;background:#f2f7f2;border:1px solid #ceded2;border-radius:6px;font-size:12px;line-height:1.6;color:#47705b}
.unified-product-contents .purchase-contents-grid{gap:16px}
.unified-product-contents .purchase-contents-grid>section{background:#f2f7f2;padding:22px 24px}
.unified-product-contents .purchase-content-label{font-size:21px;font-weight:700;line-height:1.5;color:#2f7357}
.unified-product-contents .purchase-contents-grid h3{font-size:17px;margin:8px 0}
.unified-product-contents .purchase-contents-grid p{font-size:14px;color:#506b5b}
.unified-product-contents .product-reading-detail{margin-top:22px}
.unified-product-detail .product-reading-detail summary{font-size:15px;padding-inline:0}
.unified-product-detail .product-reading-detail li{font-size:14px;margin:7px 0}
.unified-product-components{margin-top:24px;border-top:1px solid #d6e2d9;padding-top:24px}
.unified-product-components ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;list-style:none;padding:0;margin:14px 0 0}
.unified-product-components li{min-width:0;padding:12px 16px;background:#f8faf6;border-radius:7px}
.unified-product-components li>span{display:block;font-size:12px;color:#637867;margin-top:7px}
.unified-product-purpose .recreation-aim-block{padding:28px 30px}
.unified-product-purpose .recreation-aim-eyebrow{font-size:12px;margin-bottom:10px}
.unified-product-purpose .recreation-aim-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px}
.unified-product-purpose .recreation-aim-list>div{padding:16px 0}
.unified-product-purpose .recreation-aim-list dt{font-size:17px}
.unified-product-purpose .recreation-aim-list dd{font-size:14px;margin-top:8px}
.unified-product-purpose .recreation-aim-note{margin-top:8px;padding-top:16px}
.unified-product-recommend{padding:24px 28px;border-left:4px solid #5a8b70;background:#f4f8f2;border-radius:0 10px 10px 0}
.unified-product-recommend h2{font-size:21px;margin-bottom:10px}
.unified-product-recommend p{font-size:15px}
.unified-product-description{font-size:15px;margin-bottom:22px}
.unified-product-preparation{padding:18px 22px;border:1px solid #d8e3d9;border-radius:9px;margin-bottom:22px}
.unified-product-preparation p{font-size:14px;margin-top:7px}
.unified-product-subheading{margin:0 0 14px}
.unified-product-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}
.unified-product-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid #dce7de}
.unified-product-steps li>span{color:#3c8061;font-size:17px;font-weight:700}
.unified-product-steps p{font-size:15px}
.unified-product-support{background:#f5f8f2;border-radius:10px;padding:22px 26px;margin-top:24px}
.unified-product-support ul,.unified-product-printing ul,.unified-product-limits ul{padding-left:1.3em;margin:12px 0 0}
.unified-product-support li,.unified-product-printing li{font-size:14px;margin:8px 0}
.unified-product-printing{padding:24px 28px;border:1px solid #d5e2d7;border-radius:10px}
.unified-product-printing h3{font-size:15px}
.unified-product-limits{background:#f8f5ee;padding:26px 30px;border:1px solid #e6ddcb;border-radius:12px}
.unified-product-limits h2{font-size:21px;margin-bottom:14px}
.unified-product-limits li{font-size:13px;margin:10px 0;color:#62634f}
.unified-product-purchase{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 30px;border-top:1px solid #cbded0;padding-top:28px;align-items:center}
.unified-product-purchase h2{font-size:23px;margin-bottom:10px}
.unified-product-purchase>div>p:not(.kotoba-price){font-size:14px}
.unified-product-purchase>p{grid-column:1/-1;font-size:12px;color:#647466}
@media(max-width:700px){
 .unified-product-detail{padding-block:24px 44px}
 .unified-product-hero{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:26px}
 .unified-product-preview,.unified-product-intro{grid-column:auto;grid-row:auto}
 .unified-product-preview{padding:36px 30px 20px}
 .unified-product-sample-stack{max-width:300px}
 .unified-product-intro h1{font-size:29px}
 .unified-product-catch{font-size:20px}
 .unified-product-facts{gap:12px}
 .unified-product-facts>div{flex-basis:120px}
 .unified-product-section{margin-top:34px}
 .unified-product-section h2{font-size:23px}
 .unified-product-contents .purchase-contents-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .unified-product-contents .purchase-contents-grid>section{padding:20px}
 .unified-product-purpose .recreation-aim-block{padding:22px}
 .unified-product-purpose .recreation-aim-list{grid-template-columns:minmax(0,1fr);gap:0}
 .unified-product-components ul{grid-template-columns:minmax(0,1fr)}
 .unified-product-preview .sample-fan-six{grid-template-columns:repeat(2,minmax(0,1fr))}
 .unified-product-recommend,.unified-product-support,.unified-product-printing,.unified-product-limits{padding:22px}
 .unified-product-purchase{grid-template-columns:minmax(0,1fr);gap:10px}
 .unified-product-purchase>p{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
 .unified-product-sample-stack .unified-product-backing-sheet,.unified-product-sample-stack .sample-image-button{transition:none!important;animation:none!important}
 .unified-product-sample-stack:is(:hover,:focus-within) .unified-product-backing-sheet:nth-child(1){transform:translate(-6%,-6%) rotate(-5deg)}
 .unified-product-sample-stack:is(:hover,:focus-within) .unified-product-backing-sheet:nth-child(2){transform:translate(6%,-3%) rotate(5deg)}
 .unified-product-sample-stack:is(:hover,:focus-within) .sample-image-button{transform:none}
}

/* Short product explanations stay outside the sample paper itself. */
.word-sample-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 0;text-align:left}
.word-sample-benefits>div{border:1px solid #d2dfd6;border-radius:8px;padding:10px 12px;background:#fbfdfb}
.word-sample-benefits dt{font-size:12px;font-weight:700;color:#2e624d;line-height:1.6}
.word-sample-benefits dd{margin:3px 0 0;font-size:11px;line-height:1.7;color:#506d5e}
.word-use-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;padding:0!important;margin:18px 0 0!important;list-style:none}
.word-use-cases li{position:relative;padding-left:22px;font-size:14px;line-height:1.8}
.word-use-cases li::before{content:"✓";position:absolute;left:0;color:#347a5c;font-weight:700}
@media(max-width:700px){.word-use-cases{grid-template-columns:1fr;gap:10px}.word-sample-benefits>div{padding:8px}}

/* Catalog pairs differ intentionally from detail-only stacks. */
.sample-fan.catalog-paired-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:auto;max-width:620px;margin:0 auto;padding:12px;overflow:visible;scroll-snap-type:none;align-items:center}
.catalog-paired-stage .sample-image-button{width:100%;min-width:0}
.catalog-paired-stage .sample-image-button img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.catalog-sample-label{display:flex;align-items:center;justify-content:center;min-height:38px;padding:5px 6px;font-size:11px;line-height:1.6;font-weight:700;color:#2c644d}
.catalog-paired-stage .sample-image-button>small{font-size:9px!important;line-height:1.6;padding:4px 3px!important}
.catalog-paired-stage .sample-image-button:focus-visible{outline:3px solid #287b61;outline-offset:4px}

/* Catalog v66: the full-size fan owns its natural height. Fixed legacy rows
   made the paper overlap the description/actions and stretched status badges. */
@media(min-width:701px){
 .product-preview .resource-card:not([data-purchase-type=bundle]){display:flex;flex-direction:column;gap:14px;align-items:stretch}
 .product-preview .resource-card:not([data-purchase-type=bundle])>.resource-state{align-self:flex-start;flex:none}
 .product-preview .resource-card:not([data-purchase-type=bundle])>h3{margin:0;overflow-wrap:anywhere}
 .product-preview .catalog-single-preview{display:block;width:100%;margin:8px 0;min-height:0}
 .product-preview .unified-product-preview{flex:none;min-width:0}
 .product-preview .unified-product-preview>figcaption{margin-top:18px;text-align:left}
 .product-preview .resource-card:not([data-purchase-type=bundle])>.kotoba-price{margin:0!important}
 .product-preview .resource-card:not([data-purchase-type=bundle])>.product-card-actions{margin:0}
 .product-preview .resource-card:not([data-purchase-type=bundle])>.product-plan-note{margin:0!important}
}


/* Exercise bundle only: two genuine three-sheet stacks; six-recreation and
   all single-product stacks keep their existing rules and approved fronts. */
.sample-fan.exercise-bundle-fan,.unified-product-preview .sample-fan.exercise-bundle-fan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;height:auto;max-width:620px;margin:26px auto;padding:24px 26px 16px;overflow:visible;align-items:start}
.exercise-bundle-stack{min-width:0;position:relative;isolation:isolate}
.exercise-bundle-label{display:flex;align-items:center;justify-content:center;min-height:38px;margin:0 0 32px;text-align:center;font-size:13px;line-height:1.6;color:#2b5b48}
.exercise-bundle-stack .unified-product-sample-stack{width:calc(100% - 24px);max-width:none;margin:0 auto}
.exercise-bundle-stack .sample-image-button{position:relative;z-index:3;display:block;width:100%;padding:0;border:0;border-radius:5px;background:#fff;box-shadow:0 8px 22px #244a3b20;transition:transform .32s ease;cursor:pointer;color:#587465}
.exercise-bundle-stack .sample-image-button img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:4px 4px 0 0}
.exercise-bundle-stack .sample-image-button>small{display:block;padding:8px 4px;font-size:10px;line-height:1.6}
.exercise-bundle-stack .sample-image-button:focus-visible{outline:3px solid #287b61;outline-offset:4px}
@media(max-width:700px){.sample-fan.exercise-bundle-fan,.unified-product-preview .sample-fan.exercise-bundle-fan{gap:22px;padding:24px 12px 12px;margin:20px auto}.exercise-bundle-label{min-height:38px;margin-bottom:30px;font-size:11px}.exercise-bundle-stack .sample-image-button>small{font-size:9px;padding:7px 3px}}
@media(prefers-reduced-motion:reduce){.exercise-bundle-stack .sample-image-button{transition:none!important}}

/* Approved recreation names: keep true quantities distinct from the title. */
.product-contents-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px;max-width:100%}
.product-contents-badges span{display:inline-block;padding:5px 10px;border:1px solid #bdd9d1;border-radius:999px;background:#e8f4ef;color:#174f43;font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.unified-product-intro h1,.resource-card h3{overflow-wrap:anywhere;word-break:normal}

.recipe-series-entry{grid-column:1/-1;border:1px solid #b8cdc3;border-radius:18px;padding:clamp(18px,3vw,30px);background:#f5f8f4}.recipe-series-entry .product-card-actions{display:flex;flex-wrap:wrap;gap:12px}.recipe-series-entry h3{margin-top:0}

/* v65: pagination stays visible while viewing a long sample; no fake single-page controls. */
.sample-dialog-controls{position:sticky;top:50px;z-index:7;background:#fff;padding:8px 0}
.sample-dialog-controls[hidden]{display:none!important}
@media(max-width:700px){.unified-product-sample-stack:is(:hover,:focus-within) .unified-product-backing-sheet:nth-child(1){transform:translate(-8%,-8%) rotate(-6deg)}.unified-product-sample-stack:is(:hover,:focus-within) .unified-product-backing-sheet:nth-child(2){transform:translate(8%,-5%) rotate(6deg)}}

/* Upper set only: a fourth actual record sheet peeks out, hero size unchanged. */
[data-sample-product="exercise-upper-expanded"] .unified-product-backing-sheet:nth-child(3){z-index:2;transform:translate(13%,-1%) rotate(9deg)}
[data-sample-product="exercise-upper-expanded"] .unified-product-sample-stack:focus-within .unified-product-backing-sheet:nth-child(3){transform:translate(19%,-2%) rotate(12deg)}
@media(hover:hover) and (pointer:fine){[data-sample-product="exercise-upper-expanded"] .unified-product-sample-stack:hover .unified-product-backing-sheet:nth-child(3){transform:translate(19%,-2%) rotate(12deg)}}
@media(max-width:700px){[data-sample-product="exercise-upper-expanded"] .unified-product-sample-stack:is(:hover,:focus-within) .unified-product-backing-sheet:nth-child(3){transform:translate(15%,-1%) rotate(10deg)}}
@media(prefers-reduced-motion:reduce){[data-sample-product="exercise-upper-expanded"] .unified-product-sample-stack:is(:hover,:focus-within) .unified-product-backing-sheet:nth-child(3){transform:translate(13%,-1%) rotate(9deg)}}

.exercise-inventory{padding:18px 0 12px;margin-top:8px;border-bottom:1px solid #d9e4dc}.exercise-inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.exercise-inventory h2{font-size:21px;margin:0}.exercise-inventory-heading>span,.exercise-inventory>p{font-size:12px;color:#587465}.exercise-inventory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.exercise-inventory-card{margin:0;padding:8px;background:#f4f7f3;border:1px solid #dce5dd;border-radius:7px;min-width:0}.exercise-inventory-card img{display:block;width:auto;height:115px;max-width:100%;object-fit:contain;margin:0 auto 6px}.exercise-inventory-card figcaption{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.exercise-inventory-card figcaption span{display:block;color:#769080;font-size:10px}.exercise-inventory .exercise-inventory-note{margin-bottom:0}@media(max-width:700px){.exercise-inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.exercise-inventory-card{padding:5px}.exercise-inventory-card img{height:94px}.exercise-inventory h2{font-size:18px}}

/* Real exercise back pages are interactive targets, with visible keyboard focus. */
:is([data-sample-product="exercise-upper-expanded"],[data-sample-product="exercise-trunk"],[data-sample-product="exercise-lower-expanded"]) button.unified-product-backing-sheet{pointer-events:auto;cursor:zoom-in;padding:0}
button.unified-product-backing-sheet:focus-visible{outline:3px solid #357b5d;outline-offset:3px}
.exercise-inventory-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:3px}.exercise-inventory-open:focus-visible{outline:3px solid #357b5d;outline-offset:3px}

/* First open fits the complete paper. Only the paper viewport scrolls when zoomed. */
.sample-dialog{box-sizing:border-box;width:min(1000px,96vw);height:94dvh;max-height:94dvh;overflow:hidden;padding:14px}
.sample-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px}
.sample-dialog-head,.sample-dialog-controls{position:static;margin:0;padding:0;z-index:auto}
.sample-dialog-head{min-height:44px}.sample-dialog-head h2{max-height:3.2em;overflow:auto}
.sample-dialog-controls{min-height:44px;background:transparent}.sample-dialog-controls[hidden]{display:none!important}
.sample-dialog-viewport{min-width:0;min-height:0;overflow:hidden;background:#e7ece7;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
.sample-dialog-viewport img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;cursor:zoom-in}
.sample-dialog-viewport[data-zoomed="true"]{overflow-x:hidden;overflow-y:auto}
.sample-dialog-viewport[data-zoomed="true"] img{width:100%;max-width:100%;height:auto;object-fit:contain;cursor:zoom-out}
.sample-dialog-viewport img:focus-visible{outline:3px solid #357b5d;outline-offset:-3px}
.sample-dialog-note{font-size:11px;line-height:1.5;margin:0;max-height:3em;overflow:auto}
@media(max-width:700px){.sample-dialog{width:96vw;height:96dvh;max-height:96dvh;padding:10px;gap:6px}.sample-dialog button{padding:8px 10px}.sample-dialog-head h2{font-size:12px}.sample-dialog-controls button{font-size:10px}.sample-dialog-note{font-size:10px}}

.sample-dialog-head{grid-row:1}.sample-dialog-controls{grid-row:2}.sample-dialog-viewport{grid-row:3}.sample-dialog-note{grid-row:4}

[data-sample-product^="newsletter-"] button.unified-product-backing-sheet{pointer-events:auto;cursor:zoom-in;padding:0}

/* Catalog previews are native links; product pages retain the sample viewer. */
.resource-card a.sample-image-button,.resource-card a.sample-sheet{color:inherit;text-decoration:none;cursor:pointer}
.resource-card a.unified-product-backing-sheet{pointer-events:auto;cursor:pointer}
.resource-card a.sample-image-button:focus-visible,.resource-card a.sample-sheet:focus-visible{outline:3px solid #357b5d;outline-offset:3px}

/* v75: one page scroll, viewport-aware following card and bottom action row.
   Tall cards scroll naturally until their bottom fits, then follow the list. */
.product-preview .resource-card>.product-card-actions,.product-menu-entry>.resource-card>.product-card-actions{margin:18px 0 0;padding:14px 0 0;border-bottom:0;border-top:1px solid #d9e5df;gap:8px;background:#fff;display:flex;flex-wrap:wrap}
.product-card-actions .catalog-buy-now{border:1px solid #c6d2ca;border-radius:7px;padding:10px 15px;background:#edf1ed;color:#718277;cursor:not-allowed;font-weight:700;min-height:44px}
.product-card-actions>.product-detail-link{gap:8px;padding:10px 15px}
@media(min-width:701px){
 .product-explorer{overflow:visible}
 .product-explorer > .product-preview{position:sticky;top:var(--catalog-sticky-top,16px);max-height:none;overflow:visible;align-self:start}
 .product-preview .resource-card>.product-card-actions{position:sticky;bottom:16px;z-index:20;box-shadow:0 -8px 12px #fff;background:#fff;padding:12px 0;margin-top:18px}
 .product-preview .resource-card[data-purchase-type=bundle]>.product-card-actions{background:#fffaf2;box-shadow:0 -8px 12px #fffaf2}
}
@media(max-width:700px){.product-menu-entry>.resource-card>.product-card-actions{position:static}.product-card-actions>*{flex:1 1 120px;text-align:center;justify-content:center}}

/* v76: fit the whole selected paper + actions inside one sticky viewport unit. */
@media(min-width:701px){
 .product-explorer > .product-preview.catalog-fit-disabled{position:static}
 .product-preview .resource-card,.product-preview .resource-card:not([data-purchase-type=bundle]){position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;min-height:0}
 .product-preview .resource-card>h3{margin:0;padding-right:108px;font-size:22px;line-height:1.35}
 .product-preview .resource-card>.resource-state{align-self:flex-start;font-size:11px;padding:3px 8px;min-height:0}
 .product-preview .resource-card>.product-card-actions{position:static!important;display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:4px 0 0!important;padding:0;box-shadow:none!important;flex:none}
 .product-preview .product-card-actions>*{min-width:0;width:100%;min-height:44px;font-size:12px;line-height:1.35;padding:8px 5px;justify-content:center;text-align:center}
 .product-preview .product-card-actions>.product-detail-link{font-size:15px;background:#24694f;color:white}
 .product-preview .resource-card>.unified-product-preview{margin:6px 0!important;padding:0;min-height:0;overflow:visible}
 .catalog-fit-scene{transform-origin:top center;display:flow-root}
 .product-preview .catalog-fit-scene>.sample-fan{margin:0 auto;padding-top:26px;padding-bottom:10px}
 .product-preview .catalog-fit-scene>figcaption{font-size:10px;line-height:1.4;margin:4px 0 0}
 .product-preview .resource-card>p:not(.product-quick-note){font-size:12px;line-height:1.5;margin:0!important}
 .product-preview .resource-card>.kotoba-price{font-size:16px!important;line-height:1.4}
 .product-preview .resource-card>.product-contents-badges{position:absolute;right:20px;top:20px;margin:0;max-width:100px;font-size:11px}
}
@media(max-width:700px){.catalog-fit-scene{transform:none!important}.product-menu-entry>.resource-card>.product-card-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px}.product-card-actions>*{min-width:0;padding:8px 4px;font-size:11px}.product-card-actions>.product-detail-link{font-size:13px}}

@media(min-width:701px){
 .product-preview .catalog-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:start}
 .product-preview .catalog-card-heading>h3{grid-column:1;grid-row:2;margin:0;font-size:22px;line-height:1.35}
 .product-preview .catalog-card-heading>.resource-meta,.product-preview .catalog-card-heading>.resource-state{grid-column:1;grid-row:1;justify-self:start;font-size:11px;min-height:0;margin:0}
 .product-preview .catalog-card-heading>.resource-state{padding:3px 8px}
 .product-preview .catalog-card-heading>.product-contents-badges{position:static;grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:0;max-width:118px}
 .product-preview .catalog-card-heading>.product-contents-badges span{font-size:10px;line-height:1.3;padding:4px 7px}
 .product-preview .resource-card>.kotoba-chips{font-size:10px;line-height:1.35;margin:0;gap:4px}
}
@media(max-width:700px){.product-menu-entry>.resource-card>.product-card-actions>*{font-size:11px;line-height:1.35;padding:8px 4px;min-width:0;min-height:44px}.product-menu-entry>.resource-card>.product-card-actions>.product-detail-link{font-size:13px}}
/* v78: remove legacy separator without changing the approved sticky dimensions. */
.product-preview .resource-card>.product-card-actions,.product-menu-entry>.resource-card>.product-card-actions{border-top-color:transparent!important;box-shadow:none!important}
.product-card-actions>.product-detail-link,.product-preview .product-card-actions>.product-detail-link{background:#285f87;color:#fff;border-color:#285f87}
.product-card-actions>.product-detail-link:hover{background:#204d6e;color:#fff;border-color:#204d6e}
.product-card-actions>.cart-add{background:#24694f;color:#fff;border-color:#24694f}
.product-card-actions>.cart-add:not(:disabled):hover{background:#1b513c;color:#fff;border-color:#1b513c}
.product-card-actions>.cart-add:disabled{background:#e3eee7;color:#496a59;border-color:#adc3b5;border-style:dashed;opacity:1;cursor:not-allowed}
.product-card-actions>.catalog-buy-now:disabled{background:#f4e1cf;color:#825027;border-color:#c59b77;border-style:dashed;opacity:1;cursor:not-allowed}

/* v79: direct sample navigation, independent of the catalog/detail link. */
.sample-dialog[data-has-thumbnails="true"]{grid-template-columns:minmax(0,1fr) 174px}
.sample-dialog-head,.sample-dialog-controls,.sample-dialog-note{grid-column:1 / -1}
.sample-dialog-viewport{grid-column:1}
.sample-dialog-navigator{grid-column:2;grid-row:3;min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.sample-thumbnail-directions{display:flex;gap:6px;flex:none}
.sample-thumbnail-directions button{flex:1;min-height:36px;padding:5px 8px;font-size:12px}
.sample-thumbnail-directions button[aria-pressed="true"]{background:#285f87;color:#fff;border-color:#285f87}
.sample-thumbnail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:6px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:3px}
.sample-dialog .sample-thumbnail{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:64px;padding:4px;border:2px solid transparent;border-radius:5px;background:#fff;line-height:1.3}
.sample-thumbnail img{display:block;width:100%;height:60px;object-fit:contain}
.sample-thumbnail span{font-size:11px;color:#244e42}
.sample-dialog .sample-thumbnail[aria-current="page"]{border-color:#285f87;background:#e5f1fb;box-shadow:0 0 0 1px #285f87}
.sample-dialog .sample-thumbnail:focus-visible{outline:3px solid #c36d25;outline-offset:1px}
@media(max-width:700px){
 .sample-dialog[data-has-thumbnails="true"]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto}
 .sample-dialog-navigator{grid-column:1;grid-row:4;gap:4px;max-height:128px}
 .sample-dialog[data-has-thumbnails="true"] .sample-dialog-note{grid-row:5}
 .sample-thumbnail-directions{align-self:flex-start}
 .sample-thumbnail-directions button{min-height:30px;padding:3px 12px;font-size:11px}
 .sample-thumbnail-list{display:flex;overflow-x:auto;overflow-y:hidden;gap:6px;padding:3px;max-height:91px}
 .sample-dialog .sample-thumbnail{flex:0 0 58px;min-height:72px;padding:3px}
 .sample-thumbnail img{height:49px}
}
/* v80: quiet, consistent action styling; approved 2:1:1 layout and fit remain. */
.products-page .product-preview .product-card-actions>*,.products-page .product-menu-entry>.resource-card>.product-card-actions>*{min-height:44px;border-width:1px;border-style:solid;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.01em;box-shadow:none;transition:background-color .18s ease,border-color .18s ease}
.products-page .product-card-actions>.product-detail-link{background:#e8f0f5;color:#294c64;border-color:#9eb4c3}
.products-page .product-card-actions>.product-detail-link:hover{background:#dce8f0;color:#213f54;border-color:#839eaf}
.products-page .product-card-actions>.cart-add{background:#fafbf9;color:#3e594a;border-color:#bac9bf}
.products-page .product-card-actions>.cart-add:not(:disabled):hover{background:#edf2ed;color:#304a3b;border-color:#98afa0}
.products-page .product-card-actions>.cart-add:disabled,.products-page .product-card-actions>.catalog-buy-now:disabled{background:#f1f3f0;color:#5e6a62;border-color:#cbd2cb;border-style:solid;opacity:1;cursor:not-allowed}
.products-page .product-card-actions>*:focus-visible{outline:2px solid #527994;outline-offset:3px}
@media(max-width:700px){.products-page .product-menu-entry>.resource-card>.product-card-actions>*{font-size:11px;padding:8px 5px}}

/* v114: live controls must not retain preparation-only cursors or colors. */
.product-buy-actions .buy-now:not(:disabled),.product-card-actions .catalog-buy-now:not(:disabled),.cart-checkout:not(:disabled){background:#256851;color:#fff;border-color:#256851;cursor:pointer!important}
.product-buy-actions .buy-now:not(:disabled):hover,.product-card-actions .catalog-buy-now:not(:disabled):hover,.cart-checkout:not(:disabled):hover{background:#19543f;color:#fff}
.product-buy-actions .buy-now:focus-visible,.product-card-actions .catalog-buy-now:focus-visible,.cart-checkout:focus-visible{outline:3px solid #9b7029;outline-offset:3px}
.product-buy-actions .buy-now:disabled,.product-card-actions .cart-add:disabled,.product-card-actions .catalog-buy-now:disabled,.cart-checkout:disabled{cursor:not-allowed!important}
/* Keep the approved sticky travel range for every nonempty catalog, independent of product count. */
@media(min-width:701px){.products-page .product-explorer-nonempty{min-height:calc(100vh + 240px)}}

/* v115: compact cart action, retaining a 44px pointer/touch target. */
.cart-sidebar .cart-checkout{display:block;width:auto;max-width:100%;min-height:44px;margin-left:auto;padding:9px 14px;font-size:13px;line-height:1.4}

/* v126: shared calm list/detail actions; preserve existing layout and handlers. */
.products-page .product-preview .product-card-actions>*,.products-page .product-menu-entry>.resource-card>.product-card-actions>*,.unified-product-detail .product-buy-actions>button{box-sizing:border-box;min-height:44px;border-width:1px;border-style:solid;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.01em;box-shadow:none;transition:background-color .18s ease,border-color .18s ease}
.products-page .product-card-actions>.product-detail-link{background:#ddebe8;color:#234d46;border-color:#93afa9}
.products-page .product-card-actions>.product-detail-link:hover{background:#cddfda;color:#193e38;border-color:#759a90}
.products-page .product-card-actions>.cart-add,.unified-product-detail .product-buy-actions>.cart-add{background:#f1f6f3;color:#32574b;border-color:#9fb8ad}
.products-page .product-card-actions>.cart-add:not(:disabled):not([aria-busy="true"]):hover,.unified-product-detail .product-buy-actions>.cart-add:not(:disabled):not([aria-busy="true"]):hover{background:#e1eee7;color:#24483c;border-color:#819f91}
.products-page .product-card-actions>.catalog-buy-now,.unified-product-detail .product-buy-actions>.buy-now{background:#24665f;color:#ffffff;border-color:#24665f;cursor:pointer}
.products-page .product-card-actions>.catalog-buy-now:not(:disabled):not([aria-busy="true"]):hover,.unified-product-detail .product-buy-actions>.buy-now:not(:disabled):not([aria-busy="true"]):hover{background:#1c504a;color:#ffffff;border-color:#1c504a}
.products-page .product-card-actions>button:disabled,.unified-product-detail .product-buy-actions>button:disabled{background:#f1f3f0;color:#5e6a62;border-color:#cbd2cb;opacity:1;cursor:not-allowed!important}
.products-page .product-card-actions>*:focus-visible,.unified-product-detail .product-buy-actions>button:focus-visible{outline:2px solid #24665f;outline-offset:3px}
.products-page .product-card-actions>:is(.cart-add,.catalog-buy-now)[aria-busy="true"],.products-page .product-card-actions>:is(.cart-add,.catalog-buy-now)[aria-busy="true"]:hover,.unified-product-detail .product-buy-actions>:is(.cart-add,.buy-now)[aria-busy="true"],.unified-product-detail .product-buy-actions>:is(.cart-add,.buy-now)[aria-busy="true"]:hover{background:#f1f3f0;color:#5e6a62;border-color:#cbd2cb;cursor:progress!important}
@media(max-width:700px){.products-page .product-menu-entry>.resource-card>.product-card-actions>*{font-size:11px;padding:8px 5px}}

/* A connected YouTube link is actionable; disabled button styling is unchanged. */
a.social-button.social-youtube[href]{cursor:pointer}

/* Shared purchase preparation state: all approved product controls. */
button[data-buy-now][aria-busy="true"]::before,.cart-checkout[aria-busy="true"]::before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.4em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.08em;animation:purchase-preparing-spin .8s linear infinite}
@keyframes purchase-preparing-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button[data-buy-now][aria-busy="true"]::before,.cart-checkout[aria-busy="true"]::before{animation:none}}

.cart-checkout[aria-busy="true"]{cursor:progress!important}

/* Sample inventory only: the approved page/hero/listing width is unchanged. */
.exercise-inventory[data-sample-product="exercise-upper-expanded"],.exercise-inventory[data-sample-product="exercise-lower-expanded"],.exercise-inventory.sample-inventory-compact{width:100%;max-width:1000px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.sample-inventory-compact .exercise-inventory-card .sample-image-button{display:block;padding:0;background:transparent;color:inherit}
.sample-inventory-compact .sample-inventory-summary{display:block;font-size:10px;line-height:1.5;color:#587465;margin-top:3px}
/* Equal, consistently inset fact cells for the two existing exercise heroes only. */
.unified-product-detail[data-product-id="exercise-upper-expanded"] .unified-product-hero .unified-product-facts,.unified-product-detail[data-product-id="exercise-lower-expanded"] .unified-product-hero .unified-product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.unified-product-detail[data-product-id="exercise-upper-expanded"] .unified-product-hero .unified-product-facts>div,.unified-product-detail[data-product-id="exercise-lower-expanded"] .unified-product-hero .unified-product-facts>div{box-sizing:border-box;padding-inline:12px;text-align:left}

/* Shared alignment for the restored kotoba summary; outer page width unchanged. */
.unified-product-detail[data-product-id="kotoba-hana-print"] .unified-product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.unified-product-detail[data-product-id="kotoba-hana-print"] .unified-product-facts>div{box-sizing:border-box;padding-inline:12px;text-align:left}
.delivery-file-details{margin:24px 0}.delivery-file-details summary{cursor:pointer;font-weight:700;padding:12px 0}

/* Mobile review only. No desktop rule, copy change, purchase or data behavior. */
@media (max-width: 700px) {
  body > header .navlinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2px 4px;
    overflow: visible;
    padding-bottom: 6px;
  }
  body > header .navlinks .nav-tab {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Share the brand row; use the browser's safe inset, never a device height.
     A fixed control must stay below the safe edge as browser chrome changes. */
  body.has-cart-sidebar > header .nav {
    padding-top: calc(18px + env(safe-area-inset-top, 0px));
  }
  body.has-cart-sidebar > header .brand {
    max-width: calc(100% - 120px);
    overflow-wrap: anywhere;
  }
  body.has-cart-sidebar > .cart-mobile-toggle {
    position: fixed;
    top: calc(12px + env(safe-area-inset-top, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: auto;
    min-height: 44px;
  }
  body.has-cart-sidebar > .cart-sidebar {
    top: calc(68px + env(safe-area-inset-top, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    max-width: calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
    max-height: calc(100dvh - 88px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  }

  body.about-page .intro-shell { width: calc(100% - 40px); }
  body.about-page .intro-story section { padding: 26px 0 28px; }
  body.about-page .intro-story h2 { margin-bottom: 16px; line-height: 1.6; }
  body.about-page .intro-story p {
    margin: 0;
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: normal;
    word-spacing: normal;
    text-align: start;
    text-align-last: auto;
    text-wrap: wrap;
    word-break: normal;
    overflow-wrap: break-word;
    line-break: strict;
  }
  body.about-page .intro-story p + p { margin-top: 1.15em; }
  body.about-page .intro-story .intro-phrase { display: inline; }

  /* Group the requested words without a fixed width or nowrap overflow. */
  .magazine-home #audience-heading .mobile-heading-phrase,
  .products-page .page-intro h1 .mobile-heading-phrase {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: top;
  }

  /* Keep the four photo tabs, just reduce their vertical footprint. */
  body.products-page #products-resources .resource-image-tab {
    min-height: 92px;
    padding: 0;
  }
  body.products-page #products-resources .resource-tab-copy {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    padding: 32px 10px 9px;
    gap: 1px;
  }
  body.products-page #products-resources .resource-tab-copy strong {
    font-size: 15px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
  body.products-page #products-resources .resource-tab-copy small {
    font-size: 11px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  body.products-page #products-resources .resource-tab-state {
    top: 5px;
    right: 6px;
    padding: 1px 7px;
    font-size: 10px;
    line-height: 1.8;
  }

  /* Keep mobile action labels readable: equal, centered, compact rows. */
  body.products-page #products-resources .resource-card > .product-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
    gap: 8px;
    align-items: stretch;
  }
  body.products-page #products-resources .resource-card > .product-card-actions > * {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    height: auto;
    padding: 9px 14px;
    font-size: 14px;
    line-height: 1.5;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-align: center;
  }

  /* Mobile genres share equal columns, including the student minor genres. */
  body.products-page #products-resources .catalog-filters { min-width: 0; }
  body.products-page #products-resources .catalog-filter-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    min-width: 0;
  }
  body.products-page #products-resources .catalog-filter-label {
    white-space: nowrap;
    word-break: keep-all;
  }
  body.products-page #products-resources .catalog-filters .resource-kind-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 6px;
    min-width: 0;
  }
  body.products-page #products-resources .catalog-filters .resource-kind-filters button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    padding: 5px 7px;
    white-space: normal;
  }
  body.products-page #products-resources .catalog-filters .catalog-filter-name {
    word-break: keep-all;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}

/* Shared purchase-sample cards: one geometry for legacy and unified products. */
.exercise-inventory .exercise-inventory-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:12px}
.exercise-inventory .exercise-inventory-grid>:is(.exercise-inventory-card,.sample-image-button){box-sizing:border-box;flex:0 0 136px;width:136px;max-width:100%;height:170px;min-height:170px;min-width:0;margin:0;padding:8px;border:1px solid #dce5dd;border-radius:7px;background:#f4f7f3;color:inherit;text-align:center;font:inherit;overflow:hidden}
.exercise-inventory .exercise-inventory-grid>.sample-image-button{display:flex;flex-direction:column;align-items:center}
.exercise-inventory .exercise-inventory-card>:is(.sample-image-button,.exercise-inventory-open){display:block;width:100%;height:115px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit}
.exercise-inventory .exercise-inventory-grid :is(.exercise-inventory-card,.sample-image-button,.exercise-inventory-open)>img{display:block;flex:none;width:100%;height:115px;max-width:100%;object-fit:contain;object-position:center;margin:0}
.exercise-inventory .exercise-inventory-grid :is(.exercise-inventory-card>figcaption,.sample-image-button>small){box-sizing:border-box;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;width:100%;height:30px;min-height:30px;max-height:30px;margin:6px 0 0;padding:0;font-size:11px;font-weight:400;line-height:15px;text-align:center;overflow:hidden;overflow-wrap:anywhere}
.exercise-inventory .exercise-inventory-card>figcaption>span,.exercise-inventory .exercise-inventory-card .sample-inventory-summary{display:none}

.exercise-inventory .exercise-inventory-card>figcaption>b{display:inline;font:inherit;line-height:inherit;min-height:0}
.exercise-inventory .exercise-inventory-card .sample-role{display:none}

/* Mobile product titles follow the page; details remain in normal document flow. */
@media (max-width: 700px) {
  body.products-page #products-resources .product-menu-section { overflow: visible; }
  body.products-page #products-resources .product-menu-entry + .product-menu-entry { margin-top: 12px; border-top: 1px solid var(--group-line, #ccdfd1); }
  body.products-page #products-resources .product-menu-entry:last-child > .product-pick,
  body.products-page #products-resources .product-menu-entry:last-child > .resource-card { border-radius: 0 0 11px 11px; }
  body.products-page #products-resources .product-pick[aria-expanded=true] {
    position: sticky;
    top: env(safe-area-inset-top, 0px);
    z-index: 20;
    min-height: 60px;
    padding: 7px max(80px, calc(68px + env(safe-area-inset-right, 0px))) 7px 10px;
    background: var(--group-active, #e0efe5);
    border-left-color: var(--group-accent, #267256);
    border-radius: 0;
    box-shadow: 0 2px 3px #193f3215;
  }
  body.products-page #products-resources .product-menu-entry:last-child > .product-pick[aria-expanded=true] { border-radius: 0; }
  body.products-page #products-resources .product-pick[aria-expanded=true]::before {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: env(safe-area-inset-top, 0px);
    background: #fff;
    pointer-events: none;
  }
  body.products-page #products-resources .product-pick[aria-expanded=true] > span:first-child { min-width: 0; }
  body.products-page #products-resources .product-pick[aria-expanded=true] strong { font-size: 13px; line-height: 1.4; }
  body.products-page #products-resources .product-pick[aria-expanded=true] small { display: none; }
  body.products-page #products-resources .product-pick[aria-expanded=true] .product-pick-marker {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--group-accent, #267256);
  }
}

/* Mobile sample cards: three equal columns; desktop card dimensions stay above. */
@media (max-width:700px) {
 .exercise-inventory .exercise-inventory-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  align-items:stretch;justify-content:normal;
 }
 .exercise-inventory .exercise-inventory-grid>:is(.exercise-inventory-card,.sample-image-button) {
  width:100%;min-width:0;max-width:none;height:auto;min-height:0;
 }
 .exercise-inventory .exercise-inventory-card>:is(.sample-image-button,.exercise-inventory-open) {
  width:100%;height:auto;aspect-ratio:118/115;
 }
 .exercise-inventory .exercise-inventory-grid :is(.exercise-inventory-card,.sample-image-button,.exercise-inventory-open)>img {
  width:100%;height:auto;aspect-ratio:118/115;object-fit:contain;
 }
 .exercise-inventory .exercise-inventory-grid :is(.exercise-inventory-card>figcaption,.sample-image-button>small) {
  width:100%;min-width:0;
 }
}
