.skip {
  position: fixed; z-index: 2200; left: var(--s4); top: -120px;
  display: inline-flex; align-items: center; height: var(--btn-h-sm);
  padding: 0 var(--s4); border-radius: var(--r-2);
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  color: var(--ink); background: var(--fg); font-weight: 700;
  box-shadow: var(--shadow-pop);
  transition: top var(--t-fast) var(--ease);
}
.skip:focus { top: calc(var(--bar-h) + var(--note-h) + var(--s2)); }

.kr-note {
  position: sticky; z-index: 950;
  top: var(--bar-h);
  display: flex; align-items: center; justify-content: center;
  min-height: var(--note-h); padding: var(--s1) var(--s4);
  background: #8B6DC7;
  border-bottom: 1px solid rgba(255,255,255,.14);
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em;
  color: #fff; text-align: center;
}

.kr-nav {
  position: fixed; z-index: 900;
  top: calc(var(--bar-h) + var(--note-h)); left: 0; right: 0;
  height: var(--nav-h);
  display: flex; align-items: center; gap: var(--s4);
  --nav-pad: max(var(--s4), calc((100% - var(--content-max)) / 2));
  padding-inline: var(--nav-pad);
  background: #8B6DC7;
}

.kr-brand {
  display: inline-flex; align-items: baseline; gap: 2px; flex: none;
  font-weight: 700; font-size: 12.5px; letter-spacing: .2em; color: #fff;
  transition: color var(--t-fast) var(--ease);
}
.kr-brand .b2 { color: #E3DAF4; transition: color var(--t-fast) var(--ease); }
.kr-brand:hover .b2 { color: #fff; }

.kr-links { display: flex; align-items: center; gap: 2px; flex: 1; margin-left: var(--s4); }
.kr-links a {
  display: inline-flex; align-items: center; height: 30px; padding: 0 var(--s3);
  border-radius: var(--r-pill); white-space: nowrap;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em;
  color: #EFE9F9;
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.kr-links a:hover { color: #fff; background: #7A5BB8; }

.kr-links a[aria-current="page"] {
  color: #fff; background: #6C4FAE;
}

.kr-social { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.kr-social a { gap: 8px; padding: 0 var(--s2); }
.kr-social svg { width: 16px; height: 16px; flex: none; }

.kr-social .soc-name { display: none; }

.kr-cta {
  display: inline-flex; align-items: center; gap: 7px; flex: none;
  margin-left: auto; height: 34px; padding: 0 var(--s4);
  border-radius: var(--r-pill); white-space: nowrap;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em;
  color: #fff; background: #5A3F98;
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.kr-cta:hover { background: #4D3486; }
.kr-cta .go { color: currentColor; }

.kr-toggle {
  display: none; align-items: center; justify-content: center; flex: none;
  width: 36px; height: 34px; margin-left: var(--s2);
  border-radius: var(--r-2); color: #EFE9F9;
  background: #7A5BB8;
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.kr-toggle:hover { color: #fff; background: #6C4FAE; }
.kr-toggle .bars { display: block; width: 15px; height: 9px; position: relative; }
.kr-toggle .bars::before, .kr-toggle .bars::after {
  content: ""; position: absolute; left: 0; right: 0; height: 1.5px;
  background: currentColor; border-radius: 1px;
  transition: transform var(--t-fast) var(--ease), top var(--t-fast) var(--ease);
}
.kr-toggle .bars::before { top: 0; }
.kr-toggle .bars::after  { top: 7.5px; }
.kr-nav.is-open .kr-toggle { color: #fff; background: #6C4FAE; }
.kr-nav.is-open .kr-toggle .bars::before { top: 4px; transform: rotate(45deg); }
.kr-nav.is-open .kr-toggle .bars::after  { top: 4px; transform: rotate(-45deg); }

@media (max-width: 760px) {
  .kr-nav { gap: var(--s2); }
  .kr-toggle { display: inline-flex; }
  .kr-links {
    display: none; position: absolute; top: 100%;
    left: calc(var(--nav-pad) * -1); right: calc(var(--nav-pad) * -1);
    flex-direction: column; align-items: stretch; gap: 2px;
    margin: 0; padding: var(--s2) max(0px, calc(var(--nav-pad) - var(--s4)));
    background: #8B6DC7;
  }
  .kr-nav.is-open .kr-links { display: flex; }

  .kr-social { display: contents; }

  .kr-social .soc-name { display: inline; }
  .kr-links a { height: 44px; padding: 0 var(--s4); border-radius: var(--r-2); font-size: 11.5px; }
  .kr-cta { height: 32px; padding: 0 var(--s3); font-size: 10px; }
}

@media (max-width: 420px) {
  .kr-nav { --nav-pad: var(--s3); }
  .kr-brand { font-size: 11px; letter-spacing: .14em; }
  .kr-cta { padding: 0 var(--s2); letter-spacing: .05em; }
  .kr-cta .go { display: none; }
}

.kr-nav-sc { top: var(--bar-h); background: #F0A6D8; }
.kr-nav-sc .kr-brand { color: var(--ink); }
.kr-nav-sc .kr-brand .b2 { color: #7A2B5E; }
.kr-nav-sc .kr-brand:hover .b2 { color: var(--ink); }
.kr-nav-sc .kr-links a { color: #4A1238; }
.kr-nav-sc .kr-links a:hover { color: var(--ink); background: #E68FC9; }
.kr-nav-sc .kr-links a[aria-current="page"] { color: var(--ink); background: #DB79B9; }
.kr-nav-sc .kr-toggle { color: #4A1238; background: #E68FC9; }
.kr-nav-sc .kr-toggle:hover,
.kr-nav-sc.is-open .kr-toggle { color: var(--ink); background: #DB79B9; }
.kr-nav-sc .kr-links { background: #F0A6D8; }

.age-gate {
  position: fixed; inset: 0; z-index: 2100;
  display: grid; place-items: center;
  padding: calc(var(--bar-h) + var(--s5)) var(--s5) var(--s10);
  overflow-y: auto;
  background:
    radial-gradient(900px 620px at 18% 0%,  rgba(240,166,216,.07), transparent 62%),
    radial-gradient(820px 640px at 88% 96%, rgba(158,223,234,.06), transparent 62%),
    rgba(5,4,9,.84);
  -webkit-backdrop-filter: blur(var(--blur-pop)) saturate(1.3);
          backdrop-filter: blur(var(--blur-pop)) saturate(1.3);
}
html[data-age="ok"] .age-gate { display: none; }

html:not([data-age="ok"]):has(.age-gate),
html:not([data-age="ok"]):has(.age-gate) body { overflow: hidden; }

html.age-locked, html.age-locked body { overflow: hidden; }

.age-card {
  position: relative; width: min(560px, 100%);
  padding: clamp(26px, 4.2vw, 46px);
  border-radius: var(--r-4);
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.022)),
    var(--pop-tint);
  box-shadow: var(--shadow-pop);
}
.age-card::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  padding: 1px; pointer-events: none; background: var(--stroke-grad);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
}
.age-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none; background-image: var(--grain); opacity: .05;
}
.age-card > * { position: relative; z-index: 1; }

.age-card .kick { margin-bottom: var(--s6); }

.age-mark {
  display: block; margin: 0 0 var(--s2);
  font-weight: 700; letter-spacing: -.04em; line-height: .9;
  font-size: clamp(58px, 13vw, 104px); color: var(--fg);
  text-shadow: 0 0 44px rgba(242,238,246,.2);
}
.age-mark .plus { color: var(--accent); text-shadow: 0 0 30px var(--accent-glow); }

.age-rule {
  height: 1px; border: 0; margin: 0 0 var(--s5);
  background: linear-gradient(90deg, var(--accent-line), var(--hairline) 46%, transparent);
}

.age-h {
  margin: 0 0 var(--s3);
  font-size: clamp(19px, 2.4vw, 25px); font-weight: 700; letter-spacing: -.018em;
  color: var(--fg);
}
.age-body { color: var(--dim); font-size: 14.5px; line-height: 1.7; max-width: 46ch; }
.age-body + .age-body { margin-top: var(--s3); }
.age-body b { color: var(--fg); font-weight: 600; }

.age-actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3);
  margin-top: var(--s8);
}
.age-actions .btn { min-width: 168px; }

.age-fine {
  margin-top: var(--s6); padding-top: var(--s4);
  border-top: 1px solid var(--hairline);
  font-family: var(--mono); font-size: 9.5px; letter-spacing: .04em;
  line-height: 1.8; color: var(--faint);
}

@media (max-width: 560px) {
  .age-actions .btn { flex: 1 1 100%; min-width: 0; }
}

.site-foot {
  border-top: 1px solid var(--hairline);
  padding-top: clamp(44px, 8vh, 84px);
}
.foot-grid {
  display: flex; align-items: flex-start; gap: clamp(24px, 5vw, 72px);
  flex-wrap: wrap;
  padding-bottom: clamp(32px, 6vh, 56px);
}
.foot-statement {
  flex: 1 1 320px; min-width: 0;
  color: var(--dim); font-size: clamp(16px, 2vw, 21px); line-height: 1.55;
  letter-spacing: -.012em; max-width: 34ch;
}
.foot-statement b { color: var(--fg); font-weight: 600; }

.foot-cols { display: flex; gap: clamp(28px, 5vw, 64px); flex-wrap: wrap; }
.foot-col { display: flex; flex-direction: column; gap: var(--s3); min-width: 128px; }
.foot-col .kick { margin-bottom: var(--s1); }
.foot-col a {
  font-family: var(--mono); font-size: 11px; letter-spacing: .05em; color: var(--dim);
  transition: color var(--t-fast) var(--ease);
}
.foot-col a:hover { color: var(--fg); }
.foot-col a .go { color: var(--faint-deco); margin-left: 4px; }

.foot-legal {
  padding-bottom: var(--s5);
  color: var(--faint); font-size: 12.5px; line-height: 1.7; max-width: 68ch;
}
.foot-legal b { color: var(--dim); font-weight: 600; }

.foot-status {
  display: flex; align-items: center; gap: var(--s4);
  min-height: 34px; padding-block: var(--s2);
  border-top: 1px solid var(--hairline);
  font-family: var(--mono); font-size: 9.5px; letter-spacing: .06em;
  color: var(--faint); white-space: nowrap; overflow-x: auto;
}
.foot-status .grow { flex: 1; }
.foot-status .dot { color: var(--faint-deco); }
.foot-status [data-clock] { color: var(--dim); font-variant-numeric: tabular-nums; }
.foot-status::-webkit-scrollbar { height: 0; }

@media (max-width: 560px) {
  .foot-status { gap: var(--s3); font-size: 9px; }
  .foot-status .grow { display: none; }
}

.foot-bar {
  display: flex; align-items: center; justify-content: center; gap: var(--s3);
  min-height: 52px; padding: var(--s3) var(--s4);
  background: #000;
  border-top: 1px solid var(--hairline);
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  color: var(--faint); white-space: nowrap;
}
.foot-bar .dot { color: var(--faint-deco); }
