/* Ashwazep original-design finishing pass (no new visual system) */
:root {
  --brand-navy: #173d73;
  --brand-navy-dark: #113159;
  --brand-red: #b91c1c;
  --body-ink: #273344;
  --soft-border: #e4e9ef;
  color-scheme: light;
}
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: #f8fafc;
  color: var(--body-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
img { max-width: 100%; }
a { text-underline-offset: 3px; }
a, button { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #e0a331 !important; outline-offset: 3px; }
[hidden] { display: none !important; }
.bg-blue-900 { background-color: var(--brand-navy); }
.text-blue-900 { color: var(--brand-navy); }
.bg-red-700 { background-color: var(--brand-red); }
.text-red-700 { color: var(--brand-red); }
.border-red-700 { border-color: var(--brand-red); }
.container { width: 100%; max-width: 1216px; }

/* Original upper information strip */
.site-topbar { background-color: var(--brand-navy-dark); }
.site-topbar a { color: #fff; text-decoration: none; }
.site-topbar a:hover, .site-footer a:hover { text-decoration: underline; }
.topbar-inner { min-height: 34px; gap: 12px; }
.topbar-contacts { flex-wrap: wrap; gap: 14px; }
.topbar-login { display: flex; flex-wrap: wrap; gap: 22px; color: #e0e8f5; font-size: 13px; }
.topbar-login span { opacity: .86; cursor: default; }

/* Original white navigation. Only spacing and a straightforward mobile drawer change. */
.site-header { z-index: 60; box-shadow: 0 2px 12px rgba(17,49,89,.09); }
.header-inner { min-height: 68px; }
.site-logo { font-size: clamp(23px, 2.5vw, 30px); letter-spacing: .045em; line-height: 1.1; text-decoration: none; }
.site-logo:hover { color: #97191c; }
.site-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 27px); }
.site-nav.space-x-6 > :not(:first-child) { margin-left: 0; }
.nav-link { display: inline-flex; padding: 9px 0; font-size: 15.5px; position: relative; text-decoration: none; color: #293549; transition: color .2s ease; }
.nav-link::after { content: ''; position: absolute; bottom: 5px; left: 0; height: 2px; width: 0; background-color: var(--brand-red); transition: width .2s ease; }
.nav-link:hover, .nav-active { color: var(--brand-red) !important; }
.nav-link:hover::after, .nav-active::after { width: 100%; }
.mobile-menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--soft-border); border-radius: 8px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; background: white; }
.mobile-menu-toggle span { display: block; width: 20px; height: 2px; background: var(--brand-navy); border-radius: 2px; }

/* Simple banner slider, same photo banners and centered message as original */
.hero-slider { height: clamp(420px, 42vw, 580px); }
.hero-slide { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s ease, visibility .7s ease; }
.hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.hero-photo { opacity: .61; object-position: center 44%; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,19,42,.45),rgba(7,19,42,.22) 50%,rgba(7,19,42,.45)); }
.hero-content { max-width: 1030px; margin: auto; z-index: 1; }
.hero-content h1, .hero-content h2 {
  font-size: clamp(31px, 4.5vw, 55px);
  line-height: 1.16;
  letter-spacing: -.025em;
  max-width: 960px;
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(0,0,0,.4);
  margin-bottom: 20px;
}
.hero-content p {
  font-size: clamp(17px,2vw,23px);
  color: #f4f7fc;
  line-height: 1.5;
  margin-bottom: 30px;
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
}
.primary-cta, .secondary-cta, .contact-submit {
  text-decoration: none;
  text-align: center;
  box-shadow: 0 5px 13px rgba(125,22,26,.17);
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.primary-cta { background: var(--brand-red); color: #fff; }
.primary-cta:hover { background: #991b1b; color: #fff; box-shadow: 0 7px 17px rgba(125,22,26,.24); transform: translateY(-1px); }
.secondary-cta:hover { background: var(--brand-red); color: white; }
.hero-content .primary-cta { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; }
.hero-dots { position: absolute; z-index: 2; bottom: 20px; left: 0; right: 0; display: flex; align-items: center; justify-content: center; gap: 10px; }
.hero-dot { display: block; width: 11px; height: 11px; border: 2px solid rgba(255,255,255,.95); background: transparent; border-radius: 50%; padding: 0; transition: background .2s ease; }
.hero-dot.is-active { background: white; }

/* The same four boxes with softened borders and shadows */
.benefit-section { padding-block: 55px; }
.benefit-grid { gap: 20px; }
.benefit-card { min-width: 0; border: 1px solid var(--soft-border); background: #fbfcfe; box-shadow: 0 3px 13px rgba(23,61,115,.045); border-radius: 12px; padding: 26px 16px; transition: box-shadow .2s ease; }
.benefit-card:hover { box-shadow: 0 7px 17px rgba(23,61,115,.10); }
.benefit-card h3 { line-height: 1.3; font-size: 19px; }
.benefit-card p { font-size: 15px; line-height: 1.55; }

/* Same alternating large opportunities cards as before */
.opportunities-section { max-width: 1216px; }
.opportunities-section > .text-center:first-child { margin-bottom: 46px; }
.opportunities-section h2 { font-size: clamp(29px, 3vw, 38px); }
.opportunity-card { border: 1px solid #e6eaf1; border-radius: 14px; box-shadow: 0 7px 24px rgba(18,41,70,.065); margin-bottom: 36px; min-height: 340px; transition: box-shadow .2s ease; }
.opportunity-card:hover { box-shadow: 0 10px 27px rgba(18,41,70,.1); }
.opportunity-gallery { min-height: 335px; overflow: hidden; background: #e7edf3; }
.gallery-image { opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.gallery-image.is-active { opacity: 1; visibility: visible; }
.gallery-controls { pointer-events: none; }
.gallery-button { pointer-events: auto; background: rgba(18,32,53,.70); font-size: 19px; }
.gallery-button:hover { background: var(--brand-red); }
.opportunity-content { padding: clamp(25px, 4vw, 48px); }
.opportunity-content h3 { font-size: clamp(23px, 2.65vw, 31px); line-height: 1.24; overflow-wrap: anywhere; }
.opportunity-content p { font-size: 17px; line-height: 1.7; }
.opportunity-content .primary-cta { max-width: 100%; line-height: 1.35; }

/* Original solid-navy internal-page header, just a touch more compact */
.page-banner, main > div.bg-blue-900 { background-color: var(--brand-navy); padding-top: 57px; padding-bottom: 57px; }
.page-banner h1, main > div.bg-blue-900 h1 { font-size: clamp(31px, 4vw, 45px); line-height: 1.2; padding-inline: 8px; }
.page-banner p, main > div.bg-blue-900 p { font-size: clamp(17px, 1.85vw, 20px); color: #deebff; line-height: 1.5; }
main h2, main h3 { line-height: 1.3; }
/* Retain about page's original image/text split and its two mission/vision cards. */
main > .container .shadow-2xl, .contact-form-card { box-shadow: 0 7px 26px rgba(25,46,78,.09); }
main > .container .shadow-lg { box-shadow: 0 5px 19px rgba(25,46,78,.065); }
main > .container .rounded-2xl { border-radius: 14px; }

/* Same three-category tab strip and role card grid */
.services-section { max-width: 1216px; }
.service-tabs { gap: 14px; margin-bottom: 30px; }
.service-tab { background: white; color: #384453; border-color: var(--brand-red); border-width: 1.5px; box-shadow: 0 3px 10px rgba(22,41,71,.04); padding: 12px 24px; font-size: 17px; min-height: 49px; }
.service-tab:hover { background: #fff6f6; }
.service-tab.is-active { background: var(--brand-red); color: #fff; box-shadow: 0 5px 13px rgba(130,20,30,.14); }
.service-tab.is-active:hover { background: #9f1b1e; }
.category-heading { font-size: clamp(22px, 2.5vw, 29px); margin-top: 30px; overflow-wrap: anywhere; }
.job-card { display: flex; flex-direction: column; border: 1px solid var(--soft-border); min-height: 100%; box-shadow: 0 5px 17px rgba(23,45,71,.06); }
.job-card:hover { border-color: #d3dae7; box-shadow: 0 9px 21px rgba(23,45,71,.11); }
.job-card h3 { font-size: 19px; line-height: 1.35; overflow-wrap: anywhere; }
.job-card p { font-size: 15px; line-height: 1.6; flex: 1; }
.job-card .job-apply { align-self: flex-start; display: inline-block; padding: 6px 0; font-size: 16px; }
.job-card .job-apply:hover { text-decoration: underline; }
.job-image img { transition: transform .3s ease; }
.job-card:hover .job-image img { transform: scale(1.025); }

/* FAQ: native accessible details/summary in the same original boxes */
.faq-item { border: 1px solid var(--soft-border); border-radius: 10px; }
.faq-question { cursor: pointer; list-style: none; gap: 14px; min-height: 72px; font-size: 18px; }
.faq-question::-webkit-details-marker { display: none; }
.faq-question:hover { background: #fbfcfd; }
.faq-plus { flex: none; font-size: 26px; font-weight: 400; }
.faq-item[open] .faq-plus { color: var(--brand-red); font-size: 0; }
.faq-item[open] .faq-plus::after { content: '−'; font-size: 26px; }
.faq-answer { font-size: 17px; }

/* Contact: same 2-column form and information cards, with clearer fields */
.contact-form-card h2 { margin-bottom: 13px; }
.contact-explainer { color: #5b6675; font-size: 15px; margin: 0 0 28px; }
.contact-form-card input, .contact-form-card textarea { font-size: 16px; background: white; outline: none; border: 1px solid #bec8d4; border-radius: 8px; }
.contact-form-card input:focus, .contact-form-card textarea:focus { border-color: var(--brand-navy); box-shadow: 0 0 0 3px rgba(23,61,115,.12); }
.contact-submit { background: var(--brand-navy); box-shadow: 0 5px 14px rgba(23,61,115,.12); }
.contact-submit:hover { background: var(--brand-navy-dark); }
.contact-note { color: #637084; font-size: 13px; line-height: 1.55; margin-top: 12px; }
.contact-info-card { border-radius: 10px; }
.contact-info-card a { color: var(--brand-navy); }
.contact-info-card a:hover { text-decoration: underline; }
.contact-map-label { display: block; text-decoration: none; color: #223044; }
.map-link-text { font-size: 14px; font-weight: 600; color: var(--brand-red); }

/* Original navy/red footer with readable link spacing */
.site-footer { background: #172333; border-top-color: var(--brand-red); margin-top: 58px; }
.site-footer .container { gap: 35px; }
.site-footer a { color: #d7dfeb; }
.site-footer p, .site-footer li { line-height: 1.65; }
.site-footer h3 { line-height: 1.25; }

/* Gentle one-time scroll appearance. Content stays visible if JS does not load. */
.reveal-ready { opacity: 1; transform: translateY(8px); transition: transform .4s ease; }
.reveal-ready.is-visible { opacity: 1; transform: translateY(0); }

@media (min-width: 768px) and (max-width: 1023px) {
  .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-nav { gap: 13px; }
  .site-logo { font-size: 24px; }
  .nav-link { font-size: 14px; }
  .opportunity-gallery { min-height: 310px; }
  .opportunity-content { padding: 24px; }
  .opportunity-content .primary-cta { padding: 11px 17px; }
  .contact-section > .flex { flex-direction: column; }
  .contact-section .md\:w-1\/2 { width: 100%; }
}
@media (max-width: 767px) {
  html { scroll-behavior: auto; }
  .site-topbar { font-size: 12px; }
  .topbar-inner { align-items: flex-start; }
  .topbar-contacts { display: flex; gap: 4px; flex-direction: column; }
  .topbar-phone { display: inline-block; }
  .topbar-login { display: flex; gap: 5px; flex-direction: column; font-size: 11px; text-align: right; padding-top: 2px; }
  .header-inner { position: relative; min-height: 58px; padding-block: 10px; }
  .site-logo { font-size: 24px; }
  .mobile-menu-toggle { display: flex; }
  .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-top: 1px solid var(--soft-border); box-shadow: 0 10px 18px rgba(16,37,63,.1); padding: 10px 20px 15px; z-index: 75; }
  .site-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav a { padding: 12px 4px; font-size: 16px; border-bottom: 1px solid #edf0f3; }
  .site-nav a:last-child { border-bottom: 0; }
  .site-nav .nav-link::after { display: none; }
  .hero-slider { height: 430px; }
  .hero-content { padding: 22px 20px 46px; }
  .hero-content h1, .hero-content h2 { font-size: clamp(28px, 7vw, 37px); margin-bottom: 16px; }
  .hero-content p { font-size: 17px; line-height: 1.5; margin-bottom: 22px; }
  .hero-content .primary-cta { font-size: 16px; padding: 11px 26px; }
  .benefit-section { padding-block: 35px; }
  .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .benefit-card { padding: 19px 10px; }
  .benefit-card .text-5xl { font-size: 35px; margin-bottom: 9px; }
  .benefit-card h3 { font-size: 16px; }
  .benefit-card p { font-size: 14px; }
  .opportunities-section { padding-block: 40px; }
  .opportunities-section > .text-center:first-child { margin-bottom: 30px; }
  .opportunities-section h2 { font-size: 29px; }
  .opportunities-section > .text-center p { font-size: 16px; }
  .opportunity-card { margin-bottom: 24px; }
  .opportunity-gallery { height: 235px; min-height: 235px; }
  .gallery-controls { padding-inline: 10px; }
  .gallery-button { width: 40px; height: 40px; }
  .opportunity-content { width: 100%; padding: 24px 20px 28px; }
  .opportunity-content h3 { font-size: 24px; }
  .opportunity-content p { font-size: 16px; margin-bottom: 22px; }
  .opportunity-content .primary-cta { font-size: 15px; padding: 11px 18px; }
  .page-banner, main > div.bg-blue-900 { padding: 42px 8px; }
  .page-banner h1, main > div.bg-blue-900 h1 { font-size: 30px; }
  .page-banner p, main > div.bg-blue-900 p { font-size: 16px; }
  .services-section { padding-top: 30px; }
  .service-tabs { gap: 9px; }
  .service-tab { width: 100%; font-size: 16px; text-align: center; padding: 11px 12px; }
  .category-heading { font-size: 23px; }
  .job-card { padding: 18px; }
  .faq-section, .contact-section { padding-block: 36px; }
  .faq-section .space-y-6 > * + * { margin-top: 12px; }
  .faq-question { padding: 18px 17px; font-size: 16px; }
  .faq-answer { padding: 18px 17px; font-size: 16px; }
  .contact-section > .flex { gap: 26px; }
  .contact-form-card { padding: 23px 20px; }
  .contact-form-card h2 { font-size: 24px; }
  .contact-info-card { padding: 22px 19px; }
  .contact-info-card h3 { font-size: 21px; }
  .contact-info-card p { font-size: 16px; overflow-wrap: anywhere; }
  .contact-map { height: 205px; }
  .site-footer { padding-top: 40px; margin-top: 36px; }
  .site-footer .container { gap: 26px; }
  /* Finish the original About Us two-column card without changing its hierarchy. */
  main > .container .md\:p-16 { padding: 23px; }
  main > .container .p-10 { padding: 23px; }
  main > .container .text-3xl { font-size: 25px; }
  main > .container .text-2xl { font-size: 21px; }
  main > .container p.text-lg { font-size: 16px; }
}
@media (max-width: 380px) {
  .benefit-grid { grid-template-columns: 1fr; }
  .hero-slider { height: 400px; }
  .topbar-login { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal-ready { opacity: 1; transform: none; }
}


/* About page: clear, familiar two-column design. Scoped to avoid changing other pages. */
.about-wrap{width:min(100% - 40px,1160px);margin-inline:auto}
.about-intro{background:var(--brand-navy,#173d73);color:#fff;text-align:center;padding:47px 16px 49px}
.about-intro-inner{max-width:780px}
.about-intro h1{color:#fff;font-size:clamp(32px,3.1vw,43px);font-weight:750;line-height:1.18;margin:0 0 13px;letter-spacing:-.02em}
.about-intro p{color:#e6edf8;font-size:clamp(16px,1.55vw,19px);line-height:1.55;margin:0}
.about-section{padding:54px 0 45px;background:#f8fafc}
.about-story-card{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);background:white;border:1px solid #e2e7ee;border-radius:13px;box-shadow:0 7px 23px rgba(17,40,67,.07);overflow:hidden}
.about-photo{min-height:400px;overflow:hidden;background:#d7e0e9}
.about-photo img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;object-position:center center;max-width:none}
.about-story-content{align-self:center;min-width:0;padding:clamp(25px,3.4vw,46px)}
.about-kicker{display:block;color:var(--brand-red,#b91c1c);font-size:13px;font-weight:750;letter-spacing:.12em;margin-bottom:12px}
.about-story-content h2{color:var(--brand-navy,#173d73);font-size:clamp(26px,2.6vw,34px);font-weight:750;line-height:1.25;margin:0 0 14px;letter-spacing:-.015em}
.about-red-line{width:56px;height:3px;border-radius:5px;background:#b91c1c;margin:0 0 22px}
.about-story-content p{font-size:16px;line-height:1.75;color:#465466;margin:0 0 17px}
.about-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 23px;border-radius:7px;background:var(--brand-red,#b91c1c);color:white!important;text-decoration:none!important;font-weight:700;font-size:15px;line-height:1.3;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;max-width:100%;text-align:center}
.about-button:hover{background:#97191c;box-shadow:0 5px 13px rgba(135,33,38,.17);transform:translateY(-1px)}
.about-values{padding:13px 0 50px;background:#f8fafc}
.about-section-title{text-align:center;max-width:760px;margin:0 auto 28px}
.about-section-title h2{font-size:clamp(26px,2.8vw,33px);color:var(--brand-navy,#173d73);font-weight:750;line-height:1.25;margin:0 0 8px}
.about-section-title p{font-size:16px;line-height:1.6;color:#607082;margin:0}
.about-values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.about-value-card{background:white;border:1px solid #e5eaf0;border-top:4px solid #b91c1c;border-radius:10px;padding:26px 29px 29px;box-shadow:0 4px 15px rgba(19,42,74,.045)}
.about-value-card:nth-child(2){border-top-color:var(--brand-navy,#173d73)}
.about-value-icon{display:inline-flex;width:41px;height:41px;align-items:center;justify-content:center;border-radius:10px;background:#fce9e9;color:#b91c1c;font-size:23px;margin-bottom:12px}
.about-value-icon-blue{color:#173d73;background:#e9eff8}
.about-value-card h3{font-size:23px;color:#24364d;line-height:1.3;font-weight:750;margin:0 0 10px}
.about-value-card p{font-size:16px;line-height:1.65;color:#536172;margin:0}
.about-bottom{background:#eef3f9;border-top:1px solid #e1e8f0;padding:28px 0}
.about-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.about-bottom h2{font-size:22px;font-weight:750;line-height:1.3;color:#1e3453;margin:0 0 5px}
.about-bottom p{font-size:15px;color:#526479;margin:0}
.about-bottom-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.about-button-outline{background:white;color:var(--brand-navy,#173d73)!important;border:1px solid #b8c7d9}
.about-button-outline:hover{background:#f9fbfe}
@media(max-width:850px){.about-story-card{grid-template-columns:minmax(0,43%) minmax(0,57%)}.about-story-content{padding:26px}.about-story-content p{font-size:15px}.about-photo,.about-photo img{min-height:400px}.about-bottom-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.about-wrap{width:min(100% - 30px,1160px)}.about-intro{padding:35px 14px 37px}.about-section{padding:26px 0 33px}.about-story-card{grid-template-columns:1fr}.about-photo{height:220px;min-height:0}.about-photo img{min-height:0;height:220px;width:100%}.about-story-content{padding:24px 20px 25px}.about-story-content h2{font-size:26px}.about-story-content p{font-size:16px;line-height:1.65}.about-values{padding:0 0 34px}.about-values-grid{grid-template-columns:1fr;gap:13px}.about-value-card{padding:21px 20px}.about-value-card h3{font-size:21px}.about-section-title{margin-bottom:20px}.about-bottom{padding:24px 0}.about-bottom h2{font-size:21px}.about-bottom-actions{width:100%}.about-bottom-actions .about-button{flex:1}}
@media(prefers-reduced-motion:reduce){.about-button{transition:none}.about-button:hover{transform:none}}


/* Simple, always-readable Candidate / Franchise portal buttons. */
.topbar-login a { opacity:.95; color:#fff; text-decoration:none; padding:4px 0; }
.topbar-login a:hover { text-decoration:underline; }
.portal-nav { display:flex; gap:8px; align-items:center; padding-left:4px; }
.portal-button { display:inline-flex; justify-content:center; align-items:center; min-height:38px; padding:8px 12px; border-radius:7px; font-size:13px; font-weight:700; white-space:nowrap; text-decoration:none; line-height:1.3; border:1px solid #b5c7db; transition:background-color .18s ease,box-shadow .18s ease; }
.site-nav .portal-button::after { display:none; }
.portal-candidate { background:#f6f9fd; color:#173d73; }
.portal-candidate:hover { background:#e8f1fb; color:#173d73; }
.portal-franchise { background:#b91c1c; color:#fff; border-color:#b91c1c; }
.portal-franchise:hover { background:#991b1b; color:#fff; }
@media(min-width:1100px){
  .site-nav { gap:clamp(12px,1.45vw,22px); }
  .nav-link { font-size:14px; }
  .site-logo { font-size:clamp(22px,2.2vw,28px); }
  .portal-button { font-size:12px; padding-inline:10px; }
  .header-inner { gap:12px; }
}
/* Tablet gets the same uncluttered menu as mobile rather than squeezed links. */
@media(min-width:768px) and (max-width:1099px){
  .header-inner { position:relative; min-height:62px; }
  .mobile-menu-toggle { display:flex; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:11px 18px 18px; background:#fff; border-top:1px solid var(--soft-border); box-shadow:0 10px 18px rgba(16,37,63,.1); z-index:75; }
  .site-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .site-nav .nav-link { padding:12px 5px; font-size:16px; border-bottom:1px solid #edf0f3; }
  .site-nav .nav-link::after { display:none; }
  .topbar-login { display:none; }
}
@media(max-width:1099px){
  .portal-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px 0 0; gap:9px; }
  .portal-button { font-size:15px; width:100%; padding:11px 9px; min-height:46px; border-radius:7px; }
  .site-nav .portal-button { border-bottom:1px solid #b5c7db; }
  .site-nav .portal-franchise { border-color:#b91c1c; }
}
@media(max-width:767px){
  .topbar-login { display:none; }
  .portal-nav { grid-template-columns:1fr; padding-top:12px; }
}


/* Contact form: small responsive, searchable State / District controls. */
.contact-location-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.contact-form-card .contact-select { display:block; width:100%; min-width:0; min-height:54px; font:inherit; font-size:16px; background:#fff; outline:none; border:1px solid #bec8d4; border-radius:8px; }
.contact-form-card .contact-select:focus { border-color:var(--brand-navy); box-shadow:0 0 0 3px rgba(23,61,115,.12); }
.contact-form-card .contact-select:disabled { background:#f3f5f8; color:#667384; cursor:not-allowed; }
.contact-location-status { margin-top:-17px; color:#5b6675; font-size:13px; line-height:1.55; }
.contact-location-retry { margin-top:-12px; color:var(--brand-red); font-size:13px; font-weight:700; text-decoration:underline; }
.contact-location-retry[hidden] { display:none; }
.contact-location-error { color:#b91c1c; font-size:13px; font-weight:600; min-height:0; }
.contact-location-error:empty { display:none; }
.contact-form-card .ss-main { min-width:0; width:100%; min-height:54px; padding:10px 13px; border:1px solid #bec8d4; border-radius:8px; background:#fff; font-size:16px; box-shadow:none; }
.contact-form-card .ss-main:focus-within { border-color:var(--brand-navy); box-shadow:0 0 0 3px rgba(23,61,115,.12); }
.contact-form-card .ss-main.ss-disabled { background:#f3f5f8; }
.contact-form-card .ss-main .ss-values .ss-single { font-size:15px; text-overflow:ellipsis; overflow:hidden; }
.ss-content .ss-search input { font-size:16px; }
@media(max-width:600px) { .contact-location-grid { grid-template-columns:1fr; gap:19px; } }
