@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Young Serif";src:url(fonts/young-serif.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --bg:#e9ece6;--surface:#f6f7f2;--surface-2:#dfe3db;--ink:#17211d;--muted:#55605a;--line:#c8cec5;
  --accent:#bf3f12;--accent-ink:#fff;--accent-soft:#f3d9cb;--art:#f1f2ec;--deep:#17211d;--deep-ink:#eef0ea;--deep-muted:#b2bbb3;
  --r:14px;--blend:multiply;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#121815;--surface:#1a221e;--surface-2:#242d28;--ink:#e9ece6;--muted:#a3aea7;--line:#333e38;
  --accent:#f0733c;--accent-ink:#17110c;--accent-soft:#3c2519;--art:#1f2823;--deep:#0c110e;--blend:screen;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    --bg:#121815;--surface:#1a221e;--surface-2:#242d28;--ink:#e9ece6;--muted:#a3aea7;--line:#333e38;
    --accent:#f0733c;--accent-ink:#17110c;--accent-soft:#3c2519;--art:#1f2823;--deep:#0c110e;--blend:screen;
    color-scheme:dark;
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 "Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
h1,h2,h3{font-family:"Young Serif",Georgia,serif;font-weight:400;line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.45rem,2.6vw,1.95rem)}
h3{font-size:1.15rem}
p{margin:0}
a{color:inherit}
svg{display:block}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:var(--bg);padding:.6rem 1rem;border-radius:8px;z-index:30}
.skip:focus{top:.6rem}
.lede{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--muted);max-width:60ch;text-wrap:pretty}
.meta{color:var(--muted);font-size:.9rem}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--accent)}
.eyebrow a{color:inherit}

/* Header */
.site-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:1.5rem;min-height:64px}
.logo{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;font:400 1.4rem/1 "Young Serif",Georgia,serif;text-decoration:none}
.logo svg{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.logo.small{font-size:1.2rem;margin-bottom:.4rem}
.main-nav{display:flex;gap:.25rem;flex:1}
.main-nav a{padding:.45rem .7rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.96rem;color:var(--muted);white-space:nowrap}
.main-nav a:hover{color:var(--ink);background:var(--surface-2)}
.main-nav a[aria-current]{color:var(--ink);background:var(--surface-2)}
.tools{display:flex;align-items:center;gap:.3rem;margin-left:auto}
.tool{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:40px;height:40px;padding:0 .6rem;background:none;border:1px solid transparent;border-radius:9px;color:var(--ink);font:600 .86rem "Instrument Sans",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.tool:hover{background:var(--surface-2)}
.tool svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.tool svg .fill{fill:currentColor;stroke:none}
.lang{border-color:var(--line)}
.saved-link b{background:var(--accent);color:var(--accent-ink);border-radius:99px;font-size:.72rem;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 4px}
.saved-link[aria-current]{background:var(--surface-2)}

/* Hero */
.hero{overflow:hidden;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2rem;align-items:stretch}
.hero-copy{padding:clamp(2.5rem,7vw,5.5rem) 0}
.hero-copy h1{font-size:clamp(2.4rem,6vw,4.4rem);max-width:13ch}
.hero-copy .lede{margin-top:1.25rem}
.hero-visual{position:relative;min-height:280px}
.hero-art{position:absolute;top:0;left:-8%;width:calc(108% + max(0px,(100vw - 1200px)/2) + 1.25rem);height:100%;mix-blend-mode:var(--blend);-webkit-mask-image:linear-gradient(to top,#000 40%,transparent 98%);mask-image:linear-gradient(to top,#000 40%,transparent 98%)}
.hero-art path{animation:drift 14s ease-in-out infinite alternate;transform-origin:50% 100%}
.hero-art path:nth-child(2n){animation-duration:19s;animation-direction:alternate-reverse}
@keyframes drift{from{transform:translateX(-10px) skewX(-2deg)}to{transform:translateX(12px) skewX(2deg)}}
@media (prefers-reduced-motion:reduce){.hero-art path{animation:none}html{scroll-behavior:auto}}
.search{display:flex;gap:.5rem;margin-top:1.75rem;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:.4rem}
.search:focus-within{border-color:var(--accent)}
.search input{flex:1;min-width:0;background:none;border:0;padding:.55rem .7rem;font:inherit;color:inherit;outline:none}
.search button,.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--accent);color:var(--accent-ink);border:0;border-radius:9px;padding:.65rem 1.1rem;font:600 .97rem "Instrument Sans",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.search button:hover,.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.stats{display:flex;flex-wrap:wrap;gap:1.75rem;margin:2rem 0 0}
.stats div{display:flex;flex-direction:column-reverse}
.stats dd{margin:0;font:400 1.7rem/1.1 "Young Serif",Georgia,serif}
.stats dt{color:var(--muted);font-size:.88rem}

/* Sections */
.band{padding:clamp(2.25rem,5vw,3.75rem) 0}
.band h2{margin-bottom:1.25rem}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.band-head h2{margin:0}
.more{font-weight:600;color:var(--accent);text-decoration:none}
.more:hover{text-decoration:underline}
.page-head{padding:clamp(2rem,5vw,3.5rem) 0 clamp(1.5rem,3vw,2.25rem);border-bottom:1px solid var(--line)}
.page-head .lede{margin-top:.8rem}
.page-head .meta{margin-top:.5rem}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:1rem}
.crumbs a{color:inherit}
.crumbs span{margin-inline:.3rem}

.scents{display:flex;flex-wrap:wrap;gap:.5rem}
.scent{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:var(--surface);border:1px solid var(--line);border-radius:99px;font-weight:500;font-size:.95rem;text-decoration:none;cursor:pointer}
.scent:hover{border-color:var(--ink)}
.scent i,.dot-chip i,.mat i,.mat-group h2 i{display:block;width:11px;height:11px;border-radius:50%;flex:none}
.scent.check input{position:absolute;opacity:0;width:0;height:0}
.scent.check:has(input:checked){background:var(--ink);color:var(--bg);border-color:var(--ink)}
.scent.check:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}

/* Cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:1.1rem}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .16s ease,border-color .16s ease}
.card:hover{transform:translateY(-2px);border-color:var(--ink)}
.card[hidden]{display:none}
.card-link{display:flex;flex-direction:column;height:100%;text-decoration:none}
.card-art{aspect-ratio:4/2.6;background:var(--art);overflow:hidden}
.art{width:100%;height:100%;mix-blend-mode:var(--blend);-webkit-mask-image:linear-gradient(to top,#000 45%,transparent 98%);mask-image:linear-gradient(to top,#000 45%,transparent 98%)}
.card-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.2rem;flex:1}
.card-body h3{margin:.05rem 0}
.chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.dot-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;color:var(--muted)}
.dot-chip i{width:9px;height:9px}
.save{position:absolute;top:.55rem;right:.55rem;width:38px;height:38px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--ink);cursor:pointer}
.save svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.save:hover{border-color:var(--ink)}
.save[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.save[aria-pressed=true] svg{fill:currentColor}

/* Indonesia panel */
.indo{background:var(--deep);color:var(--deep-ink)}
.indo-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;padding:clamp(2.5rem,6vw,4.5rem) 0}
.indo p{color:var(--deep-muted);margin:1rem 0 1.5rem;max-width:56ch}
.indo-art{height:240px;overflow:hidden}
.indo-art .art{mix-blend-mode:screen}

