/* ---- base.css ---- */
:root {
  color-scheme: light;
  --background: #f6f7fb;
  --surface: rgba(255, 255, 255, 0.58);
  --surface-strong: rgba(255, 255, 255, 0.82);
  --surface-solid: #fbfbfd;
  --surface-tint: rgba(242, 244, 255, 0.72);
  --line: rgba(25, 29, 43, 0.09);
  --line-strong: rgba(25, 29, 43, 0.15);
  --text: #171921;
  --text-soft: #555c6d;
  --text-muted: #7b8291;
  --accent: #6761ee;
  --accent-deep: #4a45c9;
  --accent-blue: #4896e8;
  --accent-soft: rgba(103, 97, 238, 0.1);
  --shadow-soft: 0 16px 42px rgba(35, 43, 70, 0.08);
  --shadow-card: 0 24px 70px rgba(35, 43, 70, 0.105);
  --shadow-dialog: 0 38px 120px rgba(36, 42, 68, 0.22);
  --radius-sm: 16px;
  --radius-md: 23px;
  --radius-lg: 32px;
  --page-padding: clamp(18px, 3vw, 48px);
  --content-width: 1480px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --ease-spring: cubic-bezier(.22, 1, .36, 1);
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
}

html {
  background: var(--background);
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(133, 196, 255, 0.16), transparent 31%),
    radial-gradient(circle at 88% 18%, rgba(188, 145, 255, 0.13), transparent 30%),
    radial-gradient(circle at 72% 88%, rgba(255, 210, 198, 0.12), transparent 30%),
    linear-gradient(145deg, #fcfdff 0%, #f5f6fa 48%, #faf8f8 100%);
  color: var(--text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body[data-page="home"],
body[data-page="tools"] {
  height: 100dvh;
  overflow: hidden;
  overscroll-behavior: none;
}

body.dialog-open {
  overflow: hidden;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  color: inherit;
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

::selection {
  background: rgba(103, 97, 238, 0.18);
  color: var(--text);
}

:focus-visible {
  outline: 3px solid rgba(103, 97, 238, 0.34);
  outline-offset: 4px;
}

.page-light,
.page-lines,
.page-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.page-light {
  z-index: -3;
  filter: blur(0.1px);
}

.page-light--one {
  background:
    radial-gradient(circle at 18% 54%, rgba(255, 255, 255, 0.96), transparent 29%),
    radial-gradient(circle at 84% 68%, rgba(203, 226, 255, 0.38), transparent 31%);
}

.page-light--two {
  background:
    conic-gradient(from 210deg at 52% 44%, transparent, rgba(255, 255, 255, 0.55), transparent 34%);
  opacity: 0.72;
}

.page-lines {
  z-index: -2;
  opacity: 0.3;
  background-image:
    linear-gradient(rgba(36, 45, 72, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36, 45, 72, 0.028) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 90%);
}

.page-grain {
  z-index: 100;
  opacity: 0.024;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 700ms var(--ease-spring),
    transform 700ms var(--ease-spring);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---- layout.css ---- */
.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  height: 78px;
  pointer-events: none;
}

.top-nav {
  position: relative;
  width: 100%;
  height: 100%;
}

.brand-toggle,
.nav-links {
  pointer-events: auto;
}

.brand-toggle {
  position: absolute;
  top: 14px;
  left: max(16px, env(safe-area-inset-left));
  z-index: 3;
}

.nav-links {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
}

.home-shell {
  position: relative;
  width: min(100%, var(--content-width));
  height: 100dvh;
  margin: 0 auto;
  padding:
    clamp(92px, 10vh, 118px)
    var(--page-padding)
    clamp(20px, 3vh, 34px);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(18px, 3vh, 34px);
}

.hero-composition {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
  align-items: center;
  gap: clamp(54px, 7vw, 118px);
}

.intro-panel {
  position: relative;
  max-width: 760px;
  align-self: center;
}

.personal-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 18px);
  align-self: center;
  min-height: 238px;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.45vw, 20px);
}

.tools-shell {
  width: 100%;
  height: 100dvh;
}

.feature-dialog {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: clamp(10px, 1.2vw, 18px);
  border: 0;
  background: transparent;
  overflow: hidden;
}

.feature-dialog__frame {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.feature-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.feature-dialog__body {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}

/* ---- components.css ---- */
.brand-toggle {
  width: 50px;
  height: 50px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 17px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.48));
  box-shadow:
    0 12px 30px rgba(35, 43, 70, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(22px) saturate(150%);
  transition:
    transform 280ms var(--ease-spring),
    box-shadow 280ms var(--ease),
    border-color 280ms var(--ease);
}

.brand-toggle:hover {
  transform: translateY(-2px);
  border-color: rgba(103, 97, 238, 0.22);
  box-shadow:
    0 18px 40px rgba(35, 43, 70, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 1);
}

.brand-toggle:active {
  transform: translateY(0) scale(0.97);
}

.brand-mark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  line-height: 1;
  letter-spacing: -0.08em;
  transform: translateX(-0.04em);
}

.nav-links {
  min-width: 154px;
  height: 50px;
  padding: 5px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 3px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.46);
  box-shadow:
    0 12px 34px rgba(35, 43, 70, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(24px) saturate(160%);
  transform-origin: center top;
  transition:
    opacity 360ms var(--ease),
    transform 500ms var(--ease-spring),
    visibility 0s linear 0s;
}

.top-nav.is-collapsed .nav-links {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(-10px) scale(0.88);
  transition:
    opacity 220ms var(--ease),
    transform 360ms var(--ease),
    visibility 0s linear 360ms;
}

.nav-link {
  position: relative;
  min-width: 66px;
  height: 38px;
  padding: 0 15px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  text-decoration: none;
  color: var(--text-soft);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  transition:
    color 230ms var(--ease),
    background 230ms var(--ease),
    transform 230ms var(--ease);
}

.nav-link:hover {
  color: var(--text);
  transform: translateY(-1px);
}

.nav-link.is-active {
  color: var(--text);
  background: rgba(255, 255, 255, 0.84);
  box-shadow:
    0 7px 18px rgba(35, 43, 70, 0.08),
    inset 0 0 0 1px rgba(33, 39, 57, 0.035);
}

.identity-kicker,
.dialog-kicker,
.feature-card__eyebrow,
.metric-label {
  margin: 0;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--accent);
}

.intro-panel::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 2px;
  width: 2px;
  height: 52px;
  border-radius: 99px;
  background: linear-gradient(to bottom, var(--accent), rgba(72, 150, 232, 0.12));
  box-shadow: 0 0 22px rgba(103, 97, 238, 0.24);
}

.intro-panel h1 {
  max-width: 760px;
  margin: clamp(12px, 1.5vh, 18px) 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.75rem, 5.35vw, 6.7rem);
  line-height: 0.91;
  letter-spacing: -0.068em;
  font-weight: 500;
  text-wrap: balance;
}

.intro-panel h1::after {
  content: "";
  display: block;
  width: clamp(92px, 10vw, 154px);
  height: 4px;
  margin-top: clamp(18px, 2.5vh, 28px);
  border-radius: 99px;
  background: linear-gradient(90deg, var(--accent), var(--accent-blue), transparent);
  transform-origin: left;
  animation: title-line 1100ms 500ms var(--ease-spring) both;
}

@keyframes title-line {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}

.site-signal {
  max-width: 650px;
  margin: clamp(14px, 2.2vh, 24px) 0 0;
  color: var(--text-soft);
  font-size: clamp(0.98rem, 1.12vw, 1.17rem);
  line-height: 1.68;
  letter-spacing: -0.018em;
}

.metric {
  position: relative;
  min-width: 0;
  padding: clamp(18px, 2.1vw, 27px);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(250, 251, 255, 0.46));
  box-shadow:
    var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 0 0 1px rgba(38, 45, 68, 0.025);
  backdrop-filter: blur(22px) saturate(145%);
}

.metric::before {
  content: "";
  position: absolute;
  inset: auto -24% -64% 30%;
  height: 105%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(103, 97, 238, 0.12), transparent 68%);
  pointer-events: none;
}

.metric:nth-child(2)::before,
.metric:nth-child(3)::before {
  background: radial-gradient(circle, rgba(72, 150, 232, 0.12), transparent 68%);
}

.metric-value {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.38rem, 1.7vw, 2.05rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.04em;
  overflow-wrap: anywhere;
}

.metric-value--age {
  font-size: clamp(2.5rem, 3.8vw, 4.35rem);
  line-height: 0.8;
}

.metric-value--countdown {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: clamp(0.82rem, 1.02vw, 1.08rem);
  line-height: 1.35;
  letter-spacing: -0.035em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.metric-note {
  position: relative;
  z-index: 1;
  min-height: 1em;
  margin-top: 8px;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.feature-card {
  --card-light: rgba(103, 97, 238, 0.1);
  position: relative;
  height: clamp(142px, 17vh, 178px);
  min-width: 0;
  padding: clamp(20px, 1.8vw, 27px);
  border: 1px solid rgba(255, 255, 255, 0.84);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(247, 248, 253, 0.48));
  box-shadow:
    var(--shadow-card),
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    inset 0 0 0 1px rgba(38, 45, 68, 0.025);
  backdrop-filter: blur(22px) saturate(145%);
  transform: translateY(0);
  transition:
    transform 360ms var(--ease-spring),
    box-shadow 360ms var(--ease),
    border-color 360ms var(--ease);
}

.feature-card:nth-child(2) { --card-light: rgba(72, 150, 232, 0.1); }
.feature-card:nth-child(3) { --card-light: rgba(177, 124, 239, 0.1); }
.feature-card:nth-child(4) { --card-light: rgba(247, 176, 142, 0.11); }

.feature-card::before {
  content: "";
  position: absolute;
  inset: 46% -24% -82% 26%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--card-light), transparent 68%);
  transform: translate3d(0, 12px, 0);
  transition: transform 500ms var(--ease-spring), opacity 360ms var(--ease);
}

.feature-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.54), transparent 67%);
  transform: translateX(-120%);
  transition: transform 850ms var(--ease-spring);
  pointer-events: none;
}

.feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(103, 97, 238, 0.16);
  box-shadow:
    0 30px 82px rgba(35, 43, 70, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 1);
}

.feature-card:hover::before {
  transform: translate3d(-8px, -4px, 0) scale(1.08);
}

.feature-card:hover::after {
  transform: translateX(120%);
}

.feature-card:active {
  transform: translateY(-1px) scale(0.985);
}

.feature-card__eyebrow,
.feature-card__title,
.feature-card__meta,
.feature-card__arrow {
  position: relative;
  z-index: 1;
}

.feature-card__title {
  max-width: calc(100% - 44px);
  margin-top: auto;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 1.8vw, 2.05rem);
  line-height: 0.98;
  font-weight: 500;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.feature-card__meta {
  margin-top: 8px;
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 700;
}

.feature-card__arrow {
  position: absolute;
  top: 17px;
  right: 17px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(38, 45, 68, 0.08);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.66);
  box-shadow: 0 8px 20px rgba(35, 43, 70, 0.07);
  font-size: 0.95rem;
  transition: transform 360ms var(--ease-spring), background 300ms var(--ease);
}

.feature-card:hover .feature-card__arrow {
  transform: translate(3px, -3px);
  background: rgba(255, 255, 255, 0.92);
}

.feature-dialog::backdrop {
  background: rgba(226, 230, 241, 0.44);
  backdrop-filter: blur(18px) saturate(120%);
}

.feature-dialog[open] {
  animation: dialog-shell-in 360ms var(--ease-spring) both;
}

.feature-dialog.is-closing {
  animation: dialog-shell-out 250ms var(--ease) both;
}

@keyframes dialog-shell-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes dialog-shell-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

.feature-dialog__frame {
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: clamp(24px, 2.2vw, 36px);
  background:
    radial-gradient(circle at 82% 10%, rgba(172, 204, 255, 0.22), transparent 31%),
    radial-gradient(circle at 14% 86%, rgba(191, 161, 250, 0.13), transparent 30%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.93), rgba(247, 248, 252, 0.82));
  box-shadow:
    var(--shadow-dialog),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  backdrop-filter: blur(30px) saturate(150%);
  transform-origin: center;
  animation: dialog-frame-in 520ms var(--ease-spring) both;
}

.feature-dialog.is-closing .feature-dialog__frame {
  animation: dialog-frame-out 250ms var(--ease) both;
}

@keyframes dialog-frame-in {
  from { transform: translateY(18px) scale(0.975); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes dialog-frame-out {
  from { transform: translateY(0) scale(1); opacity: 1; }
  to { transform: translateY(12px) scale(0.985); opacity: 0; }
}

.feature-dialog__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0.22), transparent 28%, transparent 72%, rgba(255, 255, 255, 0.14));
}

.feature-dialog__header {
  position: relative;
  z-index: 2;
  padding: clamp(24px, 3vw, 46px);
  border-bottom: 1px solid rgba(31, 37, 56, 0.07);
}

.feature-dialog__header h2 {
  margin: 8px 0 0;
  max-width: 900px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 4.8rem);
  line-height: 0.94;
  font-weight: 500;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.dialog-close {
  min-width: 92px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(31, 37, 56, 0.08);
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  cursor: pointer;
  color: var(--text-soft);
  background: rgba(255, 255, 255, 0.66);
  box-shadow: 0 10px 26px rgba(35, 43, 70, 0.07);
  font-size: 0.76rem;
  font-weight: 750;
  transition:
    transform 260ms var(--ease-spring),
    color 220ms var(--ease),
    background 220ms var(--ease);
}

.dialog-close:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.94);
  transform: translateX(-2px);
}

.dialog-close:active {
  transform: scale(0.97);
}

.feature-dialog__body {
  position: relative;
  z-index: 1;
  padding: clamp(24px, 3vw, 48px);
  scrollbar-width: thin;
  scrollbar-color: rgba(103, 97, 238, 0.24) transparent;
}

.feature-dialog__body::-webkit-scrollbar {
  width: 9px;
}

.feature-dialog__body::-webkit-scrollbar-track {
  background: transparent;
}

.feature-dialog__body::-webkit-scrollbar-thumb {
  border: 3px solid transparent;
  border-radius: 999px;
  background: rgba(103, 97, 238, 0.25);
  background-clip: padding-box;
}

/* ---- responsive.css ---- */
@media (max-width: 1120px) {
  .home-shell {
    padding-top: 90px;
    gap: 18px;
  }

  .hero-composition {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.88fr);
    gap: 42px;
  }

  .intro-panel h1 {
    font-size: clamp(3.55rem, 5.7vw, 5.4rem);
  }

  .feature-card__title {
    font-size: clamp(1.3rem, 1.9vw, 1.72rem);
  }
}

@media (max-width: 900px) {
  .home-shell {
    grid-template-rows: minmax(0, 1fr) auto;
    padding-top: 86px;
  }

  .hero-composition {
    grid-template-columns: minmax(0, 1.02fr) minmax(330px, 0.98fr);
    gap: 28px;
  }

  .intro-panel::before {
    left: -14px;
  }

  .intro-panel h1 {
    font-size: clamp(3rem, 5.7vw, 4.45rem);
  }

  .personal-metrics {
    min-height: 206px;
    gap: 10px;
  }

  .metric {
    padding: 17px;
  }

  .metric-value {
    font-size: 1.24rem;
  }

  .metric-value--age {
    font-size: 2.8rem;
  }

  .metric-value--countdown {
    font-size: 0.75rem;
  }

  .feature-card {
    height: 132px;
    padding: 18px;
  }

  .feature-card__title {
    font-size: 1.28rem;
  }
}

