/* Hallmark v2.0.0 — UpCampus v66 scoped polish | shape: B2B appointment-first | brand: existing navy/coral | signature: on-site Dubaï + Casablanca | genre: modern-minimal | preserve: v65 routes, photography, identity, copy intent */
/* Critique: legacy site.css retains earlier tracked-eyebrow and motion patterns; this scoped layer fixes only the three requested pages. No invented metrics or testimonials. */
:root {
  --v66-surface: #11233c;
  --v66-deep: #0b1727;
  --v66-border: #344b64;
  --v66-white: #f6f8fc;
  --v66-soft: #c6d4e2;
  --v66-quiet: #a9bed0;
  --v66-focus: #f6cf82;
  --v66-danger: #ffb1a8;
  --v66-okay: #9bdcc4;
  --v66-font: 'Segoe UI', Arial, Helvetica, sans-serif;
}
html,body { overflow-x: clip; }
.v66-context, .v66-audience-intro, .v66-form-context {
  font-family: var(--v66-font); font-size: .91rem; font-weight: 600;
  letter-spacing: normal; text-transform: none; color: var(--gold);
}
.hero.hero-v2 .hero-copy { min-width: 0; }
.hero.hero-v2 .hero-copy h1 { overflow-wrap: break-word; margin: 12px 0 16px; max-width: 17ch; line-height: 1.075; }
.hero.hero-v2 .hero-lead { max-width: 36rem; line-height: 1.53; color: var(--v66-soft); }
.v66-hero-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 23px; }
.v66-cta { font-size: .95rem; font-weight: 750; text-align: center; border-radius: 5px; padding: 14px 22px; }
.v66-secondary { color: var(--v66-white); font-family: var(--v66-font); font-size: .91rem; font-weight: 650; display: inline-flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--v66-border); padding: 10px 0; }
.v66-secondary:hover, .v66-secondary:focus-visible { color: var(--gold); border-bottom-color: var(--gold); }
.v66-audience-intro { margin: 28px 0 10px; color: var(--v66-quiet); font-weight: 500; }
.hero.hero-v2 .hero-shortcuts { margin: 0 0 0; gap: 10px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.hero.hero-v2 .shortcut-card { min-width: 0; min-height: 54px; padding: 12px 14px; }
.hero.hero-v2 .shortcut-card span:not(.arr) { overflow-wrap: break-word; }
.v66-cta-centered { display: flex; justify-content: center; margin: 18px 0 0; }
.v66-cta-centered .v66-cta { display: inline-flex; align-items: center; gap: 8px; }
.v66-regions { margin: 16px 0 0; font-size: .8rem; color: var(--v66-quiet); line-height: 1.5; }
/* Schools: decisive next action appears first; existing information architecture retained. */
.v66-school-actions { display: flex; align-items: center; gap: 14px 24px; flex-wrap: wrap; margin-top: 25px; }
.v66-school-cta { border-radius: 5px; font-weight: 750; }
.inner-hero.hero-v2 .v66-school-actions .v66-secondary { color: var(--v66-white); }
/* Contact: form before team; reduced visual interruption and decisive feedback states. */
.v66-contact-intro { max-width: 630px; margin: 40px 0 16px; color: var(--v66-soft); }
.v66-contact-intro p { margin-bottom: 0; }
.contact-form.v66-form { width: min(760px,100%); margin: 0 0 64px; border: 1px solid var(--v66-border); border-radius: 12px; padding: clamp(20px,3.8vw,42px); background: var(--v66-surface); }
.v66-form-context { margin: 0 0 8px; }
.v66-form .v66-form-intro { max-width: 530px; color: var(--v66-soft); margin: 0 0 25px; }
.v66-form .field label { color: var(--v66-white); }
.v66-form input:not([type=checkbox]), .v66-form textarea, .v66-form select { border-color: var(--v66-border); }
.v66-form .form-note a { text-decoration: underline; }
.v66-form .v66-submit { width: auto; min-width: 230px; }
.v66-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.v66-feedback { margin-top: 13px; border-radius: 6px; padding: 0; color: var(--v66-white); }
.v66-feedback.active { padding: 16px 18px; border: 1px solid var(--v66-border); background: var(--v66-deep); }
.v66-feedback.is-success { border-color: var(--v66-okay); }
.v66-feedback.is-error { border-color: var(--v66-danger); }
.v66-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.v66-team-after { margin-top: 15px; }
.v66-team-after .team-grid { margin-top: 22px; }
.v66-contact-steps { margin: 0 0 15px; font-size: .9rem; color: var(--v66-soft); }
.v66-cta:focus-visible, .v66-secondary:focus-visible, .v66-school-cta:focus-visible, .v66-form input:focus-visible, .v66-form select:focus-visible, .v66-form textarea:focus-visible, .v66-form button:focus-visible { outline: 3px solid var(--v66-focus); outline-offset: 3px; transition: none; }
@media(max-width:950px) {
  .hero.hero-v2 .hero-copy { padding-right: 0; }
  .hero.hero-v2 .hero-copy h1 { max-width: 17ch; }
  .hero.hero-v2 .v66-audience-intro { margin-top: 21px; }
  .hero.hero-v2 .shortcut-card { min-height: 50px; }
}
@media(max-width:700px) {
  .hero.hero-v2 { padding: 22px 0 21px; }
  .hero.hero-v2 .hero-copy h1 { font-size: clamp(2rem,8.5vw,2.375rem) !important; margin: 9px 0 12px; max-width: 17ch; }
  .hero.hero-v2 .hero-lead { font-size: .98rem; line-height: 1.5; }
  .v66-hero-actions { margin-top: 17px; gap: 10px; }
  .v66-hero-actions .v66-cta { width: 100%; min-height: 50px; padding: 12px 14px; }
  .v66-hero-actions .v66-secondary { display: none; }
  .hero.hero-v2 .hero-shortcuts { gap: 8px; }
  .hero.hero-v2 .shortcut-card { padding: 9px 10px; min-height: 49px; }
  .hero.hero-v2 .hero-art { height: 235px; margin-top: 16px; }
  .hero.hero-v2 .hero-art .art-main { height: 78%; }
  .hero.hero-v2 .hero-art .hero-photo-bottom { height: 43%; }
  .v66-cta-centered { display: flex; justify-content: center; margin: 18px 0 0; }
.v66-cta-centered .v66-cta { display: inline-flex; align-items: center; gap: 8px; }
.v66-regions { margin-top: 11px; }
  .v66-school-actions .v66-school-cta { width: 100%; text-align: center; }
  .v66-school-actions { gap: 9px 18px; }
  .v66-contact-intro { margin-top: 27px; }
  .v66-form .v66-submit { width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
  .v66-cta,.v66-secondary,.v66-school-cta,.v66-submit { transition: none; animation: none; }
}

/* Contact page: shorten time to choosing a channel or starting a request. */
#view-contact .inner-hero { padding-top: 46px; padding-bottom: 34px; }
#view-contact .inner-hero h1 { margin-top: 11px; margin-bottom: 13px; }
#view-contact .contact-direct { margin-bottom: 13px; }
#view-contact .contact-direct-card { padding: 17px 19px; }
#view-contact .contact-direct-card h3 { font-size: 1.04rem; margin: 7px 0 0; }
#view-contact .contact-direct-card .overline { letter-spacing: normal; text-transform: none; font-size: .8rem; }
#view-contact .contact-email-line { margin-bottom: 24px; }
#view-contact .v66-contact-intro { margin-top: 19px; }
@media(max-width:700px) {
  #view-contact .inner-hero { padding: 29px 0 22px; }
  #view-contact .contact-direct-card { padding: 14px 17px; }
  #view-contact .contact-direct-card h3 { line-height: 1.3; }
  #view-contact .content-band { padding-top: 38px; }
}
