@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/space-grotesk-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/space-grotesk-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);color:var(--text-primary);font-family:var(--font-primary);font-size:var(--fs-xl);font-weight:500;line-height:1.5;min-height:100vh}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}[hidden]{display:none !important}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}ul[role="list"],ol[role="list"]{list-style:none;padding:0}h1,h2,h3,h4{font-weight:700;letter-spacing:-0.01em;line-height:1.12}h1{font-size:var(--fs-6xl)}h2{font-size:var(--fs-5xl)}h3{font-size:var(--fs-4xl)}h4{font-size:var(--fs-3xl)}p{max-width:70ch}.lead{font-size:var(--fs-2xl)}.muted{color:var(--text-muted)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.eyebrow{font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}[disabled],[aria-disabled="true"]{opacity:0.4;cursor:not-allowed}.icon{stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:absolute;left:var(--sp-3);top:-100px;z-index:200;background:var(--ink);color:var(--text-on-ink);padding:var(--sp-5) var(--sp-8);border-radius:var(--radius-xs);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:0.04em}.skip-link:focus{top:var(--sp-3);text-decoration:none}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:100ms !important;transition-property:opacity !important;scroll-behavior:auto !important}.marquee__track{animation:none !important;transform:none !important}}.container{max-width:1360px;margin-inline:auto;padding-inline:var(--sp-7)}@media (min-width:768px){.container{padding-inline:var(--sp-10)}}.section{padding-block:var(--sp-13)}@media (min-width:1024px){.section{padding-block:var(--sp-14)}}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-7);margin-bottom:var(--sp-10);flex-wrap:wrap}.band{border-block:1px solid var(--rule);background:transparent}.band + .band{border-top:0}.band__grid{display:grid}@media (min-width:900px){.band__grid--split{grid-template-columns:minmax(280px,420px) minmax(0,1fr)}.band__grid--split > * + *{border-left:1px solid var(--rule)}.band__grid--split-rev{grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.band__grid--split-rev > * + *{border-left:1px solid var(--rule)}.band__grid--split-rev .rail{grid-auto-columns:calc(100% / 3)}}@media (max-width:899px){.band__grid--split > * + *{border-top:1px solid var(--rule)}.band__grid--split-rev > * + *{border-top:1px solid var(--rule)}}.band__cell{padding:var(--sp-11) var(--sp-9)}@media (min-width:1024px){.band__cell{padding:var(--sp-12) var(--sp-11)}}.plate{display:inline-flex;align-items:center;gap:var(--sp-5);border:2px solid var(--ink);border-radius:var(--radius-md);padding:var(--sp-5) var(--sp-8);color:var(--ink);background:var(--paper);box-shadow:var(--shadow-print);font-size:var(--fs-4xl);font-weight:700;line-height:1}.plate .icon{flex-shrink:0}.h-link{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--ink);font-size:var(--fs-5xl);font-weight:700;letter-spacing:-0.01em}.h-link .icon{width:0.85em;height:0.85em;stroke-width:2.2}.h-link:hover{text-decoration:none;color:var(--ink-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);height:44px;padding-inline:var(--sp-8);border-radius:var(--radius-xs);border:1.5px solid var(--ink);font-size:var(--fs-md);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;cursor:pointer;text-decoration:none;white-space:nowrap;position:relative;transition:background-color var(--dur-instant) var(--ease),color var(--dur-instant) var(--ease),border-color var(--dur-instant) var(--ease)}.btn:hover{text-decoration:none}.btn:active{transform:translate(1px,1px)}.btn--sm{height:38px;padding-inline:var(--sp-7)}.btn--lg{height:52px;padding-inline:var(--sp-10)}.btn--full{width:100%}.btn--primary{background:var(--ink);color:var(--text-on-ink)}.btn--primary:hover{background:var(--ink-strong);border-color:var(--ink-strong)}.btn--secondary{background:var(--paper);color:var(--ink)}.btn--secondary:hover{background:var(--ink-tint)}.btn--ghost{background:none;border:none;color:var(--ink);padding-inline:var(--sp-3)}.btn--ghost:hover{text-decoration:underline}.btn--inverse{background:var(--surface-dark);color:var(--text-inverse);border-color:var(--surface-dark)}.btn--inverse:hover{background:#262626}.btn--destructive{background:var(--error);border-color:var(--error);color:var(--text-inverse)}.btn[aria-busy="true"] .btn__label{visibility:hidden}.btn[aria-busy="true"]::after{content:"";position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-pill);animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:none;color:var(--text-primary);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--dur-instant) var(--ease),background-color var(--dur-instant) var(--ease)}.icon-btn:hover{color:var(--ink);background:var(--ink-tint)}.icon-btn--cart{position:relative}.field{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-7)}.field > label{font-size:var(--fs-md);color:var(--text-muted)}.input,.select,.textarea{height:52px;padding-inline:var(--sp-6);background:var(--paper);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-xs);font-size:var(--fs-xl);width:100%;transition:border-color var(--dur-instant) var(--ease)}.textarea{height:auto;min-height:calc(3 * 1.5em + 2 * var(--sp-5));padding-block:var(--sp-5);resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-primary)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);outline:none}.input.is-error,.textarea.is-error{border-color:var(--error)}.field__error{font-size:var(--fs-sm);color:var(--error)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--paper) inset;-webkit-text-fill-color:var(--text-primary)}.announcement{background:var(--surface-dark);color:var(--text-inverse);font-size:var(--fs-sm);text-align:center;padding:var(--sp-3) var(--sp-7);display:flex;align-items:center;justify-content:center;gap:var(--sp-5);position:relative}.announcement__coupon{border:1px dashed var(--highlight);color:var(--highlight);border-radius:var(--radius-xs);padding:0 var(--sp-5);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;background:none;cursor:pointer;height:24px}.announcement__dismiss{width:28px;height:28px;min-width:0;color:var(--text-inverse);position:absolute;right:var(--sp-3)}.announcement__dismiss:hover{color:var(--highlight);background:none}.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--rule);transition:box-shadow var(--dur-instant) var(--ease)}.site-header.is-scrolled{box-shadow:var(--shadow-1)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7);height:68px}@media (min-width:768px){.site-header__inner{height:76px}}.brand-lockup{display:inline-flex;flex-direction:column;gap:2px;border-block:2px solid var(--ink);padding-block:4px;color:var(--ink);line-height:1}.brand-lockup:hover{text-decoration:none;color:var(--ink-strong)}.brand-lockup__name{font-size:var(--fs-3xl);font-weight:700;letter-spacing:0.02em;text-transform:uppercase;white-space:nowrap}.brand-lockup__tag{font-size:var(--fs-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.site-nav{display:none}@media (min-width:1024px){.site-nav{display:flex;gap:var(--sp-10);position:absolute;left:50%;transform:translateX(-50%)}.site-header__inner{position:relative}.site-nav > a{color:var(--ink);font-size:var(--fs-md);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:var(--sp-3) 0}.site-nav > a:hover,.site-nav > a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}}.site-header__actions{display:flex;align-items:center;gap:var(--sp-1);color:var(--ink)}.site-header__actions .icon-btn{color:var(--ink)}.cart-count{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding-inline:var(--sp-1);background:var(--ink);color:var(--text-on-ink);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center}.site-header__burger{position:relative;color:var(--ink)}@media (min-width:1024px){.site-header__burger{display:none}}.mobile-nav{position:fixed;inset:0;z-index:150;background:rgba(255,251,246,0.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:0;display:flex;flex-direction:column;transform:translateX(-100%);visibility:hidden;transition:transform var(--dur-fast) var(--ease),visibility var(--dur-fast)}.mobile-nav.is-open{transform:translateX(0);visibility:visible}.mobile-nav .drawer__head{padding:var(--sp-6) var(--sp-7);border-bottom:1px solid var(--rule);background:rgba(255,251,246,0.4)}.mobile-nav__body{flex:1;overflow-y:auto;padding:var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-8)}.mobile-nav__section{display:grid;gap:var(--sp-4)}.mobile-nav__search-wrap{margin-bottom:calc(-1 * var(--sp-2))}.mobile-nav__search{display:flex;gap:var(--sp-3);width:100%}.mobile-nav__search .input{flex:1;height:44px;font-size:var(--fs-md);border-color:var(--border-strong);border-radius:var(--radius-xs)}.mobile-nav__search .btn{height:44px;padding-inline:var(--sp-5)}.mobile-nav__links a{display:block;color:var(--ink);font-size:var(--fs-3xl);font-weight:700;padding-block:var(--sp-4);border-bottom:1px solid var(--rule);transition:transform var(--dur-instant) var(--ease),color var(--dur-instant) var(--ease)}.mobile-nav__links a:hover{text-decoration:none;transform:translateX(4px);color:var(--ink-strong)}.mobile-nav__greeting{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:calc(-1 * var(--sp-2))}.mobile-nav__account-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}.mobile-nav__account-links a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-2);border:1.5px solid var(--ink);border-radius:var(--radius-xs);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink);text-align:center;background:var(--paper)}.mobile-nav__account-links a:hover{text-decoration:none;background:var(--highlight-soft)}.mobile-nav__account-links a .icon{color:var(--ink)}.mobile-nav__auth-buttons{display:flex;gap:var(--sp-3)}.mobile-nav__auth-buttons .btn{flex:1}.mobile-nav__footer{margin-top:auto;border-top:1px dashed var(--rule);padding-top:var(--sp-7);display:grid;gap:var(--sp-4)}.mobile-nav__contact{display:grid;gap:var(--sp-2)}.mobile-nav__contact a{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);font-weight:700}.mobile-nav__contact a:hover{color:var(--ink);text-decoration:none}.mobile-nav__contact a .icon{color:var(--ink)}.hero{position:relative;overflow:hidden;background:var(--surface-sunken);border-bottom:1px solid var(--rule)}.hero__slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease);display:grid;min-height:min(78vh,720px)}.hero__slide.is-active{position:relative;opacity:1;pointer-events:auto}.hero__media{position:absolute;inset:0;z-index:0}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.18),rgba(0,0,0,0) 40%,rgba(0,0,0,0.32))}.hero__content{position:relative;z-index:1;align-self:end;display:grid;gap:var(--sp-6);justify-items:start;padding-block:var(--sp-10) var(--sp-12)}.hero__sticker{position:absolute;z-index:1;top:var(--sp-10);left:0;right:0;pointer-events:none}.hero__sticker span{display:inline-block;transform:rotate(-4deg);font-size:var(--fs-hero);font-weight:700;line-height:0.92;text-transform:uppercase;letter-spacing:-0.01em;color:var(--highlight);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);max-width:8ch;white-space:pre-line}.hero__heading{font-size:var(--fs-7xl);line-height:0.95;max-width:14ch;text-transform:uppercase;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,0.45)}.hero__sub{font-size:var(--fs-2xl);color:#fff;max-width:44ch;text-shadow:0 1px 12px rgba(0,0,0,0.5)}.hero__controls{position:absolute;bottom:var(--sp-7);right:var(--sp-7);z-index:2;display:flex;gap:var(--sp-1);align-items:center}.hero__dot{width:40px;height:40px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.hero__dot::after{content:"";width:10px;height:10px;border-radius:var(--radius-pill);background:rgba(255,255,255,0.55);border:1px solid rgba(0,0,0,0.2);transition:background-color var(--dur-instant) var(--ease)}.hero__dot[aria-current="true"]::after{background:var(--highlight)}.intro-cell{display:grid;gap:var(--sp-9);align-content:start;justify-items:start}.intro-cell p{color:var(--text-muted);font-size:var(--fs-lg);max-width:34ch}.theme-ink{background-color:var(--ink);color:var(--text-on-ink)}.theme-ink .h-link{color:var(--text-on-ink)}.theme-ink .h-link:hover{color:var(--highlight)}.theme-ink p{color:rgba(255,251,246,0.9)}.theme-ink .plate{background:var(--ink);color:var(--text-on-ink);border-color:var(--text-on-ink)}.theme-ink .btn--secondary{background:var(--text-on-ink);color:var(--ink);border-color:var(--text-on-ink)}.theme-ink .btn--secondary:hover{background:var(--paper-warm)}.theme-ink .muted{color:rgba(255,251,246,0.6)}.rail-wrap{position:relative;display:grid;align-items:stretch;min-width:0}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,260px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail > *{scroll-snap-align:start;border-right:1px solid var(--rule)}.rail > *:last-child{border-right:0}.rail__btn{position:absolute;right:var(--sp-6);top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:1.5px solid var(--ink);border-radius:var(--radius-xs);background:var(--ink);color:var(--text-on-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-print)}.rail__btn:hover{background:var(--ink-strong)}.product-grid{display:grid;gap:0;grid-template-columns:repeat(2,1fr);border:1px solid var(--rule)}@media (min-width:768px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-grid .product-card{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.product-card{position:relative;display:grid;gap:var(--sp-3);align-content:start;background:var(--paper);padding:var(--sp-7);color:var(--text-primary);transition:background-color var(--dur-instant) var(--ease)}.product-card:hover{background:var(--surface-sunken);text-decoration:none}.product-card__media{position:relative;overflow:hidden;border-radius:var(--radius-xs);aspect-ratio:1;background:var(--paper-warm)}.product-card__media img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform var(--dur-instant) var(--ease)}.product-card:hover .product-card__media img{transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.product-card:hover .product-card__media img{transform:none}}.product-card__badges{position:absolute;top:var(--sp-3);left:var(--sp-3);display:flex;gap:var(--sp-2);z-index:1}.product-card__name{font-weight:700;font-size:var(--fs-2xl);line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__name a{color:var(--text-primary)}.product-card__sanskrit{font-size:var(--fs-sm);color:var(--ink);text-align:center}.product-card__footer{display:grid;gap:var(--sp-4);justify-items:center;margin-top:var(--sp-3)}.feature-product{display:grid;gap:var(--sp-6);justify-items:center;align-content:center;text-align:center;padding:var(--sp-11)}.feature-product__media{background:var(--paper-warm);border-radius:var(--radius-xs);padding:var(--sp-9);width:min(320px,100%)}.feature-product__media img{mix-blend-mode:multiply}.feature-product__name{font-size:var(--fs-4xl);font-weight:700;color:var(--ink)}.feature-product__notes{color:var(--text-muted);font-size:var(--fs-lg);max-width:34ch}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-xs);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:var(--sp-1) var(--sp-5)}.badge--discount{background:var(--highlight);color:var(--text-primary);border:1px solid var(--ink)}.badge--rx{border:1px solid var(--warning);color:var(--warning);background:var(--paper)}.badge--stock{color:var(--warning);padding-inline:0}.price{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.price__now{font-size:var(--fs-2xl);font-weight:700}.price__mrp{color:var(--text-muted);text-decoration:line-through;font-size:var(--fs-md)}.stars{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--ink)}.stars .icon{fill:var(--highlight)}.stars__count{color:var(--text-muted);font-size:var(--fs-sm);margin-left:var(--sp-2)}.story{display:grid}@media (min-width:900px){.story{grid-template-columns:1fr 1.15fr 1fr}}.story__media{position:relative;min-height:280px}.story__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media (min-width:900px){.story > * + *{border-left:1px solid var(--rule)}}@media (max-width:899px){.story > * + *{border-top:1px solid var(--rule)}}.story__card{position:relative;background:var(--paper);display:grid;gap:var(--sp-7);align-content:center;justify-items:start;padding:var(--sp-12) var(--sp-11)}.story__card h2{font-size:var(--fs-5xl)}.story__card p{color:var(--text-muted);font-size:var(--fs-lg)}.story__wordmark{border-block:2px solid var(--ink);padding-block:4px;color:var(--ink);font-weight:700;font-size:var(--fs-3xl);text-transform:uppercase;letter-spacing:0.02em;line-height:1}.story__asterisk{position:absolute;top:calc(-1 * var(--sp-9));right:var(--sp-10);color:var(--ink);font-size:5rem;line-height:1;font-weight:700;transform:rotate(8deg);pointer-events:none}.socials{display:flex;gap:var(--sp-3)}.socials a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1.5px solid var(--ink);border-radius:var(--radius-pill);color:var(--ink)}.socials a:hover{background:var(--ink);color:var(--text-on-ink)}.tile-grid{display:grid;gap:0;grid-template-columns:repeat(2,1fr);border:1px solid var(--rule)}@media (min-width:768px){.tile-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.tile-grid{grid-template-columns:repeat(5,1fr)}}.tile{position:relative;display:grid;gap:var(--sp-4);align-content:start;background:var(--paper);padding:var(--sp-7);color:var(--text-primary);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background-color var(--dur-instant) var(--ease)}.tile:hover{background:var(--surface-sunken);text-decoration:none}.tile img,.tile video{border-radius:var(--radius-xs);aspect-ratio:1;object-fit:cover;width:100%;background:var(--paper-warm);mix-blend-mode:multiply}.tile__label{font-weight:700;font-size:var(--fs-2xl);color:var(--ink);display:inline-flex;align-items:center;gap:var(--sp-2)}.tile__label .icon{width:0.8em;height:0.8em;stroke-width:2.2}.promo{position:relative;border-block:1px solid var(--rule);overflow:hidden}.promo__media{position:absolute;inset:0}.promo__media img{width:100%;height:100%;object-fit:cover}.promo__media::after{content:"";position:absolute;inset:0;background:rgba(20,10,0,0.25)}.promo .container{position:relative;z-index:1;padding-block:var(--sp-13)}.ticket{background:var(--paper);max-width:460px;border:2px dashed var(--ink);outline:6px solid var(--paper);padding:var(--sp-10);display:grid;gap:var(--sp-6);justify-items:start;transform:rotate(-1.5deg);box-shadow:var(--shadow-2)}.ticket h2{font-size:var(--fs-5xl);line-height:1.05}.ticket p{color:var(--text-muted);font-size:var(--fs-lg)}.ticket__tag{font-weight:700;color:var(--ink);font-size:var(--fs-lg)}.ticket__badge{width:84px;height:84px;margin-top:calc(-1 * var(--sp-13));background:var(--ink);color:var(--text-on-ink);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:0.06em;transform:rotate(-8deg)}.ticket__actions{display:flex;gap:var(--sp-4);flex-wrap:wrap}.spots__tabs{display:flex;gap:var(--sp-9);flex-wrap:wrap}.spots__tab{background:none;border:none;padding:var(--sp-2) 0;cursor:pointer;font-size:var(--fs-2xl);font-weight:700;color:var(--text-muted);border-bottom:3px solid transparent}.spots__tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}.spots__tab:hover{color:var(--ink)}.spots__more{font-size:var(--fs-lg);font-weight:700;display:inline-flex;align-items:center;gap:var(--sp-2)}.spots__grid{display:grid;border:1px solid var(--rule)}@media (min-width:900px){.spots__grid{grid-template-columns:repeat(3,1fr)}}.spot-card{padding:var(--sp-9);background:var(--paper);display:grid;gap:var(--sp-5);align-content:start;justify-items:start;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.spot-card h3{font-size:var(--fs-3xl);color:var(--ink)}.spot-card p{color:var(--text-muted);font-size:var(--fs-lg)}.collage{display:grid;gap:var(--sp-4);margin-top:var(--sp-10);grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}@media (min-width:900px){.collage{grid-template-columns:repeat(5,1fr);grid-auto-rows:190px}}.collage > *{border-radius:var(--radius-xs);overflow:hidden}.collage img{width:100%;height:100%;object-fit:cover}.collage__tall{grid-row:span 2}.collage__brand{background:var(--paper);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink);font-weight:700;padding:var(--sp-6)}.collage__brand--ink{background:var(--ink);color:var(--text-on-ink);border:0}.collage__brand span{font-size:var(--fs-4xl);text-transform:uppercase;line-height:1.05}.collage__brand .icon{width:56px;height:56px;stroke-width:1.2}.consult-band{background:var(--ink);color:var(--text-on-ink);border-block:1px solid var(--rule)}.consult-band .container{display:grid;gap:var(--sp-10);align-items:center;padding-block:var(--sp-13)}@media (min-width:900px){.consult-band .container{grid-template-columns:1fr 1.2fr}}.consult-band__media img{border-radius:var(--radius-xs);box-shadow:var(--shadow-2)}.consult-band__body{display:grid;gap:var(--sp-6);justify-items:start}.consult-band__body h2{font-size:var(--fs-6xl);line-height:1.02;max-width:16ch}.consult-band__body p{font-size:var(--fs-2xl);opacity:0.9;max-width:44ch}.consult-band__actions{display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap}.consult-band .btn--inverse{border-color:var(--surface-dark)}.roundel{width:64px;height:64px;flex-shrink:0;border:2px solid var(--text-on-ink);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;color:var(--text-on-ink);background:transparent}.marquee{position:relative;overflow:hidden;padding-block:var(--sp-10);border-block:1px solid var(--rule)}.marquee__strip{background:var(--surface-dark);color:var(--text-inverse);overflow:hidden;padding-block:var(--sp-4)}.marquee__strip--tilt{transform:rotate(-2.2deg) scaleX(1.05);margin-block:calc(-1 * var(--sp-6));position:relative;z-index:1;box-shadow:var(--shadow-2)}.marquee__strip--tilt-r{transform:rotate(1.6deg) scaleX(1.05)}.marquee__track{display:flex;gap:var(--sp-11);width:max-content;font-size:var(--fs-3xl);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap;animation:marquee 28s linear infinite}.marquee__track em{font-style:normal;color:var(--highlight)}.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.marquee-hero{position:relative;overflow:hidden;padding-block:var(--sp-10)}.marquee-hero .marquee__strip{background:var(--highlight);color:var(--surface-dark);transform:rotate(-2deg) scale(1.06);box-shadow:var(--shadow-2);border-block:1px solid var(--surface-dark);overflow:hidden;padding-block:var(--sp-4)}.marquee-hero .marquee__track{letter-spacing:0.12em;font-size:var(--fs-2xl)}.dosha-quiz{display:grid;gap:var(--sp-7);align-content:start}.dosha-quiz fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--sp-4)}.dosha-quiz legend{font-weight:700;font-size:var(--fs-2xl);margin-bottom:var(--sp-3);padding:0}.dosha-quiz__count{color:var(--ink);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.08em}.dosha-quiz__progress{display:grid;gap:var(--sp-3)}.dosha-quiz__meta{display:flex;justify-content:space-between;gap:var(--sp-5)}.dosha-quiz__bar{height:6px;border:1px solid var(--ink);border-radius:var(--radius-pill);overflow:hidden;background:var(--paper)}.dosha-quiz__fill{height:100%;background:var(--ink);transition:width var(--dur-normal) var(--ease)}.dosha-quiz__opts{display:grid;gap:var(--sp-4)}@media (min-width:900px){.dosha-quiz__opts{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.dosha-quiz__opts .quiz-opt span{flex-direction:column;text-align:center;justify-content:center;min-height:108px}}.dosha-result__recs{display:grid;gap:var(--sp-4);width:100%}.dosha-rec{display:flex;align-items:center;gap:var(--sp-5);border:1px solid var(--rule);border-radius:var(--radius-xs);padding:var(--sp-4) var(--sp-5);background:var(--paper);color:var(--text-primary)}.dosha-rec:hover{background:var(--surface-sunken);text-decoration:none}.dosha-rec img{width:56px;height:56px;object-fit:contain;background:var(--paper-warm);border-radius:var(--radius-xs);flex-shrink:0}.dosha-rec strong{display:block;line-height:1.25}.dosha-rec .muted{font-size:var(--fs-xs)}.dosha-rec__price{margin-left:auto;font-weight:700;color:var(--ink);white-space:nowrap}.quiz-opt{position:relative;cursor:pointer}.quiz-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}.quiz-opt span{display:flex;align-items:center;gap:var(--sp-4);border:1.5px solid var(--ink);border-radius:var(--radius-xs);padding:var(--sp-4) var(--sp-7);font-size:var(--fs-lg);font-weight:500;color:var(--text-primary);background:var(--paper);transition:background-color var(--dur-instant) var(--ease),color var(--dur-instant) var(--ease)}.quiz-opt input:checked + span{background:var(--ink);color:var(--text-on-ink)}.quiz-opt input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px}.dosha-quiz__nav{display:flex;gap:var(--sp-4);align-items:center;justify-content:space-between}.dosha-result{border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-print);padding:var(--sp-9);display:grid;gap:var(--sp-5);justify-items:start}.dosha-result__name{font-size:var(--fs-5xl);font-weight:700;color:var(--ink)}.dosha-result__links{display:flex;gap:var(--sp-4);flex-wrap:wrap}.split{display:grid;gap:var(--sp-10);align-items:center}@media (min-width:768px){.split{grid-template-columns:1fr 1fr}}.split img{border-radius:var(--radius-xs);width:100%}.split__body{display:grid;gap:var(--sp-7);justify-items:start}.rail.vibes{grid-auto-columns:minmax(250px,290px);gap:var(--sp-6);border:none;padding-bottom:var(--sp-4)}.rail.vibes.is-marquee{display:flex;width:max-content;animation:marquee 40s linear infinite}.rail.vibes.is-marquee:hover{animation-play-state:paused}.rail.vibes.is-marquee > *{flex-shrink:0;width:280px}.vibe{display:grid;grid-template-rows:auto 1fr;align-content:start;background:var(--paper);color:var(--text-primary);border:1px solid var(--rule);border-radius:var(--radius-sm);overflow:hidden}a.vibe:hover{background:var(--surface-sunken);text-decoration:none}.vibe__media{position:relative;aspect-ratio:1;overflow:hidden;background:var(--paper-warm);border-bottom:1px solid var(--rule)}.vibe__media img,.vibe__media video{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-normal) var(--ease)}a.vibe:hover .vibe__media img,a.vibe:hover .vibe__media video{transform:scale(1.04)}@media (prefers-reduced-motion:reduce){a.vibe:hover .vibe__media img,a.vibe:hover .vibe__media video{transform:none}}.vibe__tag{position:absolute;bottom:var(--sp-4);left:var(--sp-4);background:var(--highlight);color:var(--surface-dark);border:1px solid var(--surface-dark);border-radius:var(--radius-xs);padding:2px var(--sp-5);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.06em}.vibe__body{padding:var(--sp-7);display:grid;gap:var(--sp-4);align-content:start}.vibe__author{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-md)}.vibe__avatar{width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-pill);border:1.5px solid var(--ink);color:var(--ink);font-weight:700;display:flex;align-items:center;justify-content:center}.vibe__quote{font-size:var(--fs-lg);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.testimonials{display:grid;border:1px solid var(--rule)}@media (min-width:768px){.testimonials{grid-template-columns:repeat(3,1fr)}}.testimonial{background:var(--paper);padding:var(--sp-10);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;gap:var(--sp-5);align-content:start}.testimonial cite{font-style:normal;color:var(--ink);font-weight:700;font-size:var(--fs-sm)}.doctor-grid{display:grid;gap:var(--sp-7)}@media (min-width:900px){.doctor-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.doctor-card{border:1px solid var(--rule);background:var(--paper);padding:var(--sp-8);display:grid;gap:var(--sp-3);align-content:start;box-shadow:var(--shadow-print);border-radius:var(--radius-xs)}.doctor-card__avatar{width:56px;height:56px;border-radius:var(--radius-pill);border:2px solid var(--ink);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:var(--fs-4xl);font-weight:700}.doctor-card h2{font-size:var(--fs-3xl);color:var(--ink)}.doctor-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-3)}.slot-grid{display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:var(--sp-7)}.slot-day{border:1px solid var(--rule);border-radius:var(--radius-xs);padding:var(--sp-5);margin:0;background:var(--paper)}.slot-day legend{font-weight:700;color:var(--ink);padding-inline:var(--sp-3)}.slot-day legend .muted{display:block;font-weight:500}.slot-chip{display:block;margin-bottom:var(--sp-3);position:relative;cursor:pointer}.slot-chip input{position:absolute;opacity:0;inset:0;cursor:pointer}.slot-chip span{display:flex;justify-content:center;align-items:center;height:40px;border:1.5px solid var(--ink);border-radius:var(--radius-xs);font-size:var(--fs-md);font-weight:700;color:var(--ink)}.slot-chip input:checked + span{background:var(--ink);color:var(--text-on-ink)}.slot-chip input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px}.slot-chip.is-closed{cursor:not-allowed}.slot-chip.is-closed span{border-color:var(--border-subtle);color:var(--text-muted);text-decoration:line-through}.pdp-reviews{display:grid;gap:var(--sp-10);align-items:start}@media (min-width:900px){.pdp-reviews{grid-template-columns:1.4fr 1fr}}.pdp-rating-sum{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--ink);font-size:var(--fs-lg)}.trust-row{display:flex;flex-wrap:wrap;gap:var(--sp-7) var(--sp-12);justify-content:center;color:var(--text-muted);font-size:var(--fs-md);text-transform:uppercase;letter-spacing:0.06em;font-weight:700}.trust-row li{display:flex;align-items:center;gap:var(--sp-3)}.trust-row .icon{color:var(--ink)}.overlay{position:fixed;inset:0;z-index:140;background:rgba(0,0,0,0.6);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease),visibility var(--dur-fast)}.overlay.is-open{opacity:1;visibility:visible}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:150;width:min(420px,100vw);background:var(--paper);border-left:1px solid var(--rule);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform var(--dur-fast) var(--ease),visibility var(--dur-fast)}.drawer.is-open{transform:translateX(0);visibility:visible}.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-7);border-bottom:1px solid var(--rule)}.drawer__title{font-size:var(--fs-2xl);font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:0.04em}.drawer__body{flex:1;overflow-y:auto;padding:var(--sp-7);display:grid;gap:var(--sp-7);align-content:start}.drawer__foot{padding:var(--sp-7);border-top:1px solid var(--rule);display:grid;gap:var(--sp-5)}.drawer__empty{display:grid;gap:var(--sp-7);justify-items:center;text-align:center;padding-block:var(--sp-13)}.popup{position:fixed;inset:0;z-index:170;display:grid;place-items:center;padding:var(--sp-7)}.popup__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.55);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.popup__card{position:relative;width:min(440px,100%);background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-print);padding:var(--sp-10);display:grid;gap:var(--sp-5);justify-items:start;opacity:0;transform:scale(0.94);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.popup.is-open .popup__backdrop{opacity:1}.popup.is-open .popup__card{opacity:1;transform:none}.popup__close{position:absolute;top:var(--sp-3);right:var(--sp-3)}.popup__media{width:100%;border-radius:var(--radius-xs);aspect-ratio:16/9;object-fit:cover}.popup__card h2{color:var(--ink)}.coupon-form{display:flex;gap:var(--sp-3)}.coupon-form .input{flex:1;height:44px}.cart-summary__coupon span{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--success);font-weight:700}.cart-summary__coupon form{display:inline}.toast-region{position:fixed;z-index:160;bottom:var(--sp-7);left:50%;transform:translateX(-50%);display:grid;gap:var(--sp-3)}@media (min-width:768px){.toast-region{left:auto;right:var(--sp-7);transform:none}}.toast{background:var(--surface-dark);color:var(--text-inverse);border-radius:var(--radius-xs);box-shadow:var(--shadow-2);padding:var(--sp-6) var(--sp-8);font-size:var(--fs-lg);display:flex;align-items:center;gap:var(--sp-7)}.accordion{border-top:1px solid var(--rule)}.accordion details{border-bottom:1px solid var(--rule)}.accordion summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7);padding:var(--sp-7) 0;cursor:pointer;font-weight:700;font-size:var(--fs-2xl);list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary .icon{transition:transform var(--dur-fast) var(--ease);flex-shrink:0}.accordion details[open] summary .icon{transform:rotate(180deg)}.accordion .accordion__panel{padding-bottom:var(--sp-7);color:var(--text-muted)}.accordion .accordion__panel *{max-width:none}.site-footer{background:var(--surface-dark);color:var(--text-inverse);margin-top:var(--sp-13);border-top:1px solid var(--rule)}.site-footer a{color:var(--text-inverse)}.site-footer a:hover{color:var(--highlight)}.footer-grid{display:grid;gap:var(--sp-12);padding-block:var(--sp-13)}@media (min-width:900px){.footer-grid{grid-template-columns:1.1fr 1.4fr 1fr}}.footer-connect{display:grid;gap:var(--sp-7);align-content:start;justify-items:start}.footer-connect h2,.footer-help h2,.footer-contact h2{font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:0.1em;color:var(--highlight)}.footer-connect .socials a{border-color:var(--text-inverse);color:var(--text-inverse)}.footer-connect .socials a:hover{background:var(--highlight);border-color:var(--highlight);color:var(--surface-dark)}.newsletter{display:grid;gap:var(--sp-5)}.newsletter h3{font-size:var(--fs-3xl);line-height:1.2;max-width:20ch}.newsletter form{display:grid;gap:var(--sp-5)}.newsletter__row{display:flex;border-bottom:1.5px solid var(--text-inverse)}.newsletter__row .input{flex:1;background:transparent;border:none;color:var(--text-inverse);height:48px;padding-inline:0;border-radius:0}.newsletter__row .input::placeholder{color:rgba(255,251,246,0.5)}.newsletter__row .btn{border:none;background:none;color:var(--text-inverse);padding-inline:var(--sp-3);height:48px}.newsletter__row .btn:hover{color:var(--highlight)}.consent{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-xs);color:rgba(255,251,246,0.6)}.consent a{text-decoration:underline}.consent input{width:16px;height:16px;margin-top:2px;accent-color:var(--highlight)}.footer-help{display:grid;gap:var(--sp-7);align-content:start}.footer-help__links{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.footer-help__links a{display:inline-flex;align-items:center;border:1px solid rgba(255,251,246,0.35);border-radius:var(--radius-xs);padding:var(--sp-2) var(--sp-6);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.06em}.footer-help__links a:hover{border-color:var(--highlight);text-decoration:none}.footer-contact{display:grid;gap:var(--sp-5);align-content:start;font-size:var(--fs-lg)}.footer-contact p{color:rgba(255,251,246,0.75)}.footer-contact strong{color:var(--text-inverse)}.footer-legal{padding-block:var(--sp-9);border-top:1px solid rgba(255,251,246,0.18);display:grid;gap:var(--sp-3);font-size:var(--fs-xs);color:rgba(255,251,246,0.55)}.footer-legal p{max-width:none}.footer-mark{padding-block:var(--sp-9) 0;overflow:hidden;font-weight:700;line-height:0.8;font-size:clamp(3rem,12vw,9rem);text-transform:uppercase;letter-spacing:-0.02em;white-space:nowrap;text-align:center;user-select:none}.footer-mark::after{content:"प्राच्यम् आयुर्वेद";color:rgba(255,251,246,0.12)}.breadcrumbs{font-size:var(--fs-sm);color:var(--text-muted);display:flex;flex-wrap:wrap;gap:var(--sp-3);padding-block:var(--sp-7)}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs [aria-current="page"]{color:var(--text-primary)}.pagination{display:flex;gap:var(--sp-3);justify-content:center;padding-block:var(--sp-10)}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:var(--radius-xs);color:var(--text-primary);border:1px solid transparent}.pagination [aria-current="page"]{border-color:var(--ink);color:var(--ink)}.empty-state{display:grid;gap:var(--sp-7);justify-items:center;text-align:center;padding-block:var(--sp-14)}.prose{display:grid;gap:var(--sp-7)}.prose h2{margin-top:var(--sp-7)}.border-t{border-top:1px solid var(--rule)}.container--narrow{max-width:840px}.plp-search{display:flex;gap:var(--sp-3);width:100%;max-width:360px}.plp-search .input{flex:1;height:44px}.plp-search .btn{padding-inline:var(--sp-6)}.plp-cats{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.plp-cats a{border:1px solid var(--ink);border-radius:var(--radius-xs);padding:var(--sp-1) var(--sp-6);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:inherit}.plp-cats a:hover{background:var(--ink);color:var(--text-on-ink);text-decoration:none}.theme-ink .plp-cats a{border-color:rgba(255,251,246,0.4);color:var(--text-on-ink)}.theme-ink .plp-cats a:hover{background:var(--text-on-ink);color:var(--ink);border-color:var(--text-on-ink)}.plp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7);flex-wrap:wrap;margin-bottom:var(--sp-8)}.plp-sort{display:flex;gap:var(--sp-6);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.plp-sort a{color:var(--text-muted)}.plp-sort a[aria-current="true"]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.product-grid--plp{grid-template-columns:repeat(2,1fr)}@media (min-width:1024px){.product-grid--plp{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.band__grid--pdp{grid-template-columns:1.1fr 1fr}.band__grid--pdp > * + *{border-left:1px solid var(--rule)}}@media (max-width:899px){.band__grid--pdp > * + *{border-top:1px solid var(--rule)}}.pdp-gallery{display:grid;gap:var(--sp-5);align-content:start}.pdp-gallery__main{border-radius:var(--radius-xs);max-width:380px;width:100%;margin-inline:auto}.pdp-gallery__main img{display:block;width:100%;height:auto;object-fit:contain}.pdp-gallery__thumbs{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.pdp-gallery__thumb{width:72px;height:72px;padding:var(--sp-2);cursor:pointer;background:var(--paper-warm);border:1.5px solid transparent;border-radius:var(--radius-xs)}.pdp-gallery__thumb[aria-current="true"]{border-color:var(--ink)}.pdp-gallery__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.pdp-info{display:grid;gap:var(--sp-6);align-content:start;justify-items:start}.pdp-info h1{font-size:var(--fs-6xl);color:var(--ink)}.pdp-info__sanskrit{font-size:var(--fs-2xl);color:var(--text-muted)}.pdp-dosha{display:inline-flex;align-items:center;gap:var(--sp-3);border:1px solid var(--ink);border-radius:var(--radius-xs);padding:var(--sp-2) var(--sp-6);font-size:var(--fs-md);color:var(--ink)}.pdp-dosha .icon{flex-shrink:0}.pdp-buy{display:grid;gap:var(--sp-7);justify-items:start;width:100%}.pdp-variants{display:flex;gap:var(--sp-3);flex-wrap:wrap;border:0;padding:0}.pdp-variant{position:relative;cursor:pointer}.pdp-variant input{position:absolute;opacity:0;inset:0;cursor:pointer}.pdp-variant span{display:inline-flex;align-items:center;height:40px;padding-inline:var(--sp-7);border:1.5px solid var(--ink);border-radius:var(--radius-xs);font-size:var(--fs-md);font-weight:700;color:var(--ink)}.pdp-variant input:checked + span{background:var(--ink);color:var(--text-on-ink)}.pdp-variant input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px}.price--pdp{justify-content:flex-start;align-items:baseline}.price--pdp .price__now{font-size:var(--fs-5xl);color:var(--ink)}.pdp-buy__row{display:flex;gap:var(--sp-5);align-items:stretch;flex-wrap:wrap}.pdp-benefits{display:grid;gap:var(--sp-3)}.pdp-benefits li{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-lg)}.pdp-benefits .icon{color:var(--ink);flex-shrink:0}.trust-row--left{justify-content:flex-start;gap:var(--sp-5) var(--sp-8);font-size:var(--fs-xs)}.qty{display:inline-flex;align-items:center;border:1.5px solid var(--ink);border-radius:var(--radius-xs);background:var(--paper)}.qty__btn{width:44px;height:48px;border:none;background:none;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}.qty__btn:hover{background:var(--ink-tint)}.qty__input{width:52px;height:48px;border:none;text-align:center;font-weight:700;background:transparent;-moz-appearance:textfield;appearance:textfield}.qty__input::-webkit-outer-spin-button,.qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.table-scroll{overflow-x:auto}.ing-table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.ing-table th,.ing-table td{border:1px solid var(--rule);padding:var(--sp-4) var(--sp-6);text-align:left}.ing-table th{background:var(--ink-tint);color:var(--ink);text-transform:uppercase;letter-spacing:0.05em;font-size:var(--fs-xs)}.cart-flash{display:inline-flex;align-items:center;gap:var(--sp-3);border:1px solid var(--success);color:var(--success);border-radius:var(--radius-xs);padding:var(--sp-3) var(--sp-7);font-size:var(--fs-md);margin-bottom:var(--sp-8)}.cart-layout{display:grid;gap:var(--sp-10);align-items:start}@media (min-width:900px){.cart-layout{grid-template-columns:1.7fr 1fr}}.cart-lines{display:grid;border:1px solid var(--rule);background:var(--paper)}.cart-line{display:grid;grid-template-columns:84px 1fr auto auto;gap:var(--sp-6);align-items:center;padding:var(--sp-7);border-bottom:1px solid var(--rule)}@media (max-width:640px){.cart-line{grid-template-columns:64px 1fr}.cart-line__qty,.cart-line__total{grid-column:2;justify-self:start}}.cart-line__media{background:var(--paper-warm);border-radius:var(--radius-xs);padding:var(--sp-2)}.cart-line__media img{aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}.cart-line__info{display:grid;gap:2px}.cart-line__name{font-weight:700;color:var(--text-primary)}.cart-line__name:hover{color:var(--ink)}.cart-line__total{font-weight:700;color:var(--ink)}.cart-lines__actions{display:flex;gap:var(--sp-5);padding:var(--sp-7);flex-wrap:wrap}.cart-summary{border:1px solid var(--rule);background:var(--paper);padding:var(--sp-9);display:grid;gap:var(--sp-6);align-content:start;box-shadow:var(--shadow-print)}.cart-summary h2{font-size:var(--fs-3xl);color:var(--ink)}.cart-summary__row{display:flex;justify-content:space-between;gap:var(--sp-6);font-size:var(--fs-lg)}.cart-summary__row--total{border-top:1px solid var(--rule);padding-top:var(--sp-6);font-size:var(--fs-2xl)}.cart-summary__free{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--success)}.checkout-panel{border:1px solid var(--rule);background:var(--paper);padding:var(--sp-11);display:grid;gap:var(--sp-7);justify-items:start}.form-card{display:grid;gap:0;max-width:560px}.form-ok{color:var(--success);font-weight:700;margin-bottom:var(--sp-6)}.auth-card{max-width:480px;margin-inline:auto;border:1px solid var(--rule);background:var(--paper);padding:var(--sp-11);display:grid;gap:var(--sp-7);box-shadow:var(--shadow-print)}.auth-card h1{color:var(--ink)}.consent--light{color:var(--text-muted);margin-bottom:var(--sp-7)}.consent--light a{color:var(--ink)}.contact-facts{display:grid;gap:var(--sp-6);font-size:var(--fs-lg)}.contact-facts p{color:var(--text-muted)}.contact-facts strong{color:var(--text-primary)}.tile-grid--values{grid-template-columns:repeat(2,1fr)}@media (min-width:1024px){.tile-grid--values{grid-template-columns:repeat(4,1fr)}}.tile-grid--values .tile .icon,.steps-grid .tile .icon{color:var(--ink)}.steps-grid{display:grid;border:1px solid var(--rule)}@media (min-width:768px){.steps-grid{grid-template-columns:repeat(3,1fr)}}.steps-grid .tile{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.steps-grid__num{width:44px;height:44px;border:2px solid var(--ink);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-3xl);color:var(--ink)}.consult-price{display:grid;gap:var(--sp-2)}.cta-duo{display:flex;gap:var(--sp-5);flex-wrap:wrap}.account-grid{display:grid;gap:0;border:1px solid var(--rule);grid-template-columns:1fr}@media (min-width:768px){.account-grid{grid-template-columns:repeat(2,1fr)}}.account-grid .tile{justify-items:start}.account-grid .tile .icon{color:var(--ink)}.post-grid{display:grid;gap:0;border:1px solid var(--rule)}@media (min-width:768px){.post-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:grid;gap:var(--sp-4);align-content:start;padding:var(--sp-8);background:var(--paper);color:var(--text-primary);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.post-card:hover{background:var(--surface-sunken);text-decoration:none}.post-card__media{border-radius:var(--radius-xs);overflow:hidden;aspect-ratio:16/10;background:var(--paper-warm)}.post-card__media img{width:100%;height:100%;object-fit:cover}.post-card h2{font-size:var(--fs-3xl)}.post-card__more{color:var(--ink);font-weight:700;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.05em;display:inline-flex;align-items:center;gap:var(--sp-2)}.post-head{display:grid;gap:var(--sp-5);margin-bottom:var(--sp-9)}.post-head h1{color:var(--ink)}.post-cover{border-radius:var(--radius-xs);margin-bottom:var(--sp-9);width:100%}.post-foot{display:grid;gap:var(--sp-7);margin-top:var(--sp-11);border-top:1px solid var(--rule);padding-top:var(--sp-9);justify-items:start}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.form-error{border:1px solid var(--error);color:var(--error);background:var(--paper);padding:var(--sp-5) var(--sp-7);margin-bottom:var(--sp-7);font-weight:600}.checkout-grid .checkout-panel h2{font-size:var(--fs-2xl);color:var(--ink);display:inline-flex;align-items:center;gap:var(--sp-3);border-bottom:2px solid var(--highlight);padding-bottom:var(--sp-2)}.form-grid{display:grid;gap:0 var(--sp-6);width:100%;grid-template-columns:1fr}@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .field--wide{grid-column:1 / -1}}.saved-addresses{display:flex;gap:var(--sp-4);flex-wrap:wrap;width:100%}.saved-address{display:grid;gap:2px;text-align:left;cursor:pointer;border:1px solid var(--border-strong);background:var(--paper);padding:var(--sp-4) var(--sp-6);border-radius:var(--radius-xs);max-width:260px;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.saved-address:hover{border-color:var(--ink)}.saved-address.is-active{border-color:var(--ink);background:var(--highlight-soft)}.pay-methods{display:grid;gap:var(--sp-4);width:100%;max-width:520px}.pay-method{display:flex;gap:var(--sp-5);align-items:flex-start;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-xs);padding:var(--sp-6);background:var(--paper);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.pay-method:hover{border-color:var(--ink)}.pay-method:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--highlight-soft)}.pay-method input{margin-top:4px;accent-color:var(--ink)}.pay-method__body{display:grid;gap:2px}.order-steps{display:flex;gap:0;list-style:none;padding:0;margin:var(--sp-4) 0;width:100%;max-width:560px}.order-step{flex:1;display:grid;justify-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);position:relative}.order-step::before{content:'';position:absolute;top:14px;left:-50%;width:100%;height:2px;background:var(--rule)}.order-step:first-child::before{display:none}.order-step.is-done::before{background:var(--ink)}.order-step__dot{width:28px;height:28px;border-radius:var(--radius-pill);border:2px solid var(--rule);background:var(--paper);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.order-step.is-done{color:var(--ink);font-weight:700}.order-step.is-done .order-step__dot{border-color:var(--ink);background:var(--ink);color:var(--text-on-ink)}.order-list{display:grid;gap:var(--sp-6);max-width:760px}.order-card{border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-print)}.order-card__head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--rule)}.order-card__head > div{display:grid}.order-card__items{list-style:none;padding:var(--sp-5) var(--sp-8);margin:0;display:grid;gap:var(--sp-2);font-size:var(--fs-lg)}.order-card__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-5) var(--sp-8);border-top:1px dashed var(--rule)}.order-badge{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid currentColor}.order-badge--ok{color:var(--success)}.order-badge--wip{color:var(--ink);background:var(--highlight-soft)}.order-badge--err{color:var(--error)}.verify-banner{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;border:1px dashed var(--ink);background:var(--highlight-soft);padding:var(--sp-5) var(--sp-7);margin-bottom:var(--sp-7)}.verify-banner span{display:inline-flex;align-items:center;gap:var(--sp-3)}.will-reveal{opacity:0;transform:translateY(14px)}.is-revealed{opacity:1;transform:none;transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.btn{transition:transform var(--dur-instant) var(--ease),box-shadow var(--dur-instant) var(--ease),background var(--dur-instant) var(--ease),color var(--dur-instant) var(--ease)}.btn:active{transform:scale(0.97)}:is(.btn,.icon-btn,a):focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (hover:hover){.product-card{transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.product-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px);z-index:2}.product-card__media{overflow:hidden}.product-card__media img{transition:transform var(--dur-slow) var(--ease)}.product-card:hover .product-card__media img{transform:scale(1.05)}}.site-nav a{position:relative}.site-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease)}.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes badge-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}.cart-count:not(:empty){animation:badge-pop var(--dur-normal) var(--ease) 1}.to-top{position:fixed;right:var(--sp-7);bottom:var(--sp-7);z-index:90;width:46px;height:46px;border-radius:var(--radius-pill);background:var(--ink);color:var(--text-on-ink);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);box-shadow:var(--shadow-2)}.to-top.is-shown{opacity:1;transform:none;pointer-events:auto}.to-top:hover{background:var(--ink-strong)}.buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);background:var(--paper);border-top:2px solid var(--ink);padding:var(--sp-4) var(--sp-7);transform:translateY(110%);transition:transform var(--dur-fast) var(--ease);box-shadow:0 -6px 24px rgba(0,0,0,0.08)}.buy-bar.is-shown{transform:none}.buy-bar__info{display:grid;line-height:1.25;min-width:0}.buy-bar__info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buy-bar__info span{color:var(--ink);font-weight:700}@media (min-width:1024px){.buy-bar{padding-inline:max(var(--sp-7),calc((100vw - 1200px) / 2))}}@media (prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none}.is-revealed,.btn,.product-card,.product-card__media img,.to-top,.buy-bar{transition:none !important}.cart-count:not(:empty){animation:none}.btn:active{transform:none}}.stat-band{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-print);margin-bottom:var(--sp-8)}.stat-band__item{display:grid;gap:var(--sp-2);padding:var(--sp-8) var(--sp-5)}.stat-band__item + .stat-band__item{border-left:1px solid var(--rule)}.stat-band__item strong{font-size:var(--fs-5xl);color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}.stat-band__item span{color:var(--text-muted);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.06em}@media (max-width:640px){.stat-band__item strong{font-size:var(--fs-3xl)}}.consent-banner{position:fixed;left:var(--sp-5);right:var(--sp-5);bottom:var(--sp-5);z-index:96;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap;border:1px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-2);padding:var(--sp-5) var(--sp-7);max-width:720px;margin-inline:auto}.consent-banner p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.consent-banner__actions{display:flex;gap:var(--sp-3)}.acct{display:grid;gap:var(--sp-8)}@media (min-width:900px){.acct{grid-template-columns:236px 1fr;align-items:start}}.acct-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-5);margin-bottom:var(--sp-9);flex-wrap:wrap}.acct-head h1{color:var(--ink)}.acct-nav{border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-print);display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.acct-nav::-webkit-scrollbar{display:none}@media (min-width:900px){.acct-nav{display:grid;position:sticky;top:90px}}.acct-nav a{display:inline-flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);color:var(--text-muted);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-right:1px solid var(--rule);border-bottom:none;border-left:none;border-top:3px solid transparent;transition:color var(--dur-instant) var(--ease),background var(--dur-instant) var(--ease);flex-shrink:0}.acct-nav a:hover{color:var(--ink);background:var(--surface-sunken);text-decoration:none}.acct-nav a[aria-current="page"]{color:var(--ink);background:var(--highlight-soft);border-top-color:var(--ink)}@media (min-width:900px){.acct-nav a{display:flex;border-right:none;border-top:none;border-bottom:1px solid var(--rule);border-left:3px solid transparent}.acct-nav a[aria-current="page"]{border-left-color:var(--ink);border-top-color:transparent}}.acct-nav .icon{flex:none}.acct-stamp{padding:var(--sp-6);display:grid;gap:var(--sp-1);text-align:center;background:var(--surface-sunken)}@media (max-width:899px){.acct-stamp{display:none}}.acct-stamp .eyebrow{justify-self:center}.acct-stamp strong{color:var(--ink);font-size:var(--fs-2xl)}.acct-stamp a{font-size:var(--fs-xs)}.panel{border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-print);padding:var(--sp-8);display:grid;gap:var(--sp-6);align-content:start}.panel > h2{font-size:var(--fs-2xl);color:var(--ink);display:flex;align-items:center;gap:var(--sp-3);justify-content:space-between;flex-wrap:wrap}.acct-stack > * + *{margin-top:var(--sp-6)}.acct-metrics{display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.acct-metric{border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-print);padding:var(--sp-6);display:grid;gap:var(--sp-1)}.acct-metric strong{font-size:var(--fs-4xl);color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}.acct-metric span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.06em;color:var(--text-muted);font-weight:700}.stamp{display:inline-block;padding:3px 10px;border:1.5px solid currentColor;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink);background:var(--paper);border-radius:2px;white-space:nowrap}.stamp--ok{color:var(--success)}.stamp--err{color:var(--error)}.stamp--dim{color:var(--text-muted);border-style:dashed}.stage-rail{display:flex;list-style:none;padding:0;margin:var(--sp-2) 0}.stage-rail li{flex:1;display:grid;justify-items:center;gap:var(--sp-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);position:relative;font-weight:700}.stage-rail li::before{content:'';position:absolute;top:9px;left:-50%;width:100%;height:2px;background:var(--rule)}.stage-rail li:first-child::before{display:none}.stage-rail li .dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--rule);background:var(--paper);position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.stage-rail li.is-done{color:var(--ink)}.stage-rail li.is-done::before{background:var(--ink)}.stage-rail li.is-done .dot{border-color:var(--ink);background:var(--ink)}.stage-rail li.is-done .dot::after{content:'';width:6px;height:6px;background:var(--paper);border-radius:50%}.ledger-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-5) 0;border-bottom:1px solid var(--rule);flex-wrap:wrap}.ledger-row:last-child{border-bottom:0;padding-bottom:0}.ledger-row__id{display:grid}.ledger-row__id strong{font-variant-numeric:tabular-nums}.consult-rail{display:flex;list-style:none;padding:0;margin:0 0 var(--sp-9);border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-print);counter-reset:crail}.consult-rail li{counter-increment:crail;flex:1;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);border-right:1px solid var(--rule)}.consult-rail li:last-child{border-right:0}.consult-rail li::before{content:counter(crail);width:24px;height:24px;flex:none;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs)}.consult-rail li[aria-current="step"]{color:var(--ink);background:var(--highlight-soft)}.consult-rail li.is-done{color:var(--ink)}.consult-rail li.is-done::before{content:'\2713';background:var(--ink);color:var(--text-on-ink);border-color:var(--ink)}@media (max-width:720px){.consult-rail li span{display:none}.consult-rail li{justify-content:center}}.doctor-card__reg{display:inline-block;border-top:1px dashed var(--rule);padding-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:0.04em}.chatbox{border:1px solid var(--rule);border-top:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-print);display:flex;flex-direction:column;height:62vh;min-height:380px}.chatbox__log{flex:1;overflow-y:auto;padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.chatbox__bar{display:flex;gap:var(--sp-3);padding:var(--sp-4);border-top:1px solid var(--rule);background:var(--surface-sunken)}.msg{max-width:78%;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-md);border:1px solid var(--rule);background:var(--surface-sunken);border-radius:var(--radius-xs)}.msg--mine{align-self:flex-end;background:var(--ink);color:var(--text-on-ink);border-color:var(--ink)}.msg--system{align-self:center;font-size:var(--fs-xs);color:var(--text-muted);background:none;border:1px dashed var(--rule)}.msg small{display:block;opacity:0.7;font-size:10px;margin-top:2px}.msg a{color:inherit;text-decoration:underline;display:block}.lobby{display:grid;justify-items:center;align-content:center;gap:var(--sp-4);text-align:center;flex:1;padding:var(--sp-9)}.lobby .icon{color:var(--ink)}.lobby h2{color:var(--ink)}.lobby__pulse{width:10px;height:10px;border-radius:50%;background:var(--ink);animation:lobby-pulse 1.6s var(--ease) infinite}@keyframes lobby-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:0.4}}@media (prefers-reduced-motion:reduce){.lobby__pulse{animation:none}}.rx-pad{border:1px solid var(--rule);border-top:4px double var(--ink);background:var(--paper);box-shadow:var(--shadow-print);padding:var(--sp-8);display:grid;gap:var(--sp-5);align-content:start}.rx-pad__head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:var(--sp-4)}.rx-pad__glyph{font-size:var(--fs-5xl);color:var(--ink);font-weight:700;line-height:1;font-style:italic}.rx-pad__doctor{text-align:right;display:grid}.rx-pad__doctor strong{color:var(--ink)}.rx-pad__doctor span{font-size:var(--fs-xs);color:var(--text-muted)}.rx-item{display:grid;gap:2px;padding:var(--sp-3) 0;border-bottom:1px dashed var(--rule)}.rx-item:last-of-type{border-bottom:0}.rx-item strong{color:var(--text-primary)}.rx-item span{font-size:var(--fs-sm);color:var(--text-muted)}.rx-pad__advice{font-size:var(--fs-md)}.rx-pad__advice strong{color:var(--ink)}.consult-room{display:grid;gap:var(--sp-7);align-items:start}@media (min-width:1000px){.consult-room{grid-template-columns:1.2fr 1fr}}@media print{body > header,body > footer,.announcement,.chatbox,.consult-rail,.btn,.to-top,.consent-banner,.acct-nav{display:none !important}.rx-pad{box-shadow:none;border-color:#000}}.product-card{position:relative}.wish-form{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:3}.wish-btn{width:36px;height:36px;border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--rule);background:var(--paper);color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color var(--dur-instant) var(--ease),border-color var(--dur-instant) var(--ease),transform var(--dur-instant) var(--ease)}.wish-btn:hover{color:var(--ink);border-color:var(--ink)}.wish-btn.is-wished{color:var(--ink);border-color:var(--ink);background:var(--highlight-soft)}.wish-btn.is-wished .icon{fill:currentColor}.wish-btn:active{transform:scale(0.9)}.plp-filters{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-6)}.plp-filters .select{height:44px;width:auto;min-width:150px;font-size:var(--fs-md)}.suggest-box{position:absolute;top:100%;left:0;right:0;z-index:40;margin-top:4px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-2);max-height:380px;overflow-y:auto}.suggest-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);color:var(--text-primary);border-bottom:1px solid var(--rule)}.suggest-item:last-child{border-bottom:0}.suggest-item:hover,.suggest-item:focus{background:var(--highlight-soft);text-decoration:none}.suggest-item img{width:40px;height:40px;object-fit:cover;border:1px solid var(--rule);flex:none}.suggest-item span{display:grid;min-width:0;flex:1}.suggest-item strong{font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-item small{color:var(--text-muted);font-size:var(--fs-xs)}.suggest-item em{font-style:normal;font-weight:700;color:var(--ink)}.suggest-item--link strong::before{content:'→ ';color:var(--ink)}
/* ===== Engagement pass ===== */
/* Static hero */
.hero--static .hero__content { display: grid; gap: var(--sp-5); }
.hero__proof { display: inline-flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap;
  color: var(--text-on-ink, #fff); font-size: var(--fs-sm); opacity: .92; }
.hero__proof .icon { color: var(--highlight); }

/* Category / rail "view all" end card */
.tile--more { display: grid; place-content: center; text-align: center; gap: var(--sp-3);
  background: var(--ink); color: var(--text-on-ink); min-height: 160px; }
.tile--more .tile__label { color: var(--text-on-ink); }
.tile--more__num { font-size: var(--fs-5xl); font-weight: 700; line-height: 1; color: var(--highlight); font-variant-numeric: tabular-nums; }
.tile--more:hover { background: var(--ink-strong, #2a3d12); text-decoration: none; }

/* Bestsellers proof sidebar */
.proof-mini { display: grid; gap: var(--sp-2); margin-top: var(--sp-5); font-size: var(--fs-sm); }
.proof-mini span { display: inline-flex; align-items: center; gap: var(--sp-2); }
.proof-mini strong { color: var(--highlight); font-variant-numeric: tabular-nums; }
.proof-quote { margin-top: var(--sp-5); border-left: 2px solid var(--highlight); padding-left: var(--sp-4);
  font-style: italic; font-size: var(--fs-sm); }
.proof-quote cite { display: block; margin-top: var(--sp-2); font-style: normal; opacity: .8; font-size: var(--fs-xs); }

/* Consult liveness line */
.consult-band__live { display: inline-flex; align-items: center; gap: var(--sp-3);
  font-size: var(--fs-sm); margin-top: var(--sp-3); }

/* Dosha known-state grid */
.dosha-known { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); }
@media (min-width: 560px) { .dosha-known { grid-template-columns: repeat(4, 1fr); } }

/* PDP meta row (stars + dosha chip) */
.pdp-meta { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; margin: var(--sp-3) 0; }
.pdp-meta a { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sm); }
.pdp-meta__stars { color: var(--text-primary); }
.pdp-meta__stars .icon { color: var(--highlight); }
.pdp-meta__dosha { color: var(--ink); background: var(--highlight-soft); padding: 2px 10px; border-radius: var(--radius-pill); }

/* Price savings */
.price__save { color: var(--success); font-weight: 700; font-size: var(--fs-sm); margin-left: var(--sp-3); }

/* PDP how-to strip + concern chips */
.pdp-howto { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap;
  background: var(--surface-sunken); border: 1px solid var(--rule); border-radius: var(--radius-xs);
  padding: var(--sp-4) var(--sp-5); font-size: var(--fs-sm); margin-top: var(--sp-4); }
.pdp-howto .icon { color: var(--ink); }
.pdp-concerns { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; margin-top: var(--sp-5); }
.chip { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-sm); font-weight: 600;
  border: 1px solid var(--border-strong); border-radius: var(--radius-pill); padding: 4px 12px; color: var(--ink); }
.chip:hover { background: var(--ink); color: var(--text-on-ink); border-color: var(--ink); text-decoration: none; }

/* Collapsible review writer */
.review-writer { margin-top: var(--sp-6); }
.review-writer > summary { display: inline-flex; align-items: center; gap: var(--sp-2); cursor: pointer; list-style: none; }
.review-writer > summary::-webkit-details-marker { display: none; }
.review-writer[open] > summary { display: none; }

/* End-of-page open-loop banner (PDP) */
.loop-banner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-6);
  flex-wrap: wrap; border: 1px solid var(--ink); border-left: 4px solid var(--ink);
  background: var(--surface-sunken); padding: var(--sp-6) var(--sp-7); }
