/* Mockup-only styles (Oct 22 homepage options + Thrive 101). Loaded after styles.css. */
.skip{position:absolute;left:-999px;top:0;background:var(--forest);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem}
.nav nav{gap:1.3rem}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;border:1px solid var(--forest);border-radius:999px;padding:.45rem 1rem;color:var(--forest);font-weight:400;font-size:.92rem}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] .mnav-panel{display:flex}
.mnav-panel{display:none;flex-direction:column;position:absolute;right:0;top:calc(100% + .6rem);background:var(--mist);border:1px solid var(--oat);border-radius:14px;padding:.6rem;min-width:230px;box-shadow:0 14px 40px rgba(21,40,30,.15)}
.mnav-panel a{padding:.65rem .8rem;text-decoration:none;color:var(--forest);border-radius:8px}
.mnav-panel a:hover{background:var(--oat)}
@media (max-width:880px){.mnav{display:block}.nav .right .btn.solid{display:none}}
.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--moss);font-weight:500;margin-bottom:.8rem}
.tagline{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--moss);margin:.2rem 0 1rem}
.sec{padding:4.5rem 0}
.sec.alt{background:var(--mist)}
.sec.dark{background:var(--forest);color:var(--linen)}
.sec.dark h2,.sec.dark h3{color:var(--linen)}
.sec h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.8rem}
.lede{max-width:640px;font-size:1.08rem}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
/* hero variants */
.mh{padding:4.5rem 0 3.5rem}
.mh h1{font-size:clamp(2.4rem,5.4vw,4.1rem);margin-bottom:.6rem;max-width:820px}
.mh .grid{display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:center}
.mh-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.mh-photos picture:first-child{grid-row:span 2}
.mh-photos img{width:100%;height:100%;object-fit:contain;background:#fff!important;padding:1rem;border-radius:18px;background:var(--mist)}
.quick{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.quick a{font-size:.88rem;padding:.4rem .9rem;border:1px solid var(--oat);border-radius:999px;text-decoration:none;color:var(--forest);background:var(--mist)}
.quick a:hover{border-color:var(--sage)}
/* category grid */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.cat{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:1.3rem;border-radius:16px;background:var(--mist);border:1px solid var(--oat);text-decoration:none;color:var(--forest);transition:transform .2s}
.cat:hover{transform:translateY(-3px);border-color:var(--sage)}
.cat b{font-family:var(--serif);font-size:1.45rem;font-weight:500}
.cat span{font-size:.88rem;color:var(--bark)}
/* product cards */
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2rem}
.prod{background:#fff;border:1px solid var(--oat);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.prod picture img,.prod>img{aspect-ratio:1/1;object-fit:contain;width:100%;background:#fff;padding:.8rem}
.prod .ph-img{aspect-ratio:1/1;display:flex;flex-direction:column;gap:.6rem;align-items:center;justify-content:center;background:var(--forest);padding:1.5rem;text-align:center}
.prod .ph-img img{aspect-ratio:auto;background:none;width:70%;object-fit:contain}
.prod .pbody{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.prod .pbrand{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}
.prod .pname{font-family:var(--serif);font-size:1.2rem;line-height:1.2;color:var(--forest)}
.prod .price{margin-top:auto;padding-top:.4rem;font-weight:500}
/* brands */
.blogos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.2rem 3rem;margin-top:2rem}
.blogos a{display:block}
.blogos img{height:46px;width:auto;object-fit:contain;filter:saturate(.9)}
/* teaser */
.t101{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.t101 a,.t101 div.card{display:block;padding:1.4rem;border-radius:16px;background:var(--mist);border:1px solid var(--oat);text-decoration:none;color:var(--ink)}
.sec.dark .t101 a,.sec.dark .t101 div.card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:var(--linen)}
.t101 .lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.sec.dark .t101 .lbl{color:var(--leaf)}
.t101 h3{font-size:1.45rem;margin:.4rem 0}
.t101 p{font-size:.95rem}
.t101 .soon{display:inline-block;margin-top:.6rem;font-size:.78rem;padding:.15rem .6rem;border-radius:999px;background:var(--oat);color:var(--bark)}
/* visit (B) */
.visit-card{background:#fff;border:1px solid var(--oat);border-radius:20px;padding:1.8rem;box-shadow:0 18px 50px rgba(21,40,30,.08)}
.visit-card h2{font-size:1.9rem}
.openstat{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:var(--forest);margin:.4rem 0 1rem}
.openstat i{width:.6rem;height:.6rem;border-radius:50%;background:var(--sage);display:inline-block}
.openstat.closed i{background:#b55}
.hours-t{width:100%;border-collapse:collapse;font-size:.96rem}
.hours-t td{padding:.35rem 0;border-bottom:1px solid var(--oat)}
.hours-t td:last-child{text-align:right}
.hours-t tr.today td{font-weight:500;color:var(--forest)}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.areas div{padding:1.2rem;border-radius:14px;background:var(--mist);border:1px solid var(--oat)}
.areas h3{font-size:1.35rem;margin-bottom:.3rem}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.team blockquote{padding:1.2rem;border-left:2px solid var(--sage);font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--forest)}
.team cite{display:block;margin-top:.6rem;font-family:var(--sans);font-style:normal;font-size:.85rem;color:var(--bark)}
/* education (C) */
.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.paths a{padding:1.3rem;border-radius:16px;border:1px solid var(--oat);background:#fff;text-decoration:none;color:var(--ink)}
.paths b{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:500;color:var(--forest);margin-bottom:.3rem}
.gloss{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 2.5rem;margin-top:2rem}
.gloss dt{font-family:var(--serif);font-size:1.4rem;color:var(--forest)}
.gloss dd{margin:0 0 .8rem;font-size:.97rem}
.coa-steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;list-style:none}
.coa-steps li{counter-increment:s;padding:1.2rem;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15)}
.coa-steps li::before{content:counter(s);display:block;font-family:var(--serif);font-size:2rem;color:var(--leaf)}
/* faq + policy */
.mfaq{max-width:820px;margin-top:1.6rem}
.mfaq details{border-bottom:1px solid var(--oat);padding:1rem 0}
.mfaq summary{cursor:pointer;font-family:var(--serif);font-size:1.3rem;color:var(--forest)}
.mfaq p{margin-top:.6rem}
.agepol{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:start;max-width:900px}
.agepol .badge21{flex:none;width:72px;height:72px;border-radius:50%;border:2px solid var(--forest);display:grid;place-items:center;font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--forest)}
.agepol ul{margin:.6rem 0 0 1.1rem}
.dl-soon{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1.6rem 1.8rem;border-radius:18px;background:var(--oat)}
.dl-soon h2{font-size:1.7rem;margin:0}
/* article */
.crumbs{font-size:.88rem;margin-bottom:1rem;color:var(--bark)}
.crumbs a{color:var(--forest)}
.article{max-width:760px;margin:0 auto;padding:3.5rem 0 4rem}
.article h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:.8rem}
.article h2{font-size:1.9rem;margin:2.4rem 0 .7rem}
.article p,.article li{font-size:1.06rem}
.article ul,.article ol{margin:.6rem 0 .6rem 1.3rem}
.article .meta{font-size:.9rem;color:var(--bark);margin-bottom:1.4rem}
.article .box{background:var(--mist);border:1px solid var(--oat);border-radius:14px;padding:1.2rem 1.4rem;margin:1.6rem 0}
.article table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem}
.article th,.article td{text-align:left;padding:.5rem;border-bottom:1px solid var(--oat)}
.calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.calendar .card h3{font-size:1.3rem}
@media (max-width:880px){
  .mh .grid,.agepol{grid-template-columns:1fr}
  .cats,.prods,.paths,.coa-steps,.team{grid-template-columns:repeat(2,1fr)}
  .t101,.areas,.calendar,.gloss{grid-template-columns:1fr}
  .sec{padding:3.2rem 0}
}
@media (max-width:520px){.cats,.prods,.paths,.coa-steps,.team{grid-template-columns:1fr 1fr;gap:.7rem}.cat{min-height:120px;padding:1rem}.prod .pname{font-size:1.05rem}}
.prod picture,.mh-photos picture{display:block}.mh-photos picture img{height:100%}
