/* UPTU V3 — official approved identity: coral #FF4F4F, purple #8C51A1, black.
   This layer deliberately follows V1/V2 rules; admin can still change primary/accent
   in Site Settings. Keep this file after site-v2.css in includes/public_layout.php. */
:root {
  --brand: #FF4F4F;
  --accent: #8C51A1;
  --ink: #171419;
  --muted: #625b67;
  --pale: #fbf7fb;
  --line: #ece5ef;
  --white: #fff;
  --shadow: 0 18px 50px rgba(34, 20, 37, .09);
  --dark: #171419;
  --purple-soft: #f4eafa;
  --coral-soft: #fff0ef;
}
html { accent-color: var(--accent); }
body { color: var(--ink); background: #fff; }
a:hover { color: var(--accent); }
*:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
h1,h2,h3,h4 { color: var(--ink); }
.topbar { background: #171419; color: #f3eaf3; border-bottom: 2px solid var(--accent); }
.topbar-text:before { color: var(--brand); }
.topbar-links a:hover { color: #ffc8c8; }
.site-header { background: #fff; box-shadow: 0 4px 22px rgba(25, 13, 24, .075); border-bottom: 1px solid #f1eaf0; }
.nav-wrap { min-height: 98px; gap: 16px; }
.brand { flex: 0 0 auto; min-width: 0; }
.brand-logo.brand-wordmark { width: 249px; height: auto; max-height: 76px; object-fit: contain; object-position: left center; }
.brand-name { display: none; } /* the supplied official wordmark already reads UPTU */
.main-nav { gap: 18px; }
.main-nav>a:not(.btn),.nav-dropdown>button { color: #211b24; font-weight: 800; }
.main-nav>a:not(.btn):after,.nav-dropdown>button:after { background: var(--accent); }
.main-nav a:hover,.nav-dropdown button:hover { color: var(--accent); }
.dropdown-menu { border: 1px solid #efe6f0; border-top: 3px solid var(--accent); box-shadow: 0 22px 52px #2517271d; }
.btn { border-radius: 9px; }
.btn-small,.nav-cta { background: var(--brand); color: #181418 !important; border-color: var(--brand); box-shadow: 0 8px 22px rgba(255,79,79,.17); }
.btn-small:hover,.nav-cta:hover { background: #ff7676; border-color: #ff7676; color: #181418 !important; }
.btn-accent { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-accent:hover { background: #753e8b; border-color: #753e8b; color: #fff; }
.btn-white { background: #fff; color: #251a2b; border-color: #fff; }
.btn-white:hover { background: #f8edf9; color: #251a2b; }
.btn-outline { border-color: var(--accent); color: var(--accent); }
.btn-outline:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-outline-light:hover { color: #241628; }
.hero { background: #1a141b; }
.hero-image { background: linear-gradient(135deg,#29192f,#181318); }
.hero-shade { background: linear-gradient(90deg,rgba(16,12,17,.98) 0%,rgba(24,16,26,.96) 36%,rgba(40,23,43,.69) 69%,rgba(17,13,18,.27) 100%); }
.hero-slide.active .hero-image { filter: saturate(.93); }
.hero-kicker { color: #f4d9f7; }
.hero-kicker:before { background: var(--brand); }
.hero-content h1 { color: #fff; }
.hero-content p { color: #f4e9f3; }
.hero-highlights { color: #f6eaf7; }
.hero-stamp { border-left: 5px solid var(--brand); color: #241828; box-shadow: 0 22px 48px #120e1433; }
.hero-stamp strong { color: var(--accent); }
.hero-stamp span { color: #655b68; }
.hero-dot.active { background: var(--brand); }
.hero-arrows button:hover { color: #231826; }
.trust-strip { border-bottom: 1px solid var(--line); box-shadow: 0 14px 36px rgba(35,21,35,.05); }
.trust-grid strong { color: #1b151d; }
.trust-grid>div:before { background: var(--brand); }
.section-pale { background: #fcf8fc; }
.intro-photo::before { background: #f3e7f3; }
.intro-photo:after { background: var(--brand); }
.photo-note { border-top: 4px solid var(--brand); }
.photo-note-icon { background: var(--purple-soft); color: var(--accent); }
.eyebrow { color: var(--accent); }
.eyebrow-light { color: #f9d7fa; }
.check-item { color: #29212b; }
.check-item span { background: #f2e7f6; color: var(--accent); }
.section-intro>p, .intro-copy>p { color: #655d68; }
.feature-card,.news-card { border-color: #f0e7f0; box-shadow: 0 12px 42px #2213240b; }
.feature-card:hover,.news-card:hover { box-shadow: 0 24px 55px #26162923; }
.feature-image:after { background: var(--brand); }
.card-kicker { color: #79438d; }
.card-arrow { background: #f2e5f6; color: #6c397f; }
.card-arrow:hover { background: var(--accent); color: #fff; }
.value-card { background: #faf6fb; border-color: #eee2f1; }
.value-card:after { border-color: #f0e8f2; }
.value-card:nth-child(2) { background: linear-gradient(145deg,#7b438f,#43204d); color: #fff; }
.value-card:nth-child(2) h3 { color: #fff; }
.value-card:nth-child(2) p { color: #f4e4f7; }
.value-card:nth-child(2):after { border-color: #ffffff14; }
.value-icon { color: var(--accent); box-shadow: 0 8px 18px #3c224414; }
.cta-strip { background: linear-gradient(110deg,#171319 0%,#44204c 54%,#8c51a1 100%); }
.cta-strip:before { background: radial-gradient(circle at 80% 25%,#ff4f4f38,transparent 40%); }
.cta-inner h2 { color: #fff; }
.cta-inner p { color: #f5e8f6; }
.page-banner { background: linear-gradient(115deg,#171319 0%,#44214e 60%,#78418b 100%); }
.page-banner::after { border-color: #ffffff0b; }
.page-banner-desc { color: #f3e4f4; }
.breadcrumbs { color: #efe0f0; }
.breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.aside-card { border-color: #eee5ef; }
.leader-card { border-color: #eee4ef; box-shadow: 0 9px 28px #2517280b; }
.contact-method>span { background: #f3e8f6; color: var(--accent); }
.form-card { box-shadow: 0 24px 65px #2e19310f; }
.form-card input:focus,.form-card textarea:focus,.form-card select:focus { border-color: var(--accent); }
.partner-logo { border-color: #eee6ef; }
.image-placeholder { background: linear-gradient(135deg,#ead7f0,#9463a3); color: #fff; }
.site-footer { background: #161218; color: #e9dfea; border-top: 5px solid var(--accent); }
.footer-grid h3 { color: #fff; }
.footer-brand { display: inline-flex; background: #fff; padding: 9px 12px; border-radius: 10px; }
.footer-brand .footer-logo { width: 215px; height: auto; max-height: 65px; object-fit: contain; }
.site-footer p,.site-footer li,.site-footer a:not(.btn) { color: #d4c9d8; }
.site-footer a:hover { color: #fff; }
.footer-bottom { border-top-color: #ffffff23; }
.union-label { color: #f5a9e6; }
@media(max-width:1190px) {
  .main-nav { gap: 12px; }
  .brand-logo.brand-wordmark { width: 225px; }
}
@media(max-width:1100px) {
  .nav-wrap { min-height: 86px; }
  .main-nav { gap: 0; border-top: 3px solid var(--accent); }
  .main-nav>a:not(.btn),.nav-dropdown>button { color: #211b24; }
  .nav-toggle { color: #211b24; border-color: #e9deec; background: #fbf7fb; }
  .hero-shade { background: linear-gradient(90deg,rgba(18,13,19,.97),rgba(32,17,35,.8)); }
}
@media(max-width:640px) {
  .nav-wrap { min-height: 75px; }
  .brand-logo.brand-wordmark { width: clamp(176px,58vw,230px); max-height: 65px; }
  .site-footer { border-top-width: 4px; }
  .footer-brand .footer-logo { width: 205px; }
  .hero-content h1 { text-wrap: pretty; }
  .hero-highlights { color: #f7e7f7; }
  .page-banner { padding-top: 70px; padding-bottom: 66px; }
}