.loop-banner > span { display: inline-flex; align-items: center; gap: var(--sp-4); }
.loop-banner > span .icon { color: var(--ink); flex: none; }
.loop-banner strong { display: block; }

/* ===== Know Your Herbs ===== */
.herb-directory { display: grid; gap: var(--sp-8); }
.herb-letter__mark { font-size: var(--fs-4xl); color: var(--ink); border-bottom: 2px solid var(--highlight); display: inline-block; padding-right: var(--sp-6); margin-bottom: var(--sp-4); }
.herb-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.herb-chip { display: grid; gap: 2px; border: 1px solid var(--rule); background: var(--paper); padding: var(--sp-4) var(--sp-5); transition: border-color var(--dur-instant) var(--ease), background var(--dur-instant) var(--ease); }
.herb-chip:hover { border-color: var(--ink); background: var(--surface-sunken); text-decoration: none; }
.herb-chip strong { color: var(--text-primary); }
.herb-chip em { font-size: var(--fs-xs); color: var(--text-muted); }
.herb-chip__tag { font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink); background: var(--highlight-soft); border-radius: var(--radius-pill); padding: 1px 7px; justify-self: start; }

.herb-page { max-width: 820px; }
.herb-hero { display: grid; gap: var(--sp-6); margin-bottom: var(--sp-7); }
@media (min-width: 640px) { .herb-hero { grid-template-columns: 200px 1fr; align-items: start; } }
.herb-hero__media { border: 1px solid var(--rule); background: var(--paper-warm); aspect-ratio: 1; }
.herb-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.herb-hero__body h1 { color: var(--ink); }
.herb-hero__skt { font-size: .6em; color: var(--text-muted); font-weight: 400; }
.herb-hero__bot { color: var(--text-muted); }
.herb-props { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); border: 1px solid var(--rule); background: var(--paper); box-shadow: var(--shadow-print); margin-bottom: var(--sp-8); }
.herb-prop { padding: var(--sp-5); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: grid; gap: 2px; }
.herb-prop span { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); font-weight: 700; }
.herb-prop strong { color: var(--ink); }
.herb-body section { margin-bottom: var(--sp-8); }
.herb-body h2 { font-size: var(--fs-2xl); color: var(--ink); border-bottom: 1px solid var(--rule); padding-bottom: var(--sp-2); margin-bottom: var(--sp-4); }
.herb-components, .herb-refs, .herb-research { display: grid; gap: var(--sp-4); padding-left: var(--sp-5); }
.herb-components { list-style: none; padding: 0; }
.herb-components li { display: flex; gap: var(--sp-3); align-items: baseline; flex-wrap: wrap; }
.herb-research li { line-height: 1.5; }
.herb-research strong { display: block; }
.herb-partof { margin-top: var(--sp-6); }
.herb-byline { border-top: 1px solid var(--rule); padding-top: var(--sp-5); margin-top: var(--sp-7); display: flex; align-items: center; gap: var(--sp-2); }
.ing-link { color: var(--ink); font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.ing-link:hover { text-decoration: underline; }
.ing-link .icon { opacity: .6; }
.herb-link { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--highlight); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color var(--dur-instant) var(--ease), text-decoration-color var(--dur-instant) var(--ease); }
.herb-link:hover { color: var(--highlight); text-decoration-color: var(--ink); }

