/* ── Main CSS (from lines 39–540) ── */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --grid-line: rgba(42,37,32,0.22);--stone:#f7f5f2;--stone2:#ede9e3;--stone3:#e3ddd6;--ink:#524d47;--ink2:#6b6560;--ink3:#9a948e;--ink2r:#7a7268;--accent:#8b7355;--accent2:#c8a96e;--border:rgba(42,37,32,0.12);--border2:rgba(42,37,32,0.07);--white:#faf8f6;
  --sotd-paper:#fbf8f3;--sotd-divider:rgba(147,121,91,0.16);--sotd-gold:#a9875f;--sotd-lavender:rgba(122,107,160,0.12);--sotd-text:#302d2b;--sotd-muted:#8d857e}
html{font-size:16px}
body{font-family:'Jost',sans-serif;background:var(--stone);color:var(--ink);min-height:100vh}
.app-shell{display:flex;flex-direction:column;min-height:100vh}

/* TOPBAR */
.topbar{background:var(--white);border-bottom:0.5px solid var(--border);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:96px;position:sticky;top:0;z-index:50}
.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;letter-spacing:0.06em;color:var(--ink);display:block;line-height:1.05}
.wordmark em{font-style:italic;color:#c8a96e}
.brand-block{display:flex;align-items:center;gap:0.85rem}
.brand-block-text,.brand-text{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.brand-block-sub{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink3);line-height:1.35;white-space:nowrap;display:block;margin-top:2px}
.brand-block-sub .brand-sub-link{color:var(--accent2);text-decoration:none}
.brand-block-sub a{color:var(--accent2);text-decoration:none;transition:color 0.15s}
.brand-block-sub a:hover{color:var(--accent)}
@media(max-width:600px){.wordmark{font-size:19px}.brand-block-sub{font-size:9px}.brand-block{gap:0.65rem}}
.topbar-right{display:flex;align-items:center;gap:10px}
.stone-count{font-size:12px;color:var(--ink2);letter-spacing:0.06em;cursor:pointer;transition:color 0.15s}
.stone-count:hover{color:var(--accent)}
.brand-home{display:inline-flex;align-items:center;text-decoration:none;color:inherit;flex-shrink:0}
.brand-logo{height:48px;width:auto;display:block;cursor:pointer;object-fit:contain;filter:contrast(1.22) saturate(1.08) brightness(0.94);opacity:1}
@media(max-width:600px){.brand-logo{height:42px}.topbar{height:78px}}

/* STUDIO BANNER */
.studio-banner{background:var(--white);border-bottom:0.5px solid var(--border2);padding:0 1.5rem;height:28px;display:flex;align-items:center;position:sticky;top:96px;z-index:48}
.studio-banner-inner{display:flex;align-items:center;gap:0.5rem;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3)}
.studio-banner-dot{width:3px;height:3px;border-radius:50%;background:var(--border);flex-shrink:0}
.studio-banner a{color:var(--accent);text-decoration:none;letter-spacing:0.08em;transition:color 0.15s}
.studio-banner a:hover{color:var(--ink)}
@media(max-width:600px){.studio-banner{top:78px;height:24px;padding:0 1rem}}

/* SITE FOOTER */
.site-footer{background:var(--stone);border-top:0.5px solid var(--border);padding:3rem 1.5rem 2rem;text-align:center}
.site-footer-inner{max-width:520px;margin:0 auto}
.site-footer-eyebrow{font-size:11px;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink3);margin-bottom:1rem}
.site-footer-logo{display:block;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:0.5rem;text-decoration:none}
.site-footer-logo em{color:var(--accent2);font-style:italic}
.site-footer-tagline{font-size:13px;color:var(--ink2);line-height:1.8;margin-bottom:0.4rem}
.site-footer-location{font-size:12px;letter-spacing:0.08em;color:var(--ink3);margin-bottom:0.6rem}
.site-footer-links{margin-bottom:1.25rem;font-size:13px;letter-spacing:0.04em}
.footer-mobile-break{display:none}
@media(max-width:600px){.footer-mobile-break{display:inline}.site-footer-tagline{margin-bottom:0.2rem}.site-footer-location{margin-bottom:0.35rem}}
.site-footer-link{color:var(--ink2);text-decoration:none}
.site-footer-link--accent{color:var(--accent2)}
.site-footer-dot{color:var(--ink3);margin:0 0.5rem}
.site-footer-legal{max-width:520px;margin:2rem auto 0;padding-top:1.25rem;border-top:0.5px solid var(--border);font-size:10px;color:var(--ink3);letter-spacing:0.04em}

/* NAV */
.main-nav-wrap{position:sticky;top:96px;z-index:49;background:var(--white)}
.main-nav{background:var(--white);border-bottom:0.5px solid var(--border);display:flex;overflow-x:auto;padding:0 1rem;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
@media(max-width:600px){.main-nav-wrap{top:78px}}
.mobile-menu-toggle{display:none}
.nav-tab-mobile-only{display:none}

/* Scroll-fade hint on nav (mobile only) */
@media(max-width:600px){
  .main-nav-wrap::after{content:'';position:absolute;top:0;right:0;bottom:1px;width:36px;background:linear-gradient(to right,transparent,var(--white));pointer-events:none;z-index:1}
}
.nav-tab{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.07em;text-transform:uppercase;padding:14px 20px;background:transparent;border:none;cursor:pointer;color:var(--ink2r);border-bottom:2px solid transparent;white-space:nowrap;transition:all 0.15s;text-decoration:none;display:inline-flex;align-items:center}
.nav-tab.active{color:var(--ink);border-bottom-color:var(--accent)}
.nav-tab:hover:not(.active){color:var(--ink)}

.content{flex:1;padding:1rem 1.5rem 1.5rem;max-width:1100px;margin:0 auto;width:100%}
/* SITE HERO — new photo card design */
.homepage-hero{margin-top:0;margin-bottom:0}
.site-hero-card{
  border-radius:16px;overflow:hidden;position:relative;
  height:400px;
  min-height:0;
  background-image:
    linear-gradient(to right,rgba(20,30,42,0.78) 0%,rgba(20,30,42,0.58) 28%,rgba(20,30,42,0.24) 52%,rgba(20,30,42,0.08) 100%),
    linear-gradient(to bottom,rgba(20,30,42,0.08) 0%,rgba(20,30,42,0) 34%,rgba(20,30,42,0.18) 100%),
    url('assets/home-hero-lyra-june8.png');
  background-size:auto,auto,cover;
  background-position:left center,left center,center center;
  background-repeat:no-repeat,no-repeat,no-repeat;
  display:flex;align-items:center;
}
.site-hero-left{
  position:relative;z-index:2;
  width:60%;padding:2.35rem 2rem 2.15rem 2.5rem;
  display:flex;flex-direction:column;gap:1.15rem;
}
.hero-kicker{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:#c8a96e;font-weight:500;margin-bottom:0}
.hero-headline{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,2.8vw,44px);font-weight:400;line-height:1.15;color:#fff;margin:0}
.hero-headline em{font-style:italic;color:#c8a96e}
.hero-sub{font-family:'Jost',sans-serif;font-size:13px;color:rgba(255,255,255,0.76);line-height:1.9;margin:0;max-width:560px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:0.2rem}
.hero-btns .btn-accent{background:#c8a96e;color:#2a2520;border-color:#c8a96e;padding:10px 20px;font-size:11px;font-weight:700}
.hero-btns .btn-accent:hover{background:#b89860;border-color:#b89860}
.hero-btns .btn-ghost-hero{background:rgba(250,248,246,0.14);color:#fff;border:0.5px solid rgba(255,255,255,0.46);padding:10px 18px;font-size:11px;font-family:'Jost',sans-serif;letter-spacing:0.09em;text-transform:uppercase;border-radius:7px;text-decoration:none;display:inline-flex;align-items:center;transition:background 0.15s,border-color 0.15s,color 0.15s}
.hero-btns .btn-ghost-hero:hover{background:rgba(250,248,246,0.22);border-color:rgba(255,255,255,0.66);color:#fff}
.hero-meta{display:flex;gap:1.4rem;margin-top:0.2rem;padding-bottom:1.1rem;border-bottom:0.5px solid rgba(200,169,110,0.24);width:min(100%,620px)}
.hero-meta-stat{font-family:'Jost',sans-serif;font-size:13px;color:rgba(255,255,255,0.52);letter-spacing:0.04em}
.hero-meta-stat strong{color:rgba(255,255,255,0.78);font-weight:500}
.hero-meta-dot{color:rgba(200,169,110,0.9);font-size:15px;font-weight:500}
.hero-sotd-row{display:none!important;align-items:center;gap:12px;padding-top:0.9rem;border-top:0.5px solid rgba(200,169,110,0.28);margin-top:0.25rem}
.hero-sotd-label{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#c8a96e;font-weight:500;white-space:nowrap}
.hero-sotd-link{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:19px;color:#fff;text-decoration:none;transition:color 0.15s}
.hero-sotd-link:hover{color:#c8a96e}
/* SOTD data passthrough — keep JS container but hide it */
#sotd-container{display:none!important}
@media(max-width:768px){.site-hero-card{height:auto;min-height:320px;background-size:auto,auto,cover;background-position:left center,left center,70% center}.site-hero-left{width:88%;padding:2rem 1.5rem}.hero-kicker{font-size:11px;letter-spacing:0.11em;white-space:nowrap}.hero-sub br{display:none}}

.intro-panel{background:var(--white);border:0.5px solid var(--border);border-radius:14px;padding:1.15rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.intro-copy{max-width:680px}
.intro-kicker{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:0.25rem}
.intro-title{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;line-height:1.15;color:var(--ink);margin-bottom:0.25rem}
.intro-text{font-size:14px;line-height:1.7;color:var(--ink2)}
.intro-actions{display:flex;justify-content:flex-end}
.intro-actions-stack{display:flex;flex-direction:column;gap:8px}
.intro-actions-top{display:flex;gap:8px}
.enc-browse-all-pill{width:100%;text-align:center;justify-content:center}
.intro-actions .btn:not(.btn-accent){border-color:rgba(42,37,32,0.25)}
@media(max-width:760px){.intro-panel{display:block}.intro-actions{justify-content:flex-start;margin-top:0.85rem}.intro-title{font-size:23px}}

/* BUTTONS */
.btn{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;padding:8px 16px;border:0.5px solid var(--border);border-radius:6px;background:transparent;cursor:pointer;color:var(--ink2);transition:all 0.15s;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn-accent{background:var(--accent);color:var(--white);border-color:var(--accent)}
.btn-accent:hover{background:var(--ink);border-color:var(--ink)}
.btn-sm{padding:5px 12px;font-size:12px}

/* SEARCH */
.search-wrap{position:relative;margin-bottom:1rem}
.search-wrap input{width:100%;padding:10px 16px 10px 40px;border:0.5px solid var(--border);border-radius:8px;background:var(--white);font-family:'Jost',sans-serif;font-size:15px;color:var(--ink);outline:none;transition:border-color 0.15s}
.search-wrap input:focus{border-color:var(--accent2)}
.search-wrap input::placeholder{color:var(--ink3)}
.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:15px;pointer-events:none}

/* FILTER CATEGORY BUTTONS */
.filter-cats{display:flex;gap:6px;flex-wrap:wrap;align-items:center;position:relative;margin-bottom:0.5rem}
.enc-sort-inline{margin-left:auto}
.enc-sort-mobile{display:none}
.filter-cat-btn{font-size:12px;letter-spacing:0.05em;padding:5px 14px;border:0.5px solid var(--border);border-radius:20px;cursor:pointer;background:var(--white);color:var(--ink2);transition:all 0.15s;white-space:nowrap;font-family:'Jost',sans-serif;display:inline-flex;align-items:center;gap:4px}
.filter-cat-btn:hover{border-color:var(--accent2);color:var(--accent)}
.filter-cat-btn.has-val{background:var(--ink);color:var(--white);border-color:var(--ink)}
.filter-cat-btn .caret{font-size:8px;opacity:0.7;transition:transform 0.15s}
.filter-cat-btn.open .caret{transform:rotate(180deg)}
.filter-cat-btn .aval{font-size:10px;max-width:70px;overflow:hidden;text-overflow:ellipsis;opacity:0.8}
.reset-link{font-size:11px;color:var(--ink2r);cursor:pointer;text-decoration:underline;text-underline-offset:2px;background:none;border:none;font-family:'Jost',sans-serif;margin-left:4px;opacity:0;pointer-events:none;transition:opacity 0.15s}
.reset-link:hover{color:var(--accent)}
.reset-link.filters-on{opacity:1;pointer-events:auto;color:var(--accent)}

/* FILTER PANEL DROPDOWN */
.filter-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--white);border:0.5px solid var(--border);border-radius:10px;padding:10px;z-index:60;box-shadow:0 6px 24px rgba(42,37,32,0.12);min-width:210px}
.filter-panel.open{display:block}
.filter-panel-title{font-size:12px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink2r);margin-bottom:8px;padding:0 2px}
.filter-panel-pills{display:flex;flex-wrap:wrap;gap:5px}
.filter-more-panel{min-width:190px}
.filter-more-list{display:flex;flex-direction:column;gap:7px}
.filter-more-list .filter-cat-btn{width:100%;justify-content:space-between;padding:7px 12px}
.filter-more-list .filter-cat-btn .aval{margin-left:auto}
.fpill{font-size:12px;letter-spacing:0.03em;padding:4px 11px;border:0.5px solid var(--border);border-radius:20px;cursor:pointer;background:transparent;color:var(--ink2);font-family:'Jost',sans-serif;transition:all 0.12s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.theme-group-label{width:100%;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);font-family:'Jost',sans-serif;margin:8px 0 4px;padding-left:2px}
.fpill.active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.fpill:hover:not(.active){border-color:var(--accent2);color:var(--accent)}
.cswatch{width:9px;height:9px;border-radius:50%;border:0.5px solid rgba(0,0,0,0.1);flex-shrink:0}

/* META ROW */
.meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:0.6rem;margin-bottom:0.75rem;flex-wrap:wrap;gap:8px}
.results-count{font-size:13px;color:var(--ink2)}
.sort-wrap{display:flex;align-items:center;gap:6px}
.sort-wrap label{font-size:12px;color:var(--ink2r);letter-spacing:0.06em;text-transform:uppercase}
.sort-wrap select{font-family:'Jost',sans-serif;font-size:13px;padding:5px 10px;border:0.5px solid var(--border);border-radius:6px;background:var(--white);color:var(--ink);cursor:pointer;outline:none}

/* GRID */
.crystal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;background:var(--border2);border:0.5px solid var(--border);border-radius:10px;overflow:hidden}
.crystal-card{background:var(--white);cursor:pointer;transition:background 0.12s;position:relative;display:flex;flex-direction:column;overflow:hidden}
.crystal-card:hover{background:var(--stone2)}
.crystal-card:hover .card-img-zone img{opacity:0.85}
.card-img-zone{width:100%;height:110px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card-img-zone img{max-width:100%;max-height:110px;object-fit:contain;display:block;padding:6px;transition:opacity 0.15s}
.card-body{padding:0.6rem 0.75rem 0.7rem;flex:1}
.card-name{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:500;line-height:1.2;color:var(--ink);margin-bottom:4px}
.card-color{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink3);margin-bottom:3px}
.color-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;border:0.5px solid rgba(0,0,0,0.1)}
.card-role{font-size:12px;color:var(--accent);letter-spacing:0.02em;line-height:1.4}
.card-role-sep{font-size:12px;color:var(--ink3);margin:0 3px;line-height:1.4}
.stone-card-properties{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
.stone-card-properties .card-role{background:none;padding:0}
.stone-card-best-for{margin-top:4px}
.stone-card-best-for-label{display:block;font-family:'Jost',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
.stone-card-best-for p{margin:0;font-family:'Jost',sans-serif;font-size:12px;font-weight:400;line-height:1.35;color:var(--ink2)}
.card-badge{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;z-index:2}
.badge-owned{background:var(--accent2)}
.badge-wish{background:transparent;border:1.5px solid var(--accent2)}
.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--ink2r);font-size:13px;grid-column:1/-1}

/* DETAIL DRAWER */
.drawer-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.3);z-index:100}
.drawer-overlay.open{display:block}
.drawer{position:fixed;right:0;top:0;bottom:0;width:min(430px,100vw);background:var(--white);z-index:101;overflow-y:auto;transform:translateX(100%);transition:transform 0.25s ease}
.drawer.open{transform:translateX(0)}
.drawer-inner{padding:4rem 1.75rem 3rem}
.drawer-close{position:absolute;top:1rem;left:1rem;width:34px;height:34px;border-radius:50%;border:0.5px solid var(--border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink2);font-size:18px;transition:background 0.12s}
.drawer-close:hover{background:var(--stone2)}
.d-id{font-size:10px;letter-spacing:0.08em;color:var(--ink2r);text-transform:uppercase;margin-bottom:5px}
.d-name{font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:400;line-height:1.12;color:var(--ink);margin-bottom:4px}
.d-alt{font-family:Georgia,'Times New Roman',serif;font-size:15px;font-style:italic;color:var(--ink2r);margin-bottom:5px}
.fam-tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;padding:5px 12px;border:0.5px solid var(--accent2);border-radius:20px;color:var(--accent);margin-bottom:1.25rem;cursor:pointer;background:var(--stone2);transition:all 0.15s}
.fam-tag:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.fam-tag::after{content:"→";font-size:10px;opacity:0.7}
.fam-tag:hover{border-color:var(--accent2);color:var(--accent)}
.divider{height:0.5px;background:var(--border);margin:1.1rem 0}
.sec-label{font-size:12px;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink2r);margin-bottom:8px;font-weight:500}
.use-when-box{background:var(--stone2);border-radius:8px;padding:1rem 1.1rem;font-family:Georgia,'Times New Roman',serif;font-size:18px;font-style:italic;line-height:1.6;color:var(--ink);margin-bottom:0.5rem}
.geo-text{font-size:14px;color:var(--ink2);line-height:1.7}

/* PROPS GRID with ? helpers */
.props-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prop-f label{font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink2r);display:flex;align-items:center;gap:4px;margin-bottom:2px}
.prop-f span{font-size:14px;color:var(--ink);font-weight:500}
.prop-help{width:14px;height:14px;border-radius:50%;border:0.5px solid var(--border);background:transparent;cursor:pointer;font-size:9px;color:var(--ink3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Jost',sans-serif;line-height:1}
.prop-help:hover{border-color:var(--accent2);color:var(--accent);background:var(--stone2)}

.tags-row{display:flex;flex-wrap:wrap;gap:5px}
.tag{font-size:12px;letter-spacing:0.04em;text-transform:uppercase;padding:4px 12px;border:0.5px solid var(--stone3);border-radius:20px;color:var(--ink2);background:var(--white)}
.tag.primary{border-color:var(--accent2);color:var(--accent)}
.chakra-chips,.sibs-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:0.5rem}
.chakra-chip{font-size:12px;padding:3px 10px;border-radius:20px;border:0.5px solid var(--border);color:var(--ink2)}
.sib-tag{font-size:12px;padding:3px 10px;border:0.5px solid var(--border);border-radius:20px;color:var(--ink2);cursor:pointer;display:inline-block}
.sib-tag:hover{border-color:var(--accent2);color:var(--accent)}
.owned-row{display:flex;flex-direction:column;margin-top:1.25rem;padding-top:1rem;border-top:0.5px solid var(--border);gap:10px}
.drawer-pill-row{display:flex;gap:8px;flex-wrap:wrap}
.drawer-pill{font-size:13px;letter-spacing:0.03em;padding:6px 14px;border-radius:999px;border:1.5px solid var(--accent2);background:transparent;color:var(--accent2);font-family:'Jost',sans-serif;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.drawer-pill:hover{background:var(--accent2);color:var(--white)}
.drawer-pill.drawer-pill-active{background:var(--accent2);color:var(--white)}
.drawer-pill.drawer-pill-active:hover{background:transparent;color:var(--accent2)}
.drawer-addpiece-link{font-size:11px;color:var(--ink3);background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;letter-spacing:0.04em;padding:0;text-decoration:underline;text-underline-offset:2px;text-align:left}
.drawer-addpiece-link:hover{color:var(--ink)}
.toggle-group{display:flex;gap:1rem}
.toggle-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--ink2)}
.tog{width:34px;height:20px;border-radius:10px;border:0.5px solid var(--border);background:var(--stone3);position:relative;cursor:pointer;transition:background 0.15s;flex-shrink:0}
.tog.on{background:var(--accent);border-color:var(--accent)}
.tog-knob{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--white);transition:left 0.15s}
.tog.on .tog-knob{left:17px}

/* MOOD TAB */
.mood-intro{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:1.25rem}
.mood-sub{font-size:14px;color:var(--ink2);margin-bottom:1.25rem;line-height:1.6}
.mood-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.25rem}
.mood-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--border2);border:0.5px solid var(--border);border-radius:10px;overflow:hidden}
.mood-card{background:var(--white);padding:1.1rem 1rem;cursor:pointer;transition:background 0.12s}
.mood-card:hover,.mood-card.active-mood{background:var(--stone2)}
.mood-card.active-mood{border-left:3px solid var(--accent)}
.mood-group-label{font-size:12px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink2r);margin-bottom:5px}
.mood-label{font-family:Georgia,'Times New Roman',serif;font-size:19px;color:var(--ink);margin-bottom:3px}
.mood-sub-text{font-size:13px;color:var(--ink2r);line-height:1.5}

/* MOOD RESULTS */
.mood-results{margin-top:1.5rem;display:none}
.mood-results-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.75rem;flex-wrap:wrap;gap:8px}
.mood-results-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink)}
.mood-selected-card+.sub-filter-row+#mood-grid-banner+.mood-results-title,.sub-filter-row+#mood-grid-banner+.mood-results-title{margin-bottom:0.35rem}
.mood-back{font-size:12px;color:var(--ink2r);cursor:pointer;text-decoration:underline;text-underline-offset:2px;background:none;border:none;font-family:'Jost',sans-serif}
/* sub-filter row */
.sub-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem;padding:0.75rem 1rem;background:var(--stone2);border-radius:8px}
.sub-filter-label{font-size:11px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink2r);margin-right:4px;display:flex;align-items:center}
#sub-filter-pills{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.sfpill{font-size:12px;padding:4px 11px;border:0.5px solid var(--border);border-radius:20px;cursor:pointer;background:var(--white);color:var(--ink2);font-family:'Jost',sans-serif;transition:all 0.12s;white-space:nowrap}
.sfpill.active{background:var(--accent);color:var(--white);border-color:var(--accent)}
.sfpill:hover:not(.active){border-color:var(--accent2);color:var(--accent)}
.mood-load-more{text-align:center;margin:1rem 0 0}
.mood-load-more-text{font-size:12px;color:var(--ink3);margin-bottom:0.55rem}
.mood-load-more-btn{border:0.5px solid var(--border);border-radius:999px;background:var(--white);color:var(--accent);font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;padding:9px 18px;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s}
.mood-load-more-btn:hover{background:var(--stone2);border-color:var(--accent2);color:var(--ink)}

/* MOOD RESULT CARDS - redesigned */
.mood-stone-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border2);border:0.5px solid var(--border);border-radius:10px;overflow:hidden}
@media(max-width:1100px){.mood-stone-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.mood-stone-grid{grid-template-columns:repeat(3,1fr)}}
.mood-stone-card{background:var(--white);padding:1rem;cursor:pointer;transition:background 0.12s}
.mood-stone-card:hover{background:var(--stone2)}
.mood-best-for{font-size:11.5px;color:var(--ink2);line-height:1.38;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mood-best-for span{font-weight:500;color:var(--ink)}
.mood-card-tags{margin-bottom:0}
.mood-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.mood-card-header .card-name{margin-bottom:0}
.mood-tier-pill{font-size:9px;letter-spacing:0.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--stone2);border:0.5px solid var(--border2);color:var(--accent);white-space:nowrap;flex-shrink:0}
.mood-why-match{font-size:11px;color:var(--ink2);line-height:1.38;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mood-why-label{font-weight:500;color:var(--ink3);font-style:italic}
.mood-theme-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
.mood-theme-tag{font-size:9.5px;letter-spacing:0.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:var(--stone);border:0.5px solid var(--border2);color:var(--ink3)}
.mood-results-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:0.4rem 0 0.6rem}
.mood-tier4-row{font-family:'Jost',sans-serif}
.mood-tier4-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2);cursor:pointer;user-select:none}
.mood-tier4-label input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}
.mood-backtop-wrap{text-align:center;margin-top:1rem}
.mood-backtop{appearance:none;background:transparent;border:0.5px solid var(--border);border-radius:999px;padding:6px 14px;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink2);cursor:pointer}
.mood-backtop:hover{border-color:var(--accent);color:var(--accent)}
.msc-id{font-size:10px;letter-spacing:0.07em;color:var(--ink2r);margin-bottom:3px;text-transform:uppercase}
.msc-name{font-family:Georgia,'Times New Roman',serif;font-size:18px;color:var(--ink);margin-bottom:8px;line-height:1.2}
.msc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.msc-tag{font-size:10px;letter-spacing:0.03em;padding:2px 8px;border:0.5px solid var(--border);border-radius:20px;color:var(--accent)}
.msc-uw{font-family:Georgia,'Times New Roman',serif;font-size:14px;font-style:italic;color:var(--ink2);line-height:1.6}

