
:root{
  --ox:#07101f;
  --ox2:#03060d;
  --stone:#eee6d8;
  --ivory:#fbf8f1;
  --gold:#b89b5e;
  --gold2:#d8bd7a;
  --red:#a51922;
  --ink:#101010;
  --text:#3f3932;
  --muted:#756d63;
  --line:rgba(184,155,94,.34);
  --shadow:0 26px 70px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit}
.container{width:min(1200px,92%);margin:auto}
.narrow{width:min(900px,92%);margin:auto}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--ink);line-height:1.04;margin:0 0 20px}
h1{font-size:clamp(3.6rem,8vw,7.4rem);letter-spacing:-.055em}
h2{font-size:clamp(2.25rem,4.8vw,4.6rem);letter-spacing:-.045em}
h3{font-size:1.45rem}
p{margin:0 0 16px}
.lead{font-size:1.2rem;max-width:760px}
.eyebrow{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:850;color:var(--gold);margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:1px solid var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:850;font-size:.82rem;transition:.25s ease}
.btn-primary{background:var(--red);border-color:var(--red);color:white}
.btn-primary:hover{background:#80111a;transform:translateY(-2px)}
.btn-outline{background:transparent;color:inherit}
.btn-outline:hover{background:rgba(184,155,94,.14);transform:translateY(-2px)}
.header{position:sticky;top:0;z-index:100;background:rgba(251,248,241,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,155,94,.22)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 0}
.logo img{width:178px;height:auto}
.nav{display:flex;gap:19px;align-items:center;flex-wrap:wrap}
.nav a{text-decoration:none;font-size:.78rem;letter-spacing:.085em;text-transform:uppercase;font-weight:850}
.nav a:hover{color:var(--red)}
.hero{min-height:760px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(7,16,31,.97),rgba(3,6,13,.98));color:white}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,31,.84),rgba(7,16,31,.34)),var(--hero-img) center/cover no-repeat;opacity:.52}
.hero::after{content:attr(data-mark);position:absolute;right:-60px;bottom:-48px;font-family:Georgia,serif;font-size:clamp(6rem,16vw,17rem);letter-spacing:.08em;color:rgba(255,255,255,.04)}
.hero-content{position:relative;z-index:2}
.hero h1{color:white}
.hero p{color:rgba(255,255,255,.82)}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.section{padding:96px 0}
.white{background:white}
.stone{background:var(--stone)}
.ivory{background:var(--ivory)}
.dark{background:linear-gradient(180deg,var(--ox),var(--ox2));color:white}
.dark h2,.dark h3{color:white}
.dark p{color:rgba(255,255,255,.78)}
.signature-quote{padding:88px 0;text-align:center;background:var(--stone)}
.signature-quote h2{font-style:italic;max-width:1040px;margin:0 auto 18px}
.story{display:grid;grid-template-columns:.95fr 1.05fr;gap:68px;align-items:center}
.story.reverse{grid-template-columns:1.05fr .95fr}
.photo{border:1px solid var(--line);padding:12px;background:white;box-shadow:var(--shadow)}
.photo img{width:100%;height:520px;object-fit:cover}
.editorial-panel{background:white;border:1px solid var(--line);border-left:5px solid var(--gold);padding:48px;box-shadow:0 20px 50px rgba(0,0,0,.07)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:white;border:1px solid var(--line);padding:32px;box-shadow:0 16px 40px rgba(0,0,0,.055);text-decoration:none;transition:.25s ease}
.card:hover{transform:translateY(-5px);box-shadow:0 26px 58px rgba(0,0,0,.12)}
.dark .card{background:rgba(255,255,255,.045);border-color:rgba(184,155,94,.38)}
.icon{width:62px;height:62px;margin:0 auto 20px}
.card h3{text-align:center}
.trust{background:white;border-bottom:1px solid var(--line)}
.trust .grid-4{gap:0}
.trust-item{text-align:center;padding:28px 18px;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item img{width:44px;margin:0 auto 12px}
.route{display:grid;grid-template-columns:repeat(5,1fr);background:white;border:1px solid var(--line);box-shadow:var(--shadow);margin-top:38px}
.route-step{text-align:center;padding:34px 20px;border-right:1px solid var(--line)}
.route-step:last-child{border-right:0}
.level{font-family:Georgia,serif;font-size:2.1rem;color:var(--red);font-weight:700}
.divider{padding:40px 0;text-align:center;color:var(--gold);background:var(--stone);letter-spacing:.25em}
.house-card{background:#101010;color:white;border:1px solid rgba(184,155,94,.55);padding:12px;box-shadow:var(--shadow)}
.house-card img{width:100%}
.house-card div{padding:24px;text-align:center}
.house-card h3{color:var(--gold2);letter-spacing:.08em;text-transform:uppercase}
.cta{background:radial-gradient(circle at 75% 20%,rgba(165,25,34,.18),transparent 30%),linear-gradient(135deg,#111,#030303);color:white;text-align:center;padding:88px 0}
.cta h2{color:white}
.cta p{color:rgba(255,255,255,.78)}
.form-card,.schedule{background:white;border:1px solid var(--line);padding:38px;box-shadow:var(--shadow)}
input,textarea,select{width:100%;padding:14px;margin-bottom:12px;border:1px solid rgba(0,0,0,.16);font:inherit;background:white}
textarea{min-height:130px}
table{width:100%;border-collapse:collapse}
th,td{padding:15px;border-bottom:1px solid rgba(0,0,0,.08)}
th{text-align:left;color:var(--red);text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}
td{text-align:right;font-weight:800}
.footer{background:radial-gradient(circle at 12% 0%,rgba(184,155,94,.16),transparent 32%),linear-gradient(180deg,var(--ox),var(--ox2));color:#f2f0ea;padding:68px 0 30px;border-top:1px solid rgba(184,155,94,.48)}
.footer a{color:rgba(242,240,234,.82);text-decoration:none}
.footer-line{display:flex;align-items:center;gap:18px;justify-content:center;color:var(--gold);margin-bottom:44px}
.footer-line::before,.footer-line::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(184,155,94,.6))}
.footer-line::after{background:linear-gradient(90deg,rgba(184,155,94,.6),transparent)}
.footer-grid{display:grid;grid-template-columns:1.05fr 1.15fr .9fr 1fr;gap:44px}
.footer-logo{width:210px;margin-bottom:18px}
.footer h3{font-family:Inter,Arial,sans-serif;color:var(--gold2);font-size:.86rem;text-transform:uppercase;letter-spacing:.14em}
.footer p,.footer li{color:rgba(242,240,234,.76)}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:8px}
.footer-jobs{margin-top:18px;padding-top:18px;border-top:1px solid rgba(242,240,234,.14)}
.footer-jobs a{color:var(--gold2);font-weight:800}
.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(184,155,94,.38);display:flex;justify-content:space-between;gap:22px;color:rgba(242,240,234,.56);font-size:.9rem}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:1050px){.grid-4,.footer-grid{grid-template-columns:repeat(2,1fr)}.route{grid-template-columns:1fr 1fr}.story,.story.reverse{grid-template-columns:1fr}}
@media(max-width:720px){.nav{display:none}.grid-3,.grid-4,.footer-grid,.route{grid-template-columns:1fr}.hero{min-height:650px}.photo img{height:340px}.section{padding:70px 0}.footer-bottom{flex-direction:column}.logo img{width:150px}.trust-item{border-right:0;border-bottom:1px solid var(--line)}}