/* ===== Herb deep monograph ===== */
.herb-layout { display: grid; gap: var(--sp-9); align-items: start; padding-top: var(--sp-4) !important; }
@media (min-width: 1000px) { .herb-layout { grid-template-columns: minmax(0, 820px) 220px; justify-content: center; } }
.herb-main { min-width: 0; }
.herb-main p, .herb-main li { max-width: none; }  /* fill the column instead of the global 70ch cap */
.herb-layout .herb-hero { margin-top: 0; }
/* pull the breadcrumb closer to the hero on herb pages */
.herb-layout ~ *, .breadcrumbs + .herb-layout { margin-top: 0; }
.herb-sec { margin-bottom: var(--sp-9); scroll-margin-top: 90px; }
.herb-sec > h2 { font-size: var(--fs-2xl); color: var(--ink); border-bottom: 1px solid var(--rule); padding-bottom: var(--sp-2); margin-bottom: var(--sp-4); }

/* sticky table of contents */
.herb-toc { border: 1px solid var(--rule); background: var(--paper); box-shadow: var(--shadow-print); padding: var(--sp-5); }
@media (min-width: 1000px) { .herb-toc { position: sticky; top: 90px; order: 2; } }
.herb-toc__head { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); font-weight: 700; margin: 0 0 var(--sp-3); }
.herb-toc nav { display: grid; gap: 2px; }
.herb-toc a { font-size: var(--fs-sm); color: var(--text-primary); padding: var(--sp-2) var(--sp-3); border-left: 2px solid transparent; }
.herb-toc a:hover, .herb-toc a.is-active { color: var(--ink); border-left-color: var(--ink); background: var(--highlight-soft); text-decoration: none; }

