/* DACC Application Portal — adapted from the supplied portal CSS.
   Cascade owns the layout. All rules are scoped to this dedicated page root. */
.dacc-application-portal {
  --dacc-blue: var(--color-primary, hsl(212.2, 74.2%, 32%));
  --dacc-blue-dark: var(--color-primary-dark, hsl(212.2, 64.2%, 22%));
  --dacc-crimson: var(--color-accent, hsl(340.8, 66.5%, 38.6%));
  --dacc-crimson-dark: var(--color-accent-dark, hsl(340.8, 66.5%, 28%));
  --dacc-gold: var(--color-gold, hsl(48, 100%, 51%));
  --dacc-white: #fff;
  --dacc-surface: var(--color-surface, hsl(210, 33%, 98%));
  --dacc-surface-alt: var(--color-surface-alt, hsl(210, 29%, 95%));
  --dacc-border: var(--color-border, hsl(214, 25%, 86%));
  --dacc-text: var(--color-text, hsl(222, 24%, 14%));
  --dacc-muted: var(--color-muted, hsl(220, 9%, 35%));
  --dacc-font: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dacc-radius-sm: .5rem;
  --dacc-radius-md: .75rem;
  --dacc-radius-lg: 1rem;
  --dacc-radius-pill: 50px;
  --dacc-shadow-sm: 0 .5rem 1.25rem rgb(15 23 42 / 5%);
  --dacc-shadow-md: 0 .75rem 1.5rem rgb(15 23 42 / 12%);
  --dacc-focus: 3px solid var(--dacc-crimson);
  color: var(--dacc-text);
  font-family: var(--dacc-font);
  line-height: 1.6;
}
.dacc-application-portal { width: min(calc(100% - 2rem), 75rem); max-width: 100%; margin-inline: auto; padding-block: clamp(1.25rem, 3vw, 3rem); font-size: 1rem; }
.dacc-application-portal, .dacc-application-portal *, .dacc-application-portal *::before, .dacc-application-portal *::after { box-sizing: border-box; }
.dacc-application-portal .dacc-apply { width: 100%; min-width: 0; margin: 0; color: var(--dacc-text); font-family: var(--dacc-font); overflow-wrap: anywhere; }
.dacc-application-portal :is(h1, h2, h3, p, ul, ol) { margin-top: 0; }
.dacc-application-portal :is(p, li) { line-height: 1.65; }
.dacc-application-portal :is(h2, h3) { color: var(--dacc-blue-dark); font-family: var(--dacc-font); font-weight: 800; line-height: 1.25; letter-spacing: -.018em; }
.dacc-application-portal h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.dacc-application-portal h3 { font-size: clamp(1.125rem, 2vw, 1.375rem); }
.dacc-application-portal a:not(.dacc-apply__button) { color: var(--dacc-blue); font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.dacc-application-portal a:not(.dacc-apply__button):hover { color: var(--dacc-crimson-dark); }
.dacc-application-portal a:focus-visible { outline: var(--dacc-focus); outline-offset: 4px; }
/* Reusable page regions ---------------------------------------------------- */
.dacc-application-portal .dacc-apply__hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(1.75rem, 5vw, 3.75rem);
  border-radius: var(--dacc-radius-lg);
  background: linear-gradient(116deg, var(--dacc-blue-dark) 0%, var(--dacc-blue) 100%);
  color: var(--dacc-white);
}
.dacc-application-portal .dacc-apply__hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .45rem;
  background: var(--dacc-gold);
}
.dacc-application-portal .dacc-apply__hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -7rem;
  bottom: -10rem;
  width: 23rem;
  aspect-ratio: 1;
  border: 3rem solid rgb(255 255 255 / 7%);
  border-radius: 50%;
  pointer-events: none;
}
.dacc-application-portal .dacc-apply__eyebrow {
  display: inline-block;
  margin: 0 0 .85rem;
  color: var(--dacc-gold);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dacc-application-portal .dacc-apply__hero h1 {
  max-width: 24ch;
  margin: 0;
  color: white;
  font-family: var(--dacc-font);
  font-size: clamp(2rem, 4.4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.08;
  text-wrap: balance;
}
.dacc-application-portal .dacc-apply__lead {
  max-width: 66ch;
  margin: 1rem 0 0;
  color: rgb(255 255 255 / 95%);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
}
.dacc-application-portal .dacc-apply__notice {
  margin-top: 1.25rem;
  padding: 1rem 1.15rem;
  border-left: .3rem solid var(--dacc-gold);
  border-radius: 0 var(--dacc-radius-sm) var(--dacc-radius-sm) 0;
  background: #eef3f9;
  color: var(--dacc-text);
}
.dacc-application-portal .dacc-apply__notice p { margin: 0; }
.dacc-application-portal .dacc-apply__notice strong { color: var(--dacc-blue-dark); }
.dacc-application-portal .dacc-apply__section { margin-top: clamp(1.8rem, 4vw, 3rem); }
.dacc-application-portal .dacc-apply__section > p { max-width: 75ch; color: var(--dacc-muted); }
.dacc-application-portal .dacc-apply__section-heading { margin-bottom: 1.15rem; }
.dacc-application-portal .dacc-apply__section-heading p { margin: .4rem 0 0; color: var(--dacc-muted); }
.dacc-application-portal .dacc-apply__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.dacc-application-portal .dacc-apply__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dacc-application-portal .dacc-apply__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.1rem, 2.4vw, 1.75rem);
  border: 1px solid var(--dacc-border);
  border-radius: var(--dacc-radius-lg);
  background: var(--dacc-white);
  box-shadow: var(--dacc-shadow-sm);
}
.dacc-application-portal .dacc-apply__card--accent { border-top: .35rem solid var(--dacc-crimson); }
.dacc-application-portal .dacc-apply__card--gold { border-top: .35rem solid var(--dacc-gold); }
.dacc-application-portal .dacc-apply__card h3 { margin-bottom: .55rem; }
.dacc-application-portal .dacc-apply__card p { margin-bottom: .7rem; color: var(--dacc-muted); }
.dacc-application-portal .dacc-apply__card :last-child { margin-bottom: 0; }
.dacc-application-portal .dacc-apply__card a:last-child { margin-top: auto; }
.dacc-application-portal .dacc-apply__number {
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  margin-bottom: .85rem;
  border-radius: 50%;
  background: var(--dacc-blue);
  color: white;
  font-weight: 800;
}
.dacc-application-portal .dacc-apply__list { margin: 0; padding-left: 1.4rem; }
.dacc-application-portal .dacc-apply__list li + li { margin-top: .65rem; }
.dacc-application-portal .dacc-apply__link-list { padding: 0; margin: 0; list-style: none; }
.dacc-application-portal .dacc-apply__link-list li + li { margin-top: .65rem; }
.dacc-application-portal .dacc-apply__callout {
  margin-top: 1.4rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border-radius: var(--dacc-radius-lg);
  background: var(--dacc-surface-alt);
}
.dacc-application-portal .dacc-apply__callout > :last-child { margin-bottom: 0; }
.dacc-application-portal .dacc-apply__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.75rem;
  width: fit-content;
  max-width: 100%;
  padding: .72rem 1.2rem;
  border: 2px solid var(--dacc-gold);
  border-radius: var(--dacc-radius-pill);
  background: var(--dacc-gold);
  color: var(--dacc-text) !important;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
}
.dacc-application-portal .dacc-apply__button:hover,
.dacc-application-portal .dacc-apply__button:focus {
  border-color: var(--dacc-blue-dark);
  background: var(--dacc-blue-dark);
  color: white !important;
}
.dacc-application-portal .dacc-apply__button--outline {
  border-color: var(--dacc-blue);
  background: transparent;
  color: var(--dacc-blue) !important;
}
.dacc-application-portal .dacc-apply__footer {
  margin-top: 2rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--dacc-border);
  border-radius: var(--dacc-radius-lg);
  background: var(--dacc-surface);
}
.dacc-application-portal .dacc-apply__footer h2 { font-size: 1.3rem; }
.dacc-application-portal .dacc-apply__footer p:last-child { margin-bottom: 0; }
.dacc-application-portal .dacc-apply__muted { color: var(--dacc-muted); }