@media (max-width: 760px) {
  .site-header {
    height: 70px;
  }

  .brand-toggle {
    top: 12px;
    left: max(12px, env(safe-area-inset-left));
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .nav-links {
    top: 68px;
    left: max(12px, env(safe-area-inset-left));
    width: 150px;
    height: auto;
    min-width: 0;
    padding: 6px;
    grid-template-columns: 1fr;
    gap: 4px;
    transform: none;
    transform-origin: top left;
    border-radius: 18px;
  }

  .top-nav.is-collapsed .nav-links {
    transform: translateY(-10px) scale(0.94);
  }

  .nav-link {
    width: 100%;
    height: 42px;
    justify-content: start;
    place-items: center start;
    padding: 0 15px;
  }

  .home-shell {
    height: 100dvh;
    padding:
      calc(72px + env(safe-area-inset-top))
      max(13px, env(safe-area-inset-left))
      max(12px, env(safe-area-inset-bottom));
    grid-template-rows: auto auto;
    align-content: space-evenly;
    gap: clamp(10px, 1.7vh, 15px);
  }

  .hero-composition {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-items: start;
    gap: clamp(10px, 1.7vh, 15px);
  }

  .intro-panel {
    max-width: none;
  }

  .intro-panel::before {
    display: none;
  }

  .identity-kicker {
    font-size: 0.54rem;
  }

  .intro-panel h1 {
    margin-top: 8px;
    max-width: 600px;
    font-size: clamp(2.15rem, 9.7vw, 3.65rem);
    line-height: 0.93;
    letter-spacing: -0.06em;
  }

  .intro-panel h1::after {
    width: 78px;
    height: 3px;
    margin-top: 10px;
  }

  .site-signal {
    max-width: 580px;
    margin-top: 9px;
    font-size: clamp(0.78rem, 3.25vw, 0.94rem);
    line-height: 1.45;
  }

  .personal-metrics {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .metric {
    min-height: clamp(64px, 10.8vh, 82px);
    padding: clamp(10px, 2.8vw, 14px);
    border-radius: 17px;
  }

  .metric-label {
    font-size: 0.48rem;
    letter-spacing: 0.15em;
  }

  .metric-value {
    margin-top: 6px;
    font-size: clamp(0.94rem, 4vw, 1.18rem);
    line-height: 1;
  }

  .metric-value--age {
    font-size: clamp(1.75rem, 7.6vw, 2.4rem);
  }

  .metric-value--countdown {
    font-size: clamp(0.59rem, 2.65vw, 0.72rem);
  }

  .metric-note {
    margin-top: 4px;
    font-size: 0.58rem;
  }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .feature-card {
    height: clamp(80px, 13.4vh, 106px);
    padding: clamp(12px, 3.3vw, 16px);
    border-radius: 18px;
  }

  .feature-card:hover {
    transform: none;
  }

  .feature-card:active {
    transform: scale(0.98);
  }

  .feature-card__eyebrow {
    font-size: 0.46rem;
  }

  .feature-card__title {
    max-width: calc(100% - 30px);
    font-size: clamp(1rem, 4.3vw, 1.3rem);
    line-height: 0.94;
  }

  .feature-card__meta {
    margin-top: 5px;
    font-size: 0.58rem;
  }

  .feature-card__arrow {
    top: 11px;
    right: 11px;
    width: 28px;
    height: 28px;
    font-size: 0.72rem;
  }

  .feature-dialog {
    padding: 0;
  }

  .feature-dialog__frame {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .feature-dialog__header {
    min-height: 92px;
    padding:
      calc(20px + env(safe-area-inset-top))
      max(18px, env(safe-area-inset-right))
      18px
      max(18px, env(safe-area-inset-left));
  }

  .feature-dialog__header h2 {
    margin-top: 5px;
    max-width: min(72vw, 520px);
    font-size: clamp(1.55rem, 7vw, 2.8rem);
    line-height: 0.92;
  }

  .dialog-kicker {
    font-size: 0.5rem;
  }

  .dialog-close {
    min-width: 76px;
    height: 40px;
    padding: 0 12px;
    border-radius: 14px;
    font-size: 0.68rem;
  }

  .feature-dialog__body {
    padding:
      20px
      max(18px, env(safe-area-inset-right))
      calc(32px + env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }
}

@media (max-width: 390px) {
  .intro-panel h1 {
    font-size: clamp(2rem, 9.1vw, 2.6rem);
  }

  .site-signal {
    font-size: 0.76rem;
  }

  .feature-card__title {
    font-size: 0.98rem;
  }
}

@media (max-height: 720px) and (max-width: 760px) {
  .home-shell {
    padding-top: calc(68px + env(safe-area-inset-top));
    gap: 7px;
  }

  .hero-composition {
    gap: 7px;
  }

  .intro-panel h1 {
    margin-top: 6px;
    font-size: clamp(1.9rem, 8.8vw, 2.7rem);
  }

  .intro-panel h1::after {
    margin-top: 7px;
  }

  .site-signal {
    margin-top: 6px;
    font-size: 0.72rem;
    line-height: 1.34;
  }

  .metric {
    min-height: 58px;
    padding: 9px 11px;
  }

  .metric-value {
    margin-top: 4px;
    font-size: 0.9rem;
  }

  .metric-value--age {
    font-size: 1.65rem;
  }

  .metric-value--countdown {
    font-size: 0.56rem;
  }

  .metric-note {
    display: none;
  }

  .feature-card {
    height: clamp(66px, 11.4vh, 82px);
    padding: 10px 12px;
  }

  .feature-card__title {
    font-size: clamp(0.9rem, 4vw, 1.06rem);
  }

  .feature-card__meta {
    font-size: 0.53rem;
  }
}

@media (max-height: 640px) and (max-width: 760px) {
  .identity-kicker,
  .feature-card__eyebrow {
    display: none;
  }

  .intro-panel h1 {
    margin-top: 0;
    font-size: clamp(1.72rem, 8vw, 2.2rem);
  }

  .intro-panel h1::after {
    width: 54px;
    margin-top: 5px;
  }

  .site-signal {
    font-size: 0.66rem;
  }

  .metric {
    min-height: 52px;
  }

  .feature-card {
    height: 60px;
  }

  .feature-card__arrow {
    width: 24px;
    height: 24px;
    top: 8px;
    right: 8px;
  }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 960px) {
  .home-shell {
    padding: 70px 14px 12px;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    grid-template-rows: 1fr;
    gap: 12px;
  }

  .hero-composition {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 8px;
  }

  .intro-panel h1 {
    font-size: clamp(1.75rem, 5vw, 2.75rem);
  }

  .site-signal {
    max-width: 520px;
  }

  .personal-metrics {
    gap: 6px;
  }

  .metric {
    min-height: 54px;
  }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-self: stretch;
  }

  .feature-card {
    height: auto;
    min-height: 0;
  }
}

/* Version 6: one stable mobile navigation layout at every phone width. */
@media (max-width: 760px) {
  .site-header {
    height: 72px;
  }

  .brand-toggle {
    top: 12px;
    left: max(12px, env(safe-area-inset-left));
    width: 48px;
    height: 48px;
  }

  .nav-links,
  .top-nav.is-collapsed .nav-links {
    top: 12px;
    left: 50%;
    width: min(170px, calc(100vw - 138px));
    min-width: 142px;
    height: 48px;
    padding: 5px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
    transform: translateX(-50%);
    transform-origin: center top;
    opacity: 1;
    visibility: visible;
    border-radius: 17px;
  }

  .nav-link {
    width: auto;
    min-width: 0;
    height: 38px;
    padding: 0 10px;
    justify-content: center;
    place-items: center;
    font-size: .72rem;
  }
}

/* ---- v21.css ---- */

/* Usavir Premium Website — Version 21
   Shared Academy, navigation, About-content, contact and legal refinements. */

:root{
  --v21-card:rgba(255,255,255,.72);
  --v21-card-strong:rgba(255,255,255,.9);
  --v21-border:rgba(70,82,118,.12);
  --v21-green:#168a57;
}

/* Four-destination navigation. */
.nav-links{
  min-width:min(430px,calc(100vw - 150px));
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.nav-link{min-width:0;white-space:nowrap;padding-inline:14px}
.brand-toggle{z-index:5}

body[data-page="academy"],
body[data-page="course"],
body[data-page="contact"],
body[data-page="legal"]{
  min-height:100dvh;
  overflow-x:hidden;
}

.v21-shell{
  position:relative;
  width:min(100%,var(--content-width));
  margin:0 auto;
  padding:clamp(108px,12vh,138px) var(--page-padding) clamp(48px,7vh,88px);
}

.v21-hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:clamp(42px,6vw,96px);
  align-items:center;
  min-height:min(650px,72vh);
}
.v21-kicker{
  margin:0 0 14px;
  color:var(--accent-deep);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.v21-title{
  margin:0;
  max-width:900px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.6rem,7.2vw,7.7rem);
  line-height:.87;
  letter-spacing:-.065em;
  font-weight:500;
  text-wrap:balance;
}
.v21-title em{font-style:normal;color:var(--accent-deep)}
.v21-lead{
  margin:clamp(22px,3vh,34px) 0 0;
  max-width:720px;
  color:var(--text-soft);
  font-size:clamp(1rem,1.35vw,1.22rem);
  line-height:1.7;
}
.v21-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}
.v21-button{
  min-height:48px;
  padding:0 20px;
  border:1px solid rgba(59,64,95,.1);
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-decoration:none;
  cursor:pointer;
  background:rgba(255,255,255,.78);
  color:var(--text);
  box-shadow:0 12px 28px rgba(35,43,70,.08);
  font-weight:800;
  font-size:.84rem;
  transition:transform 240ms var(--ease-spring),box-shadow 240ms var(--ease),background 240ms var(--ease);
}
.v21-button:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(35,43,70,.13);background:#fff}
.v21-button--primary{border-color:transparent;color:white;background:linear-gradient(135deg,var(--accent-deep),#756df5);box-shadow:0 16px 38px rgba(79,70,206,.24)}
.v21-button--primary:hover{background:linear-gradient(135deg,#413bc0,#6860ed)}
.v21-button--call{color:white;background:linear-gradient(135deg,#157c50,#1b9b61);border-color:transparent}

.academy-proof{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.proof-card{
  min-height:145px;
  padding:22px;
  border:1px solid rgba(255,255,255,.84);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,248,253,.54));
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(22px) saturate(145%);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.proof-card span{color:var(--text-muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.proof-card strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,2.7vw,3.1rem);line-height:.94;font-weight:500;letter-spacing:-.045em}
.proof-card--price{grid-column:1/-1;min-height:174px;background:radial-gradient(circle at 82% 20%,rgba(103,97,238,.18),transparent 32%),rgba(255,255,255,.76)}
.proof-card--price strong{font-size:clamp(3rem,5vw,5rem);color:var(--accent-deep)}
.proof-card--price small{color:var(--text-soft);line-height:1.5}

.v21-section{padding:clamp(44px,7vh,82px) 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:clamp(24px,4vh,38px)}
.section-heading>div{max-width:760px}
.section-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.5rem,5vw,5rem);line-height:.93;letter-spacing:-.055em}
.section-heading p{margin:14px 0 0;color:var(--text-soft);line-height:1.65;max-width:64ch}

.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.course-card{
  position:relative;
  min-height:410px;
  padding:clamp(24px,2.4vw,34px);
  border:1px solid rgba(255,255,255,.88);
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,248,253,.54));
  box-shadow:0 24px 70px rgba(35,43,70,.095),inset 0 1px 0 rgba(255,255,255,.98);
  display:flex;
  flex-direction:column;
}
.course-card::before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-100px;top:-110px;background:radial-gradient(circle,rgba(103,97,238,.15),transparent 68%);pointer-events:none}
.course-card:nth-child(2)::before{background:radial-gradient(circle,rgba(72,150,232,.16),transparent 68%)}
.course-card:nth-child(3)::before{background:radial-gradient(circle,rgba(177,124,239,.14),transparent 68%)}
.course-card__tag{position:relative;margin:0;color:var(--accent-deep);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.16em}
.course-card h3{position:relative;margin:22px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3vw,3.15rem);line-height:.92;letter-spacing:-.05em;font-weight:500}
.course-card p{position:relative;color:var(--text-soft);line-height:1.62}
.course-card__price{position:relative;margin-top:auto;padding-top:26px;font-size:1rem;font-weight:850;color:var(--accent-deep)}
.course-card__links{position:relative;display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.course-card__links .v21-button{min-height:43px;padding-inline:15px;font-size:.76rem}

.academy-band{
  margin-top:clamp(48px,8vh,92px);
  padding:clamp(28px,4vw,48px);
  border:1px solid rgba(255,255,255,.86);
  border-radius:34px;
  background:radial-gradient(circle at 85% 15%,rgba(116,107,245,.18),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.84),rgba(245,247,253,.6));
  box-shadow:0 28px 80px rgba(35,43,70,.1);
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;
}
.academy-band h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4.6vw,4.5rem);line-height:.92;letter-spacing:-.052em;font-weight:500}
.academy-band p{margin:12px 0 0;color:var(--text-soft);line-height:1.6}

/* Course pages */
.course-hero{padding-top:clamp(112px,13vh,145px);padding-bottom:42px}
.course-hero__crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text-muted);font-size:.76rem;font-weight:750}
.course-hero__crumbs a{text-decoration:none}.course-hero__crumbs a:hover{color:var(--accent-deep)}
.course-hero__layout{margin-top:38px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:clamp(38px,6vw,90px);align-items:start}
.course-hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.5rem,7vw,7.2rem);line-height:.87;letter-spacing:-.064em;font-weight:500}
.course-hero__lead{margin:24px 0 0;max-width:760px;color:var(--text-soft);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7}
.course-summary{padding:26px;border:1px solid rgba(255,255,255,.88);border-radius:28px;background:rgba(255,255,255,.74);box-shadow:var(--shadow-soft)}
.course-summary__price{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,4.7vw,4.5rem);line-height:1;color:var(--accent-deep);letter-spacing:-.05em}
.course-summary__price small{font-family:inherit;font-size:.36em;color:var(--text-soft);letter-spacing:0}
.course-summary ul{margin:22px 0;padding:0;list-style:none;display:grid;gap:10px}
.course-summary li{padding-left:24px;position:relative;color:var(--text-soft);line-height:1.45}.course-summary li::before{content:"✓";position:absolute;left:0;color:var(--accent-deep);font-weight:900}
.course-summary .v21-button{width:100%}
.course-content-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px}
.info-panel{padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.86);border-radius:28px;background:rgba(255,255,255,.7);box-shadow:var(--shadow-soft)}
.info-panel h2,.info-panel h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em}.info-panel h2{font-size:clamp(2.1rem,3.8vw,3.7rem)}.info-panel h3{font-size:clamp(1.5rem,2.5vw,2.25rem)}
.info-panel p{color:var(--text-soft);line-height:1.7}.topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.topic-list span{padding:12px 14px;border:1px solid rgba(72,86,125,.1);border-radius:14px;background:rgba(255,255,255,.7);font-size:.82rem;font-weight:760;color:#41495b}

/* Enrolment dialog */
.enrol-dialog{width:min(780px,calc(100% - 24px));max-height:min(90dvh,880px);padding:0;border:0;border-radius:30px;background:transparent;overflow:visible}
.enrol-dialog::backdrop{background:rgba(225,230,241,.6);backdrop-filter:blur(16px) saturate(120%)}
.enrol-card{max-height:min(90dvh,880px);overflow:auto;border:1px solid rgba(255,255,255,.92);border-radius:30px;background:radial-gradient(circle at 92% 4%,rgba(152,190,255,.22),transparent 29%),linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,248,252,.94));box-shadow:0 38px 120px rgba(36,42,68,.24)}
.enrol-head{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:28px 30px 22px;border-bottom:1px solid rgba(30,38,65,.07)}
.enrol-head h2{margin:5px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;letter-spacing:-.05em;line-height:.95}.enrol-close{width:42px;height:42px;border:1px solid rgba(32,41,67,.1);border-radius:14px;background:rgba(255,255,255,.78);cursor:pointer;font-size:1.2rem}
.enrol-body{padding:26px 30px 30px}.enrol-call{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid rgba(28,128,80,.15);border-radius:18px;background:rgba(232,250,241,.72)}.enrol-call p{margin:0;color:#336551;font-size:.82rem;line-height:1.5}.enrol-call strong{display:block;color:#174e39;font-size:1rem}.enrol-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:.7rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.enrol-or::before,.enrol-or::after{content:"";height:1px;flex:1;background:rgba(53,64,91,.1)}
.enrol-form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field{display:grid;gap:7px}.form-field label{font-size:.72rem;font-weight:800;color:#434b5c}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(54,65,95,.13);border-radius:14px;background:rgba(255,255,255,.8);padding:12px 13px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:rgba(103,97,238,.48);box-shadow:0 0 0 4px rgba(103,97,238,.09)}.form-field textarea{min-height:98px;resize:vertical}.optional-note{font-weight:600;color:var(--text-muted)}
.enrol-submit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.enrol-submit-row .v21-button{width:100%}.form-status{min-height:1.25em;margin:0;color:var(--text-muted);font-size:.74rem;line-height:1.5}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:42px}.contact-card{padding:clamp(25px,3vw,38px);border:1px solid rgba(255,255,255,.88);border-radius:30px;background:rgba(255,255,255,.74);box-shadow:var(--shadow-soft)}.contact-card__label{margin:0;color:var(--accent-deep);font-size:.65rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.contact-card h2{margin:16px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3.3vw,3.2rem);line-height:1;letter-spacing:-.05em;font-weight:500;overflow-wrap:anywhere}.contact-card p{color:var(--text-soft);line-height:1.6}.contact-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.copy-feedback{min-height:1em;margin-top:12px;color:var(--v21-green);font-size:.72rem;font-weight:750}

/* About popup content renderers */
.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-item{padding:24px;border:1px solid rgba(70,82,118,.11);border-radius:22px;background:rgba(255,255,255,.66);box-shadow:0 15px 42px rgba(35,43,70,.06)}.project-item__top{display:flex;justify-content:space-between;gap:12px;align-items:start}.project-item__tag{margin:0;color:var(--accent-deep);font-size:.58rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.project-item__status{padding:5px 8px;border-radius:999px;background:rgba(103,97,238,.08);color:var(--accent-deep);font-size:.61rem;font-weight:850}.project-item h3{margin:18px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.2vw,2.25rem);font-weight:500;letter-spacing:-.04em}.project-item p{margin:0;color:var(--text-soft);line-height:1.62}.project-item a{display:inline-flex;margin-top:20px;text-decoration:none;color:var(--accent-deep);font-weight:850;font-size:.78rem}.about-copy{max-width:900px}.about-copy__lead{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.05;letter-spacing:-.045em}.about-copy__body{margin:22px 0 0;max-width:70ch;color:var(--text-soft);font-size:1rem;line-height:1.75}.cv-empty{max-width:700px;padding:28px;border:1px solid rgba(71,82,115,.1);border-radius:22px;background:rgba(255,255,255,.65)}.cv-empty h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500}.cv-empty p{color:var(--text-soft);line-height:1.65}.cv-sections{display:grid;gap:14px}.cv-section{padding:24px;border:1px solid rgba(71,82,115,.1);border-radius:22px;background:rgba(255,255,255,.65)}.cv-section h3{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:500}.cv-section p,.cv-section li{color:var(--text-soft);line-height:1.6}