/* multilingual names grid */
.herb-names { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0; border: 1px solid var(--rule); background: var(--paper); box-shadow: var(--shadow-print); }
.herb-name { padding: var(--sp-4) var(--sp-5); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: grid; gap: 2px; }
.herb-name span { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); font-weight: 700; }
.herb-name strong { color: var(--text-primary); }

/* condition-specific benefit blocks */
.herb-benefit { margin: var(--sp-5) 0; padding-left: var(--sp-5); border-left: 3px solid var(--highlight); }
.herb-benefit h3 { font-size: var(--fs-lg); color: var(--ink); margin-bottom: var(--sp-2); }
.herb-link { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--highlight); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color var(--dur-instant) var(--ease), text-decoration-color var(--dur-instant) var(--ease); }
.herb-link:hover { color: var(--highlight); text-decoration-color: var(--ink); }

/* ===== Premium Blog Layout Styles ===== */
.sticky-bar { position: fixed; bottom: 0; left: 0; right: 0; background: var(--ink); color: var(--text-on-ink); padding: var(--sp-4) var(--sp-7); display: flex; align-items: center; justify-content: center; gap: var(--sp-6); z-index: 999; border-top: 1px solid rgba(255, 255, 255, 0.08); transform: translateY(100%); transition: transform var(--dur-normal) var(--ease); }
.sticky-bar.visible { transform: translateY(0); }
.sticky-bar p { color: var(--highlight); font-size: var(--fs-md); margin: 0; font-weight: 700; }
.sticky-bar a { background: var(--highlight); color: var(--ink); font-size: var(--fs-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: var(--sp-3) var(--sp-6); border-radius: var(--radius-xs); text-decoration: none; white-space: nowrap; flex-shrink: 0; border: 1.5px solid var(--ink); transition: transform var(--dur-instant) var(--ease); }
.sticky-bar a:hover { transform: scale(1.02); text-decoration: none; }
.sticky-bar a:active { transform: scale(0.98); }

.tldr-wrap { background: var(--surface-sunken); border: 1.5px solid var(--ink); border-radius: var(--radius-sm); margin-bottom: var(--sp-8); overflow: hidden; box-shadow: var(--shadow-print); }
.tldr-header { display: flex; align-items: center; justify-content: space-between; padding: var(--sp-5) var(--sp-6); cursor: pointer; user-select: none; transition: background var(--dur-instant) var(--ease); }
.tldr-header:hover { background: var(--highlight-soft); }
.tldr-header-left { display: flex; align-items: center; gap: var(--sp-4); }
.tldr-badge { background: var(--ink); color: var(--highlight); font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 8px; border-radius: var(--radius-xs); border: 1px solid var(--ink); }
.tldr-header span { font-size: var(--fs-md); font-weight: 700; color: var(--ink); }
.tldr-toggle { font-size: var(--fs-xl); color: var(--ink); transition: transform var(--dur-fast) var(--ease); line-height: 1; font-weight: 700; }
.tldr-toggle.open { transform: rotate(45deg); }
.tldr-body { display: none; padding: 0 var(--sp-6) var(--sp-5); border-top: 1px solid var(--rule); }
.tldr-body.open { display: block; }
.tldr-body ul { list-style: none; padding: var(--sp-4) 0 0; }
.tldr-body ul li { font-size: var(--fs-md); color: var(--text-primary); padding: var(--sp-3) 0; border-bottom: 1px solid var(--rule); display: flex; gap: var(--sp-3); align-items: flex-start; }
.tldr-body ul li:last-child { border-bottom: none; }
.tldr-body ul li::before { content: '→'; color: var(--ink); font-size: var(--fs-md); font-weight: 700; flex-shrink: 0; }

.read-bar { background: var(--surface-sunken); border: 1px solid var(--rule); border-radius: var(--radius-xs); padding: var(--sp-5) var(--sp-6); display: flex; gap: var(--sp-8); flex-wrap: wrap; margin-bottom: var(--sp-8); font-size: var(--fs-sm); }
.read-bar-item { color: var(--text-muted); }
.read-bar-item strong { color: var(--text-primary); font-weight: 700; display: block; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 2px; }

.pullquote { border-left: 3px solid var(--highlight); padding: var(--sp-4) 0 var(--sp-4) var(--sp-6); margin: var(--sp-8) 0; }
.pullquote p { font-size: var(--fs-2xl); font-style: italic; color: var(--ink); line-height: 1.5; margin: 0; font-weight: 600; }

.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1.5px solid var(--ink); border-radius: var(--radius-sm); overflow: hidden; margin: var(--sp-8) 0; box-shadow: var(--shadow-print); }
.stat-box { background: var(--paper); padding: var(--sp-6) var(--sp-5); text-align: center; display: grid; gap: var(--sp-2); align-content: start; }
.stat-box + .stat-box { border-left: 1.5px solid var(--ink); }
.stat-box .num { font-size: var(--fs-5xl); font-weight: 700; color: var(--ink); line-height: 1; }
.stat-box .label { font-size: var(--fs-xs); color: var(--text-muted); line-height: 1.4; text-transform: uppercase; letter-spacing: 0.04em; }