/* =========================
   SIGNATURE EDITION v2.0
   ========================= */

:root {
  --signature-paper: #f3eadc;
  --signature-walnut: #4b3424;
  --signature-ink-soft: #24201b;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .045;
  background:
    radial-gradient(circle at 18% 12%, rgba(184,155,94,.55), transparent 8%),
    radial-gradient(circle at 82% 68%, rgba(165,25,34,.42), transparent 9%);
  z-index: -1;
}

.signature-hero {
  min-height: 820px;
}

.signature-hero .hero-content {
  max-width: 980px;
}

.signature-hero h1 {
  max-width: 900px;
}

.signature-hero .lead {
  max-width: 680px;
}

.editorial-full {
  min-height: 680px;
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(7,16,31,.82), rgba(7,16,31,.18)),
    var(--editorial-image) center/cover no-repeat;
  color: #fff;
  border-top: 1px solid rgba(184,155,94,.40);
  border-bottom: 1px solid rgba(184,155,94,.40);
}

.editorial-full h2 {
  color: #fff;
  max-width: 820px;
}

.editorial-full p {
  max-width: 640px;
  color: rgba(255,255,255,.82);
}

.chapter {
  position: relative;
  padding: 110px 0;
}

.chapter-label {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 28px;
  align-items: start;
  margin-bottom: 42px;
}

.chapter-number {
  font-family: Georgia, serif;
  color: var(--gold);
  font-size: 4.6rem;
  line-height: .88;
}

.chapter-copy {
  max-width: 780px;
}

.manifesto {
  background: var(--signature-paper);
  padding: 100px 0;
  text-align: center;
}

.manifesto h2 {
  font-style: italic;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.signature-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 64px;
  align-items: center;
}

.signature-grid.reverse {
  grid-template-columns: .85fr 1.15fr;
}

.signature-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 58px;
  box-shadow: 0 26px 70px rgba(0,0,0,.10);
}

.signature-panel.dark-panel {
  background: rgba(255,255,255,.045);
  color: #fff;
}

.signature-panel.dark-panel h2,
.signature-panel.dark-panel h3 {
  color: #fff;
}

.signature-photo {
  padding: 14px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 26px 70px rgba(0,0,0,.12);
}

.signature-photo img {
  width: 100%;
  height: 560px;
  object-fit: cover;
}

.heritage-divider {
  padding: 42px 0;
  background: #101010;
  color: var(--gold2);
  text-align: center;
  letter-spacing: .28em;
  font-family: Georgia, serif;
  text-transform: uppercase;
  border-top: 1px solid rgba(184,155,94,.45);
  border-bottom: 1px solid rgba(184,155,94,.45);
}

.signature-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 24px;
  margin-top: 42px;
}

.signature-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: 34px;
  min-height: 265px;
  box-shadow: 0 18px 44px rgba(0,0,0,.06);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: .25s ease;
}

.signature-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 68px rgba(0,0,0,.14);
}

.signature-card img {
  width: 60px;
  height: 60px;
  margin: 0 auto 20px;
}

.signature-card h3 {
  text-align: center;
}

.dark .signature-card {
  background: rgba(255,255,255,.05);
  border-color: rgba(184,155,94,.38);
}

.dark .signature-card h3 {
  color: #fff;
}

.cambridge-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  margin-top: 48px;
  border: 1px solid var(--line);
  background: #fff;
}

.cambridge-stat {
  padding: 34px 22px;
  text-align: center;
  border-right: 1px solid var(--line);
}

.cambridge-stat:last-child {
  border-right: 0;
}

.cambridge-stat strong {
  display: block;
  font-family: Georgia, serif;
  color: var(--red);
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 10px;
}

.timeline-premium {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  border: 1px solid var(--line);
  background: #fff;
  margin-top: 44px;
  box-shadow: 0 22px 58px rgba(0,0,0,.08);
}

.timeline-premium > div {
  padding: 36px 24px;
  border-right: 1px solid var(--line);
  text-align: center;
}

.timeline-premium > div:last-child {
  border-right: 0;
}