/* Region list */
.region-list{border-top:1px solid var(--line)}
.region-row{display:grid;grid-template-columns:minmax(150px,1fr) 2.4fr auto;gap:1rem;align-items:baseline;padding:1rem .4rem;border-bottom:1px solid var(--line);text-decoration:none}
.region-row:hover{background:var(--surface)}
.r-name{font:400 1.2rem "Young Serif",Georgia,serif}
.r-desc{color:var(--muted);font-size:.95rem}
.r-n{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}

/* Catalog */
.catalog{padding:1.5rem 0 3.5rem}
.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.9rem}
.f-search input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:.7rem .85rem;font:inherit;color:inherit}
.f-more{margin-top:.75rem}
.f-more summary{font-weight:600;cursor:pointer;padding:.2rem 0;display:none}
.f-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}
.f-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.84rem;font-weight:600;color:var(--muted)}
select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:.55rem .6rem;font:400 .95rem "Instrument Sans",system-ui,sans-serif;color:var(--ink)}
.f-scents{border:0;margin:.85rem 0 0;padding:0}
.f-scents legend{font-size:.84rem;font-weight:600;color:var(--muted);padding:0;margin-bottom:.35rem}
.f-scents .scent{padding:.35rem .7rem;font-size:.88rem;background:var(--bg)}
.result-bar{display:flex;justify-content:space-between;align-items:center;min-height:2.6rem;margin:.7rem 0 .4rem}
.link-btn{background:none;border:0;color:var(--accent);font:600 .93rem "Instrument Sans",system-ui,sans-serif;cursor:pointer;padding:.3rem}
.link-btn:hover{text-decoration:underline}
.empty{padding:3rem 1rem;text-align:center;color:var(--muted)}
.empty[hidden]{display:none}
.empty a{color:var(--accent);font-weight:600}

