:root{--hawthorn:#385344;--hawthorn-2:#294638;--lichen:#FFFDF9;--elder:#F8F5EF;--berry:#AD526F;--berry-2:#923E59;--ink:#2F3430;--brass:#C3A477;--muted:#626961;--line:#E6E0D5;--sage:#9AAC98;--palesage:#E5EBE3;--powder:#F6E8E9;--blush:#EBCBD2;
--fell:"IM Fell English",Georgia,serif;--sans:"Work Sans",system-ui,sans-serif;--w:1180px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--lichen);color:var(--ink);font:400 16px/1.6 var(--sans)}
img{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:2px solid var(--berry);outline-offset:3px}
h1,h2,h3{font-family:var(--fell);font-weight:400;line-height:1.12;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.2rem,5.2vw,4rem)}h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}h3{font-size:1.35rem}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
/* delivery bar */
.bar{background:var(--hawthorn);color:var(--elder);font-size:.88rem;text-align:center;padding:7px 12px}
.bar b{color:#F1D9A0;font-weight:500}
/* header */
header.top{background:var(--elder);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:18px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--fell);font-size:1.75rem;color:var(--hawthorn)}
.logo svg{width:30px;height:30px}
nav.main{display:flex;gap:22px;margin-left:24px}
nav.main a{text-decoration:none;font-size:.95rem;color:var(--ink)}nav.main a:hover{color:var(--berry)}
.tools{margin-left:auto;display:flex;gap:6px;align-items:center}
.iconbtn{background:none;border:0;padding:8px;cursor:pointer;color:var(--hawthorn);position:relative;text-decoration:none;display:inline-flex}
.iconbtn svg{width:22px;height:22px}
.count{position:absolute;top:0;right:-2px;background:var(--berry);color:#fff;font-size:.68rem;border-radius:9px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px}
.count:empty{display:none}
#menuBtn{display:none}
.drawer{display:none}
@media(max-width:900px){nav.main{display:none}#menuBtn{display:inline-flex}
.drawer.open{display:block;position:fixed;inset:68px 0 0 0;background:var(--elder);overflow:auto;padding:12px 20px 40px;z-index:30}
.drawer a{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:1.05rem}
.drawer h4{font-family:var(--fell);font-weight:400;font-size:1.2rem;margin:22px 0 4px;color:var(--brass)}}
/* mega menu */
.mega{position:relative}.mega>a{padding:24px 0}
.mega .panel{display:none;position:absolute;left:-20px;top:100%;background:var(--elder);border:1px solid var(--line);padding:22px 26px;gap:40px;width:max-content}
.mega:hover .panel,.mega:focus-within .panel{display:flex}
.panel h4{font-family:var(--fell);font-weight:400;font-size:1.15rem;color:var(--brass);margin:0 0 8px}
.panel a{display:block;padding:4px 0}
/* buttons */
.btn{display:inline-block;background:var(--hawthorn);color:var(--elder);border:0;border-radius:3px;padding:13px 22px;font:500 .98rem var(--sans);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--hawthorn-2)}.btn.berry{background:var(--berry)}.btn.ghost{background:none;color:var(--hawthorn);border:1px solid var(--hawthorn)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
/* hero almanac */
.almanac{background:var(--hawthorn);color:var(--elder);overflow:hidden}
.almanac .wrap{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;padding-top:56px;padding-bottom:56px;align-items:center}
.almanac h1{color:var(--elder);max-width:14ch}
.almanac p{color:#D4DDCF;font-size:1.08rem}
.almanac .date{font-family:var(--fell);font-size:1.15rem;color:#E9D4A2;margin-bottom:14px}
.moonbox{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;border-top:1px solid #4B6656;padding-top:22px;margin-top:26px}
.moonbox svg{width:150px;height:150px}
.moonbox .ph{font-family:var(--fell);font-size:1.5rem;color:var(--elder)}
.moonbox small{color:#B9C6B6;display:block;font-size:.9rem}
.festival{background:#1B3024;border:1px solid #3E5A49;padding:26px}
.festival .days{font-family:var(--fell);font-size:4.2rem;line-height:1;color:#E9D4A2}
.festival h2{color:var(--elder);font-size:1.9rem;margin:.2em 0 .4em}
.festival p{font-size:.98rem}
.festival .picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px}
.festival .picks img{aspect-ratio:1;object-fit:cover;background:var(--elder)}
.festival .picks a{text-decoration:none;font-size:.8rem;color:#D4DDCF;line-height:1.3}
@media(max-width:860px){.almanac .wrap{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px}.moonbox{grid-template-columns:100px 1fr}.moonbox svg{width:100px;height:100px}}
/* sections */
section.s{padding:56px 0}section.s.alt{background:var(--elder)}
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.shead h2{margin:0}.shead a{color:var(--berry);font-size:.95rem}
.lead{font-size:1.1rem;color:var(--muted)}
/* needs row */
.needs{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
.needs a{background:var(--elder);padding:22px 18px 20px;text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:150px}
.needs a:hover{background:#fff}
.needs .nm{font-family:var(--fell);font-size:1.4rem;color:var(--hawthorn);line-height:1.15}
.needs .ds{font-size:.88rem;color:var(--muted)}
.needs svg{width:34px;height:34px;color:var(--berry)}
@media(max-width:900px){.needs{grid-template-columns:1fr 1fr}.needs a:last-child{grid-column:span 2}}
/* type tiles */
.types{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.types a{text-decoration:none}
.types img{aspect-ratio:4/5;object-fit:cover;width:100%;background:var(--elder)}
.types span{display:block;font-family:var(--fell);font-size:1.3rem;margin-top:8px}
.types small{color:var(--muted)}
@media(max-width:760px){.types{grid-template-columns:1fr 1fr;gap:14px}}
/* product grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.grid{grid-template-columns:1fr 1fr;gap:22px 12px}}
.card{text-decoration:none;display:flex;flex-direction:column}
.card .im{background:var(--elder);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;position:relative}
.card .im img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.card .nm{margin-top:10px;font-size:.94rem;line-height:1.35}
.card .pr{margin-top:4px;font-weight:500;color:var(--hawthorn)}
.card .low{position:absolute;left:8px;top:8px;background:var(--berry);color:#fff;font-size:.72rem;padding:3px 7px;border-radius:2px}
.card .oos{position:absolute;inset:0;background:rgba(248,249,243,.72);display:grid;place-items:center;font-size:.85rem;color:var(--muted)}
/* category page */
.crumbs{font-size:.86rem;color:var(--muted);padding:18px 0 0}.crumbs a{color:var(--muted)}
.cathead{padding:18px 0 26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.filters select{font:inherit;padding:9px 10px;border:1px solid var(--line);background:var(--elder);border-radius:3px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chips a{border:1px solid var(--line);background:var(--elder);padding:6px 12px;border-radius:20px;font-size:.88rem;text-decoration:none}
.chips a.on{background:var(--hawthorn);color:var(--elder);border-color:var(--hawthorn)}
.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:40px 0 10px}
.pager a,.pager span{min-width:40px;padding:8px 12px;border:1px solid var(--line);text-align:center;text-decoration:none;background:var(--elder)}
.pager span{background:var(--hawthorn);color:var(--elder);border-color:var(--hawthorn)}
/* product page */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;padding:26px 0 50px}
.pdp .gal{background:var(--elder);aspect-ratio:1;display:grid;place-items:center}
.pdp .gal img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pdp h1{font-size:clamp(1.8rem,3.4vw,2.7rem)}
.pdp .price{font-size:1.6rem;color:var(--hawthorn);font-weight:500;margin:6px 0 14px}
.stock{font-size:.92rem;margin-bottom:16px;display:flex;gap:8px;align-items:center}
.stock i{width:9px;height:9px;border-radius:50%;background:#4F8A5B;display:inline-block}
.stock.low i{background:#C9822B}.stock.out i{background:var(--berry)}
.qty{display:flex;gap:10px;margin-bottom:18px}
.qty input{width:70px;font:inherit;padding:11px;border:1px solid var(--line);background:var(--elder);text-align:center}
.qty .btn{flex:1}
.giftnote{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 18px}.tags a{font-size:.82rem;color:var(--berry)}
.desc{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.desc h3{font-size:1.2rem}
.spec{font-size:.92rem;color:var(--muted)}.spec dt{float:left;width:110px;color:var(--ink)}.spec dd{margin:0 0 6px 110px}
.note{font-size:.82rem;color:var(--muted);font-style:italic}
@media(max-width:820px){.pdp{grid-template-columns:1fr;gap:22px}}
/* prose */
.prose{max-width:720px;padding:20px 0 60px}.prose p,.prose li{font-size:1.05rem}
.prose h2{margin-top:1.4em}.prose a{color:var(--berry)}
/* basket */
.bline{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.bline img{width:80px;height:80px;object-fit:contain;background:var(--elder)}
.bline .ctl{display:flex;gap:6px;align-items:center;margin-top:6px}
.bline button{background:var(--elder);border:1px solid var(--line);width:30px;height:30px;cursor:pointer}
.bline .rm{background:none;border:0;color:var(--berry);width:auto;font-size:.85rem;text-decoration:underline}
.totals{background:var(--elder);padding:22px;margin-top:22px}
.totals div{display:flex;justify-content:space-between;padding:4px 0}.totals .g{font-size:1.25rem;font-weight:500;border-top:1px solid var(--line);margin-top:8px;padding-top:10px}
.gift{margin:14px 0}.gift textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line);min-height:70px}
.msg{padding:12px 14px;background:#F6E4E6;color:var(--berry);margin:12px 0;font-size:.95rem}
/* quiz */
.quiz{max-width:760px;padding:30px 0 60px}
.quiz .q{font-family:var(--fell);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:18px}
.opts{display:grid;gap:10px}
.opts button{text-align:left;background:var(--elder);border:1px solid var(--line);padding:16px 18px;font:inherit;cursor:pointer;border-radius:3px}
.opts button:hover,.opts button:focus-visible{border-color:var(--hawthorn);background:#fff}
.progress{font-size:.88rem;color:var(--muted);margin-bottom:10px}
/* calendar / lists */
.cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.cal div{background:var(--elder);padding:14px;text-align:center}.cal svg{width:56px;height:56px;margin:0 auto 6px}
.cal b{display:block;font-weight:500}.cal small{color:var(--muted)}
.sabbats{display:grid;gap:2px;background:var(--line);border:1px solid var(--line)}
.sabbat{background:var(--elder);padding:26px;display:grid;grid-template-columns:180px 1fr;gap:28px}
.sabbat .when{font-family:var(--fell);font-size:1.25rem;color:var(--brass)}
.sabbat.next{background:#fff;outline:2px solid var(--berry);outline-offset:-2px}
@media(max-width:700px){.sabbat{grid-template-columns:1fr;gap:6px}}
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.mini a{font-size:.82rem;text-decoration:none;line-height:1.3}.mini img{aspect-ratio:1;object-fit:contain;background:var(--lichen);mix-blend-mode:multiply;margin-bottom:4px}
.lib{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
.lib a{background:var(--elder);padding:20px;text-decoration:none}.lib a:hover{background:#fff}
.lib b{font-family:var(--fell);font-weight:400;font-size:1.35rem;display:block;color:var(--hawthorn)}
.lib small{color:var(--muted)}
@media(max-width:760px){.lib{grid-template-columns:1fr 1fr}}
.bundle{display:grid;grid-template-columns:1fr 1.3fr;gap:28px;background:var(--elder);padding:26px;margin-bottom:22px}
.bundle .ims{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bundle .ims img{aspect-ratio:1;object-fit:contain;background:var(--lichen);mix-blend-mode:multiply}
.bundle ul{padding-left:18px;margin:0 0 12px}.was{text-decoration:line-through;color:var(--muted);margin-right:8px}
@media(max-width:760px){.bundle{grid-template-columns:1fr}}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.posts a{text-decoration:none}.posts b{font-family:var(--fell);font-weight:400;font-size:1.4rem;display:block;line-height:1.2;margin:6px 0}
.posts small{color:var(--brass)}.posts p{color:var(--muted);font-size:.95rem}
@media(max-width:760px){.posts{grid-template-columns:1fr}}
.story{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.story .sprig{color:var(--hawthorn);max-width:360px}
@media(max-width:760px){.story{grid-template-columns:1fr;gap:28px}.story .sprig{max-width:110px}}
/* signup + footer */
.signup{background:var(--berry);color:#fff;padding:44px 0}
.signup .wrap{display:flex;gap:30px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.signup h2{margin:0 0 4px}.signup p{margin:0;color:#F3D6DA}
.signup form{display:flex;gap:8px;flex:1;max-width:460px;min-width:260px}
.signup input{flex:1;font:inherit;padding:12px;border:0;border-radius:3px}
.signup .btn{background:var(--ink)}
footer{background:var(--ink);color:#C7D0C6;padding:50px 0 30px;font-size:.92rem}
footer .cols{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:30px}
footer h4{font-family:var(--fell);font-weight:400;font-size:1.2rem;color:#fff;margin:0 0 10px}
footer a{display:block;text-decoration:none;padding:3px 0}footer a:hover{color:#fff}
footer .fine{border-top:1px solid #2E3A33;margin-top:36px;padding-top:18px;font-size:.82rem;color:#8E9A90}
@media(max-width:760px){footer .cols{grid-template-columns:1fr 1fr}}
/* search */
.searchbox{display:flex;gap:8px;margin:10px 0 24px}.searchbox input{flex:1;font:inherit;font-size:1.1rem;padding:14px;border:1px solid var(--line);background:var(--elder)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:3px;transition:transform .25s;z-index:50;font-size:.95rem}
.toast.show{transform:translateX(-50%) translateY(0)}.toast a{color:#F1D9A0;margin-left:10px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.filters label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);gap:4px}
.filters input{font:inherit;font-size:1rem;padding:9px 10px;border:1px solid var(--line);background:var(--elder);border-radius:3px;min-width:180px}
.filters select{font-size:1rem}
.filters .clear{align-self:flex-end;background:none;border:0;color:var(--berry);text-decoration:underline;cursor:pointer;padding:10px 4px;font:inherit}
.fcount{color:var(--muted);font-size:.9rem;margin:-6px 0 18px}
.subchips small{color:var(--muted);margin-left:2px}.subchips a.on small{color:#C9D6CB}
@media(max-width:640px){.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filters .fsearch{grid-column:span 2}.filters input{min-width:0;width:100%}.filters select{width:100%}
.subchips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-left:-20px;margin-right:-20px;padding-left:20px;scrollbar-width:none}.subchips a{white-space:nowrap}}

.gbar{background:var(--elder);padding:16px;border:1px solid var(--line)}
.boxbtn{margin-top:8px;background:var(--elder);border:1px solid var(--hawthorn);color:var(--hawthorn);padding:8px;font:inherit;font-size:.88rem;cursor:pointer;border-radius:3px;width:100%}
.boxbtn.in{background:var(--hawthorn);color:var(--elder)}
.boxtray{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fff;z-index:40;padding:12px 0}
.boxtray .wrap{display:flex;align-items:center;gap:14px}
.slots{display:flex;gap:6px}.slots img,.slots span{width:48px;height:48px;background:#2E3A33;object-fit:contain;border:1px dashed #5B6B60;display:block}
.boxinfo{display:flex;flex-direction:column;font-size:.9rem;flex:1}.boxinfo s{color:#99A69C;margin-right:4px}
.boxtray .clear{color:#C7D0C6;background:none;border:0;text-decoration:underline;cursor:pointer;font:inherit}
@media(max-width:640px){.boxtray .wrap{flex-wrap:wrap}.boxtray .btn{flex:1}.slots img,.slots span{width:40px;height:40px}}
div.card>a{text-decoration:none;display:flex;flex-direction:column}
#ggrid{padding-bottom:20px}body:has(.boxtray:not([hidden])) footer{padding-bottom:120px}

/* ---- Palette v2: ivory, sage, rose & champagne ---- */
header.top{background:var(--lichen)}
.btn{border-radius:999px;padding:13px 26px}.btn:hover{background:var(--hawthorn-2)}.btn.berry:hover{background:var(--berry-2)}
.btn.ghost:hover{background:var(--palesage)}
.filters select,.filters input,.searchbox input,.qty input,.gift textarea,.signup input{border-radius:12px}
.opts button,.boxbtn{border-radius:999px}.bline button{border-radius:50%}.bline .rm{border-radius:0}
.card .im,.types img,.pdp .gal,.mini img,.bundle .ims img,.festival .picks img,.bline img{border-radius:14px}
.card .low{border-radius:999px}.msg,.totals,.gbar,.bundle{border-radius:16px}
.needs,.lib,.sabbats,.cal{border-radius:16px;overflow:hidden}
.pager a,.pager span{border-radius:999px}
section.s.alt{background:var(--palesage)}section.s.pink{background:var(--powder)}
.bar{background:var(--hawthorn)}.bar b{color:var(--blush)}
.panel h4,.drawer h4{color:var(--berry)}
.almanac{background:var(--palesage);color:var(--ink)}
.almanac h1{color:var(--hawthorn)}.almanac p{color:var(--muted)}.almanac .date{color:var(--berry)}
.moonbox{border-top-color:#C9D3C6}.moonbox .ph{color:var(--hawthorn)}.moonbox small{color:var(--muted)}.moonbox a{color:var(--berry)!important}
.almanac .btn.ghost{color:var(--hawthorn)!important;border-color:var(--hawthorn)!important}
.festival{background:var(--hawthorn);border:0;border-radius:20px;color:var(--elder)}
.festival .days{color:var(--blush)}.festival p,.festival .picks a{color:#DCE4DA}
.festival .picks img{background:var(--elder)}
.needs a{background:var(--lichen)}.needs a:hover{background:var(--powder)}.needs .nm{color:var(--hawthorn)}
.needs svg{color:var(--brass)}
.lib a{background:var(--lichen)}.lib a:hover{background:var(--powder)}
.sabbat{background:var(--lichen)}.sabbat.next{background:var(--powder);outline-color:var(--berry)}
.sabbat .when{color:var(--berry)}
.chips a{background:var(--lichen)}.chips a.on{background:var(--hawthorn)}
.signup{background:var(--berry)}.signup .btn{background:var(--hawthorn)}.signup p{color:#FBE9EE}
footer{background:var(--hawthorn);color:#DCE4DA}footer .fine{border-top-color:#4D6A5A;color:#B9C7BC}footer a:hover{color:var(--blush)}
.posts small{color:var(--berry)}
.card .pr,.pdp .price{color:var(--hawthorn)}
.stock i{background:#5E8A63}
.toast{border-radius:999px;background:var(--hawthorn)}.toast a{color:var(--blush)}
.boxtray{background:var(--hawthorn)}.slots img,.slots span{border-radius:10px;background:#4D6A5A;border-color:#7E9585}
.story .sprig{color:var(--hawthorn)}
.gbar{background:var(--powder);border-color:var(--blush)}
/* product page: Safari-safe layout */
.pdp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:44px}
.pdp>*{min-width:0}
.pdp .gal{aspect-ratio:auto;display:block;position:sticky;top:90px;border-radius:18px;overflow:hidden;background:var(--elder);max-width:620px}
.pdp .gal img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;display:block}
.pdp .desc{overflow-wrap:anywhere}
.qty{flex-wrap:wrap}.qty .btn{min-width:180px}
.card .im{aspect-ratio:auto}.card .im img{aspect-ratio:1/1;height:auto}
@media(max-width:820px){.pdp{grid-template-columns:minmax(0,1fr)}.pdp .gal{position:static;max-width:none}}

.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs .th{padding:0;border:2px solid transparent;border-radius:12px;background:var(--elder);cursor:pointer;width:72px;height:72px;overflow:hidden}
.thumbs .th img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.thumbs .th.on{border-color:var(--hawthorn)}
@media(max-width:640px){.thumbs{flex-wrap:nowrap;overflow-x:auto}.thumbs .th{flex:0 0 64px;height:64px}}

.authbox{display:grid;gap:10px;max-width:420px;background:var(--elder);padding:22px;border-radius:18px}
.authbox input{font:inherit;font-size:1.05rem;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.authbox label{font-size:.9rem;color:var(--muted)}.linkbtn{background:none;border:0;color:var(--berry);text-decoration:underline;cursor:pointer;font:inherit;justify-self:start}
.okmsg{padding:12px 14px;background:var(--palesage);border-radius:12px}
.box2{background:var(--palesage);border-radius:16px;padding:16px 18px;margin-bottom:22px}
.ord{background:var(--elder);border-radius:18px;padding:18px;margin:0 0 14px}
.oh{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.oh .pill{background:var(--palesage);border-radius:999px;padding:3px 12px;font-size:.88rem}
.oi{display:grid;gap:8px;margin:10px 0 14px}.oi a{display:flex;gap:10px;align-items:center;text-decoration:none}
.oi img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:10px}

/* gallery: photo + thumbnails stick together */
.pdp .gal{position:static;max-width:none}
.pdp .media{position:sticky;top:88px;align-self:start;max-width:620px;width:100%}
.pdp .gal img{max-height:calc(100vh - 230px);margin:0 auto}
.thumbs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;position:relative;z-index:1;background:var(--lichen)}
.thumbs .th{flex:0 0 72px}
@media(max-height:700px),(max-width:820px){.pdp .media{position:static;max-width:none}.pdp .gal img{max-height:none}}

/* product cards: add to basket + quick view */
.card{position:relative}
.card>a.cl{text-decoration:none;display:flex;flex-direction:column;color:inherit}
.card .qv{position:absolute;top:8px;right:8px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,253,249,.92);color:var(--hawthorn);display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 4px rgba(47,52,48,.15)}
.card .qv svg{width:19px;height:19px}.card .qv:hover{background:var(--hawthorn);color:#fff}
.card .buy{display:flex;gap:6px;margin-top:8px;align-items:stretch}
.card .step{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;flex:0 0 auto}
.card .step button{width:30px;border:0;background:none;font-size:1.05rem;cursor:pointer;color:var(--hawthorn)}
.card .step input{width:34px;border:0;text-align:center;font:inherit;font-size:.92rem;-moz-appearance:textfield;padding:0}
.card .step input::-webkit-inner-spin-button{-webkit-appearance:none}
.card .addc{flex:1;border:0;border-radius:999px;background:var(--hawthorn);color:#fff;font:500 .9rem var(--sans);padding:9px 10px;cursor:pointer;min-height:38px}
.card .addc:hover{background:var(--hawthorn-2)}.card .addc[disabled]{background:#B8BEB6;cursor:not-allowed}
@media(max-width:640px){.card .buy{flex-direction:column}.card .step{justify-content:space-between}.card .step input{flex:1}}
.qview{border:0;border-radius:22px;padding:0;max-width:920px;width:calc(100% - 24px);max-height:calc(100vh - 40px);background:var(--lichen);color:var(--ink)}
.qview::backdrop{background:rgba(47,52,48,.45)}
.qin{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px;position:relative}
.qclose{position:absolute;top:10px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:var(--elder);font-size:1.5rem;cursor:pointer;z-index:2}
.qview .gal{background:var(--elder);border-radius:16px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.qview .gal img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.qview h2{font-size:1.8rem;margin:4px 40px 6px 0}.qview .price{font-size:1.4rem;color:var(--hawthorn);font-weight:500;margin-bottom:10px}
.qview .qty{display:flex;gap:10px;margin:12px 0}.qview .qty input{width:70px;font:inherit;padding:10px;border:1px solid var(--line);border-radius:12px;text-align:center}
.qdesc{font-size:.95rem}.qdesc h4{font-family:var(--fell);font-weight:400;font-size:1.15rem;margin:10px 0 4px}.qdesc ul{padding-left:18px;margin:0 0 8px}
.qmore{color:var(--berry)}
@media(max-width:700px){.qin{grid-template-columns:1fr;padding:18px;gap:14px}}
/* price left, quantity + add on the right */
.card{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px}
.card>a.cl,.card>.boxbtn{grid-column:1/-1}
.card .pr{grid-column:1;margin-top:8px}
.card .buy{grid-column:2;justify-self:end;margin-top:8px;flex-direction:row}
.card .addc{flex:0 0 auto;padding:9px 14px}
@media(max-width:1100px) and (min-width:641px){.card .step button{width:26px}.card .step input{width:28px}.card .addc{padding:9px 11px}}
@media(max-width:640px){.card .pr{grid-column:1/-1}.card .buy{grid-column:1/-1;justify-self:stretch}.card .addc{flex:1}}

.guide{max-width:820px;padding:40px 0 10px;border-top:1px solid var(--line);margin-top:40px}
.guide h2{font-size:1.6rem;margin-top:1.2em}.guide a{color:var(--berry)}
.faq{max-width:820px;padding:10px 0 50px}.faq h2{font-size:1.6rem}
.faq details{background:var(--elder);border-radius:14px;padding:4px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;padding:12px 0;font-weight:500;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--berry);font-size:1.2rem}.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 14px;color:var(--muted)}
.prose ul{padding-left:20px}

/* Ritual Finder */
button{color:inherit}
.qz-hero{background:var(--palesage);padding:46px 0 120px;text-align:center}
.qz-hero h1{color:var(--hawthorn);margin-bottom:.3em}.qz-hero .lead{margin:0 auto;max-width:46ch}
.qz-kicker{font-family:var(--fell);font-style:italic;color:var(--berry);font-size:1.15rem;margin:0 0 6px}
.qz{max-width:860px;margin:-90px auto 70px;background:var(--lichen);border-radius:28px;padding:30px 34px 36px;box-shadow:0 18px 50px rgba(56,83,68,.12);position:relative}
.qz.in{animation:qzin .35s ease}@keyframes qzin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.qz-top{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.qz-bar{flex:1;height:6px;background:var(--palesage);border-radius:999px;overflow:hidden}.qz-bar span{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--hawthorn),var(--berry));border-radius:999px;transition:width .4s ease}
.qz-count{font-size:.9rem;color:var(--muted);white-space:nowrap}
.qz-back{background:none;border:0;color:var(--hawthorn);font:500 .95rem var(--sans);cursor:pointer;padding:6px 4px}.qz-back::before{content:"‹ ";font-size:1.2em}
.qz-q{font-family:var(--fell);font-weight:400;font-size:clamp(1.9rem,3.6vw,2.7rem);color:var(--ink);margin:0 0 24px;outline:none;line-height:1.15}
.qz-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qz-opts.five .qz-opt:last-child{grid-column:1/-1}
.qz-opt{display:flex;align-items:center;gap:16px;text-align:left;background:var(--elder);border:1.5px solid transparent;border-radius:20px;padding:18px 20px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s,background .15s,transform .15s}
.qz-opt:hover,.qz-opt:focus-visible{border-color:var(--hawthorn);background:#fff;transform:translateY(-1px)}
.qz-opt.on{border-color:var(--berry);background:var(--powder)}
.qz-ic{flex:0 0 52px;height:52px;border-radius:50%;background:var(--palesage);display:grid;place-items:center;color:var(--hawthorn)}
.qz-opt:hover .qz-ic,.qz-opt.on .qz-ic{background:var(--hawthorn);color:#fff}
.qz-ic svg{width:30px;height:30px}
.qz-t{font-family:var(--fell);font-size:1.3rem;line-height:1.2}
.qz-res{text-align:center;padding:40px 0 30px;max-width:720px;margin:0 auto}.qz-res h1{color:var(--hawthorn)}
@media(max-width:700px){.qz{padding:22px 18px 26px;border-radius:22px;margin-top:-70px}.qz-opts{grid-template-columns:1fr}.qz-hero{padding:34px 0 100px}.qz-t{font-size:1.15rem}.qz-ic{flex-basis:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.qz.in{animation:none}}
.qz-hero p,.qz-res p{margin-left:auto;margin-right:auto}
/* spacing between side-by-side buttons */
p:has(> .btn + .btn),p:has(> .btn + button.btn),.ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media(max-width:640px){p:has(> .btn + .btn) .btn,p:has(> .btn + button.btn) .btn,.ctas .btn{flex:1 1 100%;text-align:center;padding:15px 22px}}
.qz-res p:has(> .btn + button.btn){justify-content:center}

/* festival / meaning / zodiac cards */
.sabbats{background:none;border:0;border-radius:0;overflow:visible;display:grid;gap:18px}
.sabbat{background:var(--elder);border-radius:22px;padding:28px 30px;outline:0}
.sabbat .nextlabel{display:none}
.sabbat.next{background:var(--hawthorn);color:#F3F1EA;outline:0;box-shadow:0 16px 40px rgba(56,83,68,.18)}
.sabbat.next h2{color:#fff}.sabbat.next .when{color:var(--blush)}.sabbat.next p{color:#DCE4DA}
.sabbat.next .nextlabel{display:inline-block;background:var(--blush);color:var(--hawthorn);font-size:.78rem;font-weight:500;letter-spacing:.02em;padding:4px 12px;border-radius:999px;margin-bottom:10px}
.sabbat.next .mini a{color:#F3F1EA}.sabbat.next .mini img{background:#fff}
.mini{gap:14px}.mini a{font-size:.86rem;line-height:1.35}.mini img{border-radius:14px;background:var(--lichen)}
.mini b{font-weight:500}
@media(max-width:700px){.sabbat{padding:22px 20px;border-radius:20px}.mini{grid-template-columns:1fr 1fr;gap:14px 12px}}
.sabbat.next .mini img{mix-blend-mode:normal;background:#fff}

/* Journal */
.jhero{background:var(--palesage);padding:50px 0 44px;text-align:center}.jhero h1{color:var(--hawthorn);max-width:26ch;margin:0 auto .35em;font-size:clamp(2rem,4.4vw,3.2rem)}.jhero p{margin-left:auto;margin-right:auto}
.jcover{background:var(--bg);color:var(--fg);border-radius:20px;aspect-ratio:16/10;display:grid;place-items:center;position:relative;overflow:hidden}
.jcover::before,.jcover::after{content:"";position:absolute;border-radius:50%;border:1px solid currentColor;opacity:.18}
.jcover::before{width:70%;aspect-ratio:1;left:-12%;top:-30%}.jcover::after{width:45%;aspect-ratio:1;right:-10%;bottom:-25%}
.jcover svg{width:34%;max-width:130px;position:relative}
.jcover.big{aspect-ratio:4/3}.jcover.big svg{width:42%;max-width:190px}
.jtag{display:inline-block;background:var(--powder);color:var(--berry-2);font-size:.78rem;font-weight:500;padding:4px 12px;border-radius:999px}
.jfeat{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;text-decoration:none;background:var(--elder);border-radius:28px;padding:22px;margin:40px 0 30px}
.jfeat h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--hawthorn);margin:12px 0 10px}.jfeat p{color:var(--muted);font-size:1.05rem}
.jread{color:var(--berry);font-weight:500}.jfeat:hover h2{color:var(--berry-2)}
.jchips{margin:10px 0 24px}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.jcard{text-decoration:none;display:flex;flex-direction:column;gap:10px}
.jcard .jmeta{display:flex;gap:10px;align-items:center;font-size:.85rem;color:var(--muted);margin-top:4px}
.jcard h3{font-size:1.4rem;color:var(--ink);margin:0;line-height:1.2}.jcard p{color:var(--muted);font-size:.95rem;margin:0}
.jcard:hover h3{color:var(--berry)}.jcard:hover .jcover{transform:translateY(-2px)}.jcover{transition:transform .2s}
.ahero{background:var(--bg);color:var(--fg)}.ahero-in{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding-top:30px;padding-bottom:40px}
.ahero h1{color:var(--fg);margin:14px 0 10px;font-size:clamp(2rem,4.4vw,3.2rem)}.ahero .lead{color:inherit;opacity:.85}.ahero .crumbs,.ahero .crumbs a{color:inherit;opacity:.8}
.ahero .jcover{background:rgba(255,255,255,.35)}
.article{max-width:700px;margin:0 auto;padding:40px 0 30px}
.article>p:first-of-type::first-letter{font-family:var(--fell);float:left;font-size:4.2em;line-height:.85;padding:6px 10px 0 0;color:var(--berry)}
.article h2{color:var(--hawthorn);font-size:1.75rem;margin-top:1.6em}.article h2::before{content:"";display:block;width:36px;height:2px;background:var(--brass);margin-bottom:12px}
.article li{margin-bottom:6px}.article a{color:var(--berry)}
@media(max-width:900px){.jgrid{grid-template-columns:1fr 1fr}.jfeat,.ahero-in{grid-template-columns:1fr}.ahero .jcover{display:none}}
@media(max-width:600px){.jgrid{grid-template-columns:1fr}.jfeat{padding:14px;gap:16px;border-radius:22px}}
.jfeat .jcover.big{aspect-ratio:16/11}

/* ===== photography ===== */
.hero{position:relative;background:var(--elder);overflow:hidden;min-height:clamp(460px,62vh,640px);display:flex;align-items:center}
.hero .hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,249,.94) 0%,rgba(255,253,249,.82) 32%,rgba(255,253,249,.25) 58%,rgba(255,253,249,0) 72%);z-index:1}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-t{max-width:560px;padding:48px 0}
.hero h1{color:var(--hawthorn);font-size:clamp(2.4rem,5vw,3.9rem);line-height:1.05;margin:.1em 0 .35em;max-width:13ch}
.hero p{color:var(--ink);font-size:1.12rem;max-width:42ch}
.hero .date{font-family:var(--fell);font-size:1.15rem;color:var(--berry)}
.hero .hbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero .btn.ghost{color:var(--hawthorn);border:1.5px solid var(--hawthorn);background:rgba(255,253,249,.6)}
.alm-h{color:var(--elder);font-size:clamp(1.7rem,3vw,2.3rem);margin:0 0 18px}
@media(max-width:820px){
 .hero{display:block;min-height:0}
 .hero .hbg{position:relative;height:auto;aspect-ratio:4/3;object-position:62% 50%}
 .hero::before{display:none}
 .hero-t{padding:26px 0 34px;max-width:none}
 .hero .hbtns .btn{flex:1;text-align:center}
}
.pbanner{margin:6px 0 4px;border-radius:24px;overflow:hidden;aspect-ratio:4/1;background:var(--palesage)}
.pbanner img{width:100%;height:100%;object-fit:cover;display:block}
article.prose .pbanner{aspect-ratio:16/8;margin:14px 0 26px}
@media(max-width:700px){.pbanner{aspect-ratio:16/8;border-radius:18px}}
.needs{gap:16px;background:none;border:0}
.needs a{padding:0;border-radius:20px;overflow:hidden;min-height:0;background:var(--elder);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.needs a:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(47,52,48,.08);background:var(--elder)}
.needs .nimg{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.needs .nt{padding:14px 16px 18px;display:flex;flex-direction:column;gap:4px}
.needs a:has(.nimg) svg{display:none}
@media(max-width:900px){.needs{gap:12px}}
.types img{border-radius:20px;aspect-ratio:4/5;object-fit:cover;transition:transform .3s}
.types a:hover img{transform:scale(1.02)}
@media(min-width:761px){.types{grid-template-columns:repeat(4,1fr)}}
.story .simg,.whyimg img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px;display:block;margin-bottom:22px}
.whyimg img{aspect-ratio:4/5;margin:0}
@media(max-width:760px){.whyimg img{aspect-ratio:3/2}}
.jcover.photo{background:var(--palesage);display:block}
.jcover.photo::before,.jcover.photo::after{display:none}
.jcover.photo img{width:100%;height:100%;object-fit:cover;display:block}
.ahero .jcover.photo{background:var(--palesage)}
@media(max-width:900px){.ahero .jcover.photo{display:block;aspect-ratio:16/10;order:-1}}
.qz-hero.img{position:relative;overflow:hidden;padding:120px 0 150px}
.qz-hero .qbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qz-hero.img::before{content:"";position:absolute;inset:0;background:rgba(255,253,249,.72);z-index:1}
.qz-hero.img .wrap{position:relative;z-index:2}
@media(max-width:700px){.qz-hero.img{padding:60px 0 110px}}
.sabbat .sabimg{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;display:block;margin-bottom:14px}
.sabbat.wimg{grid-template-columns:260px 1fr}
@media(max-width:700px){.sabbat.wimg{grid-template-columns:1fr}}
.festival .fimg{width:calc(100% + 52px);margin:-26px -26px 18px;aspect-ratio:16/9;object-fit:cover;display:block;max-width:none}
.festival{overflow:hidden}
.festival .fimg,.sabbat .sabimg,.needs .nimg,.story .simg,.whyimg img,.types img,.hero-t img{height:auto}
.alm-h{color:var(--hawthorn)}
.almanac .wrap{align-items:start}

/* ===== text on image heroes ===== */
@media(max-width:820px){
 .hero{display:flex;align-items:flex-end;min-height:calc(100svh - 150px);max-height:none}
 .hero .hbg{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:78% 30%}
 .hero::before{display:block;background:linear-gradient(0deg,rgba(255,253,249,.97) 0%,rgba(255,253,249,.9) 38%,rgba(255,253,249,.45) 60%,rgba(255,253,249,0) 78%)}
 .hero-t{padding:0 0 30px}
 .hero h1{font-size:clamp(2.3rem,10.5vw,3rem);max-width:12ch}
 .hero p{font-size:1.02rem}
 .hero .hbtns{margin-top:18px}
}
.cathead.onimg{position:relative;overflow:hidden;border-radius:26px;border:0;padding:56px 48px;min-height:360px;display:flex;flex-direction:column;justify-content:center;margin:8px 0 28px;background:var(--palesage)}
.cathead.onimg .chimg{position:absolute;inset:0;margin:0;z-index:0}
.cathead.onimg .chimg img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;display:block}
.cathead.onimg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,253,249,.95) 0%,rgba(255,253,249,.86) 34%,rgba(255,253,249,.35) 60%,rgba(255,253,249,0) 78%)}
.cathead.onimg>*:not(.chimg){position:relative;z-index:2;max-width:560px}
.cathead.onimg h1{color:var(--hawthorn);font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.08;margin:0 0 .3em}
.cathead.onimg .lead{color:var(--ink)}
@media(max-width:760px){
 .cathead.onimg{min-height:440px;justify-content:flex-end;padding:24px 20px 24px;border-radius:20px;margin-left:-4px;margin-right:-4px}
 .cathead.onimg::before{background:linear-gradient(0deg,rgba(255,253,249,.97) 0%,rgba(255,253,249,.9) 45%,rgba(255,253,249,.3) 70%,rgba(255,253,249,0) 85%)}
 .cathead.onimg .lead{font-size:.98rem}
}
.jhero.img{position:relative;overflow:hidden;padding:120px 0 110px}
.jhero .jbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 70%}
.jhero.img::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 45%,rgba(255,253,249,.92) 0%,rgba(255,253,249,.78) 45%,rgba(255,253,249,.25) 80%)}
.jhero.img .wrap{position:relative;z-index:2}
.jhero.img p.lead{color:var(--ink)}
@media(max-width:700px){.jhero.img{padding:90px 0 80px;min-height:62svh;display:flex;align-items:center}}
.ahero.onimg{position:relative;overflow:hidden;background:var(--elder);color:var(--hawthorn);min-height:clamp(420px,58vh,600px);display:flex;align-items:center}
.ahero.onimg .abg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.ahero.onimg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,253,249,.95) 0%,rgba(255,253,249,.86) 36%,rgba(255,253,249,.3) 64%,rgba(255,253,249,0) 80%)}
.ahero.onimg .wrap{position:relative;z-index:2;width:100%}
.ahero.onimg .ahero-in{grid-template-columns:minmax(0,600px)}
.ahero.onimg h1{color:var(--hawthorn)}.ahero.onimg .lead{color:var(--ink);opacity:1}
.ahero.onimg .crumbs,.ahero.onimg .crumbs a{color:var(--muted);opacity:1}
.ahero.onimg .jtag{background:rgba(255,253,249,.85)}
@media(max-width:820px){
 .ahero.onimg{align-items:flex-end;min-height:calc(100svh - 160px)}
 .ahero.onimg::before{background:linear-gradient(0deg,rgba(255,253,249,.97) 0%,rgba(255,253,249,.9) 42%,rgba(255,253,249,.35) 66%,rgba(255,253,249,0) 82%)}
 .ahero.onimg .ahero-in{padding-bottom:26px}
}
@media(max-width:820px){.hero::before{background:linear-gradient(0deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.94) 48%,rgba(255,253,249,.7) 60%,rgba(255,253,249,0) 78%)}.hero .hbg{object-position:72% 20%}}
.jhero.img::before{background:radial-gradient(ellipse at 50% 50%,rgba(255,253,249,.88) 0%,rgba(255,253,249,.62) 42%,rgba(255,253,249,.08) 85%)}
/* ===== responsive hardening ===== */
.signup form{min-width:0;width:100%;flex:1 1 300px}
.signup input{min-width:0;width:100%}
.signup .btn{flex:0 0 auto;width:auto;white-space:nowrap}
img,video,svg{max-width:100%}
html,body{overflow-x:clip}
@media(max-width:400px){
 .logo{font-size:1.45rem;gap:7px}.logo svg{width:24px;height:24px}
 .tools{gap:0}.iconbtn{padding:6px}
}
@media(max-width:340px){.logo{font-size:1.25rem}}
.bundle{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.bundle .ims{grid-template-columns:repeat(3,minmax(0,1fr))}.bundle .ims img{width:100%;height:auto}
@media(max-width:760px){.bundle{grid-template-columns:minmax(0,1fr)}}
/* iPad portrait: keep side overlay layout for heroes */
@media(min-width:601px) and (max-width:820px){
 .hero{display:flex;align-items:center;min-height:540px}
 .hero .hbg{object-position:68% 50%}
 .hero::before{background:linear-gradient(90deg,rgba(255,253,249,.96) 0%,rgba(255,253,249,.88) 42%,rgba(255,253,249,.35) 68%,rgba(255,253,249,0) 85%)}
 .hero-t{padding:40px 0;max-width:430px}
 .hero .hbtns .btn{flex:0 0 auto}
 .ahero.onimg{align-items:center;min-height:500px}
 .ahero.onimg::before{background:linear-gradient(90deg,rgba(255,253,249,.96) 0%,rgba(255,253,249,.88) 45%,rgba(255,253,249,.3) 72%,rgba(255,253,249,0) 88%)}
 .ahero.onimg .ahero-in{grid-template-columns:minmax(0,470px);padding-bottom:40px}
}
/* crystal library cards */
.lib.crlib{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:none;border:0;border-radius:0;overflow:visible}
.lib.crlib a{padding:0;border-radius:20px;overflow:hidden;background:var(--elder);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.lib.crlib a:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(47,52,48,.08);background:var(--elder)}
.crimg{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.crt{padding:12px 14px 16px;display:block}
.lib.crlib b{font-size:1.3rem}
.lib.crlib small{display:block;line-height:1.35;margin-top:2px}
@media(max-width:900px){.lib.crlib{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.lib.crlib{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lib.crlib b{font-size:1.15rem}.crt{padding:10px 12px 14px}}
.sabbat .sabimg[width="820"]{aspect-ratio:1}
/* lighter mobile overlay so photos show */
@media(max-width:760px){
 .cathead.onimg{min-height:470px}
 .cathead.onimg::before{background:linear-gradient(0deg,rgba(255,253,249,.97) 0%,rgba(255,253,249,.9) 34%,rgba(255,253,249,.45) 52%,rgba(255,253,249,0) 66%)}
 .cathead.onimg h1,.cathead.onimg .lead{text-shadow:0 0 14px rgba(255,253,249,.9),0 0 4px rgba(255,253,249,.8)}
}
.crimg,.sabbat .sabimg{height:auto!important}.crimg{flex:none}
/* home hero v3 */
.hero picture{position:absolute;inset:0;display:block}
.hero::before{background:linear-gradient(90deg,rgba(255,253,249,.72) 0%,rgba(255,253,249,.5) 30%,rgba(255,253,249,0) 52%)}
.hero h1{text-shadow:0 1px 18px rgba(255,253,249,.8)}
@media(max-width:600px){
 .hero{display:flex;align-items:flex-start;min-height:max(620px,calc(100svh - 110px))}
 .hero picture,.hero .hbg{position:absolute;inset:0;width:100%;height:100%}
 .hero .hbg{object-fit:cover;object-position:50% 100%;aspect-ratio:auto}
 .hero::before{display:block;background:linear-gradient(180deg,rgba(255,253,249,.55) 0%,rgba(255,253,249,.35) 38%,rgba(255,253,249,0) 55%)}
 .hero-t{padding:34px 0 0}
 .hero .date{font-size:1.05rem}
 .hero h1{font-size:clamp(2.3rem,11vw,3rem);max-width:11ch;margin-bottom:.25em}
 .hero p{font-size:1rem;max-width:30ch}
 .hero .hbtns{position:absolute;left:20px;right:20px;bottom:22px;margin:0;z-index:3}
 .hero .hbtns .btn{flex:1 1 0;padding:14px 10px;text-align:center}
 .hero .btn.ghost{background:rgba(255,253,249,.88)}
}
@media(max-width:600px){.hero .wrap{position:static}.hero-t{position:relative;z-index:2}}
@media(max-width:600px){.hero-t{position:static}.hero-t>*{position:relative;z-index:2}.hero .hbtns{position:absolute;z-index:3}}
@media(max-width:600px){.hero p.hbtns{max-width:none;flex-wrap:nowrap;gap:10px}.hero p.hbtns .btn{flex:1 1 0!important;padding:14px 8px;font-size:.95rem}}
.hero .omen{display:inline-flex;align-items:center;gap:9px;font-family:var(--fell);font-style:italic;font-size:1.12rem;color:var(--berry-2);letter-spacing:.01em;
 background:rgba(255,253,249,.7);border:1px solid rgba(195,164,119,.55);border-radius:999px;padding:6px 16px 6px 12px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);margin-bottom:12px;max-width:100%}
.hero .omen svg{color:var(--brass);flex:none}
.hero .omen:empty{display:none}
@media(max-width:600px){.hero .omen{font-size:.95rem;padding:5px 12px 5px 10px;line-height:1.3}}
/* ===== almanac v3 ===== */
.almanac .wrap{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:32px;align-items:stretch}
.alm-l{display:flex;flex-direction:column;gap:20px;min-width:0}
.alm-k{font-family:var(--fell);font-style:italic;color:var(--berry)!important;font-size:1.1rem;margin:0}
.almanac .alm-h{color:var(--hawthorn);margin:-12px 0 0}
.mooncard{border-radius:24px;padding:28px;color:#F3EFE6;position:relative;overflow:hidden;
 background:radial-gradient(1.5px 1.5px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 78% 12%,#fff9 50%,transparent 51%),radial-gradient(1.2px 1.2px at 64% 70%,#fff6 50%,transparent 51%),radial-gradient(1px 1px at 30% 82%,#fff7 50%,transparent 51%),radial-gradient(1.4px 1.4px at 90% 55%,#fff6 50%,transparent 51%),radial-gradient(1px 1px at 46% 34%,#fff5 50%,transparent 51%),
 radial-gradient(circle at 18% 28%,#2F4A3D 0%,#1C2A23 48%,#141D19 100%)}
.mc-top{display:grid;grid-template-columns:170px minmax(0,1fr);gap:26px;align-items:center}
.mc-moon .rmoon{width:170px;height:170px;display:block;filter:drop-shadow(0 0 26px rgba(246,232,233,.28))}
.mc-k{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.mc-ph{font-family:var(--fell);font-size:clamp(2rem,3.4vw,2.6rem);line-height:1.05;margin:6px 0 8px;color:#FFFDF9}
.mc-meta{color:#C9D3C6;font-size:.95rem}
.almanac .mc-rit{color:#E6E2D8;font-size:1.02rem;margin:22px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-family:var(--fell);font-style:italic;font-size:1.15rem;line-height:1.5}
.mc-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}
.mc-strip div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 8px;text-align:center}
.mc-strip .rmoon{width:46px;height:46px;margin:0 auto 8px;display:block}
.mc-strip b{display:block;font-weight:500;font-size:.88rem;color:#FFFDF9}.mc-strip small{color:#B9C6B6;font-size:.8rem}
.mc-link{display:inline-block;margin-top:18px;color:var(--blush)!important;font-size:.95rem}
.monthcard{background:var(--lichen);border:1px solid var(--line);border-radius:24px;padding:26px 28px}
.mo-h h3{font-size:1.75rem;color:var(--hawthorn);margin:4px 0 6px}.almanac .mo-h p{color:var(--muted);margin:0;font-size:1rem}
.mo-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 0}
.mo-g div{background:var(--elder);border-radius:14px;padding:12px 14px}
.mo-g dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}
.mo-g dd{margin:0;font-family:var(--fell);font-size:1.12rem;color:var(--hawthorn);line-height:1.2}
.mo-g a{color:var(--berry)!important;text-decoration:none;border-bottom:1px solid var(--blush)}
.cal .rmoon{width:64px;height:64px;margin:0 auto 8px;display:block}
.story [data-moon] .rmoon{width:100%;height:auto;filter:drop-shadow(0 0 30px rgba(56,83,68,.25))}
@media(max-width:1100px){.mo-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.almanac .wrap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .mooncard{padding:22px 18px;border-radius:20px}
 .mc-top{grid-template-columns:118px minmax(0,1fr);gap:16px}
 .mc-moon .rmoon{width:118px;height:118px}
 .mc-ph{font-size:1.75rem}.mc-meta{font-size:.86rem}
 .almanac .mc-rit{font-size:1.05rem}
 .mc-strip{gap:6px}.mc-strip div{padding:10px 4px}.mc-strip .rmoon{width:38px;height:38px}.mc-strip b{font-size:.76rem}.mc-strip small{font-size:.72rem}
 .monthcard{padding:20px 18px;border-radius:20px}
}
@media(min-width:861px){.almanac .festival{align-self:start;position:sticky;top:96px}}
.cathead.onimg .alm-k{margin:0 0 6px}
.cathead.onimg .hbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.cathead.onimg .btn.ghost{background:rgba(255,253,249,.75);color:var(--hawthorn);border:1.5px solid var(--hawthorn)}
@media(min-width:761px){.types:has(> a:nth-child(10)){grid-template-columns:repeat(5,minmax(0,1fr))}}
.types small{display:block;font-family:var(--fell);font-style:italic;font-size:1rem;color:var(--muted)}
@media(max-width:760px){
 .cathead.onimg{min-height:0;padding:250px 20px 24px;justify-content:flex-start}
 .cathead.onimg .chimg{bottom:auto;height:300px}
 .cathead.onimg::before{background:linear-gradient(180deg,rgba(255,253,249,0) 0px,rgba(255,253,249,0) 170px,rgba(255,253,249,.9) 255px,var(--lichen) 300px,var(--lichen) 100%)}
 .cathead.onimg{background:var(--lichen);border:1px solid var(--line)}
 .cathead.onimg h1,.cathead.onimg .lead{text-shadow:none}
 .cathead.onimg .hbtns{flex-wrap:nowrap}.cathead.onimg .hbtns .btn{flex:1 1 0!important;text-align:center;padding:13px 8px}
}
.qlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.qlinks a{background:rgba(255,253,249,.85);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.92rem;color:var(--hawthorn);text-decoration:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.qlinks a:hover{background:var(--hawthorn);color:var(--elder);border-color:var(--hawthorn)}
.fcount:empty{display:none}
/* ritual finder v2 */
.qz{z-index:5;border:1px solid rgba(195,164,119,.35);box-shadow:0 30px 70px rgba(47,52,48,.16),0 4px 14px rgba(47,52,48,.06)}
.qz-hero.img{padding:110px 0 170px}
.qz-hero.img::before{background:radial-gradient(ellipse 60% 58% at 50% 46%,rgba(255,253,249,.9) 0%,rgba(255,253,249,.74) 48%,rgba(255,253,249,.12) 100%)}
.qz-hero.img h1{font-size:clamp(2.3rem,5vw,3.8rem);text-shadow:0 1px 20px rgba(255,253,249,.8)}
.qz-hero.img .lead{color:var(--ink)}
.qz-q{color:var(--hawthorn)}
.qz-opt{border:1.5px solid var(--line);background:#fff}
.qz-opt:hover,.qz-opt:focus-visible{box-shadow:0 8px 20px rgba(47,52,48,.07)}
@media(max-width:700px){.qz-hero.img{padding:56px 0 120px}.qz-hero.img::before{background:radial-gradient(ellipse 90% 70% at 50% 45%,rgba(255,253,249,.92) 0%,rgba(255,253,249,.78) 55%,rgba(255,253,249,.2) 100%)}}
.qz-rimg{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px;margin:0 0 24px;box-shadow:0 20px 50px rgba(47,52,48,.12)}
#result:not([hidden])~*{}
.qz-res .qz-rt{font-size:clamp(2.2rem,4.6vw,3.2rem);color:var(--hawthorn);margin:.1em 0 .3em}
/* nine intentions */
.needs{grid-template-columns:repeat(3,minmax(0,1fr))}
.needs .nimg{aspect-ratio:16/9}
@media(max-width:900px){.needs{grid-template-columns:repeat(2,minmax(0,1fr))}.needs a:last-child{grid-column:span 2}.needs a:last-child .nimg{aspect-ratio:21/9}}
/* ===== ritual finder result v2 ===== */
#result{padding-bottom:10px}
.rz-hero{position:relative;overflow:hidden;min-height:clamp(520px,72vh,720px);display:flex;align-items:center;background:var(--elder)}
.rz-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.rz-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,253,249,.96) 0%,rgba(255,253,249,.88) 36%,rgba(255,253,249,.35) 62%,rgba(255,253,249,0) 80%)}
.rz-hero .wrap{position:relative;z-index:2;width:100%}
.rz-t{max-width:560px;padding:50px 0}
.rz-k,.rz-k2{font-family:var(--fell);font-style:italic;color:var(--berry);font-size:1.2rem;margin:0 0 4px}
.rz-h{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.02;color:var(--hawthorn);margin:0 0 14px;text-shadow:0 1px 20px rgba(255,253,249,.7)}
.rz-who{display:inline-block;font-size:.9rem;letter-spacing:.02em;color:var(--hawthorn);background:rgba(255,253,249,.85);border:1px solid rgba(195,164,119,.5);border-radius:999px;padding:6px 14px;margin:0 0 16px}
.rz-d{font-size:1.1rem;color:var(--ink);margin:0 0 24px;max-width:46ch}
.rz-btns{display:flex;gap:12px;flex-wrap:wrap}
.rz-btns .btn.ghost{background:rgba(255,253,249,.8);color:var(--hawthorn);border:1.5px solid var(--hawthorn)}
.rz-again{background:none;border:0;color:var(--muted);font:inherit;font-size:.92rem;text-decoration:underline;cursor:pointer;margin-top:16px;padding:4px 0}
.rz-steps{padding-top:56px;padding-bottom:10px;text-align:center}
.rz-sh{font-family:var(--fell);font-weight:400;font-size:clamp(1.7rem,3vw,2.3rem);color:var(--hawthorn);margin:0 0 6px}
#rsteps{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:left}
#rsteps li{background:var(--lichen);border:1px solid var(--line);border-radius:22px;padding:24px 22px;display:flex;gap:16px;align-items:flex-start}
.rz-n{flex:0 0 44px;height:44px;border-radius:50%;background:var(--palesage);color:var(--hawthorn);display:grid;place-items:center;font-family:var(--fell);font-size:1.4rem}
#rsteps b{display:block;font-family:var(--fell);font-weight:400;font-size:1.3rem;color:var(--hawthorn);margin-bottom:4px}
#rsteps p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.55}
.rz-set{margin-top:50px}
.rz-set .shead{align-items:baseline}
.rz-total{font-family:var(--fell);font-size:1.25rem;color:var(--berry)}
.rz-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){#rsteps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 .rz-hero{display:block;min-height:0}
 .rz-bg{position:relative;height:auto;aspect-ratio:4/3;display:block}
 .rz-hero::before{background:linear-gradient(180deg,rgba(255,253,249,0) 0%,rgba(255,253,249,0) 40%,var(--lichen) 58%)}
 .rz-hero .wrap{margin-top:-90px}
 .rz-t{padding:0 0 34px}
 .rz-h{font-size:2.6rem}
 .rz-btns .btn{flex:1 1 100%;text-align:center}
 .rz-three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .rz-three .card:nth-child(3){grid-column:span 2}
}
@media(max-width:700px){
 .rz-hero::before{display:none}
 .rz-hero .wrap{margin-top:-36px}
 .rz-t{background:var(--lichen);border-radius:26px 26px 0 0;padding:26px 20px 30px;margin:0 -20px;box-shadow:0 -10px 30px rgba(47,52,48,.08)}
 .rz-h{text-shadow:none;font-size:2.5rem}
}
/* ===== homepage v3 order ===== */
.trust{background:var(--lichen);border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:16px;padding-bottom:16px}
.trust .wrap>div{display:flex;align-items:center;gap:10px;justify-content:center;font-size:.92rem;color:var(--muted)}
.trust b{color:var(--hawthorn);font-weight:500}
.trust svg{width:22px;height:22px;color:var(--berry);flex:none}
@media(max-width:860px){.trust .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.trust .wrap>div{justify-content:flex-start;font-size:.84rem}}
.seasonal-s{background:var(--elder)}
.sz-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;margin-bottom:30px}
.sz-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px;display:block}
.sz-t .days{font-family:var(--fell);font-size:clamp(3.4rem,6vw,5rem);line-height:1;color:var(--berry)}
.sz-t h2{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--hawthorn);margin:.15em 0 .35em}
.sz-t .lead{color:var(--muted);margin-bottom:22px}
.sz-picks{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:860px){.sz-top{grid-template-columns:minmax(0,1fr);gap:20px}.sz-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.alm-wrap{display:block!important}
.alm-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:stretch}
.alm-grid .monthcard{display:flex;flex-direction:column;justify-content:center}
.alm-grid .mo-g{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.alm-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .swipe{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .swipe::-webkit-scrollbar{display:none}
 .swipe>a{flex:0 0 64%;scroll-snap-align:start;grid-column:auto!important}
 .needs.swipe>a{flex-basis:70%}
 .needs.swipe a:last-child .nimg{aspect-ratio:16/9}
}
@media(max-width:760px){.swipe{scroll-padding-left:20px;scroll-padding-inline-start:20px}}
/* ===== ritual sets v2 ===== */
.setchips{margin:6px 0 26px}
.sets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.set{background:var(--lichen);border:1px solid var(--line);border-radius:28px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 40px rgba(47,52,48,.06)}
.set-img{position:relative;aspect-ratio:3/2;background:var(--elder);overflow:hidden}
.set-img.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.set:hover .set-img.photo img{transform:scale(1.03)}
.set-img.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fff}
.set-img.trio img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.set-save{position:absolute;top:16px;left:16px;background:var(--berry);color:#fff;font-size:.85rem;font-weight:500;padding:6px 12px;border-radius:999px}
.set-b{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.set-k{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 6px}
.set h2{font-size:clamp(1.7rem,2.6vw,2.2rem);color:var(--hawthorn);margin:0 0 4px}
.set-tag{font-family:var(--fell);font-style:italic;color:var(--berry);font-size:1.15rem;margin:0 0 12px}
.set-story{color:var(--muted);margin:0 0 18px}
.set-h{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hawthorn);font-family:var(--sans);font-weight:500;margin:0 0 10px}
.set-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.si{text-decoration:none;color:var(--ink);background:var(--elder);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:6px;font-size:.82rem;line-height:1.3}
.si img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:12px;height:auto}
.si span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.si b{font-weight:500;color:var(--hawthorn)}
.si:hover span{color:var(--berry)}
.set-how{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:18px}
.set-how summary{cursor:pointer;font-family:var(--fell);font-size:1.15rem;color:var(--hawthorn);list-style:none;display:flex;justify-content:space-between;align-items:center}
.set-how summary::after{content:"+";color:var(--berry);font-size:1.4rem}
.set-how[open] summary::after{content:"–"}
.set-how ol{margin:10px 0 0;padding-left:20px;color:var(--muted)}.set-how li{margin:6px 0}
.set-buy{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.set-buy .was{text-decoration:line-through;color:var(--muted);margin-right:10px}
.set-buy .now{font-family:var(--fell);font-size:1.9rem;color:var(--hawthorn)}
@media(max-width:900px){.sets{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.set-b{padding:20px 18px 22px}.set{border-radius:22px}.set-buy .btn{flex:1 1 100%;text-align:center}.si{font-size:.76rem;padding:6px}}
/* ---- Hedge Magic logo ---- */
.logo img{height:58px;width:auto;display:block}
.logo{padding:4px 0}
.flogo{display:inline-flex;background:#FBF8F1;padding:10px 16px;border-radius:14px}
.flogo img{height:62px}
@media(max-width:760px){.logo img{height:42px}.flogo img{height:52px}}
@media(max-width:360px){.logo img{height:36px}}
.logo img{height:74px}
@media(max-width:760px){.logo img{height:48px}}
@media(max-width:360px){.logo img{height:40px}}
.logo img{height:68px}
@media(max-width:760px){.logo img{height:46px}}
@media(max-width:360px){.logo img{height:38px}}
/* larger logo with breathing room */
:root{--hh:130px}
.top .wrap{height:var(--hh)}
.logo{padding:0}
.logo img{height:94px}
.drawer.open{inset:var(--hh) 0 0 0}
@media(max-width:760px){:root{--hh:88px}.logo img{height:60px}}
@media(max-width:360px){:root{--hh:78px}.logo img{height:50px}}
.drawer.open{position:absolute;inset:auto;top:100%;left:0;right:0;height:calc(100vh - var(--hh));height:calc(100dvh - var(--hh))}
/* ---- round badge header ---- */
.brandrow{background:var(--lichen);text-align:center;padding:28px 0 20px;border-bottom:1px solid var(--line)}
.badge{display:inline-block;line-height:0}
.badge img{width:168px;height:168px}
:root{--hh:66px}
.top .wrap{height:var(--hh)}
.top .wrap>.logo,.top .wrap>.tools{flex:1}
.top .wrap>.tools{display:flex;justify-content:flex-end}
nav.main{margin:0 auto}
.logo img{width:50px;height:50px}
.logo{opacity:0;pointer-events:none;transition:opacity .25s}
body.stuck .logo{opacity:1;pointer-events:auto}
.flogo{background:none;padding:0}.flogo img{width:132px;height:132px}
@media(max-width:760px){.brandrow{padding:18px 0 14px}.badge img{width:124px;height:124px}:root{--hh:60px}.logo img{width:44px;height:44px}.flogo img{width:116px;height:116px}}
@media(max-width:360px){.badge img{width:108px;height:108px}}
@media(max-width:760px){.brandrow{padding:16px 0 12px}.badge img{width:156px;height:156px}}
@media(max-width:360px){.badge img{width:140px;height:140px}}
.badge img{width:200px;height:200px}
@media(max-width:760px){.brandrow{padding:16px 0 12px}.badge img{width:156px;height:156px}}
@media(max-width:360px){.badge img{width:140px;height:140px}}