/* One registration action replaces the two Slate account cards. */
.dacc-application-portal .dacc-apply-action { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--dacc-border); border-top: .3rem solid var(--dacc-gold); border-radius: 1.125rem; background: var(--dacc-white); box-shadow: var(--dacc-shadow-sm); }
.dacc-application-portal .dacc-apply-action p { margin-bottom: 1rem; }
.dacc-application-portal .dacc-apply-action .dacc-apply__button { gap: .6rem; }
.dacc-application-portal .dacc-apply__card > div { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.dacc-application-portal .dacc-apply__card > div :is(h3, .dacc-apply__number) { margin-bottom: 0; }
.dacc-application-portal .dacc-apply__number { flex: 0 0 2.1rem; }
@media (max-width: 56.25rem) {
 .dacc-application-portal .dacc-apply__grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
 .dacc-application-portal .dacc-apply__hero { padding: 1.65rem 1.4rem; }
 .dacc-application-portal .dacc-apply__hero h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); }
 .dacc-application-portal .dacc-apply__grid, .dacc-application-portal .dacc-apply__grid--three { grid-template-columns: minmax(0, 1fr); }
 .dacc-application-portal .dacc-apply__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .dacc-application-portal *, .dacc-application-portal *::before, .dacc-application-portal *::after { scroll-behavior: auto; animation: none; transition: none; }
}
@media (forced-colors: active) {
 .dacc-application-portal :is(.dacc-apply__hero,.dacc-apply__button,.dacc-apply__number,.dacc-apply__card,.dacc-apply__notice) { border: 1px solid CanvasText; }
}