/* COLLECTION */
.coll-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:10px}
.coll-title{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400;color:var(--ink)}
.coll-btns{display:flex;gap:6px;flex-wrap:wrap}
.coll-stats{display:grid;grid-template-columns:minmax(320px,0.46fr) 1fr;gap:18px;margin-bottom:1rem;align-items:stretch}
.stats-stacked{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.stats-stacked .stat-cell{display:flex;flex-direction:column;justify-content:center;min-height:136px;padding:22px 24px}
.stat-cell{background:var(--white);padding:11px 14px;border:0.5px solid var(--border);border-radius:10px}
.stat-label{font-size:10.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink2r);margin-bottom:7px}
.stat-num-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.stat-val{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;color:var(--ink);line-height:1}
.stat-sub{font-size:11px;color:var(--ink3);line-height:1.35}
.coll-filter-cats{display:flex;gap:6px;flex-wrap:wrap;align-items:center;position:relative;margin-bottom:1rem}
.coll-filter-cats+.filter-panel,.coll-filter-cats~.filter-panel{z-index:700;pointer-events:auto}.filter-panel .fpill{pointer-events:auto}
.coll-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;background:transparent;border:none;border-radius:0;overflow:visible;align-items:start}
.coll-card{background:var(--white);padding:1rem 1rem 0.9rem;cursor:pointer;transition:background 0.12s,box-shadow 0.12s,border-color 0.12s;position:relative;border:0.5px solid var(--border);border-radius:10px;overflow:hidden;min-width:0}
.coll-card:hover{background:var(--stone2);border-color:rgba(139,115,85,0.24);box-shadow:0 8px 22px rgba(42,37,32,0.06)}
.coll-card-photo-wrap{width:100%;height:132px;border-radius:8px;margin-bottom:8px;background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%);border:0.5px solid var(--border2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.coll-card-photo{width:100%;height:100%;object-fit:contain;padding:7px;display:block}
.coll-card-photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:36px;border:none;border-radius:999px;background:rgba(250,248,246,0.74);color:var(--ink2);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;opacity:0;transition:opacity 0.15s,background 0.15s,color 0.15s}
.coll-card-photo-wrap:hover .coll-card-photo-nav{opacity:1}
.coll-card-photo-nav:hover{background:var(--white);color:var(--accent)}
.coll-card-photo-nav.prev{left:6px}
.coll-card-photo-nav.next{right:6px}
.coll-card-piece-count{font-size:11px;color:var(--ink2r);margin-bottom:3px;letter-spacing:0.02em}
@media(max-width:700px){.coll-card-photo-nav{opacity:1}}
@media(max-width:1100px){.coll-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.coll-card-nophoto{width:100%;height:132px;border-radius:8px;margin-bottom:8px;background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%);border:0.5px solid var(--border2);display:flex;align-items:center;justify-content:center}
.coll-card-nophoto span{font-size:10px;color:var(--ink3)}
.reference-image-badge{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);font-size:6px;letter-spacing:0.08em;text-transform:uppercase;padding:2px 5px;border-radius:999px;background:rgba(250,248,246,0.78);border:0.5px solid rgba(42,37,32,0.10);color:rgba(60,52,42,0.58);backdrop-filter:blur(4px);pointer-events:none;white-space:nowrap}
.photo-preview-item{position:relative;width:70px;height:70px}
.photo-preview-item.primary{outline:1.5px solid var(--accent);outline-offset:2px;border-radius:6px}
.photo-preview-primary{position:absolute;left:3px;bottom:3px;font-size:8px;letter-spacing:0.06em;text-transform:uppercase;padding:2px 4px;border-radius:999px;background:rgba(250,248,246,0.88);border:0.5px solid rgba(42,37,32,0.10);color:var(--accent);cursor:pointer;font-family:'Jost',sans-serif}
.photo-preview-item.primary .photo-preview-primary{background:var(--accent);color:var(--white);border-color:var(--accent)}
.coll-card-name{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:500;line-height:1.2;color:var(--ink);margin-bottom:5px}
.coll-card-meta{font-size:11px;color:var(--ink2r);margin-bottom:3px}
.coll-card-loc{font-size:11px;color:var(--accent)}
.empty-coll{text-align:center;padding:3rem 1rem;color:var(--ink2r);font-size:14px}
.empty-coll-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;text-align:center;gap:0.75rem}
.empty-coll-icon{font-size:36px;opacity:0.35;line-height:1;margin-bottom:0.25rem}
.empty-coll-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);letter-spacing:0.01em}
.empty-coll-text{font-size:13px;color:var(--ink2);line-height:1.7;max-width:280px}
.empty-coll-btn{margin-top:0.5rem;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;padding:10px 24px;border:0.5px solid var(--ink);border-radius:20px;background:transparent;color:var(--ink);cursor:pointer;transition:all 0.15s}
.empty-coll-btn:hover{background:var(--ink);color:var(--white)}
.empty-coll-btn.btn-accent{background:var(--accent);color:var(--white);border-color:var(--accent)}
.empty-coll-btn.btn-accent:hover{background:var(--ink);border-color:var(--ink)}

@media(min-width:601px){
  #tab-collection.collection-signed-out #collection-filter-shell{display:none}
  #tab-collection.collection-signed-out #coll-wrap{margin-top:0}
  #tab-collection.collection-signed-out .empty-coll-state{padding-top:0.35rem}
  #tab-collection.collection-signed-out .empty-coll-text{max-width:560px}
}

.coll-detail-grid{display:grid;grid-template-columns:170px 1fr;gap:1rem;align-items:start;margin-bottom:1rem}
.coll-detail-photo-wrap{width:170px;height:170px;border-radius:10px;background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%);border:0.5px solid var(--border2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.coll-detail-photo-wrap img{width:100%;height:100%;object-fit:contain;padding:8px;display:block}
.coll-card-photo-wrap.zoomable,.coll-detail-photo-wrap.zoomable{cursor:zoom-in}
.coll-card-photo-wrap.zoomable img,.coll-detail-photo-wrap.zoomable img{pointer-events:none}
.coll-detail-nophoto{width:170px;height:170px;border-radius:10px;background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%);border:0.5px solid var(--border2);display:flex;align-items:center;justify-content:center;color:var(--ink3);font-size:11px}
.coll-detail-name{font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:400;line-height:1.1;color:var(--ink);margin-bottom:0.25rem}
.coll-detail-sub{font-size:12px;color:var(--ink2r);line-height:1.55;margin-bottom:0.85rem}
.coll-detail-table{width:100%;border-collapse:collapse;margin-top:0.2rem}
.coll-detail-table td{font-size:12.5px;color:var(--ink);padding:6px 0;border-bottom:0.5px solid var(--border2);vertical-align:top;line-height:1.5}
.coll-detail-table td:first-child{width:92px;color:var(--ink2r);font-size:10px;letter-spacing:0.07em;text-transform:uppercase;padding-right:10px}
.coll-ref-box{background:var(--stone2);border-radius:8px;padding:0.85rem 1rem;margin-top:0.85rem;font-size:13px;color:var(--ink2);line-height:1.65}
.coll-ref-title{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:0.35rem;font-family:'Jost',sans-serif}
@media(max-width:600px){.coll-detail-grid{grid-template-columns:1fr}.coll-detail-photo-wrap,.coll-detail-nophoto{width:100%;height:190px}}


/* FORMS */
.form-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.4);z-index:200;align-items:flex-start;justify-content:center;padding:1rem;overflow-y:auto}
.form-overlay.open{display:flex}
.form-box{background:var(--white);border-radius:12px;padding:2rem;width:min(580px,100%);position:relative;margin:auto}
.form-title{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;margin-bottom:0.2rem}
.form-sub{font-size:12px;color:var(--ink2r);margin-bottom:1.5rem}
.form-divider{height:0.5px;background:var(--border);margin:1.1rem 0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}
.form-row.full{grid-template-columns:1fr}
.form-row.thirds{grid-template-columns:1fr 1fr 1fr}
.fg label{font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink2r);display:flex;align-items:center;gap:5px;margin-bottom:5px}
.fg input,.fg select,.fg textarea{width:100%;padding:9px 12px;border:0.5px solid var(--border);border-radius:6px;background:var(--stone);font-family:'Jost',sans-serif;font-size:13px;color:var(--ink);outline:none;transition:border-color 0.15s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--accent2);background:var(--white)}
.fg textarea{resize:vertical;min-height:70px}
.helper-link{font-size:10px;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.combo-section{background:var(--stone2);border-radius:8px;padding:1rem;margin:8px 0}
.combo-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.combo-row select{flex:1;padding:7px 10px;border:0.5px solid var(--border);border-radius:6px;background:var(--white);font-family:'Jost',sans-serif;font-size:13px;color:var(--ink);outline:none}
.rm-combo{width:28px;height:28px;border-radius:50%;border:0.5px solid var(--border);background:transparent;cursor:pointer;font-size:16px;color:var(--ink3);flex-shrink:0}
.rm-combo:hover{background:var(--stone3)}
.form-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:1.25rem}
.photo-upload-area{border:0.5px dashed var(--border);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:border-color 0.15s}
.photo-upload-area:hover{border-color:var(--accent2)}
.photo-upload-area p{font-size:12px;color:var(--ink3);margin-bottom:3px}
.photo-upload-area span{font-size:11px;color:var(--ink3)}
.photo-preview-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.photo-preview-item{position:relative;width:70px;height:70px}
.photo-preview-item img{width:100%;height:100%;object-fit:cover;border-radius:6px;border:0.5px solid var(--border)}
.photo-preview-rm{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--ink);color:var(--white);font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}

/* POPUPS */
.popup-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.35);z-index:300;align-items:center;justify-content:center;padding:1rem}
.popup-overlay.open{display:flex}
.popup-box{background:var(--white);border-radius:12px;padding:1.25rem 1.75rem 1.5rem;width:min(500px,100%);max-height:88vh;overflow-y:auto;position:relative}
.popup-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;margin-bottom:0.85rem;color:var(--ink)}
.popup-close{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:50%;border:0.5px solid var(--border);background:transparent;cursor:pointer;font-size:16px;color:var(--ink2);display:flex;align-items:center;justify-content:center}
.popup-close:hover{background:var(--stone2)}
.ptable{width:100%;border-collapse:collapse}
.csys-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:0.5px solid var(--border)}
.csys-row:last-child{border-bottom:none}
.csys-diagram{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}
.csys-info{flex:1}
.csys-name{font-size:13px;font-weight:500;color:var(--accent);font-family:'Jost',sans-serif;margin-bottom:2px}
.csys-geo{font-size:12px;color:var(--ink2);line-height:1.4}
.csys-energy{font-size:11px;color:var(--ink3);margin-top:2px;letter-spacing:0.02em}
.ptable th{font-size:10px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink3);text-align:left;padding:6px 8px;border-bottom:0.5px solid var(--border)}
.ptable td{font-size:13px;color:var(--ink);padding:8px 8px;border-bottom:0.5px solid var(--border2);vertical-align:top}
.ptable td:first-child{font-weight:500;color:var(--accent);padding-right:12px;white-space:nowrap}
.ptable tr:last-child td{border-bottom:none}
.popup-note{font-size:12px;color:var(--ink3);margin-top:1rem;font-style:italic;line-height:1.6}
.inst-sec{margin-bottom:1.5rem}
.inst-sec h3{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink);margin-bottom:0.4rem}
.inst-sec p,.inst-sec li{font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:0.3rem}
.inst-sec ul{padding-left:1.2rem}
.warn-note{color:#8a6020;background:#fdf9f0;border:0.5px solid #d4b882;border-radius:6px;padding:0.6rem 0.9rem;font-size:12px;line-height:1.6;margin-top:0.75rem}

::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--stone3);border-radius:2px}
@media(max-width:600px){.topbar{padding:0 1rem}.content{padding:1rem}.form-row{grid-template-columns:1fr}.form-row.thirds{grid-template-columns:1fr 1fr}.props-grid{grid-template-columns:1fr}.drawer{width:100vw}.coll-stats{grid-template-columns:1fr}.coll-btns{flex-direction:column}.coll-grid{grid-template-columns:repeat(2,1fr)}}

/* ── MOBILE OPTIMIZATIONS ── */
@media(max-width:600px){

  /* Topbar: hide non-essential items */
  #request-entry-btn,#guide-btn,.stone-count,#topbar-auth{display:none}

  /* Intro panel: hide kicker + long description, keep title + buttons only */
  .intro-kicker{display:none}
  .intro-text{display:none}
  .intro-title{font-size:18px;line-height:1.25;margin-bottom:0.75rem}

  /* Main nav: hide scrollbar, allow horizontal scroll without wrapping */
  .main-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 2.75rem 0 0.85rem}
  .main-nav::-webkit-scrollbar{display:none}
  .nav-tab{flex:0 0 auto;font-size:11px;letter-spacing:0.055em;padding:13px 12px}

  /* Homepage hero: keep the primary path clear on mobile */
  .hero-btns .btn-ghost-hero{display:none}

  /* Intro panel padding */
  .intro-panel{padding:1rem}

  /* Encyclopedia filter pills: horizontal scroll, no wrap */
  .filter-cats{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}
  .filter-cats::-webkit-scrollbar{display:none}

  /* Encyclopedia cards: reduce image height for less stacking */
  .card-img-zone{height:90px}
  .card-img-zone img{max-height:90px}
  .crystal-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}

  /* Identify tab: horizontal card layout (thumbnail left, text right) */
  #id-results-grid{grid-template-columns:1fr;background:transparent;border:none;border-radius:0;gap:8px}
  #id-results-grid .crystal-card{flex-direction:row;align-items:center;border:0.5px solid var(--border);border-radius:10px;overflow:hidden;min-height:72px;background:var(--white)}
  #id-results-grid .card-img-zone{width:80px;height:80px;flex-shrink:0;border-right:0.5px solid var(--border2)}
  #id-results-grid .card-img-zone img{max-height:80px}
  #id-results-grid .card-body{padding:0.5rem 0.75rem;min-width:0}
  #id-results-grid .card-name{font-size:14px;margin-bottom:2px}

  /* Crystals 101 section nav: bleed to screen edges on mobile */
  .c101-nav-wrap{margin:0 -1rem}
  .c101-nav{padding:0.75rem 1rem;padding-right:3rem}

  /* Crystal grid cards (Crystals 101 starter grids): keep images in bounds */
  .grid-card-swatch{height:120px;overflow:hidden}
  .grid-cards-container{grid-template-columns:1fr}

  /* Identify tab mobile */
  .id2-hero{margin:0 0 0.8rem;height:130px;border-radius:10px}
  .id2-hero-overlay{padding:1rem 1.1rem}
  .id2-hero-h1{font-size:24px}
  .id2-wrap{padding:0.85rem 0 1.5rem}
  .id2-card{padding:1.1rem 1rem;border-radius:10px}
  .id2-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;justify-items:center}
  .id2-color-btn{width:100%;max-width:38px;height:32px}
  .id2-pill{white-space:normal;font-size:11px;padding:5px 10px}
}

.mood-selected-card{background:var(--stone2);border:0.5px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background 0.12s}
.mood-selected-card:hover{background:var(--stone3)}