.timeline-premium .level {
  font-family: Georgia, serif;
  color: var(--red);
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.footer {
  box-shadow: inset 0 1px 0 rgba(184,155,94,.30);
}

@media(max-width: 1050px) {
  .signature-grid,
  .signature-grid.reverse,
  .signature-cards,
  .cambridge-stat-row {
    grid-template-columns: 1fr 1fr;
  }
  .timeline-premium {
    grid-template-columns: 1fr;
  }
  .timeline-premium > div,
  .cambridge-stat {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .timeline-premium > div:last-child,
  .cambridge-stat:last-child {
    border-bottom: 0;
  }
}

@media(max-width: 720px) {
  .signature-hero {
    min-height: 680px;
  }
  .editorial-full {
    min-height: 520px;
  }
  .chapter-label,
  .signature-grid,
  .signature-grid.reverse,
  .signature-cards,
  .cambridge-stat-row {
    grid-template-columns: 1fr;
  }
  .chapter {
    padding: 78px 0;
  }
  .signature-panel {
    padding: 34px 26px;
  }
  .signature-photo img {
    height: 340px;
  }
}


/* =========================
   v2.1 Image integration
   ========================= */

.hero::before {
  opacity: .42 !important;
  filter: saturate(.78) contrast(.88) brightness(.82);
}

.hero {
  background:
    radial-gradient(circle at 16% 12%, rgba(184,155,94,.20), transparent 34%),
    linear-gradient(135deg, #07101f, #03060d) !important;
}

.signature-photo,
.photo {
  background: #f7f1e7 !important;
  border: 1px solid rgba(184,155,94,.42) !important;
  padding: 14px !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.12) !important;
}

.signature-photo img,
.photo img {
  filter: saturate(.82) contrast(.92) brightness(.96);
  border-radius: 2px;
}

.signature-photo::after,
.photo::after {
  content: "";
  display: block;
  height: 1px;
  margin-top: 12px;
  background: linear-gradient(90deg, transparent, rgba(184,155,94,.55), transparent);
}

.editorial-full {
  background:
    linear-gradient(90deg, rgba(7,16,31,.82), rgba(7,16,31,.38)),
    var(--editorial-image) center/cover no-repeat !important;
}

.editorial-full,
.signature-hero {
  border-bottom: 1px solid rgba(184,155,94,.45);
}

.manifesto,
.signature-quote,
.stone {
  background:
    linear-gradient(rgba(243,234,220,.92), rgba(243,234,220,.92)),
    url("assets/heritage-texture.jpg") center/cover repeat !important;
}

.signature-panel {
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(2px);
}

.image-caption {
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 12px;
  text-align: center;
}

@media(max-width:720px){
  .hero::before {
    opacity: .34 !important;
  }
}

/* Phase 1 editorial */
body{background:linear-gradient(rgba(251,247,238,.96),rgba(251,247,238,.96)),url("assets/phase-heritage-texture.jpg") center/cover fixed}
.phase-hero{min-height:88vh;background:linear-gradient(135deg,#07101f,#02050c)!important}
.phase-hero::before{opacity:.58!important;filter:saturate(.86) contrast(.92) brightness(.78)}
.phase-hero h1{font-size:clamp(4rem,8.5vw,8rem)}
.phase-section{padding:112px 0}
.phase-image-led{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.phase-image-led.reverse{grid-template-columns:.85fr 1.15fr}
.phase-photo{background:#fffaf0;border:1px solid rgba(184,155,94,.42);padding:16px;box-shadow:0 34px 90px rgba(0,0,0,.14)}
.phase-photo img{width:100%;height:620px;object-fit:cover;filter:saturate(.9) contrast(.94) brightness(.98)}
.phase-caption{margin-top:12px;text-align:center;color:var(--gold);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
.phase-editorial-quote{background:linear-gradient(rgba(242,234,220,.94),rgba(242,234,220,.94)),url("assets/phase-heritage-texture.jpg") center/cover;padding:115px 0;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.phase-editorial-quote h2{font-style:italic;max-width:1080px;margin-left:auto;margin-right:auto}
.phase-full-bleed{min-height:690px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(7,16,31,.84),rgba(7,16,31,.22)),var(--phase-image) center/cover no-repeat;border-top:1px solid rgba(184,155,94,.40);border-bottom:1px solid rgba(184,155,94,.40)}
.phase-full-bleed h2{color:#fff;max-width:850px}.phase-full-bleed p{color:rgba(255,255,255,.82);max-width:680px}
.phase-lux-panel{background:rgba(255,255,255,.90);border:1px solid var(--line);border-left:5px solid var(--gold);padding:56px;box-shadow:0 24px 70px rgba(0,0,0,.08)}
.phase-split-cta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);background:var(--line);margin-top:48px}
.phase-split-cta a{background:rgba(255,255,255,.92);padding:34px;text-decoration:none;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}
.phase-split-cta img{width:52px;height:52px;margin-bottom:16px}
@media(max-width:1050px){.phase-image-led,.phase-image-led.reverse,.phase-split-cta{grid-template-columns:1fr 1fr}.phase-photo img{height:480px}}
@media(max-width:720px){.phase-image-led,.phase-image-led.reverse,.phase-split-cta{grid-template-columns:1fr}.phase-section{padding:76px 0}.phase-photo img{height:340px}.phase-full-bleed{min-height:520px}}


/* =====================================================
   PHASE 1.1 — Polish Sprint
   ===================================================== */

.header {
  background: rgba(251,247,238,.86) !important;
  backdrop-filter: blur(18px) saturate(1.05);
  border-bottom: 1px solid rgba(184,155,94,.34) !important;
  box-shadow: 0 10px 36px rgba(7,16,31,.06);
}

.header-inner {
  padding: 12px 0 !important;
}

.logo img {
  width: 205px !important;
  max-height: 62px;
  object-fit: contain;
  display: block;
}

.nav a {
  position: relative;
}

.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width .25s ease;
}

.nav a:hover::after {
  width: 100%;
}

.phase-section {
  padding-top: 124px !important;
  padding-bottom: 124px !important;
}

.phase-editorial-quote {
  padding-top: 128px !important;
  padding-bottom: 128px !important;
}

.phase-photo {
  padding: 18px !important;
}

.phase-photo img {
  min-height: 640px;
}

.phase-lux-panel,
.editorial-panel,
.signature-panel {
  box-shadow: 0 30px 78px rgba(0,0,0,.09) !important;
}

.footer {
  background:
    radial-gradient(circle at 8% 0%, rgba(184,155,94,.18), transparent 30%),
    linear-gradient(180deg,#07101f,#03060d) !important;
}

.footer-logo {
  width: 235px !important;
  max-height: 90px;
  object-fit: contain;
  background: transparent !important;
  display: block;
}

.footer-line {
  margin-bottom: 52px !important;
}

.footer-grid {
  align-items: start;
}

.footer h3 {
  color: var(--gold2) !important;
}

.footer-bottom {
  margin-top: 56px !important;
}

.footer::before {
  content: "";
  display: block;
  height: 1px;
  margin: -68px auto 66px;
  width: min(1180px,92%);
  background: linear-gradient(90deg, transparent, rgba(184,155,94,.65), transparent);
}

.btn {
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.btn-primary:hover {
  box-shadow: 0 14px 34px rgba(165,25,34,.22);
}

.card,
.signature-card,
.phase-split-cta a {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.phase-split-cta a:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(0,0,0,.10);
  z-index: 2;
}

.hero h1,
.phase-hero h1 {
  line-height: .98 !important;
}

@media(max-width:720px){
  .logo img {
    width: 165px !important;
  }
  .phase-photo img {
    min-height: 340px;
  }
  .phase-section {
    padding-top: 82px !important;
    padding-bottom: 82px !important;
  }
}


/* =====================================================
   PHASE 1.2 — Safe visible logo fix
   ===================================================== */

.header {
  background: #fbf7ee !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid rgba(184,155,94,.34) !important;
}

.logo img {
  width: 215px !important;
  max-height: 76px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}

.footer {
  background: #07101f !important;
}

.footer-logo {
  width: 245px !important;
  max-height: 105px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}


/* =====================================================
   PHASE 1.3 — Final SVG logos
   ===================================================== */

.header {
  background: #FBF7EE !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid rgba(184,155,94,.34) !important;
}

.logo,
.logo img,
.footer-logo {
  background: transparent !important;
  box-shadow: none !important;
}

.logo img {
  width: 205px !important;
  max-height: 72px !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}

.footer {
  background: #07101F !important;
}

.footer-logo {
  width: 235px !important;
  max-height: 95px !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}


/* =====================================================
   PHASE 1.4 — Footer logo exact background match
   ===================================================== */

:root {
  --footer-exact-bg: #07101F;
}

.footer {
  background: var(--footer-exact-bg) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.footer::before {
  background: linear-gradient(90deg, transparent, rgba(184,155,94,.65), transparent) !important;
}

.footer-logo {
  background: var(--footer-exact-bg) !important;
  display: block !important;
  width: 235px !important;
  max-height: 95px !important;
  object-fit: contain !important;
}

.header {
  background: #FBF7EE !important;
  background-image: none !important;
}

.logo img {
  background: transparent !important;
}


/* =====================================================
   PHASE 1.5 — Evaluación inicial CTA
   ===================================================== */

.nav .nav-level-test {
  background: var(--red);
  color: #fff !important;
  padding: 10px 15px;
  border-radius: 999px;
  border: 1px solid var(--red);
  box-shadow: 0 10px 24px rgba(165,25,34,.16);
}

.nav .nav-level-test::after {
  display: none !important;
}

.nav .nav-level-test:hover {
  background: #84121a;
  color: #fff !important;
}

.level-test-box {
  background:
    linear-gradient(135deg, rgba(7,16,31,.96), rgba(3,6,13,.98));
  color: #fff;
  border: 1px solid rgba(184,155,94,.48);
  padding: 54px;
  box-shadow: 0 28px 78px rgba(0,0,0,.16);
  position: relative;
  overflow: hidden;
}

.level-test-box::after {
  content: "LEVEL TEST";
  position: absolute;
  right: -20px;
  bottom: -22px;
  font-family: Georgia, serif;
  font-size: 5.4rem;
  color: rgba(255,255,255,.045);
  letter-spacing: .08em;
}

.level-test-box h2,
.level-test-box h3 {
  color: #fff;
}

.level-test-box p {
  color: rgba(255,255,255,.80);
  max-width: 760px;
}

.level-test-points {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin: 22px 0 28px;
}

.level-test-points span {
  border: 1px solid rgba(184,155,94,.45);
  padding: 8px 12px;
  color: rgba(255,255,255,.86);
  font-size: .9rem;
}

.footer .level-test-footer {
  color: var(--gold2);
  font-weight: 800;
}

@media(max-width:720px){
  .level-test-box {
    padding: 34px 24px;
  }
}


/* =====================================================
   PHASE 2A — Cambridge + Empresas premium pages
   ===================================================== */

.premium-page-hero {
  min-height: 86vh;
}

.premium-page-hero::before {
  opacity: .54 !important;
}

.premium-intro {
  padding: 120px 0;
  background:
    linear-gradient(rgba(242,234,220,.95), rgba(242,234,220,.95)),
    url("assets/phase-heritage-texture.jpg") center/cover;
  text-align: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.premium-intro h2 {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  font-style: italic;
}

.premium-story {
  padding: 120px 0;
}

.premium-story-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 76px;
  align-items: center;
}

.premium-story-grid.reverse {
  grid-template-columns: .9fr 1.1fr;
}

.premium-image {
  border: 1px solid rgba(184,155,94,.42);
  padding: 18px;
  background: #fffaf0;
  box-shadow: 0 34px 90px rgba(0,0,0,.13);
}

.premium-image img {
  width: 100%;
  height: 650px;
  object-fit: cover;
  filter: saturate(.9) contrast(.94) brightness(.98);
}

.premium-panel {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 58px;
  box-shadow: 0 26px 70px rgba(0,0,0,.09);
}

.premium-dark {
  background: linear-gradient(180deg,#07101f,#03060d);
  color: #fff;
}

.premium-dark h2,
.premium-dark h3 {
  color: #fff;
}

.premium-dark p {
  color: rgba(255,255,255,.78);
}

.premium-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 26px 70px rgba(0,0,0,.08);
  margin-top: 46px;
}

.premium-timeline > div {
  padding: 38px 26px;
  border-right: 1px solid var(--line);
}

.premium-timeline > div:last-child {
  border-right: 0;
}

.premium-number {
  font-family: Georgia, serif;
  color: var(--red);
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 16px;
}

.premium-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 26px;
  margin-top: 48px;
}

.premium-feature {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  padding: 36px;
  min-height: 270px;
  box-shadow: 0 18px 44px rgba(0,0,0,.055);
}

.premium-dark .premium-feature {
  background: rgba(255,255,255,.055);
  border-color: rgba(184,155,94,.38);
}

.premium-sector-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 48px;
}

.premium-sector-strip > div {
  background: #fff;
  padding: 34px;
  min-height: 260px;
}

.premium-sector-strip img {
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
}

.premium-cta-band {
  padding: 96px 0;
  background:
    radial-gradient(circle at 78% 16%, rgba(165,25,34,.18), transparent 32%),
    linear-gradient(135deg,#101010,#030303);
  color: #fff;
  text-align: center;
}

.premium-cta-band h2 {
  color: #fff;
}

.premium-cta-band p {
  color: rgba(255,255,255,.78);
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

@media(max-width:1050px){
  .premium-story-grid,
  .premium-story-grid.reverse,
  .premium-feature-grid,
  .premium-sector-strip {
    grid-template-columns: 1fr 1fr;
  }
  .premium-timeline {
    grid-template-columns: 1fr 1fr;
  }
  .premium-image img {
    height: 500px;
  }
}

@media(max-width:720px){
  .premium-story-grid,
  .premium-story-grid.reverse,
  .premium-feature-grid,
  .premium-sector-strip,
  .premium-timeline {
    grid-template-columns: 1fr;
  }
  .premium-story,
  .premium-intro {
    padding: 76px 0;
  }
  .premium-panel {
    padding: 34px 26px;
  }
  .premium-image img {
    height: 340px;
  }
}


/* =====================================================
   PHASE 2A FIX — Process stages visibility
   ===================================================== */

.premium-dark .premium-timeline,
.premium-process-grid {
  background: transparent !important;
  border: 1px solid rgba(184,155,94,.42) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.18) !important;
}

.premium-dark .premium-timeline > div,
.premium-process-card {
  background: rgba(255,255,255,.055) !important;
  border-right: 1px solid rgba(184,155,94,.34) !important;
  color: #fff !important;
}

.premium-dark .premium-timeline > div:last-child {
  border-right: 0 !important;
}

.premium-dark .premium-timeline h3,
.premium-dark .premium-timeline strong,
.premium-process-card h3,
.premium-process-card strong {
  color: #fff !important;
}

.premium-dark .premium-timeline p,
.premium-process-card p {
  color: rgba(255,255,255,.78) !important;
}

.premium-dark .premium-number {
  color: var(--gold2) !important;
}

.premium-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 46px;
}

.premium-process-card {
  padding: 38px 26px;
  min-height: 260px;
}

@media(max-width:1050px){
  .premium-process-grid {
    grid-template-columns: 1fr 1fr;
  }
  .premium-dark .premium-timeline > div,
  .premium-process-card {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(184,155,94,.34) !important;
  }
}

@media(max-width:720px){
  .premium-process-grid {
    grid-template-columns: 1fr;
  }
}


/* =====================================================
   PHASE 2B — Houses + Trabaja con nosotros
   ===================================================== */

.house-hero {
  min-height: 86vh;
}

.house-hero::before {
  opacity: .48 !important;
}

.house-roses-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 26px;
  margin-top: 46px;
}

.house-emblem {
  background: #111;
  border: 1px solid rgba(184,155,94,.56);
  padding: 18px;
  box-shadow: 0 28px 78px rgba(0,0,0,.18);
}

.house-emblem img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
  background: #111;
}

.house-emblem h3 {
  color: var(--gold2);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-top: 22px;
}

.story-block {
  padding: 120px 0;
}

.story-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 76px;
  align-items: center;
}

.story-grid.reverse {
  grid-template-columns: .95fr 1.05fr;
}

.story-panel {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  padding: 58px;
  box-shadow: 0 26px 70px rgba(0,0,0,.09);
}

.story-photo {
  border: 1px solid rgba(184,155,94,.42);
  padding: 18px;
  background: #fffaf0;
  box-shadow: 0 34px 90px rgba(0,0,0,.13);
}

.story-photo img {
  width: 100%;
  height: 640px;
  object-fit: cover;
  filter: saturate(.9) contrast(.94) brightness(.98);
}

.house-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 44px;
}

.house-values > div {
  background: rgba(255,255,255,.94);
  padding: 36px;
  min-height: 240px;
}

.house-values strong {
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .82rem;
}

.teacher-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 26px;
  margin-top: 46px;
}

.teacher-profile-card {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  padding: 36px;
  min-height: 260px;
  box-shadow: 0 18px 44px rgba(0,0,0,.055);
}

.teacher-profile-card h3 {
  margin-top: 0;
}

.apply-panel {
  background:
    radial-gradient(circle at 80% 20%, rgba(165,25,34,.18), transparent 30%),
    linear-gradient(135deg,#07101f,#03060d);
  color: #fff;
  border: 1px solid rgba(184,155,94,.48);
  padding: 58px;
  box-shadow: 0 30px 88px rgba(0,0,0,.18);
}

.apply-panel h2,
.apply-panel h3 {
  color: #fff;
}

.apply-panel p {
  color: rgba(255,255,255,.78);
}

.application-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  border: 1px solid rgba(184,155,94,.42);
  margin-top: 42px;
}

.application-steps > div {
  padding: 34px 26px;
  border-right: 1px solid rgba(184,155,94,.34);
  background: rgba(255,255,255,.055);
}

.application-steps > div:last-child {
  border-right: 0;
}

.application-steps .num {
  font-family: Georgia, serif;
  color: var(--gold2);
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: 16px;
}

@media(max-width:1050px){
  .house-roses-row,
  .story-grid,
  .story-grid.reverse,
  .teacher-profile-grid,
  .application-steps,
  .house-values {
    grid-template-columns: 1fr 1fr;
  }
  .story-photo img {
    height: 500px;
  }
}

@media(max-width:720px){
  .house-roses-row,
  .story-grid,
  .story-grid.reverse,
  .teacher-profile-grid,
  .application-steps,
  .house-values {
    grid-template-columns: 1fr;
  }
  .story-block {
    padding: 76px 0;
  }
  .story-panel,
  .apply-panel {
    padding: 34px 26px;
  }
  .story-photo img {
    height: 340px;
  }
}


/* =====================================================
   PHASE 2B FIX — Houses cards
   ===================================================== */

.house-roses-row {
  align-items: stretch !important;
}

.house-emblem {
  display: flex !important;
  flex-direction: column !important;
  min-height: auto !important;
  overflow: hidden !important;
}

.house-emblem img {
  height: 260px !important;
  width: 100% !important;
  object-fit: contain !important;
  padding: 12px !important;
}

.house-emblem h3 {
  font-size: 1.05rem !important;
  line-height: 1.2 !important;
  margin: 18px 10px 6px !important;
  word-break: normal !important;
}

.house-emblem p {
  color: rgba(255,255,255,.78) !important;
  font-size: .96rem !important;
  line-height: 1.55 !important;
  text-align: center !important;
  padding: 0 22px 26px !important;
  margin: 0 !important;
}

.house-values {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

.house-values > div {
  min-height: 250px !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
}

.house-values h3 {
  font-size: 1.35rem !important;
  line-height: 1.15 !important;
}

.house-values p {
  font-size: .98rem !important;
  line-height: 1.58 !important;
}

@media(max-width:1050px){
  .house-roses-row,
  .house-values {
    grid-template-columns: 1fr !important;
  }
  .house-emblem img {
    height: 230px !important;
  }
  .house-values > div {
    min-height: auto !important;
  }
}


/* =====================================================
   EDITORIAL CLEAN — final refinement pass
   ===================================================== */

.editorial-closing {
  min-height: 620px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(7,16,31,.84), rgba(7,16,31,.22)),
    var(--closing-image) center/cover no-repeat;
  border-top: 1px solid rgba(184,155,94,.45);
  border-bottom: 1px solid rgba(184,155,94,.45);
}

.editorial-closing h2 {
  color: #fff;
  max-width: 860px;
}

.editorial-closing p {
  color: rgba(255,255,255,.82);
  max-width: 700px;
}

.house-belonging-copy {
  max-width: 720px;
}

.house-belonging-copy p {
  font-size: 1.08rem;
}

.house-values {
  display: none !important;
}

.story-block {
  overflow: hidden;
}

.footer {
  background: #07101F !important;
  background-image: none !important;
}

.header {
  background: #FBF7EE !important;
  background-image: none !important;
}

@media(max-width:720px){
  .editorial-closing {
    min-height: 480px;
  }
}


/* =====================================================
   PREMIUM POLISH — global quality pass
   ===================================================== */

.header {
  background: #FBF7EE !important;
  border-bottom: 1px solid rgba(184,155,94,.30) !important;
  box-shadow: 0 8px 28px rgba(7,16,31,.055) !important;
}

.header-inner {
  padding: 10px 0 !important;
}

.logo img {
  width: 212px !important;
  max-height: 70px !important;
}

.nav {
  gap: 22px !important;
}

.nav a {
  font-size: .74rem !important;
  letter-spacing: .10em !important;
}

.nav .nav-level-test {
  padding: 9px 16px !important;
  border-radius: 2px !important;
  background: #a51922 !important;
  box-shadow: none !important;
}

.hero .lead,
.phase-copy p,
.story-panel p,
.premium-panel p {
  max-width: 680px;
}

.phase-section,
.story-block,
.premium-story {
  padding-top: 118px !important;
  padding-bottom: 118px !important;
}

.phase-editorial-quote,
.premium-intro {
  padding-top: 118px !important;
  padding-bottom: 118px !important;
}

.phase-photo,
.story-photo,
.premium-image {
  box-shadow: 0 28px 72px rgba(0,0,0,.115) !important;
}

.phase-photo img,
.story-photo img,
.premium-image img {
  filter: saturate(.88) contrast(.95) brightness(.98) !important;
}

.btn {
  border-radius: 0 !important;
}

.footer {
  background: #07101F !important;
  background-image: none !important;
  padding: 78px 0 34px !important;
  text-align: center;
}

.footer::before,
.footer-line {
  display: none !important;
}

.footer-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 34px !important;
  max-width: 980px;
  margin: 0 auto;
}

