:root {
  color-scheme: dark;
  --ink: #070605;
  --ink-soft: #0d0a08;
  --gold: #c89953;
  --gold-bright: #edc57c;
  --ivory: #f3eee5;
  --muted: #b7aa98;
  --line: rgba(237, 197, 124, .2);
  --gutter: clamp(1.25rem, 5vw, 5.5rem);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--ink); scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--ink); color: var(--ivory); }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 100; top: .5rem; left: .5rem; padding: .75rem 1rem; transform: translateY(-150%); background: var(--ivory); color: var(--ink); }
.skip-link:focus { transform: none; }

.academy-header {
  position: fixed;
  z-index: 30;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
  min-height: 4.75rem;
  padding: max(.85rem, env(safe-area-inset-top)) var(--gutter) .85rem;
  border-bottom: 1px solid rgba(237,197,124,.12);
  background: rgba(7,6,5,.84);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.academy-logo { display: inline-flex; align-items: center; gap: .7rem; width: fit-content; color: var(--gold-bright); font-family: Georgia, serif; font-size: .8rem; letter-spacing: .18em; line-height: 1; text-decoration: none; }
.academy-logo > span:first-child { font-size: 1.15rem; }
.academy-logo small { display: block; margin-top: .35rem; font-family: Inter, sans-serif; font-size: .48rem; letter-spacing: .3em; }
.academy-nav { display: none; }
.language-switcher { display: flex; border: 1px solid var(--line); }
.language-switcher button { min-width: 2.45rem; min-height: 2.45rem; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: .64rem; font-weight: 700; letter-spacing: .09em; cursor: pointer; }
.language-switcher button[aria-pressed="true"] { background: var(--gold-bright); color: #100c07; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.2rem; padding: .9rem 1.4rem; border: 1px solid var(--gold-bright); background: var(--gold-bright); color: #130e08; font-size: .7rem; font-weight: 750; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--ivory); border-color: var(--ivory); }
.button--outline { background: transparent; color: var(--gold-bright); }
.button--outline:hover { color: var(--ink); }
.eyebrow { margin: 0 0 1.2rem; color: var(--gold-bright); font-size: .66rem; font-weight: 700; letter-spacing: .23em; line-height: 1.5; text-transform: uppercase; }
h1, h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; line-height: .9; }
h1 em, h2 em { color: var(--gold-bright); font-weight: 400; }

.academy-hero { position: relative; display: grid; align-items: end; min-height: 100svh; padding: 8rem var(--gutter) 4rem; isolation: isolate; overflow: hidden; }
.academy-hero__media, .academy-hero__shade { position: absolute; z-index: -2; inset: 0; }
.academy-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }
.academy-hero__shade { z-index: -1; background: linear-gradient(180deg, rgba(7,6,5,.25), rgba(7,6,5,.22) 30%, rgba(7,6,5,.96) 90%), linear-gradient(90deg, rgba(7,6,5,.58), transparent); }
.academy-hero__content { max-width: 57rem; }
.academy-hero h1 { font-size: clamp(2.8rem, 12vw, 8rem); }
.academy-hero__content > p:not(.eyebrow) { max-width: 38rem; margin: 1.6rem 0; color: #d7cec0; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.7; }
.academy-hero small { display: block; max-width: 36rem; margin-top: 1.2rem; color: rgba(243,238,229,.58); font-size: .7rem; line-height: 1.55; }

.academy-section { padding: clamp(5rem, 10vw, 10rem) var(--gutter); border-top: 1px solid var(--line); }
.section-index { display: flex; gap: .85rem; margin-bottom: 3rem; color: var(--gold); font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; }
.section-index span:first-child { padding-right: .85rem; border-right: 1px solid var(--line); }
.section-heading { max-width: 72rem; }
.section-heading h2, .real-shop h2, .craft h2, .interest h2, .academy-final h2 { font-size: clamp(2.8rem, 8.6vw, 7rem); }
.section-heading > p:last-child { max-width: 45rem; color: var(--muted); font-size: 1.02rem; line-height: 1.75; }

.pillars { display: grid; margin-top: 4rem; border-top: 1px solid var(--line); }
.pillars article { padding: 2rem 0; border-bottom: 1px solid var(--line); }
.pillars article > span { color: var(--gold); font-size: .65rem; }
.pillars h3, .timeline h3 { margin: .75rem 0; font-family: Georgia, serif; font-size: 1.6rem; font-weight: 400; }
.pillars p, .timeline p { margin: 0; color: var(--muted); line-height: 1.65; }

.process { background: var(--ink-soft); }
.timeline { max-width: 70rem; margin: 4rem 0 0; padding: 0; list-style: none; }
.timeline li { display: grid; grid-template-columns: 3rem 1fr; gap: 1.25rem; padding: 2rem 0; border-top: 1px solid var(--line); }
.timeline li > span { color: var(--gold-bright); font-size: .68rem; letter-spacing: .14em; }
.timeline h3 { margin-top: 0; }

.real-shop { display: grid; gap: 3rem; min-height: 75svh; align-items: center; background: radial-gradient(circle at 18% 50%, rgba(200,153,83,.13), transparent 36%), #070605; }
.real-shop__copy { max-width: 37rem; }
.real-shop__copy p { color: var(--muted); font-size: 1.05rem; line-height: 1.8; }
.real-shop address { margin-top: 2rem; padding-left: 1.5rem; border-left: 1px solid var(--gold); color: var(--ivory); font-style: normal; line-height: 1.7; }
.career .legal { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); color: rgba(243,238,229,.55); font-size: .75rem; line-height: 1.65; }

.craft { display: grid; min-height: 90svh; background: #0b0907; }
.craft__visual { min-height: 55svh; overflow: hidden; }
.craft__visual img { width: 100%; height: 100%; object-fit: cover; }
.craft__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem) var(--gutter); }
.craft__copy > p:last-child { max-width: 36rem; color: var(--muted); line-height: 1.8; }