.herb-card { background: var(--ink); color: var(--text-on-ink); border-radius: var(--radius-sm); padding: var(--sp-8); margin: var(--sp-8) 0; border: 1.5px solid var(--ink); box-shadow: var(--shadow-print); display: grid; gap: var(--sp-4); }
.herb-card h3 { color: var(--highlight); margin-top: 0; font-size: var(--fs-3xl); }
.herb-card p { color: rgba(255, 255, 255, 0.9); font-size: var(--fs-md); margin-bottom: 0; line-height: 1.7; }
.herb-card .herb-name { font-size: var(--fs-2xl); font-style: italic; color: var(--highlight); display: block; font-weight: 600; }

.highlight-box { background: var(--surface-sunken); border-left: 3px solid var(--highlight); padding: var(--sp-5) var(--sp-6); margin: var(--sp-7) 0; border-radius: 0 var(--radius-xs) var(--radius-xs) 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); border-right: 1px solid var(--rule); }
.highlight-box p { font-size: var(--fs-md); color: var(--text-muted); margin: 0; }
.highlight-box strong { color: var(--text-primary); font-weight: 700; }

.mid-cta { border: 1.5px solid var(--ink); border-radius: var(--radius-sm); padding: var(--sp-6) var(--sp-8); margin: var(--sp-8) 0; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-6); flex-wrap: wrap; background: var(--highlight-soft); box-shadow: var(--shadow-print); }
.mid-cta-text p { font-size: var(--fs-sm); color: var(--text-muted); margin: 0; line-height: 1.5; }
.mid-cta-text strong { font-size: var(--fs-xl); color: var(--ink); display: block; margin-bottom: 4px; font-weight: 700; }
.mid-cta a { background: var(--ink); color: var(--text-on-ink); font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: var(--sp-4) var(--sp-7); border-radius: var(--radius-xs); text-decoration: none; white-space: nowrap; flex-shrink: 0; border: 1.5px solid var(--ink); transition: background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease); }
.mid-cta a:hover { background: var(--ink-strong); text-decoration: none; }