.footer-logo {
  margin: 0 auto 20px !important;
  width: 260px !important;
  max-height: 110px !important;
}

.footer h3 {
  margin-bottom: 12px !important;
}

.footer ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.footer li {
  margin: 0 !important;
}

.footer p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.footer-grid > div {
  border-bottom: 1px solid rgba(184,155,94,.28);
  padding-bottom: 24px;
}

.footer-grid > div:last-child {
  border-bottom: 0;
}

.footer-jobs {
  border-top: 1px solid rgba(184,155,94,.24) !important;
  max-width: 520px;
  margin: 22px auto 0 !important;
  padding-top: 20px !important;
}

.footer-bottom {
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 1px solid rgba(184,155,94,.34) !important;
  max-width: 980px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.level-test-box {
  box-shadow: 0 24px 64px rgba(0,0,0,.14) !important;
}

.house-emblem {
  transition: transform .25s ease, box-shadow .25s ease;
}

.house-emblem:hover {
  transform: translateY(-4px);
  box-shadow: 0 32px 82px rgba(0,0,0,.22);
}

.house-emblem img {
  transition: transform .25s ease;
}

.house-emblem:hover img {
  transform: rotate(-1.5deg) scale(1.015);
}

@media(max-width:720px){
  .nav {
    display: none !important;
  }
  .phase-section,
  .story-block,
  .premium-story,
  .phase-editorial-quote,
  .premium-intro {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }
  .footer ul {
    flex-direction: column;
    gap: 8px;
  }
}


/* =====================================================
   FINAL POLISH — compact footer + softer evaluation CTA
   ===================================================== */

.nav .nav-level-test {
  background: transparent !important;
  color: #a51922 !important;
  border: 1px solid rgba(165,25,34,.75) !important;
  padding: 8px 13px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nav .nav-level-test:hover {
  background: #a51922 !important;
  color: #fff !important;
}

.footer {
  background: #07101F !important;
  padding: 46px 0 24px !important;
  text-align: center !important;
}

.footer-grid {
  display: block !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

.footer-grid > div {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 auto 18px !important;
}

.footer-logo {
  width: 220px !important;
  max-height: 86px !important;
  margin: 0 auto 12px !important;
}

.footer h3 {
  display: none !important;
}

.footer p {
  margin-bottom: 10px !important;
  color: rgba(242,240,234,.74) !important;
}

.footer ul {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
  margin: 18px auto !important;
  padding: 17px 0 !important;
  border-top: 1px solid rgba(184,155,94,.28);
  border-bottom: 1px solid rgba(184,155,94,.28);
  max-width: 900px;
}

.footer li {
  margin: 0 !important;
}

.footer a {
  color: rgba(242,240,234,.82) !important;
}

.footer .level-test-footer {
  color: var(--gold2) !important;
  font-weight: 800;
}

.footer-bottom {
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 0 !important;
  font-size: .86rem !important;
}

.footer-legal {
  justify-content: center;
}

.level-test-box::after {
  content: "EVALUACIÓN INICIAL" !important;
  font-size: 4.2rem !important;
}

.cursos-method-fix {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.cursos-method-fix .timeline-premium {
  background: #fff !important;
  color: var(--text) !important;
}

.cursos-method-fix .timeline-premium > div {
  background: #fff !important;
  color: var(--text) !important;
}

.cursos-method-fix .timeline-premium strong {
  color: var(--ink) !important;
}

.cursos-method-fix .timeline-premium p {
  color: var(--muted) !important;
}

@media(max-width:720px){
  .footer {
    padding: 38px 0 22px !important;
  }
  .footer ul {
    flex-direction: column !important;
    gap: 7px !important;
  }
  .level-test-box::after {
    font-size: 2.2rem !important;
  }
}


/* =====================================================
   PROGRAMAS REWORK
   ===================================================== */

.learning-path {
  padding: 116px 0;
  background:
    linear-gradient(rgba(242,234,220,.96), rgba(242,234,220,.96)),
    url("assets/phase-heritage-texture.jpg") center/cover;
}

.learning-path-intro {
  max-width: 900px;
  margin: 0 auto 58px;
  text-align: center;
}

.path-line {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 26px 70px rgba(0,0,0,.08);
}

.path-step {
  padding: 34px 24px;
  border-right: 1px solid var(--line);
  min-height: 270px;
}

.path-step:last-child {
  border-right: 0;
}

.path-step .dot {
  width: 34px;
  height: 34px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--red);
  font-weight: 800;
  margin-bottom: 18px;
}

.path-step h3 {
  font-size: 1.28rem;
}

.programs-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.program-card {
  background: rgba(255,255,255,.94);
  padding: 34px 26px;
  min-height: 270px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
}

.program-card img {
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
}

.learning-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 46px;
}

.learning-pillar {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  padding: 34px;
  min-height: 240px;
}

.final-learning-quote {
  min-height: 620px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(7,16,31,.82), rgba(7,16,31,.24)),
    var(--learning-image) center/cover no-repeat;
}

.final-learning-quote h2 {
  color: #fff;
  max-width: 880px;
}

.final-learning-quote p {
  color: rgba(255,255,255,.82);
  max-width: 720px;
}

@media(max-width:1050px){
  .path-line,
  .programs-grid,
  .learning-pillars {
    grid-template-columns: 1fr 1fr;
  }
  .path-step {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

@media(max-width:720px){
  .path-line,
  .programs-grid,
  .learning-pillars {
    grid-template-columns: 1fr;
  }
  .learning-path {
    padding: 76px 0;
  }
  .final-learning-quote {
    min-height: 480px;
  }
}


/* =====================================================
   RC1 NIGHT SAFE — stable closing polish
   ===================================================== */

.header {
  background: #FBF7EE !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(184,155,94,.30) !important;
}

.nav .nav-level-test {
  background: transparent !important;
  color: #a51922 !important;
  border: 1px solid rgba(165,25,34,.75) !important;
  padding: 8px 13px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nav .nav-level-test:hover {
  background: #a51922 !important;
  color: #fff !important;
}

.footer {
  background: #07101F !important;
  background-image: none !important;
  padding: 42px 0 24px !important;
  text-align: center !important;
}

.footer::before,
.footer-line {
  display: none !important;
}

.footer-grid {
  display: block !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

.footer-grid > div {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 auto 14px !important;
}

.footer-logo {
  width: 220px !important;
  max-height: 86px !important;
  margin: 0 auto 10px !important;
}

.footer h3 {
  display: none !important;
}

.footer p {
  margin-bottom: 9px !important;
  color: rgba(242,240,234,.74) !important;
}

.footer ul {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 18px !important;
  margin: 16px auto !important;
  padding: 15px 0 !important;
  border-top: 1px solid rgba(184,155,94,.28);
  border-bottom: 1px solid rgba(184,155,94,.28);
  max-width: 900px;
}

.footer li {
  margin: 0 !important;
}

.footer a {
  color: rgba(242,240,234,.82) !important;
}

.footer .level-test-footer {
  color: var(--gold2) !important;
  font-weight: 800;
}

.footer-bottom {
  margin-top: 14px !important;
  padding-top: 10px !important;
  border-top: 0 !important;
  font-size: .86rem !important;
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}

.footer-legal {
  justify-content: center;
}

.page-quote {
  padding: 78px 0;
  background: #F2EADC;
  text-align: center;
  border-top: 1px solid rgba(184,155,94,.30);
  border-bottom: 1px solid rgba(184,155,94,.30);
}

.page-quote h2 {
  font-style: italic;
  max-width: 920px;
  margin: 0 auto;
}

@media(max-width:720px){
  .footer {
    padding: 34px 0 22px !important;
  }
  .footer ul {
    flex-direction: column !important;
    gap: 7px !important;
  }
}


/* =====================================================
   CHALLIS SCHOOL v1 RC1 — Master cleanup
   ===================================================== */

:root {
  --rc-ivory: #FBF7EE;
  --rc-oxford: #07101F;
  --rc-red: #A51922;
  --rc-gold: #B89B5E;
}

.header {
  background: var(--rc-ivory) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(184,155,94,.30) !important;
  box-shadow: 0 8px 28px rgba(7,16,31,.045) !important;
}

.header-inner { padding: 10px 0 !important; }
.logo img { width: 212px !important; max-height: 70px !important; }
.nav { gap: 20px !important; }
.nav a { font-size: .72rem !important; letter-spacing: .105em !important; }

.nav .nav-level-test {
  background: transparent !important;
  color: var(--rc-red) !important;
  border: 1px solid rgba(165,25,34,.75) !important;
  padding: 8px 13px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nav .nav-level-test:hover {
  background: var(--rc-red) !important;
  color: #fff !important;
}

.footer-rc {
  background: var(--rc-oxford) !important;
  background-image: none !important;
  padding: 42px 0 24px !important;
  text-align: center !important;
  color: #f2f0ea;
}

.footer-rc::before,
.footer-rc .footer-line,
.footer-rc h3 { display: none !important; }

.footer-rc-inner { max-width: 1040px; }

.footer-rc .footer-logo {
  width: 220px !important;
  max-height: 86px !important;
  margin: 0 auto 10px !important;
}

.footer-claim {
  margin: 0 auto 16px !important;
  color: rgba(242,240,234,.78) !important;
}

.footer-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding: 15px 0;
  margin: 0 auto 16px;
  border-top: 1px solid rgba(184,155,94,.28);
  border-bottom: 1px solid rgba(184,155,94,.28);
}

.footer-nav a {
  color: rgba(242,240,234,.84) !important;
  text-decoration: none;
  font-size: .9rem;
}

.footer-nav a:last-child {
  color: var(--gold2) !important;
  font-weight: 800;
}

.footer-contact p {
  margin: 0 0 8px !important;
  color: rgba(242,240,234,.72) !important;
}

.footer-contact a { color: rgba(242,240,234,.86) !important; }

.footer-rc .footer-bottom {
  margin-top: 14px !important;
  padding-top: 10px !important;
  border-top: 0 !important;
  font-size: .86rem !important;
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(242,240,234,.56) !important;
}

.footer-legal { justify-content: center; }
.btn { border-radius: 0 !important; }

@media(max-width: 720px) {
  .footer-rc { padding: 34px 0 22px !important; }
  .footer-nav { flex-direction: column; gap: 7px; }
}


/* =====================================================
   CHALLIS SCHOOL v1 RC2 — Editorial translations + final polish
   ===================================================== */

.editorial-translation {
  display: block;
  margin-top: 10px;
  font-size: 65%;
  line-height: 1.45;
  color: #7a746b;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

.hero .editorial-translation,
.editorial-closing .editorial-translation,
.final-learning-quote .editorial-translation,
.premium-cta-band .editorial-translation {
  color: rgba(255,255,255,.72);
}

.page-quote .editorial-translation {
  font-size: 65%;
  color: #7a746b;
}

.footer-rc {
  padding-top: 40px !important;
  padding-bottom: 22px !important;
}

.footer-nav {
  max-width: 940px;
}

.footer-nav a {
  font-size: .86rem !important;
}

.nav a[href="jessica-challis.html"] {
  white-space: nowrap;
}

.level-test-box h2 {
  max-width: 900px;
}

.level-test-box p {
  max-width: 780px;
}

.hero h1 {
  max-width: 980px;
}

@media(max-width: 720px) {
  .editorial-translation {
    font-size: 58%;
  }
}


/* =====================================================
   CHALLIS SCHOOL v1 RC3 — controlled finishing pass
   ===================================================== */

.cambridge-level-note {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
  font-weight: 400;
}

.footer-rc {
  padding-top: 38px !important;
  padding-bottom: 22px !important;
}

.footer-claim .editorial-translation {
  font-size: 62%;
  margin-top: 6px;
}

.footer-nav {
  margin-top: 14px;
  margin-bottom: 14px;
}

.hero .lead {
  max-width: 700px;
}

.premium-intro p,
.phase-editorial-quote p {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.story-panel p,
.premium-panel p,
.phase-lux-panel p {
  line-height: 1.72;
}

.page-quote + .page-quote {
  display: none !important;
}

/* No duplicar cierres editoriales */
.houses-page .page-quote {
  display: none !important;
}


/* =====================================================
   CHALLIS SCHOOL v1.0 RC — final production polish
   ===================================================== */

:root {
  --v10-ivory: #FBF7EE;
  --v10-oxford: #07101F;
  --v10-red: #A51922;
  --v10-gold: #B89B5E;
  --v10-warm-gray: #7A746B;
}

/* Header */
.header {
  background: var(--v10-ivory) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(184,155,94,.30) !important;
  box-shadow: 0 8px 28px rgba(7,16,31,.045) !important;
}

.header-inner {
  padding: 10px 0 !important;
}

.logo img {
  width: 212px !important;
  max-height: 70px !important;
}

.nav {
  gap: 20px !important;
}

.nav a {
  font-size: .72rem !important;
  letter-spacing: .105em !important;
}

.nav .nav-level-test {
  background: transparent !important;
  color: var(--v10-red) !important;
  border: 1px solid rgba(165,25,34,.75) !important;
  padding: 8px 13px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nav .nav-level-test:hover {
  background: var(--v10-red) !important;
  color: #fff !important;
}

/* Editorial translations */
.editorial-translation {
  display: block;
  margin-top: 9px;
  font-size: 65%;
  line-height: 1.45;
  color: var(--v10-warm-gray);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

.hero .editorial-translation,
.editorial-closing .editorial-translation,
.final-learning-quote .editorial-translation,
.premium-cta-band .editorial-translation,
.phase-full-bleed .editorial-translation,
.home-final-story .editorial-translation {
  color: rgba(255,255,255,.72);
}

/* Global rhythm */
.hero .lead {
  max-width: 720px;
}

.phase-section,
.story-block,
.premium-story {
  padding-top: 112px !important;
  padding-bottom: 112px !important;
}

.premium-intro,
.phase-editorial-quote {
  padding-top: 112px !important;
  padding-bottom: 112px !important;
}

.story-panel p,
.premium-panel p,
.phase-lux-panel p,
.phase-copy p {
  line-height: 1.72;
}

/* Cambridge level note */
.cambridge-level-note {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
  font-weight: 400;
}

/* Footer final */
.footer,
.footer-rc {
  background: var(--v10-oxford) !important;
  background-image: none !important;
  padding: 40px 0 22px !important;
  text-align: center !important;
  color: #f2f0ea;
}

.footer::before,
.footer-line,
.footer h3 {
  display: none !important;
}

.footer-rc-inner,
.footer .container {
  max-width: 1040px;
}

.footer-logo {
  width: 220px !important;
  max-height: 86px !important;
  margin: 0 auto 10px !important;
  display: block;
}

.footer-claim {
  margin: 0 auto 16px !important;
  color: rgba(242,240,234,.78) !important;
}

.footer-claim .editorial-translation {
  font-size: 62%;
  margin-top: 6px;
  color: rgba(242,240,234,.58);
}

.footer-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding: 15px 0;
  margin: 14px auto;
  border-top: 1px solid rgba(184,155,94,.28);
  border-bottom: 1px solid rgba(184,155,94,.28);
  max-width: 940px;
}

.footer-nav a {
  color: rgba(242,240,234,.84) !important;
  text-decoration: none;
  font-size: .86rem !important;
}

.footer-nav a:last-child {
  color: var(--gold2) !important;
  font-weight: 800;
}

.footer-contact p {
  margin: 0 0 8px !important;
  color: rgba(242,240,234,.72) !important;
}

.footer-contact a {
  color: rgba(242,240,234,.86) !important;
}

.footer-bottom {
  margin-top: 14px !important;
  padding-top: 10px !important;
  border-top: 0 !important;
  font-size: .86rem !important;
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(242,240,234,.56) !important;
}

.footer-legal {
  justify-content: center;
}

/* CTAs */
.btn {
  border-radius: 0 !important;
}

.level-test-box::after {
  content: "EVALUACIÓN INICIAL" !important;
}

/* Safety: avoid duplicated quote blocks */
.page-quote + .page-quote {
  display: none !important;
}

/* Better image behavior */
img {
  max-width: 100%;
}

img[loading="lazy"] {
  opacity: 1;
}

/* Mobile polish */
@media(max-width: 900px) {
  .nav {
    gap: 13px !important;
  }

  .nav a {
    font-size: .66rem !important;
  }
}

@media(max-width:720px){
  .phase-section,
  .story-block,
  .premium-story,
  .premium-intro,
  .phase-editorial-quote {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }

  .editorial-translation {
    font-size: 58%;
  }

  .footer,
  .footer-rc {
    padding: 34px 0 22px !important;
  }

  .footer-nav {
    flex-direction: column;
    gap: 7px;
  }
}