/* USE WHEN — two-tile layout */
.use-when-tiles{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;margin-bottom:1.75rem;align-items:stretch}
@media(max-width:540px){.use-when-tiles{grid-template-columns:1fr;gap:0}}
.use-when-tile{background:var(--white);border:0.5px solid rgba(42,37,32,0.18);border-radius:12px;padding:1.25rem 1.25rem 1rem;box-shadow:0 1px 4px rgba(42,37,32,0.06);display:flex;flex-direction:column}
.use-when-tile--primary{border-color:var(--accent2);box-shadow:0 1px 8px rgba(139,115,85,0.12)}
.use-when-tile--ai{opacity:0.9}
/* Desktop: show AI left, Browse right — mobile keeps Browse on top */
@media(min-width:541px){
  .use-when-tile--ai{order:1}
  .use-when-or{order:2}
  .use-when-tile--primary{order:3}
}
.use-when-or{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink2);padding:0 4px;white-space:nowrap}
.use-when-or::before,.use-when-or::after{content:'';display:block;width:1px;flex:1;background:var(--ink3)}
@media(max-width:540px){
  .use-when-or{flex-direction:row;padding:12px 0}
  .use-when-or::before,.use-when-or::after{width:auto;height:0.5px;flex:1}
}
/* AI FREEFORM SEARCH */
.ai-search-label{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:0.35rem}
.ai-search-sub{font-size:14px;color:var(--ink2);margin-bottom:0.9rem;line-height:1.55}
.ai-search-input{width:100%;box-sizing:border-box;font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);background:var(--stone2);border:0.5px solid var(--border);border-radius:8px;padding:0.65rem 0.85rem;resize:none;line-height:1.5;min-height:72px;outline:none;transition:border-color 0.15s;margin-bottom:0.65rem}
.ai-search-input:focus{border-color:var(--accent2)}
.ai-search-input::placeholder{color:var(--ink3)}
.ai-search-btn{align-self:flex-start;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:0.6rem 1rem;font-family:'Jost',sans-serif;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:opacity 0.15s;white-space:nowrap}
.ai-search-btn:hover{opacity:0.85}
.ai-search-btn:disabled{opacity:0.5;cursor:not-allowed}
.ai-search-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:spin 0.7s linear infinite;display:none}
.ai-search-btn.loading .ai-search-spinner{display:block}
.ai-search-btn.loading .ai-search-btn-text{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
/* BROWSE TILE */
.browse-tile-label{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:0.35rem}
.browse-tile-sub{font-size:14px;color:var(--ink2);line-height:1.55;margin-bottom:0.9rem}
.browse-tile-btn{align-self:flex-start;background:transparent;color:var(--accent);border:0.5px solid var(--accent);border-radius:8px;padding:0.6rem 1rem;font-family:'Jost',sans-serif;font-size:13px;cursor:pointer;transition:background 0.15s,color 0.15s;white-space:nowrap}
/* INTENTION CARDS */
.intention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:0.5rem}
.intention-card{border-radius:12px;padding:18px 10px 14px;text-align:center;cursor:pointer;border-width:0.5px;border-style:solid;transition:transform 0.15s,box-shadow 0.15s}
.intention-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.intention-card.active{outline:2px solid #2a2520;outline-offset:2px}
.intention-card-icon{font-size:24px;margin-bottom:8px;line-height:1}
.intention-card-name{font-size:12px;font-weight:500;line-height:1.3}
.intention-card-sub{font-size:12px;font-style:italic;opacity:0.82;margin-top:4px;line-height:1.45}
.browse-tile-btn:hover{background:var(--accent);color:#fff}
/* AI RESULTS */
.ai-results-wrap{display:none;margin-bottom:1.5rem}
.ai-results-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.85rem}
.ai-results-title{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink)}
.ai-results-back{font-size:12px;color:var(--ink2r);cursor:pointer;text-decoration:underline;text-underline-offset:2px;background:none;border:none;font-family:'Jost',sans-serif;padding:0}
.ai-stone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--border2);border:0.5px solid var(--border);border-radius:10px;overflow:hidden}
.ai-stone-card{background:var(--white);padding:1rem;cursor:pointer;transition:background 0.12s;display:flex;flex-direction:column;gap:4px}
.ai-stone-card:hover{background:var(--stone2)}
.ai-stone-name{font-family:Georgia,'Times New Roman',serif;font-size:18px;color:var(--ink);line-height:1.2}
.ai-stone-reason{font-size:12px;color:var(--ink2);line-height:1.55;font-style:italic}
.ai-stone-arrow{font-size:11px;color:var(--accent);margin-top:4px}
@media(max-width:600px){
  .ai-stone-grid{grid-template-columns:1fr}
  .ai-stone-card{min-width:0}
  .ai-stone-name,.ai-stone-reason{overflow-wrap:anywhere}
  .ai-stone-reason{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .sub-filter-row{flex-wrap:nowrap;align-items:center;overflow:hidden;padding:0.55rem 0.65rem;border-radius:999px;background:rgba(237,233,227,0.72);margin-bottom:0.85rem}
  .sub-filter-label{font-size:10px;white-space:nowrap}
  #sub-filter-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  #sub-filter-pills::-webkit-scrollbar{display:none}
  #mood-stone-grid{grid-template-columns:1fr;background:transparent;border:none;border-radius:0;gap:8px}
  #mood-stone-grid .crystal-card{flex-direction:row;align-items:center;border:0.5px solid var(--border);border-radius:10px;overflow:hidden;min-height:78px;background:var(--white)}
  #mood-stone-grid .card-img-zone{width:82px;height:82px;flex-shrink:0;border-right:0.5px solid var(--border2)}
  #mood-stone-grid .card-img-zone img{max-height:82px}
  #mood-stone-grid .card-body{padding:0.55rem 0.75rem;min-width:0}
  #mood-stone-grid .card-name{font-size:15px;margin-bottom:2px}
  #mood-stone-grid .card-role,#mood-stone-grid .ai-stone-reason{font-size:11.5px;line-height:1.35}
  #mood-stone-grid .ai-stone-reason,#mood-stone-grid .mood-best-for{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #mood-stone-grid .mood-best-for{font-size:11px;line-height:1.32;margin-top:4px}
  #mood-stone-grid .mood-card-header{flex-wrap:nowrap;align-items:center}
  #mood-stone-grid .mood-tier-pill{font-size:8.5px;padding:1px 6px}
  #mood-stone-grid .mood-why-match{font-size:10.5px;-webkit-line-clamp:1;margin-top:3px}
}
.ai-error{font-size:13px;color:#b94a48;padding:0.75rem 1rem;background:#fff5f5;border:0.5px solid #f5c6c6;border-radius:8px;margin-top:0.5rem;display:none}
.ai-error.ai-error--gentle{color:var(--ink2);background:var(--stone2);border-color:var(--border)}
.mood-selected-inner{flex:1}
.mood-selected-clear{font-size:11px;color:var(--ink3);white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
.mood-results-count{font-size:12px;color:var(--ink3);margin-bottom:0.75rem;line-height:1.3}
.mood-results-row .mood-results-count{margin-bottom:0}

/* COMBOBOX */
.combobox-wrap{position:relative;width:100%}
.combobox-input{width:100%;padding:9px 12px;border:0.5px solid var(--border);border-radius:6px;background:var(--stone);font-family:'Jost',sans-serif;font-size:13px;color:var(--ink);outline:none;transition:border-color 0.15s}
.combobox-input:focus{border-color:var(--accent2);background:var(--white)}
.combobox-input::placeholder{color:var(--ink3)}
.combobox-dropdown{display:none;position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--white);border:0.5px solid var(--border);border-radius:8px;max-height:240px;overflow-y:auto;z-index:500;box-shadow:0 6px 20px rgba(42,37,32,0.12)}
.combobox-dropdown.open{display:block}
.combobox-option{padding:9px 12px;font-size:13px;color:var(--ink);cursor:pointer;font-family:'Jost',sans-serif;border-bottom:0.5px solid var(--border2)}
.combobox-option:last-child{border-bottom:none}
.combobox-option:hover,.combobox-option.focused{background:var(--stone2);color:var(--ink)}
.combobox-empty{padding:9px 12px;font-size:13px;color:var(--ink3);font-style:italic}


.stat-clickable{cursor:pointer;transition:background 0.15s}
.stat-clickable:hover{background:var(--stone2)}
.stat-clickable.active-stat{background:var(--stone2);border-bottom:2px solid var(--accent)}


/* IDENTIFY TAB */
#id-options-container button:hover{background:var(--stone2)!important;border-color:var(--accent2)!important}


/* CRYSTAL GRIDS */
.grid-intro-block{background:var(--stone2);border-radius:10px;padding:1.35rem;margin-bottom:1.75rem}
.grid-intro-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,28%);gap:1.15rem;align-items:center}
.grid-intro-copy{min-width:0}
.grid-intro-photo{overflow:hidden;border-radius:9px;border:0.5px solid rgba(42,37,32,0.12);background:var(--white);min-height:188px;max-height:230px}
.grid-intro-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.grid-intro-title{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:0.75rem}
.grid-intro-body{font-size:13px;color:var(--ink2);line-height:1.75;margin-bottom:0.75rem}
.grid-tip-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:1rem}
.grid-tip{font-size:12px;color:var(--ink2);line-height:1.6;padding:0.75rem;background:var(--white);border-radius:6px;border:0.5px solid var(--border)}
.grid-tip-label{display:block;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-weight:500}
.grid-cards-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:1rem}
.grid-cards-container{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border2);border:0.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:2rem}
.grid-card{background:var(--white);padding:1.25rem;cursor:pointer;transition:background 0.12s;display:flex;flex-direction:column;gap:0.75rem}
.grid-card:hover{background:var(--stone2)}
.grid-card-swatch{width:100%;height:160px;border-radius:8px;border:0.5px solid;display:flex;align-items:center;justify-content:center}
.grid-card-body{flex:1;min-width:0}
.grid-card-name{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink);margin-bottom:3px;line-height:1.2}
.grid-card-tagline{font-size:12px;color:var(--ink2);line-height:1.5;margin-bottom:8px}
.grid-card-mood{font-size:11px;color:var(--accent);letter-spacing:0.02em}
.grid-modal-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.4);z-index:300;align-items:flex-start;justify-content:center;padding:1.5rem;overflow-y:auto}
.grid-modal-overlay.open{display:flex}
.grid-modal{background:var(--white);border-radius:12px;padding:2rem;width:min(720px,100%);margin:auto;position:relative}
.grid-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:0.5px solid var(--border);background:transparent;cursor:pointer;font-size:16px;color:var(--ink2);display:flex;align-items:center;justify-content:center}
.grid-modal-close:hover{background:var(--stone2)}
.grid-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin:-0.25rem 2.25rem 1rem 0}
@media print{body>*:not(.app-shell){display:none!important}.topbar,.main-nav,.studio-banner,footer,.grid-modal-close,.grid-modal-actions{display:none!important}.grid-modal-overlay{display:block!important;position:static!important;background:white!important;padding:0!important}.grid-modal{box-shadow:none!important;width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important}.grid-modal *{color:#2a2520!important}}
@media(max-width:900px){.grid-cards-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid-card{flex-direction:column}.grid-card-swatch{width:100%;height:100px}.grid-cards-container{grid-template-columns:1fr}}
@media(max-width:900px){.grid-intro-main{grid-template-columns:1fr}.grid-intro-photo{min-height:220px;max-height:300px}}


/* CRYSTAL SHAPES — horizontal strip layout */
.shapes-grid{border:0.5px solid var(--border);border-radius:12px;overflow:hidden;margin-top:0.85rem}
.shapes-cat-selector{background:var(--stone2);border-bottom:0.5px solid var(--border);padding:16px 20px 20px}
.shapes-cat-selector-intro{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.shapes-cat-selector-heading{font-family:Georgia,'Times New Roman',serif;font-size:14px;color:var(--ink);font-weight:400}
.shapes-cat-selector-sub{font-size:11px;color:var(--ink3);font-style:italic}
.shapes-cat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.shapes-cat-card{background:var(--white);border:0.5px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;transition:all 0.15s;font-family:inherit;display:flex;flex-direction:column;gap:5px}
.shapes-cat-card:hover{background:var(--stone);border-color:rgba(42,37,32,0.22)}
.shapes-cat-card.active{background:#f5f0e8;border-color:var(--accent2);box-shadow:0 0 0 0.5px var(--accent2)}
.shapes-cat-card-title{font-family:Georgia,'Times New Roman',serif;font-size:15px;font-weight:400;color:var(--ink)}
.shapes-cat-card-def{font-size:11px;color:var(--ink2);line-height:1.45}.shapes-strip-outer{display:flex;flex-direction:column;background:var(--stone2);border-bottom:0.5px solid var(--border)}
.shapes-strip-intro{font-size:11px;font-weight:500;color:var(--ink3);letter-spacing:0.02em;padding:10px 14px 0;font-style:italic}
.shapes-strip{flex:1;display:flex;flex-wrap:nowrap;overflow-x:auto;padding:8px 4px;gap:4px;scrollbar-width:none}
.shapes-strip::-webkit-scrollbar{display:none}
.shapes-strip.strip-with-headers{flex-direction:column;align-items:flex-start;padding:10px 12px;gap:8px;overflow-x:visible}
.cat-row{display:flex;align-items:center;gap:8px;width:100%}
.cat-row-chips{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:none}
.cat-row-chips::-webkit-scrollbar{display:none}
.shapes-scroll-arrow{flex-shrink:0;width:32px;align-self:stretch;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink2);background:var(--stone2);opacity:0;transition:opacity 0.2s;pointer-events:none;padding:0}
.shapes-scroll-arrow.visible{opacity:1;pointer-events:auto}
.shapes-scroll-arrow--left{}
.shapes-scroll-arrow--right{}
.shape-strip-item{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.04em;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:all 0.15s;border:1px solid rgba(42,37,32,0.28);flex-shrink:0}
.shape-strip-item:hover{background:var(--stone);color:var(--ink);border-color:var(--accent2)}
.shape-strip-item.active{background:var(--white);border-color:var(--accent2);color:var(--ink);font-weight:500}
.shape-strip-icon{flex-shrink:0;opacity:0.65;display:flex;align-items:center}
.shape-strip-icon svg{width:16px;height:16px}
.shape-strip-item.active .shape-strip-icon{opacity:1}
.shapes-pane{background:var(--white);padding:20px 24px}
.shape-pane-layout{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:start}
.shape-illustration{width:110px;height:110px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--stone2);border-radius:10px;border:0.5px solid var(--border)}
.shape-name{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:4px}
.shape-tagline{font-size:11px;letter-spacing:0.05em;color:var(--accent);margin-bottom:10px}
.shape-desc{font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:10px}
.shape-use{font-size:12px;color:var(--ink3);margin-bottom:10px}
.shape-use-label{font-weight:500;color:var(--ink2r);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;display:block;margin-bottom:3px}
.shape-examples{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.shape-pill{font-size:11px;padding:3px 10px;border:0.5px solid var(--border);border-radius:20px;color:var(--ink2);cursor:pointer;background:var(--stone)}
.shape-pill:hover{background:var(--stone2);color:var(--accent)}
.cat-row-label{font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-weight:600;width:64px;flex-shrink:0;border:none;background:none;cursor:pointer;font-family:'Jost',sans-serif;padding:0;transition:color 0.15s;text-align:left}
.cat-row-label:hover{color:var(--ink)}
.cat-row-label.active-cat{color:var(--ink);font-weight:700}
.cat-grid-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}
.cat-grid-title{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;color:var(--ink)}
.cat-grid-sub{font-size:11px;color:var(--ink3);flex-shrink:1;min-width:0}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cat-card{border:0.5px solid var(--border);border-radius:10px;padding:14px;background:var(--stone);cursor:pointer;transition:all 0.15s;display:flex;gap:12px;align-items:flex-start}
.cat-card:hover{background:var(--stone2);border-color:rgba(42,37,32,0.22)}
.cat-card-illus{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:8px;border:0.5px solid var(--border)}
.cat-card-illus svg{width:36px;height:36px}
.cat-card-name{font-family:Georgia,'Times New Roman',serif;font-size:14px;font-weight:400;color:var(--ink);margin-bottom:2px}
.cat-card-tagline{font-size:10px;letter-spacing:0.04em;color:var(--accent);margin-bottom:5px}
.cat-card-desc{font-size:11px;color:var(--ink2);line-height:1.6}
.shape-back-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;letter-spacing:0.05em;color:var(--ink3);cursor:pointer;margin-bottom:16px;border:none;background:none;padding:0;font-family:'Jost',sans-serif;transition:color 0.15s}
.shape-back-link:hover{color:var(--accent)}
.forms-browse{border-top:0.5px solid var(--border2);margin-top:16px;padding-top:14px;text-align:center}
.forms-browse-label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.forms-browse-cats{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.browse-cat-pill{padding:5px 14px;border-radius:20px;border:0.5px solid var(--border);font-size:11px;letter-spacing:0.05em;color:var(--ink2);cursor:pointer;background:var(--stone);transition:all 0.15s;font-family:'Jost',sans-serif}
.browse-cat-pill:hover{background:var(--stone2);border-color:var(--accent2);color:var(--ink)}
.browse-cat-pill.active{background:var(--stone2);border-color:var(--accent2);color:var(--ink);font-weight:500}
.shapes-mobile{display:none}
@media(max-width:900px) and (min-width:601px){.shapes-cat-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr}.cat-grid-header{flex-direction:column;gap:4px}}
@media(max-width:700px){.shapes-pane{padding:20px}.shape-pane-layout{grid-template-columns:1fr}}


.mobile-sotd-section{display:none}
.mobile-stone-day-intro{display:none}
/* SOTD mobile intro panel removed */

/* MOBILE SOTD — button selectors kept for JS auth logic */
.msfc-btn-enc,.msfc-btn-coll,.msfc-btn-wish{cursor:pointer}
.msfc-signin-hint{display:none!important}
/* MOBILE SOTD — card (msotd-* selectors, mobile only) */
.msotd-card{border:1px solid rgba(190,160,115,.22);border-radius:20px;overflow:hidden;background:#fbf9f5;box-shadow:0 4px 22px rgba(42,37,32,0.07)}
.msotd-eyebrow{padding:11px 18px;background:var(--sotd-banner-bg,#f3f0f8);border-bottom:1px solid var(--sotd-banner-border,rgba(147,121,91,.32))}
.msotd-eyebrow .sotd-event-heading{font-size:14px;margin:0}
.msotd-image-wrap{position:relative;margin:12px 14px 0;border-radius:14px;overflow:hidden;aspect-ratio:1/1}
.msotd-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.msotd-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f0ece4}
.msotd-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background:linear-gradient(to top,rgba(30,24,18,.68) 0%,rgba(30,24,18,.18) 48%,transparent 72%)}
.msotd-name{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.2rem,5vw,1.7rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;color:#fff;overflow-wrap:break-word;max-width:100%}
.msotd-name--med{font-size:clamp(1.35rem,6vw,2rem)}
.msotd-name--long{font-size:clamp(1.15rem,5vw,1.65rem)}
.msotd-name-rule{display:block;width:32px;height:1px;margin:8px 0 7px;background:rgba(198,164,108,.75);border-radius:999px}
.msotd-pill{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:4px 11px;border-radius:999px;font-family:'Jost',sans-serif;font-size:11px;font-weight:400;line-height:1}
.msotd-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:14px}
.msotd-summary{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;line-height:1.5;color:#474039}
.msotd-use-when{border-left:2px solid rgba(180,143,90,.5);padding-left:13px}
.msotd-use-label{display:block;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#9a7d58;margin-bottom:5px}
.msotd-use-text{margin:0;font-family:'Jost',sans-serif;font-size:13.5px;font-weight:400;line-height:1.55;color:#5a5249}
.msotd-actions{display:flex;flex-direction:column;gap:9px}
.msotd-btn-primary{appearance:none;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border:none;border-radius:10px;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:filter .15s}
.msotd-btn-primary:hover{}
.msotd-secondary-row{display:flex;gap:8px}
.msotd-btn-secondary{flex:1;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:transparent;color:#8b6f4a;border:1px solid rgba(168,135,90,.32);border-radius:10px;font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.msotd-btn-secondary:hover{background:#f5f0e8}
.msotd-btn-icon{display:inline-flex;align-items:center;flex-shrink:0;width:15px;height:15px}
.msotd-btn-icon svg{width:100%;height:100%}
.msotd-details{display:flex;flex-direction:column}
.msotd-detail-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid rgba(225,210,185,.55)}
.msotd-detail-row:last-child{border-bottom:none;padding-bottom:0}
.msotd-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.msotd-badge svg{width:19px;height:19px}
.msotd-badge--bestfor{background:rgba(197,175,140,.18);color:#9a7d5a}
.msotd-badge--chakra{background:rgba(122,107,160,.15);color:#7a6ba0}
.msotd-badge--pair{background:rgba(197,175,140,.18);color:#9a7d5a}
.msotd-detail-copy{display:flex;flex-direction:column;min-width:0}
.msotd-detail-lbl{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#9a8878;margin-bottom:3px}
.msotd-detail-val{font-family:'Jost',sans-serif;font-size:14px;font-weight:500;color:#3e3832;overflow-wrap:break-word}
.msotd-practice{padding:16px 18px 18px;border-top:1px solid rgba(180,150,100,.28);background:rgba(248,244,237,.72);text-align:center}
.msotd-practice-label{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#b8905a;margin-bottom:9px}
.msotd-practice-text{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:16px;font-style:italic;font-weight:400;line-height:1.45;color:#5f5650}

/* =========================================================
   STONE OF THE DAY — DESKTOP
   Fresh rebuild from approved visual. Mobile rules above remain untouched.
   ========================================================= */
.desktop-sotd-section{
  width:100%;
  padding:2.25rem 0 2rem;
  background:transparent;
  border:0;
}

@media (min-width:901px){
  .desktop-sotd-section #desktop-sotd-wrap{width:100%}

  .desktop-sotd-section .sotd-card{
    display:grid;
    grid-template-columns:minmax(220px,24%) minmax(0,51%) minmax(255px,25%);
    grid-template-rows:auto auto;
    width:100%;
    min-height:0;
    margin:0;
    overflow:hidden;
    background:#fbf8f3;
    border:1px solid rgba(169,135,95,.20);
    border-radius:18px;
    box-shadow:0 14px 34px rgba(55,44,33,.07),0 2px 8px rgba(55,44,33,.03);
  }

  .desktop-sotd-section .sotd-card > .sotd-event-row{
    grid-column:1 / -1;
    grid-row:1;
  }
  .desktop-sotd-section .sotd-card > .sotd-event-row:empty{
    display:none;
  }
  .desktop-sotd-section .sotd-card > .sotd-event-row .sotd-event-announcement{
    margin:0;
    border-radius:18px 18px 0 0;
    border-left:none;
    border-right:none;
    border-top:none;
  }

  .desktop-sotd-section .sotd-photo-panel{
    display:flex;
    grid-column:1;
    grid-row:2 / 4;
    min-width:0;
    padding:16px;
    border-right:1px solid rgba(147,121,91,.16);
  }

  .desktop-sotd-section .sotd-photo-frame{
    position:relative;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
    background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.96),rgba(248,243,236,.70) 68%,rgba(245,239,230,.90) 100%);
    border:1px solid rgba(169,135,95,.15);
    border-radius:15px;
  }

  .desktop-sotd-section .sotd-photo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:24px 18px 52px;
    object-fit:contain;
    object-position:center 40%;
  }

  .desktop-sotd-section .sotd-photo-fallback{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .desktop-sotd-section .sotd-photo-caption{
    position:absolute;
    left:50%;
    bottom:38px;
    display:flex;
    flex-direction:column;
    align-items:center;
    transform:translateX(-50%);
    text-align:center;
    pointer-events:none;
    white-space:nowrap;
  }

  .desktop-sotd-section .sotd-photo-name{
    font-family:'Jost',sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.17em;
    line-height:1;
    text-transform:uppercase;
    color:#947553;
  }

  .desktop-sotd-section .sotd-photo-rule{
    display:block;
    width:38px;
    height:1px;
    margin-top:9px;
    background:rgba(147,121,91,.32);
    border-radius:999px;
  }

  .desktop-sotd-section .sotd-main{
    display:flex;
    flex-direction:column;
    justify-content:center;
    grid-column:2;
    grid-row:2;
    min-width:0;
    padding:36px 30px 28px;
    border-right:1px solid rgba(147,121,91,.16);
  }

  .desktop-sotd-section .sotd-eyebrow,
  .desktop-sotd-section .sotd-details-title{
    margin:0;
    font-family:'Jost',sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.16em;
    line-height:1.2;
    text-transform:uppercase;
    color:#856844;
  }

  .desktop-sotd-section .sotd-title-row{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin:6px 0 0.65rem;
  }

  .desktop-sotd-section .sotd-title{
    margin:0;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(1.6rem,2vw,2.1rem);
    font-weight:400;
    letter-spacing:-.02em;
    line-height:1.02;
    color:#4b4540;
  }

  .desktop-sotd-section .sotd-quality-pill{
    align-self:center;
    margin:0;
    padding:5px 11px;
    border-radius:999px;
    font-family:'Jost',sans-serif;
    font-size:0.8rem;
    font-weight:400;
    line-height:1;
  }

  .desktop-sotd-section .sotd-summary{
    max-width:760px;
    margin:0.65rem 0 0.5rem;
    font-family:Georgia,'Times New Roman',serif;
    font-size:1.15rem;
    font-weight:400;
    line-height:1.45;
    color:#514a45;
  }

  .desktop-sotd-section .sotd-use-when{
    max-width:720px;
    margin:0 0 1.1rem;
    font-family:'Jost',sans-serif;
    font-size:0.95rem;
    font-weight:400;
    line-height:1.55;
    color:#8a8077;
  }

  .desktop-sotd-section .sotd-actions{
    display:grid;
    grid-template-columns:1.08fr 1fr 1fr;
    align-items:stretch;
    gap:9px;
    margin-top:0;
  }

  .desktop-sotd-section .sotd-button{
    -webkit-appearance:none;
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    min-width:0;
    padding:7px 10px;
    border:1px solid transparent;
    border-radius:15px;
    font-family:'Jost',sans-serif;
    font-size:10px;
    font-weight:500;
    letter-spacing:.035em;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:none;
    filter:none;
    transform:none;
  }

  .desktop-sotd-section .sotd-button-primary{
    background:var(--sotd-btn-bg,#d9d2e9);
    border:1px solid var(--sotd-btn-border,#b0a0d8);
    color:var(--sotd-btn-text,#5e5080);
    font-weight:500;
    box-shadow:none;
    filter:none;
    transform:none;
  }

  .desktop-sotd-section .sotd-button-secondary{
    color:#876743;
    background:rgba(255,255,255,.38);
    border:1px solid rgba(169,135,95,.22);
    box-shadow:none;
    filter:none;
    transform:none;
  }

  .desktop-sotd-section .sotd-button-wish{
    gap:7px;
  }

  .desktop-sotd-section .sotd-heart-icon,
  .desktop-sotd-section .sotd-action-icon{
    display:inline-flex;
    align-items:center;
    flex:0 0 15px;
    width:15px;
    height:15px;
  }
  .desktop-sotd-section .sotd-action-icon svg{width:100%;height:100%}

  .desktop-sotd-section .sfc-signin{
    grid-column:1/-1;
    font-family:'Jost',sans-serif;
    font-size:10px;
    color:#8d857e;
  }

  .desktop-sotd-section .sotd-details{
    display:flex;
    flex-direction:column;
    grid-column:3;
    grid-row:2;
    min-width:0;
    padding:16px 24px 22px;
    background:#faf7f2;
  }

  .desktop-sotd-section .sotd-detail-row{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    align-items:center;
    column-gap:11px;
    min-height:0;
    padding:14px 0;
    border-bottom:1px solid rgba(147,121,91,.14);
  }

  .desktop-sotd-section .sotd-detail-row:last-of-type{
    border-bottom:0;
  }

  .desktop-sotd-section .sotd-detail-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    color:#785a30;
  }

  .desktop-sotd-section .sotd-detail-icon-svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
  }

  .desktop-sotd-section .sotd-detail-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
  }

  .desktop-sotd-section .sotd-detail-label{
    margin-bottom:6px;
    font-family:'Jost',sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.085em;
    line-height:1.2;
    text-transform:uppercase;
    color:#785a30;
  }

  .desktop-sotd-section .sotd-detail-value{
    font-family:'Jost',sans-serif;
    font-size:0.94rem;
    font-weight:400;
    letter-spacing:-.01em;
    line-height:1.37;
    color:#7a7470;
  }

  .desktop-sotd-section .sotd-practice{
    grid-column:2 / 4;
    grid-row:3;
    padding:22px 30px 24px;
    border-top:1px solid rgba(169,135,95,0.42);
    background:rgba(251,248,243,0.72);
  }

  .desktop-sotd-section .sotd-practice-label{
    margin-bottom:8px;
    font-family:'Jost',sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.15em;
    line-height:1.2;
    text-transform:uppercase;
    color:#947553;
  }

  .desktop-sotd-section .sotd-practice-text{
    max-width:680px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(0.95rem,1.1vw,1.15rem);
    font-style:italic;
    font-weight:400;
    line-height:1.35;
    color:#5f5751;
  }
}

@media (min-width:901px) and (max-width:1100px){
  .desktop-sotd-section .sotd-card{
    grid-template-columns:23% minmax(0,52%) 25%;
  }
  .desktop-sotd-section .sotd-main{padding:22px 23px 20px}
  .desktop-sotd-section .sotd-title{font-size:clamp(1.9rem,2.6vw,2.6rem)}
  .desktop-sotd-section .sotd-summary{font-size:1.25rem}
  .desktop-sotd-section .sotd-details{padding:14px 20px 20px}
  .desktop-sotd-section .sotd-detail-row{grid-template-columns:29px minmax(0,1fr);column-gap:9px;padding:9px 0}
  .desktop-sotd-section .sotd-detail-icon{width:25px;height:25px}
  .desktop-sotd-section .sotd-actions{gap:7px;margin-top:15px}
  .desktop-sotd-section .sotd-button{padding-inline:9px;min-height:32px}
}

/* HOME EXPLORE TILES */
.home-pathways{padding:2rem 0 2rem;scroll-margin-top:156px}
.home-pathways-header{margin-bottom:1.25rem}
.home-pathways-title{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400;color:var(--ink)}
.home-pathways-sub{font-size:14px;color:var(--ink3);margin-top:4px}
.home-pathways-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.home-pw-card.home-pw-card--essentials{display:none}
.home-mobile-backtop-wrap{display:none}
.home-pw-card{background:var(--white);border:0.5px solid var(--border);border-radius:14px;padding:1.5rem 1.4rem 1.25rem;display:flex;flex-direction:column;gap:0.7rem;cursor:pointer;text-decoration:none;color:inherit;transition:all 0.18s}
.home-pw-card:hover{border-color:rgba(200,169,110,0.55);box-shadow:0 8px 28px rgba(42,37,32,0.07);transform:translateY(-2px)}
.home-pw-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.home-pw-icon--mood{background:#f1eaf4}
.home-pw-icon--enc {background:#f4ede2}
.home-pw-icon--id  {background:#e8f0ea}
.home-pw-icon--coll{background:#eaeff4}
.home-pw-icon--101 {background:#f0ece4}
.home-pw-icon--essentials{background:#f4e8ee}
.home-pw-name{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink)}
.home-pw-desc{font-family:'Jost',sans-serif;font-size:12px;color:var(--ink3);line-height:1.6;flex:1}
@media(max-width:900px){.home-pathways-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.content{display:flex;flex-direction:column}.homepage-hero{order:1}.mobile-sotd-section{order:2;display:block;padding:1.25rem 0 1.35rem;border-bottom:0.5px solid var(--border2)}.home-pathways{order:3}.desktop-sotd-section{display:none}.home-mobile-backtop-wrap{order:4}.mobile-sotd-header{display:none}.mobile-stone-day-intro{display:none}.home-pathways-grid{grid-template-columns:repeat(2,1fr)}.home-pw-card.home-pw-card--essentials{display:flex}.home-pathways-grid .home-pw-card:nth-child(5){grid-column:auto;min-height:auto}.home-mobile-backtop-wrap{display:flex;justify-content:center;margin:1rem 0 0}.home-mobile-backtop{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink2r);background:transparent;border:0.5px solid var(--border);border-radius:999px;padding:6px 12px;text-decoration:none;font-family:'Jost',sans-serif}.how-to-choose-desktop{display:none}.how-to-choose-mobile{display:block;padding:0 1px}}
@media(max-width:380px){.msotd-name{font-size:clamp(1.1rem,5vw,1.5rem)}.msotd-summary{font-size:15px}.msotd-use-text{font-size:12.5px}.choose-method-card{grid-template-columns:44px 1px 68px minmax(0,1fr);column-gap:12px;padding:22px 18px}.choose-method-icon{width:62px;height:62px}.choose-method-icon svg{width:34px;height:34px}.choose-method-copy h3{font-size:24px}.choose-method-copy p{font-size:16px}}

/* HOW TO CHOOSE — MOBILE EDITORIAL CARDS */
.how-to-choose-mobile{display:none}
.choose-method-list{display:grid;gap:16px}
.choose-method-card{display:grid;grid-template-columns:56px 1px 92px minmax(0,1fr);align-items:center;column-gap:18px;padding:26px 24px;border:1px solid rgba(194,166,126,0.28);border-radius:24px;background:rgba(255,253,249,0.9)}
.choose-method-number{font-family:Georgia,'Times New Roman',serif;font-size:38px;line-height:1;color:#c6a46d;text-align:center}
.choose-method-divider{width:1px;height:100%;min-height:112px;background:#eadfd3;align-self:stretch}
.choose-method-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#f0e9f7;color:#75699a}
.choose-method-icon svg{width:42px;height:42px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.choose-method-copy h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.1;font-weight:500;color:#443f3a}
.choose-method-copy p{margin:0;font-size:17px;line-height:1.55;color:#6f6963}
.how-to-choose-heading{margin-bottom:28px}
.how-to-choose-heading h2{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.625rem,11vw,3rem);line-height:1.05;font-weight:400;color:#2e2a26;letter-spacing:-0.01em}
.how-to-choose-heading p{margin:0;font-size:18px;line-height:1.6;color:#6f6963}
.choose-reassurance{display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:center;margin-top:18px;padding:22px 24px;border-radius:22px;background:linear-gradient(135deg,rgba(242,234,249,0.95),rgba(249,245,252,0.95))}
.choose-reassurance-star{display:grid;place-items:center;color:#c8a06a;opacity:0.65}
.choose-reassurance-star svg{width:22px;height:22px;display:block}
.choose-reassurance-title{margin:0 0 4px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:20px;color:#6e628d}
.choose-reassurance-text{margin:0;font-size:15px;color:#6f6963}

/* STARTER STONE MODAL */
.starter-stone-modal-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.36);z-index:300;align-items:center;justify-content:center;padding:1.5rem}
.starter-stone-modal-overlay.open{display:flex}
.starter-stone-modal{position:relative;width:min(680px,100%);background:var(--white);border:0.5px solid var(--border);border-radius:14px;box-shadow:0 18px 60px rgba(42,37,32,0.18);padding:1.35rem 3.25rem}
.starter-stone-modal-content{display:grid;grid-template-columns:210px 1fr;gap:1.5rem;align-items:center}
.starter-stone-modal-media{height:230px;border-radius:10px;background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%);border:0.5px solid var(--border2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.starter-stone-modal-image{width:100%;height:100%;object-fit:contain;padding:12px;display:block}
.starter-stone-modal-dot{width:110px;height:110px;border-radius:50%;border:0.5px solid rgba(42,37,32,0.12)}
.starter-stone-modal-title{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;line-height:1.14;color:var(--ink);margin-bottom:0.8rem}
.starter-stone-modal-qualities{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:1rem}
.starter-stone-modal-qualities span{font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);background:var(--stone2);border:0.5px solid var(--border2);border-radius:999px;padding:5px 10px}
.starter-stone-modal-best{font-size:13px;line-height:1.55;color:var(--ink2);margin-bottom:1rem}
.starter-stone-modal-best span{display:block;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.starter-stone-modal-intention{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-style:italic;line-height:1.55;color:var(--ink);margin-bottom:1.1rem}
.starter-stone-modal-learn{border:none;background:transparent;color:var(--accent);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;padding:0;border-bottom:1px solid rgba(139,115,85,0.28)}
.starter-stone-modal-learn:hover,.starter-stone-modal-learn:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}
.starter-stone-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:0.5px solid var(--border);background:transparent;color:var(--ink2);cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;z-index:2}
.starter-stone-modal-close:hover,.starter-stone-modal-close:focus-visible{background:var(--stone2);outline:none}
.starter-stone-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:52px;border:none;border-radius:999px;background:rgba(237,233,227,0.78);color:var(--ink2);font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s,color 0.15s}
.starter-stone-modal-nav:hover,.starter-stone-modal-nav:focus-visible{background:var(--stone2);color:var(--accent);outline:none}
.starter-stone-modal-prev{left:0.75rem}
.starter-stone-modal-next{right:0.75rem}
@media(max-width:620px){.starter-stone-modal-overlay{align-items:flex-start;overflow-y:auto;padding:1rem}.starter-stone-modal{padding:3.1rem 1rem 1.25rem;margin:auto}.starter-stone-modal-content{grid-template-columns:1fr;gap:1rem}.starter-stone-modal-media{height:190px}.starter-stone-modal-title{font-size:23px}.starter-stone-modal-nav{top:1rem;transform:none;width:32px;height:32px;font-size:24px}.starter-stone-modal-prev{left:1rem}.starter-stone-modal-next{right:3.35rem}}

/* DRAWER — REFERENCE PHOTO */
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0}
.drawer-header-text{flex:1;min-width:0}
.drawer-ref-photo-col{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}
.drawer-ref-photo-thumb{width:114px;height:114px;object-fit:cover;border-radius:8px;border:0.5px solid var(--border);cursor:zoom-in;display:block;transition:opacity 0.15s}
.drawer-ref-photo-thumb:hover{opacity:0.82}
.drawer-ref-photo-label{font-size:8.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--accent);font-family:'Jost',sans-serif;cursor:pointer;text-decoration:none}
.drawer-ref-photo-label:hover{text-decoration:underline;text-underline-offset:2px}
/* LIGHTBOX */
.photo-lightbox{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.85);z-index:200;align-items:center;justify-content:center;cursor:zoom-out}
.photo-lightbox.open{display:flex}
.photo-lightbox img{max-width:min(520px,90vw);max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,0.4);cursor:default}
.photo-lightbox-label{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);max-width:min(520px,90vw);padding:6px 12px;border-radius:999px;background:rgba(42,37,32,0.58);color:var(--white);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;text-align:center;pointer-events:none;backdrop-filter:blur(4px)}
.photo-lightbox-close{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;border-radius:50%;background:rgba(250,248,246,0.15);border:0.5px solid rgba(250,248,246,0.25);color:var(--white);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s}
.photo-lightbox-close:hover{background:rgba(250,248,246,0.25)}
.lightbox-nav{display:none;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:none;border-radius:999px;background:rgba(250,248,246,0.14);color:var(--white);font-size:34px;line-height:1;cursor:pointer;align-items:center;justify-content:center;transition:background 0.15s}
.photo-lightbox.has-nav .lightbox-nav{display:flex}
.lightbox-nav:hover{background:rgba(250,248,246,0.25)}
.lightbox-nav.prev{left:1.25rem}
.lightbox-nav.next{right:1.25rem}
@media(max-width:600px){.lightbox-nav{width:36px;height:54px;font-size:28px}.lightbox-nav.prev{left:0.5rem}.lightbox-nav.next{right:0.5rem}}

/* DRAWER PHOTO CAROUSEL - keeps multi-photo stones thumbnail-sized */
.drawer-photo-carousel{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;width:124px}
.drawer-photo-main-wrap{width:114px;height:114px;position:relative;border-radius:8px;overflow:visible;border:0.5px solid var(--border);background:var(--white)}
#drawer-carousel-img{width:114px;height:114px;object-fit:cover;display:block;cursor:zoom-in;border-radius:8px}
.drawer-photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:22px;height:34px;border:0.5px solid var(--border2);border-radius:999px;background:rgba(250,248,246,0.92);color:var(--ink2);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background 0.15s,color 0.15s}
.drawer-photo-nav:hover{background:var(--white);color:var(--accent)}
.drawer-photo-nav.prev{left:-27px}
.drawer-photo-nav.next{right:-27px}
.drawer-photo-dots{display:flex;align-items:center;justify-content:center;gap:4px;min-height:10px}
.drawer-photo-dot{width:6px;height:6px;border-radius:50%;background:var(--stone3);cursor:pointer;display:inline-block;transition:background 0.15s,transform 0.15s}
.drawer-photo-dot.active{background:var(--accent);transform:scale(1.12)}

/* PHOTO CARDS - clean white fade for real photos, soft wash only for placeholders */
.card-img-zone.has-photo{background:linear-gradient(180deg,#ffffff 0%,#ffffff 62%,#fbfaf8 100%)}
.card-img-zone.has-photo img{width:100%;height:100%;max-width:100%;max-height:110px;object-fit:contain;padding:8px}
.card-img-zone.no-photo{background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%);position:relative}
.no-photo-orb{width:46px;height:46px;border-radius:50%;display:block;background:var(--orb,#d8d4ce);opacity:0.78;box-shadow:0 0 0 12px color-mix(in srgb,var(--orb,#d8d4ce) 16%,transparent),0 10px 24px rgba(42,37,32,0.08)}
.no-photo-orb.multi{background:var(--orb,#d8d4ce)}
.drawer-ref-photo-placeholder{width:114px;height:114px;border-radius:8px;border:0.5px solid var(--border);display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffffff 0%,#fbfaf8 100%)}
.drawer-ref-photo-placeholder{cursor:default}
.drawer-ref-photo-placeholder:hover{opacity:1}
@media(max-width:600px){.drawer-photo-nav.prev{left:-21px}.drawer-photo-nav.next{right:-21px}}
.featured-card.has-photo{background:linear-gradient(180deg,#ffffff 0%,#faf8f6 78%,var(--white) 100%)}


/* LOAD MORE */
.load-more-wrap,.stone-list-load-more,.enc-tier-more-wrap{text-align:center;padding:1.4rem 0 0.6rem}
.load-more-btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 2rem;
  background:transparent;
  border:0.5px solid var(--border2);
  border-radius:3px;
  font-family:'Jost',sans-serif;
  font-size:11px;font-weight:400;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--ink2);cursor:pointer;
  transition:all 0.2s;
}
.load-more-btn:hover{border-color:var(--accent);color:var(--accent)}
.load-more-btn:disabled{opacity:0.35;cursor:default;border-color:var(--border)}
.load-more-count{font-size:11px;color:var(--ink3);margin-top:0.6rem;letter-spacing:0.04em}


/* ── Identify Tab ── */
/* Hero banner */
.id2-hero{position:relative;margin:0 0 1rem;height:clamp(145px,13.5vw,185px);overflow:hidden;background:#e8e2da;border:0.5px solid var(--border);border-radius:14px;box-shadow:0 12px 36px rgba(42,37,32,0.07)}
.id2-hero-placeholder{position:absolute;inset:0;background:linear-gradient(120deg,#d4c9b8 0%,#bfb09e 50%,#c8bfb0 100%)}
.id2-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 64%;display:block}
.id2-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(38,28,18,0.72) 0%,rgba(38,28,18,0.32) 42%,rgba(38,28,18,0) 65%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.35rem 1.6rem}
.id2-hero-kicker{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:4px}
.id2-hero-h1{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;color:#fff;line-height:1.16}
/* Wrap */
.id2-wrap{padding:1.05rem 0 2rem}
.id2-intro{max-width:none;margin:0 auto 0.75rem;padding:0 1rem;text-align:center;font-size:14px;line-height:1.75;color:var(--ink2);white-space:nowrap}
/* Step progress bar */
.id2-progress{display:flex;align-items:center;gap:0;margin-bottom:0.95rem;background:var(--white);border:0.5px solid var(--border);border-radius:10px;overflow:hidden}
.id2-prog-step{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:0.7rem 0.5rem;font-size:12px;letter-spacing:0.04em;color:var(--ink3);border-right:0.5px solid var(--border);cursor:default;transition:background 0.15s}
.id2-prog-step:last-child{border-right:none}
.id2-prog-step.done{color:var(--accent);background:#fdf8f2;cursor:pointer}
.id2-prog-step.done:hover{background:#faf2e8}
.id2-prog-step.active{color:var(--ink);font-weight:500;background:#fff}
.id2-prog-num{font-family:Georgia,'Times New Roman',serif;font-size:13px;color:var(--accent2)}
.id2-prog-step.active .id2-prog-num{font-size:14px}
#id2-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}
/* Step cards */
.id2-sc{background:var(--white);border:0.5px solid var(--border);border-radius:12px;overflow:hidden}
.id2-sc--answered{border-left:3px solid var(--accent2)}
.id2-sc--active{box-shadow:0 6px 24px rgba(42,37,32,0.08);border-color:rgba(200,169,110,0.4)}
@keyframes id2fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.id2-sc-slidein{animation:id2fade 0.28s cubic-bezier(0.22,1,0.36,1) both}
/* Answered row */
.id2-sc-answered-row{display:flex;align-items:center;gap:12px;padding:0.8rem 1.4rem}
.id2-sc-num{font-family:Georgia,'Times New Roman',serif;font-size:13px;color:var(--accent2);flex-shrink:0}
.id2-sc-aname{font-size:11.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink3);flex:1}
.id2-sc-chip{background:#f1e8d8;color:var(--accent);font-size:11.5px;padding:3px 12px;border-radius:20px;font-weight:500;border:0.5px solid rgba(200,169,110,0.4);white-space:nowrap}
.id2-sc-chip--skip{background:transparent;color:var(--ink3);border-color:var(--border);font-style:italic}
.id2-sc-change{font-size:11px;color:var(--ink3);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0;font-family:'Jost',sans-serif;flex-shrink:0}
.id2-sc-change:hover{color:var(--accent)}
/* Active card inner */
.id2-sc-inner{padding:1.25rem 1.5rem}
.id2-sc-header{display:flex;align-items:baseline;gap:10px;margin-bottom:1rem}
.id2-sc--active .id2-sc-num{font-size:18px}
.id2-sc-q{font-size:15px;font-weight:400;color:var(--ink);line-height:1.35}
/* Color grid */
.id2-color-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.id2-color-btn{width:32px;height:32px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:all 0.15s;flex-shrink:0}
.id2-color-btn:hover{transform:scale(1.1)}
.id2-color-btn.active{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--ink)}
@media(min-width:601px){
  #id2-step-color .id2-sc-inner,
  .id2-sc--color .id2-sc-inner{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:1rem}
  #id2-step-color .id2-sc-header,
  .id2-sc--color .id2-sc-header{margin-bottom:0;white-space:nowrap}
  #id2-step-color .id2-color-grid,
  .id2-sc--color .id2-color-grid{justify-content:center}
}
/* Pills row with inline skip */
.id2-pills-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.id2-pill{font-size:13.5px;padding:8px 18px;border:0.5px solid var(--border);border-radius:20px;background:transparent;cursor:pointer;color:var(--ink2);font-family:'Jost',sans-serif;transition:all 0.15s;white-space:nowrap}
.id2-pill:hover{border-color:var(--accent2);color:var(--accent);background:#fdf8f2}
.id2-pill.active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.id2-skip-pill{font-size:11.5px;padding:7px 14px;border:none;background:transparent;cursor:pointer;color:var(--ink3);font-family:'Jost',sans-serif;transition:all 0.15s;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.id2-skip-pill:hover{color:var(--accent)}
/* Tooltips */
.id2-tooltip-wrap{position:relative;display:inline-flex;align-items:center;margin-left:5px}
.id2-tip-btn{width:14px;height:14px;border-radius:50%;border:1px solid var(--accent2);background:transparent;color:var(--accent2);font-size:8px;font-family:'Jost',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0;transition:all 0.15s;vertical-align:middle}
.id2-tip-btn:hover{background:var(--accent2);color:var(--white)}
.id2-tooltip{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:var(--ink);color:var(--white);font-size:11.5px;line-height:1.6;padding:10px 13px;border-radius:8px;width:260px;font-family:'Jost',sans-serif;letter-spacing:0.01em;z-index:100;pointer-events:none;text-transform:none;font-weight:400}
.id2-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}
.id2-tooltip-wrap:hover .id2-tooltip,.id2-tip-btn:focus+.id2-tooltip{display:block}
/* Result bar */
.id2-result-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.id2-count{font-size:13px;color:var(--ink2)}
.id2-count strong{font-weight:500}
.id2-clear{font-size:11px;letter-spacing:0.06em;text-transform:uppercase;padding:5px 12px;border:0.5px solid var(--border);border-radius:6px;background:transparent;cursor:pointer;color:var(--ink3);font-family:'Jost',sans-serif}
.id2-clear:hover{color:var(--ink)}
/* Empty / overflow */
.id2-empty{text-align:center;padding:3rem 1rem;color:var(--ink3);font-size:13px;grid-column:1/-1}
/* Zero-results recovery card */
.id2-sc--zero{border-color:rgba(200,169,110,0.3);background:#faf7f3}
.id2-sc--zero .id2-sc-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.6rem;padding:2rem 1.5rem}
.id2-zero-icon{font-size:28px;opacity:0.3;line-height:1;margin-bottom:0.25rem}
.id2-zero-title{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink)}
.id2-zero-body{font-size:13px;color:var(--ink3);line-height:1.65;max-width:340px}
.id2-zero-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0.25rem 0}
.id2-zero-chip{font-family:'Jost',sans-serif;font-size:12px;color:var(--ink);background:var(--white);border:0.5px solid rgba(200,169,110,0.5);border-radius:20px;padding:6px 14px;cursor:pointer;transition:all 0.15s;display:inline-flex;align-items:center;gap:5px}
.id2-zero-chip:hover{border-color:var(--accent);background:#f5f0e8}
.id2-zero-chip strong{font-weight:500;color:var(--accent)}
.id2-zero-chip-x{font-size:13px;color:var(--ink3);margin-left:2px}
.id2-zero-reset{margin-top:0.25rem;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;padding:9px 22px;border:0.5px solid var(--border);border-radius:20px;background:transparent;color:var(--ink2);cursor:pointer;transition:all 0.15s}
.id2-zero-reset:hover{border-color:var(--accent);color:var(--accent)}
.id2-theme-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
.id2-theme-tag{font-size:9.5px;letter-spacing:0.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:var(--stone);border:0.5px solid var(--border2);color:var(--ink3)}

/* ── Crystals 101 CSS (from lines 837–921) ── */
.c101-wrap{padding:0 0 1.5rem}
.c101-layout{display:grid;grid-template-columns:190px 1fr;border:0.5px solid var(--border);border-radius:12px;margin-top:0.5rem;align-items:start}
.c101-sidebar{background:var(--stone2);border-right:0.5px solid var(--border);padding:8px 0;border-radius:12px 0 0 12px;position:sticky;top:148px;max-height:calc(100vh - 168px);overflow-y:auto}
.c101-sidebar-item{display:block;padding:10px 16px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.03em;color:var(--ink2);cursor:pointer;border-left:2px solid transparent;transition:all 0.15s}
.c101-sidebar-item:hover{background:var(--stone);color:var(--ink)}
.c101-sidebar-item.active{background:var(--white);border-left-color:var(--accent);color:var(--ink);font-weight:500}
.c101-content-pane{background:var(--white);padding:20px 24px;min-width:0;border-radius:0 12px 12px 0}
.c101-nav{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin-bottom:1rem}
.c101-pill{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.07em;text-transform:uppercase;padding:7px 16px;border:0.5px solid var(--border);border-radius:20px;background:transparent;cursor:pointer;color:var(--ink2);transition:all 0.15s;white-space:nowrap;flex-shrink:0}
.c101-pill.active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.c101-section{display:none}
.c101-section.active{display:block}
.c101-h1{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:0.4rem;line-height:1.2}
.c101-sub{font-size:13px;color:var(--ink3);letter-spacing:0.04em;margin-bottom:1.25rem}
.c101-block{margin-bottom:1.75rem}
.c101-h2{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;letter-spacing:0.01em;text-transform:none;color:var(--ink);margin-bottom:0.75rem}
.c101-body{font-size:14px;line-height:1.8;color:var(--ink2);margin-bottom:1rem}
.c101-photo-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px);gap:1.5rem;align-items:start;margin:0 0 1.15rem}
.c101-photo-intro--families{margin-bottom:0.95rem}
.c101-photo-copy{min-width:0;padding-top:0}
.c101-photo-copy .c101-body{margin-bottom:0.75rem}
.c101-photo-copy .c101-body:last-child{margin-bottom:0}
.c101-photo-slot{overflow:hidden;border-radius:10px;border:0.5px solid rgba(42,37,32,0.13);background:var(--stone2);width:100%;aspect-ratio:1/1;min-height:0;box-shadow:0 8px 20px rgba(42,37,32,0.055)}
.c101-photo-slot img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.c101-wide-photo{overflow:hidden;border-radius:11px;border:0.5px solid rgba(42,37,32,0.13);background:var(--stone2);margin:0 0 1.35rem;width:min(64%,760px);height:clamp(190px,16vw,240px)}
.c101-wide-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.c101-wide-photo--work{height:clamp(190px,16vw,230px)}
.c101-wide-photo--cleansing{height:clamp(190px,16vw,230px)}
.c101-wide-photo--chakras{height:clamp(180px,15vw,220px)}
.c101-wide-photo--kit{height:clamp(180px,15vw,210px);margin:0.35rem 0 1rem}
.c101-wide-photo--care{height:clamp(190px,16vw,230px)}
.c101-callout{background:var(--stone2);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;padding:1rem 1.25rem;margin:1rem 0;font-size:13px;line-height:1.7;color:var(--ink2)}
.c101-callout strong{font-weight:500;color:var(--ink)}
.c101-warn{background:#fdf6ee;border-left:2px solid #c4a050;border-radius:0 8px 8px 0;padding:1rem 1.25rem;margin:1rem 0;font-size:13px;line-height:1.7;color:var(--ink)}
.c101-warn strong{color:#7a5010}

/* Chakra cards */
.chakra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:1.5rem}
.chakra-card{border:0.5px solid var(--border);border-radius:10px;padding:1rem;background:var(--white);cursor:pointer;transition:all 0.15s}
.chakra-card:hover{border-color:var(--accent2);transform:translateY(-1px)}
.chakra-dot{width:14px;height:14px;border-radius:50%;display:inline-block;margin-right:8px;flex-shrink:0}
.chakra-name{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;color:var(--ink);display:flex;align-items:center;margin-bottom:4px}
.chakra-loc{font-size:11px;color:var(--ink3);margin-bottom:6px}
.chakra-theme{font-size:12px;color:var(--ink2);line-height:1.5;margin-bottom:9px}
.chakra-imbalance{font-size:11px;color:var(--ink3);line-height:1.5;margin-top:7px;padding-top:7px;border-top:0.5px solid var(--border2)}
.chakra-imbalance-label{display:block;font-size:9.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.chakra-imbalance-tags{display:flex;flex-wrap:wrap;gap:5px}
.chakra-imbalance-tag{display:inline-flex;align-items:center;border:0.5px solid var(--border2);border-radius:999px;background:var(--stone);padding:3px 8px;font-size:10.5px;line-height:1.25;color:var(--ink2)}
.chakra-cta{margin-top:0.85rem;border:none;background:transparent;color:var(--accent);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.055em;text-transform:uppercase;cursor:pointer;padding:0;text-align:left}
.chakra-cta:hover{color:var(--ink)}

/* ER role cards */
.role-group-label{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:1.25rem 0 0.55rem;padding-bottom:0.3rem;border-bottom:0.5px solid var(--border2)}
.role-group-label:first-child{margin-top:0}
.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:0.75rem}
.role-card{border:0.5px solid var(--border);border-radius:10px;background:var(--white);cursor:pointer;transition:background 0.12s,border-color 0.12s;display:flex;overflow:hidden}
.role-card:hover{background:var(--stone2);border-color:var(--accent2)}
.role-stripe{width:4px;flex-shrink:0}
.role-body{padding:0.9rem 1rem;min-width:0}
.role-name{font-family:Georgia,'Times New Roman',serif;font-size:15px;font-weight:400;color:var(--ink);letter-spacing:0.01em;margin-bottom:4px}
.role-desc{font-size:12px;color:var(--ink2);line-height:1.6}
.role-eg{font-size:11px;color:var(--ink3);margin-top:5px;font-style:italic}
.role-cta{display:none}
.kit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:1rem}
.kit-card{border:0.5px solid var(--border);border-radius:10px;background:var(--white);display:flex;overflow:hidden}
.kit-stripe{width:4px;flex-shrink:0}
.kit-card-body{padding:0.75rem 0.85rem;min-width:0}
.kit-role{font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:400;color:var(--ink);margin-bottom:5px}
.kit-stones{font-size:11px;color:var(--ink2);line-height:1.75}
.kit-stone{display:block}
.kit-cta{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:0.04em;color:var(--ink2);border:0.5px solid var(--border);border-radius:6px;padding:9px 16px;background:var(--white);cursor:pointer;font-family:'Jost',sans-serif}
.kit-cta:hover{background:var(--stone2);border-color:var(--accent2)}
@media(max-width:700px){.kit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  #s101-roles .role-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:1.35rem}
  #s101-roles .role-card{min-height:0;transform:none}
  #s101-roles .role-card:hover{transform:none}
  #s101-roles .role-body{width:100%;padding:0.75rem 0.9rem}
  #s101-roles .role-name{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0;font-size:16px}
  #s101-roles .role-name::after{content:'+';width:20px;height:20px;border:0.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 20px;background:var(--stone);color:var(--accent);font-family:'Jost',sans-serif;font-size:13px;line-height:1}
  #s101-roles .role-card.open .role-name{margin-bottom:7px}
  #s101-roles .role-card.open .role-name::after{content:'-'}
  #s101-roles .role-desc,
  #s101-roles .role-eg,
  #s101-roles .role-cta{display:none}
  #s101-roles .role-card.open .role-desc{display:block}
  #s101-roles .role-card.open .role-eg{display:block}
  #s101-roles .role-card.open .role-cta{display:inline-flex;margin-top:0.8rem;border:none;background:transparent;color:var(--accent);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.055em;text-transform:uppercase;cursor:pointer;padding:0;text-align:left}
  #s101-roles .role-card.open .role-cta:hover{color:var(--ink)}
}
@media(max-width:420px){#s101-roles .kit-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  #s101-roles .kit-grid{grid-template-columns:1fr;gap:8px}
  #s101-roles .kit-card-body{display:grid;grid-template-columns:minmax(88px,0.8fr) 1.4fr;gap:10px;align-items:start;width:100%;padding:0.72rem 0.8rem}
  #s101-roles .kit-role{margin:0;font-size:15px;line-height:1.25}
  #s101-roles .kit-stones{display:flex;flex-direction:column;gap:2px;line-height:1.35;text-align:left}
}
@media(max-width:900px){.c101-photo-intro{grid-template-columns:1fr;gap:0.9rem}.c101-photo-slot{max-width:220px;justify-self:start}.c101-wide-photo,.c101-wide-photo--work,.c101-wide-photo--cleansing,.c101-wide-photo--chakras,.c101-wide-photo--kit,.c101-wide-photo--care{width:100%;height:auto;aspect-ratio:16/9}}

/* ── Energetic Roles result view ── */
.er-role-count{display:none}
.er-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.er-result-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem;font-weight:400;color:var(--ink);line-height:1.2}
.er-result-meta{font-family:'Jost',sans-serif;font-weight:400;font-size:11.5px;color:var(--ink3);margin-top:3px;letter-spacing:0.01em}
.er-back-btn{font-family:'Jost',sans-serif;font-weight:400;white-space:nowrap;flex-shrink:0;margin-top:2px}
.er-filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:1.25rem;flex-wrap:wrap}
.er-filter-btn{font-size:12px;padding:5px 14px;border:0.5px solid var(--border);border-radius:20px;background:transparent;cursor:pointer;color:var(--ink2);font-family:'Jost',sans-serif;font-weight:500;transition:all 0.15s;letter-spacing:0.02em}
.er-filter-btn:hover{border-color:var(--accent2);color:var(--accent)}
.er-filter-btn.active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.er-result-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:769px){.er-result-grid{grid-template-columns:1fr 1fr;gap:12px}}
.er-result-card{display:flex;flex-direction:row;align-items:flex-start;border:0.5px solid var(--border);border-radius:10px;overflow:hidden;background:var(--white);cursor:pointer;transition:box-shadow 0.15s,border-color 0.15s}
.er-result-card:hover{box-shadow:0 4px 16px rgba(42,37,32,0.09);border-color:var(--accent2)}
.er-card-img{width:84px;min-height:84px;flex-shrink:0;border-right:0.5px solid var(--border2);background:var(--stone2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.er-card-img img{width:84px;height:84px;object-fit:cover;display:block}
.er-card-img-empty{width:84px;height:84px}
.er-card-body{padding:0.75rem 1rem;min-width:0;flex:1}
.er-card-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;font-weight:400;color:var(--ink);margin-bottom:5px;line-height:1.2}
.er-card-why{font-family:'Jost',sans-serif;font-weight:400;font-size:12.5px;color:var(--ink2);line-height:1.65}
.er-card-why-label{font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink3);margin-right:5px}
@media(min-width:769px){
  .er-card-img{width:100px;min-height:100px}
  .er-card-img img{width:100px;height:100px}
  .er-card-img-empty{width:100px;height:100px}
  .er-card-body{padding:0.85rem 1.1rem}
  .er-card-name{font-size:17px}
  .er-card-why{font-size:13px}
}

/* Family cards */
.fam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:1.5rem}
.fam-card{border:0.5px solid var(--border);border-radius:10px;overflow:hidden;background:var(--white);cursor:pointer;transition:all 0.15s}
.fam-card:hover{border-color:var(--accent2);transform:translateY(-2px);box-shadow:0 4px 16px rgba(42,37,32,0.1)}
.fam-photo{height:110px;width:100%;position:relative;overflow:hidden;flex-shrink:0}
.fam-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fam-photo-placeholder{position:absolute;inset:0}
.fam-body{padding:0.85rem 0.9rem}
/* ENC PHOTO LIGHTBOX */
.enc-lightbox{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.7);z-index:400;align-items:center;justify-content:center;padding:2rem;cursor:zoom-out}
.enc-lightbox.open{display:flex}
.enc-lightbox-img{max-width:min(82vw,700px);max-height:82vh;object-fit:contain;border-radius:10px;box-shadow:0 16px 64px rgba(42,37,32,0.35);cursor:default}
.enc-lightbox-close{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;border-radius:50%;background:rgba(42,37,32,0.55);border:none;color:#faf8f6;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
/* CARE ACCORDION */
.care-accordion-hdr{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:0.75rem 1rem;border-radius:10px;border:0.5px solid var(--border);background:var(--white);transition:background 0.15s;user-select:none}
.care-accordion-hdr:hover{background:var(--stone2)}
.care-accordion-title{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;color:var(--ink)}
.care-accordion-hint{font-size:12px;color:var(--ink3);letter-spacing:0.04em;margin-left:0.5rem;transition:opacity 0.2s}
.care-accordion-hdr.open .care-accordion-hint{opacity:0;pointer-events:none}
.care-accordion-caret{font-size:11px;color:var(--ink3);transition:transform 0.2s;margin-left:0.25rem}
.care-accordion-hdr.open .care-accordion-caret{transform:rotate(180deg)}
.care-accordion-body{overflow:hidden;max-height:0;transition:max-height 0.3s ease}
.care-accordion-body.open{max-height:2000px}
.care-accordion-inner{padding:0.75rem 0 0}
.c101-backtop-wrap{display:flex;justify-content:center;margin:2rem 0 0}.c101-backtop{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink2r);background:transparent;border:0.5px solid var(--border);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:'Jost',sans-serif}.c101-backtop:hover{border-color:var(--accent2);color:var(--accent);background:var(--white)}
.fam-name{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;color:var(--ink);margin-bottom:2px}
.shapes-strip-intro{font-size:15px;line-height:1.55}
.fam-count{font-size:10px;letter-spacing:0.07em;text-transform:uppercase;color:var(--accent2);margin-bottom:8px}
.fam-energy{font-size:12.5px;color:var(--ink2);line-height:1.65;margin-bottom:8px}
.fam-examples{font-size:10.5px;color:var(--ink3);letter-spacing:0.02em;border-top:0.5px solid var(--border2);padding-top:7px;line-height:1.5}
@media(max-width:768px){
  #s101-families #fam-tier-nav{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;margin-bottom:0.9rem!important;padding:0 0 0.25rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #s101-families #fam-tier-nav::-webkit-scrollbar{display:none}
  #s101-families #fam-tier-nav .c101-pill{flex:0 0 auto;min-height:38px;padding:8px 13px;font-size:10.5px;border-radius:999px}
  #s101-families .fam-grid{grid-template-columns:1fr;gap:8px;margin-bottom:1.2rem}
  #s101-families .fam-card{display:grid;grid-template-columns:9px minmax(0,1fr);border-radius:10px;min-height:0}
  #s101-families .fam-card:hover{transform:none}
  #s101-families .fam-photo{grid-column:1;grid-row:1;width:9px;height:auto;min-height:100%;border-right:0.5px solid rgba(42,37,32,0.08)}
  #s101-families .fam-photo-img{width:100%;height:100%;object-fit:cover}
  #s101-families .fam-photo-placeholder{position:absolute;inset:0}
  #s101-families .fam-body{grid-column:2;padding:0.75rem 0.85rem}
  #s101-families .fam-name{font-size:16px;margin-bottom:1px}
  #s101-families .fam-count{font-size:9.5px;margin-bottom:6px}
  #s101-families .fam-energy{font-size:12px;line-height:1.55;margin-bottom:7px}
  #s101-families .fam-examples{font-size:10.5px;line-height:1.45;padding-top:6px}
}

/* Care tables */
.care-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:1.5rem}
.care-table th{font-size:11px;letter-spacing:0.07em;text-transform:uppercase;font-weight:500;color:var(--ink3);padding:8px 10px;text-align:left;border-bottom:0.5px solid var(--border)}
.care-table td{padding:8px 10px;border-bottom:0.5px solid var(--border2);color:var(--ink);line-height:1.5;vertical-align:top}
.care-table tr:last-child td{border-bottom:none}
.badge-safe{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;background:#eaf3e0;color:#3a6020;letter-spacing:0.04em}
.badge-warn{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;background:#fdf0dc;color:#7a5010;letter-spacing:0.04em}
.badge-no{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;background:#fde8e8;color:#7a2020;letter-spacing:0.04em}

/* ── MOBILE POLISH PASS ── */
@media(max-width:600px){

  /* Crystals 101 section cards on mobile */
  .c101-layout{display:block;border:none;border-radius:0;margin-top:0;align-items:stretch}
  .c101-sidebar{display:none}
  .c101-content-pane{padding:0;border-radius:0;background:transparent}

  /* Center intro action buttons on mobile */
  .intro-actions{justify-content:center}

  /* Tighten intro panel — hide title text, keep CTAs only */
  .intro-panel{padding:0.75rem 1rem;margin-bottom:0.75rem}
  .intro-title{display:none}

  /* Touch targets: filter chips and collection filter chips (was ~22px, now 44px) */
  .filter-cat-btn{padding:10px 14px;min-height:44px}
  .coll-filter-cats .filter-cat-btn{padding:10px 14px;min-height:44px}

  /* Touch targets: Crystals 101 section pills */
  .c101-pill{padding:6px 11px;min-height:32px;font-size:10.5px}

  /* Crystal Forms: mobile mini-reference layout */
  #s101-shapes .c101-photo-intro--forms{gap:0.85rem;margin-bottom:1rem}
  #s101-shapes .c101-photo-copy .c101-body{font-size:13.5px;line-height:1.65;margin-bottom:0.7rem}
  #s101-shapes .c101-photo-slot{max-width:100%;aspect-ratio:16/10}
  #s101-shapes .shapes-grid{border:none;border-radius:0;overflow:visible;margin-top:0.9rem}
  #s101-shapes .shapes-strip-outer,
  #s101-shapes .shapes-cat-selector,
  #s101-shapes .shapes-pane{display:none}
  #s101-shapes .shapes-mobile{display:block}
  /* Prompt above family cards */
  .forms-mobile-prompt{margin-bottom:1.1rem}
  .forms-mobile-prompt-heading{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:5px}
  .forms-mobile-prompt-sub{font-size:12.5px;line-height:1.55;color:var(--ink2)}
  /* Category label: name + def */
  .forms-mobile-label{margin:0 0 0.75rem;display:flex;flex-direction:column;gap:3px}
  .forms-mobile-label-name{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);font-weight:600}
  .forms-mobile-label-def{font-size:12px;color:var(--ink3);line-height:1.4}
  /* Category selector grid */
  .forms-mobile-landing{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.25rem}
  .forms-mobile-topic{min-height:96px;border:0.5px solid var(--border);border-radius:13px;background:var(--white);padding:0.9rem 0.85rem;text-align:left;font-family:'Jost',sans-serif;color:var(--ink2);cursor:pointer;transition:all 0.14s}
  .forms-mobile-topic.active{background:var(--stone2);border-color:var(--accent2);box-shadow:0 0 0 1px rgba(200,169,110,0.2),0 2px 10px rgba(42,37,32,0.06)}
  .forms-mobile-topic-name{display:block;font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:5px}
  .forms-mobile-topic-sub{display:block;font-size:11px;line-height:1.4;color:var(--ink3)}
  /* Form tile grid */
  .forms-mobile-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem}
  .mobile-form-tile{min-height:118px;border:0.5px solid var(--border);border-radius:12px;background:var(--white);padding:0.9rem 0.5rem 0.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-family:'Jost',sans-serif;color:var(--ink);cursor:pointer;transition:all 0.14s;box-shadow:0 1px 4px rgba(42,37,32,0.03)}
  .mobile-form-tile.active{border-color:var(--accent2);background:var(--stone2);box-shadow:0 0 0 1px rgba(200,169,110,0.2),0 3px 12px rgba(42,37,32,0.07)}
  .mobile-form-tile-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center}
  .mobile-form-tile-icon svg{width:54px;height:54px}
  .mobile-form-tile-name{font-family:Georgia,'Times New Roman',serif;font-size:15px;font-weight:400;line-height:1.15;text-align:center;color:var(--ink)}
  /* Detail card */
  .forms-mobile-detail{scroll-margin-top:110px}
  .mobile-form-detail-card{border:0.5px solid var(--border);border-radius:16px;background:var(--white);overflow:hidden;box-shadow:0 6px 24px rgba(42,37,32,0.07)}
  .mobile-form-detail-hero{background:linear-gradient(160deg,var(--stone2) 0%,var(--stone) 100%);display:flex;align-items:center;justify-content:center;padding:2rem 1rem 1.75rem;border-bottom:0.5px solid var(--border2)}
  .mobile-form-detail-hero-icon{width:110px;height:110px;display:flex;align-items:center;justify-content:center}
  .mobile-form-detail-hero-icon svg{width:100px;height:100px}
  .mobile-form-detail-copy{padding:1.15rem 1.1rem 1rem}
  .mobile-form-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:0.9rem}
  .mobile-form-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--stone2);border:0.5px solid var(--border);cursor:pointer;color:var(--ink2);border-radius:50%;flex-shrink:0;transition:all 0.12s}
  .mobile-form-nav-btn:hover{background:var(--stone);border-color:var(--accent2);color:var(--ink)}
  .mobile-form-detail-hdr{flex:1;text-align:center;min-width:0}
  .mobile-form-nav-name{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:3px}
  .mobile-form-detail-tagline{font-size:10.5px;letter-spacing:0.06em;color:var(--accent);font-style:italic;line-height:1.3}
  .mobile-form-detail-desc{font-size:13px;line-height:1.68;color:var(--ink2);margin-bottom:1rem}
  .mobile-form-detail-use-row{margin-bottom:0.85rem}
  .mobile-form-detail-use-label{font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:6px}
  .mobile-form-use-pills{display:flex;flex-wrap:wrap;gap:5px}
  .mobile-form-use-pill{font-size:11px;padding:4px 10px;border-radius:999px;background:var(--stone2);border:0.5px solid var(--border2);color:var(--ink2);font-family:'Jost',sans-serif}
  .mobile-form-detail-examples{display:flex;flex-wrap:wrap;gap:6px}
  .mobile-form-nav-indicator{text-align:center;font-size:10px;letter-spacing:0.08em;color:var(--ink3);padding:0.6rem 1rem;border-top:0.5px solid var(--border2);text-transform:uppercase;background:var(--stone2)}

  /* Touch targets: drawer close button (was 34px) */
  .drawer-close{width:44px;height:44px}

  /* Tighter Crystals 101 article spacing */
  .c101-wrap{padding:1rem}
  .c101-h1{font-size:19px}
  .c101-sub{margin-bottom:1.25rem}
  .c101-block{margin-bottom:1.75rem}
  #s101-care .care-table,
  #s101-care .care-table tbody,
  #s101-care .care-table tr,
  #s101-care .care-table td{display:block;width:100%;box-sizing:border-box}
  #s101-care .care-table{border-collapse:separate;border-spacing:0;margin-bottom:1.25rem}
  #s101-care .care-table thead{display:none}
  #s101-care .care-table tbody{display:flex;flex-direction:column;gap:10px}
  #s101-care .care-table tr{padding:0.9rem 1rem;border:0.5px solid var(--border);border-radius:11px;background:var(--white);box-shadow:0 3px 12px rgba(42,37,32,0.035)}
  #s101-care .care-table td{border-bottom:none;padding:0;color:var(--ink2);font-size:13px;line-height:1.55}
  #s101-care .care-table td:first-child{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:0.55rem}
  #s101-care .care-table td:first-child strong{font-weight:400}
  #s101-care .care-table td:nth-child(n+2){margin-top:0.45rem}
  #s101-care .care-table td:nth-child(n+2)::before{display:block;font-size:10px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
  #s101-care .choose-methods-table td:nth-child(2)::before,
  #s101-care .choose-methods-table td:nth-child(3)::before,
  #s101-care .toxicity-awareness-table td:nth-child(2)::before,
  #s101-care .toxicity-awareness-table td:nth-child(3)::before{display:none}
  #s101-care .hardness-care-table td:nth-child(2)::before{display:none}
  #s101-care .hardness-care-table td:nth-child(3)::before{display:none}
  #s101-care .hardness-care-table td:nth-child(4)::before{content:'Examples';display:block;font-size:9.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink3);margin-bottom:3px}
  #s101-care .c101-wide-photo--care{aspect-ratio:16/8;margin-bottom:1rem}
  #s101-care .c101-body{font-size:13.5px;line-height:1.7}
  #s101-care .choose-methods-table tbody{gap:6px}
  #s101-care .choose-methods-table tr{display:grid;grid-template-columns:1fr;padding:0.72rem 0.82rem;gap:4px}
  #s101-care .choose-methods-table td:first-child{margin:0;font-size:13px}
  #s101-care .choose-methods-table td:nth-child(2){margin:0;font-size:12px;color:var(--ink3);font-style:italic}
  #s101-care .hardness-care-table tbody{gap:10px}
  #s101-care .toxicity-awareness-table tbody{gap:7px}
  #s101-care .hardness-care-table tr{padding:0;background:transparent;box-shadow:none;border:none;display:block}
  #s101-care .toxicity-awareness-table tr{padding:0.72rem 0.82rem}
  #s101-care .hardness-care-table thead{display:none}
  /* Compact hardness card: custom layout via display:contents on tr */
  #s101-care .hardness-care-table tbody tr{background:var(--white);border:0.5px solid var(--border);border-radius:11px;padding:0.9rem 1rem;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:0;box-shadow:0 2px 8px rgba(42,37,32,0.03)}
  #s101-care .hardness-care-table td{border:none;padding:0;margin:0}
  #s101-care .hardness-care-table td:first-child{grid-column:1;grid-row:1;font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink);line-height:1.2;align-self:center}
  #s101-care .hardness-care-table td:nth-child(2){grid-column:2;grid-row:1;align-self:center;justify-self:end;margin:0}
  #s101-care .hardness-care-table td:nth-child(3){grid-column:1/3;grid-row:2;font-size:13px;line-height:1.58;color:var(--ink2);margin-top:0.55rem}
  #s101-care .hardness-care-table td:nth-child(4){grid-column:1/3;grid-row:3;font-size:12px;color:var(--ink3);margin-top:0.65rem;padding-top:0.55rem;border-top:0.5px solid var(--border2)}
  #s101-care .toxicity-awareness-table td:first-child{margin-bottom:0.35rem;font-size:16px}
  #s101-care .toxicity-awareness-table td:nth-child(2){margin-top:0;font-size:12.5px}
  #s101-care .toxicity-awareness-table td:nth-child(3){margin-top:0.25rem;font-size:11.5px;color:var(--ink3)}
  #s101-work .work-methods-table,
  #s101-work .work-methods-table tbody,
  #s101-work .work-methods-table tr,
  #s101-work .work-methods-table td{display:block;width:100%;box-sizing:border-box}
  #s101-work .work-methods-table{border-collapse:separate;border-spacing:0;margin-bottom:1.35rem}
  #s101-work .work-methods-table thead{display:none}
  #s101-work .work-methods-table tbody{display:flex;flex-direction:column;gap:10px}
  #s101-work .work-methods-table tr{padding:0.9rem 1rem;border:0.5px solid var(--border);border-radius:11px;background:var(--white);box-shadow:0 3px 12px rgba(42,37,32,0.035)}
  #s101-work .work-methods-table td{border-bottom:none;padding:0;color:var(--ink2);font-size:13px;line-height:1.55}
  #s101-work .work-methods-table td:first-child{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:0.55rem}
  #s101-work .work-methods-table td:first-child strong{font-weight:400}
  #s101-work .work-methods-table td:nth-child(n+2){padding-left:0;margin-top:0.45rem}
  #s101-work .work-methods-table td:nth-child(n+2)::before{display:inline;font-size:10px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);margin-right:5px}
  #s101-work .work-methods-table td:nth-child(2)::before{content:'How:'}
  #s101-work .work-methods-table td:nth-child(3)::before{content:'Best for:'}
  #s101-cleanse.active{display:flex;flex-direction:column}
  #s101-cleanse .c101-wide-photo--cleansing{aspect-ratio:16/7.25;margin-bottom:1rem}
  #s101-cleanse .c101-block{margin-bottom:1.3rem}
  #s101-cleanse .cleanse-quick-start{display:none}
  #s101-cleanse .why-matters-block{order:1}
  #s101-cleanse .cleanse-methods-block{order:2}
  #s101-cleanse .charging-methods-block{order:3}
  #s101-cleanse .how-often-block{order:4}
  #s101-cleanse .care-search-block{order:5}
  #s101-cleanse .water-warning-block{order:6}
  #s101-cleanse .water-warning-block .care-accordion-hdr{border-left-width:4px;border-left-color:#5a8aaa}
  #s101-cleanse .sun-warning-block{order:7}
  #s101-cleanse .sun-warning-block .care-accordion-hdr{border-left-width:4px;border-left-color:#c49a3a}
  #s101-cleanse .method-grid{display:none}
  #s101-cleanse .cleanse-method-mobile-groups{display:flex;flex-direction:column;gap:12px}
  #s101-cleanse .cleanse-method-group{display:flex;flex-direction:column;gap:8px}
  #s101-cleanse .cleanse-method-group-title{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0.1rem 0 0.1rem}
  #s101-cleanse .method-card{padding:0.75rem 0.9rem 0.75rem 0.85rem;border-left-width:4px;border-left-color:var(--accent)}
  #s101-cleanse .cleanse-method-group:nth-child(1) .method-card{border-left-color:#4a8a5a}
  #s101-cleanse .cleanse-method-group:nth-child(2) .method-card{border-left-color:#b08a30}
  #s101-cleanse .cleanse-method-group:nth-child(3) .method-card{border-left-color:#8a4a4a}
  #s101-cleanse .method-name{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:4px}
  #s101-cleanse .method-desc{font-size:12.5px;line-height:1.55;color:var(--ink2)}
  #s101-cleanse .method-caveat{font-size:11px;color:var(--ink3);margin-top:4px;font-style:italic}
  #s101-cleanse .charging-methods-table,
  #s101-cleanse .charging-methods-table tbody,
  #s101-cleanse .charging-methods-table tr,
  #s101-cleanse .charging-methods-table td{display:block;width:100%;box-sizing:border-box}
  #s101-cleanse .charging-methods-table{border-collapse:separate;border-spacing:0;margin-bottom:1.2rem}
  #s101-cleanse .charging-methods-table thead{display:none}
  #s101-cleanse .charging-methods-table tbody{display:flex;flex-direction:column;gap:10px}
  #s101-cleanse .charging-methods-table tr{padding:0.9rem 1rem;border:0.5px solid var(--border);border-radius:11px;background:var(--white);box-shadow:0 3px 12px rgba(42,37,32,0.035)}
  #s101-cleanse .charging-methods-table td{border-bottom:none;padding:0;color:var(--ink2);font-size:13px;line-height:1.55}
  #s101-cleanse .charging-methods-table td:first-child{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:0.55rem}
  #s101-cleanse .charging-methods-table td:first-child strong{font-weight:400}
  #s101-cleanse .charging-methods-table td:nth-child(n+2){margin-top:0.45rem}
  #s101-cleanse .charging-methods-table td:nth-child(n+2)::before{display:block;font-size:10px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
  #s101-cleanse .charging-methods-table td:nth-child(2)::before{content:'Effect'}
  #s101-cleanse .charging-methods-table td:nth-child(3)::before{content:'Notes'}

  /* Charging accordion (mobile only) */
  #s101-cleanse .charging-methods-table{display:none}
  .charge-accordion-list{display:flex;flex-direction:column;gap:0;border:0.5px solid var(--border);border-radius:11px;overflow:hidden;margin-top:0.75rem}
  .charge-accordion-item{border-bottom:0.5px solid var(--border2)}
  .charge-accordion-item:last-child{border-bottom:none}
  .charge-accordion-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;color:var(--ink);cursor:pointer;min-height:48px;background:var(--white);transition:background 0.12s;user-select:none}
  .charge-accordion-hdr:hover{background:var(--stone)}
  .charge-accordion-item.open .charge-accordion-hdr{background:var(--stone2)}
  .charge-accordion-toggle{width:20px;height:20px;border:0.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 20px;background:var(--stone);color:var(--accent);font-family:'Jost',sans-serif;font-size:13px;line-height:1;transition:content 0.1s;text-align:center}
  .charge-accordion-item.open .charge-accordion-toggle{content:'-'}
  .charge-accordion-body{display:none;background:var(--white)}
  .charge-accordion-item.open .charge-accordion-body{display:block}
  .charge-accordion-inner{padding:0.75rem 1rem 1rem}
  .charge-effect-label,.charge-notes-label{font-size:10px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);margin-bottom:2px;margin-top:0.5rem}
  .charge-effect-label{margin-top:0}
  .charge-effect,.charge-notes{font-size:12.5px;line-height:1.55;color:var(--ink2)}

  /* Stone Safety section heading (mobile only) */
  .care-safety-heading{margin-bottom:0.4rem}

  /* Tighter drawer side padding on full-width mobile */
  .drawer-inner{padding:3.5rem 1.25rem 2.5rem}

  /* Mood intention cards: right-arrow tap affordance */
  .mood-card{position:relative;padding-right:2.25rem}
  .mood-card::after{content:'›';position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:22px;line-height:1;opacity:0.55;pointer-events:none}
  .mood-card.active-mood::after{color:var(--accent);opacity:0.9}

  /* Browse full encyclopedia pill: full-width, below the two action buttons */
  .enc-browse-all-pill{width:100%;justify-content:center;margin-top:4px;border-radius:20px;color:var(--ink2r);letter-spacing:0.07em}
}


/* Use When mobile: AI search first, OR divider, Browse link last */
@media(max-width:540px){
  .use-when-tile--ai{order:1}
  .use-when-or{order:2}
  .use-when-tile--primary{order:3}
}
@media(max-width:600px){
  /* Hide Browse tile entirely — the list is right below */
  /* More space between heading and AI card */
  .mood-intro{margin-bottom:1rem}

  /* OR divider: explicit redeclaration so iOS Safari renders lines correctly */
  .use-when-or{display:flex;flex-direction:row;align-items:center;padding:16px 0;gap:10px;font-size:13px;font-weight:600;color:var(--ink2);letter-spacing:0.14em}
  .use-when-or::before,.use-when-or::after{content:'';display:block;height:1px;width:48px;flex:0 0 48px;background:var(--ink3);opacity:0.6}
}

/* Browse intentions card: mirrors AI card style */
.mood-browse-card{background:var(--white);border:0.5px solid var(--border);border-radius:12px;padding:1.25rem 1.25rem 1rem;box-shadow:0 1px 4px rgba(42,37,32,0.06);margin-bottom:1.25rem}
/* Make the card label match the AI card heading weight and style */
.mood-browse-card .mood-sub{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);line-height:1.3;margin-bottom:1rem}

/* Crystal grids mobile: horizontal layout, square swatch left, text right */
@media(max-width:600px){
  .grid-card{flex-direction:row;align-items:flex-start;gap:1rem;padding:1rem}
  .grid-card-swatch{width:76px;height:76px;min-width:76px;flex-shrink:0}
  .grid-card-mood-arrow{display:none}
}

/* Stone pill list */
.stone-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.stone-pill{font-size:11px;padding:3px 10px;border:0.5px solid var(--border);border-radius:10px;color:var(--ink2);background:var(--stone2);cursor:pointer}
.stone-pill:hover{border-color:var(--accent2);color:var(--ink)}

/* Method cards */
.method-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:1.5rem}
.method-card{border:0.5px solid var(--border);border-radius:10px;padding:0.9rem 1rem;background:var(--white)}
.cleanse-quick-start,.cleanse-method-mobile-groups,.charge-accordion-list,.care-safety-heading{display:none}
.c101-mobile-nav{display:none}
#s101-cleanse .method-grid .method-card{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start}
#s101-cleanse .method-grid .method-card::before{grid-column:1/-1;align-self:auto;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;border:0.5px solid var(--border2);border-radius:999px;background:var(--stone2);color:var(--accent);padding:3px 8px;margin-bottom:4px}
#s101-cleanse .method-grid .method-icon{grid-column:1;grid-row:2;margin-bottom:0;align-self:center}
#s101-cleanse .method-grid .method-name{grid-column:2;grid-row:2;margin-bottom:0;align-self:center}
#s101-cleanse .method-grid .method-desc{grid-column:1/-1;grid-row:3;margin-top:6px}
#s101-cleanse .method-grid .method-caveat{grid-column:1/-1;grid-row:4}
#s101-cleanse .method-grid .method-card:nth-child(6){order:1}
#s101-cleanse .method-grid .method-card:nth-child(2){order:2}
#s101-cleanse .method-grid .method-card:nth-child(1){order:3}
#s101-cleanse .method-grid .method-card:nth-child(4){order:4}
#s101-cleanse .method-grid .method-card:nth-child(3){order:5}
#s101-cleanse .method-grid .method-card:nth-child(7){order:6}
#s101-cleanse .method-grid .method-card:nth-child(5){order:7}
#s101-cleanse .method-grid .method-card:nth-child(8){order:8}
#s101-cleanse .method-grid .method-card:nth-child(1)::before,
#s101-cleanse .method-grid .method-card:nth-child(2)::before,
#s101-cleanse .method-grid .method-card:nth-child(4)::before,
#s101-cleanse .method-grid .method-card:nth-child(6)::before{content:'Safe for most stones';background:#c8e6be;border-color:#a8d094;color:#2a5214}
#s101-cleanse .method-grid .method-card:nth-child(3)::before,
#s101-cleanse .method-grid .method-card:nth-child(7)::before{content:'Use with care';background:#f8d98e;border-color:#e0b84a;color:#6b4008}
#s101-cleanse .method-grid .method-card:nth-child(5)::before,
#s101-cleanse .method-grid .method-card:nth-child(8)::before{content:'Advanced method';background:#f5b8b4;border-color:#e08880;color:#6b1818}
.method-icon{font-size:20px;margin-bottom:6px}
.method-name{font-size:12px;font-weight:500;color:var(--ink);margin-bottom:4px}
.method-desc{font-size:12px;color:var(--ink2);line-height:1.6}
.method-caveat{font-size:11px;color:var(--ink3);margin-top:5px;font-style:italic}

/* ── Auth Modal CSS (from lines 6283–6289) ── */
.auth-modal-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,0.45);z-index:200;align-items:center;justify-content:center;padding:1.5rem}
.auth-modal-overlay.open{display:flex}
.topbar-auth{display:flex;align-items:center;gap:8px}
.auth-user-name{font-size:11px;color:#5a5149;letter-spacing:0.04em;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-sign-out{font-size:11px;color:#b0a89e;background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;text-decoration:underline;text-underline-offset:2px;padding:0}

/* ── Encyclopedia Doorway ── */
.enc-doorway{background:var(--white);border:0.5px solid var(--border);border-radius:12px;padding:1.5rem 1.5rem 1.25rem;margin-bottom:1rem}
.enc-doorway-headline{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400;color:var(--ink);margin-bottom:3px;line-height:1.2}
.enc-doorway-sub{font-size:12px;letter-spacing:0.04em;color:var(--ink3);margin-bottom:1.1rem}
.enc-browse-label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:0.5rem}
.enc-library-panel,.enc-tier-section,.enc-next-shelf,.enc-tier-accordion{scroll-margin-top:160px}
.enc-browse-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:1.1rem}
.enc-browse-tile{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0.75rem 0.5rem;background:var(--stone);border:0.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all 0.15s;text-align:center;user-select:none}
.enc-browse-tile:hover{border-color:var(--accent2);background:var(--white);box-shadow:0 2px 8px rgba(42,37,32,0.07)}
.enc-browse-tile-label{font-size:10px;letter-spacing:0.04em;color:var(--ink2);line-height:1.3}
.enc-doorway-cta{text-align:center}

/* ── Encyclopedia Landing ── */

/* Hero — explicit height so abs-positioned image resolves correctly */
.enc-hero{position:relative;overflow:hidden;border:0.5px solid var(--border);border-radius:14px;background:var(--white);margin-bottom:1.25rem;height:400px;box-shadow:0 12px 36px rgba(42,37,32,0.07);background-image:url('/assets/enc-hero.png');background-size:62%;background-position:right center;background-repeat:no-repeat}
.enc-hero::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(250,248,246,1) 0%,rgba(250,248,246,.99) 32%,rgba(250,248,246,.88) 44%,rgba(250,248,246,.5) 58%,rgba(250,248,246,.08) 78%,rgba(250,248,246,0) 100%);pointer-events:none}
.enc-hero-content{position:relative;z-index:1;max-width:520px;padding:3rem 3rem 2.75rem}
.enc-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.enc-hero-eyebrow::before,.enc-hero-eyebrow::after{content:"";width:30px;height:1px;background:var(--accent2)}
.enc-hero-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,2.55vw,39px);line-height:1.12;font-weight:400;letter-spacing:0;color:var(--ink);margin-bottom:1rem}
.enc-hero-line1{white-space:nowrap}
.enc-hero-sub{font-size:15px;color:var(--ink2);line-height:1.7;margin-bottom:1.5rem;max-width:400px}
.enc-hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.enc-hero-btns .btn{font-size:12px;padding:10px 20px;min-height:42px}