/* Detail */
.detail{padding:1.5rem 0 3.5rem}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.detail-art{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;aspect-ratio:4/3.4}
.detail-main h1{margin:.25rem 0 .8rem}
.save-btn{margin-top:1.1rem}
.save-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.save-btn[aria-pressed=true] svg{fill:currentColor}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem 1.25rem;margin:1.75rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line)}
.facts dt{font-size:.84rem;color:var(--muted)}
.facts dd{margin:.1rem 0 0;font-weight:600}
.smoke{display:inline-flex;align-items:center;gap:.5rem}
.dots{display:inline-flex;gap:3px}
.dots i{width:9px;height:9px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.dots i.on{background:var(--ink);box-shadow:none}
.detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(2rem,4vw,3rem)}
.detail-cols h2,.similar h2{margin-bottom:1rem}
.bars{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.bars li{display:grid;grid-template-columns:7rem 1fr;align-items:center;gap:.6rem;font-size:.95rem}
.bar{height:11px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px}
.partner-note{margin:1rem 0;padding:.65rem .9rem;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:0 8px 8px 0;font-size:.9rem;line-height:1.5}
.note{margin-top:.8rem;color:var(--muted);font-size:.87rem;max-width:56ch}
.mats{display:flex;flex-wrap:wrap;gap:.5rem}
.mat{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;background:var(--surface);border:1px solid var(--line);border-radius:99px;text-decoration:none;font-weight:500}
.mat:hover{border-color:var(--ink)}
.care{margin-top:1.25rem;padding:.95rem 1.1rem;background:var(--accent-soft);border-radius:11px;max-width:62ch}
.care h2{font:600 .95rem "Instrument Sans",system-ui,sans-serif;letter-spacing:0;margin:0 0 .25rem}
.care ul{margin:0;padding-left:1.1rem}
.care p,.care li{font-size:.95rem}
.sources{margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;border-top:1px solid var(--line)}
.sources h2{margin-bottom:.4rem}
.sources .note{margin-top:0}
.sources ul{margin:.7rem 0 0;padding-left:1.1rem;font-size:.93rem}
.sources a{color:var(--accent)}
.similar{margin-top:clamp(2.5rem,5vw,3.75rem)}

/* Tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:1.1rem}
.tile{display:block;padding:1.15rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;transition:border-color .16s ease}
.tile:hover{border-color:var(--ink)}
.tile h2{font-size:1.3rem;margin:0}
.tile h3{margin-bottom:.35rem}
.tile p:not(.meta){color:var(--muted);font-size:.95rem;margin-top:.4rem}
.region-tile{padding:0 0 1.15rem;overflow:hidden}
.tile-art{aspect-ratio:4/1.9;background:var(--art);overflow:hidden;margin-bottom:.9rem}
.region-tile h2,.region-tile p{margin-inline:1.2rem}
.mat-group{padding:2rem 0 .5rem}
.mat-group h2{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.mat-group h2 i{width:14px;height:14px}
.mat-group:last-child{padding-bottom:3.5rem}

/* Prose */
.prose{max-width:720px;padding:1rem 0 4rem}
.prose section{padding-top:1.75rem}
.prose h2{margin-bottom:.7rem}
.prose p+p{margin-top:.7rem}
.prose ul{margin:.7rem 0 0;padding-left:1.2rem}
.prose li{margin-bottom:.4rem}
.nf{text-align:center;padding:6rem 0}
.nf .lede{margin:.8rem auto 1.5rem}

/* Articles */
.post-head{padding:clamp(1.5rem,4vw,3rem) 0 1.25rem;max-width:820px}
.post-head h1{font-size:clamp(1.9rem,4.4vw,3rem)}
.post-head .lede{margin-top:1rem}
.post-head .meta{margin-top:.9rem}
.post-body{max-width:820px;margin-inline:auto}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem}
.toc h2{font:600 .95rem "Instrument Sans",system-ui,sans-serif;letter-spacing:0;margin:0 0 .4rem}
.toc ol{margin:0;padding-left:1.2rem;font-size:.95rem}
.toc li{margin-bottom:.2rem}
.prose a{color:var(--accent)}
.post-body .prose{max-width:none;padding-bottom:1.5rem;font-size:1.05rem;line-height:1.7}
.post-body section{scroll-margin-top:5rem}
.faq{border-bottom:1px solid var(--line);padding:.7rem 0}
.faq summary{font-weight:600;cursor:pointer}
.faq p{margin-top:.5rem;color:var(--muted)}
.art-tile{padding:0 0 1.15rem;overflow:hidden}
.art-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--art);margin-bottom:.9rem}
.art-tile h3{margin:0 1.2rem .4rem}
.art-tile p:not(.meta){margin-inline:1.2rem}
.art-credit{margin:.6rem 1.2rem 0;font-size:.75rem}