.timeline { position: relative; padding-left: var(--sp-8); margin: var(--sp-8) 0; }
.timeline::before { content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: var(--rule); }
.timeline-item { position: relative; margin-bottom: var(--sp-7); }
.timeline-item::before { content: ''; position: absolute; left: -28px; top: 6px; width: 10px; height: 10px; border-radius: var(--radius-pill); background: var(--highlight); border: 2.5px solid var(--ink); }
.timeline-item .week { font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); margin-bottom: 2px; }
.timeline-item h4 { font-size: var(--fs-lg); font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
.timeline-item p { font-size: var(--fs-sm); color: var(--text-muted); margin: 0; line-height: 1.6; }

.divider { display: flex; align-items: center; gap: var(--sp-5); margin: var(--sp-9) 0; color: var(--rule); font-size: var(--fs-xl); letter-spacing: 0.3em; justify-content: center; }

.cta-block { background: var(--ink); color: var(--text-on-ink); border-radius: var(--radius-sm); padding: var(--sp-8) var(--sp-7); margin: var(--sp-9) 0; border: 1.5px solid var(--ink); box-shadow: var(--shadow-print); }
.cta-inner-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-6); flex-wrap: wrap; margin-bottom: var(--sp-6); padding-bottom: var(--sp-6); border-bottom: 1px solid rgba(255,255,255,0.12); }
.cta-block .cta-title { font-size: var(--fs-3xl); font-weight: 700; color: var(--highlight); margin-bottom: var(--sp-2); display: block; line-height: 1.2; }
.cta-block .cta-desc { color: rgba(255,255,255,0.7); font-size: var(--fs-sm); margin: 0; max-width: 420px; line-height: 1.6; }
.cta-badges { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-4); }
.cta-badge { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); color: var(--highlight); font-size: var(--fs-xs); padding: 4px 10px; border-radius: var(--radius-xs); letter-spacing: 0.04em; font-weight: 700; }
.reviews { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); margin-bottom: var(--sp-6); }
.review-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xs); padding: var(--sp-5); }
.review-stars { color: var(--highlight); font-size: var(--fs-xs); letter-spacing: 2px; margin-bottom: var(--sp-2); }
.review-text { font-size: var(--fs-sm); color: rgba(255,255,255,0.85); line-height: 1.6; margin-bottom: var(--sp-3); }
.review-name { font-size: var(--fs-xs); color: var(--highlight); opacity: 0.8; font-weight: 700; }
.cta-rating-row { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-5); }
.cta-rating-big { font-size: var(--fs-5xl); font-weight: 700; color: var(--highlight); line-height: 1; }
.cta-rating-detail { font-size: var(--fs-xs); color: rgba(255,255,255,0.7); line-height: 1.4; }
.cta-rating-stars { color: var(--highlight); letter-spacing: 2px; font-size: var(--fs-sm); }
.cta-btn { display: inline-block; background: var(--highlight); color: var(--ink); font-size: var(--fs-md); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: var(--sp-4) var(--sp-8); border-radius: var(--radius-xs); text-decoration: none; text-align: center; width: 100%; transition: transform var(--dur-instant) var(--ease); border: 1.5px solid var(--highlight); }
.cta-btn:hover { transform: scale(1.01); text-decoration: none; color: var(--ink); }
.cta-sub-note { font-size: var(--fs-xs); color: rgba(255,255,255,0.5); margin-top: var(--sp-3); text-align: center; }

.faq-section { margin: var(--sp-9) 0 var(--sp-7); }
.faq-item { border-bottom: 1px solid var(--rule); overflow: hidden; }
.faq-q { padding: var(--sp-5) 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--sp-5); font-size: var(--fs-xl); font-weight: 700; color: var(--ink); user-select: none; transition: color var(--dur-instant) var(--ease); }
.faq-q:hover { color: var(--ink-strong); }
.faq-icon { color: var(--ink); font-size: var(--fs-2xl); font-weight: 700; transition: transform var(--dur-fast) var(--ease); flex-shrink: 0; line-height: 1; }
.faq-icon.open { transform: rotate(45deg); }
.faq-a { display: none; padding: 0 0 var(--sp-5); font-size: var(--fs-md); color: var(--text-muted); line-height: 1.7; }
.faq-a.open { display: block; }

.internal-links { background: var(--surface-sunken); border: 1.5px solid var(--ink); border-radius: var(--radius-sm); padding: var(--sp-6); margin: var(--sp-8) 0; box-shadow: var(--shadow-print); }
.internal-links h3 { margin-top: 0; margin-bottom: var(--sp-4); font-size: var(--fs-xl); color: var(--ink); }
.internal-links a { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4) 0; border-bottom: 1px solid var(--rule); text-decoration: none; color: var(--text-primary); font-size: var(--fs-md); font-weight: 700; transition: color var(--dur-instant) var(--ease), padding-left var(--dur-instant) var(--ease); }
.internal-links a:last-child { border-bottom: none; padding-bottom: 0; }
.internal-links a:hover { color: var(--ink); padding-left: 6px; text-decoration: none; }
.internal-links a::before { content: '→'; color: var(--highlight); font-weight: 700; flex-shrink: 0; }

.ref-section { border-top: 1px solid var(--rule); margin-top: var(--sp-9); padding-top: var(--sp-6); }
.ref-section h3 { margin-top: 0; font-size: var(--fs-xl); color: var(--ink); }
.ref-list { list-style: none; counter-reset: refs; }
.ref-list li { counter-increment: refs; font-size: var(--fs-sm); color: var(--text-muted); padding: var(--sp-3) 0 var(--sp-3) var(--sp-6); border-bottom: 1px solid var(--rule); position: relative; line-height: 1.6; }
.ref-list li:last-child { border-bottom: none; }
.ref-list li::before { content: counter(refs); position: absolute; left: 0; top: 10px; font-size: var(--fs-xs); color: var(--ink); font-weight: 700; }

.prose p { font-size: var(--fs-xl); line-height: 1.7; color: var(--text-primary); max-width: 72ch; margin-bottom: var(--sp-5); }
.prose h2 { font-size: var(--fs-4xl); color: var(--ink); margin-top: var(--sp-9); margin-bottom: var(--sp-4); border-bottom: 1px solid var(--rule); padding-bottom: var(--sp-2); }
.prose h3 { font-size: var(--fs-2xl); color: var(--ink); margin-top: var(--sp-7); margin-bottom: var(--sp-3); }
.prose strong { font-weight: 700; }

@media (max-width: 768px) {
  .stat-row { grid-template-columns: 1fr; }
  .stat-box + .stat-box { border-left: none; border-top: 1.5px solid var(--ink); }
  .read-bar { gap: var(--sp-4); }
  .reviews { grid-template-columns: 1fr; }
  .mid-cta { flex-direction: column; align-items: stretch; }
  .mid-cta a { text-align: center; }
  .sticky-bar { flex-direction: column; gap: var(--sp-3); padding: var(--sp-5); text-align: center; }
  .cta-inner-top { flex-direction: column; align-items: stretch; }
}

/* ===== Rich blog (arth-style depth, Prachyam design) ===== */
.post-layout { display: grid; gap: var(--sp-9); align-items: start; padding-top: var(--sp-4) !important; }
@media (min-width: 1000px) { .post-layout { grid-template-columns: minmax(0, 760px) 220px; justify-content: center; } }
.post-main { min-width: 0; }
.post-main p, .post-main li { max-width: none; }

.post-hero { border-bottom: 1px solid var(--rule); padding-bottom: var(--sp-7); margin-bottom: var(--sp-7); }
.post-hero h1 { color: var(--ink); margin: var(--sp-4) 0 var(--sp-4); }
.post-hero__sub { font-size: var(--fs-2xl); color: var(--text-muted); line-height: 1.5; max-width: 40ch; }
.post-hero__meta { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; margin-top: var(--sp-5); font-size: var(--fs-sm); color: var(--text-muted); }
.post-hero__meta .dot { color: var(--rule); }
.tag { display: inline-block; font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); border: 1px solid var(--ink); padding: 4px 12px; border-radius: 2px; }
.post-cover { width: 100%; border: 1px solid var(--rule); margin-bottom: var(--sp-8); }

/* sticky TOC (shared idea with herb pages) */
.post-toc { border: 1px solid var(--rule); background: var(--paper); box-shadow: var(--shadow-print); padding: var(--sp-5); }
@media (min-width: 1000px) { .post-toc { position: sticky; top: 90px; order: 2; } }
.post-toc__head { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); font-weight: 700; margin: 0 0 var(--sp-3); }
.post-toc nav { display: grid; gap: 2px; }
.post-toc a { font-size: var(--fs-sm); color: var(--text-primary); padding: var(--sp-2) var(--sp-3); border-left: 2px solid transparent; }
.post-toc a:hover, .post-toc a.is-active { color: var(--ink); border-left-color: var(--ink); background: var(--highlight-soft); text-decoration: none; }

/* TL;DR box */
.tldr-wrap { border: 1px solid var(--rule); background: var(--surface-sunken); box-shadow: var(--shadow-print); margin-bottom: var(--sp-8); }
.tldr-header { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: var(--sp-4) var(--sp-6); cursor: pointer; background: none; border: 0; text-align: left; }
.tldr-header-left { display: flex; align-items: center; gap: var(--sp-3); }
.tldr-badge { background: var(--ink); color: var(--text-on-ink); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 3px 10px; border-radius: 2px; }
.tldr-header span { font-size: var(--fs-md); font-weight: 600; color: var(--text-primary); }
.tldr-toggle { font-size: 20px; color: var(--text-muted); line-height: 1; transition: transform var(--dur-fast) var(--ease); }
.tldr-toggle.open { transform: rotate(45deg); }
.tldr-body { display: none; padding: 0 var(--sp-6) var(--sp-5); }
.tldr-body.open { display: block; }
.tldr-body ul { list-style: none; padding: 0; margin: 0; }
.tldr-body li { display: flex; gap: var(--sp-3); font-size: var(--fs-md); padding: var(--sp-3) 0; border-top: 1px solid var(--rule); }
.tldr-body li::before { content: '✓'; color: var(--ink); flex: none; font-weight: 700; }

/* prose body components (used inside admin HTML) */
.post-body h2 { font-size: var(--fs-3xl); color: var(--ink); margin: var(--sp-11) 0 var(--sp-4); scroll-margin-top: 90px; }
.post-body h3 { font-size: var(--fs-md); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); margin: var(--sp-8) 0 var(--sp-3); }
.post-body > p { font-size: var(--fs-xl); line-height: 1.85; margin-bottom: var(--sp-6); }
.post-body a { color: var(--ink); text-decoration: underline; }

.pullquote { border-left: 3px solid var(--highlight); padding: var(--sp-4) 0 var(--sp-4) var(--sp-6); margin: var(--sp-9) 0; }
.pullquote p { font-size: var(--fs-2xl); font-style: italic; color: var(--ink); line-height: 1.5; margin: 0; max-width: none; }

.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--rule); background: var(--paper); box-shadow: var(--shadow-print); margin: var(--sp-8) 0; }
.stat-box { padding: var(--sp-6); text-align: center; border-right: 1px solid var(--rule); }
.stat-box:last-child { border-right: 0; }
.stat-box .num { font-size: var(--fs-5xl); font-weight: 700; color: var(--ink); line-height: 1; margin-bottom: var(--sp-2); font-variant-numeric: tabular-nums; }
.stat-box .label { font-size: var(--fs-sm); color: var(--text-muted); line-height: 1.4; }
@media (max-width: 560px) { .stat-row { grid-template-columns: 1fr; } .stat-box { border-right: 0; border-bottom: 1px solid var(--rule); } }

.herb-card { background: var(--ink); color: var(--text-on-ink); padding: var(--sp-8); margin: var(--sp-9) 0; box-shadow: var(--shadow-2); }
.herb-card h3 { color: var(--highlight); margin-top: 0; }
.herb-card p { color: rgba(255,255,255,.85); font-size: var(--fs-md); margin-bottom: var(--sp-4); max-width: none; }
.herb-card p:last-child { margin-bottom: 0; }
.herb-card .herb-name { font-size: var(--fs-2xl); font-style: italic; color: var(--text-on-ink); display: block; margin-bottom: var(--sp-2); }

.highlight-box { background: var(--highlight-soft); border-left: 3px solid var(--ink); padding: var(--sp-5) var(--sp-6); margin: var(--sp-8) 0; }
.highlight-box p { font-size: var(--fs-md); margin: 0; max-width: none; }

.mid-cta, .cta-block { border: 1px solid var(--rule); background: var(--surface-sunken); box-shadow: var(--shadow-print); }
.mid-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-6); flex-wrap: wrap; padding: var(--sp-6) var(--sp-7); margin: var(--sp-9) 0; }
.mid-cta-text strong { display: block; color: var(--ink); margin-bottom: 2px; }
.mid-cta-text p { font-size: var(--fs-sm); color: var(--text-muted); margin: 0; max-width: none; }
.mid-cta a, .cta-btn { background: var(--ink); color: var(--text-on-ink); font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: var(--sp-3) var(--sp-6); white-space: nowrap; }
.mid-cta a:hover, .cta-btn:hover { background: var(--ink-strong, #2a3d12); text-decoration: none; }
.cta-block { padding: var(--sp-9); margin: var(--sp-10) 0; background: var(--ink); color: var(--text-on-ink); }
.cta-block .cta-title { font-size: var(--fs-3xl); color: var(--text-on-ink); display: block; margin-bottom: var(--sp-2); }
.cta-block .cta-desc { color: rgba(255,255,255,.8); font-size: var(--fs-sm); max-width: 46ch; }
.cta-btn { display: inline-block; background: var(--highlight); color: var(--ink); margin-top: var(--sp-5); }

.timeline { position: relative; padding-left: var(--sp-8); margin: var(--sp-8) 0; }
.timeline::before { content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: var(--rule); }
.timeline-item { position: relative; margin-bottom: var(--sp-7); }
.timeline-item::before { content: ''; position: absolute; left: -24px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--ink); }
.timeline-item .week { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin-bottom: 2px; }
.timeline-item h4 { font-size: var(--fs-lg); margin-bottom: var(--sp-1); }
.timeline-item p { font-size: var(--fs-sm); color: var(--text-muted); margin: 0; max-width: none; }

.divider { display: flex; align-items: center; gap: var(--sp-5); margin: var(--sp-10) 0; color: var(--rule); letter-spacing: .3em; }
.divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--rule); }