/* Pathway panel */
.enc-library-panel{background:var(--white);border:0.5px solid var(--border);border-radius:14px;padding:1.75rem 1.75rem 1.5rem;margin-bottom:1.25rem;box-shadow:0 6px 22px rgba(42,37,32,0.04)}
.enc-panel-heading{text-align:center;margin-bottom:1.5rem}
.enc-panel-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:0.5rem}
.enc-panel-ornament{color:var(--accent2);font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px}
.enc-panel-ornament::before,.enc-panel-ornament::after{content:"";width:40px;height:1px;background:var(--border)}
.enc-pathway-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.enc-pathway-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.1rem 1rem 1rem;min-height:130px;border:0.5px solid var(--border);border-radius:12px;background:rgba(255,255,255,.6);cursor:pointer;transition:all 0.18s;font-family:'Jost',sans-serif}
.enc-pathway-card:hover{border-color:var(--accent2);background:var(--white);box-shadow:0 8px 22px rgba(42,37,32,0.08);transform:translateY(-2px)}
.enc-pathway-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:0.65rem;flex-shrink:0}
.enc-pathway-icon--color{background:#f4ede2}
.enc-pathway-icon--intention{background:#f1eaf4}
.enc-pathway-icon--chakra{background:#e8f0ea}
.enc-pathway-icon--tier{background:#f1e8d8}
.enc-pathway-icon--family{background:#eaeff4}
.enc-pathway-name{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;color:var(--ink);margin-bottom:6px}
.enc-pathway-desc{font-size:12px;color:var(--ink3);line-height:1.55;margin-bottom:0.6rem;max-width:140px}
.enc-pathway-arrow{font-size:15px;color:var(--accent)}
.enc-panel-search-row{margin-top:1.25rem}
.enc-panel-search-divider{display:flex;align-items:center;gap:14px;margin-bottom:0.85rem;color:var(--ink2);font-size:12px;letter-spacing:0.07em;text-transform:uppercase;font-weight:500}
.enc-panel-search-divider::before,.enc-panel-search-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.enc-panel-search-wrap{display:flex;align-items:center;gap:0;border:0.5px solid var(--border);border-radius:10px;background:var(--white);overflow:hidden;transition:border-color 0.15s}
.enc-panel-search-wrap:focus-within{border-color:var(--accent2)}
.enc-panel-search-icon{padding:0 12px 0 14px;color:var(--ink3);font-size:17px;line-height:1;pointer-events:none;flex-shrink:0}
.enc-panel-search-input{flex:1;border:none;outline:none;background:transparent;padding:11px 14px 11px 0;font-family:'Jost',sans-serif;font-size:13px;color:var(--ink);letter-spacing:0.02em}
.enc-panel-search-input::placeholder{color:var(--ink3)}
.enc-mobile-search-head,.enc-mobile-search-wrap,.enc-mobile-or-divider{display:none}
.enc-active-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 0.75rem}
.enc-active-filter-row:empty{display:none}
.enc-active-label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);width:100%}
.enc-active-chip,.enc-clear-all{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.03em;border:0.5px solid var(--border);border-radius:999px;background:var(--white);color:var(--ink2);padding:5px 10px;cursor:pointer}
.enc-active-chip{background:var(--stone2);color:var(--ink)}
.enc-clear-all{color:var(--accent);border-color:rgba(139,115,85,0.25)}
.enc-active-chip:hover,.enc-clear-all:hover{border-color:var(--accent2);color:var(--accent)}

/* Tier landing sections */
#enc-tier-landing{margin-bottom:0}
.enc-tier-section{background:var(--white);border:0.5px solid var(--border);border-radius:14px;padding:1.75rem 1.75rem 1.5rem;margin-bottom:1rem;box-shadow:0 6px 22px rgba(42,37,32,0.04)}
.enc-tier-header{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;margin-bottom:1.25rem}
.enc-tier-badge{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:26px;border-radius:5px;background:#ece3d6;color:var(--accent);letter-spacing:0.1em;text-transform:uppercase;font-size:10px;font-family:'Jost',sans-serif;flex-shrink:0;margin-top:5px}
.enc-tier-badge--sm{height:22px;min-width:52px;font-size:9px;padding:0 10px;justify-self:center}
.enc-tier-title-block{min-width:0}
.enc-tier-title{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);display:inline;margin-right:12px}
.enc-tier-count{font-size:12px;color:var(--ink3);letter-spacing:0.03em}
.enc-tier-desc{font-size:13px;color:var(--ink2);line-height:1.65;margin-top:8px;max-width:640px;display:block}
.enc-tier-viewall{align-self:start;white-space:nowrap;flex-shrink:0}
.enc-more-pill{appearance:none;background:var(--white);border:0.5px solid var(--accent2);color:var(--accent);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s;box-shadow:0 2px 8px rgba(42,37,32,0.035)}
.enc-more-pill:hover{background:var(--stone2);border-color:var(--accent);color:var(--ink)}
.enc-tier-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border2);border:0.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:1.25rem}

