@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-cyrillic-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-vietnamese-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-ext-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-cyrillic-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-vietnamese-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-vietnamese-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-ext-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-cyrillic-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-vietnamese-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Cormorant Garamond";font-style:italic;src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ===== Lapis v4 — museum / gallery design. Lapis, gold leaf, ivory paper. Mobile first. ===== */
:root{--night:#070f2e;--night2:#0b1640;--lapis:#0e1d55;--lapis2:#1d3a8f;--ink:#131b3d;--muted:#5a6282;--ivory:#f5f0e3;--paper:#fffdf8;--sand:#ece3cf;
--gold:#b8924a;--gold-soft:#e6cf93;--gold-ink:#7a5a1e;--line:rgba(19,27,61,.12);--line-soft:rgba(19,27,61,.07);
--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--r:16px;--ease:cubic-bezier(.22,.61,.36,1);--shadow:0 1px 2px rgba(19,27,61,.05),0 14px 34px -20px rgba(19,27,61,.32)}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--night)}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-color:rgba(122,90,30,.45);text-underline-offset:3px}
a:hover{color:var(--lapis2)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
body{--it:italic}
.nw{white-space:nowrap}
.l-ja,.l-zh,.l-zh-hant,.l-ko,.l-th,.l-my,.l-km,.l-lo,.l-si,.l-bo,.l-mn,.l-ne,.l-hi{--it:normal}
.l-ja h1,.l-ja h2,.l-ja h3,.l-ja .tile b,.l-ja .quote p,.l-ja .intro,.l-ja .lead,.l-ko h1,.l-ko h2,.l-ko h3,.l-ko .tile b{word-break:auto-phrase}
.l-ko{word-break:keep-all}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.003em;margin:0;color:var(--ink);text-wrap:balance}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:720px}
.center{text-align:center}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
.kicker{display:flex;align-items:center;justify-content:center;gap:12px;font:600 11px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 16px}
.kicker::before,.kicker::after{content:"";height:1px;width:28px;background:currentColor;opacity:.45}
.kicker a{text-decoration:none}
/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:20;background:rgba(245,240,227,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line-soft)}
.top.dark{position:absolute;left:0;right:0;background:linear-gradient(180deg,rgba(7,15,46,.55),transparent);border:0;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ivory)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:500 26px/1 var(--serif);letter-spacing:.1em;color:inherit}
.brand .lotus{width:30px;height:22px;color:var(--gold)}
.top.dark .brand .lotus{color:var(--gold-soft)}
nav.main{display:none}
.menu-btn{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid var(--line);color:inherit;border-radius:999px;padding:9px 15px 9px 13px;font:500 12.5px/1 var(--sans);letter-spacing:.1em;cursor:pointer;transition:border-color .4s var(--ease)}
.top.dark .menu-btn{border-color:rgba(230,207,147,.4);background:rgba(7,15,46,.25)}
.burger{width:16px;height:9px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
@media (min-width:900px){nav.main{display:flex;gap:32px;font-size:14px;letter-spacing:.04em}nav.main a{text-decoration:none;opacity:.85}nav.main a:hover,nav.main a[aria-current]{opacity:1;text-decoration:underline}.menu-btn .ml{display:none}.menu-btn{padding:10px}}
/* ---------- menu (dialog) ---------- */
dialog{border:0;padding:0;color:inherit}
.menu{width:100%;max-width:none;height:100%;max-height:none;margin:0;background:radial-gradient(120% 60% at 50% 0%,#14286b,var(--night) 70%);color:var(--ivory)}
.menu::backdrop{background:rgba(7,15,46,.5)}
.menu[open]{animation:fade .5s var(--ease)}
.menu-in{max-width:720px;margin:0 auto;padding:0 26px 60px}
.menu-top{display:flex;justify-content:space-between;align-items:center;height:64px}
.menu .brand .lotus{color:var(--gold-soft)}
.x{background:none;border:1px solid rgba(230,207,147,.35);color:inherit;width:42px;height:42px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}
.menu nav.big{display:flex;flex-direction:column;padding:28px 0 18px;border-bottom:1px solid rgba(230,207,147,.18)}
.menu nav.big a{font:500 34px/1.22 var(--serif);text-decoration:none;padding:8px 0}
.menu nav.big a:hover{color:var(--gold-soft)}
.mh{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);opacity:.85;margin:30px 0 14px}
.cats-mini{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:15px}
.cats-mini a{text-decoration:none;opacity:.85}
.langs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;font-size:15px}
.langs a{text-decoration:none;padding:6px 0;opacity:.8;border-bottom:1px solid rgba(230,207,147,.08)}
.langs a[aria-current]{opacity:1;color:var(--gold-soft)}
.langs a:hover{opacity:1}
@media (min-width:600px){.langs{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 28px;border-radius:999px;background:var(--lapis);color:var(--ivory);border:1px solid var(--lapis);font:500 14px/1.2 var(--sans);letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}
.btn:hover{background:var(--lapis2);color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(14,29,85,.6)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);box-shadow:none}
.btn.gold{background:linear-gradient(180deg,#f1dfab,#d9bb72);border-color:#e3c987;color:var(--night);box-shadow:0 10px 30px -12px rgba(230,207,147,.55)}
.btn.gold:hover{background:linear-gradient(180deg,#f6e7bd,#e0c47f);color:var(--night)}
.btn.line{background:rgba(7,15,46,.2);color:var(--ivory);border-color:rgba(230,207,147,.5)}
.btn.line:hover{border-color:var(--gold-soft);color:var(--gold-soft);background:rgba(7,15,46,.35)}
/* ---------- hero (full-bleed public-domain thangka) ---------- */
.hero{position:relative;overflow:hidden;background:var(--night);color:var(--ivory);text-align:center;min-height:min(94svh,880px);display:flex;align-items:flex-end;padding:120px 0 62px}
.hero-bg{position:absolute;inset:0 0 auto;height:74%}
@media (min-width:760px){.hero-bg{height:100%}}
.hero-bg img{width:100%;height:100%;object-fit:cover;animation:drift 40s var(--ease) both}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:
 linear-gradient(180deg,rgba(7,15,46,.5) 0%,rgba(7,15,46,0) 18%,rgba(7,15,46,.1) 34%,rgba(7,15,46,.78) 56%,rgba(7,15,46,.97) 72%,var(--night) 100%),
 radial-gradient(70% 45% at 50% 30%,transparent 40%,rgba(14,29,85,.45) 100%)}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;z-index:2;background:linear-gradient(90deg,transparent,rgba(230,207,147,.55),transparent)}
.hero-in{position:relative;z-index:2}
.hero h1{color:var(--ivory);font-size:clamp(38px,10.4vw,74px);font-weight:500;max-width:13em;margin:0 auto;text-shadow:0 2px 30px rgba(7,15,46,.6)}
.hero .names{font:500 11px/1.8 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin:0 auto 16px;max-width:32em}
.hero .orn{margin:20px auto 16px;color:var(--gold-soft)}
.hero .lead{max-width:30em;margin:0 auto;color:rgba(245,240,227,.86);font-size:16px;line-height:1.65}
.ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.stats{margin:26px 0 0;font-size:11.5px;letter-spacing:.12em;color:rgba(230,207,147,.78)}
.hero-cap{position:absolute;z-index:2;left:0;right:0;bottom:14px;margin:0;font-size:9.5px;letter-spacing:.08em;color:rgba(245,240,227,.42);text-align:center}
@media (max-width:599px){.hero .lead{display:none}.hero .orn{margin:18px auto 4px}}
.hero.full{min-height:100vh;align-items:center;padding:60px 0;background:radial-gradient(120% 70% at 50% 0%,#203a93 0%,var(--lapis) 45%,var(--night) 100%)}
.hero.full::before{display:none}
.hero.full .halo{width:170px;height:170px;margin:0 auto 22px;color:var(--gold-soft)}
.brandname{font-size:64px!important;letter-spacing:.1em}
.root-langs{max-width:640px;margin:34px auto 0;text-align:left}
.root-langs a{color:var(--ivory)}
.halo .spin{transform-origin:100px 100px;animation:spin 240s linear infinite}
.halo .breathe{transform-origin:100px 100px;animation:breathe 9s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes breathe{0%,100%{transform:scale(.97);opacity:.6}50%{transform:scale(1.02);opacity:.95}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:scale(1.09)}to{transform:scale(1.0)}}
.hero-in>*{animation:rise 1.1s var(--ease) both}
.hero-in>:nth-child(2){animation-delay:.12s}.hero-in>:nth-child(3){animation-delay:.24s}.hero-in>:nth-child(4){animation-delay:.34s}.hero-in>:nth-child(5){animation-delay:.44s}.hero-in>:nth-child(6){animation-delay:.54s}
/* ---------- ornament & quote ---------- */
.orn{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:22px auto}
.orn span{height:1px;width:72px;background:linear-gradient(90deg,transparent,currentColor)}
.orn span:last-child{background:linear-gradient(270deg,transparent,currentColor)}
.orn svg{width:30px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2}
.quote{padding:72px 0 64px;text-align:center;background:radial-gradient(60% 80% at 50% 0%,rgba(230,207,147,.22),transparent 70%)}
.quote .lotus{width:44px;height:30px;margin:0 auto 20px;color:var(--gold)}
.quote p{font:var(--it) 500 clamp(24px,6.2vw,34px)/1.4 var(--serif);max-width:24em;margin:0 auto;color:var(--ink)}
/* ---------- sections ---------- */
.sec{padding:76px 0;position:relative}
.sec>.wrap>h2{font-size:clamp(30px,7.6vw,46px);margin:0 auto 14px;max-width:16em;text-align:center}
.sec>.wrap>h2+.tiles,.sec>.wrap>h2+.grid,.sec>.wrap>h2+.svcs,.sec>.wrap>h2+.arows{margin-top:36px}
.sec .sub{text-align:center;color:var(--muted);max-width:30em;margin:0 auto 34px;font-size:15px}
.sec.alt{background:var(--paper);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.sec.night{background:var(--night);color:var(--ivory);overflow:hidden}
.night-bg{position:absolute;inset:0}
.night-bg img{width:100%;height:100%;object-fit:cover;opacity:.2;filter:grayscale(1) contrast(1.1)}
.sec.night::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--night) 0%,rgba(7,15,46,.55) 30%,rgba(7,15,46,.7) 70%,var(--night) 100%)}
.sec.night>.wrap{position:relative}
.sec.night h2,.sec.night h3{color:var(--ivory)}
.sec.night .kicker{color:var(--gold-soft)}
.sec .center{margin-top:38px}
/* ---------- category tiles (artwork) ---------- */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tile{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ivory);background:var(--night);box-shadow:var(--shadow);isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);z-index:-2}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,15,46,0) 35%,rgba(7,15,46,.55) 62%,rgba(7,15,46,.92) 100%)}
.tile::after{content:"";position:absolute;inset:7px;border:1px solid rgba(230,207,147,.28);border-radius:11px;pointer-events:none}
.tile .tl{position:absolute;left:0;right:0;bottom:0;padding:0 16px 16px}
.tile b{display:block;font:500 21px/1.12 var(--serif);color:var(--ivory);overflow-wrap:break-word}
.tile small{display:block;font-size:11px;color:var(--gold-soft);letter-spacing:.14em;margin-top:5px}
.tile:hover{color:var(--ivory)}
.tile:hover img{transform:scale(1.06)}
.l-ja .tile b,.l-zh .tile b,.l-zh-hant .tile b,.l-ko .tile b{font-size:18px;line-height:1.3}
.l-bo .tile b,.l-my .tile b,.l-si .tile b,.l-km .tile b,.l-lo .tile b{line-height:1.45;font-size:17px}
@media (min-width:720px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:1000px){.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* ---------- gallery (museum wall) ---------- */
.sec.gallery{background:radial-gradient(80% 60% at 50% 0%,#172b70 0%,var(--night2) 55%,var(--night) 100%);color:var(--ivory);padding-bottom:64px}
.sec.gallery h2{color:var(--ivory)}
.sec.gallery .kicker{color:var(--gold-soft)}
.sec.gallery .sub{color:rgba(245,240,227,.7)}
.gscroll{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px max(24px,calc((100vw - 1160px)/2 + 24px)) 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gscroll::-webkit-scrollbar{display:none}
.gitem{flex:0 0 66vw;max-width:300px;margin:0;scroll-snap-align:center}
.gitem .frame{aspect-ratio:3/4;padding:9px;background:linear-gradient(145deg,#f6ecd2,#d9c08a);border-radius:4px;box-shadow:0 30px 50px -30px rgba(0,0,0,.8),0 0 0 1px rgba(230,207,147,.3)}
.gitem img{width:100%;height:100%;object-fit:cover;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.gitem figcaption{padding:14px 2px 0;text-align:center}
.gitem figcaption b{display:block;font:500 19px/1.2 var(--serif);color:var(--ivory)}
.gitem figcaption>span{display:block;margin-top:4px;font-size:11.5px;letter-spacing:.06em;color:rgba(230,207,147,.75)}
/* ---------- illustration wells ---------- */
.art{display:grid;place-items:center;background:radial-gradient(85% 85% at 50% 30%,#2a48a6 0%,var(--lapis) 58%,var(--night) 100%);overflow:hidden;position:relative;color:#e9d49b}
.art::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(230,207,147,.2),transparent 68%)}
.art::after{content:"";position:absolute;inset:7px;border:1px solid rgba(230,207,147,.2);border-radius:9px;pointer-events:none}
.art .ill{width:74%;height:74%;position:relative;transition:transform 1s var(--ease)}
.art.c-art,.art.c-textiles{background:radial-gradient(85% 85% at 50% 30%,#8a2e22 0%,#5a1712 58%,#2a0907 100%)}
.art.c-malas,.art.c-jewelry{background:radial-gradient(85% 85% at 50% 30%,#3b3f9e 0%,#20236a 58%,#0d0f36 100%)}
.art.c-altar,.art.c-misc{background:radial-gradient(85% 85% at 50% 30%,#1d6a5c 0%,#0f4038 58%,#06201c 100%)}
.art.c-books,.art.c-music{background:radial-gradient(85% 85% at 50% 30%,#7a5a26 0%,#4a3312 58%,#22170a 100%)}
.art.photo{background:#fff}
.art.photo::before,.art.photo::after{display:none}
.art.photo img{width:100%;height:100%;object-fit:contain;padding:10%}
.m-bronze,.m-copper,.m-sandal,.m-wood{color:#e9bb8a}
.m-resin,.m-ceramic,.m-cotton,.m-canvas,.m-stone{color:#f0e6cf}
.m-crystal,.m-silver,.m-alloy{color:#d3e0f4}
.m-lapis,.m-turquoise{color:#b0caff}
.m-jade{color:#addfc4}
/* ---------- product cards ---------- */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .6s var(--ease),box-shadow .6s var(--ease);animation:rise .8s var(--ease) both}
.card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(19,27,61,.05),0 26px 46px -24px rgba(19,27,61,.42)}
.card:hover .ill{transform:scale(1.05)}
.card .art{aspect-ratio:1;width:100%}
.card .bd{min-width:0;padding:13px 13px 14px;display:flex;flex-direction:column;flex:1}
.card .kick{font:600 9.5px/1.35 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 6px}
.card h3{font-size:18.5px;line-height:1.16;font-weight:500}
.card h3 a{text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card h3.lang-orig{font-size:17px}
.card .ex{margin:5px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.card .by{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:4px}
.card .meta{margin:auto 0 0;padding-top:10px;font-size:12px;line-height:1.45;color:var(--muted)}
.card .pn{color:var(--ink)}
.tier{display:inline-flex;align-items:center;gap:5px;color:var(--gold-ink);font-weight:600}
.tier::before{content:"";width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg)}
.tier.t-p::before{background:currentColor}
.lk{margin:2px 0 0;font-size:11px;line-height:1.4;font-style:var(--it);color:var(--muted);opacity:.85}
.vt{position:relative;z-index:1;margin-top:8px;font-size:11px;color:var(--muted)}
.vt summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;opacity:.7;line-height:1.35}
.vt summary::-webkit-details-marker{display:none}
.vt summary::before{content:"+";flex:none;font-size:12px;line-height:1;width:14px;height:14px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.vt[open] summary::before{content:"–"}
.vt p{margin:6px 0 0;line-height:1.5;word-break:break-word}
@media (min-width:720px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card .bd{padding:16px 18px 18px}.card h3{font-size:21px}}
@media (min-width:1100px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* ---------- page heads (artwork banner) ---------- */
.pagehead{padding:50px 0 28px;text-align:center}
.pagehead h1{font-size:clamp(38px,10vw,60px)}
.pagehead .intro{max-width:34em;margin:16px auto 0;color:var(--muted);font-size:15px}
.ph-art{position:relative;overflow:hidden;background:var(--night);color:var(--ivory);padding:76px 0 50px;min-height:340px;display:flex;align-items:flex-end}
.ph-bg{position:absolute;inset:0}
.ph-bg img{width:100%;height:100%;object-fit:cover;animation:drift 30s var(--ease) both}
.ph-art::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,15,46,.35),rgba(7,15,46,.72) 55%,rgba(7,15,46,.95))}
.ph-art::after{content:"";position:absolute;inset:auto 0 0;height:1px;z-index:2;background:linear-gradient(90deg,transparent,rgba(230,207,147,.55),transparent)}
.ph-art .wrap{position:relative;z-index:2}
.ph-art h1{color:var(--ivory);text-shadow:0 2px 24px rgba(7,15,46,.6)}
.ph-art .kicker{color:var(--gold-soft)}
.ph-art .intro{color:rgba(245,240,227,.84)}
.ph-cap{position:absolute;z-index:2;right:12px;top:12px;margin:0;font-size:10px;letter-spacing:.05em;color:rgba(245,240,227,.5);max-width:60%;text-align:right;line-height:1.4}
.toc{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 4px;font-size:13.5px}
.toc a{text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--paper)}
.toc a:hover{border-color:var(--gold)}
/* ---------- toolbar & filter sheet ---------- */
.toolbar{position:sticky;top:64px;z-index:10;background:rgba(245,240,227,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);padding:12px 0}
.tb{display:flex;gap:10px}
.search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 16px;min-height:46px;box-shadow:inset 0 1px 2px rgba(19,27,61,.04)}
.search svg,.fbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;flex:none;opacity:.7}
.search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:15px;color:inherit;outline:none;padding:10px 0}
.fbtn{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--lapis);background:var(--lapis);color:var(--ivory);font:500 14px/1 var(--sans);cursor:pointer}
.fbtn b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--gold-soft);color:var(--night);font-size:11.5px;padding:0 6px}
.list{padding:22px 0 80px}
.count{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 0 18px;text-align:center}
.empty{text-align:center;color:var(--muted);padding:40px 0}
.sheet{width:100%;max-width:560px;max-height:88vh;margin:auto auto 0;border-radius:24px 24px 0 0;background:var(--paper);color:var(--ink);box-shadow:0 -20px 60px -20px rgba(7,15,46,.4)}
.sheet::backdrop{background:rgba(7,15,46,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.sheet[open]{animation:sheet .45s var(--ease)}
@keyframes sheet{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.sheet form{display:flex;flex-direction:column;max-height:88vh}
.sh-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line-soft)}
.sh-top h2{font-size:26px}
.sheet .x{border-color:var(--line);color:var(--ink)}
.sh-body{overflow:auto;padding:6px 22px 10px}
.sh-body fieldset{border:0;margin:0;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.sh-body legend{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);padding:0;margin-bottom:12px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{position:relative}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:14px;line-height:1.3;cursor:pointer;transition:all .3s var(--ease)}
.opts input:checked+span{background:var(--lapis);border-color:var(--lapis);color:var(--ivory)}
.opts input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.sh-foot{display:flex;gap:10px;padding:14px 22px 22px;border-top:1px solid var(--line-soft)}
.sh-foot .btn{flex:1}
@media (min-width:700px){.sheet{margin:auto;border-radius:24px}}
.fine{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-soft);font-size:12.5px;color:var(--muted);line-height:1.6}
.fine p{margin:0 0 .8em}
.fine a{color:var(--muted)}
.fl{font-weight:600;color:var(--ink)}
/* ---------- services ---------- */
.svcs{display:grid;grid-template-columns:1fr;gap:12px}
.svc{display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:start;padding:18px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-soft);position:relative;box-shadow:var(--shadow);transition:transform .6s var(--ease)}
.svc:hover{transform:translateY(-3px)}
.svc .art.sm{width:60px;height:60px;border-radius:50%}
.svc .art.sm::after{border-radius:50%;inset:4px}
.svc h3{font-size:20px;line-height:1.2}
.svc h3 a{text-decoration:none}
.svc h3 a::after{content:"";position:absolute;inset:0}
.svc .org{margin:6px 0 0;font-size:13px;color:var(--muted)}
.svc .pn{color:var(--ink)}
.svc .meta{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.sec.night .svc{background:rgba(255,255,255,.05);border-color:rgba(230,207,147,.18);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sec.night .svc .org,.sec.night .svc .meta,.sec.night .lk{color:rgba(245,240,227,.72)}
.sec.night .svc .pn{color:var(--ivory)}
.svcpage{padding-bottom:80px}
.ssec{padding:34px 0 8px}
.ssec h2{font-size:30px;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.ssec h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.5}
@media (min-width:720px){.svcs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.sec .svcs{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ---------- articles ---------- */
.arows{display:flex;flex-direction:column}
.arow{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}
.arow:first-child{border-top:1px solid var(--line)}
.arow .thumb{flex:none;width:84px;height:84px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:var(--night)}
.arow .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.arow:hover .thumb img{transform:scale(1.07)}
.arow b{display:block;font:500 22px/1.2 var(--serif)}
.arow small{display:block;margin-top:5px;font-size:13px;color:var(--muted);line-height:1.5}
.arow:hover b{color:var(--lapis2)}
.arows.big .arow b{font-size:23px}
.arows.big{margin:34px 0 80px}
.prose .ahead{text-align:center;padding:52px 0 8px}
.prose .ahead h1{font-size:clamp(34px,9vw,54px)}
.prose .ahead .lead{font:var(--it) 500 21px/1.5 var(--serif);color:var(--muted);margin:18px auto 0;max-width:30em}
.plate{margin:10px 0 40px}
.plate .frame{padding:10px;background:linear-gradient(145deg,#f7eed6,#dcc48f);border-radius:4px;box-shadow:0 30px 50px -34px rgba(7,15,46,.55),0 0 0 1px rgba(184,146,74,.25)}
.plate img{width:100%;max-height:72svh;object-fit:cover;border-radius:2px}
.plate figcaption{margin-top:12px;text-align:center;font-size:12px;letter-spacing:.04em;color:var(--muted);font-style:var(--it)}
.prose .body{padding-bottom:80px;font-size:17px;line-height:1.82}
.prose .body h2{font-size:30px;margin:48px 0 14px}
.prose .body h2::before{content:"";display:block;width:36px;height:1px;background:var(--gold);margin-bottom:18px}
.l-fr .prose .body>p:first-child::first-letter,.l-en .prose .body>p:first-child::first-letter,.l-es .prose .body>p:first-child::first-letter,.l-de .prose .body>p:first-child::first-letter,.l-it .prose .body>p:first-child::first-letter,.l-pt .prose .body>p:first-child::first-letter,.l-id .prose .body>p:first-child::first-letter{float:left;font:500 3.6em/.82 var(--serif);color:var(--gold-ink);padding:.08em .12em 0 0}
.prose .body ul{padding-left:0;list-style:none;margin:0 0 1.2em}
.prose .body li{position:relative;padding-left:24px;margin:0 0 .55em}
.prose .body li::before{content:"";position:absolute;left:4px;top:.75em;width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}
.prose .body p a:not(.btn),.prose .body li a{color:var(--lapis2)}
.prose .body .arows{margin:30px 0}
.prose blockquote{margin:0 0 1em;padding:12px 18px;border-left:2px solid var(--gold);background:var(--paper);font-style:var(--it)}
.credits{font-size:14px;line-height:1.6}
.credits li{margin-bottom:.7em}
.next{display:block;margin:44px 0 30px;padding:24px 26px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-soft);text-decoration:none;box-shadow:var(--shadow)}
.next small{display:block;font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:8px}
.next b{font:500 23px/1.3 var(--serif)}
/* ---------- footer ---------- */
.foot{position:relative;background:radial-gradient(90% 60% at 50% 0%,#13286b 0%,var(--night) 70%);color:rgba(245,240,227,.75);text-align:center;padding:70px 0 44px;font-size:13.5px}
.foot::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(230,207,147,.6),transparent)}
.foot .halo.sm{width:72px;height:72px;margin:0 auto 16px;color:var(--gold-soft)}
.fbrand{font:500 34px/1 var(--serif);letter-spacing:.16em;color:var(--ivory);margin:0 0 10px}
.ftag{font:var(--it) 500 19px/1.4 var(--serif);color:var(--gold-soft);margin:0 auto;max-width:22em}
.foot .orn{color:rgba(230,207,147,.6);margin:28px auto}
.flinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;max-width:440px;margin:0 auto 30px}
.flinks a{text-decoration:none;color:var(--ivory);opacity:.85;font-size:14px}
.flinks a:hover{opacity:1;color:var(--gold-soft)}
.flang{display:inline-flex;align-items:center;gap:10px;font-size:12.5px}
.flang select{background:transparent;color:var(--ivory);border:1px solid rgba(230,207,147,.35);border-radius:999px;padding:9px 16px;font:inherit}
.flang option{color:#000}
.f-fine{max-width:40em;margin:34px auto 0;padding-top:24px;border-top:1px solid rgba(230,207,147,.14);font-size:12px;line-height:1.65;opacity:.8}
.f-fine p{margin:0 0 .8em}
@media (min-width:720px){.flinks{display:flex;flex-wrap:wrap;justify-content:center;max-width:none}}
/* ---------- scroll reveal (only when JS runs) ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}
/* ---------- scripts that need more line height ---------- */
.l-th,.l-lo,.l-km,.l-my,.l-si,.l-bo,.l-hi,.l-ne{line-height:1.85}
.l-th h1,.l-th h2,.l-th h3,.l-lo h1,.l-lo h2,.l-lo h3,.l-km h1,.l-km h2,.l-km h3,.l-my h1,.l-my h2,.l-my h3,.l-si h1,.l-si h2,.l-si h3,.l-bo h1,.l-bo h2,.l-bo h3,.l-hi h1,.l-hi h2,.l-hi h3,.l-ne h1,.l-ne h2,.l-ne h3{line-height:1.42}
.l-my h1,.l-km h1,.l-bo h1,.l-si h1{font-size:clamp(28px,7.4vw,46px)}
.l-th .hero h1,.l-lo .hero h1{font-size:clamp(32px,9vw,60px)}
.l-ja .kicker,.l-zh .kicker,.l-zh-hant .kicker,.l-ko .kicker,.l-th .kicker,.l-bo .kicker,.l-my .kicker,.l-km .kicker,.l-lo .kicker,.l-si .kicker,.l-hi .kicker,.l-ne .kicker,
.l-ja .card .kick,.l-zh .card .kick,.l-zh-hant .card .kick,.l-ko .card .kick,.l-th .card .kick,.l-bo .card .kick,.l-my .card .kick,.l-km .card .kick,.l-lo .card .kick,.l-si .card .kick,.l-hi .card .kick,.l-ne .card .kick{letter-spacing:.06em;font-size:11.5px}
.l-ja .hero .names,.l-zh .hero .names,.l-zh-hant .hero .names,.l-ko .hero .names{letter-spacing:.1em}
.l-ja h1,.l-zh h1,.l-zh-hant h1,.l-ko h1{letter-spacing:.04em}
.l-ja .hero h1,.l-zh .hero h1,.l-zh-hant .hero h1,.l-ko .hero h1{font-size:clamp(34px,9.4vw,64px)}
.l-ja .card h3,.l-zh .card h3,.l-zh-hant .card h3,.l-ko .card h3{font-size:16.5px;line-height:1.35}
.l-ja .prose .ahead .lead,.l-zh .prose .ahead .lead,.l-zh-hant .prose .ahead .lead,.l-ko .prose .ahead .lead{font:400 16.5px/1.8 var(--sans)}
/* =====================================================================================================
   Lapis v5 — LUMINOUS. Warm white, bright ivory, clear sky; vivid lapis, solar gold, turquoise & jade.
   Halos and rays, light that pulses, a few floating motes. Everything stops under prefers-reduced-motion.
   ===================================================================================================== */
:root{--night:#173a9c;--night2:#1f4fd6;--lapis:#1f4fd6;--lapis2:#1640b8;--lapis-ink:#163a9e;--ink:#17204a;--muted:#4a5577;
--ivory:#fffaf0;--paper:#ffffff;--sand:#fff1d6;--sky:#e8f4ff;--sky2:#d3eaff;--sun:#ffc53d;--sun2:#ffdd7a;
--gold:#e5a50a;--gold-soft:#ffd56b;--gold-ink:#8a5a00;--turq:#11a8a4;--turq-soft:#c9f3ef;--jade:#2fa37a;--jade-ink:#1b7350;
--line:rgba(23,32,74,.13);--line-soft:rgba(23,32,74,.07);
--shadow:0 1px 2px rgba(31,79,214,.06),0 16px 36px -22px rgba(31,79,214,.38);--glow:0 0 0 1px rgba(255,197,61,.35),0 18px 44px -18px rgba(255,170,30,.5)}
html{background:var(--ivory)}
body{background:linear-gradient(180deg,#fffdf7 0,var(--ivory) 600px)}
a:hover{color:var(--lapis)}
:focus-visible{outline:2px solid var(--lapis);outline-offset:3px}
.kicker{color:var(--gold-ink)}
.kicker::before,.kicker::after{background:linear-gradient(90deg,transparent,var(--gold));opacity:1;width:34px}
.kicker::after{background:linear-gradient(270deg,transparent,var(--gold))}
/* header */
.top{background:rgba(255,250,240,.82);border-bottom:1px solid rgba(229,165,10,.18)}
.brand{color:var(--lapis-ink)}
.brand .lotus{color:var(--gold)}
.menu-btn{border-color:rgba(31,79,214,.25);color:var(--lapis-ink);background:rgba(255,255,255,.6)}
.menu-btn:hover{border-color:var(--lapis)}
/* menu: bright sky with sunlight */
.menu{background:radial-gradient(90% 50% at 50% 0%,#fff1c2 0%,rgba(255,241,194,0) 70%),linear-gradient(180deg,#fffaf0,#e8f4ff);color:var(--ink)}
.menu::backdrop{background:rgba(23,58,156,.25)}
.menu .brand .lotus{color:var(--gold)}
.x{border-color:rgba(31,79,214,.25);color:var(--lapis-ink);background:#fff}
.menu nav.big{border-bottom-color:rgba(229,165,10,.3)}
.menu nav.big a{color:var(--lapis-ink)}
.menu nav.big a:hover{color:var(--lapis)}
.mh{color:var(--gold-ink)}
.langs a{border-bottom-color:rgba(31,79,214,.08)}
.langs a[aria-current]{color:var(--lapis);font-weight:600}
/* buttons: vivid lapis, solar gold */
.btn{background:linear-gradient(180deg,#2a5ff0,#1a47c6);border-color:#1a47c6;color:#fff}
.btn:hover{background:linear-gradient(180deg,#3a6cf5,#1f4fd6);color:#fff;box-shadow:0 14px 28px -14px rgba(31,79,214,.7)}
.btn.ghost{background:#fff;color:var(--lapis-ink);border-color:rgba(31,79,214,.3)}
.btn.ghost:hover{border-color:var(--lapis);background:#f4f8ff;color:var(--lapis-ink)}
.btn.gold{background:linear-gradient(180deg,#ffe07e,#ffb81f);border-color:#f3aa12;color:#2a1d00;box-shadow:0 12px 30px -12px rgba(255,170,20,.75)}
.btn.gold:hover{background:linear-gradient(180deg,#ffe896,#ffc23d);color:#2a1d00}
.btn.line{background:rgba(255,255,255,.75);color:var(--lapis-ink);border-color:rgba(31,79,214,.35)}
.btn.line:hover{background:#fff;border-color:var(--lapis);color:var(--lapis-ink)}
/* ---------- hero: sunrise of lapis light ---------- */
.hero.lum{background:radial-gradient(70% 46% at 50% 30%,#fff8dc 0%,rgba(255,248,220,0) 70%),radial-gradient(120% 60% at 50% 100%,#d9f3ff 0%,rgba(217,243,255,0) 70%),linear-gradient(180deg,#fffaf0 0%,#fff3d9 48%,#e6f4ff 100%);
 color:var(--ink);min-height:0;display:block;padding:24px 0 54px;overflow:hidden}
.hero.lum::before{content:"";position:absolute;left:50%;top:-10%;width:180vmax;height:180vmax;margin-left:-90vmax;z-index:0;pointer-events:none;
 background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,199,61,.16) 0deg 3deg,rgba(255,199,61,0) 3deg 10deg,rgba(17,168,164,.09) 10deg 12deg,rgba(255,199,61,0) 12deg 20deg);
 -webkit-mask:radial-gradient(circle at 50% 50%,#000 0,#000 12%,transparent 40%);mask:radial-gradient(circle at 50% 50%,#000 0,#000 12%,transparent 40%);
 transform-origin:50% 50%;animation:spin 220s linear infinite;top:calc(-90vmax + 230px)}
.hero.lum::after{background:linear-gradient(90deg,transparent,rgba(229,165,10,.45),transparent)}
.hero.lum .hero-in{display:grid;gap:4px;justify-items:center;position:relative;z-index:2}
.hero-ill{margin:0;width:min(86vw,440px);display:grid;justify-items:center;gap:10px;filter:none}
.hero-frame{position:relative;width:100%;aspect-ratio:3/3.7;border-radius:999px 999px 18px 18px;overflow:hidden;background:#fff4d6;
 box-shadow:0 0 0 6px #fff,0 0 0 9px rgba(229,165,10,.75),0 0 70px 14px rgba(255,213,107,.65),0 28px 48px -22px rgba(200,130,0,.55);
 animation:glowring 7s ease-in-out infinite,float 9s ease-in-out infinite}
.hero-frame img{width:100%;height:100%;object-fit:cover}
.hero-frame::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 55% at 50% 8%,rgba(255,248,220,.35),transparent 55%);pointer-events:none}
.hero.lum h1{color:var(--lapis-ink);text-shadow:0 1px 0 #fff,0 0 30px rgba(255,255,255,.9);font-size:clamp(36px,9.6vw,68px)}
.hero.lum .names{color:var(--gold-ink);margin-bottom:12px}
.hero.lum .orn{color:var(--gold)}
.hero.lum .lead{color:var(--muted)}
.hero.lum .stats{color:var(--jade-ink);font-weight:600}
.hero.lum .hero-cap{position:static;color:rgba(23,32,74,.72);font-size:10.5px;letter-spacing:.04em;text-align:center;margin:0;max-width:28em}
.hero-txt{text-align:center}
@media (min-width:900px){.hero.lum{padding:40px 0 70px}.hero.lum .hero-in{grid-template-columns:1fr 1.05fr;align-items:center;gap:40px}.hero-ill{width:100%;max-width:480px;order:2}.hero-txt{text-align:left}.hero-txt .orn{justify-content:flex-start}.hero-txt .ctas{justify-content:flex-start}.hero.lum h1{margin:0}.hero.lum .lead{display:block;margin:0}.hero.lum .hero-cap{text-align:left}}
@media (max-width:599px){.hero.lum .lead{display:none}}
@media (prefers-reduced-motion:reduce){.hero-frame{animation:none}}
.motes{position:absolute;inset:0;z-index:1;pointer-events:none}
.motes i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#fff 0,#ffd56b 45%,rgba(255,213,107,0) 72%);
 box-shadow:0 0 12px 3px rgba(255,205,90,.55);animation:mote 9s ease-in-out var(--d) infinite;opacity:.0}
.motes i:nth-child(3n){background:radial-gradient(circle,#fff 0,#7fe3dc 45%,rgba(127,227,220,0) 72%);box-shadow:0 0 12px 3px rgba(17,168,164,.35)}
@keyframes mote{0%{opacity:0;transform:translateY(16px) scale(.6)}30%{opacity:.95}70%{opacity:.8}100%{opacity:0;transform:translateY(-46px) scale(1.15)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes glow{0%,100%{opacity:.65}50%{opacity:1}}
/* root language chooser */
.hero.full{background:radial-gradient(70% 50% at 50% 30%,#fff3c4 0%,rgba(255,243,196,0) 70%),linear-gradient(180deg,#fffaf0,#e6f4ff);color:var(--ink)}
.hero.full .brandname{color:var(--lapis-ink)}
.hero.full .names{color:var(--gold-ink)}
.rootmark{width:170px;height:170px;margin:0 auto 18px;filter:drop-shadow(0 16px 30px rgba(255,170,30,.35))}
.root-langs a{color:var(--lapis-ink)}
/* ---------- quote ---------- */
.quote{background:radial-gradient(55% 90% at 50% 0%,rgba(255,213,107,.32),transparent 70%)}
.quote .lotus{color:var(--gold)}
.quote p{color:var(--lapis-ink)}
/* ---------- living light: luminous attributes (bowl, arura, lotus) ---------- */
.sec.live{background:linear-gradient(180deg,rgba(232,244,255,0),#e8f4ff 30%,#effaf6 100%);overflow:hidden}
.lives{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:30px -10px 0}
.lv{margin:0;text-align:center}
.lv-ill{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff7dc 55%,rgba(255,247,220,0) 72%);display:grid;place-items:center}
.lv-ill img{width:100%;height:auto}
.lv figcaption{margin-top:6px;font:500 17px/1.2 var(--serif);color:var(--lapis-ink)}
@media (min-width:720px){.lives{gap:30px}.lv figcaption{font-size:22px}}
/* ---------- sections ---------- */
.sec.alt{background:linear-gradient(180deg,#fffdf7,#fff6e3);border-color:rgba(229,165,10,.15)}
.sec.sky{background:radial-gradient(70% 40% at 50% 0%,rgba(255,213,107,.3),transparent 70%),linear-gradient(180deg,#e8f4ff,#dff6f1);color:var(--ink);overflow:hidden;padding-bottom:150px}
.sec.sky::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;background:url(/assets/draw/lotus-plantes.svg) center bottom/auto 100% no-repeat;opacity:.95;pointer-events:none}
.sec.sky>.wrap{position:relative;z-index:1}
.sec.sky h2{color:var(--lapis-ink)}
.sec.sky .kicker{color:var(--jade-ink)}
.sec.sky .svc{background:rgba(255,255,255,.92);border-color:rgba(17,168,164,.2)}
.sec>.wrap>h2{color:var(--lapis-ink)}
/* ---------- category tiles: artworks in luminous frames ---------- */
.tile{background:#fff;color:var(--ink);aspect-ratio:auto;display:flex;flex-direction:column;padding:8px 8px 0;box-shadow:var(--shadow);border:1px solid rgba(229,165,10,.22)}
.tile::before{display:none}
.tile::after{inset:3px;border-color:rgba(255,197,61,.45);border-radius:14px}
.tframe{position:relative;display:block;aspect-ratio:4/4.4;border-radius:999px 999px 10px 10px;overflow:hidden;background:#fff4d6;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px rgba(229,165,10,.55)}
.tframe::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 0%,rgba(255,240,190,.35),transparent 60%);pointer-events:none}
.tile img{position:absolute;inset:0;z-index:0}
.tile .tl{position:static;padding:12px 8px 14px;text-align:center}
.tile b{color:var(--lapis-ink);font-size:20px}
.tile small{color:var(--gold-ink);font-weight:600}
.tile:hover{color:var(--ink);box-shadow:var(--glow)}
/* ---------- gallery: museum wall in daylight ---------- */
.sec.gallery{background:radial-gradient(60% 50% at 50% 0%,rgba(255,213,107,.35),transparent 70%),linear-gradient(180deg,#fff8e8,#fff2d6);color:var(--ink)}
.sec.gallery h2{color:var(--lapis-ink)}
.sec.gallery .kicker{color:var(--gold-ink)}
.sec.gallery .sub{color:var(--muted)}
.gitem .frame{background:linear-gradient(145deg,#fff6d8,#ffd56b 55%,#f2b628);box-shadow:0 26px 40px -26px rgba(200,130,0,.55),0 0 0 1px rgba(229,165,10,.4),0 0 40px -6px rgba(255,213,107,.6)}
.gitem figcaption b{color:var(--lapis-ink)}
.gitem figcaption>span{color:var(--gold-ink)}
/* ---------- illustration wells: bright, coloured, radiant ---------- */
.art{background:radial-gradient(75% 75% at 50% 42%,#ffffff 0%,#e3f0ff 55%,#c4ddff 100%);color:var(--lapis-ink);--i-body:#3a71f2;--i-panel:#fff4cf;--i-gold:rgba(255,197,61,.45)}
.art::before{width:150%;aspect-ratio:1;border-radius:0;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,197,61,.28) 0deg 4deg,rgba(255,197,61,0) 4deg 15deg);
 -webkit-mask:radial-gradient(circle,#000 18%,transparent 52%);mask:radial-gradient(circle,#000 18%,transparent 52%);transition:transform 1.4s var(--ease)}
.art::after{border-color:rgba(255,255,255,.9);border-width:2px}
.card:hover .art::before{transform:rotate(18deg) scale(1.06)}
.art.c-art,.art.c-textiles{background:radial-gradient(75% 75% at 50% 42%,#ffffff 0%,#ffeeda 55%,#ffd2ad 100%);color:#7a2e12;--i-panel:#ffe2c8}
.art.c-malas,.art.c-jewelry{background:radial-gradient(75% 75% at 50% 42%,#ffffff 0%,#ebeaff 55%,#d0d0ff 100%);color:#2b2f9a}
.art.c-altar,.art.c-misc{background:radial-gradient(75% 75% at 50% 42%,#ffffff 0%,#dcf7ec 55%,#b4ecd5 100%);color:var(--jade-ink);--i-panel:#e5fff4}
.art.c-books,.art.c-music{background:radial-gradient(75% 75% at 50% 42%,#ffffff 0%,#fff2c8 55%,#ffde8a 100%);color:#7a4b00}
.art.c-digital{background:radial-gradient(75% 75% at 50% 42%,#ffffff 0%,#d8f7f4 55%,#a9ebe5 100%);color:#0d6d69}
.art .ill{stroke-width:1.15}
.m-bronze,.m-copper,.m-sandal,.m-wood{color:#8c4410!important}
.m-crystal,.m-silver,.m-alloy{color:#33507e!important}
.m-lapis,.m-turquoise{color:#1a47c6!important}
.m-jade{color:#1b7350!important}
.m-resin,.m-ceramic,.m-cotton,.m-canvas,.m-stone{color:inherit}
.card{border-color:rgba(31,79,214,.08)}
.card:hover{box-shadow:0 2px 4px rgba(31,79,214,.06),0 26px 46px -24px rgba(31,79,214,.45),0 0 0 1px rgba(255,197,61,.45)}
.card h3 a:hover{color:var(--lapis)}
.tier{color:var(--gold-ink)}
.svc .art.sm{background:radial-gradient(circle,#fff 0,#fff1c4 60%,#ffd977 100%);color:var(--lapis-ink)}
/* ---------- page heads: artwork in a golden arch, sunrise behind ---------- */
.ph-lum{position:relative;overflow:hidden;text-align:center;padding:22px 0 96px;
 background:radial-gradient(60% 55% at 50% 22%,#fff6d4 0%,rgba(255,246,212,0) 70%),linear-gradient(180deg,#fffaf0 0%,#fff3dc 55%,#e7f4ff 100%)}
.ph-lum::before{content:"";position:absolute;left:50%;top:-40vmax;width:160vmax;height:160vmax;margin-left:-80vmax;pointer-events:none;
 background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,199,61,.15) 0deg 3deg,rgba(255,199,61,0) 3deg 11deg);
 -webkit-mask:radial-gradient(circle,#000 6%,transparent 34%);mask:radial-gradient(circle,#000 6%,transparent 34%);animation:spin 260s linear infinite}
.ph-lum::after{content:"";position:absolute;left:0;right:0;bottom:0;height:96px;background:url(/assets/draw/lotus-plantes.svg) center bottom/auto 100% no-repeat;pointer-events:none}
.ph-in{position:relative;z-index:1;display:grid;justify-items:center;gap:18px}
.arch{margin:0;width:min(40vw,190px)}
.arch-f{position:relative;aspect-ratio:3/3.8;border-radius:999px 999px 14px 14px;overflow:hidden;padding:0;background:#fff4d6;
 box-shadow:0 0 0 5px #fff,0 0 0 7px rgba(229,165,10,.7),0 0 60px 10px rgba(255,213,107,.55),0 24px 40px -24px rgba(200,130,0,.6);animation:glowring 7s ease-in-out infinite}
.arch-f img{width:100%;height:100%;object-fit:cover}
@keyframes glowring{0%,100%{box-shadow:0 0 0 5px #fff,0 0 0 7px rgba(229,165,10,.7),0 0 46px 6px rgba(255,213,107,.45),0 24px 40px -24px rgba(200,130,0,.6)}50%{box-shadow:0 0 0 5px #fff,0 0 0 7px rgba(229,165,10,.7),0 0 70px 14px rgba(255,213,107,.7),0 24px 40px -24px rgba(200,130,0,.6)}}
.ph-lum .ph-cap{position:static;max-width:none;text-align:center;margin-top:12px;font-size:10.5px;color:rgba(23,32,74,.72)}
.ph-lum h1{color:var(--lapis-ink);font-size:clamp(36px,9.4vw,58px)}
.ph-lum .intro{color:var(--muted);max-width:34em;margin:14px auto 0;font-size:15px}
@media (min-width:860px){.ph-in{grid-template-columns:auto 1fr;text-align:left;gap:48px;align-items:center;max-width:980px}.arch{width:250px}.ph-txt .kicker{justify-content:flex-start}.ph-lum .intro{margin-left:0}}
.toc a{background:#fff;border-color:rgba(31,79,214,.2);color:var(--lapis-ink)}
.toc a:hover{border-color:var(--gold);box-shadow:var(--glow)}
/* ---------- catalogue toolbar & filters ---------- */
.toolbar{background:rgba(255,250,240,.9);border-bottom-color:rgba(229,165,10,.18)}
.search{border-color:rgba(31,79,214,.2)}
.fbtn{background:linear-gradient(180deg,#2a5ff0,#1a47c6);border-color:#1a47c6}
.fbtn b{background:var(--sun);color:#2a1d00}
.opts input:checked+span{background:var(--lapis);border-color:var(--lapis);color:#fff}
.sheet{background:#fffdf8}
.sh-body legend{color:var(--gold-ink)}
/* ---------- articles ---------- */
.prose .ahead{background:radial-gradient(60% 80% at 50% 0%,rgba(255,213,107,.32),transparent 70%)}
.prose .ahead h1{color:var(--lapis-ink)}
.plate .frame{background:linear-gradient(145deg,#fff6d8,#ffd56b 55%,#f2b628);box-shadow:0 30px 50px -34px rgba(200,130,0,.55),0 0 0 1px rgba(229,165,10,.4),0 0 50px -8px rgba(255,213,107,.6)}
.prose .body h2{color:var(--lapis-ink)}
.prose .body h2::before{background:linear-gradient(90deg,var(--gold),var(--turq))}
.prose .body li::before{border-color:var(--turq)}
.prose .body p a:not(.btn),.prose .body li a{color:var(--lapis)}
.l-fr .prose .body>p:first-child::first-letter,.l-en .prose .body>p:first-child::first-letter,.l-es .prose .body>p:first-child::first-letter,.l-de .prose .body>p:first-child::first-letter,.l-it .prose .body>p:first-child::first-letter,.l-pt .prose .body>p:first-child::first-letter,.l-id .prose .body>p:first-child::first-letter{color:var(--lapis)}
.prose blockquote{border-left-color:var(--turq);background:#f2fbff}
.arow .thumb{background:#fff4d6;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(229,165,10,.5)}
.arow:hover b{color:var(--lapis)}
.next{border-color:rgba(229,165,10,.25)}
.next:hover{box-shadow:var(--glow)}
.ssec h2{color:var(--lapis-ink)}
.ssec h2::after{background:linear-gradient(90deg,var(--gold),var(--turq),transparent)}
/* ---------- footer: vivid lapis sky ---------- */
.foot{background:radial-gradient(60% 55% at 50% 0%,rgba(255,213,107,.45),rgba(255,213,107,0) 70%),linear-gradient(180deg,#2557e6 0%,#1a47c6 60%,#173ea8 100%);color:#fff}
.foot::before{background:linear-gradient(90deg,transparent,#ffd56b,transparent);height:2px}
.fmark{width:88px;height:88px;margin:0 auto 14px;filter:drop-shadow(0 8px 20px rgba(255,200,60,.5))}
.fbrand{color:#fff}
.ftag{color:#fff7d6}
.foot .orn{color:#ffd56b}
.flinks a{color:#fff;opacity:.95}
.flinks a:hover{color:#ffe7a3}
.flang select{color:#fff;border-color:rgba(255,231,163,.6)}
.f-fine{opacity:1;color:#fff;border-top-color:rgba(255,231,163,.3)}
/* motion safety */
@media (prefers-reduced-motion:reduce){.motes{display:none}.hero.lum::before,.ph-lum::before,.hero-frame{animation:none}}
/* v6 — discreet affiliate notice: one short line on top of the catalogue and in the footer, a small mark on affiliate cards */
.affb{max-width:46em;margin:0 auto 22px;padding:9px 16px;border:1px solid rgba(184,146,74,.28);border-radius:999px;background:rgba(255,248,230,.6);
 font-size:12px;line-height:1.55;color:var(--muted);text-align:center}
.affb .offi{font-style:italic}.affb q.offi::before,.affb q.offi::after{content:'"'}
.affb a{color:var(--gold-ink);white-space:nowrap}
.affb .afl{margin-right:2px}
.f-fine .affb{background:none;border:0;padding:0;margin:0 0 .8em;max-width:none;color:inherit;border-radius:0}
.f-fine .affb a{color:#ffe7a3}
.afl{position:relative;display:inline-flex;vertical-align:-2px;width:14px;height:14px;color:var(--gold);cursor:help;border-radius:50%}
.afl svg{width:14px;height:14px}
.afl:hover::after,.afl:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:230px;
 padding:7px 10px;border-radius:8px;background:var(--ink);color:var(--ivory);font:400 11.5px/1.45 var(--sans);font-style:normal;text-align:left;z-index:5;box-shadow:0 6px 18px rgba(7,15,46,.25)}
.card .also{margin:4px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.card .also a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(90,98,130,.35);text-underline-offset:2px}
/* v6 — Shops of the world */
.wpage{padding-top:34px;padding-bottom:60px}
.wfilt{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:flex-end;justify-content:center;margin:0 0 26px}
.wfilt label{display:flex;flex-direction:column;gap:6px;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.wfilt select{font:400 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:9px 34px 9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);min-width:14em}
.wfilt .count{width:100%;margin:6px 0 0}
.shops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.shop[hidden]{display:none}
.shop a{display:flex;flex-direction:column;gap:3px;height:100%;padding:14px 16px;border:1px solid var(--line-soft);border-radius:14px;background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.shop a:hover{border-color:rgba(184,146,74,.45);box-shadow:0 8px 22px rgba(19,27,61,.07)}
.shop b{font-weight:600;font-size:15px;line-height:1.3}
.shop small{font-size:12px;color:var(--muted);line-height:1.4}
.shop small.n{color:var(--gold-ink)}
.wsearch{margin-top:44px}.wsearch[hidden]{display:none}
.wsearch h2{text-align:center;font-size:clamp(20px,3vw,26px);margin:0 0 6px}
.wsearch>.fine{margin:0 auto 18px;padding:0;border:0;text-align:center;max-width:44em}
.wsearch .shop a{background:rgba(255,248,230,.45);border-style:dashed}
/* ---------- v7: universes, sub-category chips, selection, grouped catalogue, variants, continents ---------- */
@media(min-width:1000px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{aspect-ratio:16/10}}
.unis{display:grid;gap:14px;margin-top:30px;grid-template-columns:1fr}
@media(min-width:700px){.unis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.unis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.uni{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);transition:border-color .2s}
.uni:hover{border-color:var(--gold);color:var(--ink)}
.uni .art.sm{flex:0 0 64px;width:64px;height:64px;border-radius:12px}
.uni b{display:block;font:500 21px/1.15 var(--serif)}
.uni small{display:block;font-size:13px;line-height:1.45;color:var(--muted);margin-top:4px}
.uni em{display:inline-block;font-style:normal;font-size:12px;letter-spacing:.08em;color:var(--gold-ink);margin-top:8px;border:1px solid var(--line);border-radius:999px;padding:2px 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}
.chips a{text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--paper);font-size:13.5px}
.chips a small{color:var(--muted);font-size:11.5px;margin-left:2px}
.chips a[aria-current]{background:var(--lapis);border-color:var(--lapis);color:#fff}
.chips a[aria-current] small{color:rgba(255,255,255,.8)}
.chips a:hover{border-color:var(--gold)}
.sel{margin:4px 0 26px;padding:18px;border-radius:var(--r);background:var(--sand)}
.sel h2,.cg-h h2{font:500 26px/1.15 var(--serif);margin:0 0 14px}
.cgroup{margin:10px 0 34px;padding-top:18px;border-top:1px solid var(--line)}
.cg-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:12px}
.cg-h h2{margin:0}.cg-h h2 a{color:var(--ink);text-decoration:none}
.cg-sub{margin:0;font-size:13px;color:var(--muted)}.cg-sub a{color:var(--muted)}
.cgroup .center{margin-top:14px}
.var{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.var b{font-weight:600;color:var(--ink);margin-right:4px}
details.var summary{cursor:pointer;font-weight:600;color:var(--ink)}
.var a{color:var(--lapis-ink,var(--lapis))}
.meta .vc{white-space:nowrap}
.ct{margin:26px 0 8px}
.ct>h2{font:500 28px/1.15 var(--serif);margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
h3.cc{font:600 14px/1.3 var(--sans);letter-spacing:.04em;margin:18px 0 8px;color:var(--gold-ink)}
h3.cc small{color:var(--muted);font-weight:400}
.shop small.sp{color:var(--ink);opacity:.85}
.svc .meta b{font-weight:600;color:var(--ink)}
