/* Step 1: public-facing brand foundation. Loaded after the compiled utility stylesheet. */
.step1-shell {
  --color-brand-50: #eaf8f5;
  --color-brand-100: #d6f1eb;
  --color-brand-200: #abe1d6;
  --color-brand-300: #74c9ba;
  --color-brand-400: #3ba99a;
  --color-brand-500: #188e83;
  --color-brand-600: #0f766e;
  --color-brand-700: #115e59;
  --color-brand-800: #134e4a;
  --color-brand-900: #123d3b;
  --color-brand-950: #0b2929;
  --color-navy-50: #eef2ff;
  --color-navy-100: #e0e7ff;
  --color-navy-200: #c7d2fe;
  --color-navy-300: #a5b4fc;
  --color-navy-400: #818cf8;
  --color-navy-500: #6366f1;
  --color-navy-600: #4f46e5;
  --color-navy-700: #3730a3;
  --color-navy-800: #172554;
  --color-navy-900: #111c44;
  --color-navy-950: #0b1231;
  --color-accent-50: #f1f5ff;
  --color-accent-100: #e0e7ff;
  --color-accent-200: #c7d2fe;
  --color-accent-300: #a5b4fc;
  --color-accent-400: #a5b4fc;
  --color-accent-500: #818cf8;
  --color-accent-600: #6366f1;
  --color-accent-700: #4338ca;
  background-color: #f7f9fd;
  color: #18243e;
}
.step1-shell :is(a, button, input, select, textarea):focus-visible { outline: 2px solid #0f766e; outline-offset: 3px; }
.step1-shell :is(input, select, textarea) { color: #172554; }
.step1-shell :is(input, select, textarea)::placeholder { color: #64748b; }
.step1-header { box-shadow: 0 1px 12px rgba(23,37,84,.045); border-color: #e3eaf4; }
.step1-header .v2-navlink { color: #273650; }
.step1-header .v2-navlink:hover { color: #0f766e; }
.step1-header .step1-whatsapp { background: #e6f6f2; color: #0f766e; }
.step1-header .site-container { max-width: 1680px; }
.step1-main-nav { gap: .1rem; }
.step1-nav-tab { display: inline-flex; min-height: 68px; align-items: center; gap: .38rem; padding: 0 .3rem 0 .65rem; border-bottom: 2px solid transparent; color: #263550; font-size: 12.5px; font-weight: 700; white-space: nowrap; transition: color .18s,border-color .18s,background .18s; }
.step1-nav-tab:hover,.step1-nav-tab.is-open,.step1-nav-tab[aria-current="page"] { border-bottom-color: #0f766e; color: #0f766e; background: #f3faf9; }
.step1-nav-icon { width: 17px; height: 17px; flex: none; }
.step1-icon--universities { color: #4f46e5; }
.step1-icon--scholarships { color: #ba7511; }
.step1-icon--services { color: #7950ba; }
.step1-icon--tools { color: #0f766e; }
.step1-icon--about { color: #4970a3; }
.step1-nav-toggle { display: grid; width: 22px; height: 44px; flex: none; place-items: center; margin-right: .15rem; border-radius: 6px; color: #65758d; }
.step1-nav-toggle:hover,.step1-nav-toggle[aria-expanded="true"] { background: #e7f5f1; color: #0f766e; }
.step1-nav-panel { width: 362px; filter: drop-shadow(0 18px 30px rgba(22,37,67,.12)); }
.step1-nav-item:first-child .step1-nav-panel { width: 535px; }
.step1-nav-item:nth-last-child(-n+2) .step1-nav-panel { left: auto; right: 0; }
.step1-nav-option:hover,.step1-nav-option:focus-visible { background: #eef8f6; }
.step1-nav-promo { background: linear-gradient(105deg,#172554,#293b86); }
.step1-nav-promo:hover { background: linear-gradient(105deg,#12204c,#214b79); }
.step1-nav-promo > span:last-child { background: #6ee7d0; color: #102d43; white-space: nowrap; }
.step1-compare-tab { gap: .4rem; padding-inline: .55rem; }
.step1-compare-icon { color: #0f766e; font-size: 20px; line-height: 1; }
@media (max-width: 1150px) { .step1-header .site-container { gap: .35rem; } .step1-nav-tab { font-size: 11.5px; padding-left: .45rem; } .step1-nav-toggle { width: 16px; } }
.step1-home .step1-hero { background: radial-gradient(circle at 80% 12%, #e8f3fa 0, transparent 35%), linear-gradient(125deg,#fbfcff 3%,#f1f6fd 74%,#eaf7f4 100%); }
.step1-home .step1-hero h1 { text-wrap: balance; }
.step1-home .step1-hero .bg-\[\#fbf3e2\] { background: #e7f5f1; color: #115e59; }
.step1-home .step1-hero-art > div:first-child { top: 0; right: 16%; height: 100%; width: 64%; border-radius: 44% 44% 24px 24px; background: #e6eeff; }
.step1-home .step1-hero-art > div:first-child img { object-position: center top; }
.step1-home .step1-hero-art > div:last-child { background: #d6f1eb; }
.step1-home .step1-home-search { border-color: #dde7ef; border-radius: 18px; box-shadow: 0 15px 35px rgba(23,37,84,.075); }
.step1-home-search .compact-input { min-height: 42px; }
.step1-home-search button { min-height: 42px; }
.step1-home :is(.v2-section-title, h2) { text-wrap: balance; }
.step1-home article, .step1-home .group.rounded-xl { border-color: #e2e9f2; }
.step1-home article:hover, .step1-home .group.rounded-xl:hover { border-color: #9bcfc8; }
.step1-directory, .step1-profile { background: #f7f9fd; }
.step1-directory :is(article, aside, section), .step1-profile section { border-color: #e1e8f2; }
.step1-university-result { border-color: #dfe7f0; box-shadow: 0 2px 7px rgba(23,37,84,.025); }
.step1-university-result:hover { border-color: #9bcfc8; box-shadow: 0 10px 28px rgba(23,37,84,.075); }
.step1-profile :target { scroll-margin-top: 100px; }
.step1-footer { background: #111d42; color: #dbe4f6; }
.step1-footer-title { color: #a5e3d8; font-weight: 800; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.1rem; }
.step1-footer-links { display: grid; align-content: start; gap: .7rem; font-size: .79rem; line-height: 1.55; }
.step1-footer-links a { width: fit-content; color: #dbe4f6; transition: color .18s ease; }
.step1-footer-links a:hover, .step1-footer-contact { color: #8de0cf !important; }
.step1-footer-links p { color: #dbe4f6; }
.step1-footer-social { display: inline-flex; min-width: 2.25rem; min-height: 2.25rem; align-items: center; justify-content: center; padding: .25rem .5rem; border-radius: .65rem; background: #25365f; color: white; font-size: .72rem; font-weight: 800; }
.step1-footer-social:hover { background: #0f766e; }
@media (max-width: 639px) {
  .step1-home .step1-hero { overflow: hidden; }
  .step1-home .step1-hero-art { max-width: 340px; }
  .step1-home .step1-hero-art > div:first-child { width: 64%; right: 18%; }
  .step1-home .step1-hero-art > div:nth-child(2) { left: 0; top: 24%; }
  .step1-home .step1-hero-art > div:nth-child(3) { right: 0; top: 41%; }
  .step1-home .step1-hero-art > div:nth-child(4) { left: 0; bottom: 10%; }
  .step1-home .step1-hero .site-container { padding-top: 2rem; }
  .step1-footer { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .step1-shell * { scroll-behavior: auto !important; }
}
/* The shipped build predates a few Step 1 responsive utility classes. */
.step1-home .step1-hero-art { height: 280px; }
.step1-home-search > div:first-child > label:first-child,
.step1-home-search > div:first-child > button:last-child { grid-column: 1 / -1; }
@media (min-width: 640px) {
  .step1-home .step1-hero-art { height: 360px; }
  .step1-home-search > div:first-child { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .step1-home .step1-hero-art { height: 420px; }
}
@media (min-width: 1280px) {
  .step1-home-search > div:first-child { grid-template-columns: minmax(220px,1.8fr) minmax(115px,.8fr) minmax(115px,.8fr) minmax(135px,.9fr) auto; }
  .step1-home-search > div:first-child > label:first-child,
  .step1-home-search > div:first-child > button:last-child { grid-column: auto; }
}

/* Step 2: discovery pages share the palette but keep distinct page layouts. */
.step2-page { background: #f7f9fd; }
.step2-breadcrumb { color: #61718c; }
.step2-breadcrumb [aria-current="page"] { color: #1b2e55; }
.step2-page h1, .step2-page h2 { text-wrap: balance; }
.step2-page :is(input,select) { min-height: 42px; }
.step2-page :is(article, aside, form).border { border-color: #dfe7f0; }
.step2-page :is(article,aside).bg-white { box-shadow: 0 4px 18px rgba(23,37,84,.035); }
.step2-page :is(article,aside).bg-white:hover { border-color: #b6dbd5; }
.step2-page .v2-chip { white-space: nowrap; }
.step2-page .v2-chip-active { background: #0f766e; border-color: #0f766e; color: white; }
.step2-scholarship-index > section:first-child,
.step2-scholarship-detail > section:first-child { background: linear-gradient(114deg,#f0f6ff 0%,#f9fbff 52%,#eaf8f5 100%); border-color: #dbe9ef; }
.step2-scholarship-index > section:first-child .grid.grid-cols-3 { border-color: #dbe7f0; }
.step2-scholarship-index > section:first-child .grid.grid-cols-3 > div { min-width: 0; }
.step2-scholarship-index > section:first-child .grid.grid-cols-3 strong { overflow-wrap: anywhere; }
.step2-scholarship-index aside form > div:not(.grid) { margin-bottom: 1rem; }
.step2-scholarship-index aside form select { width: 100%; }
.step2-scholarship-index article { border-radius: 16px; }
.step2-scholarship-index article.border-t-\[3px\] { border-top-color: #0f766e; }
.step2-scholarship-detail > section:first-child aside { border-color: #cee4df; box-shadow: 0 12px 30px rgba(23,37,84,.06); }
.step2-scholarship-detail > nav a:hover { color: #0f766e; }
.step2-scholarship-detail [id] { scroll-margin-top: 115px; }
.step2-major-index > section:first-child { background: radial-gradient(circle at 90% 0%,#e9f8f4,transparent 38%),#fff; }
.step2-major-index > section:last-child { background: #eef2ff; border-color: #dfe6f5; }
.step2-major-index form { background: #f7f9fd; }
.step2-major-index .grid > a.group { border-radius: 16px; overflow: hidden; }
.step2-major-index .grid > a.group:hover { border-color: #81c9bd; transform: translateY(-2px); }
.step2-major-detail > section:first-child { background: linear-gradient(115deg,#eef2ff,#f6fbff 58%,#eaf8f5); border-color: #dce7ef; }
.step2-major-detail .bg-\[\#fff8e8\] { background: #eaf8f5; border-color: #b9e4da; }
.step2-major-detail .bg-\[\#fff8e8\] :is(p,a) { color: #115e59; }
.step2-major-detail article { border-radius: 14px; overflow: hidden; }
.step2-city-index > section:first-child { background: #111c44; }
.step2-city-index > section:first-child img { opacity: .33; }
.step2-city-index .grid > a.group { border: 2px solid transparent; }
.step2-city-index .grid > a.group:hover { border-color: #8de0cf; }
.step2-city-index > section:last-child { background: #edf5fa; }
.step2-city-detail > section:first-child { min-height: 410px; }
.step2-city-detail > section:first-child img { filter: saturate(.9); }
.step2-city-detail .bg-\[\#fffaf0\] { background: #eaf8f5; border-color: #0f766e; }
.step2-city-detail main article > article { border-radius: 14px; }
.step2-service-index > section:first-child { background: radial-gradient(circle at 85% 15%,#234881,#111c44 60%); }
.step2-service-index > section:nth-child(2) article { border-radius: 16px; transition: border-color .2s,transform .2s,box-shadow .2s; }
.step2-service-index > section:nth-child(2) article:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(23,37,84,.09); }
.step2-service-index > section:last-child { background: #eff5fa; }
.step2-service-detail > section:first-child { background: linear-gradient(110deg,#fff,#f2f8ff 75%,#eaf8f5); }
.step2-service-detail #workflow { scroll-margin-top: 95px; }
@media (max-width: 639px) {
  .step2-page h1 { overflow-wrap: anywhere; }
  .step2-scholarship-index > section:first-child .grid.grid-cols-3 strong { font-size: 1rem; }
  .step2-scholarship-index > section:first-child .grid.grid-cols-3 > div { padding: .7rem; }
  .step2-scholarship-detail > nav .site-container { gap: 1rem; }
  .step2-city-index > section:first-child form { flex-wrap: wrap; }
  .step2-city-index > section:first-child form input { flex: 1 1 170px; min-width: 0; }
}

/* Step 3: student tools, application workspace and account screens. */
.step3-tool { background: #f7f9fd; }
.step3-tool > section:first-child { background: linear-gradient(118deg,#f3f7ff,#fff 58%,#eaf8f5); border-color: #dce7f0; }
.step3-tool h1, .step3-tool h2, .step3-application h1, .step3-auth h1 { text-wrap: balance; }
.step3-tool :is(article,form).border, .step3-application .border, .step3-auth section.border { border-color: #dce6f0; }
.step3-tool :is(input,select) { min-height: 42px; }
.step3-tool a.group { transition: transform .2s ease, box-shadow .2s ease; }
.step3-tool a.group:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(23,37,84,.09); }
.step3-tool-index > section:first-child { background: radial-gradient(circle at 80% 14%,#e2f4f0,transparent 37%),#f5f7ff; }
.step3-tool-index a.bg-\[\#fffaf0\] { background: #edf7f4; border-color: #b9dfd6; }
.step3-tool-scholarship-checker > section:first-child { background: linear-gradient(110deg,#f1f4ff,#e9f7f2); border-color: #dce7ee; }
.step3-tool-scholarship-checker > section:first-child :is(p,span) { color: #344e72; }
.step3-tool-scholarship-checker > section:first-child .text-navy-900 { color: #111c44; }
.step3-tool-cost-calculator > section:first-child { background: #ecf6f5; }
.step3-tool-gpa-converter > section:first-child { background: #f5f7ff; }
.step3-tool-find-university > section:first-child { background: #fff; }
.step3-auth { background: #f5f8ff; }
.step3-auth section.bg-navy-900 { background: radial-gradient(circle at 80% 20%,#244573,#111c44 65%); }
.step3-auth section.border { box-shadow: 0 16px 38px rgba(23,37,84,.07); }
.step3-auth input { min-height: 42px; }
.step3-auth input[type=checkbox] { min-height: auto; }
.step3-application { background: #f7f9fd; }
.step3-application .step10-panel { border-color: #dce6ee; }
.step3-application button:disabled, .step3-dashboard button:disabled { opacity: .6; }
.step3-application input[type=file] { max-width: 100%; }
.step3-application .overflow-x-auto button[aria-current="step"] { box-shadow: inset 0 0 0 1px #0f766e; }
.step3-dashboard { background: #f7f9fd; }
.step3-dashboard section.bg-white { border-color: #dce6ef; }
.step3-dashboard section[id] { scroll-margin-top: 85px; }
@media (max-width: 639px) {
  .step3-tool .grid.grid-cols-3 > div { min-width: 0; }
  .step3-tool-index .grid.grid-cols-3 strong { font-size: 1rem; }
  .step3-application .overflow-x-auto { scrollbar-width: thin; }
  .step3-application .overflow-x-auto button { white-space: nowrap; }
  .step3-application .form-control { max-width: 100%; }
}
.step3-compare { background: #f7f9fd; }
.step3-compare > section:first-child { background: linear-gradient(110deg,#fff,#eef8f5); }
.step3-compare table th, .step3-compare table td { border-color: #dfe7f0; }
.step3-compare :is(select,button) { min-height: 42px; }
.step3-contact { background: #f7f9fd; }
.step3-contact > section:first-child { background: linear-gradient(110deg,#fff,#eff7fc); }
.step3-contact form > div:last-child { flex-wrap: wrap; }
.step3-contact form button { min-height: 44px; }
@media print {
  .step3-compare form, .step3-compare button, .step3-compare > section:first-child a, .step1-header, .step1-footer { display: none !important; }
  .step3-compare .overflow-x-auto { overflow: visible !important; }
  .step3-compare table { min-width: 0; font-size: 9px; }
}

/* Final public-page consistency and mobile checks. */
.step1-shell .bg-navy-900 .step2-breadcrumb,
.step1-shell .bg-navy-800 .step2-breadcrumb,
.step1-shell .bg-navy-950 .step2-breadcrumb { color: #c7d2e9; }
.step1-shell .bg-navy-900 .step2-breadcrumb [aria-current="page"],
.step1-shell .bg-navy-800 .step2-breadcrumb [aria-current="page"],
.step1-shell .bg-navy-950 .step2-breadcrumb [aria-current="page"] { color: #fff; }
.step4-content { background: #f7f9fd; }
.step4-content h1, .step4-content h2 { text-wrap: balance; }
.step4-content > section:first-of-type:not(.bg-navy-800):not(.bg-navy-900) { background: linear-gradient(110deg,#fff,#f1f6ff 75%,#eaf8f5); }
.step4-content :is(article, aside, form).border { border-color: #dce6ef; }
.step4-content :is(article, aside).bg-white { box-shadow: 0 4px 18px rgba(23,37,84,.03); }
.step4-content .v2-chip-active { background: #0f766e; border-color: #0f766e; color: #fff; }
.step4-content :is(input,select,button) { min-height: 40px; }
.step4-content :is(a,button):focus-visible { outline: 2px solid #0f766e; outline-offset: 3px; }
.step4-content .step10-reading { max-width: 76ch; }
.step4-content [role="dialog"] button[aria-label="Close"] { min-height: auto; }
.step3-contact #consultation { scroll-margin-top: 90px; }
@media (max-width: 639px) {
  .step4-content .site-container { min-width: 0; }
  .step4-content :is(h1,h2) { overflow-wrap: anywhere; }
  .step4-content form:has(input[name="q"]) { flex-wrap: wrap; }
  .step4-content form:has(input[name="q"]) input[name="q"] { min-width: 0; flex: 1 1 170px; }
  .step4-content .v2-chip { white-space: nowrap; }
}
.step4-map > section:first-child { background: linear-gradient(110deg,#fff,#edf6ff 66%,#eaf8f5); }
.step4-map-canvas { aspect-ratio: 1000 / 710; }
.step4-map-pin { transform: translate(-50%,-100%); white-space: nowrap; }
.step4-map-pin:hover { z-index: 30; }
.step4-map-scroll { background: #eef4fc; }
@media (max-width: 639px) { .step4-map-pin { font-size: 10px; } }
.step4-map-canvas { min-width: 680px; width: 100%; }
.step4-map-pin { width: 1.8rem; height: 1.8rem; justify-content: center; padding: 0; background: #172554; border: 2px solid white; }
.step4-map-pin[aria-pressed="true"] { background: #0f766e; box-shadow: 0 0 0 4px #b9e4da; z-index: 20; }
.step4-map-pin span:last-child { display: none; }
.step4-map-pin:hover span:last-child, .step4-map-pin:focus-visible span:last-child { display: block; position: absolute; left: 1.7rem; top: 0; padding: .4rem .65rem; border-radius: .5rem; background: #172554; color: #fff; white-space: nowrap; }
@media (min-width: 1280px) { .step4-map > section:nth-child(2) .site-container { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(290px,.8fr); gap: 1.5rem; } }

/* Wider shared desktop shell. Explicit reading widths (articles, FAQs, forms) stay intact. */
.step1-shell .site-container:not([class*="max-w-"]) { max-width: 1600px; }
.step1-shell .step1-header .site-container { max-width: 1680px; }
.step1-shell [class~="max-w-[1600px]"] { max-width: 1600px; }

@media (min-width: 1440px) {
  .step1-home .step1-hero > .site-container { padding-top: clamp(80px, 6.5vw, 115px); padding-bottom: 42px; }
  .step1-home .step1-hero > .site-container > .grid { min-height: 490px; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
  .step1-home .step1-hero h1 { font-size: clamp(58px, 3.7vw, 66px); }
  .step1-home .step1-hero-art { height: 490px; }
  .step1-home .step1-hero-art > div:first-child { right: 12%; width: 69%; }
  .step1-home .step1-home-search { margin-top: -8px; padding: 18px; }
  .step1-home-search .compact-input, .step1-home-search button { min-height: 50px; }
}