/* Shared footer */
.v21-footer{width:min(100%,var(--content-width));margin:0 auto;padding:28px var(--page-padding) 34px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid rgba(54,64,91,.08);color:var(--text-muted);font-size:.72rem}.v21-footer nav{display:flex;flex-wrap:wrap;gap:14px}.v21-footer a{text-decoration:none}.v21-footer a:hover{color:var(--accent-deep)}

/* Legal */
.legal-wrap{width:min(860px,100%);margin:0 auto}.legal-wrap h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,6rem);line-height:.9;font-weight:500;letter-spacing:-.06em}.legal-wrap .legal-updated{margin:16px 0 38px;color:var(--text-muted);font-size:.78rem}.legal-section{margin:34px 0}.legal-section h2{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:500;letter-spacing:-.035em}.legal-section p,.legal-section li{color:var(--text-soft);line-height:1.72}.legal-section a{color:var(--accent-deep)}

@media(max-width:1000px){
  .v21-hero,.course-hero__layout{grid-template-columns:1fr}.academy-proof{max-width:650px}.course-grid{grid-template-columns:1fr}.course-card{min-height:0}.course-content-grid{grid-template-columns:1fr}.academy-band{grid-template-columns:1fr}.academy-band .v21-actions{margin-top:0}.contact-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .site-header{height:70px}
  .brand-toggle{top:max(11px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:48px;height:48px}
  .nav-links,
  .top-nav.is-collapsed .nav-links{top:67px;left:max(12px,env(safe-area-inset-left));width:min(220px,calc(100vw - 24px));height:auto;min-width:0;padding:6px;grid-template-columns:1fr;gap:4px;transform-origin:top left}
  .top-nav.is-collapsed .nav-links{opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96)}
  .top-nav:not(.is-collapsed) .nav-links{opacity:1;visibility:visible;transform:none}
  .nav-link{width:100%;height:42px;place-items:center start;justify-content:start;padding:0 15px}
  .v21-shell{padding:calc(88px + env(safe-area-inset-top)) max(15px,env(safe-area-inset-left),env(safe-area-inset-right)) calc(44px + env(safe-area-inset-bottom))}
  .v21-hero{min-height:0;gap:32px}.v21-title{font-size:clamp(3.1rem,15vw,5.2rem)}.academy-proof{grid-template-columns:1fr 1fr}.proof-card{min-height:112px;padding:17px;border-radius:20px}.proof-card--price{min-height:145px}.course-grid{gap:11px}.course-card{padding:22px;border-radius:24px}.section-heading{align-items:start;flex-direction:column}.course-hero{padding-top:calc(94px + env(safe-area-inset-top))}.course-hero__layout{margin-top:26px}.course-hero h1{font-size:clamp(3.2rem,14vw,5rem)}.course-summary{padding:21px;border-radius:23px}.topic-list{grid-template-columns:1fr}.form-row,.enrol-submit-row{grid-template-columns:1fr}.enrol-dialog{width:calc(100% - 14px);max-height:96dvh}.enrol-card{max-height:96dvh;border-radius:24px}.enrol-head{padding:22px 20px 18px}.enrol-body{padding:20px}.enrol-call{align-items:flex-start;flex-direction:column}.enrol-call .v21-button{width:100%}.project-list{grid-template-columns:1fr}.v21-footer{align-items:flex-start;flex-direction:column;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
}

@media(max-width:420px){
  .academy-proof{grid-template-columns:1fr}.proof-card--price{grid-column:auto}.v21-actions>.v21-button{flex:1 1 100%}.contact-actions>.v21-button{flex:1 1 auto}.v21-title{font-size:clamp(2.85rem,14.4vw,4.1rem)}
}

/* ---- v22.css ---- */
/* Usavir Premium Website — Version 22
   Academy-home visual system is the source of truth across the public site. */

:root{
  --v22-footer-height:48px;
  --v22-panel:rgba(255,255,255,.76);
  --v22-panel-strong:rgba(255,255,255,.9);
  --v22-border:rgba(67,78,113,.12);
  --v22-shadow:0 22px 70px rgba(35,43,70,.1);
}

/* Global navigation order/layout */
.nav-links{grid-template-columns:repeat(4,minmax(0,1fr));min-width:min(470px,calc(100vw - 150px))}
.nav-link{white-space:nowrap}

/* One-line global footer */
.v21-footer,.global-footer{
  width:min(100%,var(--content-width));
  margin:0 auto;
  padding:16px var(--page-padding) 22px;
  border-top:1px solid rgba(54,64,91,.09);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:var(--text-muted);
  font-size:.69rem;
  line-height:1;
  white-space:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
}
.v21-footer::-webkit-scrollbar,.global-footer::-webkit-scrollbar{display:none}
.v21-footer nav,.global-footer nav{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.v21-footer a,.global-footer a{text-decoration:none;font-weight:750;color:var(--text-soft)}
.v21-footer a:hover,.global-footer a:hover{color:var(--accent-deep)}
.v21-footer__copyright{flex:0 0 auto}
.v21-footer__copyright::before{content:""}

/* About and Tools keep their fitted composition while gaining the same footer strip. */
body[data-page="about"] .global-footer,
body[data-page="tools"] .global-footer{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:20;background:linear-gradient(180deg,rgba(248,249,253,.68),rgba(248,249,253,.92));backdrop-filter:blur(15px)}
body[data-page="about"] .home-shell{padding-bottom:calc(var(--v22-footer-height) + 18px)}
body[data-page="tools"] .tools-shell{padding-bottom:calc(var(--v22-footer-height) + 12px)!important}

/* Academy home: preserve the desktop composition and use tabs instead of stacked cards. */
.v21-hero{min-height:min(620px,70vh)}
.academy-tabs-shell{display:grid;gap:16px}
.academy-tablist{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding:6px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:22px;
  background:rgba(255,255,255,.58);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(20px) saturate(145%);
}
.academy-tab{
  min-height:58px;
  border:0;
  border-radius:17px;
  padding:10px 16px;
  background:transparent;
  color:var(--text-soft);
  cursor:pointer;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.02em;
  transition:background .22s var(--ease),color .22s var(--ease),box-shadow .22s var(--ease),transform .22s var(--ease);
}
.academy-tab[aria-selected="true"]{background:linear-gradient(135deg,rgba(78,70,204,.97),rgba(117,109,245,.94));color:#fff;box-shadow:0 12px 28px rgba(79,70,206,.22)}
.academy-tab:hover{transform:translateY(-1px)}
.academy-tabpanel{
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);
  gap:24px;
  padding:clamp(25px,3vw,38px);
  border:1px solid rgba(255,255,255,.88);
  border-radius:30px;
  background:radial-gradient(circle at 90% 10%,rgba(122,116,242,.13),transparent 30%),rgba(255,255,255,.72);
  box-shadow:var(--v22-shadow),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(24px) saturate(145%);
}
.academy-tabpanel[hidden]{display:none!important}
.tab-course-copy{display:flex;flex-direction:column;justify-content:center}
.tab-course-copy h3{margin:6px 0 13px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,4.25rem);line-height:.92;letter-spacing:-.055em;font-weight:500}
.tab-course-copy p{margin:0;max-width:68ch;color:var(--text-soft);line-height:1.67}
.tab-course-side{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:20px;border:1px solid rgba(77,87,121,.1);border-radius:23px;background:rgba(255,255,255,.66)}
.tab-price{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,4.4vw,4.7rem);line-height:.9;letter-spacing:-.05em;color:var(--accent-deep)}
.tab-price small{font-family:inherit;font-size:.31em;color:var(--text-soft);letter-spacing:0}
.tab-course-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.tab-course-side .v21-button{width:100%}

/* Price comparison / AEO-friendly crawlable table */
.market-section{padding:clamp(48px,7vh,82px) 0}
.market-card{padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.9);border-radius:30px;background:rgba(255,255,255,.72);box-shadow:var(--v22-shadow)}
.market-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:30px;align-items:end;margin-bottom:26px}
.market-intro h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,5rem);line-height:.92;letter-spacing:-.055em;font-weight:500}
.market-intro p{margin:0;color:var(--text-soft);line-height:1.65}
.price-table-wrap{overflow-x:auto;border:1px solid rgba(66,76,107,.09);border-radius:20px;background:rgba(255,255,255,.64)}
.price-table{width:100%;border-collapse:collapse;min-width:720px;font-size:.83rem}
.price-table th,.price-table td{padding:15px 17px;text-align:left;border-bottom:1px solid rgba(66,76,107,.08)}
.price-table th{font-size:.63rem;text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);background:rgba(245,246,251,.75)}
.price-table tr:last-child td{border-bottom:0}.price-table tr.is-usavir td{background:rgba(103,97,238,.075);font-weight:800;color:#343069}
.price-table a{color:var(--accent-deep);font-weight:800;text-decoration:none}.price-table a:hover{text-decoration:underline}
.price-note{margin:14px 2px 0;color:var(--text-muted);font-size:.7rem;line-height:1.55}

/* Enrolment route / sales section */
.enrol-route{padding:clamp(24px,3vw,34px);border:1px solid rgba(255,255,255,.9);border-radius:30px;background:radial-gradient(circle at 88% 14%,rgba(103,97,238,.14),transparent 29%),rgba(255,255,255,.72);box-shadow:var(--v22-shadow)}
.enrol-route__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:28px;align-items:end}
.enrol-route__head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.7vw,4.7rem);line-height:.92;letter-spacing:-.055em;font-weight:500}.enrol-route__head p{margin:0;color:var(--text-soft);line-height:1.65}
.enrol-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px}.enrol-step{min-height:150px;padding:18px;border:1px solid rgba(73,83,117,.09);border-radius:20px;background:rgba(255,255,255,.66)}.enrol-step span{display:block;color:var(--accent-deep);font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.enrol-step strong{display:block;margin-top:15px;font-size:1rem;line-height:1.35}.enrol-step p{margin:8px 0 0;color:var(--text-soft);font-size:.78rem;line-height:1.52}.enrol-route .v21-actions{margin-top:22px}

/* FAQ / answer-engine content */
.academy-faq{padding:clamp(48px,7vh,82px) 0}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.faq-item{padding:22px;border:1px solid rgba(255,255,255,.88);border-radius:22px;background:rgba(255,255,255,.68);box-shadow:var(--shadow-soft)}.faq-item h3{margin:0;font-size:1rem}.faq-item p{margin:10px 0 0;color:var(--text-soft);font-size:.84rem;line-height:1.6}

/* Phone input component styling to match Usavir. */
.enrol-intro{margin:0 0 18px;color:var(--text-soft);font-size:.82rem;line-height:1.6}
.enrol-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.phone-field small{color:var(--text-muted);font-size:.64rem;line-height:1.4}
.iti{width:100%}
.iti input{width:100%!important;min-height:46px!important}
.iti__selected-country-primary{background:rgba(246,247,252,.86)!important;border-radius:13px 0 0 13px!important}
.iti__country-selector{z-index:100000!important}
.iti__search-input{border:1px solid rgba(54,65,95,.13)!important;border-radius:11px!important;padding:10px!important;margin:8px!important;width:calc(100% - 16px)!important}
.iti__country-list{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;color:var(--text)!important;background:#fff!important;border:1px solid rgba(54,65,95,.12)!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(36,42,68,.18)!important}
.iti__country{padding-block:9px!important}
.enrol-submit-row--single{grid-template-columns:1fr}.enrol-submit-row--single .v21-button{min-height:52px}
.enrol-submit-row--single .v21-button:disabled{opacity:.65;cursor:wait;transform:none}

/* Contact: enrolment first, then one direct-contact card with email above phone. */
.contact-shell{padding-bottom:clamp(40px,6vh,70px)}
.contact-hero{max-width:920px;padding-top:clamp(30px,4vh,56px)}
.contact-hero .v21-title{font-size:clamp(3.8rem,7vw,7rem)}
.contact-layout{display:grid;gap:16px;margin-top:38px}
.contact-enrol-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:26px;align-items:center;padding:clamp(25px,3vw,38px);border:1px solid rgba(255,255,255,.9);border-radius:30px;background:radial-gradient(circle at 88% 16%,rgba(103,97,238,.16),transparent 31%),rgba(255,255,255,.75);box-shadow:var(--v22-shadow)}
.contact-enrol-card h2{margin:8px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,4rem);font-weight:500;line-height:.95;letter-spacing:-.05em}.contact-enrol-card p{margin:13px 0 0;max-width:68ch;color:var(--text-soft);line-height:1.62}.contact-enrol-card .v21-button{width:100%}
.direct-contact-card{padding:clamp(25px,3vw,38px);border:1px solid rgba(255,255,255,.9);border-radius:30px;background:rgba(255,255,255,.74);box-shadow:var(--v22-shadow)}
.direct-contact-card__head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.direct-contact-card__head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.7vw,3.7rem);font-weight:500;letter-spacing:-.05em}.direct-contact-card__head p{margin:0;max-width:52ch;color:var(--text-soft);font-size:.82rem;line-height:1.55}
.contact-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px 0}.contact-detail+.contact-detail{border-top:1px solid rgba(54,64,91,.09)}.contact-detail__label{margin:0 0 8px;color:var(--accent-deep);font-size:.64rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.contact-detail__value{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3vw,3rem);line-height:1.02;letter-spacing:-.04em;overflow-wrap:anywhere}.contact-detail__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.direct-contact-card .copy-feedback{text-align:right;margin:2px 0 0}