/* FAQ */
.faq-section { margin: var(--sp-11) 0 var(--sp-8); }
.faq-section > h2 { font-size: var(--fs-3xl); color: var(--ink); margin-bottom: var(--sp-4); }
.faq-item { border-bottom: 1px solid var(--rule); }
.faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: var(--sp-4); padding: var(--sp-5) 0; background: none; border: 0; text-align: left; cursor: pointer; font-size: var(--fs-lg); font-weight: 600; color: var(--text-primary); }
.faq-icon { color: var(--ink); font-size: 22px; line-height: 1; flex: none; transition: transform var(--dur-fast) var(--ease); }
.faq-icon.open { transform: rotate(45deg); }
.faq-a { display: none; padding: 0 0 var(--sp-5); }
.faq-a.open { display: block; }
.faq-a p { font-size: var(--fs-md); color: var(--text-muted); margin: 0 0 var(--sp-3); max-width: none; }

/* internal links + references */
.internal-links { border: 1px solid var(--rule); background: var(--surface-sunken); box-shadow: var(--shadow-print); padding: var(--sp-6); margin: var(--sp-9) 0; }
.internal-links h3 { margin: 0 0 var(--sp-3); font-size: var(--fs-md); color: var(--ink); text-transform: uppercase; letter-spacing: .06em; }
.internal-links a { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) 0; border-bottom: 1px solid var(--rule); color: var(--text-primary); font-size: var(--fs-md); }
.internal-links a:last-child { border-bottom: 0; }
.internal-links a::before { content: '→'; color: var(--ink); }
.internal-links a:hover { color: var(--ink); }
.ref-section { border-top: 1px solid var(--rule); margin-top: var(--sp-10); padding-top: var(--sp-7); }
.ref-section h3 { margin: 0 0 var(--sp-4); font-size: var(--fs-md); color: var(--ink); text-transform: uppercase; letter-spacing: .06em; }
.ref-list { list-style: none; counter-reset: refs; padding: 0; }
.ref-list li { counter-increment: refs; font-size: var(--fs-sm); color: var(--text-muted); padding: var(--sp-3) 0 var(--sp-3) var(--sp-7); border-bottom: 1px solid var(--rule); position: relative; max-width: none; }
.ref-list li::before { content: counter(refs); position: absolute; left: 0; top: var(--sp-3); font-size: var(--fs-xs); color: var(--ink); font-weight: 700; }

/* sticky conversion bar */
.sticky-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: flex; align-items: center; justify-content: center; gap: var(--sp-6); background: var(--ink); color: var(--text-on-ink); padding: var(--sp-4) var(--sp-6); transform: translateY(110%); transition: transform var(--dur-fast) var(--ease); }
.sticky-bar.visible { transform: none; }
.sticky-bar p { color: rgba(255,255,255,.8); font-size: var(--fs-sm); margin: 0; }
.sticky-bar a { background: var(--highlight); color: var(--ink); font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: var(--sp-3) var(--sp-6); white-space: nowrap; }
.sticky-bar a:hover { text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .sticky-bar { transition: none; } }
@media (max-width: 560px) { .sticky-bar { flex-direction: column; gap: var(--sp-2); } .mid-cta { flex-direction: column; align-items: stretch; } }

/* blog byline + share + author block */
.post-byline { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-6); }
.post-byline__avatar { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--rule); background: var(--highlight-soft); display: flex; align-items: center; justify-content: center; overflow: hidden; flex: none; }
.post-byline__avatar img { width: 100%; height: 100%; object-fit: cover; }
.post-byline__avatar .icon { color: var(--ink); }
.post-byline__who { display: grid; line-height: 1.3; }
.post-byline__who strong { color: var(--ink); }
.share-row { display: flex; align-items: center; gap: var(--sp-3); margin: var(--sp-9) 0 var(--sp-6); padding-top: var(--sp-6); border-top: 1px solid var(--rule); }
.share-row__label { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); font-weight: 700; }
.share-btn { width: 40px; height: 40px; border: 1px solid var(--rule); background: var(--paper); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 50%; transition: background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease); }
.share-btn:hover { background: var(--highlight-soft); border-color: var(--ink); }
.share-btn.is-copied { background: var(--ink); color: var(--text-on-ink); }
.author-block { display: flex; gap: var(--sp-5); align-items: flex-start; border: 1px solid var(--rule); background: var(--surface-sunken); box-shadow: var(--shadow-print); padding: var(--sp-6); margin-bottom: var(--sp-8); }
.author-block__avatar { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--rule); background: var(--highlight-soft); display: flex; align-items: center; justify-content: center; overflow: hidden; flex: none; }
.author-block__avatar img { width: 100%; height: 100%; object-fit: cover; }
.author-block__avatar .icon { color: var(--ink); }
.author-block strong { color: var(--ink); }
.author-block p { margin: var(--sp-1) 0 0; max-width: none; }