figure{margin:1.5rem 0}
figure img{display:block;width:100%;height:auto;border-radius:10px;background:var(--surface-2)}
figcaption{margin-top:.5rem;font-size:.86rem;color:var(--muted);line-height:1.45}
.credit{display:block;font-size:.78rem}
.credit a{color:inherit}
.post-body .lede{font-size:1.15rem;color:var(--ink)}
.post-body .toc{margin:1.25rem 0 1.5rem}
.post-body .toc h2{margin:0 0 .5rem}
.post-body .toc ol{columns:2;column-gap:2rem}
.post-body .toc li{break-inside:avoid}
@media (max-width:640px){.post-body .toc ol{columns:1}}
.post-body h2{margin:2.25rem 0 .7rem}
.post-body h3{margin:1.5rem 0 .5rem}
.post-body p{margin:.75rem 0}
.post-body ul,.post-body ol{margin:.75rem 0;padding-left:1.3rem}
.post-body li{margin-bottom:.35rem}
.post-body blockquote{margin:1rem 0;padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--accent)}
.post-body section{padding-top:0}
.table-wrap{overflow-x:auto;margin:1rem 0}
.post-body table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.45}
.post-body th,.post-body td{padding:.55rem .7rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.post-body th{font-weight:600;background:var(--surface)}

/* Footer */
.site-foot{border-top:1px solid var(--line);padding:2rem 0;font-size:.93rem;color:var(--muted)}
.site-foot .logo{color:var(--ink)}
.foot-row{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.foot-row p{max-width:44ch}
.foot-row nav{display:flex;gap:.9rem;flex-wrap:wrap;align-items:flex-start}

@media (max-width:980px){
  .f-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .saved-link span{display:none}
}
@media (max-width:820px){
  .head-row{flex-wrap:wrap;gap:0;padding-top:.5rem}
  .main-nav{order:3;flex:0 0 100%;overflow-x:auto;scrollbar-width:none;margin-inline:-.7rem;padding:.2rem 0 .4rem}
  .main-nav::-webkit-scrollbar{display:none}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .hero-copy{padding-bottom:1.5rem}
  .hero-visual{height:170px;min-height:0;overflow:hidden}
  .hero-art{left:0;width:100%}
  .indo-grid{grid-template-columns:1fr}
  .indo-art{height:150px}
  .detail-grid,.detail-cols{grid-template-columns:1fr}
  .detail-art{aspect-ratio:4/2.2}
  .region-row{grid-template-columns:1fr auto}
  .r-desc{grid-row:2;grid-column:1/-1}
  .f-more summary{display:block}
  .f-more[open] summary{margin-bottom:.5rem}
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:460px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .card-body{padding:.7rem .75rem .85rem}
  .card-body h3{font-size:1.02rem}
  .chips{gap:.5rem}
  .stats{gap:1.25rem}
  .search button{padding-inline:.85rem}
  .tiles{grid-template-columns:1fr}
}

.explore .tile h3{margin-bottom:.3rem}

/* Almanac */
:root{--el-0:#2b8c4f;--el-1:#d93b2e;--el-2:#d49a17;--el-3:#c26ad0;--el-4:#2465b5}
.el{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.35rem;vertical-align:baseline}
.el-0,.el-fill-0{background:var(--el-0);fill:var(--el-0)}.el-1,.el-fill-1{background:var(--el-1);fill:var(--el-1)}.el-2,.el-fill-2{background:var(--el-2);fill:var(--el-2)}.el-3,.el-fill-3{background:var(--el-3);fill:var(--el-3)}.el-4,.el-fill-4{background:var(--el-4);fill:var(--el-4)}
.alm-hero{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 82% 12%,#2c3b34 0,#17211d 52%,#0d1411 100%);color:var(--deep-ink)}
.alm-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem) 0}
.alm-smoke{position:absolute;left:-8%;bottom:-20%;width:62%;height:130%;opacity:.2;mix-blend-mode:screen;pointer-events:none}
.alm-hero-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.alm-eyebrow{font-size:.84rem;font-weight:600;letter-spacing:.02em;color:#f0b49a}
.alm-hero .lede{color:var(--deep-muted)}
.alm-hero h1{font-size:clamp(2.3rem,5.4vw,4rem)}
.alm-hero-art{position:relative;display:grid;justify-items:start;align-items:center}
.alm-wheel{width:min(100%,430px);height:auto;overflow:visible}
.alm-wheel .orbit{fill:none;stroke:#3b4a43;stroke-width:1}
.alm-wheel .orbit.dash{stroke-dasharray:2 8;transform-origin:200px 200px;animation:alm-spin 90s linear infinite}
.alm-wheel .gen{stroke:#6b7a72;stroke-width:1.2}
.alm-wheel .ctl{stroke:#3b4a43;stroke-width:1;stroke-dasharray:3 5}
.alm-wheel text{fill:#fff;font-size:21px;text-anchor:middle;dominant-baseline:central}
.alm-wheel [data-wheel-b] circle{fill:#1d2924;stroke:#3b4a43}
.alm-wheel [data-wheel-b] text{fill:#c8d0ca}
.alm-wheel [data-wheel-b].on circle{fill:#d93b2e;stroke:#ffb199;filter:drop-shadow(0 0 12px rgba(240,115,60,.85))}
.alm-wheel [data-wheel-b].on text{fill:#fff}
@keyframes alm-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.alm-wheel .orbit.dash{animation:none}}
.alm-yearcard{position:absolute;right:0;bottom:0;background:rgba(13,20,17,.78);backdrop-filter:blur(8px);border:1px solid #3b4a43;border-radius:var(--r);padding:.7rem .85rem;width:168px;font-size:.86rem;line-height:1.35}
.alm-yearglyph{font-size:2.3rem;line-height:1.15;color:#fff}
.alm-pl{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}
.alm-hero .alm-pl{color:var(--deep-muted)}
.alm-today{background:var(--surface);border-bottom:1px solid var(--line)}
.alm-today-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:1.15rem 0}
.alm-big{font:400 1.45rem/1.25 "Young Serif",Georgia,serif;margin:.15rem 0}
.alm-big-text{font-size:1.15rem}
.alm-cal-grid,.alm-method{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:2rem;align-items:start}
.alm-cal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.alm-cal-head h2{margin:0}
.alm-cal-nav{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.alm-cal-nav .btn{padding:.4rem .7rem;font-size:.9rem}
.alm-cal-nav strong{min-width:9.5rem;text-align:center}
.alm-cal-sub{margin:.45rem 0 .9rem;max-width:64ch}
.alm-weekdays,.alm-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.alm-weekdays span{font-size:.78rem;font-weight:600;color:var(--muted);padding:.2rem .4rem}
.alm-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-height:84px;padding:.4rem .45rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0;transition:border-color .12s ease}
.alm-cell.blank{background:none;border-color:transparent;cursor:default}
.alm-cell:hover{border-color:var(--ink)}
.alm-cell.blank:hover{border-color:transparent}
.alm-cell b{font-size:1.02rem;line-height:1.2}
.alm-low{font-size:.76rem;color:var(--muted)}
.alm-cell.first .alm-low{color:var(--accent);font-weight:600}
.alm-gz{font-size:.74rem;color:var(--muted);white-space:nowrap}
.alm-gz .el{width:.45rem;height:.45rem;margin-right:.2rem}
.alm-term{font-size:.68rem;font-weight:600;color:var(--accent);line-height:1.1}
.alm-cell.today{border:2px solid var(--accent)}
.alm-cell.sel{background:var(--accent-soft)}
.alm-daybox{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.8rem;padding:.75rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:.92rem;min-height:3rem}
.alm-term-note{color:var(--accent);font-weight:600}
.alm-photo{margin:0 0 1.25rem}
.alm-photo img{aspect-ratio:4/3;object-fit:cover}
.alm-calc-band{background:linear-gradient(160deg,#1a2520,#0f1714);color:var(--deep-ink);padding:clamp(2.25rem,5vw,3.75rem) 0;scroll-margin-top:4.5rem}
.alm-calc-band .lede{color:var(--deep-muted);margin:.5rem 0 1.25rem}
.alm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.9rem 1rem;align-items:start;background:rgba(255,255,255,.05);border:1px solid #34423b;border-radius:var(--r);padding:1.15rem}
.alm-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600}
.alm-form input[type=date],.alm-form input[type=time],.alm-form select{font:inherit;font-weight:400;padding:.55rem .6rem;border-radius:8px;border:1px solid #4a5a52;background:#0f1714;color:var(--deep-ink);color-scheme:dark;width:100%}
.alm-form input:disabled{opacity:.45}
.alm-form .alm-check{flex-direction:row;align-items:center;gap:.5rem;font-weight:400;padding-top:1.75rem}
.alm-hint{font-weight:400;font-size:.78rem;color:var(--deep-muted);line-height:1.35}
.alm-go{display:flex;flex-direction:column;gap:.4rem;padding-top:1.55rem}
.alm-go .btn{justify-content:center}
.alm-err{color:#ffb199;font-size:.88rem}
.alm-result{margin-top:1.5rem;background:var(--bg);color:var(--ink);border-radius:var(--r);padding:clamp(1rem,3vw,1.75rem);scroll-margin-top:5rem;outline:none}
.alm-result[hidden]{display:none}
.alm-result h3{font-size:1.25rem;margin:1.4rem 0 .7rem}
.alm-result h3:first-child{margin-top:0}
.alm-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.alm-pillar{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.7rem;text-align:center;min-width:0}
.alm-pillar.day{border:2px solid var(--accent)}
.alm-pillar.none{display:flex;flex-direction:column;justify-content:center;gap:.35rem}
.alm-glyph{display:grid;place-items:center;aspect-ratio:1/1;max-width:96px;margin:.45rem auto .25rem;border-radius:14px;color:#fff;font-size:clamp(1.7rem,4.5vw,2.8rem);line-height:1}
.el-bg-0{background:var(--el-0)}.el-bg-1{background:var(--el-1)}.el-bg-2{background:var(--el-2);color:#17211d}.el-bg-3{background:var(--el-3);color:#17211d}.el-bg-4{background:var(--el-4)}
.alm-sub{font-size:.78rem;color:var(--muted);line-height:1.3}
.alm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem 1.25rem;margin-top:1rem}
.alm-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 1.75rem}
.alm-bars{width:100%;border-collapse:collapse;margin-bottom:.5rem}
.alm-bars th{font-weight:500;text-align:left;white-space:nowrap;padding:.28rem .7rem .28rem 0;font-size:.92rem}
.alm-bar-cell{width:100%;padding:.28rem 0;box-shadow:inset 1px 0 0 var(--line)}
.alm-bar{display:block;height:14px;border-radius:0 4px 4px 0}
.alm-num{padding-left:.6rem;font-size:.88rem;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}
.alm-yp{font-weight:600;margin-bottom:.4rem}
.alm-scents{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.9rem}
.alm-scent{background:var(--surface);border:1px solid var(--line);border-top-width:4px;border-radius:12px;padding:1rem 1.05rem;display:flex;flex-direction:column;gap:.5rem;font-size:.94rem}
.alm-scent h3,.alm-scent h4{font:400 1.2rem/1.2 "Young Serif",Georgia,serif;margin:0}
.el-top-0{border-top-color:var(--el-0)}.el-top-1{border-top-color:var(--el-1)}.el-top-2{border-top-color:var(--el-2)}.el-top-3{border-top-color:var(--el-3)}.el-top-4{border-top-color:var(--el-4)}
.alm-links{display:flex;flex-wrap:wrap;gap:.3rem}
.alm-links a{padding:.12rem .55rem;border:1px solid var(--line);border-radius:99px;font-size:.84rem;text-decoration:none}
.alm-links a:hover{border-color:var(--ink)}
.alm-caveat{margin-top:1rem;font-size:.86rem;color:var(--muted)}
.alm-sub-lede{margin:-.5rem 0 1.25rem}
.alm-shio-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:1.5rem;align-items:start}
.alm-shios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.alm-shio{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.7rem .75rem}
.alm-shio.now{border:2px solid var(--accent)}
.alm-shio-h{display:block;font-size:2rem;line-height:1.1}
.alm-shio h3{font-size:1.02rem;margin-top:.2rem}
.alm-shio .meta{font-size:.76rem}
.alm-shio-y{font-size:.72rem;color:var(--muted);margin-top:.3rem;line-height:1.35}
.el-text-0{color:var(--el-0)}.el-text-1{color:var(--el-1)}.el-text-2{color:#a87a0e}.el-text-3{color:#a24fb1}.el-text-4{color:var(--el-4)}
.alm-alt{background:var(--surface);border-block:1px solid var(--line)}
.alm-table{overflow-x:auto}
.alm-table table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:760px}
.alm-table th,.alm-table td{padding:.55rem .7rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.alm-table thead th{font-size:.8rem;color:var(--muted);font-weight:600}
.alm-table tbody th{font-weight:600}
.alm-table tr.now{background:var(--accent-soft)}
.alm-chip{white-space:nowrap}
.alm-prose{padding:0;max-width:none}
.alm-prose h2{margin-top:1.6rem}
.alm-prose h2:first-child{margin-top:0}
@media (max-width:860px){
  .alm-hero-grid,.alm-cal-grid,.alm-method,.alm-shio-wrap,.alm-split{grid-template-columns:minmax(0,1fr)}
  .alm-smoke{width:100%;opacity:.12}
  .alm-hero-art{justify-items:center}
  .alm-yearcard{position:static;margin-top:.75rem;width:100%}
  .alm-wheel{width:min(100%,340px)}
  .alm-today-row{grid-template-columns:minmax(0,1fr);gap:.8rem}
  .alm-form .alm-check,.alm-go{padding-top:0}
  .alm-side{display:none}
}
@media (max-width:560px){
  .alm-cell{min-height:64px;padding:.25rem .28rem;gap:0}
  .alm-gz{display:none}
  .alm-term{font-size:.6rem;word-break:break-word}
  .alm-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alm-shios{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Encyclopedia: photos */
.thumb{display:block;overflow:hidden;margin-bottom:.9rem}
.thumb .art-thumb{margin:0;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tile:hover .thumb .art-thumb,.tile:focus-visible .thumb .art-thumb{transform:scale(1.05)}
.tile.art-tile h2,.tile.art-tile h3,.tile.art-tile .meta,.tile.art-tile p{margin-inline:1.2rem}
.tile{transition:border-color .16s ease,transform .22s ease,box-shadow .22s ease}
.tile:hover{transform:translateY(-3px);box-shadow:0 12px 26px -18px rgba(23,33,29,.55)}
.card-art{position:relative}
.card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-art img{transform:scale(1.06)}
.card-tag{position:absolute;left:.5rem;bottom:.5rem;right:.5rem;width:fit-content;max-width:calc(100% - 1rem);padding:.12rem .5rem;border-radius:7px;background:rgba(12,17,14,.76);color:#f2f3ee;font-size:.72rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-thumb{width:56px;height:56px;border-radius:12px;object-fit:cover;align-self:center}
.region-row{grid-template-columns:56px minmax(150px,1fr) 2.4fr auto}
.indo-art{border-radius:var(--r)}
.indo-photo{width:100%;height:100%;object-fit:cover;display:block}
.hero-cta{margin-top:1.4rem}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Tab banner */
.tab-hero{position:relative;isolation:isolate;overflow:hidden;background:#0c110e;color:#f2f3ee}
.tab-mosaic{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2px}
.tab-mosaic img{width:100%;height:100%;object-fit:cover;display:block;min-width:0;animation:pan 26s ease-in-out infinite alternate}
.tab-mosaic .m1{animation-delay:-8s}.tab-mosaic .m2{animation-delay:-16s}
.tab-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,12,10,.9) 0%,rgba(8,12,10,.74) 48%,rgba(8,12,10,.28) 100%),linear-gradient(0deg,rgba(8,12,10,.55),transparent 55%)}
.tab-smoke{position:absolute;right:0;bottom:0;width:min(52%,620px);height:100%;z-index:-1;mix-blend-mode:screen;opacity:.5;-webkit-mask-image:linear-gradient(to top,#000 30%,transparent 96%);mask-image:linear-gradient(to top,#000 30%,transparent 96%)}
.tab-smoke path{animation:drift 14s ease-in-out infinite alternate;transform-origin:50% 100%}
.tab-smoke path:nth-child(2n){animation-duration:19s;animation-direction:alternate-reverse}
.tab-copy{padding:clamp(2.75rem,8vw,5.5rem) 0 clamp(2.25rem,6vw,4rem)}
.tab-copy h1{max-width:18ch;text-shadow:0 1px 18px rgba(0,0,0,.45)}
.tab-copy .lede{color:#dfe3db;margin-top:.8rem}
.tab-count{font-size:.86rem;font-weight:600;color:#f3c7a8;margin-bottom:.4rem}
.tab-random{margin-top:1.4rem;background:#f2f3ee;color:#17211d}
@keyframes pan{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.1) translateX(1%)}}

/* Entry head */
.entry-head{padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.entry-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.entry-copy h1{margin:.25rem 0 .55rem}
.entry-copy .care{margin-top:1.25rem}
.entry-no{margin-left:.45rem;padding-left:.55rem;border-left:1px solid var(--line);color:var(--muted);font-weight:500}
.entry-fig,.detail-fig{margin:0}
.entry-frame,.detail-fig .detail-art{position:relative;overflow:hidden;border-radius:var(--r);background:var(--surface-2);aspect-ratio:4/3}
.detail-fig .detail-art{border:0}
.entry-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;animation:settle 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes settle{from{transform:scale(1.045)}to{transform:none}}
.detail-smoke{position:absolute;inset:0;mix-blend-mode:screen;opacity:.75;pointer-events:none}
.detail-smoke path{animation:drift 14s ease-in-out infinite alternate;transform-origin:50% 100%}
.detail-smoke path:nth-child(2n){animation-duration:19s;animation-direction:alternate-reverse}
.glance{margin-top:1.25rem;padding-top:1rem}
.glance a{color:var(--accent)}

/* Jump list and gallery */
.jump{position:sticky;top:65px;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.55rem 0}
.jump .scents{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.jump .scents::-webkit-scrollbar{display:none}
.jump .scent{flex:none;padding:.3rem .7rem;font-size:.88rem}
.jump small{color:var(--muted)}
.mat-group{scroll-margin-top:7.5rem}
.gallery-band{padding-bottom:0}
.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.5rem}
.gallery figure{margin:0;scroll-snap-align:start;min-width:0}
.gallery img{aspect-ratio:3/2;object-fit:cover;border-radius:12px}

/* See also, pager, trail */
.entry-foot{padding-bottom:1rem}
.seealso{margin-top:clamp(1.75rem,4vw,2.5rem)}
.seealso h2,.trail h2{font-size:1.25rem;margin-bottom:.8rem}
.minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:.6rem}
.mini{display:flex;align-items:center;gap:.65rem;padding:.45rem .6rem .45rem .45rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;min-width:0;transition:border-color .16s ease,transform .2s ease}
.mini:hover{border-color:var(--ink);transform:translateY(-2px)}
.mini img{width:48px;height:48px;flex:none;border-radius:9px;object-fit:cover}
.mini span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.mini b{font-weight:600;font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini small{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-cols .minis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:clamp(1.75rem,4vw,2.5rem);padding-top:1.25rem;border-top:1px solid var(--line)}
.pager>div:last-child{text-align:right}
.pager>div:last-child .mini{flex-direction:row-reverse;text-align:right}
.pager .meta{margin-bottom:.35rem;font-size:.84rem}
.trail{margin-block:clamp(2rem,4vw,3rem) 1.5rem;padding:1.15rem 1.25rem;background:var(--surface-2);border-radius:var(--r);width:min(1200px,100% - 2.5rem)}
.trail[hidden]{display:none}
.trail-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.trail-head h2{margin:0}
.trail-bar{height:6px;background:var(--line);border-radius:99px;overflow:hidden;margin:.45rem 0 .9rem}
.trail-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .6s ease}
.photo-credits{margin-block:1.5rem 2rem;font-size:.84rem;color:var(--muted)}
.photo-credits summary{cursor:pointer;font-weight:600;padding:.3rem 0}
.photo-credits ul{margin:.6rem 0 0;padding-left:1.1rem;columns:2;column-gap:2rem}
.photo-credits li{break-inside:avoid;margin-bottom:.35rem}
.photo-credits a{color:inherit}
@media (max-width:640px){.photo-credits ul{columns:1}}

/* Motion */
.read-bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;z-index:40;pointer-events:none}
.rv{opacity:0;transform:translateY(16px)}
.rv.in{opacity:1;transform:none;transition:opacity .55s ease var(--d,0ms),transform .55s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.bars.grow .bar i{transform:scaleX(0);transform-origin:0 50%}
.bars.grown .bar i{transform:none;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.bars.grown li:nth-child(2) .bar i{transition-delay:.08s}
.bars.grown li:nth-child(3) .bar i{transition-delay:.16s}
.bars.grown li:nth-child(n+4) .bar i{transition-delay:.24s}
.save[aria-pressed=true] svg{animation:pop .3s ease}
@keyframes pop{50%{transform:scale(1.3)}}
.site-head{view-transition-name:site-head}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.26s}
  ::view-transition-group(*){animation-duration:.34s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
}
@media (prefers-reduced-motion:reduce){
  .tab-mosaic img,.tab-smoke path,.detail-smoke path,.entry-photo,.save[aria-pressed=true] svg{animation:none}
  .thumb .art-thumb,.card-art img,.tile,.card,.mini{transition:none}
  .tile:hover,.mini:hover,.card:hover{transform:none}
  .tile:hover .thumb .art-thumb,.card:hover .card-art img{transform:none}
}
@media print{.rv{opacity:1;transform:none}.tab-smoke,.detail-smoke,.read-bar,.trail{display:none}}
@media (max-width:820px){
  .tab-mosaic{grid-template-columns:1fr}
  .tab-mosaic .m1,.tab-mosaic .m2{display:none}
  .tab-hero::before{background:linear-gradient(90deg,rgba(8,12,10,.86),rgba(8,12,10,.62))}
  .tab-smoke{width:100%}
  .entry-grid{grid-template-columns:1fr}
  .entry-fig{order:-1}
  .entry-head .crumbs{margin-bottom:.6rem}
  .region-row{grid-template-columns:48px 1fr auto}
  .r-thumb{width:48px;height:48px;grid-row:1/3}
  .r-desc{grid-row:2;grid-column:2/-1}
  .jump{top:102px}
  .mat-group{scroll-margin-top:10rem}
}
@media (max-width:460px){
  .pager{grid-template-columns:1fr}
  .pager>div:last-child{text-align:left}
  .pager>div:last-child .mini{flex-direction:row;text-align:left}
  .card-tag{left:.3rem;bottom:.3rem;max-width:calc(100% - .6rem);font-size:.68rem;padding:.08rem .38rem}
}

/* Almanac matcher */
.alm-hero-cta{padding:.85rem 1.4rem;font-size:1.05rem;box-shadow:0 0 0 0 rgba(240,115,60,.55);animation:alm-glow 2.8s ease-out infinite}
@keyframes alm-glow{70%{box-shadow:0 0 0 14px rgba(240,115,60,0)}100%{box-shadow:0 0 0 0 rgba(240,115,60,0)}}
.alm-calc-band{position:relative;background:radial-gradient(70% 90% at 88% 0,#5a2b16 0,transparent 62%),linear-gradient(160deg,#1a2520,#0f1714);border-block:3px solid #f0733c}
.alm-calc-band h2{font-size:clamp(1.8rem,4vw,2.9rem);max-width:22ch}
.alm-steps{list-style:none;counter-reset:s;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:0 0 1.4rem;padding:0;color:var(--deep-ink);font-weight:500;font-size:.95rem}
.alm-steps li{counter-increment:s;display:flex;align-items:center;gap:.5rem}
.alm-steps li::before{content:counter(s);display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#f0733c;color:#17110c;font-weight:700;font-size:.85rem}
.alm-need-field{grid-column:span 2;color:#f3c7a8}
.alm-need-field select{border:2px solid #f0733c}
.alm-go-btn{padding:.85rem 1.3rem;font-size:1.02rem}
.alm-foryou{margin:0 0 1.75rem;padding:clamp(1rem,2.5vw,1.5rem);border:2px solid var(--accent);border-radius:var(--r);background:var(--accent-soft)}
.alm-result .alm-foryou h3{font-size:clamp(1.4rem,3vw,1.9rem);margin:0}
.alm-foryou-sum{margin:.3rem 0 .9rem;font-weight:600}
.alm-need-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.alm-need-chip{padding:.4rem .8rem;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--ink);font:500 .9rem "Instrument Sans",system-ui,sans-serif;cursor:pointer}
.alm-need-chip:hover{border-color:var(--ink)}
.alm-need-chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.alm-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:.9rem}
.alm-pick{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;animation:alm-in .45s cubic-bezier(.2,.7,.2,1) both;transition:transform .2s ease,border-color .2s ease}
.alm-pick:nth-child(2){animation-delay:.05s}.alm-pick:nth-child(3){animation-delay:.1s}.alm-pick:nth-child(4){animation-delay:.15s}.alm-pick:nth-child(5){animation-delay:.2s}.alm-pick:nth-child(6){animation-delay:.25s}
@keyframes alm-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.alm-pick:hover{transform:translateY(-3px);border-color:var(--ink)}
.alm-pick.top{border:2px solid var(--accent)}
.alm-pick>a{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}
.alm-pick-img{position:relative;display:block;aspect-ratio:3/2;background:var(--surface-2);overflow:hidden}
.alm-pick-img img{display:block;width:100%;height:100%;object-fit:cover}
.alm-pick-body{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .9rem .85rem}
.alm-pick-body strong{font:400 1.12rem/1.2 "Young Serif",Georgia,serif}
.alm-badge{align-self:flex-start;padding:.1rem .5rem;border-radius:7px;background:var(--ink);color:var(--bg);font-size:.72rem;font-weight:600}
.alm-pick.top .alm-badge{background:var(--accent);color:var(--accent-ink)}
.alm-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}
.alm-rite{margin-top:.3rem;font-size:.86rem;color:var(--muted);line-height:1.35}
.alm-pick-credit{padding:0 .9rem .6rem;font-size:.68rem;color:var(--muted)}
.alm-need-note{margin:.9rem 0 .3rem;font-weight:500;font-size:.93rem}
.alm-needs{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.1rem;margin-bottom:1rem}
.alm-need{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;scroll-margin-top:5rem}
.alm-need .thumb{margin:0}
.alm-need-body{display:flex;flex-direction:column;gap:.6rem;padding:1rem 1.1rem 1.15rem;flex:1}
.alm-need-body>p{color:var(--muted);font-size:.95rem;margin:0}
.alm-need-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.alm-need-list .mini{align-items:flex-start;background:var(--bg)}
.alm-need-list .mini b,.alm-need-list .mini small{white-space:normal}
.alm-need .btn{align-self:flex-start;margin-top:auto}
@media (prefers-reduced-motion:reduce){.alm-hero-cta,.alm-pick{animation:none}.alm-pick{transition:none}.alm-pick:hover{transform:none}}
@media (max-width:640px){.alm-need-field{grid-column:auto}.alm-needs{grid-template-columns:1fr}}