.interest { display: grid; gap: 3.5rem; }
.interest > * { min-width: 0; }
.interest h2 { font-size: clamp(2rem, 8vw, 7rem); }
.interest__intro > p:last-child { max-width: 38rem; color: var(--muted); line-height: 1.75; }
.interest-form { display: grid; min-width: 0; gap: 1.4rem; align-content: start; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); background: #0b0907; }
.interest-form label { display: grid; gap: .55rem; color: var(--gold-bright); font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.interest-form input, .interest-form select { width: 100%; min-width: 0; max-width: 100%; min-height: 3.25rem; padding: .8rem .9rem; border: 1px solid rgba(243,238,229,.2); border-radius: 0; background: #070605; color: var(--ivory); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.interest-form input:focus, .interest-form select:focus { border-color: var(--gold-bright); outline: none; box-shadow: 0 0 0 1px var(--gold-bright); }
.interest-form .button { width: 100%; margin-top: .5rem; cursor: pointer; }
.interest-form .button:disabled { opacity: .6; cursor: wait; }
.form-status { min-height: 2.8rem; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.form-status[data-state="error"] { color: #e7a88e; }
.form-status[data-state="success"] { color: #b9d7ad; }

.academy-final { display: flex; min-height: 75svh; flex-direction: column; align-items: center; justify-content: center; padding: 5rem var(--gutter); text-align: center; border-top: 1px solid var(--line); }
.academy-final > p { color: var(--gold-bright); font-size: .68rem; letter-spacing: .24em; text-transform: uppercase; }
.academy-final .button { margin-top: 2.5rem; }
.academy-footer { display: grid; gap: 2rem; padding: 3rem var(--gutter); border-top: 1px solid var(--line); background: #030302; }
.academy-footer address { color: var(--muted); font-style: normal; line-height: 1.7; }
.academy-footer address a { color: inherit; text-underline-offset: .25rem; }
.academy-footer nav { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; }
.academy-footer nav a { color: var(--muted); font-size: .67rem; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }

@media (min-width: 760px) {
  .academy-header { grid-template-columns: auto 1fr auto; }
  .academy-nav { display: flex; justify-content: center; gap: clamp(1rem, 3vw, 2.6rem); }
  .academy-nav a { color: var(--muted); font-size: .62rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
  .academy-nav a:hover { color: var(--gold-bright); }
  .academy-hero { align-items: center; }
  .academy-hero__shade { background: linear-gradient(90deg, rgba(7,6,5,.95), rgba(7,6,5,.35) 58%, rgba(7,6,5,.12)), linear-gradient(0deg, rgba(7,6,5,.62), transparent 55%); }
  .academy-hero__media { left: 42%; }
  .pillars { grid-template-columns: repeat(2, 1fr); }
  .pillars article { padding: 2rem; border-right: 1px solid var(--line); }
  .real-shop { grid-template-columns: 1.1fr .75fr; }
  .craft { grid-template-columns: 1.05fr .95fr; }
  .craft__visual { min-height: 90svh; }
  .academy-footer { grid-template-columns: 1fr .7fr 1fr; align-items: start; }
}
@media (min-width: 960px) {
  .interest { grid-template-columns: minmax(0, 1fr) minmax(22rem, .8fr); }
}
@media (min-width: 1200px) {
  .pillars { grid-template-columns: repeat(4, 1fr); }
  .academy-hero__media { left: 52%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .button:hover { transform: none; }
}