/* Next-shelf teaser — matches Lyra's three-column layout */
.enc-next-shelf{display:grid;grid-template-columns:minmax(200px,1.05fr) minmax(320px,1.75fr) minmax(150px,.55fr);border:0.5px solid rgba(139,115,85,.38);border-radius:12px;overflow:hidden;background:var(--white);align-items:stretch;margin-top:0}
.enc-next-photo{background-image:url('/assets/enc-hero.png');background-size:cover;background-position:center;min-height:140px}
.enc-next-copy{padding:1.5rem 1.75rem}
.enc-next-title{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:8px}
.enc-next-copy p{font-size:13.5px;color:var(--ink2);line-height:1.65;margin-bottom:1rem}
.enc-next-copy .btn{font-size:12px;padding:9px 16px}
.enc-next-cta{display:flex;align-items:center;justify-content:center;padding:1rem 1.25rem}
.enc-next-cta .btn{font-size:11px;padding:9px 16px;white-space:nowrap;letter-spacing:0.07em;justify-content:center;max-width:260px}
.enc-next-cta .enc-next-btn{font-size:10.5px;padding:8px 13px;max-width:170px;min-width:0;white-space:normal;text-align:center;line-height:1.25}
.enc-next-eyebrow{font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);font-family:'Jost',sans-serif;margin-bottom:6px}
.enc-next-desc{font-size:13.5px;color:var(--ink2);line-height:1.65;margin-top:8px}
.enc-next-up{padding:1.5rem 1.5rem;border-left:0.5px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:5px;background:linear-gradient(135deg,#faf6ee,#faf8f6)}
.enc-next-up-label{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);display:block}
.enc-next-up-name{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink);line-height:1.15;display:block}
.enc-next-up-count{font-size:12px;color:var(--ink3);display:block;margin-top:3px}