/* admin block builder */
.blk { border: 1px solid var(--border-strong, #ccc); border-radius: 4px; padding: 12px; margin-bottom: 10px; background: var(--paper, #fff); position: relative; }
.blk__bar { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.blk__bar select { max-width: 180px; }
.blk__bar .spacer { flex: 1; }
.blk__move { cursor: pointer; padding: 2px 8px; }
.blk__fields > * { margin-bottom: 6px; }
.blk__grp { display: none; }
.blk__grp.on { display: block; }
.blk__grp--stats { display: none; grid-template-columns: 1fr 2fr; gap: 6px; }
.blk__grp--stats.on { display: grid; }

/* quantity stepper sm helper */
.qty--sm { border-width: 1px; }
.qty--sm .qty__btn { width: 32px; height: 32px; }
.qty--sm .qty__input { width: 36px; height: 32px; font-size: var(--fs-md); }

/* ---- Self-assessment tests (replaces dosha quiz band) ---- */
.test-menu{display:grid;gap:var(--sp-3)}
.test-btn{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--paper,#fff);border:1px solid var(--rule,#e2e2d8);border-radius:14px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.test-btn:hover{border-color:var(--ink,#3A5311);transform:translateY(-1px);box-shadow:0 6px 18px rgba(58,83,17,.08)}
.test-btn__icon{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--paper-warm,#f4f4ec);color:var(--ink,#3A5311)}
.test-btn__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.test-btn__body strong{font-weight:700}
.test-btn__go{color:var(--text-muted,#8a8a7d)}

.test-group-title{margin:var(--sp-6) 0 var(--sp-3);font-size:var(--fs-lg,1.2rem)}
.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-4)}
.test-card{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5);background:var(--paper,#fff);border:1px solid var(--rule,#e2e2d8);border-radius:14px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.test-card:hover{border-color:var(--ink,#3A5311);transform:translateY(-2px);box-shadow:0 8px 22px rgba(58,83,17,.09)}
.test-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--paper-warm,#f4f4ec);color:var(--ink,#3A5311)}
.test-card__name{font-size:var(--fs-md,1.05rem)}
.test-card__tag{flex:1}
.test-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2)}
.test-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--highlight,#AECD6E);color:#20261a;font-size:11px;font-weight:700;letter-spacing:.02em}

.test-page__grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-7,32px);align-items:start}
.test-page .test-lead{margin:0 0 var(--sp-4)}
.test-aside{display:grid;gap:var(--sp-5);position:sticky;top:90px}
.test-cite,.test-history{background:var(--paper-warm,#f4f4ec);border:1px solid var(--rule,#e2e2d8);border-radius:12px;padding:var(--sp-4) var(--sp-5)}
.test-cite h3,.test-history h3{margin:0 0 var(--sp-2)}
.test-disclaimer{margin-top:var(--sp-3);color:var(--text-muted,#6b6b5f);display:flex;gap:6px;align-items:flex-start}
.test-history ul{list-style:none;padding:0;margin:0 0 var(--sp-2);display:grid;gap:4px}
.test-history li{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm,.9rem)}

.test-result__save{margin:var(--sp-3) 0}
.test-saved{color:var(--ink,#3A5311);font-weight:600;font-size:var(--fs-sm,.9rem)}
.test-result[data-severity="high"] .dosha-result__name{color:#8a1f1f}
.test-result[data-severity="low"] .dosha-result__name{color:var(--ink,#3A5311)}

/* dashboard Assessments tab */
.assess-card .assess-spark{margin:var(--sp-2) 0}
.assess-card .spark{max-width:240px;height:44px}
.assess-list{list-style:none;padding:0;margin:var(--sp-3) 0;display:grid;gap:4px}
.assess-list li{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm,.9rem);border-bottom:1px dashed var(--rule,#e2e2d8);padding-bottom:4px}

@media (max-width:820px){.test-page__grid{grid-template-columns:1fr}.test-aside{position:static}}

/* language toggle (self-tests) */
.lang-toggle{display:inline-flex;border:1px solid var(--rule,#e2e2d8);border-radius:999px;overflow:hidden;font-size:13px}
.lang-toggle a{padding:5px 14px;text-decoration:none;color:var(--text-muted,#6b6b5f);background:var(--paper,#fff)}
.lang-toggle a.is-active{background:var(--ink,#3A5311);color:#fff;font-weight:700}

/* ---- Google sign-in ---- */
.auth-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0;color:var(--muted,#888);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.auth-divider::before,.auth-divider::after{content:"";flex:1;border-top:1px solid var(--rule,#ddd)}
.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.google-btn.is-busy{opacity:.6;pointer-events:none}

/* ============================================================
   Mobile view fixes (<=899px)
   ============================================================ */
@media (max-width:899px){
  /* --- Hero: stack image above the copy so it is never crop-hidden.
     Landscape banners (16:9) cropped to a ~0.65 portrait slide lost
     ~60% of their width; in flow they show whole. --- */
  .hero__slide{min-height:auto;display:block}
  .hero__media{position:relative;inset:auto}
  .hero__media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
  .hero__media::after{display:none}
  .hero__sticker{position:static;padding-top:var(--sp-7)}
  .hero__sticker span{font-size:clamp(2rem,8.5vw,3rem);max-width:none;text-shadow:3px 3px 0 var(--ink)}
  .hero__content{padding-block:var(--sp-5) var(--sp-10);gap:var(--sp-5)}
  .hero__eyebrow{color:var(--ink)}
  .hero__sub{color:var(--text-primary);text-shadow:none;font-size:var(--fs-xl)}
  .hero__controls{position:static;justify-content:center;padding-bottom:var(--sp-7)}
  .hero__dot::after{background:var(--ink-tint);border-color:var(--ink)}
  .hero__dot[aria-current="true"]::after{background:var(--ink)}

  /* --- Rail arrows (Shop by Concern, Best Sellers, Patent
     Formulations, In Demand) read as solid green on mobile --- */
  .btn--secondary[data-rail-prev],.btn--secondary[data-rail-next]{
    background:var(--ink);color:var(--text-on-ink);border-color:var(--ink)
  }
  .btn--secondary[data-rail-prev]:hover,.btn--secondary[data-rail-next]:hover{
    background:var(--ink-strong);border-color:var(--ink-strong)
  }
}

/* --- Collapsible groups inside the mobile nav drawer --- */
.mobile-nav__group{border-bottom:1px solid var(--rule)}
.mobile-nav__group summary{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  color:var(--ink);font-size:var(--fs-3xl);font-weight:700;
  padding-block:var(--sp-4);cursor:pointer;list-style:none
}
.mobile-nav__group summary::-webkit-details-marker{display:none}
.mobile-nav__group summary .icon{transition:transform var(--dur-fast) var(--ease);flex-shrink:0}
.mobile-nav__group[open] summary .icon{transform:rotate(180deg)}
.mobile-nav__sublinks{display:grid;gap:var(--sp-1);padding:0 0 var(--sp-5) var(--sp-5)}
.mobile-nav__sublinks a{
  display:block;color:var(--text-primary);font-size:var(--fs-xl);font-weight:500;
  padding-block:var(--sp-3);border-bottom:0
}
.mobile-nav__sublinks a:hover{color:var(--ink);text-decoration:none}
@media (min-width:900px){.hero__eyebrow{color:#fff}}

/* --- Media tiles (category/concern tiles, home collage). Deferred videos
   reserve their box before the src is attached, so nothing shifts. --- */
.media-tile{width:100%;height:100%;object-fit:cover;display:block}
video.media-tile{background:var(--surface-sunken)}

/* ============================================================
   Mobile header fit. The brand lockup's tagline is nowrap, so at
   390px the row measured 415px and the cart/account icons were
   pushed outside the viewport — the nav looked absent, and the
   25px of document overflow also clipped the offer popup and the
   consent bar. Let the brand shrink; never the controls.
   ============================================================ */
@media (max-width:899px){
  .site-header__inner{gap:var(--sp-4)}
  .brand-lockup{min-width:0;flex:1 1 auto;overflow:hidden}
  .brand-lockup__name{font-size:var(--fs-2xl);overflow:hidden;text-overflow:ellipsis}
  .brand-lockup__tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .site-header__burger,.site-header__actions{flex:0 0 auto}
  .site-header__actions{gap:0}
  .site-header__actions .icon-btn{width:40px}
}
@media (max-width:520px){
  /* Below this the tagline cannot fit beside three controls at all. */
  .brand-lockup__tag{display:none}
  .brand-lockup__name{font-size:var(--fs-xl);letter-spacing:0}
}

/* --- Narrow Android phones (360px) and the 320px floor. The band cells
   carry 40px of side padding and several labels are unbreakable, which
   together pushed the document past the viewport. --- */
@media (max-width:400px){
  .container{padding-inline:var(--sp-5)}
  .band__cell{padding-inline:var(--sp-6)}
  .test-btn{gap:var(--sp-3);padding-inline:var(--sp-4)}
  .test-menu,.test-btn,.test-btn__body{min-width:0}
  .band__grid > *,.band__cell > *,.band__cell{min-width:0}
  /* Two nowrap CTAs side by side do not fit 320px; let them stack. */
  .cta-duo{flex-wrap:wrap}
  .cta-duo .btn{flex:1 1 100%}
  .btn{white-space:normal;padding-inline:var(--sp-6)}
  /* A 40px display word is wider than a 320px screen on its own. */
  h1,h2,h3,h4{overflow-wrap:anywhere}
  .consult-band__body h2{font-size:var(--fs-5xl)}
  /* Three stat columns cannot hold their labels at 320px. */
  .stat-band{grid-template-columns:1fr}
  .stat-band__item{border-left:0;border-top:1px solid var(--rule)}
  .stat-band__item:first-child{border-top:0}
  .consult-band__media,.consult-band__media img{min-width:0;max-width:100%;height:auto}
  .test-btn__body,.test-btn__body *,
  .band__cell h1,.band__cell h2,.band__cell h3,.band__cell p{overflow-wrap:anywhere}
}

/* The 320px floor (iPhone SE 1st gen). Rather than shrink each offender in
   turn, step the display type tokens down — every remaining overflow at this
   width was a single oversized word or figure. */
@media (max-width:340px){
  :root{
    --fs-7xl:clamp(1.75rem,8vw,2.5rem);
    --fs-6xl:1.875rem;
    --fs-5xl:1.5rem;
    --fs-4xl:1.25rem;
    --fs-hero:clamp(2rem,8.5vw,3rem);
  }
}

/* Answer paragraph under the herb H1 — written to be quotable on its own, so it
   reads as a lead, set apart from the property list without shouting. */
.herb-hero__summary {
  /* Spans both hero tracks. Confined to the body column it rendered as a
     narrow strip beside the 200px image; the answer paragraph is the block
     most likely to be read and quoted, so it gets the full width. */
  grid-column: 1 / -1;
  margin: var(--sp-5) 0 0;
  padding-left: var(--sp-5);
  border-left: 3px solid var(--accent, #3A5311);
  font-size: var(--fs-md);
  line-height: 1.65;
  color: var(--text-primary);
}

/* ---- Tax invoice -------------------------------------------------------- */
.invoice-doc__actions { display:flex; gap:var(--sp-3); margin-bottom:var(--sp-7); }
.invoice-doc__head,
.invoice-doc__parties {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-6);
  padding-bottom:var(--sp-6); margin-bottom:var(--sp-6);
  border-bottom:1px solid var(--rule);
}
.invoice-doc__seller { text-align:right; font-size:var(--fs-sm); line-height:1.7; }
.invoice-doc__parties { font-size:var(--fs-sm); line-height:1.7; }
.invoice-doc__table { width:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.invoice-doc__table th,
.invoice-doc__table td { padding:var(--sp-3); border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
.invoice-doc__table th { font-weight:700; white-space:nowrap; }
.invoice-doc__table .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.invoice-doc__totals { max-width:26rem; margin-left:auto; margin-top:var(--sp-6); }
.invoice-doc__foot { margin-top:var(--sp-8); padding-top:var(--sp-5); border-top:1px solid var(--rule); }

/* The browser's "Save as PDF" is the PDF generator, so the printed page has to
   be the document: drop site chrome, force legible black-on-white, and keep
   the table from splitting a row across pages. */
@media print {
  .site-header, .site-footer, .no-print, .drawer, .announcement,
  .to-top, .buy-bar, .sticky-bar, .consent-banner, .popup { display:none !important; }
  body { background:#fff; color:#000; font-size:11pt; }
  .section { padding:0; }
  .container { max-width:none; padding:0; }
  .invoice-doc__table { font-size:10pt; }
  .invoice-doc__table tr { page-break-inside:avoid; }
  .invoice-doc__table th, .invoice-doc__table td { border-bottom:1px solid #ccc; }
  a[href]::after { content:""; }
  @page { margin:14mm; }
}

/* Dravya-guna properties are now a semantic <table> so answer engines can parse
   them; display:contents on tbody keeps each row rendering as the same card the
   div version produced, so the layout is unchanged. */
.herb-props caption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.herb-props tbody{display:contents}
.herb-prop th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;text-align:left;padding:0}
.herb-prop td{color:var(--ink);font-weight:700;padding:0}

/* Pre-chunked extract under the property table. */
.herb-takeaways{border-left:3px solid var(--ink);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-8);background:var(--paper)}
.herb-takeaways h2{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--sp-4)}
.herb-takeaways ul{margin:0;padding-left:var(--sp-6)}
.herb-takeaways li{margin-bottom:2px}
.herb-hero__media figcaption{margin-top:var(--sp-3)}
.herb-hero__credit{opacity:.75;font-size:var(--fs-xs)}
.herb-hero__credit a{text-decoration:underline}

/* About — founder panel.
   The portrait is 3:4. Left in normal flow it sets the row height, so the
   copy column finished around 55% down and the rest of the panel was empty
   green. On desktop the image is taken out of flow and stretched to fill
   whatever height the copy needs, so the two columns always end together. */
.founder{margin-top:var(--sp-8);margin-bottom:var(--sp-8)}
.founder__split{display:grid;gap:0;background:var(--ink);color:#fff;border-radius:var(--radius-lg);overflow:hidden}
.founder__figure{margin:0;position:relative}
.founder__img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;border-radius:0;aspect-ratio:4/5}
.founder__caption{position:absolute;left:0;right:0;bottom:0;padding:var(--sp-5);font-size:var(--fs-xs);line-height:1.45;color:rgba(255,255,255,.9);background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,0))}

.founder__body{display:grid;align-content:center;gap:var(--sp-5);padding:var(--sp-10)}
.founder__eyebrow{color:var(--primary);display:block;margin:0}
.founder__heading{color:#fff;font-size:var(--fs-4xl);line-height:1.15;margin:0}
.founder__text{color:rgba(255,255,255,.82);font-size:var(--fs-lg);line-height:1.65;margin:0;max-width:54ch}

/* The house standard, set apart from the narrative. Deliberately not a
   blockquote: it is the rule the practice works to, not a quotation. */
.founder__standard{margin:0;padding-left:var(--sp-5);border-left:3px solid var(--primary);color:#fff;font-size:var(--fs-xl);line-height:1.45;font-style:italic;max-width:46ch}

.founder__people{display:grid;gap:var(--sp-5);margin:0;padding:var(--sp-6) 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.founder__person{display:grid;gap:3px}
.founder__name{font-weight:700;color:#fff;font-size:var(--fs-md);letter-spacing:-0.01em}
.founder__role{margin:0;font-size:var(--fs-sm);color:rgba(255,255,255,.62)}
.founder__text--tight{font-size:var(--fs-md);color:rgba(255,255,255,.7)}

@media (min-width:820px){
  .founder__split{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:stretch}
  .founder__figure{min-height:100%}
  .founder__img{position:absolute;inset:0;aspect-ratio:auto}
  .founder__people{grid-template-columns:1fr 1fr;gap:var(--sp-7)}
}
@media (max-width:819px){
  .founder__body{padding:var(--sp-8) var(--sp-5)}
  .founder__standard{font-size:var(--fs-lg)}
}

/* About — heritage hero and chronology.
   The h1 used to carry .h-link, which is inline-flex: that turned the text
   node and the <span> into two flex items, so "Ancient Wisdom. / Modern
   Science." wrapped as "Ancient  Modern / Wisdom. Science.". It is a heading,
   not a link, so it gets its own type styles here. */
.heritage-hero{padding-top:var(--sp-10);padding-bottom:var(--sp-10)}
.heritage-hero__inner{display:grid;gap:var(--sp-6);justify-items:start}
.heritage-hero__title{font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;letter-spacing:-0.02em;margin:0}
.heritage-hero__title span{color:var(--primary)}
.heritage-hero__lead{max-width:60ch;margin:0}
.heritage-hero__note{max-width:60ch;font-size:var(--fs-sm);margin:0}

.chrono{list-style:none;margin:var(--sp-4) 0 var(--sp-2);padding:0;width:100%;display:grid;gap:var(--sp-7)}
.chrono__step{position:relative;padding-top:var(--sp-6);border-top:2px solid var(--rule)}
.chrono__step::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--rule)}
.chrono__step--now::before{background:var(--primary);border-color:var(--primary)}
.chrono__year{display:block;font-size:var(--fs-sm);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--primary);margin-bottom:var(--sp-2)}
.chrono__title{font-size:var(--fs-2xl);line-height:1.2;margin:0 0 var(--sp-2)}
.chrono__text{font-size:var(--fs-md);line-height:1.6;color:var(--text-muted);margin:0;max-width:38ch}
@media (min-width:820px){
  .chrono{grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
}

/* Centred section head. .section__head is a space-between flex row, so an
   eyebrow above a centred heading has to be its own stack. */
.head-stack{display:grid;justify-items:center;text-align:center;gap:var(--sp-2);margin-bottom:var(--sp-10)}
.head-stack h2{margin:0}

.mv__cell{padding:var(--sp-10)}
.mv__heading{font-size:2rem;margin-bottom:var(--sp-4)}
.mv__text{font-size:1.1rem;line-height:1.6;max-width:66ch}

.founder{margin-top:var(--sp-8);margin-bottom:var(--sp-8)}
/* Value tiles. .tile__label is display:inline-flex, which blockifies as a grid
   item — so it filled the tile and parked its text at flex-start, left of a
   tile that was otherwise centred. It needs centring on the flex axis, not
   text-align. */
.value-tile{text-align:center;justify-items:center}
.value-tile__icon{display:flex;justify-content:center;margin-bottom:var(--sp-3)}
.value-tile__icon--primary{color:var(--primary)}
.value-tile__icon--secondary{color:var(--secondary)}
.value-tile__label{font-size:1.25rem;justify-content:center;text-align:center}
.value-tile p{max-width:34ch;margin-inline:auto}

/* Mission and Vision share the band, 40 / 60. The default --split is a capped
   420px first column, which left Mission cramped and a gap beside Vision. */
@media (min-width:900px){
  .mv .band__grid--split{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}
}

/* PLP key-facts strip — a compact definition list under the listing heading. */
.plp-facts{display:grid;gap:0;margin:var(--sp-4) 0 0;max-width:34ch}
.plp-facts__row{display:flex;justify-content:space-between;gap:var(--sp-4);padding:6px 0;border-bottom:1px solid var(--rule)}
.plp-facts dt{font-size:var(--fs-sm);color:var(--text-muted)}
.plp-facts dd{margin:0;font-size:var(--fs-sm);font-weight:600;text-align:right}

/* ===== Mobile UX pass ===== */
/* Never let the page scroll sideways; wide content scrolls inside its own box.
   overflow-x:clip on <html> (not body) avoids trapping position:sticky. */
html{overflow-x:clip}
img,video,table,pre{max-width:100%}
.post-body table{display:block;width:100%;overflow-x:auto}

/* iOS Safari force-zooms a focused field whose font-size is < 16px. Desktop
   keeps the compact 13px; phones get 16px so focusing never zooms the page. */
@media (max-width:768px){
  .input,.select{font-size:16px}
}

/* The header mini-cart is hover-triggered (onmouseenter), so it can never open
   on a touch device — hide it there; the cart icon still links to /cart. */
@media (max-width:899px){
  .mini-cart-dropdown{display:none !important}
}

/* Lift the smallest secondary text off 11px on small phones for readability. */
@media (max-width:560px){
  .text-xs,.test-badge{font-size:12px}
}

/* PDP sticky buy bar — phones only, shown once the main buy form scrolls away. */
.pdp-sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:none;gap:var(--sp-5);align-items:center;justify-content:space-between;
  padding:var(--sp-4) var(--sp-6);background:var(--paper,#fff);
  border-top:1px solid var(--rule);box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.pdp-sticky-buy.is-visible{display:flex}
.pdp-sticky-buy__info{display:flex;flex-direction:column;min-width:0}
.pdp-sticky-buy__name{font-weight:700;font-size:var(--fs-md);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.pdp-sticky-buy__price{font-weight:700;font-variant-numeric:tabular-nums}
.pdp-sticky-buy .btn{white-space:nowrap;flex-shrink:0}
@media (min-width:900px){.pdp-sticky-buy{display:none !important}}
/* When the buy bar is up, float the consult badge above it, not over it. */
body.pdp-buybar-open .sticky-consult-badge{bottom:calc(64px + var(--sp-6))}

/* ============================================================
   Mobile-only layout corrections (<=899px)
   Requested against the phone view; the desktop layout above is
   deliberately untouched, so every rule here is scoped.
   ============================================================ */
@media (max-width:899px){

  /* --- Hero: the headline belongs on the photograph, not under it.
     The image stays in flow (stacking it was what stopped the 16:9
     banner being cropped to a portrait slide), and the sticker is
     laid over it by putting both in the same grid cell — no magic
     offsets, so it holds at any image height. The scrim comes back
     because white-on-photo needs it. --- */
  .hero__slide{display:grid;grid-template-columns:100%;grid-template-rows:auto auto}
  .hero__media{grid-area:1/1}
  .hero__media::after{display:block}
  .hero__sticker{grid-area:1/1;align-self:end;position:static;padding-top:0;padding-bottom:var(--sp-7)}
  .hero__content{grid-area:2/1}

  /* --- Self-tests band: heading first, then the list of tests.
     The markup puts the test menu first because on a wide screen it
     sits in the left column; in one column that reads as a menu with
     no title. --- */
  .band__grid--split-rev .intro-cell{order:-1}

  /* --- Product cards line up across the grid: media, then a name
     block that always reserves its two clamped lines, then a footer
     pushed to the bottom of the card. Without this a one-line name or
     a missing Sanskrit line lifted the price and Quick Add above the
     neighbouring card's. --- */
  .product-card{grid-template-rows:auto 1fr auto;align-content:stretch;height:100%}
  .product-card__name{min-height:2.5em}
  .product-card__footer{align-self:end}

  /* --- Healing Solutions strips: photograph first, description under
     it. Stacking a flex row gives content-then-media because that is
     DOM order; column-reverse is the whole fix. --- */
  .premium-strip-card,
  .premium-strip-card.is-reversed{flex-direction:column-reverse !important}

  /* The beige panel around the pack shot (.pdp-gallery__main once had
     background:var(--paper-warm) and 2rem of padding) is already gone from
     this stylesheet; it only survives on the deployed copy. Nothing to add
     here — it goes when the site is next uploaded. */

  /* --- Herb byline: it is a <p> of running text with an icon, but
     display:flex turned each text run either side of the <time> into
     its own flex item, so three fragments were squeezed onto one row
     and overlapped. It is prose — let it be prose. --- */
  .herb-byline{display:block}
  .herb-byline .icon{vertical-align:-2px;margin-right:var(--sp-2)}
}

/* Hero and contents list are grid children of .herb-layout now, so the
   wide layout is restored by area rather than by nesting. */
@media (min-width:1000px){
  .herb-layout{grid-template-areas:"hero toc" "main toc"}
  .herb-hero{grid-area:hero}
  .herb-toc{grid-area:toc}
  .herb-main{grid-area:main}
}
/* .herb-main lifted the 70ch cap for the body copy; the hero left that
   container, so it needs the same. */
.herb-hero p{max-width:none}
