/* Shared page navigation and a browse-first library. */
.concern-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.concern-card{text-align:left;align-items:flex-start;flex-direction:column;min-width:0;appearance:none;font:inherit}.concern-card>span{display:block}.concern-action{font-size:13px;font-weight:600;line-height:1.4;color:#774221;margin-top:15px}.concern-card strong{font-size:18px}.concern-card small{font-size:15px}.welcome-copy h1{font-size:clamp(43px,4.7vw,64px)}.welcome-description{font-size:20px;line-height:1.6}@media(max-width:1100px){.concern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.concern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.concern-card:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:16px}.concern-card:last-child>span{flex:1}.concern-card strong{font-size:17px}.concern-card small{font-size:14px}.welcome-copy h1{font-size:40px}.welcome-description{font-size:18px}}@media(max-width:350px){.welcome-copy h1{font-size:35px}}
.primary-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px 0 12px;max-width:720px;margin-inline:auto}
.primary-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 8px;border:1px solid transparent;border-radius:12px;text-align:center;text-decoration:none;color:var(--muted);font-size:15px;line-height:1.35}
.primary-nav a[aria-current=page]{background:#f1eadc;border-color:#dacbad;color:#533e24;font-weight:600}
.primary-nav a:hover{background:#f6f0e5;color:var(--ink)}
.primary-nav a:focus-visible,.guide-card summary:focus-visible,.library-tools summary:focus-visible{outline:3px solid #855122;outline-offset:3px}
.mantra-home{scroll-margin-top:175px;padding-block:40px}
.mantra-moments{scroll-margin-top:175px}
.mantra-home>.section-heading{margin-bottom:22px}
.library-tools{margin:0 0 16px;border:1px solid var(--line);border-radius:14px;background:#fffcf7;padding:13px 16px}
.library-tools[hidden]{display:none}
.library-tools>summary{cursor:pointer;color:var(--ink);font-size:15px;line-height:1.5;min-height:24px}
.library-tools .library-controls{margin-bottom:0}
.guide-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;border:0;border-radius:0;background:transparent;overflow:visible}
.guide-card{min-width:0;border:1px solid #e2d3bb;border-radius:18px;background:linear-gradient(145deg,#fffdfa,#faf4e8);overflow:hidden;scroll-margin-top:175px}
.guide-card+.guide-card{border-top:1px solid #e2d3bb}
.guide-card summary{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:start;gap:10px;padding:20px;min-height:178px}
.guide-card .guide-number{grid-column:1;grid-row:1;font-size:15px}
.guide-card .guide-plus{grid-column:2;grid-row:1;font-size:24px}
.guide-card-copy{grid-column:1/-1;min-width:0}
.guide-card summary strong{font-size:19px;line-height:1.4;overflow-wrap:anywhere}
.guide-card .guide-summary{font-size:15px;line-height:1.5;margin-top:9px}
.guide-card[open]{grid-column:1/-1;background:#fffdfa}
.guide-card[open] summary{min-height:0;border-bottom:1px solid var(--line)}
.guide-card[open] .guide-card-copy{grid-column:1;grid-row:2}
.guide-card .guide-reading{padding:0 26px 26px;max-width:820px}
.guide-card .guide-reading section{margin-top:24px}
.library-pagination[hidden]{display:none}
@media(max-width:760px){
 .primary-nav{width:calc(100% - 36px);gap:3px;padding-bottom:10px}
 .primary-nav a{font-size:13px;padding:9px 4px}
 .mantra-home{padding-block:28px}
 .guide-card-grid{gap:12px}
 .guide-card{border-radius:15px}
 .guide-card summary{padding:15px 13px;min-height:190px;gap:8px}
 .guide-card summary strong{font-size:17px;line-height:1.45}
 .guide-card .guide-summary{font-size:14px;line-height:1.5;margin-top:7px}
 .guide-card .guide-reading{padding:0 18px 22px}
 html[lang=hi] .guide-card summary strong{font-size:16px}
}
@media(max-width:370px){
 .primary-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
 .primary-nav a{min-height:40px;font-size:14px;padding:7px 5px}
 .guide-card-grid{gap:10px}
 .guide-card summary{padding:13px 11px}
 .guide-card summary strong{font-size:16px}
 .guide-card .guide-summary{font-size:13px}
 .mantra-home,.mantra-moments,.guide-card,[data-guide-library]{scroll-margin-top:200px}
}
@media print{.primary-nav,.library-tools{display:none!important}}

/* A quiet greeting and an uncluttered homepage. */
html[lang=en] .welcome-copy h1{font-size:clamp(39px,4.1vw,54px);line-height:1.16}
.namaste-word{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.namaste-sparkle{width:19px;height:21px;overflow:visible;fill:#b27429;vertical-align:middle}
.namaste-sparkle path{transform-box:fill-box;transform-origin:center}
.sparkle-main{animation:namaste-glint 2.4s ease-in-out 1 both}
.sparkle-small{animation:namaste-glint 2.4s .4s ease-in-out 1 both}
@keyframes namaste-glint{0%,100%{transform:scale(1);opacity:.8}40%{transform:scale(.65);opacity:.4}65%{transform:scale(1.16);opacity:1}}
.primary-nav--home{grid-template-columns:repeat(3,minmax(0,1fr));max-width:610px}

/* Native modal semantics retain focus containment and Escape behavior. */
html:has(dialog[open]){overflow:hidden}
#contact{position:fixed;inset:16px 16px 16px auto;margin:0;width:min(480px,calc(100% - 32px));height:calc(100dvh - 32px);max-height:none;max-width:none;border-radius:27px;background:#fffaf2;overflow:hidden;box-shadow:-15px 10px 60px #51321520}
#contact[open]{display:flex;flex-direction:column;animation:consultation-in .28s cubic-bezier(.22,.7,.25,1) both}
#contact::backdrop{background:#37291f50;backdrop-filter:blur(4px)}
#contact .dialog-head{flex:none;padding:28px;background:linear-gradient(135deg,#f7e8d0,#fffaf2);border-color:#e7d5b8}
#contact .dialog-head h2{font-size:32px;line-height:1.25;max-width:300px}
#contact .dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 28px max(28px,env(safe-area-inset-bottom))}
#contact-intro{margin:0 0 20px;line-height:1.6}
#contact .btn.primary{width:100%}
@keyframes consultation-in{from{transform:translateX(calc(100% + 20px));opacity:.5}to{transform:translateX(0);opacity:1}}
@keyframes consultation-up{from{transform:translateY(100%);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(max-width:760px){
 html[lang=en] .welcome-copy h1{font-size:34px}
 .primary-nav--home{grid-template-columns:repeat(3,minmax(0,1fr))}
 #contact{inset:auto 0 0;margin:0;width:100%;height:auto;max-height:90dvh;border-radius:26px 26px 0 0;border-bottom:0}
 #contact[open]{animation-name:consultation-up}
 #contact .dialog-head{padding:21px 22px 18px}
 #contact .dialog-head h2{font-size:27px}
 #contact .dialog-body{padding:18px 22px max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:350px){html[lang=en] .welcome-copy h1{font-size:31px}.primary-nav--home a{font-size:13px;min-height:49px}}
@media(prefers-reduced-motion:reduce){.namaste-sparkle path,#contact[open]{animation:none!important}}

.welcome-copy{container-type:inline-size}
.welcome-hero{min-height:0}
.hero-line{display:block;white-space:nowrap;font-size:clamp(18px,6.6cqw,46px);line-height:1.25}
.hero-line+em{font-size:clamp(18px,5.4cqw,38px)}
html.fit-type-ready .hero-line{font-size:clamp(31px,4.1vw,54px)}
html[lang=en] .welcome-description{font-size:19px}
.fit-type{text-wrap:balance}
p{text-wrap:pretty}
.primary-nav--home{grid-template-columns:1fr 1fr 1.2fr}
@media(min-width:371px) and (max-width:760px){.primary-nav:not(.primary-nav--home){grid-template-columns:.7fr 1fr 1fr 1.4fr}}
@media(max-width:760px){html.fit-type-ready .hero-line{font-size:34px}html[lang=en] .welcome-description{font-size:17px}}
@media(max-width:350px){html.fit-type-ready .hero-line{font-size:31px}}