/* Accordion — Tier 2/3/4 rows */
.enc-tier-accordion{background:var(--white);border:0.5px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:1rem;box-shadow:0 4px 14px rgba(42,37,32,0.03)}
.enc-accordion-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:1rem 1.5rem;border-bottom:0.5px solid var(--border)}
.enc-accordion-row:last-of-type{border-bottom:none}
.enc-accordion-info{display:flex;align-items:center;gap:12px;min-width:0}
.enc-accordion-name{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;color:var(--ink)}
.enc-accordion-count{font-size:12px;color:var(--ink3)}
.enc-accordion-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border2);border-top:0.5px solid var(--border)}

/* Responsive */
@media(max-width:900px){
  .enc-hero{height:340px}
  .enc-hero-content{padding:2rem 2rem 1.75rem}
  .enc-pathway-grid{grid-template-columns:repeat(3,1fr)}
  .enc-tier-grid,.enc-accordion-grid{grid-template-columns:repeat(4,1fr)}
  .enc-next-shelf{grid-template-columns:1fr 1fr}
  .enc-next-photo{display:none}
  .enc-next-up{border-left:none;border-top:0.5px solid var(--border)}
}
@media(max-width:600px){
  .enc-library-panel,.enc-tier-section,.enc-next-shelf,.enc-tier-accordion{scroll-margin-top:132px}
  .enc-hero{height:auto;min-height:250px;background-size:90%;background-position:bottom center;margin-bottom:0.9rem}
  .enc-hero::after{background:linear-gradient(180deg,rgba(250,248,246,.97) 0%,rgba(250,248,246,.92) 48%,rgba(250,248,246,.28) 100%)}
  .enc-hero-content{padding:1.35rem 1.15rem}
  .enc-hero-eyebrow{margin-bottom:0.65rem}
  .enc-hero-title{font-size:24px;margin-bottom:0.65rem}
  .enc-hero-sub{font-size:13px;line-height:1.55;margin-bottom:1rem}
  .enc-hero-btns .btn-accent{display:none}
  .enc-hero-btns .btn{min-height:40px}
  .enc-library-panel{padding:1.25rem 1rem;margin-bottom:1rem}
  .enc-panel-search-row{display:none}
  .enc-panel-heading{margin-bottom:1rem}
  .enc-pathway-grid{grid-template-columns:repeat(2,1fr)}
  .enc-pathway-card{min-height:102px;padding:0.75rem 0.65rem}
  .enc-pathway-card:nth-child(5){display:none}
  .enc-pathway-icon{width:40px;height:40px;margin-bottom:0.45rem}
  .enc-pathway-desc{display:none}
  .enc-search-results-panel{background:var(--white);border:0.5px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 3px 14px rgba(42,37,32,0.04)}
  .enc-mobile-search-head{display:none}
  .enc-mobile-or-divider{display:flex;align-items:center;gap:12px;margin-bottom:0.75rem;color:var(--ink3);font-size:11px;letter-spacing:0.07em;text-transform:uppercase;font-family:'Jost',sans-serif}
  .enc-mobile-or-divider::before,.enc-mobile-or-divider::after{content:"";flex:1;height:1px;background:var(--border)}
  .enc-mobile-search-wrap{display:flex;align-items:center;border:0.5px solid var(--border);border-radius:10px;background:var(--stone);overflow:hidden;margin-bottom:0.85rem}
  #tab-encyclopedia .filter-cats{display:none}
  #tab-encyclopedia .filter-cat-btn{justify-content:space-between;width:100%;min-height:40px;padding:8px 11px}
  #tab-encyclopedia #fbtn-more,#tab-encyclopedia .filter-more-panel{display:none}
  #tab-encyclopedia .filter-panel{position:static;box-shadow:none;min-width:0;width:100%;border-radius:10px;margin:0 0 0.85rem;padding:0.85rem;background:var(--stone)}
  #tab-encyclopedia .filter-panel.open{display:block}
  #tab-encyclopedia .filter-panel-pills{gap:6px}
  #tab-encyclopedia .fpill{min-height:34px}
  #tab-encyclopedia .meta-row{align-items:flex-start;gap:0.75rem;margin-bottom:0.9rem}
  #tab-encyclopedia .enc-sort-mobile{display:flex;width:100%;justify-content:space-between}
  #tab-encyclopedia .enc-sort-mobile select{min-width:140px}
  .enc-tier-header{grid-template-columns:auto 1fr}
  .enc-tier-viewall{display:none}
  .enc-tier-title{font-size:22px}
  .enc-tier-grid,.enc-accordion-grid,#tab-encyclopedia #crystal-grid{grid-template-columns:1fr;gap:8px;background:transparent;border:none;border-radius:0;overflow:visible}
  .enc-tier-grid .crystal-card,.enc-accordion-grid .crystal-card,#tab-encyclopedia #crystal-grid .crystal-card{flex-direction:row;align-items:flex-start;border:0.5px solid var(--border);border-radius:10px;overflow:hidden;min-height:100px;background:var(--white)}
  .enc-tier-grid .card-img-zone,.enc-accordion-grid .card-img-zone,#tab-encyclopedia #crystal-grid .card-img-zone{width:92px;min-height:100px;flex-shrink:0;align-self:stretch;border-right:0.5px solid var(--border2)}
  .enc-tier-grid .card-img-zone img,.enc-accordion-grid .card-img-zone img,#tab-encyclopedia #crystal-grid .card-img-zone img{max-height:100%;width:100%;object-fit:cover}
  .enc-tier-grid .card-body,.enc-accordion-grid .card-body,#tab-encyclopedia #crystal-grid .card-body{padding:0.6rem 0.8rem;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
  .enc-tier-grid .card-name,.enc-accordion-grid .card-name,#tab-encyclopedia #crystal-grid .card-name{font-size:16px;overflow-wrap:normal}
  .enc-tier-grid .card-color,.enc-accordion-grid .card-color,#tab-encyclopedia #crystal-grid .card-color{line-height:1.35}
  .enc-next-shelf{grid-template-columns:1fr}
  .enc-next-up{display:none}
  .enc-accordion-row{grid-template-columns:auto 1fr auto;padding:0.85rem 1rem}
  .enc-accordion-name{font-size:17px}
}

