/* Layout: a slate dot map of Thailand's 77 provinces; beauty-vs-lostness intro, then tap a dot for a prayer drawer with a downloadable card. Single slate look by design. */
:root{
  --bg:#2e333a; --panel:#252930; --line:#454c56; --faint:#434a54; --card:#353b43; --mapbg:#252930; --mapdot:#3b414a; --land:#363c45; --landline:#252930; --mapink:#e8ebee; --selgold:#a87612;
  --fg:#f3f1ec; --muted:#adb3bb; --dim:#848b95;
  --gold:#ecc66d; --reached:#62d6aa;
  --u0:#c0222a; --u1:#e5493b; --u2:#f07a35; --u3:#f5ab43; --u4:#ecd877;
  --display:"Sora", "Inter", system-ui, sans-serif;
  --body:"Inter", system-ui, -apple-system, sans-serif;
  --mono:"Inter", system-ui, -apple-system, sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
body.pft-body{background:var(--bg)}
.pft{background:var(--bg);color:var(--fg)}
.pft :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,small,dt,dd,label,figcaption){color:inherit;font-family:inherit;letter-spacing:inherit}
.pft{font-family:var(--body);font-size:15px;line-height:1.5}
#drawer{font-family:var(--body);font-size:15px;line-height:1.5;color:var(--fg)}
.pft-wrap{max-width:1180px;margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));padding-block:28px 64px}
.pft-head{display:grid;gap:10px;margin-bottom:18px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.brandrow{display:flex;align-items:center;gap:12px}
.flag{width:48px;height:32px;border-radius:4px;flex:none;box-shadow:0 0 0 1px var(--line)}
h1{font-family:var(--display);font-weight:700;font-size:clamp(36px,6.4vw,64px);line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1 em{color:var(--gold);font-style:normal}
.lede{color:var(--muted);max-width:60ch;margin:0}
.nat{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:8px;font-variant-numeric:tabular-nums}
.nat div{display:grid}
.nat b{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.05}
.nat span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.topbanner{position:relative;height:clamp(170px,32vw,400px);overflow:hidden}
.topbanner img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
.topbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(46,51,58,0) 55%,var(--bg) 100%)}
.strip{position:relative;height:clamp(130px,22vw,260px);overflow:hidden;border-radius:16px}
.strip img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block}
.strip::after{content:"";position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);background:linear-gradient(to bottom,rgba(46,51,58,.15),rgba(46,51,58,0) 30%,rgba(46,51,58,0) 70%,rgba(46,51,58,.35))}
.contrast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:8px 0 26px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
@media (max-width:700px){.contrast{grid-template-columns:minmax(0,1fr)}}
.contrast > div{padding:20px 22px;display:grid;gap:8px;align-content:start}
.contrast .beauty{background:var(--card)}
.contrast .lost{background:var(--panel)}
.contrast h2{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-.01em;line-height:1;margin:0}
.contrast .beauty h2{color:var(--gold)}
.contrast .lost h2{color:var(--u1)}
.contrast p{margin:0;color:var(--muted);max-width:52ch}
.big{font-family:var(--display);font-weight:600;font-size:40px;letter-spacing:-.02em;line-height:1;color:var(--fg)}
.big small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-top:6px}
.sea{display:grid;gap:5px;margin-top:6px;font-family:var(--mono);font-size:11.5px;font-variant-numeric:tabular-nums}
.sea div{display:grid;grid-template-columns:76px minmax(0,1fr) 38px;gap:8px;align-items:center;color:var(--muted)}
.sea .t{color:var(--fg)}
.sea span.b{height:9px;border-radius:5px;background:var(--faint);overflow:hidden}
.sea span.b i{display:block;height:100%;background:var(--dim)}
.sea .t span.b i{background:var(--u1)}
.sea em{font-style:normal;text-align:right}
.sea .seacap{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
.srcmini{font-size:11px;color:var(--dim)}
.srcmini a{color:var(--dim)}
.rankhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.rankhead h2{margin:0!important}
.seg.sm button{font-size:11.5px;padding:4px 10px}
.tagline{font-family:var(--body);font-style:italic;font-size:17px;color:var(--muted);margin-top:6px;line-height:1.2}
.dhero{margin:0 -20px 10px;position:relative;aspect-ratio:3/2;overflow:hidden}
.dhero img{width:100%;height:100%;object-fit:cover;display:block}
.dhero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(37,41,48,0) 55%,var(--panel) 100%)}
.hl{display:grid;gap:8px}
.hl div{background:var(--card);border-radius:10px;padding:10px 12px}
.hl b{display:block;font-weight:600;color:var(--gold)}
.hl span{font-size:13.5px;color:#d9d6cf}
.access{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;color:#d9d6cf}
.news{display:grid;gap:12px}
.news article{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:4px}
.news .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.news h4{margin:0;font-size:15px;font-weight:600}
.news p{font-size:14px}
.news .np{color:var(--gold);font-size:14px}
.news a{color:var(--muted);font-size:12.5px}
.min{display:grid;gap:8px}
.min a{color:var(--fg);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.min span{display:block;font-size:13px;color:var(--muted)}
.next{margin-top:44px;display:grid;gap:22px}
.next > h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,4.4vw,42px);letter-spacing:-.02em;line-height:1;margin:0;text-wrap:balance}
.next > h2 em{color:var(--gold);font-style:normal}
.wrg{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;gap:16px}
.wrg .top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:baseline}
.wrg h3{font-family:var(--display);font-weight:700;font-size:26px;margin:0}
.wrg p{margin:0;color:var(--muted);max-width:62ch}
.opps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.opp{background:var(--panel);border-radius:12px;padding:14px 16px;display:grid;gap:6px;align-content:start;text-decoration:none;color:var(--fg);border:1px solid transparent}
.opp:hover{border-color:var(--gold)}
.opp .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.opp b{font-size:16px}
.opp span{font-size:13.5px;color:var(--muted)}
.opp .go{font-size:12.5px;color:var(--gold);margin-top:2px}
.res{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.res a{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--fg)}
.res a:hover{border-color:var(--muted)}
.res b{font-weight:600}
.res span{font-size:13px;color:var(--muted)}
.res em{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.cta{background:var(--card);border-radius:12px;padding:14px 16px;display:grid;gap:8px}
.cta p{color:var(--fg)!important}
.cta a{color:var(--gold);font-weight:600;font-size:14px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:28px;align-items:start}
@media (max-width:860px){.layout{grid-template-columns:minmax(0,1fr)}}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button,.chip{font:500 12.5px var(--body);color:var(--muted);background:none;border:0;border-radius:999px;padding:6px 12px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);padding:4px 10px;font-size:12px}
.chip[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
button:focus-visible,a:focus-visible,circle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.mapbox{position:relative;background:var(--mapbg);border:1px solid var(--line);border-radius:18px;padding:10px;margin-top:10px;box-shadow:0 18px 40px -24px #000}
.zoomctl{position:absolute;top:16px;right:16px;display:grid;gap:6px;z-index:2}
.zoomctl button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:500 17px var(--body);line-height:1;cursor:pointer;display:grid;place-items:center}
.zoomctl button:hover{border-color:var(--muted)}
.zoomctl button:disabled{opacity:.35;cursor:default}
.zoomctl .gap{height:4px}
svg#map.grab{cursor:grab}svg#map.dragging{cursor:grabbing}
.outline{fill:none;stroke:var(--mapink);stroke-width:.9;stroke-linejoin:round;pointer-events:none;opacity:0;transition:opacity .15s}
.outline.on{opacity:.55}
.outline.sel{opacity:1;stroke:var(--selgold);stroke-width:1.4;fill:var(--gold);fill-opacity:.28}
.thname{font-size:15px;color:var(--muted);margin-top:2px}
svg#map{width:100%;height:auto;display:block;max-height:86vh}
.pdot{stroke:rgba(20,24,28,.35);stroke-width:.8;cursor:pointer;transition:opacity .25s, r .2s}
.pdot.dim{opacity:.18}
.pdot.sel{stroke:var(--mapink);stroke-width:2.5}
.halo{fill:none;stroke:var(--mapink);stroke-width:1;opacity:.5;pointer-events:none}
.tip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;white-space:nowrap;transform:translate(-50%,-115%)}
.tip b{font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.note{font-size:12px;color:var(--dim);margin-top:6px;max-width:70ch}
aside.rank h2,.sec h3{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.rank ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:70vh;overflow:auto}
.rank li button{width:100%;display:grid;grid-template-columns:22px 10px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;background:none;border:0;color:var(--fg);font:14px var(--body);padding:7px 6px;border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}
.rank li button:hover{background:var(--panel)}
.rank .n{font-family:var(--mono);font-size:11px;color:var(--dim)}
.rank .v{font-family:var(--mono);font-size:12px;color:var(--muted)}
.rank i{width:10px;height:10px;border-radius:50%}
/* drawer */
#drawer{touch-action:pan-y;position:fixed;z-index:20;background:var(--panel);border-left:1px solid var(--line);top:0;right:0;bottom:0;width:min(460px,100%);overflow:auto;transform:translateX(105%);transition:transform .3s ease;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
#drawer.open{transform:none}
@media (max-width:640px){#drawer{top:auto;left:0;width:100%;max-height:82vh;border-left:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;transform:translateY(105%);padding-left:env(safe-area-inset-left,0px)}}
.dhead{position:sticky;top:0;background:var(--panel);padding:18px 20px 12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;z-index:1}
.dhead h2{font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:-.02em;line-height:1;margin:4px 0 0}
.close{background:none;border:1px solid var(--line);color:var(--fg);border-radius:999px;width:36px;height:36px;font-size:18px;cursor:pointer}
.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid currentColor;margin-top:8px;width:max-content}
.dbody{padding:16px 20px 28px;display:grid;gap:22px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;font-variant-numeric:tabular-nums}
.stats div{display:grid}
.stats b{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.1}
.stats span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bar{height:8px;border-radius:4px;background:var(--faint);overflow:hidden}
.bar div{height:100%;background:var(--u1)}
.barcap{font-size:13px;color:var(--muted);margin-top:6px}
.sec p{margin:0;color:#d6d2c9}
.sec ul{margin:0;padding-left:18px;display:grid;gap:5px;color:#d6d2c9}
.sec .pnote{border-left:2px solid var(--gold);padding-left:12px;color:var(--fg)}
.pp{list-style:none;padding:0!important;counter-reset:p}
.pp li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px}
.pp li::before{content:"✦";color:var(--gold);font-size:12px;padding-top:3px}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.btn{font:600 13.5px var(--body);border-radius:999px;padding:10px 16px;cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:#111}
.btn.ghost{background:none;color:var(--fg);border-color:var(--line)}
.cardprev{width:100%;max-width:100%;border-radius:10px;border:1px solid var(--line);display:block}
.status{font-size:12.5px;color:var(--muted);min-height:1.2em}
.src{font-size:11.5px;color:var(--dim)}
.src a{color:var(--muted)}
.pft-foot{margin-top:36px;font-size:12px;color:var(--dim);max-width:80ch}
.pft-foot a{color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Gospel Access Score */
.gas{margin:44px auto 0;max-width:920px;display:grid;grid-template-columns:minmax(0,1fr) 230px auto;gap:22px;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:18px 22px}
@media (max-width:760px){.gas{grid-template-columns:minmax(0,1fr);gap:14px}}
.gas .gl{display:grid;gap:6px}
.gas h2{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.6vw,24px);letter-spacing:-.01em;line-height:1.15;margin:0}
.gas h2 em{color:var(--reached);font-style:normal}
.gas p{margin:0;color:var(--muted);font-size:14px;max-width:52ch}
.vill{display:grid;gap:6px;width:100%;max-width:230px}
.vgrid{display:grid;grid-template-columns:repeat(20,1fr);gap:3px}
.vgrid span{aspect-ratio:1;border-radius:50%;background:var(--faint);transform:scale(.2);opacity:0;transition:transform .4s,opacity .4s,background .4s}
.vgrid.on span{transform:scale(1);opacity:1}
.vgrid.on span.c{background:var(--reached)}
.vgrid.on span.n{background:#c4473a}
.vcap{display:grid;gap:1px;min-height:34px;transition:opacity .3s}
.vcap.fade{opacity:0}
.vcap b{font-family:var(--display);font-size:13px;color:var(--fg)}
.vcap em{font-style:normal;font-size:11.5px;color:var(--muted)}
.vgrid span{transition:transform .4s,opacity .4s,background .35s}
.vkey{display:flex;gap:12px;font-size:11px;color:var(--muted)}
.vkey i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.vkey i.c{background:var(--reached)}.vkey i.n{background:#c4473a}
.gcta{display:inline-flex;align-items:center;gap:8px;justify-self:start;white-space:nowrap;background:var(--gold);color:#1e1b14;font-family:var(--display);font-weight:700;font-size:15px;padding:12px 20px;border-radius:999px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.gcta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(236,198,109,.25)}
.gcta span{transition:transform .2s}.gcta:hover span{transform:translateX(3px)}

/* TMOAM trio */
.trio{margin-top:44px;display:grid;gap:20px}
.trio .th{display:grid;gap:8px;max-width:62ch}
.trio h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,4.4vw,42px);letter-spacing:-.02em;line-height:1;margin:0;text-wrap:balance}
.trio h2 em{color:var(--gold);font-style:normal}
.trio .th p{margin:0;color:var(--muted)}
.tcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.tcards{grid-template-columns:minmax(0,1fr)}}
.tc{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--line);opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
.trio.in .tc{opacity:1;transform:none}
.trio.in .tc:nth-child(2){transition-delay:.12s,.12s,0s,0s}
.trio.in .tc:nth-child(3){transition-delay:.24s,.24s,0s,0s}
.trio.in .tc:hover,.tc.spot{transform:translateY(-6px)}
.tc:hover,.tc.spot{box-shadow:0 18px 40px rgba(0,0,0,.35)}
.tc.o:hover,.tc.o.spot{border-color:var(--gold)}
.tc.y:hover,.tc.y.spot{border-color:#ff4fd8}
.tc.k:hover,.tc.k.spot{border-color:#7cc3e8}
.tv{position:relative;height:210px;overflow:hidden}
.tb{padding:18px 20px 20px;display:grid;gap:8px;align-content:start}
.tb .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.tb h3{font-family:var(--display);font-weight:700;font-size:22px;margin:0;line-height:1.15}
.tb p{margin:0;color:var(--muted);font-size:14.5px}
.tb ul{list-style:none;margin:2px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tb li{font-size:12px;padding:4px 9px;border-radius:999px;background:var(--panel);color:var(--fg)}
.tb .go{font-family:var(--display);font-weight:700;font-size:14.5px;margin-top:4px}
.tb .go span{display:inline-block;transition:transform .2s}.tc:hover .go span{transform:translateX(4px)}
/* original */
.tc.o .tag,.tc.o .go{color:var(--gold)}
.tc.o .tv{background:radial-gradient(circle at 50% 55%,#fbf7ee 0,#f4f0e7 55%,#e8dfcc 100%)}
.tc.o .ring{position:absolute;left:50%;top:50%;width:176px;height:176px;margin:-88px 0 0 -88px;border-radius:50%;border:1.5px dashed #c5923a;opacity:.7;animation:spin 26s linear infinite}
.tc.o .ring.r2{width:140px;height:140px;margin:-70px 0 0 -70px;border-style:dotted;animation-duration:18s;animation-direction:reverse}
.tc.o .book{position:absolute;left:50%;top:50%;width:112px;height:112px;margin:-56px 0 0 -56px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(80,55,20,.35));animation:bob 4.5s ease-in-out infinite}
.tc.o .pin{position:absolute;width:9px;height:9px;border-radius:50%;background:#c5923a;box-shadow:0 0 0 4px rgba(197,146,58,.2);animation:ping 3s ease-out infinite}
/* youth */
.tc.y .tag,.tc.y .go{color:#ff6fe0}
.tc.y .tv{background:linear-gradient(120deg,#1a0b2e,#2b0f4a 40%,#0b2a4a);isolation:isolate}
.tc.y .glow{position:absolute;inset:-40%;background:conic-gradient(from 0deg,#ff4fd8,#5ef2ff,#a66bff,#ff4fd8);filter:blur(50px);opacity:.45;animation:spin 9s linear infinite;z-index:-1}
.tc.y .grid{position:absolute;left:-20%;right:-20%;bottom:-10px;height:110px;background:linear-gradient(transparent 0 92%,rgba(94,242,255,.55) 92%) 0 0/100% 18px,linear-gradient(90deg,transparent 0 94%,rgba(255,79,216,.5) 94%) 0 0/24px 100%;transform:perspective(220px) rotateX(58deg);transform-origin:bottom;animation:gridmove 1.6s linear infinite;mask:linear-gradient(transparent,#000 70%)}
.tc.y .scan{position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,rgba(0,0,0,.18) 3px 4px);pointer-events:none}
.tc.y .glitch{position:absolute;left:0;right:0;top:44px;text-align:center;font-family:var(--display);font-weight:700;font-size:30px;line-height:.95;letter-spacing:.02em;color:#fff;text-transform:uppercase;text-shadow:2px 0 #ff4fd8,-2px 0 #5ef2ff;animation:glitch 3.2s steps(1) infinite}
.tc.y .glitch small{display:block;font-size:12px;letter-spacing:.3em;margin-top:8px;color:#5ef2ff;text-shadow:none}
/* kids */
.tc.k .tag,.tc.k .go{color:#8fd0f0}
.tc.k .tv{background:#fbf6ea}
.tc.k .blob{position:absolute;border-radius:50%;filter:blur(18px);opacity:.75;animation:drift 9s ease-in-out infinite alternate}
.tc.k .b1{width:150px;height:130px;left:-20px;top:-10px;background:#f6b7a0}
.tc.k .b2{width:170px;height:140px;right:-30px;top:30px;background:#9fd3ec;animation-delay:-3s}
.tc.k .b3{width:150px;height:120px;left:70px;bottom:-40px;background:#bfe0a6;animation-delay:-6s}
.tc.k .stamp{position:absolute;width:74px;height:74px;border-radius:50%;border:3px double currentColor;display:grid;place-content:center;text-align:center;font-family:var(--display);font-weight:700;font-size:10px;line-height:1.1;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.55);opacity:0;animation:stamp 7.5s ease-in-out infinite}
.tc.k .stamp b{display:block;font-size:17px;letter-spacing:0}
.tc.k .s1{left:22px;top:26px;color:#c4473a;--r:-12deg}
.tc.k .s2{left:50%;top:70px;margin-left:-37px;color:#2a6fa8;--r:8deg;animation-delay:1.2s}
.tc.k .s3{right:22px;top:24px;color:#3f8a4a;--r:-4deg;animation-delay:2.4s}
.tc.k .hero{position:absolute;bottom:16px;left:50%;width:136px;margin-left:-68px;white-space:nowrap;padding:6px 8px;border-radius:8px;background:#fff;box-shadow:0 6px 16px rgba(60,40,10,.18);font-family:var(--display);font-weight:700;font-size:11px;color:#5a3c14;text-align:center;letter-spacing:.08em;animation:bob 4s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(197,146,58,.5)}100%{box-shadow:0 0 0 14px rgba(197,146,58,0)}}
@keyframes gridmove{to{background-position:0 18px,0 0}}
@keyframes glitch{0%,86%,100%{transform:none;text-shadow:2px 0 #ff4fd8,-2px 0 #5ef2ff}88%{transform:translate(-3px,1px) skewX(-8deg);text-shadow:-4px 0 #ff4fd8,4px 0 #5ef2ff}91%{transform:translate(3px,-1px);text-shadow:4px 0 #5ef2ff,-4px 0 #ff4fd8}94%{transform:translate(-1px,0) skewX(5deg)}}
@keyframes drift{to{transform:translate(18px,-12px) scale(1.12)}}
@keyframes stamp{0%{opacity:0;transform:scale(2.2) rotate(var(--r))}8%{opacity:.9;transform:scale(.92) rotate(var(--r))}12%,78%{opacity:.9;transform:scale(1) rotate(var(--r))}90%,100%{opacity:0;transform:scale(1) rotate(var(--r))}}
@media (prefers-reduced-motion:reduce){.tc *,.tc{animation:none!important;transition:none!important}.tc{opacity:1;transform:none}.tc.k .stamp{opacity:.9;transform:rotate(var(--r))}.vgrid span{transition:none}}
body.nav-solid .pft{padding-top:96px}
#drawer{z-index:2000}