/* Course content */
.course-service-note{margin:18px 0 0;padding:14px 16px;border:1px solid rgba(103,97,238,.11);border-radius:15px;background:rgba(103,97,238,.055);color:#55507e;font-size:.79rem;line-height:1.55}
.topic-list--wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-foundation-callout{margin-top:22px;padding:18px;border:1px solid rgba(103,97,238,.13);border-radius:18px;background:rgba(103,97,238,.06);color:#49446d;line-height:1.6}
.curriculum-intro{max-width:760px}.grade-accordion{display:grid;gap:10px;margin-top:26px}.grade-block{border:1px solid rgba(71,82,115,.11);border-radius:20px;background:rgba(255,255,255,.68);overflow:hidden}.grade-block summary{list-style:none;cursor:pointer;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:850}.grade-block summary::-webkit-details-marker{display:none}.grade-block summary::after{content:"+";width:29px;height:29px;border-radius:10px;background:rgba(103,97,238,.08);display:grid;place-items:center;color:var(--accent-deep);font-size:1.1rem}.grade-block[open] summary::after{content:"−"}.grade-topics{padding:0 19px 19px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grade-topics span{padding:10px 12px;border:1px solid rgba(71,82,115,.09);border-radius:12px;background:rgba(255,255,255,.72);color:#485064;font-size:.76rem;line-height:1.35}
.course-enrol-cta{margin-top:16px;padding:clamp(24px,3vw,34px);border:1px solid rgba(255,255,255,.9);border-radius:28px;background:radial-gradient(circle at 88% 15%,rgba(103,97,238,.13),transparent 29%),rgba(255,255,255,.72);box-shadow:var(--shadow-soft)}.course-enrol-cta h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,3.8rem);line-height:.95;letter-spacing:-.05em;font-weight:500}.course-enrol-cta p{max-width:75ch;color:var(--text-soft);line-height:1.65}

/* I Love PDF legal/footer shell adopts the public Usavir look, not the other way around. */
body.ilovepdf-v22 .site-footer,
.site-footer.usavir-footer{
  width:min(100%,1480px)!important;
  margin:0 auto!important;
  padding:16px clamp(18px,3vw,48px) 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  border-top:1px solid rgba(54,64,91,.09)!important;
  background:linear-gradient(145deg,#fcfdff,#f6f7fb)!important;
  color:#7b8291!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:.69rem!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow-x:auto!important;
  text-align:left!important;
}
body.ilovepdf-v22 .site-footer nav,.site-footer.usavir-footer nav{display:flex!important;align-items:center!important;gap:11px!important;flex:0 0 auto!important;margin:0!important}
body.ilovepdf-v22 .site-footer a,.site-footer.usavir-footer a{padding:0!important;color:#555c6d!important;font-weight:750!important;text-decoration:none!important}
body.ilovepdf-v22 .site-footer a:hover,.site-footer.usavir-footer a:hover{color:#4a45c9!important;text-decoration:none!important}

@media(max-width:1000px){
  .market-intro,.enrol-route__head{grid-template-columns:1fr}
  .enrol-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-enrol-card{grid-template-columns:1fr}
  .direct-contact-card__head{align-items:start;flex-direction:column}
  .topic-list--wide,.grade-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  /* Use the same compact centered two-by-two nav language already used by fitted Usavir pages. */
  .site-header{height:72px}
  .brand-toggle{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:48px;height:48px;border-radius:16px}
  .nav-links,.top-nav.is-collapsed .nav-links{top:max(12px,env(safe-area-inset-top));left:50%;width:min(226px,calc(100vw - 86px));min-width:0;height:48px;padding:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;transform:translateX(-50%);transform-origin:center top;border-radius:18px}
  .top-nav.is-collapsed .nav-links{transform:translateX(-50%) translateY(-10px) scale(.94)}
  .top-nav:not(.is-collapsed) .nav-links{transform:translateX(-50%)}
  .nav-link{width:auto;height:38px;min-width:0;padding:0 8px;place-items:center;justify-content:center;font-size:.64rem}

  .v21-shell{padding-top:calc(90px + env(safe-area-inset-top))}
  .v21-hero{gap:24px}.v21-title{font-size:clamp(3rem,13.8vw,4.35rem);line-height:.9}.v21-lead{font-size:.93rem;line-height:1.6}.v21-actions{gap:8px;margin-top:22px}.v21-actions>.v21-button{flex:1 1 calc(50% - 8px);padding-inline:12px;min-height:45px}.v21-actions>.v21-button:first-child{flex-basis:100%}
  .academy-proof{grid-template-columns:1fr 1fr!important;gap:9px}.proof-card{min-height:104px;padding:15px;border-radius:18px}.proof-card--price{grid-column:1/-1!important;min-height:126px}.proof-card--price strong{font-size:clamp(2.7rem,14vw,4rem)}

  .v21-section{padding:40px 0}.section-heading h2{font-size:clamp(2.3rem,11.5vw,3.5rem)}
  .academy-tablist{grid-template-columns:1.1fr .9fr .8fr;padding:4px;border-radius:17px;gap:2px}.academy-tab{min-height:49px;border-radius:13px;padding:7px 6px;font-size:clamp(.55rem,2.7vw,.68rem);line-height:1.18}.academy-tabpanel{min-height:0;grid-template-columns:1fr;gap:15px;padding:20px;border-radius:23px}.tab-course-copy h3{font-size:clamp(2rem,10.4vw,3rem)}.tab-course-copy p{font-size:.86rem}.tab-course-actions .v21-button{flex:1 1 calc(50% - 6px);padding-inline:9px}.tab-course-side{padding:16px;border-radius:18px}.tab-course-side .v21-button{min-height:44px}

  .market-section{padding:40px 0}.market-card{padding:20px;border-radius:23px}.market-intro{gap:15px}.market-intro h2{font-size:clamp(2.2rem,11vw,3.3rem)}.market-intro p{font-size:.84rem}.price-table{font-size:.75rem;min-width:620px}.price-table th,.price-table td{padding:12px 13px}.price-note{font-size:.64rem}

  .enrol-route{padding:20px;border-radius:23px}.enrol-route__head{gap:13px}.enrol-route__head h2{font-size:clamp(2.2rem,11vw,3.3rem)}.enrol-route__head p{font-size:.84rem}.enrol-steps{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.enrol-step{min-height:130px;padding:14px;border-radius:17px}.enrol-step strong{font-size:.88rem;margin-top:11px}.enrol-step p{font-size:.7rem}
  .faq-grid{grid-template-columns:1fr}.faq-item{padding:18px}

  .enrol-dialog{width:calc(100% - 12px);max-height:97dvh}.enrol-card{max-height:97dvh}.enrol-body{padding:18px}.enrol-intro{font-size:.76rem}.iti__country-selector{--iti-spacer-horizontal:12px}

  .contact-hero{padding-top:5px}.contact-hero .v21-title{font-size:clamp(3.1rem,14vw,4.5rem)}.contact-layout{margin-top:26px;gap:12px}.contact-enrol-card,.direct-contact-card{padding:20px;border-radius:23px}.contact-enrol-card{gap:18px}.contact-enrol-card h2{font-size:clamp(2rem,10vw,3rem)}.direct-contact-card__head{gap:10px;margin-bottom:8px}.direct-contact-card__head h2{font-size:clamp(2rem,10vw,3rem)}.direct-contact-card__head p{font-size:.78rem}.contact-detail{grid-template-columns:1fr;gap:14px;padding:19px 0}.contact-detail__value{font-size:clamp(1.55rem,7.8vw,2.2rem)}.contact-detail__actions{justify-content:flex-start}.contact-detail__actions .v21-button{flex:1 1 auto;padding-inline:10px}.direct-contact-card .copy-feedback{text-align:left}

  .topic-list--wide,.grade-topics{grid-template-columns:1fr 1fr}.grade-block summary{padding:15px 16px}.grade-topics{padding:0 16px 16px}.grade-topics span{font-size:.7rem;padding:9px}
  .course-enrol-cta{padding:20px;border-radius:23px}

  .v21-footer,.global-footer{padding:13px max(12px,env(safe-area-inset-left),env(safe-area-inset-right)) calc(15px + env(safe-area-inset-bottom));gap:7px;font-size:clamp(.49rem,1.75vw,.61rem);justify-content:flex-start;flex-direction:row!important;align-items:center!important}
  .v21-footer nav,.global-footer nav{gap:7px}
  body[data-page="about"] .home-shell{padding-bottom:calc(var(--v22-footer-height) + 10px)}
  body[data-page="tools"] .tools-shell{padding-bottom:calc(var(--v22-footer-height) + 6px)!important}
  body.ilovepdf-v22 .site-footer,.site-footer.usavir-footer{padding:13px 12px calc(15px + env(safe-area-inset-bottom))!important;gap:7px!important;font-size:clamp(.49rem,1.75vw,.61rem)!important;justify-content:flex-start!important}
  body.ilovepdf-v22 .site-footer nav,.site-footer.usavir-footer nav{gap:7px!important}
}

@media(max-width:420px){
  .academy-proof{grid-template-columns:1fr 1fr!important}.proof-card--price{grid-column:1/-1!important}
  .academy-tab{font-size:.56rem}.tab-course-actions{display:grid;grid-template-columns:1fr 1fr}.tab-course-actions .v21-button{width:100%}
  .enrol-steps{grid-template-columns:1fr 1fr}.enrol-step{min-height:124px;padding:12px}.enrol-step p{font-size:.67rem}
  .topic-list--wide,.grade-topics{grid-template-columns:1fr}
}

/* ---- v23.css ---- */
/* Usavir Premium Website V23 — monochrome industrial identity */
:root{
  color-scheme:light;
  --v23-black:#050505;
  --v23-ink:#101010;
  --v23-white:#fff;
  --v23-paper:#f7f7f4;
  --v23-soft:#ededeb;
  --v23-line:#cfcfcb;
  --v23-taskbar-h:72px;
  --background:#f7f7f4;
  --surface:rgba(255,255,255,.86);
  --surface-strong:#fff;
  --surface-solid:#fff;
  --surface-tint:#f3f3f0;
  --line:rgba(0,0,0,.13);
  --line-strong:rgba(0,0,0,.28);
  --text:#101010;
  --text-soft:#4c4c4a;
  --text-muted:#73736f;
  --accent:#050505;
  --accent-deep:#000;
  --accent-blue:#050505;
  --accent-soft:rgba(0,0,0,.06);
  --shadow-soft:0 16px 46px rgba(0,0,0,.07);
  --shadow-card:0 24px 70px rgba(0,0,0,.09);
  --brand:#050505;
  --brand-dark:#000;
  --blue:#111;
  --warm:#f2f2ef;
  --workspace:#efefed;
  --active:#ececea;
}
html{background:var(--v23-paper)!important}
body{padding-top:0!important;background:linear-gradient(180deg,#fff 0,#f8f8f5 58%,#f1f1ee 100%)!important;color:var(--v23-ink)}
body[data-page="home"],body[data-page="tools"]{height:100dvh}
.page-light--one,.page-light--two{background:none!important}.page-lines{opacity:.38!important;background-image:linear-gradient(rgba(0,0,0,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.027) 1px,transparent 1px)!important;background-size:64px 64px!important}.page-grain{opacity:.018!important}
::selection{background:#111!important;color:#fff!important}:focus-visible{outline-color:#111!important}
.site-header{display:none!important}

/* Permanent taskbar */
.usavir-taskbar{position:fixed;z-index:1000;left:0;right:0;top:0;height:var(--v23-taskbar-h);display:flex;align-items:stretch;background:#050505;color:#fff;border-bottom:1px solid #050505;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.usavir-taskbar__brand{width:86px;flex:0 0 86px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.46);background:#050505;text-decoration:none;overflow:hidden}
.usavir-taskbar__brand img{width:58px;height:58px;object-fit:cover;object-position:center;border-radius:0}
.usavir-taskbar__nav{display:grid;grid-template-columns:repeat(4,minmax(128px,1fr));width:min(760px,calc(100% - 86px));height:100%}
.usavir-taskbar__link{display:grid;place-items:center;padding:0 24px;border-right:1px solid rgba(255,255,255,.46);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:850;transition:background .18s ease,color .18s ease}
.usavir-taskbar__link:hover,.usavir-taskbar__link:focus-visible,.usavir-taskbar__link.is-active{background:#fff;color:#050505;outline-offset:-4px}

/* Global sharp monochrome components */
.v21-kicker,.identity-kicker,.dialog-kicker,.tools-kicker,.contact-detail__label{color:#202020!important}
.v21-title,.section-heading h2,.tools-title,.site-signal,.course-hero h1,.course-enrol-cta h2{color:#0b0b0b!important}
.v21-title em{color:#0b0b0b!important;font-style:italic}
.v21-button{border-radius:2px!important;border-color:#171717!important;background:#fff!important;color:#090909!important;box-shadow:none!important;text-transform:uppercase;letter-spacing:.075em;font-size:.72rem;font-weight:850}
.v21-button:hover,.v21-button:focus-visible{background:#050505!important;color:#fff!important;transform:none!important}
.v21-button--primary,.v21-button--call{background:#050505!important;color:#fff!important;border-color:#050505!important}.v21-button--primary:hover,.v21-button--call:hover{background:#fff!important;color:#050505!important}
.proof-card,.market-card,.enrol-route,.info-panel,.course-summary,.course-enrol-cta,.contact-enrol-card,.direct-contact-card,.faq-item,.grade-block{border-color:rgba(0,0,0,.16)!important;background:rgba(255,255,255,.88)!important;box-shadow:0 16px 42px rgba(0,0,0,.055)!important}
.proof-card,.market-card,.enrol-route,.info-panel,.course-summary,.course-enrol-cta,.contact-enrol-card,.direct-contact-card{border-radius:4px!important}
.proof-card--price{background:#050505!important;color:#fff!important}.proof-card--price span,.proof-card--price small{color:#d6d6d6!important}.proof-card--price strong{color:#fff!important}
.global-footer,.v21-footer{border-top:1px solid #b7b7b3!important;background:#f7f7f4!important;color:#3d3d3a!important;white-space:nowrap!important}.global-footer a,.v21-footer a{color:#111!important}.global-footer a:hover,.v21-footer a:hover{text-decoration:underline!important;color:#000!important}

/* Academy subject slates */
.subject-slates{display:grid;gap:10px;margin-top:28px}
.subject-slate{border:1px solid #121212;background:#fff;border-radius:0;overflow:hidden;box-shadow:0 9px 24px rgba(0,0,0,.045)}
.subject-slate__bar{min-height:108px;cursor:pointer;display:grid;grid-template-columns:86px minmax(250px,1.3fr) 170px auto 54px;align-items:stretch}
.subject-slate__identity{display:grid;place-items:center;border-right:1px solid #222;background:#f3f3f0}.subject-slate__logo{width:52px;height:52px;display:block}
.subject-slate__title{display:flex;flex-direction:column;justify-content:center;padding:17px 22px;border-right:1px solid #d5d5d1}.subject-slate__index{font-size:.63rem;font-weight:900;letter-spacing:.17em;color:#666;text-transform:uppercase}.subject-slate__title h3{margin:6px 0 3px;font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:-.035em}.subject-slate__title p{margin:0;color:#5d5d59;font-size:.8rem;line-height:1.4}
.subject-slate__price{display:flex;flex-direction:column;justify-content:center;padding:16px 20px;border-right:1px solid #d5d5d1}.subject-slate__price span{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;font-weight:850;color:#666}.subject-slate__price strong{margin-top:4px;font-size:1.35rem;letter-spacing:-.04em}
.subject-slate__actions{display:flex;align-items:center;gap:7px;padding:14px 15px;border-right:1px solid #d5d5d1}.subject-slate__actions .v21-button{white-space:nowrap;padding-inline:13px}
.subject-slate__toggle{border:0;background:#050505;color:#fff;display:grid;place-items:center;cursor:pointer;font-size:1.3rem;transition:.18s}.subject-slate__toggle:hover{background:#fff;color:#050505}.subject-slate__toggle span{transition:transform .2s}.subject-slate.is-open .subject-slate__toggle span{transform:rotate(180deg)}
.subject-slate__content{border-top:1px solid #111;padding:22px 24px 24px;background:#f7f7f4}.subject-slate__content[hidden]{display:none}.subject-slate__content h4{margin:0 0 13px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}.subject-slate__topics{display:flex;flex-wrap:wrap;gap:7px}.subject-slate__topics span{padding:8px 10px;border:1px solid #bcbcb8;background:#fff;font-size:.75rem}.subject-slate__content p{margin:15px 0 0;max-width:82ch;color:#4d4d49;line-height:1.6}
.subject-logo-stroke{fill:none;stroke:#050505;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.subject-logo-fill{fill:#050505}

/* Stronger comparison */
.market-card{border:1px solid #111!important}.market-intro{border-bottom:1px solid #c9c9c5;padding-bottom:22px}.price-table th{background:#050505!important;color:#fff!important}.price-table td,.price-table th{border-color:#c8c8c4!important}.price-table tr.is-usavir td{background:#ececea!important;color:#050505!important;font-weight:850}.comparison-advantage{margin-top:22px;border:1px solid #050505;background:#050505;color:#fff;padding:22px}.comparison-advantage h3{margin:0 0 8px;font-size:1.55rem}.comparison-advantage p{margin:0;color:#dedede;line-height:1.6}.comparison-advantage strong{color:#fff}

/* About projects */
.project-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.project-item{position:relative;min-height:210px;padding:0!important;border:1px solid #111!important;border-radius:0!important;overflow:hidden;background:#fff!important;box-shadow:none!important}.project-item>a.project-card-link{position:absolute;inset:0;z-index:5;text-decoration:none;color:inherit}.project-card__inner{position:relative;min-height:210px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);overflow:hidden}.project-card__copy{position:relative;z-index:2;padding:27px 28px;display:flex;flex-direction:column;justify-content:center}.project-card__type{position:absolute;left:18px;top:16px;margin:0;padding:5px 8px;background:#050505;color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;font-weight:900}.project-card__copy h3{margin:28px 0 6px!important;font-size:clamp(1.55rem,3vw,2.45rem)!important;letter-spacing:-.045em}.project-card__copy p{margin:0!important;color:#555!important;line-height:1.55!important}.project-card__cta{margin-top:20px;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;font-weight:900}.project-card__media{position:relative;min-height:210px;background:#050505;overflow:hidden}.project-card__media img{width:100%;height:100%;object-fit:cover}.project-card--construction .project-card__media{display:grid;place-items:center;background:#050505}.project-card--construction .project-card__media img{width:min(72%,260px);height:auto;object-fit:contain}.project-card--roblox .project-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 35%)}.project-item:hover .project-card__copy{background:#050505;color:#fff}.project-item:hover .project-card__copy p{color:#d6d6d6!important}.project-item:hover .project-card__type{background:#fff;color:#050505}

/* About/social */
.feature-card,.feature-dialog__frame{border-radius:3px!important}.feature-card{border-color:rgba(0,0,0,.16)!important;background:rgba(255,255,255,.9)!important}.feature-card:hover{background:#050505!important;color:#fff!important}.feature-card:hover .feature-card__eyebrow,.feature-card:hover .feature-card__meta{color:#cfcfcf!important}.feature-dialog__header{border-color:#c6c6c2!important}.dialog-close{border-radius:2px!important}.social-profile-tab{border-radius:2px!important;border-color:#c7c7c3!important;background:#fff!important}.social-profile-tab:hover{border-color:#050505!important;background:#050505!important;color:#fff!important}.social-platform__logo-frame,.social-identity__avatar{border-radius:2px!important}.social-identity__avatar{object-fit:cover;background:#050505}

/* Tools */
body[data-page="tools"] .tools-title,body[data-page="tools"] .tools-copy,body[data-page="tools"] .tools-kicker{color:#101010!important}.tool-card{border-radius:3px!important;border:1px solid #111!important;background:#fff!important;box-shadow:none!important}.tool-card:hover{background:#050505!important;color:#fff!important;transform:none!important}.tool-card:hover h2,.tool-card:hover p{color:#fff!important}.tool-badge{border-radius:2px!important;background:#050505!important;box-shadow:none!important}.tool-card::after{display:none!important}.tool-card::before{border-radius:0!important;background:#050505!important;color:#fff!important}.tool-card:hover::before{background:#fff!important;color:#050505!important}

/* Contact */
.contact-enrol-line{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 14px;padding:18px 20px;border-top:1px solid #111;border-bottom:1px solid #111;background:#f4f4f1}.contact-enrol-line p{margin:0;font-weight:750}.contact-enrol-line p span{font-weight:500;color:#555}.direct-contact-card{border:1px solid #111!important}.contact-detail{border-color:#c4c4c0!important}

/* Subject detail pages */
.subject-hero{padding-top:18px}.subject-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:stretch}.subject-hero__main,.subject-hero__side{border:1px solid #111;background:#fff;padding:clamp(24px,4vw,48px)}.subject-hero__main{position:relative}.subject-hero__mark{width:74px;height:74px;margin-bottom:24px}.subject-hero__main h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7.5vw,7rem);line-height:.86;letter-spacing:-.06em;font-weight:500}.subject-hero__main>p{max-width:760px;color:#4f4f4b;line-height:1.7}.subject-hero__side{display:flex;flex-direction:column;justify-content:center;background:#050505;color:#fff}.subject-hero__side .v21-kicker{color:#d9d9d9!important}.subject-hero__price{font-size:clamp(3rem,6vw,5.4rem);font-weight:900;letter-spacing:-.07em}.subject-hero__price small{font-size:.95rem;letter-spacing:0;color:#ddd}.subject-hero__side ul{padding-left:18px;color:#ddd;line-height:1.75}.subject-hero__side .v21-button{border-color:#fff!important}.subject-detail-section{padding:48px 0;border-bottom:1px solid #c8c8c4}.subject-detail-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:34px;margin-bottom:25px}.subject-detail-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4.6vw,4.5rem);line-height:.95;letter-spacing:-.045em;font-weight:500}.subject-detail-head p{margin:0;color:#51514d;line-height:1.7;max-width:78ch}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-panel{border:1px solid #bcbcb8;background:#fff;padding:20px;min-height:160px}.detail-panel h3{margin:0 0 8px;font-size:1.05rem}.detail-panel p{margin:0;color:#595955;line-height:1.58;font-size:.87rem}.build-grid,.career-grid,.pair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.build-card,.career-card,.pair-card{border:1px solid #111;background:#fff;padding:21px}.build-card h3,.career-card h3,.pair-card h3{margin:0 0 7px}.build-card p,.career-card p,.pair-card p{margin:0;color:#555;line-height:1.55;font-size:.86rem}.career-card__salary{display:block;margin:13px 0 6px;font-size:1.3rem;font-weight:900}.career-card a{display:inline-block;margin-top:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.ai-advantage{margin-top:16px;border:1px solid #050505;background:#050505;color:#fff;padding:25px}.ai-advantage h3{font-size:1.7rem;margin:0 0 8px}.ai-advantage p{margin:0;color:#dedede;line-height:1.65;max-width:90ch}.ai-advantage .v21-button{margin-top:16px;border-color:#fff!important}.level-track{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #111}.level-step{padding:22px;border-right:1px solid #111;background:#fff}.level-step:last-child{border-right:0}.level-step span{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.level-step h3{margin:7px 0}.level-step p{margin:0;color:#555;line-height:1.55;font-size:.86rem}

/* Enrolment */
.enrol-card,.enrol-call,.form-field input,.form-field textarea,.form-field select{border-radius:2px!important}.enrol-head{background:#050505!important;color:#fff!important}.enrol-head .v21-kicker{color:#ccc!important}.enrol-close{color:#fff!important}.enrol-call{border:1px solid #c7c7c3!important;background:#f7f7f4!important}.iti__dropdown-content{border-radius:0!important}

/* I Love PDF monochrome only */
body.ilovepdf-v22,body[class*="ilovepdf"],.pdf-entry-main{background:#fff!important}.pdf-header{top:var(--v23-taskbar-h)!important;margin-top:var(--v23-taskbar-h)!important;background:rgba(255,255,255,.98)!important;border-color:#bdbdb9!important}.pdf-brand-mark,.upload-button,.step-num,.done-button{background:#050505!important;color:#fff!important;box-shadow:none!important}.pdf-brand--heart .brand-heart,.editor-brand .brand-heart{color:#050505!important}.menu-button:hover,.menu-button[aria-expanded=true],.dropdown a:hover,.tool-button:hover{background:#ececea!important}.pdf-tool-card{border-radius:2px!important;border-color:#c3c3bf!important;background:#fff!important}.pdf-tool-card:hover{border-color:#050505!important;box-shadow:0 10px 26px rgba(0,0,0,.08)!important}.tool-icon-shell{border-radius:2px!important;background:#eeeeeb!important;color:#050505!important}.how-illustration{border-radius:2px!important;background:#f1f1ee!important}.faq-item{border-radius:2px!important}.pdf-directory{background:#f1f1ee!important}.site-footer.usavir-footer{background:#f7f7f4!important;color:#111!important;border-color:#aaa!important}.site-footer.usavir-footer a{color:#111!important}.editor-app{height:calc(100dvh - var(--v23-taskbar-h))!important;margin-top:var(--v23-taskbar-h)!important}.editor-header,.toolbar,.context-toolbar,.page-rail{border-color:#c4c4c0!important}.tool-button.is-active{background:#050505!important;color:#fff!important;border-bottom-color:#050505!important}.thumbnail-item.is-active{border-color:#050505!important;background:#f1f1ee!important}.loading-spinner{border-color:#ddd!important;border-top-color:#050505!important}.loading-actions button{background:#050505!important}

@media(max-width:900px){
  .subject-slate__bar{grid-template-columns:72px minmax(0,1fr) 135px 46px;grid-template-areas:"icon title price toggle" "icon actions actions toggle";min-height:126px}.subject-slate__identity{grid-area:icon}.subject-slate__title{grid-area:title;border-right:1px solid #d5d5d1}.subject-slate__price{grid-area:price}.subject-slate__actions{grid-area:actions;border-top:1px solid #d5d5d1;border-right:1px solid #d5d5d1}.subject-slate__toggle{grid-area:toggle}.detail-grid,.build-grid,.career-grid,.pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-hero__grid{grid-template-columns:1fr}.subject-detail-head{grid-template-columns:1fr}.level-track{grid-template-columns:1fr}.level-step{border-right:0;border-bottom:1px solid #111}.level-step:last-child{border-bottom:0}
}
@media(max-width:760px){
  :root{--v23-taskbar-h:84px}
  body{padding-top:0!important}
  .usavir-taskbar{height:var(--v23-taskbar-h);padding:0;background:#050505}
  .usavir-taskbar__brand{width:74px;flex-basis:74px;border-right:1px solid rgba(255,255,255,.52)}.usavir-taskbar__brand img{width:54px;height:54px}
  .usavir-taskbar__nav{width:calc(100% - 74px);grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.usavir-taskbar__link{padding:0 4px;border-right:1px solid rgba(255,255,255,.48);border-bottom:1px solid rgba(255,255,255,.48);font-size:clamp(.53rem,2.5vw,.67rem);letter-spacing:.08em}.usavir-taskbar__link:nth-child(3),.usavir-taskbar__link:nth-child(4){border-bottom:0}
  .v21-shell{padding-top:24px!important}.v21-hero{padding-top:0!important}.v21-title{font-size:clamp(3rem,14vw,4.5rem)!important}
  .subject-slates{gap:8px}.subject-slate__bar{display:grid;grid-template-columns:60px 1fr 42px;grid-template-areas:"icon title toggle" "price price toggle" "actions actions toggle";min-height:0}.subject-slate__identity{grid-area:icon;min-height:78px}.subject-slate__logo{width:39px;height:39px}.subject-slate__title{grid-area:title;padding:13px 13px;border-right:1px solid #d5d5d1}.subject-slate__title h3{font-size:1.08rem}.subject-slate__title p{display:none}.subject-slate__price{grid-area:price;padding:9px 13px;border-top:1px solid #d5d5d1;border-right:1px solid #d5d5d1;display:flex;flex-direction:row;align-items:center;gap:9px}.subject-slate__price strong{font-size:1rem;margin:0}.subject-slate__actions{grid-area:actions;padding:9px 10px;border-top:1px solid #d5d5d1;border-right:1px solid #d5d5d1;display:grid;grid-template-columns:1.5fr .7fr}.subject-slate__actions .v21-button{padding:9px 7px;font-size:.59rem}.subject-slate__toggle{grid-area:toggle}.subject-slate__content{padding:16px}.subject-slate__topics{gap:5px}.subject-slate__topics span{font-size:.67rem;padding:6px 7px}
  .market-card{padding:18px!important}.price-table{min-width:690px!important}.comparison-advantage{padding:18px}
  .project-card__inner{grid-template-columns:1.15fr .85fr;min-height:178px}.project-card__copy{padding:22px 16px}.project-card__copy h3{font-size:1.25rem!important;margin-top:24px!important}.project-card__copy p{font-size:.75rem!important}.project-card__media{min-height:178px}.project-card--construction .project-card__media img{width:min(82%,150px)}.project-card__type{left:10px;top:10px;font-size:.5rem}.project-card__cta{font-size:.58rem;margin-top:12px}
  .social-identity__avatar{width:36px!important;height:36px!important}.social-profile-tab{min-height:70px!important}
  .contact-enrol-line{align-items:flex-start;flex-direction:column;padding:15px 0;background:transparent}.contact-enrol-line .v21-button{width:100%}
  .subject-hero__main,.subject-hero__side{padding:20px}.subject-hero__main h1{font-size:clamp(3rem,14vw,4.7rem)}.subject-hero__mark{width:56px;height:56px;margin-bottom:17px}.subject-detail-section{padding:35px 0}.detail-grid,.build-grid,.career-grid,.pair-grid{grid-template-columns:1fr}.detail-panel,.build-card,.career-card,.pair-card{min-height:0;padding:17px}.subject-detail-head h2{font-size:clamp(2rem,11vw,3.3rem)}
  .global-footer,.v21-footer{overflow-x:auto!important;justify-content:flex-start!important;font-size:.56rem!important;gap:7px!important}
  body.ilovepdf-v22 .pdf-header{top:var(--v23-taskbar-h)!important}.pdf-entry-main{min-height:calc(100dvh - var(--v23-taskbar-h))!important}
}
@media(max-width:430px){
  .project-card__inner{grid-template-columns:1.22fr .78fr}.project-card__copy{padding:20px 12px}.project-card__copy h3{font-size:1.08rem!important}.project-card__copy p{font-size:.68rem!important}.project-card--construction .project-card__media img{width:90%}
  .subject-slate__actions{grid-template-columns:1.45fr .55fr}
}

/* ---- v24.css ---- */
/* Usavir Premium Website V24 — responsive/taskbar/enrolment corrections */
:root{
  --v24-safe-top:env(safe-area-inset-top,0px);
  --v24-taskbar-core-h:72px;
  --v24-taskbar-h:calc(var(--v24-taskbar-core-h) + var(--v24-safe-top));
  --v23-taskbar-h:var(--v24-taskbar-h);
}

/* One permanent navigation frame. The page starts below the bar everywhere. */
.usavir-taskbar{
  top:0!important;
  height:var(--v24-taskbar-h)!important;
  padding-top:var(--v24-safe-top)!important;
  box-sizing:border-box!important;
}
.usavir-taskbar__brand,
.usavir-taskbar__nav{height:var(--v24-taskbar-core-h)!important;align-self:end}

/* Academy and subject pages previously had later rules that collapsed the top padding. */
.v21-shell{
  padding-top:calc(var(--v24-taskbar-h) + clamp(32px,4vh,48px))!important;
  scroll-padding-top:calc(var(--v24-taskbar-h) + 18px)!important;
}
.v21-shell.subject-hero{
  padding-top:calc(var(--v24-taskbar-h) + 28px)!important;
}
.v21-hero{padding-top:0!important}
html{scroll-padding-top:calc(var(--v24-taskbar-h) + 18px)}
[id]{scroll-margin-top:calc(var(--v24-taskbar-h) + 18px)}

/* About and Tools are fixed-composition pages; reserve taskbar space without changing their design. */
body[data-page="about"] .home-shell{
  padding-top:calc(var(--v24-taskbar-h) + clamp(14px,2.2vh,26px))!important;
}
body[data-page="tools"] .tools-shell{
  padding-top:calc(var(--v24-taskbar-h) + clamp(20px,3vh,38px))!important;
}

/* Feature dialogs live below the permanent taskbar and use one reliable mobile geometry. */
.feature-dialog{
  top:var(--v24-taskbar-h)!important;
  height:calc(100dvh - var(--v24-taskbar-h))!important;
  max-height:calc(100dvh - var(--v24-taskbar-h))!important;
}
.feature-dialog__frame{height:100%!important;max-height:100%!important}
.feature-dialog__body{min-height:0}

/* Social identity is an actual circular profile avatar, not a squared project mark. */
.social-identity__avatar{
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  overflow:hidden!important;
  object-fit:cover!important;
  object-position:center!important;
  flex-shrink:0!important;
}

/* Project system: left content + media docked flush to top/right/bottom on every screen. */
.project-item,
.project-card__inner{height:auto}
.project-card__inner{
  grid-template-columns:minmax(0,61%) minmax(0,39%)!important;
  min-height:208px!important;
  align-items:stretch!important;
}
.project-card__media{
  align-self:stretch!important;
  width:100%!important;
  height:100%!important;
  min-height:208px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#050505!important;
  overflow:hidden!important;
}
.project-card__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border-radius:0!important;
}
.project-card--construction .project-card__media{
  display:grid!important;
  place-items:center!important;
}
.project-card--construction .project-card__media img{
  width:82%!important;
  height:82%!important;
  max-width:310px!important;
  max-height:172px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.project-card--roblox .project-card__media img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* V29 intl-tel-input: visible country-code dropdown, no search UI, sharp Usavir styling. */
.phone-field .iti{width:100%!important;display:block!important}
.phone-field .iti input{width:100%!important;min-height:48px!important}
.phone-field .iti__selected-country{
  min-width:92px!important;
  border-right:1px solid #b9b9b5!important;
  background:#f7f7f4!important;
}
.phone-field .iti__selected-country-primary{
  min-height:46px!important;
  border-radius:0!important;
  background:#f7f7f4!important;
}
.phone-field .iti__country-selector{
  z-index:1000000!important;
  border:1px solid #111!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
}
.phone-field .iti__country-list{
  max-height:min(310px,44dvh)!important;
  background:#fff!important;
  color:#111!important;
  scrollbar-color:#777 #eee;
}
.phone-field .iti__country{padding:9px 12px!important}
.phone-field .iti__country:hover,
.phone-field .iti__country.iti__highlight{background:#ededeb!important}
.phone-field .iti__search-input,
.phone-field .iti__search-input-container{display:none!important}
.phone-field small{display:block;margin-top:6px}

/* I Love PDF: only one top offset under the global taskbar. */
.pdf-header{top:var(--v24-taskbar-h)!important;margin-top:0!important}
.editor-app{height:calc(100dvh - var(--v24-taskbar-h))!important;margin-top:var(--v24-taskbar-h)!important}

@media(max-width:760px){
  :root{--v24-taskbar-core-h:82px}
  .usavir-taskbar__brand{width:72px!important;flex-basis:72px!important}
  .usavir-taskbar__brand img{width:50px!important;height:50px!important}
  .usavir-taskbar__nav{width:calc(100% - 72px)!important}

  .v21-shell{
    padding-top:calc(var(--v24-taskbar-h) + 18px)!important;
    padding-left:max(15px,env(safe-area-inset-left))!important;
    padding-right:max(15px,env(safe-area-inset-right))!important;
  }
  .v21-shell.subject-hero{padding-top:calc(var(--v24-taskbar-h) + 16px)!important}
  body[data-page="about"] .home-shell{
    padding-top:calc(var(--v24-taskbar-h) + 10px)!important;
  }
  body[data-page="tools"] .tools-shell{
    padding-top:calc(var(--v24-taskbar-h) + 12px)!important;
  }

  /* Same project composition from 360px through large phones. */
  .project-list{gap:10px!important}
  .project-item{min-height:0!important}
  .project-card__inner{
    grid-template-columns:minmax(0,61%) minmax(0,39%)!important;
    min-height:clamp(168px,45vw,194px)!important;
    height:clamp(168px,45vw,194px)!important;
  }
  .project-card__copy{
    min-width:0!important;
    padding:clamp(18px,5vw,23px) clamp(11px,3.8vw,17px)!important;
  }
  .project-card__type{left:10px!important;top:10px!important;font-size:clamp(.46rem,1.7vw,.54rem)!important}
  .project-card__copy h3{
    margin-top:26px!important;
    margin-bottom:5px!important;
    font-size:clamp(1rem,4.7vw,1.3rem)!important;
    line-height:1.02!important;
    overflow-wrap:anywhere;
  }
  .project-card__copy p{
    max-width:23ch;
    font-size:clamp(.64rem,2.9vw,.78rem)!important;
    line-height:1.38!important;
  }
  .project-card__cta{margin-top:auto!important;padding-top:9px;font-size:clamp(.5rem,2.2vw,.61rem)!important}
  .project-card__media{min-height:0!important;height:100%!important}
  .project-card--construction .project-card__media img{
    width:88%!important;height:88%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;
  }
  .project-card--roblox .project-card__media img{
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* Social popup is sized from the taskbar down and uses the same composition on all phones. */
  .feature-dialog{padding:0!important}
  .feature-dialog__frame{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important}
  .feature-dialog__header{
    min-height:78px!important;
    padding:14px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left))!important;
  }
  .feature-dialog__header h2{max-width:70vw!important;font-size:clamp(1.45rem,6.2vw,2.2rem)!important}
  .feature-dialog__body{overflow-y:auto!important;overscroll-behavior:contain;padding:14px max(12px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}
  .feature-dialog__body--socials{grid-template-columns:1fr!important;gap:8px!important}
  .social-profile-tab{
    width:100%!important;
    min-height:68px!important;
    padding:10px!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) 28px!important;
    gap:7px!important;
  }
  .social-platform__logo-frame,
  .social-identity__avatar{width:34px!important;height:34px!important;flex-basis:34px!important}
  .social-identity__avatar{border-radius:50%!important}
  .social-platform__name{font-size:clamp(.69rem,3vw,.82rem)!important}
  .social-identity__username{font-size:clamp(.52rem,2.35vw,.66rem)!important}
  .social-profile-tab__arrow{width:27px!important;height:27px!important}

  /* Country list remains a dropdown on phones rather than becoming a fullscreen/search selector. */
  .phone-field .iti__country-selector{max-width:min(330px,calc(100vw - 28px))!important}
  .phone-field .iti__country-list{max-height:min(280px,38dvh)!important}
}

@media(max-width:390px){
  .project-card__inner{
    grid-template-columns:minmax(0,62%) minmax(0,38%)!important;
    min-height:168px!important;
    height:168px!important;
  }
  .project-card__copy{padding:17px 10px!important}
  .project-card__copy h3{font-size:1rem!important}
  .project-card__copy p{font-size:.64rem!important}
  .social-profile-tab{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 26px!important}
  .social-platform__logo-frame,.social-identity__avatar{width:32px!important;height:32px!important;flex-basis:32px!important}
}

@media(orientation:landscape) and (max-height:560px) and (max-width:960px){
  :root{--v24-taskbar-core-h:64px}
  .v21-shell,.v21-shell.subject-hero{padding-top:calc(var(--v24-taskbar-h) + 12px)!important}
  body[data-page="about"] .home-shell,body[data-page="tools"] .tools-shell{padding-top:calc(var(--v24-taskbar-h) + 8px)!important}
}

/* ---- v26.css ---- */
/* Usavir Premium Website V26 — shared phone composition + launch-polish fixes */
:root{
  --u-taskbar-h:var(--v24-taskbar-h,72px);
  --u-mobile-gutter:clamp(12px,3.6vw,18px);
  --u-mobile-gap:clamp(10px,3vw,16px);
  --u-page-max:1280px;
}

/* ---------- Converter/result polish ---------- */
.converter-status[data-state="success"]{font-weight:750}

/* ---------- Projects: typography-led, image-free portfolio rows ---------- */
body[data-page="about"] .project-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:min(1180px,100%);
  margin:0 auto;
}
body[data-page="about"] .project-item{
  position:relative!important;
  min-height:196px!important;
  border:1px solid #111!important;
  background:#fff!important;
  overflow:hidden!important;
  isolation:isolate;
}
body[data-page="about"] .project-card__inner{
  display:block!important;
  min-height:196px!important;
}
body[data-page="about"] .project-card__copy{
  min-height:196px!important;
  padding:28px clamp(22px,4vw,54px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  position:relative!important;
  z-index:2!important;
  transition:background .18s ease,color .18s ease!important;
}
body[data-page="about"] .project-card__copy::after{
  content:"↗";
  position:absolute;
  top:26px;
  right:30px;
  font-size:1.2rem;
  font-weight:900;
  line-height:1;
}
body[data-page="about"] .project-card__type{
  position:static!important;
  align-self:flex-start!important;
  margin:0 0 30px!important;
  padding:0!important;
  background:transparent!important;
  color:#555!important;
  font-size:.6rem!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
body[data-page="about"] .project-card__copy h3{
  max-width:820px;
  margin:0 0 8px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.8rem,4vw,3.6rem)!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
  line-height:.98!important;
}
body[data-page="about"] .project-card__copy p{
  max-width:720px;
  margin:0!important;
  color:#555!important;
  font-size:.92rem!important;
  line-height:1.6!important;
}
body[data-page="about"] .project-card__cta{
  margin-top:26px!important;
  font-size:.64rem!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
body[data-page="about"] .project-card__media{display:none!important}
body[data-page="about"] .project-item:hover .project-card__copy,
body[data-page="about"] .project-item:focus-within .project-card__copy{background:#050505!important;color:#fff!important}
body[data-page="about"] .project-item:hover .project-card__copy p,
body[data-page="about"] .project-item:focus-within .project-card__copy p,
body[data-page="about"] .project-item:hover .project-card__type,
body[data-page="about"] .project-item:focus-within .project-card__type{color:#d4d4d1!important}

/* ---------- About internal views behave like full pages attached to taskbar ---------- */
body[data-page="about"] .feature-dialog{
  inset:var(--u-taskbar-h) 0 0 0!important;
  width:100%!important;
  height:calc(100dvh - var(--u-taskbar-h))!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#f7f7f4!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:hidden!important;
}
body[data-page="about"] .feature-dialog::backdrop{background:transparent!important;backdrop-filter:none!important}
body[data-page="about"] .feature-dialog__frame{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#f7f7f4!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
body[data-page="about"] .feature-dialog__frame::before{display:none!important}
body[data-page="about"] .feature-dialog__header{
  position:relative!important;
  z-index:5!important;
  min-height:104px!important;
  width:100%!important;
  padding:20px clamp(22px,4vw,64px)!important;
  border-bottom:1px solid #bbb!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
body[data-page="about"] .feature-dialog__header h2{margin:2px 0 0!important}
body[data-page="about"] .feature-dialog__body{
  min-height:0!important;
  width:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:clamp(24px,4vw,58px) clamp(22px,4vw,64px) clamp(42px,6vw,76px)!important;
  background:#f7f7f4!important;
}
body[data-page="about"].dialog-open{overflow:hidden!important}

/* ---------- About Usavir: logical company story ---------- */
.company-about{width:min(1180px,100%)!important;margin:0 auto!important;gap:34px!important}
.company-about__intro{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important}
.company-about__section>p + p{margin-top:10px!important}
.company-about__pillars{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.company-about__pillar{min-height:230px!important}
.company-about__audience{display:none!important}
.company-about__principle{
  border-top:1px solid #111;
  border-bottom:1px solid #111;
  padding:24px 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,2.7vw,2.35rem);
  line-height:1.18;
  letter-spacing:-.03em;
}

/* ---------- Contact: footer always reaches viewport bottom on short pages ---------- */
body[data-page="contact"]{min-height:100dvh!important;display:flex!important;flex-direction:column!important}
body[data-page="contact"]>.v21-shell.contact-shell{flex:1 0 auto!important;width:100%!important}
body[data-page="contact"]>.global-footer{margin-top:auto!important;flex:0 0 auto!important}

/* ---------- Recognisable subject icon family ---------- */
.subject-slate__logo,
.subject-hero__mark{object-fit:contain!important;display:block!important}
.subject-slate__logo{width:54px!important;height:54px!important}
.subject-hero__mark{width:78px!important;height:78px!important}

/* ---------- Shared phone composition (one structure from 320–480px) ---------- */
@media(max-width:480px){
  :root{--u-mobile-gutter:clamp(12px,3.7vw,17px);--u-mobile-gap:clamp(9px,2.8vw,14px)}

  html,body{max-width:100%!important;overflow-x:hidden!important}
  .usavir-taskbar{height:var(--u-taskbar-h)!important}
  .usavir-taskbar__brand{width:72px!important;flex:0 0 72px!important}
  .usavir-taskbar__brand img{width:48px!important;height:48px!important}
  .usavir-taskbar__nav{
    width:calc(100% - 72px)!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:1fr 1fr!important;
  }
  .usavir-taskbar__link{
    min-width:0!important;
    padding:0 5px!important;
    font-size:clamp(.52rem,2.35vw,.64rem)!important;
    letter-spacing:.07em!important;
    text-align:center!important;
  }

  /* Academy / Contact / Subject details share exact phone page width and origin. */
  body[data-page="academy"] .v21-shell,
  body[data-page="contact"] .v21-shell{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-top:calc(var(--u-taskbar-h) + var(--u-mobile-gap))!important;
    padding-left:max(var(--u-mobile-gutter),env(safe-area-inset-left))!important;
    padding-right:max(var(--u-mobile-gutter),env(safe-area-inset-right))!important;
    padding-bottom:calc(36px + env(safe-area-inset-bottom))!important;
  }
  body[data-page="academy"] .v21-shell.subject-hero{
    padding-top:calc(var(--u-taskbar-h) + var(--u-mobile-gap))!important;
  }

  /* Academy hero: same arrangement on every phone. */
  body[data-page="academy"] .v21-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:var(--u-mobile-gap)!important;
    min-height:0!important;
    padding:0!important;
  }
  body[data-page="academy"] .v21-title{
    font-size:clamp(2.75rem,13.2vw,4rem)!important;
    line-height:.9!important;
    overflow-wrap:anywhere;
  }
  body[data-page="academy"] .v21-lead{font-size:clamp(.82rem,3.4vw,.94rem)!important;line-height:1.58!important}
  body[data-page="academy"] .v21-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
  }
  body[data-page="academy"] .v21-actions>.v21-button{width:100%!important;min-width:0!important;margin:0!important;padding:10px 7px!important;font-size:clamp(.57rem,2.55vw,.68rem)!important}
  body[data-page="academy"] .v21-actions>.v21-button:first-child{grid-column:1/-1!important}

  body[data-page="academy"] .academy-proof{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
    max-width:none!important;
  }
  body[data-page="academy"] .proof-card{
    min-width:0!important;
    min-height:92px!important;
    padding:13px!important;
    border-radius:3px!important;
  }
  body[data-page="academy"] .proof-card strong{font-size:clamp(1rem,4.6vw,1.3rem)!important;overflow-wrap:anywhere}
  body[data-page="academy"] .proof-card--price{grid-column:1/-1!important;min-height:116px!important}
  body[data-page="academy"] .proof-card--price strong{font-size:clamp(2.5rem,12vw,3.5rem)!important}

  body[data-page="academy"] .v21-section,
  body[data-page="academy"] .market-section,
  body[data-page="academy"] .enrol-route{margin-top:32px!important;padding-left:0!important;padding-right:0!important}
  body[data-page="academy"] .section-heading{gap:8px!important}
  body[data-page="academy"] .section-heading h2{font-size:clamp(2rem,9.7vw,3rem)!important;line-height:.98!important}
  body[data-page="academy"] .section-heading p{font-size:.8rem!important;line-height:1.55!important}

  /* Subject slates: identical structure on every phone size. */
  body[data-page="academy"] .subject-slates{gap:8px!important;margin-top:18px!important}
  body[data-page="academy"] .subject-slate{width:100%!important;min-width:0!important}
  body[data-page="academy"] .subject-slate__bar{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) 38px!important;
    grid-template-areas:"icon title toggle" "price price toggle" "actions actions toggle"!important;
    min-height:0!important;
  }
  body[data-page="academy"] .subject-slate__identity{grid-area:icon!important;min-height:76px!important}
  body[data-page="academy"] .subject-slate__logo{width:38px!important;height:38px!important}
  body[data-page="academy"] .subject-slate__title{grid-area:title!important;padding:11px 10px!important;min-width:0!important}
  body[data-page="academy"] .subject-slate__title h3{font-size:clamp(.98rem,4.6vw,1.18rem)!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  body[data-page="academy"] .subject-slate__title p{display:none!important}
  body[data-page="academy"] .subject-slate__price{
    grid-area:price!important;
    padding:8px 10px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
  }
  body[data-page="academy"] .subject-slate__price strong{margin:0!important;font-size:.96rem!important}
  body[data-page="academy"] .subject-slate__actions{
    grid-area:actions!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(66px,.55fr)!important;
    gap:6px!important;
    padding:8px!important;
  }
  body[data-page="academy"] .subject-slate__actions .v21-button{width:100%!important;min-width:0!important;padding:9px 5px!important;font-size:clamp(.52rem,2.25vw,.61rem)!important;white-space:normal!important;line-height:1.15!important}
  body[data-page="academy"] .subject-slate__toggle{grid-area:toggle!important;width:38px!important;min-width:38px!important}
  body[data-page="academy"] .subject-slate__content{padding:14px!important}
  body[data-page="academy"] .subject-slate__topics{gap:5px!important}
  body[data-page="academy"] .subject-slate__topics span{font-size:.65rem!important;padding:6px!important}
  body[data-page="academy"] .subject-slate__content p{font-size:.73rem!important;line-height:1.5!important}

  /* Comparison scrolls internally; page itself never does. */
  body[data-page="academy"] .market-card{padding:15px!important;width:100%!important;overflow:hidden!important}
  body[data-page="academy"] .price-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;border-radius:2px!important}
  body[data-page="academy"] .price-table{min-width:620px!important}
  body[data-page="academy"] .comparison-advantage{padding:15px!important}

  /* Four enrol steps always remain a 2x2 block. */
  body[data-page="academy"] .enrol-route{padding:15px!important;border-radius:3px!important}
  body[data-page="academy"] .enrol-route__head{grid-template-columns:1fr!important;gap:9px!important}
  body[data-page="academy"] .enrol-steps{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  body[data-page="academy"] .enrol-step{min-height:120px!important;padding:11px!important;border-radius:2px!important}
  body[data-page="academy"] .enrol-step strong{font-size:.8rem!important}
  body[data-page="academy"] .enrol-step p{font-size:.65rem!important;line-height:1.45!important}

  /* Contact: one stable composition and bottom footer. */
  body[data-page="contact"] .contact-shell{padding-bottom:22px!important}
  body[data-page="contact"] .contact-hero{padding:0!important}
  body[data-page="contact"] .contact-hero .v21-title{font-size:clamp(2.7rem,12.5vw,3.8rem)!important;line-height:.9!important}
  body[data-page="contact"] .contact-hero .v21-lead{font-size:.82rem!important;line-height:1.55!important}
  body[data-page="contact"] .contact-enrol-line{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin:18px 0 12px!important;
    padding:13px 0!important;
  }
  body[data-page="contact"] .contact-enrol-line .v21-button{width:100%!important}
  body[data-page="contact"] .contact-layout{margin-top:12px!important;gap:0!important}
  body[data-page="contact"] .direct-contact-card{padding:15px!important;border-radius:3px!important}
  body[data-page="contact"] .direct-contact-card__head{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body[data-page="contact"] .direct-contact-card__head h2{font-size:clamp(1.9rem,9.2vw,2.75rem)!important}
  body[data-page="contact"] .direct-contact-card__head>p{font-size:.72rem!important;line-height:1.5!important}
  body[data-page="contact"] .contact-detail{grid-template-columns:1fr!important;gap:10px!important;padding:15px 0!important}
  body[data-page="contact"] .contact-detail__value{font-size:clamp(1.25rem,6.1vw,1.75rem)!important;overflow-wrap:anywhere!important}
  body[data-page="contact"] .contact-detail__actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  body[data-page="contact"] .contact-detail--email .contact-detail__actions{grid-template-columns:1fr 1fr!important}
  body[data-page="contact"] .contact-detail__actions .v21-button{width:100%!important;min-width:0!important;padding:9px 5px!important;font-size:.58rem!important}
  body[data-page="contact"]>.global-footer{width:100%!important;margin-top:auto!important}

  /* Subject detail pages: same phone frame from 320–480, no breakpoint swaps. */
  body[data-page="academy"] .course-hero__crumbs{font-size:.65rem!important;gap:5px!important;white-space:normal!important}
  body[data-page="academy"] .subject-hero__grid{grid-template-columns:1fr!important;gap:8px!important}
  body[data-page="academy"] .subject-hero__main,
  body[data-page="academy"] .subject-hero__side{padding:16px!important}
  body[data-page="academy"] .subject-hero__mark{width:52px!important;height:52px!important;margin-bottom:12px!important}
  body[data-page="academy"] .subject-hero__main h1{font-size:clamp(2.65rem,12.6vw,3.9rem)!important;line-height:.88!important;overflow-wrap:anywhere!important}
  body[data-page="academy"] .subject-hero__main>p{font-size:.79rem!important;line-height:1.55!important}
  body[data-page="academy"] .subject-hero__side ul{font-size:.76rem!important;line-height:1.55!important}
  body[data-page="academy"] .subject-hero__price{font-size:clamp(2.7rem,12vw,3.8rem)!important}
  body[data-page="academy"] .subject-detail-section{padding:28px 0!important}
  body[data-page="academy"] .subject-detail-head{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:15px!important}
  body[data-page="academy"] .subject-detail-head h2{font-size:clamp(1.9rem,9.2vw,2.8rem)!important;line-height:.98!important}
  body[data-page="academy"] .subject-detail-head p{font-size:.75rem!important;line-height:1.5!important}
  body[data-page="academy"] .detail-grid,
  body[data-page="academy"] .build-grid,
  body[data-page="academy"] .career-grid,
  body[data-page="academy"] .pair-grid{grid-template-columns:1fr!important;gap:7px!important}
  body[data-page="academy"] .level-track{grid-template-columns:1fr!important}
  body[data-page="academy"] .detail-panel,
  body[data-page="academy"] .build-card,
  body[data-page="academy"] .career-card,
  body[data-page="academy"] .pair-card,
  body[data-page="academy"] .level-step{padding:14px!important}
  body[data-page="academy"] .topic-list,
  body[data-page="academy"] .topic-list--wide{grid-template-columns:1fr 1fr!important;gap:5px!important}
  body[data-page="academy"] .topic-list span{min-width:0!important;font-size:.64rem!important;padding:7px!important;overflow-wrap:anywhere!important}
  body[data-page="academy"] .grade-block summary{padding:12px!important}
  body[data-page="academy"] .grade-topics{grid-template-columns:1fr 1fr!important;gap:5px!important;padding:10px!important}
  body[data-page="academy"] .grade-topics span{font-size:.63rem!important;padding:6px!important;overflow-wrap:anywhere!important}
  body[data-page="academy"] .course-enrol-cta{padding:16px!important}

  /* Full-edge About internal pages use the exact same phone gutter. */
  body[data-page="about"] .feature-dialog{
    inset:var(--u-taskbar-h) 0 0!important;
    height:calc(100dvh - var(--u-taskbar-h))!important;
  }
  body[data-page="about"] .feature-dialog__header{
    min-height:86px!important;
    padding:12px var(--u-mobile-gutter)!important;
    gap:10px!important;
  }
  body[data-page="about"] .feature-dialog__header h2{max-width:66vw!important;font-size:clamp(1.3rem,6.5vw,1.9rem)!important;line-height:1!important}
  body[data-page="about"] .dialog-close{flex:0 0 auto!important;padding:9px 10px!important}
  body[data-page="about"] .feature-dialog__body{
    padding:16px var(--u-mobile-gutter) calc(24px + env(safe-area-inset-bottom))!important;
  }
  body[data-page="about"] .project-list{gap:8px!important}
  body[data-page="about"] .project-item,
  body[data-page="about"] .project-card__inner,
  body[data-page="about"] .project-card__copy{min-height:164px!important}
  body[data-page="about"] .project-card__copy{padding:18px!important}
  body[data-page="about"] .project-card__copy::after{top:17px!important;right:17px!important}
  body[data-page="about"] .project-card__type{margin-bottom:22px!important;font-size:.53rem!important}
  body[data-page="about"] .project-card__copy h3{font-size:clamp(1.45rem,7vw,2.05rem)!important;padding-right:24px!important}
  body[data-page="about"] .project-card__copy p{font-size:.73rem!important}
  body[data-page="about"] .project-card__cta{margin-top:18px!important;font-size:.55rem!important}

  .company-about{gap:20px!important}
  .company-about__intro{grid-template-columns:1fr!important;gap:10px!important;padding-bottom:18px!important}
  .company-about__intro h3{font-size:clamp(1.9rem,9.2vw,2.8rem)!important}
  .company-about__statement{font-size:.94rem!important}
  .company-about__pillars{grid-template-columns:1fr!important}
  .company-about__pillar{min-height:0!important;padding:15px!important;border-right:0!important;border-bottom:1px solid #111!important}
  .company-about__pillar:last-child{border-bottom:0!important}
  .company-about__pillar span{margin-bottom:10px!important}
  .company-about__pillar h4{font-size:1.35rem!important}
  .company-about__pillar p,.company-about__section>p,.company-about__founder p{font-size:.76rem!important;line-height:1.55!important}
  .company-about__principle{font-size:clamp(1.2rem,5.9vw,1.65rem)!important;padding:18px 0!important}
  .company-about__founder{grid-template-columns:1fr!important;gap:6px!important}

  /* Social page rows never switch composition between phone sizes. */
  body[data-page="about"] .feature-dialog__body--socials{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  body[data-page="about"] .social-profile-tab{min-width:0!important;width:100%!important}
  body[data-page="about"] .social-profile-tab__inner{min-width:0!important}
  body[data-page="about"] .social-identity__avatar{width:32px!important;height:32px!important;min-width:32px!important}
  body[data-page="about"] .social-platform__logo-frame{width:31px!important;height:31px!important;min-width:31px!important}
  body[data-page="about"] .social-profile-tab *{min-width:0}
  body[data-page="about"] .social-identity__username{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

  /* Footer strips keep one-row intent and do not trigger page overflow. */
  .global-footer,.v21-footer{max-width:100%!important;overflow-x:auto!important;white-space:nowrap!important}
}

/* ---- v28.css ---- */
/* Usavir Premium Website V28 — real-width mobile layout.
   V27 whole-page zoom/density removed. Width controls layout; height only trims whitespace. */
:root{
  --v28-mobile-gutter:clamp(14px,3.8vw,18px);
  --v28-vgap:clamp(9px,1.35dvh,13px);
  --v28-section-gap:clamp(26px,4.1dvh,34px);
}

body[data-page="about"] .dialog-close{
  background:#050505!important;color:#fff!important;border:1px solid #050505!important;
  opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body[data-page="about"] .dialog-close:hover,
body[data-page="about"] .dialog-close:focus-visible{background:#fff!important;color:#050505!important}

@media(max-width:480px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}

  body[data-page="academy"]>main.v21-shell,
  body[data-page="contact"]>main.v21-shell,
  body[data-page="academy"]>main.v21-shell.subject-hero{
    transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;box-sizing:border-box!important;
    padding-top:calc(var(--u-taskbar-h) + var(--v28-vgap))!important;
    padding-left:max(var(--v28-mobile-gutter),env(safe-area-inset-left))!important;
    padding-right:max(var(--v28-mobile-gutter),env(safe-area-inset-right))!important;
  }

  /* Academy home */
  body[data-page="academy"] .v21-hero{width:100%!important;min-width:0!important;gap:var(--v28-vgap)!important}
  body[data-page="academy"] .v21-hero>*{min-width:0!important}
  body[data-page="academy"] #academy-title{
    font-size:clamp(2.45rem,10.7vw,2.9rem)!important;line-height:.94!important;letter-spacing:-.045em!important;
    overflow-wrap:normal!important;word-break:normal!important;max-width:100%!important;
  }
  body[data-page="academy"] #academy-title>span,
  body[data-page="academy"] #academy-title>em{display:block!important;white-space:nowrap!important}
  body[data-page="academy"] .v21-lead{font-size:clamp(.78rem,3.15vw,.87rem)!important;line-height:1.5!important;max-width:100%!important;overflow-wrap:break-word!important}
  body[data-page="academy"] .v21-actions{width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important}
  body[data-page="academy"] .v21-actions>.v21-button{min-width:0!important;width:100%!important;min-height:40px!important;padding:9px 6px!important;font-size:.58rem!important;line-height:1.15!important;white-space:normal!important}
  body[data-page="academy"] .v21-actions>.v21-button:first-child{grid-column:1/-1!important}

  body[data-page="academy"] .academy-proof{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;min-width:0!important;gap:7px!important}
  body[data-page="academy"] .proof-card{width:100%!important;min-width:0!important;min-height:84px!important;padding:11px!important}
  body[data-page="academy"] .proof-card strong{font-size:clamp(.98rem,4.2vw,1.15rem)!important;overflow-wrap:break-word!important}
  body[data-page="academy"] .proof-card--price{grid-column:1/-1!important;min-height:102px!important}
  body[data-page="academy"] .proof-card--price strong{font-size:clamp(2.25rem,9.7vw,2.7rem)!important;white-space:nowrap!important}
  body[data-page="academy"] .proof-card--price small{font-size:.69rem!important;line-height:1.4!important}

  body[data-page="academy"] .v21-section,
  body[data-page="academy"] .market-section,
  body[data-page="academy"] .enrol-route{margin-top:var(--v28-section-gap)!important;width:100%!important;min-width:0!important}
  body[data-page="academy"] .section-heading,
  body[data-page="academy"] .section-heading>div{min-width:0!important;width:100%!important}
  body[data-page="academy"] .section-heading h2{font-size:clamp(1.9rem,8.3vw,2.3rem)!important;line-height:1!important;overflow-wrap:break-word!important}
  body[data-page="academy"] .section-heading p{font-size:.75rem!important;line-height:1.48!important}

  /* Subject slates */
  body[data-page="academy"] .subject-slates{width:100%!important;gap:8px!important}
  body[data-page="academy"] .subject-slate,
  body[data-page="academy"] .subject-slate__bar,
  body[data-page="academy"] .subject-slate__content{width:100%!important;max-width:100%!important;min-width:0!important}
  body[data-page="academy"] .subject-slate__bar{grid-template-columns:56px minmax(0,1fr) 38px!important;grid-template-areas:"icon title toggle" "price price toggle" "actions actions toggle"!important}
  body[data-page="academy"] .subject-slate__identity{min-height:72px!important}
  body[data-page="academy"] .subject-slate__logo{width:36px!important;height:36px!important}
  body[data-page="academy"] .subject-slate__title{padding:10px 9px!important;min-width:0!important}
  body[data-page="academy"] .subject-slate__title h3{font-size:1rem!important;line-height:1.08!important;overflow-wrap:break-word!important}
  body[data-page="academy"] .subject-slate__price{padding:8px 9px!important;min-width:0!important}
  body[data-page="academy"] .subject-slate__actions{grid-template-columns:minmax(0,1.55fr) minmax(66px,.55fr)!important;min-width:0!important;gap:6px!important;padding:8px!important}
  body[data-page="academy"] .subject-slate__actions .v21-button{min-width:0!important;width:100%!important;font-size:.54rem!important;padding:8px 5px!important;white-space:normal!important}
  body[data-page="academy"] .subject-slate__toggle{width:38px!important;min-width:38px!important}
  body[data-page="academy"] .subject-slate__content{padding:13px!important}
  body[data-page="academy"] .market-card,
  body[data-page="academy"] .comparison-advantage,
  body[data-page="academy"] .enrol-route{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body[data-page="academy"] .price-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important}
  body[data-page="academy"] .enrol-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}

  /* Subject detail pages */
  body[data-page="academy"] .subject-hero__grid,
  body[data-page="academy"] .subject-detail-head,
  body[data-page="academy"] .detail-grid,
  body[data-page="academy"] .build-grid,
  body[data-page="academy"] .career-grid,
  body[data-page="academy"] .pair-grid,
  body[data-page="academy"] .level-track{width:100%!important;max-width:100%!important;min-width:0!important}
  body[data-page="academy"] .subject-hero__grid{grid-template-columns:1fr!important}
  body[data-page="academy"] .subject-hero__main,
  body[data-page="academy"] .subject-hero__side{min-width:0!important;padding:15px!important}
  body[data-page="academy"] .subject-hero__main h1{font-size:clamp(2.35rem,10vw,2.9rem)!important;line-height:.92!important;overflow-wrap:break-word!important;word-break:normal!important}
  body[data-page="academy"] .subject-hero__main>p,
  body[data-page="academy"] .subject-hero__side ul{font-size:.76rem!important;line-height:1.5!important}
  body[data-page="academy"] .subject-detail-section{padding:clamp(22px,3.8dvh,30px) 0!important}
  body[data-page="academy"] .subject-detail-head{grid-template-columns:1fr!important;gap:7px!important}
  body[data-page="academy"] .subject-detail-head h2{font-size:clamp(1.8rem,7.8vw,2.25rem)!important;line-height:1!important}
  body[data-page="academy"] .subject-detail-head p{font-size:.74rem!important;line-height:1.48!important}
  body[data-page="academy"] .detail-grid,
  body[data-page="academy"] .build-grid,
  body[data-page="academy"] .career-grid,
  body[data-page="academy"] .pair-grid,
  body[data-page="academy"] .level-track{grid-template-columns:1fr!important;gap:7px!important}

  /* Contact */
  body[data-page="contact"]{min-height:100dvh!important}
  body[data-page="contact"]>main.v21-shell.contact-shell{flex:1 0 auto!important;padding-bottom:20px!important}
  body[data-page="contact"] .contact-hero{width:100%!important;min-width:0!important}
  body[data-page="contact"] .contact-hero .v21-title{font-size:clamp(2.35rem,10vw,2.85rem)!important;line-height:.94!important;overflow-wrap:normal!important}
  body[data-page="contact"] .contact-hero .v21-title>span,
  body[data-page="contact"] .contact-hero .v21-title>em{display:block!important;white-space:nowrap!important}
  body[data-page="contact"] .contact-hero .v21-lead{font-size:.77rem!important;line-height:1.5!important}
  body[data-page="contact"] .contact-enrol-line{margin:clamp(14px,2.4dvh,19px) 0 12px!important;padding:11px 0!important}
  body[data-page="contact"] .contact-layout,
  body[data-page="contact"] .direct-contact-card,
  body[data-page="contact"] .contact-detail{width:100%!important;max-width:100%!important;min-width:0!important}
  body[data-page="contact"] .direct-contact-card{padding:14px!important}
  body[data-page="contact"] .direct-contact-card__head h2{font-size:clamp(1.75rem,7.7vw,2.15rem)!important;line-height:1!important}
  body[data-page="contact"] .direct-contact-card__head>p{font-size:.69rem!important;line-height:1.45!important}
  body[data-page="contact"] .contact-detail{grid-template-columns:1fr!important;padding:13px 0!important}
  body[data-page="contact"] .contact-detail__value{font-size:clamp(1.16rem,5.2vw,1.4rem)!important;overflow-wrap:anywhere!important}
  body[data-page="contact"] .contact-detail__actions{width:100%!important;min-width:0!important}
  body[data-page="contact"] .contact-detail__actions .v21-button{min-width:0!important;width:100%!important}
  body[data-page="contact"]>.global-footer{margin-top:auto!important;flex:0 0 auto!important;width:100%!important}

  /* About internal full-page views */
  body[data-page="about"] .feature-dialog{position:fixed!important;inset:var(--u-taskbar-h) 0 0 0!important;width:100vw!important;max-width:100vw!important;height:calc(100dvh - var(--u-taskbar-h))!important;max-height:calc(100dvh - var(--u-taskbar-h))!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body[data-page="about"] .feature-dialog__frame{transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;height:100%!important;max-height:100%!important;margin:0!important;box-sizing:border-box!important}
  body[data-page="about"] .feature-dialog__header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;width:100%!important;min-width:0!important;min-height:76px!important;padding:11px var(--v28-mobile-gutter)!important;gap:10px!important}
  body[data-page="about"] .feature-dialog__header>div{min-width:0!important}
  body[data-page="about"] .feature-dialog__header h2{max-width:none!important;min-width:0!important;font-size:clamp(1.25rem,5.5vw,1.55rem)!important;line-height:1!important;overflow-wrap:break-word!important}
  body[data-page="about"] .dialog-close{display:inline-flex!important;visibility:visible!important;opacity:1!important;flex:0 0 auto!important;min-width:64px!important;min-height:36px!important;padding:8px 10px!important;justify-content:center!important}
  body[data-page="about"] .feature-dialog__body{width:100%!important;max-width:100%!important;min-width:0!important;padding:14px var(--v28-mobile-gutter) calc(22px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important}

  body[data-page="about"] .project-list{width:100%!important;max-width:100%!important;gap:8px!important}
  body[data-page="about"] .project-item,
  body[data-page="about"] .project-card__inner,
  body[data-page="about"] .project-card__copy{width:100%!important;max-width:100%!important;min-width:0!important;min-height:148px!important;height:auto!important}
  body[data-page="about"] .project-card__copy{padding:16px!important}
  body[data-page="about"] .project-card__copy h3{font-size:clamp(1.25rem,5.6vw,1.55rem)!important;overflow-wrap:break-word!important}
  body[data-page="about"] .project-card__copy p{font-size:.71rem!important;line-height:1.45!important}

  body[data-page="about"] .company-about{width:100%!important;max-width:100%!important;min-width:0!important;gap:18px!important}
  body[data-page="about"] .company-about__intro{grid-template-columns:1fr!important;gap:9px!important}
  body[data-page="about"] .company-about__intro h3{font-size:clamp(1.75rem,7.5vw,2.15rem)!important;line-height:1!important;overflow-wrap:break-word!important}
  body[data-page="about"] .company-about__statement{font-size:.86rem!important;line-height:1.46!important}
  body[data-page="about"] .company-about__pillars{grid-template-columns:1fr!important}
  body[data-page="about"] .company-about__pillar{min-height:0!important;padding:14px!important}
  body[data-page="about"] .company-about__pillar h4{font-size:1.22rem!important}
  body[data-page="about"] .company-about__pillar p,
  body[data-page="about"] .company-about__section>p,
  body[data-page="about"] .company-about__founder p{font-size:.74rem!important;line-height:1.5!important}
  body[data-page="about"] .company-about__principle{font-size:clamp(1.12rem,4.8vw,1.35rem)!important;line-height:1.22!important}

  body[data-page="about"] .feature-dialog__body--socials{grid-template-columns:1fr!important;gap:7px!important}
  body[data-page="about"] .social-profile-tab,
  body[data-page="about"] .social-profile-tab__inner{width:100%!important;max-width:100%!important;min-width:0!important}
  body[data-page="about"] .social-profile-tab__inner{min-height:62px!important}
  body[data-page="about"] .social-identity__avatar{width:32px!important;height:32px!important;min-width:32px!important}
  body[data-page="about"] .social-platform__logo-frame{width:31px!important;height:31px!important;min-width:31px!important}
  body[data-page="about"] .social-identity__username{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

  .global-footer,.v21-footer{max-width:100%!important;overflow-x:auto!important;white-space:nowrap!important}
}

/* ---- v29.css ---- */
/* Usavir Premium Website V29 — tiny visible polish + SEO/AEO support */

/* Subject details: same Back control language as About internal views */
.subject-detail-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px}
.subject-detail-nav .course-hero__crumbs{margin:0;min-width:0}
.subject-back-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#111;text-decoration:none;font-size:.7rem;font-weight:800;white-space:nowrap}
.subject-back-button:hover,.subject-back-button:focus-visible{background:#050505;color:#fff;border-color:#050505}

/* About > Projects: exactly equal cards; long Roblox title stays on a single line */
body[data-page="about"] .project-list{grid-auto-rows:196px!important}
body[data-page="about"] .project-item,body[data-page="about"] .project-card__inner,body[data-page="about"] .project-card__copy{height:196px!important;min-height:196px!important;box-sizing:border-box!important}
body[data-page="about"] .project-card__copy h3{max-width:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;font-size:clamp(1.3rem,3.15vw,3rem)!important}

@media (max-width:760px){
 .subject-detail-nav{gap:8px;margin-bottom:8px}
 .subject-back-button{min-width:64px;min-height:36px;padding:8px 10px;font-size:.62rem}
 body[data-page="about"] .project-list{grid-auto-rows:156px!important}
 body[data-page="about"] .project-item,body[data-page="about"] .project-card__inner,body[data-page="about"] .project-card__copy{height:156px!important;min-height:156px!important}
 body[data-page="about"] .project-card__copy{padding:15px!important}
 body[data-page="about"] .project-card__type{margin-bottom:16px!important}
 body[data-page="about"] .project-card__copy h3{white-space:nowrap!important;overflow:visible!important;font-size:clamp(.82rem,3.55vw,1.05rem)!important;letter-spacing:-.045em!important;line-height:1!important;padding-right:20px!important}
 body[data-page="about"] .project-card__copy p{font-size:.68rem!important;line-height:1.35!important}
 body[data-page="about"] .project-card__cta{margin-top:auto!important;padding-top:8px!important}
}

/* ---- v30.css ---- */
/* Usavir Premium Website V30 — consent, enrolment polish, performance/security UI hooks */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.global-footer nav{display:flex;align-items:center;gap:inherit}.global-footer nav button,.v21-footer nav button{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:none;cursor:pointer}.global-footer nav button:hover,.global-footer nav button:focus-visible,.v21-footer nav button:hover,.v21-footer nav button:focus-visible{text-decoration:underline;text-underline-offset:3px}
.cookie-banner{position:fixed;z-index:100000;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(920px,calc(100vw - 28px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:18px 20px;border:1px solid #202020;border-radius:2px;background:#fff;color:#090909;box-shadow:0 24px 70px rgba(0,0,0,.22)}.cookie-kicker{margin:0 0 5px;font-size:.62rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.cookie-banner__copy strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:500;letter-spacing:-.025em}.cookie-banner__copy p:not(.cookie-kicker){margin:6px 0 5px;max-width:72ch;font-size:.76rem;line-height:1.5;color:#484848}.cookie-banner__copy a{font-size:.7rem;color:#111;text-underline-offset:3px}.cookie-banner__actions,.cookie-settings__actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-button{min-height:40px;padding:0 18px;border:1px solid #050505;border-radius:1px;background:#fff;color:#050505;font-size:.69rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.cookie-button--primary{background:#050505;color:#fff}.cookie-button--ghost{background:#f6f6f3}.cookie-button:focus-visible,.cookie-settings__close:focus-visible{outline:2px solid #111;outline-offset:2px}
.cookie-settings{width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;background:transparent}.cookie-settings::backdrop{background:rgba(226,230,238,.68);backdrop-filter:blur(12px)}.cookie-settings__card{overflow:hidden;border:1px solid #111;border-radius:2px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.22)}.cookie-settings__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;background:#050505;color:#fff}.cookie-settings__head h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500;letter-spacing:-.04em}.cookie-settings__close{width:38px;height:38px;border:1px solid #777;border-radius:50%;background:#fff;color:#050505;font-size:1.1rem;cursor:pointer}.cookie-settings__body{padding:10px 24px}.cookie-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid #d7d7d2}.cookie-setting-row strong{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:500}.cookie-setting-row p{margin:5px 0 0;max-width:54ch;color:#555;font-size:.75rem;line-height:1.5}.cookie-setting-status{padding:7px 9px;border:1px solid #bbb;font-size:.64rem;font-weight:800;text-transform:uppercase}.cookie-switch{position:relative;display:inline-flex;width:50px;height:28px}.cookie-switch input{position:absolute;opacity:0;pointer-events:none}.cookie-switch span{width:100%;height:100%;border:1px solid #777;background:#eee;cursor:pointer;transition:background .18s}.cookie-switch span::after{content:"";position:absolute;top:4px;left:5px;width:18px;height:18px;background:#111;transition:transform .18s}.cookie-switch input:checked+span{background:#111}.cookie-switch input:checked+span::after{transform:translateX(21px);background:#fff}.cookie-settings__note{margin:14px 0 4px;color:#555;font-size:.72rem;line-height:1.5}.cookie-settings__actions{justify-content:flex-end;padding:16px 24px 22px}
/* Enrolment: no nested scrollbar; deliberately compact while keeping the existing layout. */
.enrol-dialog{width:min(780px,calc(100% - 18px))!important;max-height:none!important;overflow:visible!important}.enrol-card{max-height:none!important;overflow:visible!important}.enrol-head{padding:19px 22px 15px!important}.enrol-head h2{font-size:clamp(2rem,3.5vw,3.1rem)!important}.enrol-body{padding:14px 22px 17px!important}.enrol-call{padding:11px 13px!important;min-height:48px!important}.enrol-call p{font-size:.72rem!important;line-height:1.35!important}.enrol-call strong{font-size:.86rem!important}.enrol-call .v21-button{min-height:36px!important;padding:0 16px!important}.enrol-or{margin:10px 0!important}.enrol-intro{margin:0 0 10px!important;font-size:.72rem!important;line-height:1.42!important}.enrol-form{gap:8px!important}.form-row{gap:9px!important}.form-field{gap:4px!important}.form-field label{font-size:.67rem!important}.form-field input,.form-field select{min-height:39px!important;padding:8px 10px!important}.form-field textarea{min-height:60px!important;max-height:60px!important;padding:8px 10px!important;resize:none!important}.phone-field .iti{margin-top:3px!important}.phone-field .iti input{min-height:39px!important}.form-status{min-height:0!important;font-size:.65rem!important;line-height:1.35!important}.enrol-submit-row--single .v21-button{min-height:39px!important}.enrol-turnstile{min-height:0}.enrol-turnstile:empty{display:none}
@media(max-width:620px){.cookie-banner{bottom:max(7px,env(safe-area-inset-bottom));width:calc(100vw - 12px);grid-template-columns:1fr;gap:11px;padding:13px 14px}.cookie-banner__copy strong{font-size:1.05rem}.cookie-banner__copy p:not(.cookie-kicker){font-size:.68rem}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-button{min-height:38px;padding-inline:10px}.cookie-settings{width:calc(100vw - 10px);max-height:calc(100dvh - 10px)}.cookie-settings__head{padding:16px}.cookie-settings__head h2{font-size:1.55rem}.cookie-settings__body{padding:7px 16px}.cookie-setting-row{padding:13px 0}.cookie-setting-row strong{font-size:1.05rem}.cookie-setting-row p{font-size:.67rem}.cookie-settings__actions{display:grid;grid-template-columns:1fr 1fr;padding:12px 16px 16px}.cookie-settings__actions .cookie-button--primary{grid-column:1/-1}.enrol-dialog{width:calc(100% - 8px)!important}.enrol-head{padding:13px 14px 10px!important}.enrol-head h2{font-size:1.85rem!important}.enrol-close{width:34px!important;height:34px!important}.enrol-body{padding:10px 12px 12px!important}.enrol-call{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:8px 9px!important}.enrol-call .v21-button{width:auto!important;min-width:64px!important}.enrol-or{margin:7px 0!important;font-size:.58rem!important}.enrol-intro{font-size:.65rem!important;margin-bottom:7px!important}.enrol-form{gap:6px!important}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important}.form-field{gap:2px!important;min-width:0!important}.form-field label{font-size:.59rem!important;line-height:1.15!important}.form-field input,.form-field select{min-height:34px!important;height:34px!important;padding:5px 7px!important;font-size:.72rem!important;border-radius:1px!important}.phone-field .iti{margin-top:3px!important;min-width:0!important}.phone-field .iti input{min-height:34px!important;height:34px!important;font-size:.7rem!important}.phone-field .iti__selected-country{min-width:61px!important}.form-field textarea{min-height:48px!important;max-height:48px!important;font-size:.7rem!important}.form-status{font-size:.57rem!important;line-height:1.25!important}.enrol-submit-row--single .v21-button{min-height:34px!important;font-size:.64rem!important}.enrol-turnstile{transform-origin:left top}.global-footer nav button,.v21-footer nav button{white-space:nowrap}}
@media(max-width:340px){.enrol-body{padding-inline:9px!important}.form-row{gap:4px!important}.form-field label{font-size:.55rem!important}.form-field input,.form-field select,.phone-field .iti input{font-size:.65rem!important}.phone-field .iti__selected-country{min-width:56px!important}}


/* Usavir V31 — international phone field polish.
   The number input keeps a clean, measured gap after the country/dial-code
   segment; placeholder examples are intentionally suppressed in JS. */
.phone-field .iti{
  margin-top:6px!important;
  width:100%!important;
  min-width:0!important;
}
.phone-field .iti input{
  box-sizing:border-box!important;
  padding-right:10px!important;
  background:#fff!important;
}
.phone-field .iti__selected-country{
  height:100%!important;
  min-width:0!important;
  border-right:1px solid #c4c4c0!important;
  background:#f7f7f4!important;
}
.phone-field .iti__selected-country-primary{
  min-height:100%!important;
  padding:0 9px!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  background:#f7f7f4!important;
}
.phone-field input::placeholder{color:transparent!important;opacity:0!important}
@media(max-width:620px){
  .phone-field .iti{margin-top:5px!important}
  .phone-field .iti__selected-country-primary{padding-inline:6px!important;gap:3px!important}
  .phone-field .iti input{padding-right:6px!important}
}


/* ---- v32.css ----
   Usavir V32 — compact international phone prefix.
   The country selector fits its contents instead of consuming a fixed chunk
   of the input; the untouched number field never shows an example digit. */
.phone-field .iti{width:100%!important;min-width:0!important}
.phone-field .iti__selected-country{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
  border-right:1px solid #b9b9b5!important;
  background:#f7f7f4!important;
}
.phone-field .iti__selected-country-primary{
  width:auto!important;
  min-width:0!important;
  padding:0 6px!important;
  gap:3px!important;
  justify-content:flex-start!important;
  background:#f7f7f4!important;
}
.phone-field .iti__flag{margin-right:0!important}
.phone-field .iti__arrow{margin-left:0!important}
.phone-field .iti input{
  width:100%!important;
  min-width:0!important;
  padding-right:8px!important;
}
.phone-field .iti input::placeholder{color:transparent!important;opacity:0!important}
@media(max-width:620px){
  .phone-field .iti__selected-country{width:max-content!important;min-width:0!important}
  .phone-field .iti__selected-country-primary{padding-inline:4px!important;gap:2px!important}
  .phone-field .iti input{padding-right:5px!important}
}

/* V33 — full-bleed footer surface, unchanged inner footer geometry */
.global-footer{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  border-top:1px solid #b7b7b3!important;
  background:#f7f7f4!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.global-footer>.usavir-footer-inner{
  width:min(100%,var(--content-width));
  margin:0 auto;
  padding:16px var(--page-padding) 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  white-space:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  box-sizing:border-box;
}
.global-footer>.usavir-footer-inner::-webkit-scrollbar{display:none}
.global-footer>.usavir-footer-inner nav{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.global-footer>.usavir-footer-inner .v21-footer__copyright{flex:0 0 auto}
body[data-page="about"] .global-footer,
body[data-page="tools"] .global-footer{
  left:0!important;
  right:0!important;
  transform:none!important;
  background:linear-gradient(180deg,rgba(248,249,253,.68),rgba(248,249,253,.92))!important;
}
@media(max-width:620px){
  .global-footer>.usavir-footer-inner{
    width:100%;
    padding:13px max(12px,env(safe-area-inset-left),env(safe-area-inset-right)) calc(15px + env(safe-area-inset-bottom));
    gap:7px;
    justify-content:flex-start;
    font-size:.56rem;
  }
  .global-footer>.usavir-footer-inner nav{gap:7px}
}