/* ── Collection Tier Bars ── */
.stat-tier-cell{padding:0.85rem 1rem}
.tier-bars-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tier-bars-label{font-size:11px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink2r)}
.tier-wish-toggle-label{display:flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:0.05em;color:var(--ink3);cursor:pointer;user-select:none}
.tier-wish-toggle-label input{display:none}
.tier-wish-track{width:28px;height:15px;border-radius:8px;background:#c8a96e;position:relative;display:inline-block;transition:background 0.2s;flex-shrink:0}
.tier-wish-toggle-label input:not(:checked)~.tier-wish-track{background:var(--stone3)}
.tier-wish-thumb{width:11px;height:11px;border-radius:50%;background:white;position:absolute;top:2px;right:2px;transition:all 0.2s;box-shadow:0 1px 2px rgba(0,0,0,0.15)}
.tier-wish-toggle-label input:not(:checked)~.tier-wish-track .tier-wish-thumb{right:auto;left:2px}
.tier-bar-headers,.tier-bar-row{display:grid;grid-template-columns:150px 1fr 40px 48px 40px 36px;gap:9px;align-items:center;margin-bottom:6px}
.tier-bar-headers.no-wish,.tier-bar-row.no-wish{grid-template-columns:150px 1fr 40px 48px 36px}
.tier-bar-headers{margin-bottom:6px;padding-bottom:5px;border-bottom:0.5px solid var(--border2)}
.tier-bar-row:last-child{margin-bottom:0}
.tier-bar-col-hdr{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);text-align:right}
.tier-bar-col-hdr.owned-hdr{color:#6F9A8D}
.tier-bar-col-hdr.wish-hdr{color:#c8a96e}
.tier-bar-lbl{font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.tier-bar-lbl.tb-lbl-click{cursor:pointer}
.tier-bar-lbl.tb-lbl-click:hover{color:var(--accent)}
.tier-bar-track{height:9px;background:var(--stone2);border-radius:5px;overflow:hidden;display:flex}
.tier-bar-owned{height:100%;background:#6F9A8D;transition:width 0.4s ease}
.tier-bar-wish{height:100%;background:#c8a96e;transition:width 0.4s ease}
.tier-bar-num{font-size:12px;color:var(--ink2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tier-bar-num.owned{color:#6F9A8D;font-weight:500}
.tier-bar-num.wish{color:#c8a96e;font-weight:500}
.tier-bar-num.wish.dim{opacity:0.3}
.tier-bar-num.total{color:var(--ink3)}
.tier-bar-num.pct{color:var(--ink2);font-weight:500}
.tier-bar-num.tb-click{cursor:pointer}
.tier-bar-num.tb-click:hover{opacity:0.7}

@media(max-width:600px){
  #tab-collection.collection-signed-out-mobile .coll-header,
  #tab-collection.collection-signed-out-mobile .coll-stats,
  #tab-collection.collection-signed-out-mobile #collection-filter-shell,
  #tab-collection.collection-signed-out-mobile #coll-sync-status,
  #tab-collection.collection-signed-out-mobile .coll-mobile-meta,
  #tab-collection.collection-signed-out-mobile .coll-fab,
  #tab-collection.collection-signed-out-mobile > .c101-backtop-wrap{display:none}
  #tab-collection.collection-signed-out-mobile #coll-wrap{margin-top:0}
  #tab-collection.collection-signed-out-mobile .empty-coll-state{min-height:58vh;padding:3.5rem 1.25rem}
  #tab-collection.collection-signed-out-mobile .empty-coll-text{max-width:330px}
  .coll-stats{grid-template-columns:1fr}
  .stats-stacked{grid-template-columns:1fr 1fr;gap:10px}
  .stats-stacked .stat-cell{min-height:auto;padding:11px 16px}
  .stat-val{font-size:26px}
  .stat-sub{font-size:10px}
  .stat-tier-cell{grid-column:1/-1}
  .stat-tier-cell{padding:1rem}
  .tier-bars-header{display:block;margin-bottom:0.9rem}
  .tier-bars-label{font-family:Georgia,'Times New Roman',serif;font-size:21px;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:0.65rem}
  .tier-wish-toggle-label{width:100%;justify-content:space-between;padding:0.65rem 0.75rem;border:0.5px solid var(--border);border-radius:10px;background:var(--stone);font-size:11px;color:var(--ink2r)}
  .tier-wish-track{width:34px;height:19px}
  .tier-wish-thumb{width:15px;height:15px}
  .tier-bar-headers{display:none}
  #tier-bars{display:flex;flex-direction:column;gap:10px}
  .tier-bar-row,.tier-bar-row.no-wish{display:grid;grid-template-columns:1fr auto auto auto;gap:7px;align-items:center;padding:0.9rem 0.85rem;border:0.5px solid var(--border);border-radius:10px;background:var(--white);margin-bottom:0}
  .tier-bar-lbl{grid-column:1/-2;font-family:Georgia,'Times New Roman',serif;font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink);white-space:normal}
  .tier-bar-track{grid-column:1/-1;grid-row:3;height:8px;margin-top:0.25rem;background:var(--stone2)}
  .tier-bar-num{font-size:12px;text-align:left;display:inline-flex;align-items:center;gap:3px;color:var(--ink2);white-space:nowrap}
  .tier-bar-num::before{content:attr(data-label) ':';font-size:10px;color:var(--ink3);letter-spacing:0.04em;text-transform:uppercase}
  .tier-bar-num.owned{grid-column:1;color:#6F9A8D}
  .tier-bar-num.wish{grid-column:2;color:#c8a96e}
  .tier-bar-num.total{grid-column:3;color:var(--ink2)}
  .tier-bar-num.pct{grid-column:4;grid-row:1;justify-self:end;background:var(--stone2);border:0.5px solid var(--border2);border-radius:999px;padding:3px 8px;color:var(--accent);font-weight:600}
  .tier-bar-num.pct::before{content:''}
  .tier-bar-row.no-wish{grid-template-columns:1fr auto auto}
  .tier-bar-row.no-wish .tier-bar-num.total{grid-column:2}
  .tier-bar-row.no-wish .tier-bar-num.pct{grid-column:3}
  .coll-filter-cats{flex-wrap:wrap;gap:7px;overflow:visible}
  .coll-filter-cats .filter-cat-btn{white-space:nowrap;max-width:100%}
  #collection-filter-shell{margin-bottom:0.65rem!important}
  .empty-coll-state{padding:2.5rem 1.25rem}
  .enc-browse-grid{grid-template-columns:repeat(3,1fr)}
  .enc-doorway-headline{font-size:20px}
}

/* ── MOBILE COLLECTION REDESIGN ── */

/* Default: hide mobile-only elements on desktop */
.coll-mobile-meta{display:none}
.coll-mobile-filter-row{display:none}
.coll-fs-overlay{display:none}
.coll-fs{display:none}
.coll-sync-toast{display:none}
.coll-fab{display:none}
.coll-fab-overlay{display:none}
.coll-fab-sheet{display:none}

/* filter-icon base — used inside bottom sheet */
.filter-icon{width:18px;height:18px;color:#8E8981;flex:0 0 18px}
.filter-icon path,.filter-icon circle{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}

@media(max-width:600px){
  /* Hide desktop action buttons and full stats block */
  .coll-btns{display:none}
  .coll-stats{display:none!important}

  /* Hide persistent sync text */
  #coll-sync-status{display:none!important}

  /* Hide desktop filter shell */
  #collection-filter-shell{display:none}

  /* ── Chip row ── */
  .coll-mobile-meta{display:block;margin-bottom:0.9rem}
  .coll-chips-row{display:flex;gap:8px;margin-bottom:0.85rem}
  .coll-chip{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.04em;padding:7px 12px;border-radius:999px;border:1px solid rgba(143,166,151,0.45);background:rgba(255,255,255,0.72);color:#8FA697;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s;line-height:1.3}
  .coll-chip--wish{color:#9A7A4E;border-color:rgba(154,122,78,0.4)}
  .coll-chip--active.coll-chip--pieces{background:rgba(143,166,151,0.18);border-color:rgba(143,166,151,0.7);font-weight:500}
  .coll-chip--active.coll-chip--wish{background:rgba(154,122,78,0.13);border-color:rgba(154,122,78,0.6);font-weight:500}

  /* ── Compact progress card ── */
  .coll-progress-card{background:rgba(255,255,255,0.72);border:1px solid rgba(0,0,0,0.06);border-radius:18px;padding:14px 16px;box-shadow:0 1px 6px rgba(42,37,32,0.05)}
  .coll-progress-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .coll-progress-card-title{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink2r)}
  .coll-progress-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  .coll-pt-col{display:flex;flex-direction:column;gap:4px}
  .coll-pt-label{font-family:'Jost',sans-serif;font-size:9.5px;letter-spacing:0.04em;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .coll-pt-pct{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;color:var(--ink)}
  .coll-pt-track{height:4px;border-radius:999px;background:#E8E3DA;overflow:hidden;display:flex}
  .coll-pt-owned{height:100%;background:#8FA697;border-radius:999px 0 0 999px;flex-shrink:0}
  .coll-pt-wish{height:100%;background:#C8A06A;flex-shrink:0}

  /* ── Mobile Filter & Sort row ── */
  .coll-mobile-filter-row{display:flex;align-items:center;gap:10px;padding:13px 14px;background:rgba(255,255,255,0.72);border:1px solid rgba(0,0,0,0.06);border-radius:16px;margin-bottom:1rem;cursor:pointer;box-shadow:0 1px 4px rgba(42,37,32,0.04);transition:background 0.12s}
  .coll-mobile-filter-row:active{background:rgba(255,255,255,0.9)}
  .coll-mobile-filter-row.has-filters{border-color:rgba(143,166,151,0.55);background:rgba(143,166,151,0.07)}
  .coll-mfr-icon{width:18px;height:18px;flex-shrink:0;color:var(--ink3)}
  .coll-mfr-label{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.03em;color:var(--ink2);flex:1}
  .coll-mfr-chevron{width:16px;height:16px;flex-shrink:0;color:var(--ink3)}

  /* ── Filter bottom sheet overlay ── */
  .coll-fs-overlay{position:fixed;inset:0;background:rgba(42,37,32,0.4);z-index:230;opacity:0;pointer-events:none;transition:opacity 0.22s;display:block}
  .coll-fs-overlay.open{opacity:1;pointer-events:all}

  /* ── Filter bottom sheet ── */
  .coll-fs{position:fixed;left:0;right:0;bottom:0;background:#FAF8F5;border-radius:24px 24px 0 0;box-shadow:0 -8px 48px rgba(42,37,32,0.16);z-index:240;display:flex;flex-direction:column;max-height:86vh;transform:translateY(100%);transition:transform 0.28s cubic-bezier(0.32,0.72,0,1)}
  .coll-fs.open{transform:translateY(0)}
  .coll-fs-handle{width:36px;height:4px;border-radius:999px;background:rgba(79,74,69,0.18);margin:10px auto 0;flex-shrink:0}
  .coll-fs-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;flex-shrink:0}
  .coll-fs-title{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink)}
  .coll-fs-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--ink3);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.12s}
  .coll-fs-close:active{background:rgba(79,74,69,0.08)}
  .coll-fs-body{overflow-y:auto;flex:1;padding:0 0 8px;-webkit-overflow-scrolling:touch}

  /* Filter rows */
  .coll-fs-row{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:0.5px solid rgba(0,0,0,0.05);cursor:pointer;transition:background 0.1s;min-height:52px}
  .coll-fs-row:first-child{border-top:none}
  .coll-fs-row:active{background:rgba(143,166,151,0.07)}
  .coll-fs-row-label{font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);flex:1}
  .coll-fs-row-val{font-family:'Jost',sans-serif;font-size:13px;color:var(--ink3);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .coll-fs-row-val.active-val{color:#8FA697;font-weight:500}
  .coll-fs-row-chevron{width:16px;height:16px;flex-shrink:0;color:var(--ink3);transition:transform 0.18s}
  .coll-fs-row-chevron.open{transform:rotate(180deg)}

  /* Pills inside sheet */
  .coll-fs-pills{display:none;flex-wrap:wrap;gap:7px;padding:6px 20px 14px;background:rgba(244,242,238,0.6)}
  .coll-fs-pills.open{display:flex}
  .coll-fs-pills .fpill{font-size:12px;padding:6px 13px;border-radius:999px;border:0.5px solid var(--border);background:var(--white);color:var(--ink2);cursor:pointer;font-family:'Jost',sans-serif;letter-spacing:0.03em;transition:all 0.13s}
  .coll-fs-pills .fpill.active{background:#8FA697;border-color:#8FA697;color:#fff}

  /* More sub-group */
  .coll-fs-more-group{flex-direction:column;padding:0;background:rgba(244,242,238,0.6)}
  .coll-fs-more-group.open{display:flex}
  .coll-fs-subrow{display:flex;align-items:center;gap:12px;padding:13px 20px 13px 32px;border-top:0.5px solid rgba(0,0,0,0.05);cursor:pointer;min-height:48px;transition:background 0.1s}
  .coll-fs-subrow:active{background:rgba(143,166,151,0.07)}
  .coll-fs-more-group .coll-fs-pills{padding-left:32px}

  /* Sort sub-panel toggle */
  .coll-fs-head--sort{display:none}
  .coll-fs-sort-body{display:none!important}
  .coll-fs.sort-open .coll-fs-head--main{display:none}
  .coll-fs.sort-open .coll-fs-head--sort{display:flex}
  .coll-fs.sort-open .coll-fs-main-body{display:none!important}
  .coll-fs.sort-open .coll-fs-sort-body{display:block!important}
  .coll-fs.sort-open .coll-fs-footer--main{display:none}

  /* Sort sub-panel back button */
  .coll-fs-back{background:none;border:none;padding:4px;cursor:pointer;color:var(--ink2);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.12s;margin-right:4px}
  .coll-fs-back:active{background:rgba(79,74,69,0.08)}

  /* Sort option rows */
  .coll-fs-sort-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:0.5px solid rgba(0,0,0,0.05);cursor:pointer;transition:background 0.1s;min-height:52px}
  .coll-fs-sort-option:first-child{border-top:none}
  .coll-fs-sort-option:active{background:rgba(143,166,151,0.07)}
  .coll-fs-sort-option.active{background:rgba(143,166,151,0.07)}
  .coll-fs-sort-label{font-family:'Jost',sans-serif;font-size:14px;color:var(--ink)}
  .coll-fs-sort-option.active .coll-fs-sort-label{color:#8FA697;font-weight:500}
  .coll-fs-sort-check{width:16px;height:16px;flex-shrink:0;color:#8FA697;opacity:0;transition:opacity 0.15s}
  .coll-fs-sort-option.active .coll-fs-sort-check{opacity:1}

  /* Footer buttons */
  .coll-fs-footer{display:flex;gap:10px;padding:14px 20px calc(env(safe-area-inset-bottom) + 14px);border-top:0.5px solid rgba(0,0,0,0.07);flex-shrink:0;background:#FAF8F5}
  .coll-fs-btn-clear{flex:1;padding:13px;border-radius:12px;border:1px solid rgba(143,166,151,0.55);background:transparent;color:#8FA697;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.04em;cursor:pointer;transition:background 0.13s}
  .coll-fs-btn-clear:active{background:rgba(143,166,151,0.1)}
  .coll-fs-btn-apply{flex:1.4;padding:13px;border-radius:12px;border:none;background:#C8A06A;color:#fff;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.04em;cursor:pointer;font-weight:500;transition:background 0.13s}
  .coll-fs-btn-apply:active{background:#b88e5a}

  /* ── Sync toast ── */
  .coll-sync-toast{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 90px);left:50%;transform:translateX(-50%) translateY(8px);background:rgba(42,37,32,0.82);color:#fff;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.05em;padding:8px 18px;border-radius:999px;z-index:300;opacity:0;pointer-events:none;transition:opacity 0.22s,transform 0.22s;display:block;white-space:nowrap}
  .coll-sync-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

  /* Signed-out: hide mobile-meta + filter row */
  #tab-collection.collection-signed-out-mobile .coll-mobile-meta{display:none}
  #tab-collection.collection-signed-out-mobile .coll-mobile-filter-row{display:none}

  /* Floating action button */
  .coll-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:calc(env(safe-area-inset-bottom) + 24px);right:20px;width:56px;height:56px;border-radius:999px;background:var(--accent);color:var(--white);border:none;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 20px rgba(42,37,32,0.22);z-index:200;transition:background 0.15s,transform 0.12s}
  .coll-fab:active{transform:scale(0.93)}
  #tab-collection.collection-signed-out-mobile .coll-fab{display:none}

  /* FAB overlay */
  .coll-fab-overlay{position:fixed;inset:0;background:rgba(42,37,32,0.35);z-index:210;opacity:0;pointer-events:none;transition:opacity 0.2s}
  .coll-fab-overlay.open{display:block;opacity:1;pointer-events:all}

  /* FAB bottom sheet */
  .coll-fab-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--white);border-radius:16px 16px 0 0;border-top:0.5px solid var(--border);box-shadow:0 -8px 40px rgba(42,37,32,0.14);z-index:220;padding:0 0 calc(env(safe-area-inset-bottom) + 12px);transform:translateY(100%);transition:transform 0.25s cubic-bezier(0.32,0.72,0,1)}
  .coll-fab-sheet.open{transform:translateY(0)}
  .coll-fab-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}
  .coll-fab-sheet-title{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--ink)}
  .coll-fab-sheet-close{background:none;border:none;font-size:16px;color:var(--ink3);cursor:pointer;padding:4px;line-height:1}
  .coll-fab-sheet-option{display:flex;align-items:center;gap:16px;width:100%;padding:14px 20px;background:none;border:none;border-top:0.5px solid var(--border2);cursor:pointer;text-align:left}
  .coll-fab-sheet-option:active{background:var(--stone2)}
  .coll-fab-sheet-icon{width:36px;height:36px;border-radius:9px;background:var(--stone2);border:0.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--accent);flex-shrink:0}
  .coll-fab-sheet-opt-name{font-family:'Jost',sans-serif;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:2px}
  .coll-fab-sheet-opt-sub{font-family:'Jost',sans-serif;font-size:12px;color:var(--ink3);line-height:1.4}
}

@media(max-width:768px){
  .topbar{padding:0 1rem}
  .topbar-right{margin-left:auto}
  .mobile-menu-toggle{width:44px;height:44px;border:0.5px solid var(--border);border-radius:14px;background:var(--white);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:var(--ink);box-shadow:0 2px 10px rgba(42,37,32,0.035)}
  .mobile-menu-toggle span{display:block;width:18px;height:1.5px;border-radius:999px;background:currentColor;transition:transform 0.18s,opacity 0.18s}
  .mobile-menu-toggle.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .mobile-menu-toggle.active span:nth-child(2){opacity:0}
  .mobile-menu-toggle.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  #request-entry-btn,#guide-btn,#manage-btn,#add-entry-btn,.stone-count,#topbar-auth{display:none}
  .main-nav-wrap{display:none;position:sticky;top:96px;z-index:49;padding:0.65rem 1rem 0.8rem;background:rgba(250,248,246,0.98);border-bottom:0.5px solid var(--border);box-shadow:0 10px 24px rgba(42,37,32,0.08)}
  body.mobile-nav-open .main-nav-wrap{display:block}
  .main-nav-wrap::after{display:none}
  .main-nav{display:flex;flex-direction:column;gap:0;border:0.5px solid var(--border);border-radius:14px;background:var(--white);padding:0;overflow:hidden;box-shadow:0 4px 14px rgba(42,37,32,0.045)}
  .nav-tab,.nav-tab-mobile-only{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;border:none;border-bottom:0.5px solid var(--border2);padding:0.85rem 1rem;font-size:12px;letter-spacing:0.065em;text-align:left;color:var(--ink2r)}
  .nav-tab:last-child{border-bottom:none}
  .nav-tab::after{content:'›';font-size:18px;line-height:1;color:var(--ink3);font-family:Georgia,'Times New Roman',serif}
  .nav-tab.active{background:var(--stone2);color:var(--ink);border-bottom-color:var(--border2)}
  .nav-tab.active::after{color:var(--accent)}
  .main-nav .nav-tab:nth-child(7){order:7}
  .c101-layout{display:block;border:none;border-radius:0;margin-top:0;align-items:stretch}
  .c101-sidebar{display:none}
  .c101-content-pane{padding:0;border-radius:0;background:transparent}
  .c101-mobile-nav{display:block;position:relative;margin-bottom:1.1rem}
  .c101-mobile-nav-label{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:6px}
  .c101-mobile-nav-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;background:var(--white);border:0.5px solid var(--border2);border-radius:10px;font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);cursor:pointer;text-align:left;box-shadow:0 1px 4px rgba(42,37,32,0.06)}
  .c101-mobile-nav-trigger:focus-visible{outline:1.5px solid var(--accent2);outline-offset:2px}
  .c101-dropdown-chevron{flex-shrink:0;color:var(--accent);transition:transform 0.2s}
  .c101-mobile-nav-trigger[aria-expanded="true"] .c101-dropdown-chevron{transform:rotate(180deg)}
  .c101-mobile-nav-panel{display:none;flex-direction:column;background:var(--white);border:0.5px solid var(--border2);border-radius:10px;box-shadow:0 4px 16px rgba(42,37,32,0.10);overflow:hidden;margin-top:4px}
  .c101-mobile-nav-panel.open{display:flex}
  .c101-mobile-nav-option{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-family:'Jost',sans-serif;font-size:13.5px;color:var(--ink2);cursor:pointer;min-height:48px;border-bottom:0.5px solid var(--border);transition:background 0.12s}
  .c101-mobile-nav-option:last-child{border-bottom:none}
  .c101-mobile-nav-option:hover{background:var(--stone)}
  .c101-mobile-nav-option.active{background:var(--stone2);color:var(--ink);font-weight:500;border-left:2px solid var(--accent2)}
  .c101-option-check{flex-shrink:0;color:var(--accent);opacity:0;transition:opacity 0.12s}
  .c101-mobile-nav-option.active .c101-option-check{opacity:1}
}

@media(max-width:600px){
  .main-nav-wrap{top:78px}
}



/* Photo Planning panel */
.pp-filter-btn{background:var(--white);border:0.5px solid var(--border);border-radius:20px;padding:4px 12px;font-size:12px;color:var(--ink2);cursor:pointer;font-family:inherit;transition:all 0.15s}
.pp-filter-btn:hover{border-color:var(--accent);color:var(--accent)}
.pp-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.pp-row{display:grid;grid-template-columns:1fr 80px 140px 70px;gap:0;align-items:center;padding:6px 0;border-bottom:0.5px solid rgba(42,37,32,0.06)}
.pp-row:last-child{border-bottom:none}

@media(max-width:900px){
  .id2-intro{white-space:normal;max-width:680px}
}

@media(max-width:600px){
  .id2-hero{margin:0 0 0.8rem;height:130px;border-radius:10px}
  .id2-hero-overlay{padding:1rem}
  .id2-hero-h1{font-size:24px}
  .id2-wrap{padding:0.75rem 0 1.5rem}
  .id2-intro{margin-bottom:0.55rem;padding:0 0.4rem;font-size:13px;line-height:1.55}
  .id2-progress{margin-bottom:0.7rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .id2-progress::-webkit-scrollbar{display:none}
  .id2-prog-step{flex:0 0 auto;min-width:86px;padding:0.55rem 0.75rem;font-size:11px;white-space:nowrap}
  #id2-steps{gap:6px;margin-bottom:0.75rem}
  .id2-sc-answered-row{gap:8px;min-height:44px;padding:0.55rem 0.75rem}
  .id2-sc-aname{font-size:10.5px;line-height:1.2}
  .id2-sc-chip{padding:3px 9px;line-height:1.25;white-space:normal;text-align:center}
  .id2-sc-change{min-height:36px;padding:8px 2px;font-size:12px}
  .id2-sc-inner{padding:0.95rem 1rem}
  .id2-sc-header{margin-bottom:0.8rem}
}

/* ── STONE CALENDAR ────────────────────────────────────────────────────────── */

/* Trigger */
.sotd-cal-trigger-row{display:flex;justify-content:center;padding:14px 0 2px}
.sotd-cal-trigger-btn{appearance:none;background:none;border:none;border-bottom:1px solid transparent;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#9a8070;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:5px 0;transition:color .15s,border-color .15s}
.sotd-cal-trigger-btn:hover{color:#6b5848;border-bottom-color:#c8a96e}
.sotd-cal-trigger-btn:focus-visible{outline:2px solid #c8a96e;outline-offset:3px;border-radius:2px}

/* Overlay backdrop */
.sotd-cal-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,.38);z-index:80;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}
.sotd-cal-overlay.open{display:flex}
body.sotd-cal-open{overflow:hidden}

/* Panel */
.sotd-cal-panel{position:relative;background:#fbf8f3;border:1px solid rgba(169,135,95,.2);border-radius:20px;box-shadow:0 24px 64px rgba(42,37,32,.18),0 4px 16px rgba(42,37,32,.06);width:100%;max-width:860px;max-height:90vh;overflow-y:auto;padding:28px 28px 22px;box-sizing:border-box}

/* Header */
.sotd-cal-header{display:grid;grid-template-columns:40px 1fr 40px 32px;align-items:center;gap:8px;margin-bottom:22px}
.sotd-cal-month-info{display:flex;flex-direction:column;align-items:center;gap:6px}
.sotd-cal-month-name{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400;letter-spacing:-.01em;color:#3e3830;margin:0;line-height:1}
.sotd-cal-today-btn{appearance:none;background:none;border:1px solid rgba(169,135,95,.3);border-radius:999px;font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:#9a8070;cursor:pointer;padding:4px 12px;transition:background .14s,border-color .14s,color .14s}
.sotd-cal-today-btn:hover{background:rgba(200,169,110,.1);border-color:rgba(169,135,95,.5);color:#6b5848}
.sotd-cal-today-btn:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}
.sotd-cal-today-btn[hidden]{display:none}
.sotd-cal-nav-btn{appearance:none;background:none;border:1px solid rgba(169,135,95,.22);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#9a8070;cursor:pointer;transition:background .14s,border-color .14s,color .14s;flex-shrink:0}
.sotd-cal-nav-btn:hover{background:rgba(200,169,110,.1);border-color:rgba(169,135,95,.44);color:#6b5848}
.sotd-cal-nav-btn:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}
.sotd-cal-close-btn{appearance:none;background:rgba(251,248,243,.92);border:1px solid rgba(169,135,95,.22);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#9a8070;cursor:pointer;transition:background .14s,border-color .14s,color .14s}
.sotd-cal-close-btn:hover{background:#f0ece4;border-color:rgba(169,135,95,.44);color:#5a4a3a}
.sotd-cal-close-btn:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}

/* Weekday labels */
.sotd-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:5px}
.sotd-cal-weekdays span{font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#b8afa8;text-align:center;padding:3px 0}

/* Grid */
.sotd-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}

/* Day cells — base */
.sotd-cal-cell{position:relative;min-height:82px;border-radius:9px;padding:8px 7px 6px;display:flex;flex-direction:column;gap:3px;border:1px solid transparent;box-sizing:border-box;background:transparent;text-align:left;width:100%}
.sotd-cal-cell--outside{opacity:0;pointer-events:none;aria-hidden:true}
.sotd-cal-cell--empty{cursor:default}

/* Populated cells */
.sotd-cal-cell--populated{cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}
.sotd-cal-cell--populated:focus-visible{outline:2px solid #c8a96e;outline-offset:1px}
.sotd-cal-cell--history{background:rgba(122,107,160,.08);border-color:rgba(122,107,160,.18)}
.sotd-cal-cell--history:hover,.sotd-cal-cell--history:focus{background:rgba(122,107,160,.14);border-color:rgba(122,107,160,.3)}
.sotd-cal-cell--schedule{background:rgba(200,169,110,.09);border-color:rgba(200,169,110,.26)}
.sotd-cal-cell--schedule:hover,.sotd-cal-cell--schedule:focus{background:rgba(200,169,110,.16);border-color:rgba(200,169,110,.4)}

/* Today ring (works on any cell type) */
.sotd-cal-cell--today{outline:2px solid #c8a96e;outline-offset:-1px}

/* Cell typography */
.sotd-cal-day-num{font-family:'Jost',sans-serif;font-size:12px;font-weight:600;line-height:1;color:#7a6e66;display:block;flex-shrink:0}
.sotd-cal-cell--empty .sotd-cal-day-num{color:#cdc7c2}
.sotd-cal-cell--today .sotd-cal-day-num{color:#a07030}
.sotd-cal-stone-name{font-family:Georgia,'Times New Roman',serif;font-size:11.5px;font-style:italic;font-weight:400;line-height:1.3;color:#504944;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sotd-cal-event-name{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:#9a7d58;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Schedule dot — top-right corner */
.sotd-cal-sched-dot{position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:#c8a96e;flex-shrink:0}

/* Status areas */
.sotd-cal-loading{grid-column:1/-1;padding:40px;text-align:center;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#b8afa8}
.sotd-cal-error{grid-column:1/-1;padding:32px;text-align:center}
.sotd-cal-error p{font-family:'Jost',sans-serif;font-size:13px;color:#8d857e;margin:0 0 14px}
.sotd-cal-retry-btn{appearance:none;background:#9688b3;border:none;border-radius:999px;font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff;cursor:pointer;padding:8px 20px;transition:background .14s}
.sotd-cal-retry-btn:hover{background:#897aa8}
.sotd-cal-empty-msg{grid-column:1/-1;font-family:Georgia,'Times New Roman',serif;font-size:14px;font-style:italic;color:#b0a89e;text-align:center;padding:20px 0 8px;margin:0}

/* Legend */
.sotd-cal-legend{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(169,135,95,.12)}
.sotd-cal-legend-item{display:flex;align-items:center;gap:6px;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#b0a89e}
.sotd-cal-legend-swatch{width:10px;height:10px;border-radius:3px;border:1px solid transparent;flex-shrink:0}
.sotd-cal-legend-swatch--history{background:rgba(122,107,160,.14);border-color:rgba(122,107,160,.28)}
.sotd-cal-legend-swatch--schedule{background:rgba(200,169,110,.18);border-color:rgba(200,169,110,.36)}

/* ── Admin action bar ──────────────────────────────────────────────────────── */
.sotd-cal-admin-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 2px 10px;
  border-bottom:1px solid rgba(169,135,95,.1);
  margin-bottom:12px;
}
.sotd-cal-generate-btn{
  font-family:'Jost',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#a0876a;
  background:transparent;
  border:1px solid rgba(169,135,95,.35);
  border-radius:6px;
  padding:5px 12px;
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
.sotd-cal-generate-btn:hover{background:rgba(169,135,95,.08);border-color:rgba(169,135,95,.55);color:#8a6f52}

/* ── Generate options panel ────────────────────────────────────────────────── */
.sotd-gen-options{
  background:rgba(169,135,95,.06);
  border:1px solid rgba(169,135,95,.18);
  border-radius:10px;
  padding:14px 16px 12px;
  margin-bottom:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sotd-gen-fieldset{border:none;margin:0;padding:0}
.sotd-gen-legend{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#b0a89e;margin-bottom:8px}
.sotd-gen-radio-label{display:inline-flex;align-items:center;gap:5px;font-family:'Jost',sans-serif;font-size:13px;color:#6b5c4e;margin-right:14px;cursor:pointer}
.sotd-gen-nophoto-label{display:flex;align-items:center;gap:6px;font-family:'Jost',sans-serif;font-size:13px;color:#6b5c4e;cursor:pointer}
.sotd-gen-actions{display:flex;gap:8px;align-items:center;margin-top:2px}
.sotd-gen-btn{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;border-radius:7px;padding:6px 14px;cursor:pointer;border:1px solid transparent;transition:background .15s,opacity .15s}
.sotd-gen-btn--primary{background:#a0876a;color:#fff;border-color:#a0876a}
.sotd-gen-btn--primary:hover{background:#8a6f52}
.sotd-gen-btn--primary:disabled{opacity:.55;cursor:default}
.sotd-gen-btn--cancel{background:transparent;color:#9e8e82;border-color:rgba(169,135,95,.3)}
.sotd-gen-btn--cancel:hover{background:rgba(169,135,95,.08)}

/* ── Bulk preview overlay ──────────────────────────────────────────────────── */
.sotd-bulk-preview{
  position:absolute;
  inset:0;
  z-index:10;
  background:#fbf8f3;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sotd-bulk-preview-header{
  position:sticky;
  top:0;
  z-index:2;
  background:#fbf8f3;
  border-bottom:1px solid rgba(169,135,95,.15);
  padding:16px 22px 12px;
  flex-shrink:0;
}
.sotd-bulk-preview-title-row{display:flex;align-items:baseline;gap:12px}
.sotd-bulk-preview-title{font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#4a3728;font-style:italic}
.sotd-bulk-preview-meta{font-family:'Jost',sans-serif;font-size:11px;color:#b0a89e;letter-spacing:.04em}
.sotd-bulk-preview-header-actions{margin-top:8px}
.sotd-bulk-regen-btn{font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#a0876a;background:transparent;border:1px solid rgba(169,135,95,.35);border-radius:6px;padding:4px 10px;cursor:pointer;transition:background .15s,border-color .15s}
.sotd-bulk-regen-btn:hover{background:rgba(169,135,95,.08);border-color:rgba(169,135,95,.55)}
.sotd-bulk-regen-btn:disabled{opacity:.55;cursor:default}

.sotd-bulk-preview-body{flex:1;overflow-y:auto;padding:0 22px 8px}
.sotd-bulk-empty{font-family:Georgia,'Times New Roman',serif;font-size:14px;font-style:italic;color:#b0a89e;text-align:center;padding:24px 0}

/* Month group heading */
.sotd-bulk-month{margin-top:18px}
.sotd-bulk-month:first-child{margin-top:12px}
.sotd-bulk-month-label{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b0a89e;padding-bottom:6px;border-bottom:1px solid rgba(169,135,95,.1);margin-bottom:4px}
.sotd-bulk-rows{display:flex;flex-direction:column;gap:2px}

/* Row */
.sotd-bulk-row{
  display:grid;
  grid-template-columns:28px 36px 1fr auto auto;
  align-items:center;
  gap:10px;
  padding:6px 4px;
  border-radius:7px;
  transition:background .1s;
}
.sotd-bulk-row:hover{background:rgba(169,135,95,.05)}
.sotd-bulk-row--existing{opacity:.6}
.sotd-bulk-row--locked{background:rgba(169,135,95,.07)}
.sotd-bulk-row--loading{opacity:.5;pointer-events:none}

.sotd-bulk-row-date{font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:#9e8e82;text-align:center;flex-shrink:0}
.sotd-bulk-row-thumb{width:34px;height:34px;border-radius:6px;overflow:hidden;background:rgba(169,135,95,.1);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sotd-bulk-row-thumb img{width:100%;height:100%;object-fit:cover}
.sotd-bulk-row-info{min-width:0;display:flex;flex-direction:column;gap:1px}
.sotd-bulk-row-name{font-family:Georgia,'Times New Roman',serif;font-size:13px;color:#4a3728;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sotd-bulk-row-meta{font-family:'Jost',sans-serif;font-size:10px;color:#b0a89e;letter-spacing:.04em}
.sotd-bulk-row-status{display:flex;flex-direction:column;gap:3px;align-items:flex-end;flex-shrink:0}
.sotd-bulk-actions{display:flex;gap:4px;flex-shrink:0}

/* Status badges */
.sotd-bulk-badge{
  font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
  padding:2px 6px;border-radius:4px;
  background:rgba(169,135,95,.12);color:#a0876a;
  white-space:nowrap;
}
.sotd-bulk-badge--locked{background:rgba(93,119,80,.14);color:#5d7750}
.sotd-bulk-badge--history{background:rgba(122,107,160,.1);color:#7a6ba0}
.sotd-bulk-badge--schedule{background:rgba(200,169,110,.12);color:#9a7e2e}
.sotd-bulk-badge--editorial{background:rgba(140,100,160,.1);color:#8c64a0}
.sotd-bulk-badge--nophoto{background:rgba(169,135,95,.07);color:#c0b0a0}

/* Row action buttons (Reroll / Lock) */
.sotd-bulk-action{
  font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.05em;
  padding:3px 8px;border-radius:5px;cursor:pointer;border:1px solid transparent;
  background:transparent;color:#a0876a;border-color:rgba(169,135,95,.3);
  transition:background .12s,border-color .12s;
}
.sotd-bulk-action:hover{background:rgba(169,135,95,.1);border-color:rgba(169,135,95,.5)}
.sotd-bulk-action--locked{color:#5d7750;border-color:rgba(93,119,80,.35)}
.sotd-bulk-action--locked:hover{background:rgba(93,119,80,.08)}

/* Sticky footer */
.sotd-bulk-preview-footer{
  position:sticky;
  bottom:0;
  z-index:2;
  background:#fbf8f3;
  border-top:1px solid rgba(169,135,95,.15);
  padding:12px 22px 16px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-shrink:0;
}
.sotd-bulk-footer-btn{
  font-family:'Jost',sans-serif;font-size:13px;font-weight:500;
  padding:8px 18px;border-radius:8px;cursor:pointer;border:1px solid transparent;
  transition:background .15s,opacity .15s;
}
.sotd-bulk-footer-btn--approve{background:#a0876a;color:#fff;border-color:#a0876a}
.sotd-bulk-footer-btn--approve:hover{background:#8a6f52}
.sotd-bulk-footer-btn--approve:disabled{opacity:.55;cursor:default}
.sotd-bulk-footer-btn--cancel{background:transparent;color:#9e8e82;border-color:rgba(169,135,95,.3)}
.sotd-bulk-footer-btn--cancel:hover{background:rgba(169,135,95,.08)}

/* ── Single-date scheduler: random bar additions ───────────────────────────── */
.sotd-sched-random-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.sotd-sched-btn--random{
  flex:1;font-family:'Jost',sans-serif;font-size:12px;font-weight:500;
  padding:7px 14px;border-radius:7px;cursor:pointer;
  background:rgba(169,135,95,.1);color:#a0876a;border:1px solid rgba(169,135,95,.35);
  transition:background .15s,border-color .15s;
}
.sotd-sched-btn--random:hover{background:rgba(169,135,95,.18);border-color:rgba(169,135,95,.55)}
.sotd-sched-btn--random:disabled{opacity:.55;cursor:default}
.sotd-sched-no-photo-label{display:flex;align-items:center;gap:5px;font-family:'Jost',sans-serif;font-size:12px;color:#9e8e82;cursor:pointer;white-space:nowrap}

/* Mobile trigger: hide desktop trigger; mobile SOTD shows its own trigger via order */
@media(max-width:560px){
  .sotd-cal-trigger-row{padding:12px 0 0;order:2}
  .sotd-cal-overlay{padding:0;align-items:flex-end}
  .sotd-cal-panel{border-radius:20px 20px 0 0;max-height:92vh;padding:22px 14px 20px;max-width:100%}
  .sotd-cal-header{margin-bottom:16px}
  .sotd-cal-month-name{font-size:18px}
  .sotd-cal-close-btn{width:30px;height:30px}
  .sotd-cal-cell{min-height:58px;padding:6px 5px 5px;border-radius:7px;gap:2px}
  .sotd-cal-stone-name{font-size:10px;-webkit-line-clamp:2}
  .sotd-cal-event-name{display:none}
  .sotd-cal-weekdays span{font-size:9px;letter-spacing:.06em}
  .sotd-cal-grid{gap:3px}
  .sotd-cal-legend{gap:14px;margin-top:14px}
}

/* ── SOTD mobile primary button — chakra-keyed pale fill ── */
.msotd-btn-primary{
  background:var(--sotd-btn-bg,#d9d2e9);
  border:1px solid var(--sotd-btn-border,#b0a0d8);
  color:var(--sotd-btn-text,#5e5080);
  font-weight:500;
  box-shadow:none;
  filter:none;
}

/* ── SOTD event announcement panel ──────────────────────────────────────── */
.sotd-event-announcement{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
  padding:11px 16px;
  border-radius:10px;
  background:var(--sotd-banner-bg, #f3f0f8);
  border:none;
  border-bottom:1px solid var(--sotd-banner-border, rgba(147,121,91,.32));
  overflow:hidden;
}
.sotd-event-body{flex:1;min-width:0}
.sotd-event-kicker{
  display:flex;
  align-items:center;
  gap:5px;
  font-family:'Jost',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--sotd-kicker-color, #6b5e52);
  margin-bottom:9px;
}
.sotd-event-kicker-text{line-height:1}
.sotd-event-icon{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  width:15px;
  height:15px;
  color:var(--sotd-kicker-color, #6b5e52);
}
.sotd-event-icon svg{width:100%;height:100%}
.sotd-event-heading{
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  font-weight:400;
  line-height:1.25;
  color:#2e2820;
  margin:0 0 5px;
}
.sotd-event-note{
  font-family:'Jost',sans-serif;
  font-size:11px;
  line-height:1.55;
  color:#6b6258;
  margin:0 0 5px;
}
.sotd-event-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.sotd-event-location{
  font-family:'Jost',sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.07em;
  color:#9a8070;
}
.sotd-event-source{
  font-family:'Jost',sans-serif;
  font-size:10px;
  color:#7a6ba0;
  text-decoration:none;
  border-bottom:1px solid rgba(122,107,160,.3);
  transition:border-color .14s;
}
.sotd-event-source:hover{border-bottom-color:rgba(122,107,160,.7)}
.sotd-event-artwork{
  flex-shrink:0;
  width:66px;
  height:66px;
  object-fit:cover;
  border-radius:7px;
  opacity:.75;
}


/* Drawer banner — sits flush in the drawer's top padding area */
#sotd-event-banner{margin:-1rem -1.75rem 1.25rem}
#sotd-event-banner .sotd-event-announcement{
  border-radius:0;
  border-left:0;
  border-right:0;
  border-top:0;
  margin:0;
  padding:11px 1.75rem;
}

/* Mobile drawer banner padding matches mobile inner */
@media(max-width:600px){
  #sotd-event-banner{margin:-1rem -1.25rem 1.25rem}
  #sotd-event-banner .sotd-event-announcement{padding:9px 1.25rem}
  .sotd-event-artwork{display:none}
}


/* ── SITEWIDE ICON AUDITION OVERLAY (admin-only, temporary) ─────────────── */
.sotd-icon-audition{display:none;position:fixed;inset:0;z-index:900;background:rgba(30,24,18,.55);align-items:flex-start;justify-content:center;padding:24px;box-sizing:border-box;overflow-y:auto}
.sotd-icon-audition.open{display:flex}
.sica-panel{position:relative;background:#faf8f4;border:1px solid rgba(169,135,95,.22);border-radius:16px;max-width:940px;width:100%;margin:auto;padding:28px 32px 32px;box-shadow:0 24px 64px rgba(30,24,18,.18);box-sizing:border-box}
.sica-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:16px;color:#8d7a68;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px}
.sica-close:hover{background:rgba(169,135,95,.12)}
.sica-eyebrow{font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#a07844;margin-bottom:5px}
.sica-title{font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:400;color:#2e2820;margin-bottom:4px}
.sica-subhead{font-family:'Jost',sans-serif;font-size:11.5px;color:#7a7068;line-height:1.5;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(169,135,95,.18)}
/* section */
.sica-section{margin-bottom:28px}
.sica-section-hdr{font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a07844;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(169,135,95,.2)}
/* option grid: 4 cards across */
.sica-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
/* individual card */
.sica-card{background:#fff;border:1px solid rgba(169,135,95,.16);border-radius:10px;padding:12px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:8px}
.sica-card-label{font-family:'Jost',sans-serif;font-size:10px;font-weight:500;color:#5e5248;text-align:center;line-height:1.3;min-height:2.4em;display:flex;align-items:center;justify-content:center}
.sica-sizes{display:flex;align-items:flex-end;justify-content:center;gap:10px}
.sica-sz{display:flex;flex-direction:column;align-items:center;gap:4px}
.sica-sz-icon{display:inline-flex;align-items:center;justify-content:center;background:#f4f2f6;border:1px solid rgba(169,135,95,.13);border-radius:6px;padding:4px;color:#453868}
.sica-sz-icon svg{display:block}
.sica-sz-lbl{font-family:'Jost',sans-serif;font-size:8.5px;color:#b0a090;letter-spacing:.04em}
.sica-footer{font-family:'Jost',sans-serif;font-size:10.5px;color:#9a8878;margin-top:24px;padding-top:14px;border-top:1px solid rgba(169,135,95,.18);line-height:1.55}
.sica-footer code{background:rgba(169,135,95,.1);padding:1px 5px;border-radius:4px;font-size:10px}
@media(max-width:760px){.sica-options{grid-template-columns:repeat(2,1fr)}.sica-panel{padding:20px 16px 24px}}
/* ── end icon audition ───────────────────────────────────────────────────── */

/* Calendar event icon replaces the plain dot for editorial cells */
.sotd-cal-event-icon{
  position:absolute;
  top:6px;
  right:6px;
  width:11px;
  height:11px;
  color:#9a7d58;
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.sotd-cal-event-icon svg{width:100%;height:100%}
.sotd-cal-cell-thumb{position:absolute;bottom:5px;left:5px;width:20px;height:20px;border-radius:3px;object-fit:cover;opacity:.75;pointer-events:none}
.sotd-cal-cell-dot{position:absolute;bottom:7px;left:7px;width:9px;height:9px;border-radius:50%;opacity:.75;display:inline-block;pointer-events:none}

/* ── SOTD empty-future cell (clickable + button) ───────────────────────── */
.sotd-cal-cell--empty-future{cursor:pointer;transition:background .12s,border-color .12s;appearance:none;font:inherit;background:transparent;border:1px dashed rgba(169,135,95,.2);text-align:left}
.sotd-cal-cell--empty-future:hover,.sotd-cal-cell--empty-future:focus{background:rgba(200,169,110,.07);border-color:rgba(169,135,95,.36)}
.sotd-cal-cell--empty-future:focus-visible{outline:2px solid #c8a96e;outline-offset:1px}
.sotd-cal-cell--empty-future .sotd-cal-day-num{color:#cdc7c2}
.sotd-cal-empty-add{position:absolute;bottom:6px;right:7px;font-size:14px;line-height:1;color:rgba(169,135,95,.35);pointer-events:none}
.sotd-cal-cell--empty-future:hover .sotd-cal-empty-add,.sotd-cal-cell--empty-future:focus .sotd-cal-empty-add{color:rgba(169,135,95,.65)}

/* ── SOTD Scheduler Modal ─────────────────────────────────────────────── */
.sotd-sched-overlay{display:none;position:fixed;inset:0;background:rgba(42,37,32,.45);z-index:90;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}
.sotd-sched-overlay.open{display:flex}
body.sotd-sched-open{overflow:hidden}

.sotd-sched-panel{position:relative;background:#fbf8f3;border:1px solid rgba(169,135,95,.2);border-radius:18px;box-shadow:0 24px 64px rgba(42,37,32,.2),0 4px 16px rgba(42,37,32,.06);width:100%;max-width:480px;max-height:88vh;overflow-y:auto;padding:24px 24px 20px;box-sizing:border-box}

.sotd-sched-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}
.sotd-sched-date{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:#3e3830;line-height:1.2}
.sotd-sched-close{appearance:none;background:rgba(251,248,243,.92);border:1px solid rgba(169,135,95,.22);border-radius:50%;width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9a8070;cursor:pointer;transition:background .14s,border-color .14s,color .14s}
.sotd-sched-close:hover{background:#f0ece4;border-color:rgba(169,135,95,.44);color:#5a4a3a}
.sotd-sched-close:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}

/* form layout */
.sotd-sched-form{display:flex;flex-direction:column;gap:14px}
.sotd-sched-field{display:flex;flex-direction:column;gap:5px}
.sotd-sched-label{font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9a8070}
.sotd-sched-input{appearance:none;background:#fff;border:1px solid rgba(169,135,95,.28);border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;color:#3e3830;padding:8px 10px;box-sizing:border-box;width:100%;transition:border-color .14s,box-shadow .14s}
.sotd-sched-input:focus{outline:none;border-color:#c8a96e;box-shadow:0 0 0 3px rgba(200,169,110,.14)}
.sotd-sched-input--narrow{max-width:120px}
.sotd-sched-select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a8070'/%3E%3C/svg%3E") no-repeat right 10px center;background-size:10px;border:1px solid rgba(169,135,95,.28);border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;color:#3e3830;padding:8px 28px 8px 10px;box-sizing:border-box;width:100%;cursor:pointer;transition:border-color .14s}
.sotd-sched-select:focus{outline:none;border-color:#c8a96e;box-shadow:0 0 0 3px rgba(200,169,110,.14)}
.sotd-sched-textarea{appearance:none;background:#fff;border:1px solid rgba(169,135,95,.28);border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;color:#3e3830;padding:8px 10px;box-sizing:border-box;width:100%;resize:vertical;transition:border-color .14s,box-shadow .14s}
.sotd-sched-textarea:focus{outline:none;border-color:#c8a96e;box-shadow:0 0 0 3px rgba(200,169,110,.14)}
.sotd-sched-divider{font-family:'Jost',sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#b0a89e;padding-top:6px;border-top:1px solid rgba(169,135,95,.12);display:flex;align-items:center;gap:8px}
.sotd-sched-optional{font-weight:400;text-transform:none;letter-spacing:0;font-size:10px}

/* actions */
.sotd-sched-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}
.sotd-sched-btn{appearance:none;border-radius:999px;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:8px 18px;transition:background .14s,border-color .14s,color .14s;white-space:nowrap}
.sotd-sched-btn--primary{background:#9688b3;border:none;color:#fff}
.sotd-sched-btn--primary:hover{background:#897aa8}
.sotd-sched-btn--primary:disabled{opacity:.5;cursor:not-allowed}
.sotd-sched-btn--primary:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}
.sotd-sched-btn--secondary{background:none;border:1px solid rgba(169,135,95,.35);color:#7a6e66}
.sotd-sched-btn--secondary:hover{background:rgba(200,169,110,.08);border-color:rgba(169,135,95,.55)}
.sotd-sched-btn--secondary:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}
.sotd-sched-btn--danger{background:none;border:1px solid rgba(180,60,60,.3);color:#b04040}
.sotd-sched-btn--danger:hover{background:rgba(180,60,60,.07);border-color:rgba(180,60,60,.5)}
.sotd-sched-btn--danger:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}
.sotd-sched-btn--ghost{background:none;border:1px solid rgba(169,135,95,.18);color:#9a8070}
.sotd-sched-btn--ghost:hover{background:rgba(200,169,110,.07);border-color:rgba(169,135,95,.35)}
.sotd-sched-btn--ghost:focus-visible{outline:2px solid #c8a96e;outline-offset:2px}

/* delete confirmation */
.sotd-sched-delete-confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:rgba(180,60,60,.06);border:1px solid rgba(180,60,60,.18);border-radius:8px;font-family:'Jost',sans-serif;font-size:12px;color:#7a4040}
.sotd-sched-delete-confirm[hidden]{display:none}
.sotd-sched-delete-confirm span{flex:1;min-width:0}

/* error */
.sotd-sched-error{font-family:'Jost',sans-serif;font-size:12px;color:#b04040;background:rgba(180,60,60,.06);border:1px solid rgba(180,60,60,.18);border-radius:7px;padding:8px 12px}

/* history / read-only view */
.sotd-sched-hist{display:flex;flex-direction:column;gap:14px}
.sotd-sched-hist-stone{display:flex;flex-direction:column;gap:4px}
.sotd-sched-hist-name{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-style:italic;color:#3e3830}
.sotd-sched-hist-meta{display:flex;gap:6px;flex-wrap:wrap}
.sotd-sched-hist-tag{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9a8070;background:rgba(169,135,95,.1);border-radius:999px;padding:3px 9px}
.sotd-sched-hist-table{width:100%;border-collapse:collapse;font-family:'Jost',sans-serif;font-size:12px}
.sotd-sched-hist-table th,.sotd-sched-hist-table td{text-align:left;padding:5px 0;vertical-align:top}
.sotd-sched-hist-table th{width:38%;color:#b0a89e;font-weight:500;letter-spacing:.05em;text-transform:uppercase;font-size:10px;padding-right:10px}
.sotd-sched-hist-table td{color:#504944}
.sotd-sched-hist-table tr+tr th,.sotd-sched-hist-table tr+tr td{border-top:1px solid rgba(169,135,95,.1)}
.sotd-sched-link{color:#9688b3;text-decoration:none;word-break:break-all}
.sotd-sched-link:hover{text-decoration:underline}

/* event banner in history view */
.sotd-sched-event-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.06em}
.sotd-sched-event-banner--lunar{background:rgba(100,80,160,.08);color:#5a4898}
.sotd-sched-event-banner--eclipse{background:rgba(60,40,100,.09);color:#3e2878}
.sotd-sched-event-banner--celestial{background:rgba(80,100,160,.08);color:#3a5088}
.sotd-sched-event-banner--meteor{background:rgba(120,80,40,.08);color:#6a4018}
.sotd-sched-event-banner--tradition{background:rgba(169,135,95,.1);color:#7a5a30}
.sotd-sched-event-banner--location{background:rgba(60,130,90,.08);color:#2a6840}
.sotd-sched-event-banner--geology{background:rgba(100,80,60,.08);color:#5a4030}
.sotd-sched-event-banner--anniversary{background:rgba(200,169,110,.12);color:#8a6a20}
.sotd-sched-event-banner--generic{background:rgba(169,135,95,.08);color:#9a8070}
.sotd-sched-event-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center}
.sotd-sched-event-icon svg{width:100%;height:100%}
.sotd-sched-event-label{flex:1;min-width:0}

/* stone thumbnail */
.sotd-sched-thumb{margin-top:8px;min-height:0}
.sotd-sched-thumb-img{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid rgba(169,135,95,.2)}
.sotd-sched-thumb-dot{display:inline-block;width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}

/* mobile */
@media(max-width:600px){
  .sotd-sched-overlay{padding:0;align-items:flex-end}
  .sotd-sched-panel{border-radius:18px 18px 0 0;max-height:92vh;max-width:100%;padding:20px 16px 20px}
  .sotd-sched-actions{flex-direction:column;align-items:stretch}
  .sotd-sched-btn{text-align:center}
}
