/* Home page only — everything shared lives in /theme.css */
header.hero{background:var(--hero-bg);padding:18px 0 16px;border-bottom:4px solid transparent;border-image:var(--stripe) 1;box-shadow:0 4px 16px rgba(12,18,16,.05)}
.brand{display:flex;flex-direction:column;align-items:center;gap:2px}
.logo{display:block;height:88px;width:auto;max-width:100%}
.loc{font-size:var(--fs-xs);color:var(--mute);letter-spacing:.06em}
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
main.wrap{flex:1;max-width:960px;padding-top:26px;padding-bottom:24px}
h2{font-size:var(--fs-xs);color:var(--mute);text-transform:uppercase;letter-spacing:.08em;margin:0 4px 12px;font-weight:700}
.grid{display:grid;gap:14px;grid-template-columns:1fr}
.tile{display:flex;flex-direction:column;gap:10px;min-height:132px;padding:18px;border-radius:var(--radius-xl);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-2);color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease)}
.top{display:flex;align-items:center;gap:14px}
.ic{width:52px;height:52px;border-radius:var(--radius-lg);display:grid;place-items:center;flex:none;background:var(--soon-bg);color:var(--mute)}
.ic svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.name{font-size:var(--fs-lg);font-weight:700;line-height:1.2}
.hi{font-size:.95rem;color:var(--mute)}
.desc{font-size:.92rem;color:var(--mute)}
.top .badge{margin-left:auto}
.go{margin-top:auto;display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);font-weight:700;color:var(--primary)}
a.tile.on{border:2px solid var(--teal);padding:17px}
a.tile.on .ic{background:var(--primary);color:var(--on-primary)}
a.tile.on:hover{transform:translateY(-2px)}
a.tile.on:active{transform:scale(.98)}
.tile.off{opacity:.8;cursor:not-allowed}
.tile.off .go{color:var(--dim)}
footer{text-align:center;color:var(--mute);font-size:var(--fs-xs);padding:16px 16px 20px}
.center{text-align:center;padding:40px 16px;display:flex;flex-direction:column;justify-content:center}
.center h2{font-size:var(--fs-xl);color:var(--ink);text-transform:none;letter-spacing:0;margin-bottom:8px}
.center p{color:var(--mute);margin-bottom:24px}
@media (min-width:700px){
header.hero{padding:26px 0 22px}
.logo{height:104px}
main.wrap{padding-top:32px}
.grid{grid-template-columns:1fr 1fr;gap:20px}
.tile{min-height:190px;padding:24px}a.tile.on{padding:23px}
.name{font-size:1.35rem}
}
/* app bar + centre lockup */
.appbar{position:sticky;top:0;z-index:10;background:var(--hero-bg);border-bottom:4px solid transparent;border-image:var(--stripe) 1;box-shadow:0 4px 16px rgba(12,18,16,.06);padding-top:var(--safe-t)}
.ab{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:76px}
.back{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--primary);flex:none}.back:hover{background:var(--panel-2)}
.back svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lock{display:flex;align-items:center;gap:10px;text-decoration:none;padding:6px 0}
.lock img{width:62px;height:auto}
.lt{display:inline-grid}.lt b{font-weight:900;font-size:1.45rem;letter-spacing:.04em;line-height:1;color:var(--teal-ink)}
.lt .cn{font-size:.82rem;letter-spacing:.18em;color:var(--orange-ink);margin-top:4px;text-align:justify;text-align-last:justify;white-space:nowrap}
@media (prefers-color-scheme:dark){.lt b{color:var(--teal)}.lt .cn{color:var(--orange)}}
.loc2{text-align:center;color:var(--mute);font-size:var(--fs-xs);letter-spacing:.08em;margin:-8px 0 14px}
.note2{text-align:center;color:var(--dim);font-size:var(--fs-sm);margin-top:20px}
footer a{color:inherit}
.lockcard{max-width:420px;margin:0 auto;padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:6px}
.ic.big{width:64px;height:64px;background:var(--primary);color:var(--on-primary);margin-bottom:8px}.ic.big svg{width:32px;height:32px}
.sp{visibility:hidden}
@media (min-width:700px){.lock img{width:78px}.lt b{font-size:1.9rem}.lt .cn{font-size:1rem}}

/* official centre image lockups */
.lock.lock-full{gap:0;padding:4px 0}
.lock.lock-full img{width:auto;height:48px;max-width:min(280px,62vw)}
@media (min-width:700px){.lock.lock-full img{height:52px;max-width:300px}}
.crd-logo{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 16px}
.crd-logo .crd-logo-img{width:auto;height:40px;max-width:100%;display:block}
.crd-logo .hi{margin:0;font-size:var(--fs-sm);color:var(--mute)}
.crd-logo .go{margin-top:4px}
@media (min-width:700px){.crd-logo .crd-logo-img{height:48px}}
