.artmke-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 46px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--artmke-blue);
  color: #05111a;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform var(--artmke-transition), background var(--artmke-transition);
}
.artmke-button:hover { background: #53bdff; transform: translateY(-1px); }
.artmke-button--dark { background: var(--artmke-ink); color: var(--artmke-white); }
.artmke-button--outline { background: transparent; border-color: currentColor; }

.artmke-card, .artmke-post-card {
  overflow: hidden;
  border: 1px solid var(--artmke-line);
  border-radius: var(--artmke-radius);
  background: var(--artmke-white);
  transition: transform var(--artmke-transition), box-shadow var(--artmke-transition);
}
.artmke-card:hover, .artmke-post-card:hover { transform: translateY(-3px); box-shadow: var(--artmke-shadow-sm); }
.artmke-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--artmke-space-5); }
.artmke-post-card__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.artmke-post-card__body { padding: var(--artmke-space-4); }
.artmke-post-card h2 { margin-top: 0; font-size: var(--artmke-step-2); }
.artmke-post-card h2 a { text-decoration: none; }

.artmke-header {
  position: relative;
  z-index: 100;
  background: #050607;
  color: var(--artmke-white);
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.artmke-header__inner {
  min-height: 82px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
}
.artmke-brand { display: inline-flex; align-items: center; text-decoration: none; }
.artmke-brand img { width: 170px; max-height: 54px; object-fit: contain; }
.artmke-brand__text { color: var(--artmke-white); font-size: 1.45rem; font-weight: 900; letter-spacing: -.04em; }
.artmke-nav { justify-self: center; }
.artmke-menu, .artmke-menu ul { list-style: none; margin: 0; padding: 0; }
.artmke-menu { display: flex; align-items: center; gap: 30px; }
.artmke-menu a { color: var(--artmke-white); text-decoration: none; font-size: .92rem; font-weight: 650; }
.artmke-menu a:hover, .artmke-menu .current-menu-item > a, .artmke-menu .current-menu-ancestor > a { color: var(--artmke-blue); }
.artmke-menu .menu-item-has-children { position: relative; }
.artmke-menu .sub-menu {
  display: none;
  position: absolute;
  left: -18px;
  top: 100%;
  min-width: 220px;
  padding: 14px 18px;
  background: #111417;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  box-shadow: var(--artmke-shadow);
}
.artmke-menu .menu-item-has-children:hover > .sub-menu,
.artmke-menu .menu-item-has-children:focus-within > .sub-menu { display: grid; gap: 10px; }
.artmke-header__actions { display: flex; align-items: center; gap: 18px; font-size: .88rem; font-weight: 700; }
.artmke-header__actions a { text-decoration: none; }
.artmke-header__join { background: var(--artmke-blue); color: #04121b !important; padding: 10px 17px; border-radius: 999px; }
.artmke-search-link { font-size: 1.35rem; }
.artmke-nav-toggle { display: none; background: transparent; border: 0; padding: 8px; cursor: pointer; }
.artmke-nav-toggle > span:not(.screen-reader-text) { display: block; width: 26px; height: 2px; background: var(--artmke-white); margin: 5px; transition: transform var(--artmke-transition), opacity var(--artmke-transition); }
.artmke-header.is-open .artmke-nav-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.artmke-header.is-open .artmke-nav-toggle > span:nth-child(2) { opacity: 0; }
.artmke-header.is-open .artmke-nav-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.artmke-footer { background: #080a0c; color: var(--artmke-white); padding: 64px 0 18px; }
.artmke-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 50px; }
.artmke-footer__brand img { width: 190px; }
.artmke-footer-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.artmke-footer a { color: var(--artmke-white); }
.artmke-footer__bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: 48px; padding-top: 18px; font-size: .8rem; color: #aeb6bc; }

@media (max-width: 920px) {
  .artmke-header__inner { grid-template-columns: auto auto; justify-content: space-between; }
  .artmke-nav-toggle { display: block; }
  .artmke-nav { display: none; grid-column: 1 / -1; justify-self: stretch; padding-bottom: 22px; }
  .artmke-header.is-open .artmke-nav { display: block; }
  .artmke-menu { display: grid; gap: 0; }
  .artmke-menu > li > a { display: block; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.1); }
  .artmke-menu .sub-menu { display: grid; position: static; background: transparent; border: 0; box-shadow: none; padding: 0 0 6px 18px; }
  .artmke-header__actions { display: none; }
  .artmke-footer__grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) { .artmke-post-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* v0.4.0 — ARTMKE language and navigation refinement */
.artmke-header,
.artmke-nav,
.artmke-header__actions {
  font-family: var(--artmke-font-sans);
}

.artmke-menu {
  gap: clamp(22px, 2.1vw, 38px);
}

.artmke-menu > li > a,
.artmke-header__actions > a {
  font-size: .91rem;
  font-weight: 600;
  letter-spacing: -.012em;
}

.artmke-menu > li > a {
  position: relative;
  padding-block: 28px;
}

.artmke-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 20px;
  height: 2px;
  background: var(--artmke-blue);
  transition: right var(--artmke-transition);
}

.artmke-menu > li:hover > a::after,
.artmke-menu > li:focus-within > a::after {
  right: 0;
}

.artmke-menu .artmke-places-menu {
  width: min(760px, calc(100vw - 40px));
  left: 50%;
  transform: translateX(-34%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 18px;
}

.artmke-menu .artmke-places-menu li a {
  display: grid;
  gap: 4px;
  min-height: 92px;
  padding: 14px;
  border-radius: 10px;
}

.artmke-menu .artmke-places-menu li a:hover,
.artmke-menu .artmke-places-menu li a:focus-visible {
  background: rgba(41, 173, 255, .11);
}

.artmke-menu .artmke-places-menu strong {
  color: var(--artmke-white);
  font-size: .92rem;
  font-weight: 750;
}

.artmke-menu .artmke-places-menu span {
  color: rgba(255,255,255,.66);
  font-size: .75rem;
  line-height: 1.45;
}

@media (max-width: 1040px) {
  .artmke-menu .artmke-places-menu {
    width: auto;
    transform: none;
    grid-template-columns: 1fr;
  }

  .artmke-menu > li > a { padding-block: 12px; }
  .artmke-menu > li > a::after { display: none; }
  .artmke-menu .artmke-places-menu li a { min-height: 0; padding: 9px 0; }
}

/* v0.5.1 — Director's Cut masthead and back-cover footer */
.artmke-header{position:sticky;top:0;background:rgba(5,6,7,.97);backdrop-filter:saturate(130%) blur(14px)}
.artmke-header__inner{min-height:74px}
.artmke-brand img{width:158px;max-height:48px}
.artmke-menu>li>a{padding-block:24px}
.artmke-menu>li>a::after{bottom:16px}
.artmke-header__join{padding:9px 16px}
.artmke-footer{padding:0 0 18px;background:#07090b;color:var(--artmke-white)}
.artmke-footer__masthead{padding:70px 0 54px;border-bottom:1px solid rgba(255,255,255,.14)}
.artmke-footer__kicker{margin:0 0 10px;color:var(--artmke-blue);font-size:.69rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.artmke-footer__statement{max-width:980px;margin:0;color:#fff;font-size:clamp(3.6rem,8vw,8.8rem);font-weight:800;letter-spacing:-.075em;line-height:.82}
.artmke-footer__grid{grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(130px,.55fr));gap:48px;padding-top:46px}
.artmke-footer__brand img{width:175px;max-height:54px;object-fit:contain;object-position:left center}
.artmke-footer__brand p{max-width:390px;margin:20px 0 0;color:#aeb6bc;font-size:.89rem;line-height:1.65}
.artmke-footer__wordmark{font-size:1.7rem;letter-spacing:-.045em}
.artmke-footer__column{display:grid;align-content:start;gap:9px}
.artmke-footer__column a{color:#fff;font-size:.86rem;text-decoration:none}
.artmke-footer__column a:hover{color:var(--artmke-blue)}
.artmke-footer__label{margin:0 0 8px;color:#7f898f;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.artmke-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:17px;color:#8e989e;font-size:.72rem}
@media(max-width:920px){.artmke-header{position:relative}.artmke-footer__grid{grid-template-columns:1.3fr 1fr 1fr}.artmke-footer__column--end{grid-column:2/4}.artmke-footer__masthead{padding:56px 0 42px}}
@media(max-width:640px){.artmke-footer__masthead{padding:46px 0 36px}.artmke-footer__statement{font-size:clamp(3rem,17vw,5rem)}.artmke-footer__grid{grid-template-columns:1fr 1fr;gap:34px 24px}.artmke-footer__brand{grid-column:1/-1}.artmke-footer__column--end{grid-column:auto}.artmke-footer__bottom{flex-direction:column;gap:5px}.artmke-brand img{width:142px}}


/* v0.5.2 — tighter open masthead and compact footer */
.artmke-header__inner{min-height:62px;gap:26px}
.artmke-brand{padding:5px 9px;background:#fff;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(5,6,7,.08),0 3px 14px rgba(0,0,0,.16)}
.artmke-brand img{width:142px;max-height:39px}
.artmke-menu{gap:clamp(18px,1.7vw,29px)}
.artmke-menu>li>a,.artmke-header__actions>a{font-size:.82rem;font-weight:550;letter-spacing:-.01em}
.artmke-menu>li>a{padding-block:20px}
.artmke-menu>li>a::after{bottom:12px}
.artmke-header__actions{gap:14px}
.artmke-header__join{padding:7px 13px}
.artmke-search-link{font-size:1.16rem!important}
.artmke-footer{padding:34px 0 14px;background:#07090b}
.artmke-footer__grid{grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(120px,.55fr));gap:34px;padding-top:0}
.artmke-footer__logo-plate{display:inline-flex;padding:7px 10px;background:#fff;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(5,6,7,.08);text-decoration:none}
.artmke-footer__brand img{width:148px;max-height:42px;object-fit:contain}
.artmke-footer__brand p{max-width:330px;margin:13px 0 0;color:#aeb6bc;font-size:.78rem;line-height:1.5}
.artmke-footer__column{gap:6px}
.artmke-footer__column a{font-size:.78rem}
.artmke-footer__label{margin-bottom:5px;font-size:.61rem}
.artmke-footer__socials{display:flex;flex-wrap:wrap;gap:6px 12px}
.artmke-footer__socials a{color:var(--artmke-blue)}
.artmke-footer__bottom{margin-top:27px;padding-top:12px;font-size:.67rem}
@media(max-width:920px){.artmke-header__inner{min-height:60px}.artmke-footer__grid{grid-template-columns:1.2fr 1fr 1fr}.artmke-footer__column--end{grid-column:2/4}}
@media(max-width:640px){.artmke-brand img{width:132px}.artmke-footer{padding-top:28px}.artmke-footer__grid{grid-template-columns:1fr 1fr;gap:25px 20px}.artmke-footer__brand{grid-column:1/-1}.artmke-footer__column--end{grid-column:auto}.artmke-footer__bottom{flex-direction:column;gap:4px}}

/* v0.6.2 — soft ambient treatment around the untouched ARTMKE logo. */
.artmke-brand,.artmke-footer__logo-plate{position:relative;isolation:isolate;background:transparent!important;box-shadow:none!important}
.artmke-brand:before,.artmke-footer__logo-plate:before{content:"";position:absolute;z-index:-1;inset:-15px -22px;border-radius:999px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,255,255,.14) 0%,rgba(41,173,255,.065) 36%,rgba(5,6,7,0) 72%);filter:blur(8px)}
.artmke-footer__logo-plate:before{inset:-18px -26px;background:radial-gradient(ellipse at center,rgba(255,255,255,.12) 0%,rgba(41,173,255,.055) 38%,rgba(5,6,7,0) 74%)}

/* v0.6.3 — visible ambient field; the logo artwork itself remains untouched. */
.artmke-brand,.artmke-footer__logo-plate{position:relative;isolation:isolate;padding:7px 10px!important;background:transparent!important;box-shadow:none!important}
.artmke-brand::before,.artmke-footer__logo-plate::before{content:"";position:absolute;z-index:0;inset:-8px -16px;border-radius:999px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,255,255,.12) 0%,rgba(41,173,255,.075) 38%,rgba(7,9,11,0) 74%);filter:blur(7px)}
.artmke-brand img,.artmke-brand__text,.artmke-footer__logo-plate img{position:relative;z-index:1}

/* v0.6.4 — feather the raster logo plate without modifying the logo asset. */
.artmke-brand,.artmke-footer__logo-plate{overflow:hidden;border-radius:5px}
.artmke-brand::before,.artmke-footer__logo-plate::before{display:none!important}
.artmke-brand::after,.artmke-footer__logo-plate::after{
  content:"";position:absolute;z-index:2;inset:0;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 8px 5px #080a0c;
}
.artmke-brand img,.artmke-footer__logo-plate img{display:block}
