:root {
  --pine-950: #092c25;
  --pine-900: #0a3128;
  --pine-800: #165343;
  --pine-700: #24715c;
  --sage-100: #e7f0ea;
  --sage-50: #f2f6f3;
  --linen: #f8f4ec;
  --paper: #fffdf8;
  --sand: #eadcc7;
  --sand-light: #f3eadc;
  --gold: #b58a3b;
  --gold-dark: #8c6526;
  --clay: #bb7056;
  --clay-light: #e8c7ba;
  --ink: #17352d;
  --muted: #64736d;
  --line: #dfe5df;
  --white: #fff;
  --shell: min(1240px, calc(100% - 48px));
  --display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --shadow-sm: 0 12px 30px rgba(16, 47, 39, .08);
  --shadow-lg: 0 30px 80px rgba(12, 46, 37, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--linen); font-family: var(--sans); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; }
h3 { line-height: 1.2; }
.shell { width: var(--shell); margin-inline: auto; }
.section-space { padding: 120px 0; }

/* A concise welcome offer, visible before the homepage hero. */
.home-welcome-offer { border-bottom: 1px solid #e7d6ad; background: linear-gradient(105deg, #fffaf0, #f4f8f1); }
.home-offer-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; padding-block: 22px; }
.home-offer-heading { margin: 0; color: var(--pine-950); font-size: clamp(19px, 2vw, 25px); font-weight: 800; line-height: 1.3; letter-spacing: -.025em; }
.home-offer-heading span { color: #8c6526; white-space: nowrap; }
.home-offer-description { margin: 5px 0 12px; color: #526259; font-size: 13px; line-height: 1.5; }
.home-offer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.home-offer-actions a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 16px; padding: 9px 16px; border: 1px solid var(--pine-800); border-radius: 9px; font-size: 12px; font-weight: 800; line-height: 1.4; text-decoration: none; }
.home-offer-care { color: #fff; background: var(--pine-800); }
.home-offer-care:hover { background: var(--pine-950); }
.home-offer-careers { color: var(--pine-800); background: #fff; }
.home-offer-careers:hover { background: #e7f0ea; }
.home-offer-bonus { display: grid; justify-items: start; gap: 3px; min-width: 240px; padding: 8px 0 8px 30px; border-left: 1px solid #dbc496; color: var(--pine-950); text-decoration: none; }
.home-offer-bonus-label { font-size: 12px; font-weight: 800; line-height: 1.4; }
.home-offer-bonus strong { font-size: 36px; font-weight: 850; line-height: 1.15; letter-spacing: -.04em; }
.home-offer-bonus strong > span { font-size: 16px; font-weight: 700; letter-spacing: 0; }
.home-offer-bonus-details { color: #75551f; font-size: 11px; font-weight: 750; text-underline-offset: 3px; }
.home-offer-bonus:hover .home-offer-bonus-details { text-decoration: underline; }
.home-welcome-offer a:focus-visible { outline: 3px solid #b58a3b; outline-offset: 4px; }
@media (max-width: 700px) {
  .home-offer-layout { grid-template-columns: 1fr; gap: 15px; padding-block: 18px; }
  .home-offer-bonus { grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-width: 0; padding: 13px 0 0; border-left: 0; border-top: 1px solid #dbc496; }
  .home-offer-bonus strong { grid-column: 2; grid-row: 1 / 3; font-size: 31px; }
  .home-offer-bonus strong > span { font-size: 14px; }
  .home-offer-actions { gap: 8px; }
  .home-offer-actions a { flex: 1 1 auto; gap: 8px; padding-inline: 12px; }
}
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 10px 14px; color: #fff; background: var(--pine-900); transform: translateY(-140%); }
.skip-link:focus { transform: none; }

.overline { margin: 0 0 18px; color: var(--pine-700); font-size: 11px; font-weight: 800; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.overline span { color: var(--clay); }
.overline.light { color: #d6ba80; }
.large-copy { font-family: var(--display); font-size: 22px; line-height: 1.55; }
.microcopy { color: var(--muted); font-size: 12px; }

.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 13px 22px; border: 1px solid transparent; border-radius: 12px; font-size: 13px; font-weight: 800; letter-spacing: .01em; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: var(--pine-800); box-shadow: 0 10px 25px rgba(22, 83, 67, .18); }
.button-primary:hover { background: var(--pine-950); }
.button-outline { border-color: rgba(22, 83, 67, .35); color: var(--pine-900); background: rgba(255, 255, 255, .45); }
.button-outline:hover { border-color: var(--pine-800); background: #fff; }
.button-cream { color: var(--pine-950); background: var(--sand-light); }
.button-cream:hover { background: #fff; }
.button-dark { color: #fff; background: var(--pine-950); }
.button-light-outline { border-color: rgba(255, 255, 255, .45); color: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--pine-800); font-size: 14px; font-weight: 800; text-decoration: none; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.light-link { color: #fff; }

.utility-bar { color: #d6e4df; background: var(--pine-950); }
.utility-inner { min-height: 34px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.utility-inner p { margin: 0; }
.utility-languages { display: flex; gap: 15px; color: #f3ddad; text-transform: none !important; }
.utility-actions { display: flex; justify-content: flex-end; gap: 18px; }
.utility-actions a { text-decoration: none; }
.utility-actions a:hover { color: #fff; }

.site-header { position: sticky; z-index: 300; top: 0; border-bottom: 1px solid rgba(10, 49, 40, .08); background: rgba(248, 244, 236, .94); backdrop-filter: blur(16px); transition: box-shadow .2s, background .2s; }
.site-header.scrolled { background: rgba(255, 253, 248, .97); box-shadow: 0 8px 24px rgba(10, 49, 40, .07); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--pine-950); text-decoration: none; }
.brand img { width: 50px; height: 50px; object-fit: contain; border-radius: 50%; background: #fff; }
.brand span { display: grid; line-height: 1; }
.brand strong { font-family: var(--display); font-size: 22px; letter-spacing: .08em; }
.brand small { margin-top: 5px; color: var(--gold-dark); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 25px; }
.site-nav > a { color: var(--pine-900); font-size: 12px; font-weight: 700; text-decoration: none; }
.site-nav > a:not(.nav-call):hover { color: var(--clay); }
.site-nav .nav-call { min-height: 44px; display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 10px; color: #fff; background: var(--pine-800); }
.menu-button { display: none; width: 46px; height: 44px; padding: 10px; border: 0; background: transparent; }
.menu-button > span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--pine-950); }

.editorial-hero { position: relative; overflow: hidden; padding: 78px 0 0; background: var(--linen); }
.hero-geometry { position: absolute; width: 640px; height: 640px; right: -280px; top: -80px; border: 1px solid rgba(181, 138, 59, .17); border-radius: 50%; }
.hero-geometry:before, .hero-geometry:after { content: ""; position: absolute; inset: 90px; border: 1px solid rgba(22, 83, 67, .11); transform: rotate(45deg); }
.hero-geometry:after { inset: 190px; border-color: rgba(187, 112, 86, .14); }
.hero-layout { position: relative; display: grid; grid-template-columns: minmax(0, .87fr) minmax(520px, 1.13fr); gap: 78px; align-items: center; }
.hero-copy { max-width: 585px; padding: 20px 0 80px; }
.hero-copy h1 { margin: 0 0 28px; color: var(--pine-950); font-size: clamp(58px, 6.1vw, 88px); }
.hero-copy h1 em { color: var(--clay); font-style: italic; font-weight: 400; }
.hero-lede { max-width: 570px; margin: 0; color: #4f655d; font-size: 18px; line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.availability { display: flex; gap: 9px; align-items: center; margin: 20px 0 0; color: var(--muted); font-size: 11px; }
.availability > span { width: 8px; height: 8px; border-radius: 50%; background: #49a879; box-shadow: 0 0 0 4px rgba(73, 168, 121, .13); }
.hero-media { position: relative; min-height: 640px; }
.hero-image-wrap { position: absolute; inset: 0 0 0 5%; overflow: hidden; border-radius: 260px 260px 26px 26px; box-shadow: var(--shadow-lg); }
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 59% center; }
.hero-note { position: absolute; z-index: 2; left: -35px; bottom: 86px; min-width: 300px; display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; padding: 20px; border: 8px solid var(--linen); border-radius: 18px; color: #fff; background: var(--pine-900); box-shadow: var(--shadow-sm); }
.hero-note > span { color: #e7c06c; font-size: 25px; }
.hero-note p { display: grid; margin: 0; }
.hero-note strong { font-family: var(--display); font-size: 17px; }
.hero-note small { color: #bcd0c8; font-size: 11px; }
.hero-language-card { position: absolute; z-index: 3; right: -20px; top: 80px; display: grid; padding: 14px 18px; border: 1px solid rgba(181, 138, 59, .3); border-radius: 14px; background: rgba(255, 253, 248, .94); box-shadow: var(--shadow-sm); }
.hero-language-card span { color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.hero-language-card strong { margin-top: 2px; color: var(--pine-900); font-size: 12px; }
.trust-ribbon { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid rgba(22, 83, 67, .15); border-bottom: 1px solid rgba(22, 83, 67, .15); }
.trust-ribbon p { display: flex; gap: 12px; align-items: center; margin: 0; padding: 20px 24px; border-right: 1px solid rgba(22, 83, 67, .12); color: var(--pine-900); font-size: 12px; font-weight: 700; }
.trust-ribbon p:last-child { border-right: 0; }
.trust-ribbon span { color: var(--gold-dark); font-family: var(--display); font-size: 17px; }

.pathways { padding: 88px 0 96px; background: var(--paper); }
.pathway-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 32px; }
.pathway-heading .overline { margin: 0 0 5px; }
.pathway-heading h2 { margin: 0; color: var(--pine-950); font-size: 50px; }
.pathway-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pathway { min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; padding: 30px 26px; border-right: 1px solid var(--line); text-decoration: none; transition: color .25s, background .25s; }
.pathway:last-child { border-right: 0; }
.pathway > span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pathway strong { max-width: 190px; color: var(--pine-950); font-family: var(--display); font-size: 27px; line-height: 1.12; }
.pathway i { color: var(--pine-700); font-size: 11px; font-style: normal; font-weight: 800; }
.pathway:hover { color: #fff; background: var(--pine-800); }
.pathway:hover > span, .pathway:hover strong, .pathway:hover i { color: #fff; }

.story-section { background: var(--linen); }
.story-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 92px; align-items: center; }
.story-media { position: relative; padding: 0 0 42px 42px; }
.story-media:before { content: ""; position: absolute; left: 0; bottom: 0; width: 62%; height: 72%; border-radius: 20px; background: var(--clay-light); }
.story-media img { position: relative; width: 100%; height: auto; aspect-ratio: 4 / 4.3; object-fit: cover; object-position: center; border-radius: 180px 180px 18px 18px; }
.story-stamp { position: absolute; right: -24px; bottom: 12px; display: grid; max-width: 285px; padding: 20px 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.story-stamp strong { font-family: var(--display); font-size: 18px; }
.story-stamp span { color: var(--muted); font-size: 11px; }
.story-copy h2 { margin: 0 0 28px; color: var(--pine-950); font-size: clamp(48px, 5.2vw, 68px); }
.story-copy .large-copy { color: #405951; }
.promise-list { margin-top: 34px; border-top: 1px solid var(--line); }
.promise-list article { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.promise-list article > span { color: var(--gold-dark); font-family: var(--display); font-size: 17px; }
.promise-list h3 { margin: 0 0 3px; color: var(--pine-950); font-family: var(--display); font-size: 20px; }
.promise-list p { margin: 0; color: var(--muted); font-size: 13px; }

.services-section { background: var(--paper); }
.section-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; margin-bottom: 58px; }
.section-intro h2 { max-width: 710px; margin: 0; color: var(--pine-950); font-size: clamp(48px, 5.4vw, 70px); }
.section-intro > p { margin: 0 0 5px; color: var(--muted); }
.feature-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-service { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.feature-service img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.feature-service:hover img { transform: scale(1.015); }
.feature-service > div { padding: 27px 28px 31px; }
.feature-service span { color: var(--clay); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.feature-service h3 { margin: 11px 0 13px; color: var(--pine-950); font-family: var(--display); font-size: 27px; }
.feature-service p { margin: 0; color: var(--muted); font-size: 13px; }
.service-index { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 55px; border-top: 1px solid var(--line); }
.service-index > div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 25px 20px 25px 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-index > div:nth-child(3n) { border-right: 0; padding-left: 22px; }
.service-index > div:nth-child(3n-1) { padding-left: 22px; }
.service-index span { color: var(--gold-dark); font-family: var(--display); }
.service-index p { display: grid; margin: 0; }
.service-index strong { color: var(--pine-950); font-size: 13px; }
.service-index small { color: var(--muted); font-size: 11px; }
.service-note { max-width: 950px; margin: 30px auto 0; color: #75827e; font-size: 12px; text-align: center; }

.coverage-band { padding: 105px 0 34px; color: #fff; background: var(--pine-950); }
.coverage-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: start; }
.coverage-intro h2 { margin: 0 0 25px; font-size: clamp(47px, 5vw, 66px); }
.coverage-intro > p { color: #b7cac3; }
.coverage-intro .button { margin-top: 18px; }
.coverage-paths { border-top: 1px solid rgba(255, 255, 255, .18); }
.coverage-paths article { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.coverage-paths article > span { color: #d6ba80; font-family: var(--display); font-size: 20px; }
.coverage-paths h3 { margin: 0 0 8px; font-family: var(--display); font-size: 25px; }
.coverage-paths p { grid-column: 2; margin: -3px 0 0; color: #aec3bb; font-size: 13px; }
.coverage-truth { display: flex; gap: 24px; align-items: center; margin-top: 78px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .15); color: #afc3bc; font-size: 12px; }
.coverage-truth strong { flex: 0 0 auto; color: #e8ce98; text-transform: uppercase; letter-spacing: .1em; }
.coverage-truth p { margin: 0; }

.family-caregiver { background: var(--sage-100); }
.family-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.family-photo { position: relative; padding-right: 32px; }
.family-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3.65; object-fit: cover; border-radius: 18px 180px 18px 18px; box-shadow: var(--shadow-sm); }
.photo-quote { position: absolute; right: -15px; bottom: 28px; max-width: 310px; display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 22px; border-radius: 16px; color: #fff; background: var(--clay); box-shadow: var(--shadow-sm); }
.photo-quote span { font-family: var(--display); font-size: 34px; line-height: 1; }
.photo-quote p { margin: 0; font-family: var(--display); font-size: 16px; line-height: 1.4; }
.family-copy h2 { margin: 0 0 25px; color: var(--pine-950); font-size: clamp(46px, 5vw, 66px); }
.family-copy .large-copy { color: #405951; }
.horizontal-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 32px 0; padding: 0; list-style: none; }
.horizontal-steps li { display: grid; gap: 9px; align-content: start; padding-top: 16px; border-top: 2px solid rgba(22, 83, 67, .2); }
.horizontal-steps li > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--pine-800); font-size: 11px; }
.horizontal-steps p { display: grid; margin: 0; }
.horizontal-steps strong { color: var(--pine-950); font-family: var(--display); font-size: 18px; }
.horizontal-steps small { color: var(--muted); font-size: 10px; }

.culture-section { background: var(--linen); }
.culture-heading { max-width: 830px; margin: 0 auto 55px; text-align: center; }
.culture-heading h2 { margin: 0 0 25px; color: var(--pine-950); font-size: clamp(48px, 5.6vw, 72px); }
.culture-heading > p:last-child { color: var(--muted); }
.culture-mosaic { display: grid; grid-template-columns: 1.25fr .85fr .85fr 1.05fr; gap: 12px; }
.culture-mosaic figure { position: relative; overflow: hidden; min-height: 430px; margin: 0; border-radius: 16px; }
.culture-mosaic img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.culture-mosaic figure:first-child img { object-position: 70% center; }
.culture-mosaic figure:hover img { transform: scale(1.015); }
.culture-mosaic figcaption { position: absolute; inset: auto 0 0; display: grid; padding: 70px 18px 18px; color: #fff; background: linear-gradient(transparent, rgba(9, 44, 37, .86)); }
.culture-mosaic figcaption strong { font-family: var(--display); font-size: 17px; }
.culture-mosaic figcaption span { color: #d3dfda; font-size: 9px; }
.language-banner { display: grid; grid-template-columns: repeat(4, auto) 1fr; gap: 23px; align-items: center; margin-top: 30px; padding: 24px 28px; border: 1px solid rgba(181, 138, 59, .25); border-radius: 14px; background: var(--sand-light); }
.language-banner > div { display: grid; grid-template-columns: 34px auto; gap: 8px; align-items: center; }
.language-banner > div > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: var(--pine-800); font-family: var(--display); }
.language-banner strong { color: var(--pine-950); font-size: 12px; }
.language-banner > p { margin: 0; padding-left: 20px; border-left: 1px solid rgba(22, 83, 67, .15); color: var(--muted); font-size: 11px; }

.start-section { background: #fff; }
.start-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 105px; align-items: start; }
.start-intro { position: sticky; top: 125px; }
.start-intro h2 { margin: 0 0 25px; color: var(--pine-950); font-size: clamp(49px, 5vw, 68px); }
.start-intro > p { color: var(--muted); }
.start-intro .button { margin-top: 16px; }
.start-steps { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.start-steps li { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.start-steps li > span { color: var(--gold-dark); font-family: var(--display); font-size: 20px; }
.start-steps h3 { margin: 0 0 6px; color: var(--pine-950); font-family: var(--display); font-size: 25px; }
.start-steps p { margin: 0; color: var(--muted); font-size: 13px; }

.area-teaser { padding: 100px 0; background: var(--sand-light); }
.area-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; align-items: center; }
.area-layout h2 { max-width: 720px; margin: 0 0 20px; color: var(--pine-950); font-size: clamp(47px, 5vw, 66px); }
.area-layout > div:first-child > p:last-of-type { max-width: 690px; color: var(--muted); }
.area-actions { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: 28px; }
.area-card { min-height: 330px; display: flex; flex-direction: column; justify-content: center; padding: 45px; border: 1px solid rgba(181, 138, 59, .28); border-radius: 180px 180px 18px 18px; text-align: center; background: #fff; box-shadow: var(--shadow-sm); }
.area-card > span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.area-card > strong { margin: 17px 0; color: var(--pine-950); font-family: var(--display); font-size: 47px; letter-spacing: .05em; }
.area-card p { margin: 0 0 17px; color: var(--muted); font-size: 12px; }
.area-card a { color: var(--clay); font-size: 13px; font-weight: 800; }

.transfer-band { padding: 78px 0; background: var(--clay); }
.transfer-layout { display: grid; grid-template-columns: 1fr auto; gap: 30px 75px; align-items: center; }
.transfer-layout .overline { color: #512b20; }
.transfer-layout h2 { max-width: 820px; margin: 0 0 16px; color: #1e2f2a; font-size: clamp(43px, 4.8vw, 62px); }
.transfer-layout > div:first-child > p:last-child { max-width: 760px; color: #4f332b; }
.transfer-actions { display: grid; gap: 14px; text-align: center; }
.transfer-actions > a:last-child { color: #1f362f; font-size: 13px; font-weight: 800; }
.transfer-disclaimer { grid-column: 1 / -1; margin: 0; padding-top: 20px; border-top: 1px solid rgba(49, 35, 29, .18); color: #53372f; font-size: 11px; }

.values-section { background: var(--linen); }
.values-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 45px; }
.values-heading h2 { max-width: 720px; margin: 0; color: var(--pine-950); font-size: clamp(47px, 5vw, 66px); }
.values-row { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.values-row article { min-height: 235px; padding: 30px; border-right: 1px solid var(--line); }
.values-row article:last-child { border-right: 0; }
.values-row span { color: var(--gold-dark); font-size: 27px; }
.values-row h3 { margin: 50px 0 6px; color: var(--pine-950); font-family: var(--display); font-size: 26px; }
.values-row p { margin: 0; color: var(--muted); font-size: 12px; }

.faq-preview { background: var(--paper); }
.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 95px; }
.faq-title h2 { margin: 0 0 20px; color: var(--pine-950); font-size: clamp(48px, 5vw, 65px); }
.faq-title > p:not(.overline) { color: var(--muted); }
.faq-title .text-link { margin-top: 15px; }
.accordion-list { border-top: 1px solid var(--line); }
.accordion-list details { border-bottom: 1px solid var(--line); }
.accordion-list summary { position: relative; padding: 24px 50px 24px 0; cursor: pointer; color: var(--pine-950); font-family: var(--display); font-size: 21px; list-style: none; }
.accordion-list summary::-webkit-details-marker { display: none; }
.accordion-list summary:after { content: "+"; position: absolute; right: 4px; top: 21px; color: var(--clay); font-family: var(--sans); font-size: 24px; font-weight: 300; }
.accordion-list details[open] summary:after { content: "−"; }
.accordion-list details p { margin: 0; padding: 0 45px 24px 0; color: var(--muted); font-size: 13px; }

.careers-feature { min-height: 690px; display: grid; grid-template-columns: 1.3fr .7fr; background: var(--pine-950); }
.careers-image { min-height: 690px; }
.careers-image img { width: 100%; height: 100%; object-fit: cover; }
.careers-panel { display: flex; flex-direction: column; justify-content: center; padding: 80px 65px; color: #fff; }
.careers-panel h2 { margin: 0 0 22px; font-size: clamp(44px, 5vw, 64px); }
.careers-panel > p:not(.overline) { color: #b6c9c2; }
.careers-panel > div { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 28px; }

.contact-section { background: var(--paper); }
.contact-panel { position: relative; overflow: hidden; display: grid; grid-template-columns: 150px 1fr .72fr; gap: 45px; align-items: center; padding: 62px; border-radius: 22px; color: #fff; background: var(--pine-800); box-shadow: var(--shadow-lg); }
.contact-panel:after { content: ""; position: absolute; width: 360px; height: 360px; right: -160px; top: -210px; border: 70px solid rgba(255, 255, 255, .05); border-radius: 50%; }
.contact-mark, .contact-copy, .contact-details { position: relative; z-index: 1; }
.contact-mark img { width: 132px; height: 132px; border-radius: 50%; background: #fff; }
.contact-copy h2 { margin: 0 0 18px; font-size: clamp(43px, 4.8vw, 60px); }
.contact-copy > p:not(.overline) { color: #c0d0ca; }
.contact-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.contact-details { display: grid; gap: 14px; margin: 0; font-style: normal; }
.contact-details p { display: grid; margin: 0; padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, .18); color: #eef4f1; font-size: 13px; }
.contact-details span { color: #cdb47d; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.contact-details a { text-decoration: none; }

.site-footer { padding: 75px 0 28px; color: var(--muted); background: var(--linen); }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 60px; padding-bottom: 46px; }
.footer-brand > p { max-width: 310px; margin: 20px 0 0; font-size: 12px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 9px; }
.footer-grid h3 { margin: 0 0 12px; color: var(--pine-950); font-family: var(--display); font-size: 18px; }
.footer-grid a, .footer-grid p { font-size: 12px; text-decoration: none; }
.footer-grid a:hover { color: var(--clay); }
.footer-legal { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 30px; align-items: center; padding-top: 24px; border-top: 1px solid var(--line); font-size: 10px; }
.footer-legal p { margin: 0; }
.footer-legal div { display: flex; gap: 16px; }
.footer-legal a { text-decoration: none; }
.mobile-actions { display: none; }

/* Inner pages */
.inner-main { background: var(--paper); }
.inner-hero { position: relative; overflow: hidden; padding: 92px 0; background: var(--linen); }
.inner-hero-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 80px; align-items: center; }
.inner-hero h1 { margin: 0 0 24px; color: var(--pine-950); font-size: clamp(57px, 6.4vw, 84px); }
.inner-hero-copy > p:not(.overline) { max-width: 650px; color: var(--muted); font-size: 17px; }
.inner-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.inner-hero-media { position: relative; }
.inner-hero-media img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 150px 18px 18px 18px; box-shadow: var(--shadow-lg); }
.inner-hero-badge { position: absolute; left: -25px; bottom: 24px; max-width: 270px; padding: 18px 20px; border: 7px solid var(--linen); border-radius: 14px; color: #fff; background: var(--pine-900); font-family: var(--display); font-size: 16px; }
.content-section { padding: 100px 0; }
.content-section.alt { background: var(--linen); }
.content-heading { max-width: 820px; margin-bottom: 45px; }
.content-heading h2 { margin: 0 0 17px; color: var(--pine-950); font-size: clamp(43px, 5vw, 64px); }
.content-heading > p:last-child { color: var(--muted); }
.page-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 85px; align-items: start; }
.side-card { position: sticky; top: 125px; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--sage-50); }
.side-card h2, .side-card h3 { margin-top: 0; color: var(--pine-950); font-family: var(--display); }
.side-card p, .side-card li { color: var(--muted); font-size: 12px; }
.side-card .button { width: 100%; margin-top: 12px; }
.content-stack h2 { margin: 55px 0 18px; color: var(--pine-950); font-size: 38px; }
.content-stack h2:first-child { margin-top: 0; }
.content-stack h3 { color: var(--pine-950); font-family: var(--display); font-size: 24px; }
.content-stack p, .content-stack li { color: var(--muted); }
.content-stack a { color: var(--pine-800); font-weight: 800; }
.notice { padding: 22px 24px; border-left: 3px solid var(--clay); color: var(--muted); background: var(--sand-light); font-size: 13px; }
.notice strong { color: var(--pine-950); }
.zip-panel { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 38px; border-radius: 18px; color: #fff; background: var(--pine-900); }
.zip-panel h2 { margin: 0 0 8px; color: #fff; font-size: 38px; }
.zip-panel p { margin: 0; color: #bfd0ca; }
.zip-panel-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.process-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-grid article { min-height: 250px; padding: 26px 20px; border-right: 1px solid var(--line); }
.process-grid article:last-child { border-right: 0; }
.process-grid span { color: var(--gold-dark); font-family: var(--display); font-size: 20px; }
.process-grid h3 { margin: 48px 0 8px; color: var(--pine-950); font-family: var(--display); font-size: 20px; }
.process-grid p { margin: 0; color: var(--muted); font-size: 11px; }
.inclusion-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: center; }
.inclusion-panel h2 { margin: 0 0 20px; color: var(--pine-950); font-size: clamp(43px, 5vw, 64px); }
.inclusion-panel p { color: var(--muted); }
.inclusion-panel img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px 150px 18px 18px; }
.faq-categories { display: grid; gap: 70px; }
.faq-category { scroll-margin-top: 125px; }
.faq-category-heading { display: grid; grid-template-columns: 55px 1fr; gap: 16px; margin-bottom: 18px; }
.faq-category-heading > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: #fff; background: var(--pine-800); font-family: var(--display); }
.faq-category-heading h2 { margin: 0; color: var(--pine-950); font-size: 39px; }
.faq-jumps { position: sticky; z-index: 100; top: 82px; padding: 12px 0; border-bottom: 1px solid var(--line); background: rgba(255, 253, 248, .96); backdrop-filter: blur(12px); }
.faq-jumps .shell { display: flex; gap: 8px; overflow-x: auto; }
.faq-jumps a { flex: 0 0 auto; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--pine-800); font-size: 11px; font-weight: 800; text-decoration: none; }
.career-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.career-card { padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.career-card span { color: var(--clay); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.career-card h3 { margin: 28px 0 12px; color: var(--pine-950); font-family: var(--display); font-size: 26px; }
.career-card p, .career-card li { color: var(--muted); font-size: 12px; }
.apply-panel { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; padding: 50px; border-radius: 20px; color: #fff; background: var(--pine-800); }
.apply-panel h2 { margin: 0 0 15px; font-size: 48px; }
.apply-panel p { margin: 0; color: #c2d1cc; }
.apply-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.privacy-content { max-width: 900px; }
.privacy-content h2 { margin-top: 50px; color: var(--pine-950); font-size: 36px; }
.privacy-content h3 { color: var(--pine-950); font-family: var(--display); font-size: 23px; }
.privacy-content p, .privacy-content li { color: var(--muted); }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.js .reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .site-nav { gap: 15px; }
  .site-nav > a { font-size: 11px; }
  .hero-layout { grid-template-columns: .9fr 1.1fr; gap: 40px; }
  .hero-media { min-height: 570px; }
  .hero-copy h1 { font-size: 65px; }
  .culture-mosaic { grid-template-columns: 1fr 1fr; }
  .culture-mosaic figure { min-height: 380px; }
  .language-banner { grid-template-columns: repeat(4, 1fr); }
  .language-banner > p { grid-column: 1 / -1; padding: 15px 0 0; border-top: 1px solid rgba(22,83,67,.15); border-left: 0; }
  .contact-panel { grid-template-columns: 120px 1fr; }
  .contact-details { grid-column: 2; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 920px) {
  :root { --shell: min(760px, calc(100% - 32px)); }
  .section-space { padding: 90px 0; }
  .utility-inner { grid-template-columns: 1fr auto; }
  .utility-languages { display: none; }
  .nav-wrap { min-height: 72px; }
  .menu-button { display: block; }
  .site-nav { position: absolute; top: 72px; left: 16px; right: 16px; display: grid; gap: 0; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-lg); }
  .js .site-nav { opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .2s, transform .2s; }
  .js .site-nav.open { opacity: 1; transform: none; pointer-events: auto; }
  .site-nav > a { padding: 11px 12px; font-size: 13px; }
  .site-nav .nav-call { margin-top: 6px; justify-content: center; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { max-width: 720px; padding-bottom: 20px; }
  .hero-media { min-height: 550px; }
  .hero-image-wrap { inset: 0; border-radius: 180px 180px 24px 24px; }
  .hero-note { left: 18px; bottom: 18px; }
  .hero-language-card { right: 18px; }
  .trust-ribbon { grid-template-columns: 1fr 1fr; }
  .trust-ribbon p:nth-child(2) { border-right: 0; }
  .trust-ribbon p:nth-child(-n+2) { border-bottom: 1px solid rgba(22,83,67,.12); }
  .pathway-grid { grid-template-columns: 1fr 1fr; }
  .pathway:nth-child(2) { border-right: 0; }
  .pathway:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .story-grid, .section-intro, .coverage-layout, .family-layout, .start-layout, .area-layout, .faq-layout, .inner-hero-grid, .page-grid, .inclusion-panel { grid-template-columns: 1fr; gap: 55px; }
  .story-media { max-width: 620px; }
  .feature-services { grid-template-columns: 1fr; }
  .feature-service { display: grid; grid-template-columns: .9fr 1.1fr; }
  .feature-service img { height: 100%; }
  .service-index { grid-template-columns: 1fr 1fr; }
  .service-index > div, .service-index > div:nth-child(3n), .service-index > div:nth-child(3n-1) { padding-left: 0; border-right: 1px solid var(--line); }
  .service-index > div:nth-child(2n) { padding-left: 22px; border-right: 0; }
  .start-intro, .side-card { position: static; }
  .values-row { grid-template-columns: 1fr 1fr; }
  .values-row article:nth-child(2) { border-right: 0; }
  .values-row article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .careers-feature { grid-template-columns: 1fr; }
  .careers-image { min-height: 480px; }
  .careers-panel { padding: 65px var(--shell); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / -1; }
  .footer-legal { grid-template-columns: 1fr; gap: 12px; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-grid article:nth-child(2n) { border-right: 0; }
  .process-grid article:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .process-grid article:last-child { grid-column: 1 / -1; }
  .career-cards { grid-template-columns: 1fr 1fr; }
  .apply-panel { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  :root { --shell: calc(100% - 28px); }
  body { padding-bottom: 66px; }
  .section-space { padding: 74px 0; }
  .utility-inner > p { display: none; }
  .utility-inner { display: flex; justify-content: center; }
  .utility-actions { width: 100%; justify-content: space-between; }
  .brand img { width: 45px; height: 45px; }
  .brand strong { font-size: 19px; }
  .editorial-hero { padding-top: 55px; }
  .hero-copy h1 { font-size: 50px; }
  .hero-lede { font-size: 16px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-media { min-height: 415px; }
  .hero-image-wrap { border-radius: 110px 110px 18px 18px; }
  .hero-language-card { display: none; }
  .hero-note { left: 10px; right: 10px; bottom: 10px; min-width: 0; border-width: 5px; }
  .trust-ribbon { margin-top: 45px; }
  .trust-ribbon p { padding: 14px 10px; font-size: 9px; }
  .trust-ribbon span { font-size: 14px; }
  .pathways { padding: 70px 0; }
  .pathway-heading { display: block; }
  .pathway-heading h2 { font-size: 42px; }
  .pathway-grid { grid-template-columns: 1fr; }
  .pathway { min-height: 165px; border-right: 0; border-bottom: 1px solid var(--line); }
  .pathway:last-child { border-bottom: 0; }
  .story-media { padding: 0 0 28px 20px; }
  .story-media img { border-radius: 90px 90px 14px 14px; }
  .story-stamp { right: -4px; bottom: 0; max-width: 245px; }
  .story-copy h2, .section-intro h2, .coverage-intro h2, .family-copy h2, .culture-heading h2, .start-intro h2, .area-layout h2, .values-heading h2, .faq-title h2 { font-size: 45px; }
  .large-copy { font-size: 19px; }
  .feature-service { display: block; }
  .service-index { grid-template-columns: 1fr; }
  .service-index > div, .service-index > div:nth-child(2n), .service-index > div:nth-child(3n), .service-index > div:nth-child(3n-1) { padding: 20px 0; border-right: 0; }
  .coverage-band { padding-top: 76px; }
  .coverage-truth { align-items: flex-start; flex-direction: column; margin-top: 50px; }
  .family-photo { padding-right: 0; }
  .family-photo img { border-radius: 14px 90px 14px 14px; }
  .photo-quote { position: relative; right: auto; bottom: auto; margin: -30px 12px 0; }
  .horizontal-steps { grid-template-columns: 1fr; }
  .culture-mosaic { display: flex; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }
  .culture-mosaic figure { flex: 0 0 82%; min-height: 390px; scroll-snap-align: start; }
  .language-banner { grid-template-columns: 1fr 1fr; }
  .area-card { min-height: 300px; padding: 35px 25px; border-radius: 100px 100px 16px 16px; }
  .transfer-layout { grid-template-columns: 1fr; }
  .transfer-actions { align-items: stretch; }
  .values-heading { display: block; }
  .values-row { grid-template-columns: 1fr; }
  .values-row article, .values-row article:nth-child(2) { min-height: 180px; border-right: 0; border-bottom: 1px solid var(--line); }
  .values-row article:last-child { border-bottom: 0; }
  .values-row h3 { margin-top: 25px; }
  .careers-image { min-height: 360px; }
  .careers-panel { padding: 60px 26px; }
  .contact-panel { grid-template-columns: 1fr; padding: 38px 26px; }
  .contact-mark img { width: 90px; height: 90px; }
  .contact-details { grid-column: auto; grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .mobile-actions { position: fixed; z-index: 400; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.18); background: var(--pine-950); }
  .mobile-actions a { display: flex; min-height: 60px; align-items: center; justify-content: center; gap: 8px; color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; }
  .mobile-actions a:first-child { border-right: 1px solid rgba(255,255,255,.16); }
  .inner-hero { padding: 68px 0; }
  .inner-hero h1 { font-size: 50px; }
  .inner-hero-media img { border-radius: 90px 14px 14px 14px; }
  .inner-hero-badge { left: 10px; right: 10px; bottom: 10px; max-width: none; }
  .zip-panel { grid-template-columns: 1fr; padding: 30px 24px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article, .process-grid article:nth-child(2n), .process-grid article:last-child { grid-column: auto; min-height: 180px; border-right: 0; border-bottom: 1px solid var(--line); }
  .process-grid h3 { margin-top: 25px; }
  .career-cards { grid-template-columns: 1fr; }
  .apply-panel { padding: 35px 25px; }
  .apply-panel h2 { font-size: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}

/* V5 — cinematic, colorful and human */
:root {
  --mist-blue: #eaf1f5;
  --mist-rose: #f7ece8;
  --mist-lilac: #eeeafb;
  --warm-peach: #f5dfcf;
  --deep-slate: #173e45;
  --dark-clay: #8f4638;
  --electric-teal: #0d7568;
}

body { background: #fffdf9; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #e8b94f; outline-offset: 4px; }
.site-header { background: rgba(255, 253, 249, .91); }
.brand img { box-shadow: 0 6px 18px rgba(9, 44, 37, .12); }

/* Hero: animated stills create a light, silent “magic video” effect. */
.cinematic-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 790px;
  color: #fff;
  background: #062d2b;
}
.hero-slideshow, .hero-color-wash, .hero-magic { position: absolute; inset: 0; }
.hero-slideshow { z-index: -3; }
.hero-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.25s ease; }
.hero-slide.is-active { opacity: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.01); }
.hero-slide:first-child img { object-position: 59% center; }
.hero-slide.is-active img { animation: heroZoom 8s linear both; }
.hero-color-wash {
  z-index: -2;
  background:
    radial-gradient(circle at 76% 24%, rgba(25, 188, 156, .22), transparent 27%),
    radial-gradient(circle at 78% 83%, rgba(185, 118, 209, .20), transparent 30%),
    linear-gradient(90deg, rgba(4, 35, 32, .96) 0%, rgba(5, 48, 43, .88) 43%, rgba(21, 32, 53, .51) 72%, rgba(91, 38, 50, .39) 100%);
}
.hero-color-wash:after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(4, 26, 24, .82)); }
.hero-magic { z-index: -1; pointer-events: none; }
.hero-magic span { position: absolute; color: #f6cf75; filter: drop-shadow(0 0 12px rgba(246, 207, 117, .75)); animation: magicFloat 6s ease-in-out infinite; }
.hero-magic span:nth-child(1) { left: 7%; top: 19%; font-size: 28px; }
.hero-magic span:nth-child(2) { right: 10%; top: 14%; font-size: 46px; animation-delay: -2s; }
.hero-magic span:nth-child(3) { right: 35%; bottom: 20%; font-size: 20px; animation-delay: -4s; }
.hero-magic span:nth-child(4) { left: 43%; top: 11%; font-size: 30px; animation-delay: -1s; }
.cinematic-hero-inner { min-height: 650px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); gap: 78px; align-items: center; padding-top: 64px; padding-bottom: 36px; }
.cinematic-copy { max-width: 710px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 22px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #f8ead0; background: rgba(255,255,255,.09); backdrop-filter: blur(12px); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-kicker span { font-size: 16px; }
.cinematic-copy h1 { max-width: 770px; margin: 0 0 26px; font-size: clamp(62px, 7vw, 96px); text-shadow: 0 12px 45px rgba(0,0,0,.18); }
.cinematic-copy h1 em { color: #f4c768; font-style: italic; font-weight: 500; }
.cinematic-copy .hero-lede { max-width: 620px; color: rgba(255,255,255,.82); font-size: 19px; }
.hero-button-primary { color: #092c25; background: linear-gradient(135deg, #f9d983, #f4b94d); box-shadow: 0 14px 32px rgba(236, 176, 61, .26); }
.hero-button-primary:hover { color: #092c25; background: #fff2c9; }
.hero-button-glass { border-color: rgba(255,255,255,.42); color: #fff; background: rgba(255,255,255,.10); backdrop-filter: blur(12px); }
.hero-button-glass:hover { background: rgba(255,255,255,.2); }
.hero-language-line { display: flex; gap: 12px; align-items: center; max-width: 570px; margin-top: 22px; color: rgba(255,255,255,.72); font-size: 12px; }
.hero-language-line > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); }
.hero-language-line p { margin: 0; }
.hero-language-line strong { color: #fff; }
.hero-orbit { position: relative; width: min(480px, 100%); aspect-ratio: 1; justify-self: end; }
.orbit-ring { position: absolute; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; }
.orbit-ring-one { inset: 4%; animation: orbitSpin 28s linear infinite; }
.orbit-ring-one:before, .orbit-ring-two:before { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #f4c768; box-shadow: 0 0 22px rgba(244,199,104,.8); }
.orbit-ring-one:before { left: 12%; top: 9%; }
.orbit-ring-two { inset: 17%; border-style: dashed; animation: orbitSpinReverse 22s linear infinite; }
.orbit-ring-two:before { right: 4%; bottom: 20%; background: #85dac6; }
.orbit-brand { position: absolute; inset: 25%; display: grid; align-content: center; justify-items: center; padding: 22px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 24px 70px rgba(0,0,0,.23); text-align: center; animation: gentleFloat 5s ease-in-out infinite; }
.orbit-brand img { width: 104px; height: 104px; object-fit: contain; border-radius: 50%; }
.orbit-brand span { margin-top: 8px; color: #8a6b31; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.orbit-brand strong { color: var(--pine-950); font-family: var(--display); font-size: 19px; }
.orbit-note { position: absolute; display: flex; gap: 9px; align-items: center; padding: 11px 15px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(7,49,45,.69); box-shadow: 0 14px 35px rgba(0,0,0,.18); backdrop-filter: blur(13px); font-size: 11px; }
.orbit-note span { font-size: 18px; }
.orbit-note-one { left: -2%; top: 24%; }
.orbit-note-two { right: -3%; top: 36%; }
.orbit-note-three { left: 15%; bottom: 5%; }
.cinematic-footer { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 34px; align-items: center; padding-bottom: 30px; }
.hero-motion-control { display: flex; gap: 16px; align-items: center; }
.hero-motion-control button { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hero-dots { display: flex; gap: 6px; }
.hero-dots i { width: 18px; height: 3px; border-radius: 999px; background: rgba(255,255,255,.27); transition: width .35s, background .35s; }
.hero-dots i.is-active { width: 36px; background: #f4c768; }
.hero-proof { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.hero-proof p { display: flex; gap: 10px; align-items: center; margin: 0; padding: 14px 18px; border-right: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.84); font-size: 10px; font-weight: 700; }
.hero-proof p:last-child { border-right: 0; }
.hero-proof span { color: #f4c768; font-family: var(--display); font-size: 15px; }
.cinematic-hero.is-paused .hero-magic span, .cinematic-hero.is-paused .orbit-ring, .cinematic-hero.is-paused .orbit-brand, .cinematic-hero.is-paused .hero-slide.is-active img { animation-play-state: paused; }

/* A more playful color rhythm with a different composition in each chapter. */
.pathways { background: #e8f1ec; }
.pathway-grid { gap: 13px; border: 0; }
.pathway { position: relative; overflow: hidden; min-height: 235px; border: 0; border-radius: 24px; box-shadow: 0 15px 35px rgba(26,58,50,.06); }
.pathway:nth-child(1) { background: linear-gradient(145deg, #fff7dc, #f8dba5); }
.pathway:nth-child(2) { background: linear-gradient(145deg, #e9f4ff, #cfe3f5); }
.pathway:nth-child(3) { background: linear-gradient(145deg, #fae9e6, #eec8c0); }
.pathway:nth-child(4) { background: linear-gradient(145deg, #eeeafb, #d9d2f4); }
.pathway-emoji { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 15px; background: rgba(255,255,255,.67); box-shadow: 0 8px 20px rgba(20,50,40,.08); font-size: 20px; }
.pathway:hover { background: var(--pine-800); transform: translateY(-6px); box-shadow: 0 23px 46px rgba(10,49,40,.18); }
.pathway { transition: transform .3s ease, color .25s, background .25s, box-shadow .3s; }
.story-section { background: #fffdf9; }
.story-media img { box-shadow: 0 25px 65px rgba(53,43,38,.15); }
.services-section { background: var(--mist-blue); }
.feature-service { border-color: rgba(38,83,96,.12); box-shadow: 0 18px 45px rgba(45,72,83,.08); }
.feature-service:nth-child(1) { border-radius: 120px 22px 22px 22px; }
.feature-service:nth-child(2) { border-radius: 22px 22px 120px 22px; transform: translateY(34px); }
.feature-service:nth-child(3) { border-radius: 22px 120px 22px 22px; }
.feature-service img { overflow: hidden; }
.coverage-band { background: radial-gradient(circle at 85% 10%, rgba(24,130,114,.45), transparent 30%), linear-gradient(135deg, #082e28, #123d43); }
.family-caregiver { background: linear-gradient(120deg, #f3e5d4, #f9eee4 58%, #f1e0da); }
.photo-quote { background: linear-gradient(135deg, #a84f43, #70405f); }
.culture-section { background: linear-gradient(180deg, #f8efeb, #f3e7f3); }
.culture-mosaic figure:nth-child(2) { transform: translateY(24px); }
.culture-mosaic figure:nth-child(3) { transform: translateY(-16px); }
.language-banner { background: linear-gradient(100deg, #fff7dc, #eaf6f1 45%, #efeafa); }
.start-section { background: #fff; }
.area-teaser { background: linear-gradient(135deg, #dfeee7, #dfeef2); }
.area-card { background: linear-gradient(145deg, #fff, #fff7dc); box-shadow: 0 24px 55px rgba(15,63,53,.13); }
.transfer-band { color: #fff; background: radial-gradient(circle at 90% 10%, rgba(255,205,157,.26), transparent 30%), linear-gradient(125deg, #8f4638, #6d3f56); }
.transfer-layout .overline, .transfer-layout h2, .transfer-layout > div:first-child > p:last-child, .transfer-actions > a:last-child, .transfer-disclaimer { color: #fff; }
.transfer-disclaimer { border-color: rgba(255,255,255,.22); }
.values-section { position: relative; overflow: hidden; background: linear-gradient(145deg, #f9f1e5, #eef4ed); }
.values-section:before { content: "✦"; position: absolute; left: -40px; top: -110px; color: rgba(181,138,59,.11); font-size: 320px; line-height: 1; }
.values-showcase { display: grid; grid-template-columns: 1.12fr .88fr; gap: 65px; align-items: center; }
.values-heading { display: block; }
.values-heading h2 { max-width: 760px; }
.values-row { grid-template-columns: 1fr 1fr; border: 0; gap: 12px; }
.values-row article { min-height: 170px; border: 1px solid rgba(16,72,59,.12) !important; border-radius: 20px; background: rgba(255,255,255,.7); box-shadow: 0 14px 30px rgba(34,60,51,.05); }
.values-row article:nth-child(2) { background: rgba(247,236,232,.88); }
.values-row article:nth-child(3) { background: rgba(234,241,245,.88); }
.values-row article:nth-child(4) { background: rgba(238,234,251,.88); }
.values-row h3 { margin-top: 24px; }
.brand-art-card { position: relative; overflow: hidden; margin: 0; padding: 18px; border: 1px solid rgba(181,138,59,.25); border-radius: 34px; background: #fff; box-shadow: 0 30px 70px rgba(40,58,51,.14); transform: rotate(1.5deg); }
.brand-art-card img { width: 100%; height: auto; border-radius: 22px; }
.brand-art-card figcaption { display: flex; gap: 9px; align-items: center; justify-content: center; padding: 15px 5px 2px; color: var(--pine-900); font-family: var(--display); font-size: 17px; }
.brand-shimmer { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.brand-shimmer:after { content: ""; position: absolute; top: -20%; bottom: -20%; left: -55%; width: 28%; transform: rotate(16deg); background: linear-gradient(90deg, transparent, rgba(255,238,174,.68), transparent); }
.reveal.visible .brand-shimmer:after { animation: brandShimmer 1.35s ease .25s both; }
.faq-preview { background: linear-gradient(135deg, #eaf1f5, #f3eef9); }
.accordion-list details { border-color: rgba(52,73,82,.16); }
.careers-feature { background: var(--deep-slate); }
.careers-panel { background: radial-gradient(circle at 80% 16%, rgba(172,112,178,.28), transparent 35%); }
.contact-section { background: linear-gradient(180deg, #fff, #edf3f0); }
.contact-panel { grid-template-columns: minmax(270px, .72fr) 1fr .72fr; gap: 42px; padding: 46px; background: radial-gradient(circle at 96% 4%, rgba(77,190,168,.30), transparent 27%), radial-gradient(circle at 30% 100%, rgba(146,89,147,.22), transparent 35%), linear-gradient(135deg, #07372f, #183f48); }
.contact-brand-art { position: relative; overflow: hidden; align-self: stretch; border: 9px solid rgba(255,255,255,.13); border-radius: 26px; background: #fff; box-shadow: 0 22px 55px rgba(0,0,0,.22); }
.contact-brand-art img { width: 100%; height: 100%; max-height: 490px; object-fit: cover; object-position: top center; }
.contact-copy h2 { font-size: clamp(44px, 4.5vw, 64px); }
.site-footer { background: linear-gradient(180deg, #f8f4ec, #eeeae2); }

/* Targeted photo motion rather than moving every element forever. */
.js .story-media img, .js .family-photo img { clip-path: inset(0 0 100% 0 round 22px); transform: translateY(18px) scale(1.02); transition: clip-path .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1); }
.js .story-media.visible img, .js .family-photo.visible img { clip-path: inset(0 0 0 0 round 22px); transform: none; }
.js .feature-service:nth-child(2) { transition-delay: .08s; }
.js .feature-service:nth-child(3) { transition-delay: .16s; }
.feature-service:hover img, .feature-service:focus-within img, .culture-mosaic figure:hover img, .culture-mosaic figure:focus-within img { transform: scale(1.035); }

/* Inner pages each get their own visual mood. */
.service-area-page .inner-hero { color: #fff; background: radial-gradient(circle at 85% 20%, rgba(94,213,184,.35), transparent 28%), linear-gradient(135deg, #073a33, #15535a); }
.service-area-page .inner-hero h1, .service-area-page .inner-hero .overline { color: #fff; }
.service-area-page .inner-hero-copy > p:not(.overline) { color: rgba(255,255,255,.78); }
.service-area-page .inner-hero .button-outline { border-color: rgba(255,255,255,.45); color: #fff; background: rgba(255,255,255,.08); }
.service-area-page .inner-hero-badge { background: #7b4054; }
.faq-page .inner-hero { background: radial-gradient(circle at 12% 5%, #fff5c9, transparent 28%), linear-gradient(135deg, #eeeafb, #f7ece8); }
.faq-page .inner-hero-media img { border-radius: 22px 160px 22px 22px; }
.faq-page .inner-hero-badge { background: #6d4b83; }
.careers-page .inner-hero { color: #fff; background: radial-gradient(circle at 10% 90%, rgba(238,167,126,.30), transparent 35%), linear-gradient(130deg, #173e45, #5c3d62); }
.careers-page .inner-hero h1, .careers-page .inner-hero .overline { color: #fff; }
.careers-page .inner-hero-copy > p:not(.overline) { color: rgba(255,255,255,.78); }
.careers-page .inner-hero .button-outline { border-color: rgba(255,255,255,.45); color: #fff; background: rgba(255,255,255,.08); }
.careers-page .inner-hero-badge { background: #b3604f; }
.privacy-page .inner-hero { background: linear-gradient(135deg, #e7f3f6, #eef0fb); }
.service-area-page .content-section.alt { background: #e8f1ec; }
.faq-page .faq-jumps { background: rgba(246,243,251,.96); }
.careers-page .content-section.alt { background: #f7ece8; }
.careers-page .career-card:nth-child(1) { background: #fff7dc; }
.careers-page .career-card:nth-child(2) { background: #e8f1ec; }
.careers-page .career-card:nth-child(3) { background: #eeeafb; }

@keyframes heroZoom { from { transform: scale(1.01); } to { transform: scale(1.07); } }
@keyframes magicFloat { 0%, 100% { opacity: .4; transform: translateY(0) rotate(0); } 50% { opacity: 1; transform: translateY(-16px) rotate(12deg); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes orbitSpinReverse { to { transform: rotate(-360deg); } }
@keyframes gentleFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes brandShimmer { from { left: -55%; } to { left: 130%; } }

@media (max-width: 1120px) {
  .cinematic-hero-inner { grid-template-columns: 1.08fr .92fr; gap: 35px; }
  .hero-orbit { width: min(410px, 100%); }
  .orbit-note-two { right: 0; }
  .contact-panel { grid-template-columns: 250px 1fr; }
  .contact-brand-art { grid-row: span 2; }
  .contact-details { grid-column: 2; }
}

@media (max-width: 920px) {
  .cinematic-hero { min-height: auto; }
  .cinematic-hero-inner { min-height: 700px; grid-template-columns: 1fr; gap: 26px; padding-top: 76px; }
  .cinematic-copy { max-width: 760px; }
  .hero-orbit { position: absolute; z-index: -1; right: -110px; bottom: 40px; width: 380px; opacity: .42; }
  .cinematic-footer { grid-template-columns: 1fr; }
  .hero-motion-control { justify-content: flex-end; }
  .feature-service:nth-child(2) { transform: none; }
  .culture-mosaic figure:nth-child(2), .culture-mosaic figure:nth-child(3) { transform: none; }
  .values-showcase { grid-template-columns: 1fr; }
  .brand-art-card { width: min(560px, 100%); margin-inline: auto; transform: none; }
  .contact-panel { grid-template-columns: minmax(220px, .72fr) 1fr; }
}

@media (max-width: 620px) {
  .cinematic-hero { min-height: 720px; }
  .hero-slide:not(:first-child) { display: none; }
  .hero-slide:first-child { opacity: 1; }
  .hero-slide:first-child img { animation: none; transform: none; object-position: 60% center; }
  .hero-color-wash { background: linear-gradient(180deg, rgba(4,35,32,.90), rgba(9,48,44,.76) 58%, rgba(31,24,42,.86)); }
  .cinematic-hero-inner { min-height: 620px; padding-top: 58px; padding-bottom: 24px; }
  .hero-kicker { font-size: 9px; }
  .cinematic-copy h1 { font-size: 52px; }
  .cinematic-copy .hero-lede { font-size: 16px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-language-line { align-items: flex-start; }
  .hero-orbit { display: none; }
  .hero-motion-control { display: none; }
  .hero-proof { grid-template-columns: 1fr 1fr; }
  .hero-proof p:nth-child(2) { border-right: 0; }
  .hero-proof p:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .cinematic-footer { padding-bottom: 22px; }
  .pathway-grid { display: grid; gap: 10px; }
  .pathway { min-height: 190px; border: 0; }
  .feature-service:nth-child(1), .feature-service:nth-child(2), .feature-service:nth-child(3) { border-radius: 22px; }
  .values-row { grid-template-columns: 1fr; }
  .values-row article { min-height: 145px; }
  .brand-art-card { padding: 10px; border-radius: 24px; }
  .contact-panel { grid-template-columns: 1fr; padding: 24px; }
  .contact-brand-art { grid-row: auto; max-width: 360px; margin-inline: auto; }
  .contact-brand-art img { max-height: none; }
  .contact-details { grid-column: auto; }
  .service-area-page .inner-hero-media img, .faq-page .inner-hero-media img, .careers-page .inner-hero-media img { border-radius: 80px 18px 18px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide { display: none; opacity: 0; }
  .hero-slide:first-child { display: block; opacity: 1; }
  .hero-slide img, .hero-magic span, .orbit-ring, .orbit-brand, .brand-shimmer:after { animation: none !important; }
  .js .story-media img, .js .family-photo img { clip-path: none; transform: none; }
}

/* V6 — caregiver careers and hiring journey */
.careers-page .career-hero {
  padding: 100px 0 92px;
  background:
    radial-gradient(circle at 7% 88%, rgba(238,167,126,.34), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(92,216,190,.22), transparent 26%),
    linear-gradient(132deg, #123f43 0%, #35465b 48%, #633f64 100%);
}
.career-hero-proof { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.career-hero-proof span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: rgba(255,255,255,.86); background: rgba(255,255,255,.08); font-size: 10px; font-weight: 750; }

.career-bonus-band { position: relative; overflow: hidden; padding: 42px 0 22px; color: #17352d; background: linear-gradient(110deg, #f9e8a8, #f7d9b2 46%, #d9eada); }
.career-bonus-band:before { content: ""; position: absolute; width: 310px; height: 310px; top: -180px; right: 5%; border: 1px solid rgba(140,101,38,.2); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.12), 0 0 0 86px rgba(255,255,255,.08); }
.bonus-layout { position: relative; display: grid; grid-template-columns: auto auto 1fr auto; gap: 26px; align-items: center; }
.bonus-icon { display: grid; width: 76px; height: 76px; place-items: center; border: 1px solid rgba(140,101,38,.22); border-radius: 24px; background: rgba(255,255,255,.48); box-shadow: 0 14px 35px rgba(99,73,32,.11); font-size: 35px; transform: rotate(-4deg); }
.bonus-amount { display: grid; min-width: 225px; }
.bonus-amount span { color: #704f22; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.bonus-amount strong { color: #173e45; font-family: var(--display); font-size: 43px; font-weight: 500; letter-spacing: -.04em; line-height: 1.05; }
.bonus-copy { max-width: 590px; }
.bonus-copy h2 { margin: 0 0 7px; color: #173e45; font-size: 27px; letter-spacing: -.02em; }
.bonus-copy p { margin: 0; color: #56665f; font-size: 12px; }
.bonus-terms { position: relative; margin-top: 22px; padding-top: 17px; border-top: 1px solid rgba(83,83,58,.16); color: #665f50; font-size: 10px; line-height: 1.55; }

.career-benefits-section { background: linear-gradient(180deg, #fffdf9, #f7faf8); }
.career-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.career-benefit { min-height: 255px; padding: 28px 25px; border: 1px solid rgba(22,83,67,.11); border-radius: 22px; box-shadow: 0 15px 38px rgba(21,59,50,.06); }
.career-benefit:nth-child(1) { background: #fff7dc; }
.career-benefit:nth-child(2) { background: #e6f2ed; transform: translateY(14px); }
.career-benefit:nth-child(3) { background: #eef0fb; }
.career-benefit:nth-child(4) { background: #f7ece8; transform: translateY(14px); }
.career-benefit > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: rgba(255,255,255,.67); font-size: 22px; }
.career-benefit h3 { margin: 40px 0 10px; color: var(--pine-950); font-family: var(--display); font-size: 23px; }
.career-benefit p { margin: 0; color: var(--muted); font-size: 12px; }

.careers-page .career-openings { background: linear-gradient(135deg, #f8ece7 0%, #f3eff8 50%, #eaf2f1 100%); }
.opportunity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.opportunity-card { display: grid; grid-template-columns: 58px 1fr; gap: 20px; min-height: 365px; padding: 34px; border: 1px solid rgba(27,64,55,.11); border-radius: 24px; background: rgba(255,255,255,.82); box-shadow: 0 18px 45px rgba(35,51,48,.06); }
.opportunity-card:nth-child(2), .opportunity-card:nth-child(3) { background: rgba(255,253,244,.88); }
.opportunity-number { color: #b3604f; font-family: var(--display); font-size: 24px; }
.opportunity-type { margin: 1px 0 8px; color: var(--pine-700); font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.opportunity-card h3 { margin: 0 0 16px; color: var(--pine-950); font-family: var(--display); font-size: 29px; }
.opportunity-card p, .opportunity-card li { color: var(--muted); font-size: 12px; }
.opportunity-card ul { margin: 22px 0 0; padding: 18px 0 0 17px; border-top: 1px solid var(--line); }
.opportunity-card li + li { margin-top: 6px; }

.career-questions-section { color: #fff; background: #173e45; }
.career-questions-grid { grid-template-columns: .82fr 1.18fr; gap: 70px; }
.career-photo-card { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: #70475f; box-shadow: 0 28px 70px rgba(0,0,0,.19); }
.career-photo-card img { width: 100%; aspect-ratio: 4 / 3.25; object-fit: cover; }
.career-photo-card > div { padding: 30px; }
.career-photo-card h2 { margin: 0 0 12px; color: #fff; font-size: 37px; }
.career-photo-card p:last-child { color: rgba(255,255,255,.72); font-size: 12px; }
.career-questions > .overline { color: #e8c77e; }
.career-questions article { padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.career-questions article:first-of-type { padding-top: 3px; }
.career-questions article:last-child { border-bottom: 0; }
.career-questions h3 { margin: 0 0 8px; color: #fff; font-family: var(--display); font-size: 25px; }
.career-questions p { margin: 0; color: #bcd0ca; font-size: 12px; }

.careers-page .career-scope-section { background: linear-gradient(180deg, #f7f1e7, #fffdf8); }
.career-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: start; }
.career-scope .content-stack h2, .career-readiness h2 { margin: 0 0 18px; color: var(--pine-950); font-size: 47px; }
.scope-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.scope-list span { padding: 10px 13px; border: 1px solid rgba(22,83,67,.15); border-radius: 999px; color: #315a4f; background: #fff; font-size: 11px; font-weight: 750; }
.career-readiness { padding: 35px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.career-readiness ul { margin: 0 0 25px; padding-left: 20px; color: var(--muted); }
.career-readiness li { padding: 5px 0; font-size: 12px; }

.career-process-section { background: #fff; }
.career-process article:nth-child(1) { background: #fff7dc; }
.career-process article:nth-child(2) { background: #eef0fb; }
.career-process article:nth-child(3) { background: #e8f1ec; }
.career-process article:nth-child(4) { background: #f7ece8; }
.career-process article:nth-child(5) { background: #edf4f5; }

.career-inclusion { background: linear-gradient(135deg, #e9f1ec, #eef0fb); }
.career-inclusion .language-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.career-inclusion .language-pills span { padding: 9px 15px; border: 1px solid rgba(22,83,67,.14); border-radius: 999px; color: var(--pine-800); background: rgba(255,255,255,.67); font-size: 12px; font-weight: 800; }

.career-apply-section { background: linear-gradient(180deg, #fff, #f7ece8); }
.careers-page .apply-panel { position: relative; overflow: hidden; padding: 58px; background: radial-gradient(circle at 95% 5%, rgba(210,175,95,.24), transparent 30%), linear-gradient(135deg, #0a4439, #234858 57%, #684463); box-shadow: 0 28px 65px rgba(20,59,50,.16); }
.careers-page .apply-panel:after { content: "✦"; position: absolute; right: 24px; bottom: -34px; color: rgba(255,255,255,.09); font-family: var(--display); font-size: 160px; line-height: 1; }
.careers-page .apply-panel > * { position: relative; z-index: 1; }
.careers-page .apply-panel > div:first-child { max-width: 700px; }
.careers-page .apply-actions { max-width: 250px; flex-direction: column; }
.careers-page .apply-actions .button { width: 100%; }
.apply-safety { margin-top: 16px !important; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.16); font-size: 10px !important; }
.apply-safety strong { color: #fff; }

@media (max-width: 1120px) {
  .bonus-layout { grid-template-columns: auto 1fr auto; }
  .bonus-icon { display: none; }
  .career-benefits { grid-template-columns: 1fr 1fr; }
  .career-benefit:nth-child(2), .career-benefit:nth-child(4) { transform: none; }
}

@media (max-width: 920px) {
  .bonus-layout { grid-template-columns: 1fr auto; }
  .bonus-copy { grid-column: 1 / -1; }
  .career-questions-grid, .career-scope { grid-template-columns: 1fr; gap: 48px; }
  .career-photo-card { max-width: 620px; }
  .careers-page .apply-actions { max-width: none; flex-direction: row; }
}

@media (max-width: 700px) {
  .careers-page .career-hero { padding: 68px 0; }
  .career-hero-proof { display: grid; }
  .career-hero-proof span { width: fit-content; }
  .career-bonus-band { padding-top: 32px; }
  .bonus-layout { grid-template-columns: 1fr; gap: 17px; }
  .bonus-amount strong { font-size: 38px; }
  .bonus-layout .button { width: 100%; }
  .career-benefits, .opportunity-grid { grid-template-columns: 1fr; }
  .career-benefit { min-height: 220px; }
  .opportunity-card { grid-template-columns: 42px 1fr; gap: 13px; min-height: auto; padding: 25px 20px; }
  .career-photo-card h2 { font-size: 33px; }
  .career-scope .content-stack h2, .career-readiness h2 { font-size: 39px; }
  .career-readiness { padding: 27px 22px; }
  .careers-page .apply-panel { padding: 38px 25px; }
  .careers-page .apply-actions { flex-direction: column; }
}

/* V7 — secure caregiver and client portal access center */
.portal-page { background: #f8faf8; }
.portal-hero {
  position: relative;
  overflow: hidden;
  padding: 104px 0 96px;
  color: #fff;
  background:
    radial-gradient(circle at 8% 92%, rgba(221,174,83,.28), transparent 31%),
    radial-gradient(circle at 92% 14%, rgba(81,202,176,.25), transparent 28%),
    linear-gradient(132deg, #073b34 0%, #174851 50%, #4f405f 100%);
}
.portal-hero:after { content: "✦"; position: absolute; right: 3%; bottom: -95px; color: rgba(255,255,255,.07); font-family: var(--display); font-size: 300px; line-height: 1; }
.portal-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; gap: 76px; align-items: center; }
.portal-hero-copy h1 { max-width: 760px; margin: 0 0 24px; color: #fff; font-size: clamp(54px, 6.8vw, 88px); line-height: .97; letter-spacing: -.045em; }
.portal-hero-copy > p:not(.overline) { max-width: 690px; color: rgba(255,255,255,.79); font-size: 17px; }
.portal-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.portal-hero-promise { display: flex; gap: 13px; align-items: flex-start; max-width: 650px; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.17); }
.portal-hero-promise > span { font-size: 23px; }
.portal-hero-promise p { margin: 0; color: rgba(255,255,255,.72); font-size: 11px; }
.portal-hero-promise strong { color: #fff; }

.portal-preview-card { overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 28px; background: rgba(255,255,255,.96); box-shadow: 0 35px 90px rgba(0,0,0,.25); transform: rotate(1.4deg); }
.portal-preview-top { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 22px 24px; color: var(--pine-950); background: linear-gradient(110deg, #fff8de, #e5f1ec); }
.portal-preview-top img { border-radius: 50%; box-shadow: 0 8px 20px rgba(22,83,67,.13); }
.portal-preview-top div { display: grid; }
.portal-preview-top span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.portal-preview-top strong { font-family: var(--display); font-size: 24px; font-weight: 600; }
.portal-preview-top b { padding: 7px 10px; border-radius: 999px; color: #704f22; background: #f9e8a8; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.portal-preview-body { padding: 27px 25px 23px; color: var(--pine-950); }
.portal-preview-body > p { margin: 0 0 18px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.portal-preview-body > div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.portal-preview-body > div:last-child { border-bottom: 0; }
.portal-preview-body > div > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: var(--pine-700); font-size: 12px; }
.portal-preview-body p { display: grid; margin: 0; }
.portal-preview-body strong { font-size: 12px; }
.portal-preview-body small { color: var(--muted); font-size: 10px; }
.portal-preview-foot { margin: 0; padding: 15px 24px; color: #49645c; background: #eff5f2; font-size: 9px; font-weight: 750; text-align: center; }

.portal-access-section { padding: 100px 0; background: linear-gradient(180deg, #fff, #f6faf8); }
.portal-access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.portal-access-card { position: relative; overflow: hidden; padding: 42px; border: 1px solid rgba(18,75,61,.12); border-radius: 28px; box-shadow: 0 24px 55px rgba(31,65,56,.08); }
.portal-access-card:after { content: ""; position: absolute; width: 210px; height: 210px; right: -95px; top: -105px; border: 1px solid rgba(22,83,67,.11); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.14), 0 0 0 68px rgba(255,255,255,.09); }
.caregiver-access { background: linear-gradient(145deg, #fff8dc, #f8eee4); }
.family-access { background: linear-gradient(145deg, #e4f2ec, #e8f0f6); }
.portal-card-head { position: relative; z-index: 1; display: flex; gap: 14px; align-items: center; }
.portal-card-head > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: rgba(255,255,255,.75); box-shadow: 0 12px 26px rgba(33,67,57,.08); font-size: 27px; }
.portal-card-head p { margin: 0; color: var(--pine-700); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.portal-access-card h3 { position: relative; z-index: 1; margin: 28px 0 14px; color: var(--pine-950); font-family: var(--display); font-size: 43px; }
.portal-access-card > p { position: relative; z-index: 1; color: var(--muted); font-size: 13px; }
.portal-access-card ul { position: relative; z-index: 1; display: grid; gap: 9px; margin: 25px 0 30px; padding: 22px 0 0 21px; border-top: 1px solid rgba(22,83,67,.13); color: #3c5f55; }
.portal-access-card li { font-size: 11px; }
.portal-access-card .button { position: relative; z-index: 1; }
.portal-email-warning { margin: 23px 0 0; padding: 17px 20px; border: 1px solid rgba(174,107,70,.18); border-radius: 14px; color: #685d50; background: #fff8f1; font-size: 10px; text-align: center; }

.portal-workflow-section { padding: 100px 0; color: #fff; background: radial-gradient(circle at 88% 6%, rgba(153,103,163,.26), transparent 30%), linear-gradient(135deg, #0a3c35, #173f48); }
.portal-workflow-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 84px; align-items: start; }
.portal-workflow-intro { position: sticky; top: 125px; }
.portal-workflow-intro h2 { margin: 0 0 20px; color: #fff; font-size: 50px; }
.portal-workflow-intro > p:not(.overline) { color: #bed0ca; font-size: 13px; }
.portal-workflow-intro .button { margin-top: 22px; }
.portal-workflow { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.portal-workflow li { display: grid; grid-template-columns: 58px 1fr; gap: 19px; padding: 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.06); }
.portal-workflow li > span { color: #efcc80; font-family: var(--display); font-size: 22px; }
.portal-workflow h3 { margin: 0 0 6px; color: #fff; font-family: var(--display); font-size: 23px; }
.portal-workflow p { margin: 0; color: #b9cbc5; font-size: 11px; }

.portal-tools-section { background: linear-gradient(145deg, #f9f3e8, #edf4f1 52%, #f1edf7); }
.portal-tools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.portal-tools-grid article { min-height: 235px; padding: 28px; border: 1px solid rgba(20,75,62,.11); border-radius: 22px; background: rgba(255,255,255,.79); box-shadow: 0 16px 38px rgba(28,63,53,.05); }
.portal-tools-grid article:nth-child(2), .portal-tools-grid article:nth-child(5) { background: rgba(255,249,224,.86); }
.portal-tools-grid article > span { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 15px; background: #edf4f1; font-size: 23px; }
.portal-tools-grid h3 { margin: 34px 0 9px; color: var(--pine-950); font-family: var(--display); font-size: 25px; }
.portal-tools-grid p { margin: 0; color: var(--muted); font-size: 11px; }

.portal-evv-section { padding: 76px 0; background: #fff; }
.portal-evv-card { display: grid; grid-template-columns: auto 1.2fr .8fr; gap: 35px; align-items: center; padding: 43px; border: 1px solid rgba(22,83,67,.13); border-radius: 28px; background: linear-gradient(125deg, #f6fbf8, #fff9e9); box-shadow: var(--shadow-sm); }
.portal-evv-icon { display: grid; width: 82px; height: 82px; place-items: center; border-radius: 24px; color: #fff; background: linear-gradient(145deg, #0e5b4c, #6b4c73); box-shadow: 0 16px 35px rgba(32,65,58,.18); font-size: 35px; }
.portal-evv-card h2 { margin: 0 0 11px; color: var(--pine-950); font-size: 40px; }
.portal-evv-card > div:nth-child(2) > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.portal-status-list { padding: 23px; border-radius: 18px; background: #fff; }
.portal-status-list p { display: grid; grid-template-columns: 1fr auto; gap: 15px; margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.portal-status-list p:last-child { border-bottom: 0; }
.portal-status-list span { color: var(--muted); }
.portal-status-list strong { color: var(--pine-800); text-align: right; }

.portal-safety-section { background: linear-gradient(135deg, #f4e9e5, #eeeafa); }
.portal-safety-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; }
.portal-safety-layout h2 { margin: 0 0 19px; color: var(--pine-950); font-size: 49px; }
.portal-safety-layout > div:first-child > p:last-child { color: var(--muted); font-size: 13px; }
.portal-safety-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.portal-safety-list p { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; min-height: 83px; margin: 0; padding: 17px; border: 1px solid rgba(33,60,56,.09); border-radius: 18px; background: rgba(255,255,255,.71); }
.portal-safety-list span { font-size: 20px; }
.portal-safety-list strong { color: #34594f; font-size: 10px; line-height: 1.45; }

.portal-help-section { padding: 76px 0; background: #f7faf8; }
.portal-help-card { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; padding: 42px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 92% 0%, rgba(219,180,98,.22), transparent 30%), linear-gradient(130deg, #0a4037, #35485c 56%, #664464); box-shadow: 0 24px 60px rgba(25,59,51,.15); }
.portal-help-card img { border-radius: 50%; background: #fff; box-shadow: 0 14px 32px rgba(0,0,0,.18); }
.portal-help-card h2 { margin: 0 0 8px; color: #fff; font-size: 38px; }
.portal-help-card > div:nth-child(2) > p:last-child { margin: 0; color: rgba(255,255,255,.74); font-size: 11px; }
.portal-help-actions { display: grid; gap: 9px; min-width: 205px; }

@media (max-width: 1120px) {
  .portal-hero-grid { gap: 45px; }
  .portal-workflow-layout { gap: 55px; }
  .portal-evv-card { grid-template-columns: auto 1fr; }
  .portal-status-list { grid-column: 1 / -1; }
}

@media (max-width: 920px) {
  .portal-hero-grid, .portal-workflow-layout, .portal-safety-layout { grid-template-columns: 1fr; }
  .portal-preview-card { width: min(590px, 100%); transform: none; }
  .portal-workflow-intro { position: static; }
  .portal-tools-grid { grid-template-columns: 1fr 1fr; }
  .portal-help-card { grid-template-columns: auto 1fr; }
  .portal-help-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .portal-hero { padding: 70px 0; }
  .portal-hero-copy h1 { font-size: 52px; }
  .portal-hero-actions { flex-direction: column; }
  .portal-hero-actions .button { width: 100%; }
  .portal-access-section, .portal-workflow-section { padding: 72px 0; }
  .portal-access-grid, .portal-tools-grid, .portal-safety-list { grid-template-columns: 1fr; }
  .portal-access-card { padding: 30px 24px; }
  .portal-access-card h3 { font-size: 36px; }
  .portal-workflow-intro h2, .portal-safety-layout h2 { font-size: 40px; }
  .portal-workflow li { grid-template-columns: 42px 1fr; padding: 20px; }
  .portal-evv-card { grid-template-columns: 1fr; padding: 28px 23px; }
  .portal-status-list { grid-column: auto; }
  .portal-help-card { grid-template-columns: 1fr; padding: 30px 24px; }
  .portal-help-card img { width: 72px; height: 72px; }
  .portal-help-actions { grid-column: auto; grid-template-columns: 1fr; }
}

/* V8 — polished interaction, animated campaign emblem and accessible motion controls */
body.menu-open { overflow: hidden; }
.button:active { transform: scale(.98); }
.pathway:hover { transform: translateY(-3px); }
.pathway:active { transform: translateY(-1px) scale(.99); }
.pathway:hover .pathway-emoji { transform: rotate(-4deg) scale(1.06); }
.pathway-emoji { transition: transform .25s ease, background .25s ease; }

.hero-motion-control > button:hover { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.15); }
.hero-dots { align-items: center; gap: 1px; }
.hero-dots button { display: grid; width: 32px; height: 32px; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.hero-dots button:before { content: ""; width: 17px; height: 4px; border-radius: 999px; background: rgba(255,255,255,.3); transition: width .3s ease, background .3s ease, transform .2s ease; }
.hero-dots button:hover:before { background: rgba(255,255,255,.72); transform: scaleY(1.35); }
.hero-dots button.is-active:before { width: 27px; background: #f4c768; }

.service-card-link { display: inline-flex; gap: 7px; align-items: center; margin-top: 20px; color: var(--pine-800); font-size: 11px; font-weight: 850; text-decoration: none; }
.service-card-link b { transition: transform .2s ease; }
.service-card-link:hover b, .service-card-link:focus-visible b { transform: translateX(4px); }

.fnf-campaign { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 9% 5%, rgba(223,183,83,.23), transparent 25%), radial-gradient(circle at 92% 95%, rgba(89,206,177,.18), transparent 28%), linear-gradient(132deg, #052f28 0%, #10483e 46%, #223d4e 73%, #553b58 100%); }
.fnf-campaign:before { content: ""; position: absolute; z-index: -1; width: 580px; height: 580px; right: -310px; top: -360px; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; box-shadow: 0 0 0 68px rgba(255,255,255,.025), 0 0 0 136px rgba(255,255,255,.018); }
.fnf-campaign-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(55px, 8vw, 110px); align-items: center; }
.fnf-logo-stage { position: relative; display: grid; min-height: 700px; align-content: center; justify-items: center; overflow: hidden; padding: 32px 30px 25px; border: 1px solid rgba(244,199,104,.46); border-radius: 44px 160px 44px 44px; color: var(--pine-950); background: radial-gradient(circle at 50% 32%, #fff8dc, transparent 42%), linear-gradient(155deg, rgba(255,255,255,.98), rgba(227,241,234,.94)); box-shadow: 0 36px 90px rgba(0,0,0,.26); text-decoration: none; transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.fnf-logo-stage:hover { transform: translateY(-4px); border-color: rgba(244,199,104,.55); box-shadow: 0 42px 105px rgba(0,0,0,.32); }
.fnf-logo-stage img { position: relative; z-index: 2; width: min(500px, 94%); height: auto; filter: drop-shadow(0 24px 35px rgba(0,0,0,.23)); animation: fnfLogoFloat 6s ease-in-out infinite; transition: transform .4s ease, filter .4s ease; }
.fnf-logo-stage:hover img { transform: scale(1.018); filter: drop-shadow(0 30px 45px rgba(0,0,0,.3)); }
.fnf-halo { position: absolute; z-index: 0; border: 1px solid rgba(181,138,59,.26); border-radius: 50%; animation: fnfHalo 13s linear infinite; }
.fnf-halo-one { width: 490px; height: 490px; top: 58px; left: 50%; margin-left: -245px; box-shadow: 0 0 0 32px rgba(22,83,67,.035), 0 0 0 65px rgba(181,138,59,.025); }
.fnf-halo-two { width: 340px; height: 340px; top: 132px; left: 50%; margin-left: -170px; border-style: dashed; animation-direction: reverse; animation-duration: 18s; }
.fnf-spark { position: absolute; z-index: 3; color: #f7d36f; filter: drop-shadow(0 0 12px rgba(247,211,111,.7)); animation: fnfSpark 4.8s ease-in-out infinite; }
.fnf-spark-one { left: 10%; top: 16%; font-size: 31px; }
.fnf-spark-two { right: 10%; top: 38%; font-size: 43px; animation-delay: -2.2s; }
.fnf-logo-action { position: relative; z-index: 4; display: inline-flex; gap: 9px; align-items: center; margin-top: 8px; padding: 10px 16px; border: 1px solid rgba(9,44,37,.12); border-radius: 999px; color: #fff; background: rgba(7,60,50,.94); box-shadow: 0 10px 25px rgba(9,44,37,.15); font-size: 11px; font-weight: 850; }
.fnf-logo-action b { transition: transform .2s ease; }
.fnf-logo-stage:hover .fnf-logo-action b { transform: translateX(4px); }
.fnf-campaign-copy .overline { color: #f3ce79; }
.fnf-campaign-copy .overline span { color: inherit; }
.fnf-campaign-copy h2 { max-width: 720px; margin: 22px 0 24px; color: #fff; font-size: clamp(52px, 6.2vw, 80px); }
.fnf-deadline { display: inline-flex; gap: 8px; align-items: center; margin: 0; padding: 9px 14px; border: 1px solid rgba(246,207,117,.3); border-radius: 999px; color: #fff4d0; background: rgba(246,207,117,.1); font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.fnf-lede { max-width: 720px; margin: 0; color: #d7e4df; font-family: var(--display); font-size: 24px; line-height: 1.55; }
.fnf-lede strong { color: #f4ce75; font-size: 1.14em; }
.fnf-highlights { display: grid; gap: 10px; margin: 28px 0 31px; padding: 25px 0; border-top: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); list-style: none; }
.fnf-highlights li { display: flex; gap: 11px; align-items: center; color: #d5e4df; font-size: 12px; font-weight: 700; }
.fnf-highlights span { display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border-radius: 50%; color: #073a31; background: #f4ce75; font-size: 11px; }
.fnf-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.fnf-actions .button-primary { color: #082e28; background: #f4ce75; box-shadow: 0 14px 35px rgba(0,0,0,.18); }
.fnf-actions .button-primary:hover { background: #fff1bd; }
.fnf-actions .button-outline { border-color: rgba(255,255,255,.34); color: #fff; background: rgba(255,255,255,.07); }
.fnf-actions .button-outline:hover { border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.13); }
.fnf-legal { max-width: 760px; margin: 24px 0 0; color: #aebfba; font-size: 10px; line-height: 1.65; }

.bonus-deadline { display: inline-flex; gap: 6px; align-items: center; margin: 0 0 8px !important; color: #704f22 !important; font-size: 10px !important; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.bonus-terms details { padding: 0; border: 0; }
.bonus-terms summary { position: relative; width: fit-content; padding: 0 32px 0 0; color: #4e4d3f; cursor: pointer; font-size: 11px; font-weight: 850; list-style: none; }
.bonus-terms summary::-webkit-details-marker { display: none; }
.bonus-terms summary:after { content: "+"; position: absolute; right: 5px; top: -4px; color: #704f22; font-size: 19px; font-weight: 400; transition: transform .2s ease; }
.bonus-terms details[open] summary:after { transform: rotate(45deg); }
.bonus-terms details > div { display: grid; gap: 7px; max-width: 1050px; padding: 14px 18px 2px; border-left: 3px solid rgba(112,79,34,.25); }
.bonus-terms p { margin: 0; }

.accordion-list summary:after { content: "+"; transition: transform .2s ease, color .2s ease; }
.accordion-list details[open] summary:after { content: "+"; transform: rotate(45deg); }

.transfer-actions .button { max-width: 280px; }

@keyframes fnfLogoFloat { 0%, 100% { transform: translateY(0) rotate(-.2deg); } 50% { transform: translateY(-9px) rotate(.35deg); } }
@keyframes fnfHalo { to { transform: rotate(360deg); } }
@keyframes fnfSpark { 0%, 100% { opacity: .35; transform: translateY(0) rotate(0) scale(.9); } 50% { opacity: 1; transform: translateY(-12px) rotate(14deg) scale(1.08); } }

@media (max-width: 1020px) {
  .fnf-campaign-grid { grid-template-columns: 1fr; }
  .fnf-logo-stage { width: min(620px, 100%); min-height: 680px; margin-inline: auto; }
  .fnf-campaign-copy { max-width: 820px; }
}

@media (max-width: 620px) {
  .utility-bar { display: none; }
  .cinematic-hero { min-height: 0; }
  .cinematic-hero-inner { min-height: auto; padding-top: 42px; padding-bottom: 20px; }
  .cinematic-copy h1 { font-size: 45px; }
  .cinematic-copy .hero-lede { font-size: 15px; }
  .cinematic-footer { padding-bottom: 16px; }
  .fnf-campaign { padding: 76px 0; }
  .fnf-logo-stage { min-height: 540px; padding: 22px 15px 20px; border-radius: 30px 100px 30px 30px; }
  .fnf-logo-stage img { width: min(410px, 96%); }
  .fnf-halo-one { width: 380px; height: 380px; margin-left: -190px; }
  .fnf-halo-two { width: 270px; height: 270px; margin-left: -135px; }
  .fnf-campaign-copy h2 { font-size: 48px; }
  .fnf-lede { font-size: 21px; }
  .fnf-actions { flex-direction: column; }
  .fnf-actions .button { width: 100%; }
  .transfer-actions .button { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .fnf-logo-stage img, .fnf-halo, .fnf-spark { animation: none !important; }
  .fnf-logo-stage:hover, .pathway:hover, .pathway:active, .button:active { transform: none; }
  .hero-dots { display: none; }
}

/* V9 — all-ages care, Bangla-first welcome and Pennsylvania service guidance */
.hero-language-feature { min-height: 42px; }
.hero-language-feature > .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.language-rotator { position: relative; width: min(520px, calc(100vw - 100px)); height: 28px; overflow: hidden; }
.language-rotator p { position: absolute; inset: 0 auto auto 0; width: 100%; opacity: 0; transform: translateY(8px); animation: languageRotate 12s ease-in-out infinite; color: #fff; font-weight: 800; }
.language-rotator p:nth-child(2) { animation-delay: 4s; }
.language-rotator p:nth-child(3) { animation-delay: 8s; color: #ffe4a0; }
.cinematic-hero.is-paused .language-rotator p { animation-play-state: paused; }

.all-ages-section { overflow: hidden; background: radial-gradient(circle at 92% 8%, rgba(221,180,98,.18), transparent 24%), linear-gradient(145deg, #eef7f2, #fff8e9 55%, #f4ecf6); }
.all-ages-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(55px, 7vw, 105px); align-items: center; }
.all-ages-media { position: relative; margin: 0; }
.all-ages-media:before { content: ""; position: absolute; inset: -22px 22px 22px -22px; border: 1px solid rgba(17,82,67,.16); border-radius: 36px 160px 36px 36px; }
.all-ages-media img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 32px 150px 32px 32px; box-shadow: 0 28px 70px rgba(18,65,55,.18); }
.all-ages-media figcaption { position: absolute; right: -26px; bottom: 26px; display: grid; gap: 3px; max-width: 310px; padding: 21px 24px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #0a4d40, #5d415f); box-shadow: 0 18px 45px rgba(20,52,46,.22); }
.all-ages-media figcaption strong { font-family: var(--display); font-size: 19px; }
.all-ages-media figcaption span { color: rgba(255,255,255,.77); font-size: 10px; }
.all-ages-copy h2 { max-width: 760px; margin: 0 0 24px; color: var(--pine-950); font-size: clamp(48px, 5.6vw, 72px); }
.all-ages-copy .large-copy { color: #415a53; }
.age-support-grid { display: grid; gap: 10px; margin: 30px 0; }
.age-support-grid article { display: grid; grid-template-columns: 48px 1fr; gap: 15px; align-items: start; padding: 17px 19px; border: 1px solid rgba(20,75,62,.11); border-radius: 17px; background: rgba(255,255,255,.72); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.age-support-grid article:hover { transform: translateX(4px); border-color: rgba(181,138,59,.36); box-shadow: 0 12px 30px rgba(22,68,57,.07); }
.age-support-grid article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: #e3f1eb; font-size: 22px; }
.age-support-grid article:nth-child(2) > span { background: #fff1cd; }
.age-support-grid article:nth-child(3) > span { background: #efe7f2; }
.age-support-grid h3 { margin: 0 0 4px; color: var(--pine-950); font-family: var(--display); font-size: 22px; }
.age-support-grid p { margin: 0; color: var(--muted); font-size: 12px; }
.all-ages-note { margin: 0; padding: 15px 17px; border-left: 4px solid #b58a3b; color: #586b65; background: rgba(255,255,255,.55); font-size: 11px; }
.all-ages-actions { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: 26px; }

.bangla-inline { margin-top: 20px !important; padding: 12px 15px; border-left: 3px solid #f0c86d; color: #fff !important; background: rgba(255,255,255,.08); font-weight: 750; }
.bangla-service-note { margin: 24px 0; padding: 20px 22px; border: 1px solid rgba(181,138,59,.25); border-radius: 16px; background: linear-gradient(135deg, #fff8dc, #eaf5ef); }
.bangla-service-note strong { color: var(--pine-950); font-family: var(--display); font-size: 25px; }
.bangla-service-note p { margin: 8px 0 0; color: #425e55; font-size: 13px; }
.county-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.county-chips span { padding: 7px 10px; border: 1px solid rgba(22,83,67,.16); border-radius: 999px; color: var(--pine-800); background: #f3f8f5; font-size: 9px; font-weight: 800; }

@keyframes languageRotate {
  0%, 5% { opacity: 0; transform: translateY(8px); }
  10%, 28% { opacity: 1; transform: translateY(0); }
  33%, 100% { opacity: 0; transform: translateY(-8px); }
}

@media (max-width: 920px) {
  .all-ages-grid { grid-template-columns: 1fr; }
  .all-ages-media { width: min(680px, 100%); margin-inline: auto; }
}

@media (max-width: 620px) {
  .hero-language-feature { align-items: center; }
  .language-rotator { width: calc(100vw - 92px); height: 44px; }
  .language-rotator p { line-height: 1.45; }
  .all-ages-media:before { inset: -10px 10px 10px -10px; border-radius: 26px 90px 26px 26px; }
  .all-ages-media img { border-radius: 24px 86px 24px 24px; }
  .all-ages-media figcaption { position: relative; right: auto; bottom: auto; max-width: none; margin: -18px 14px 0; }
  .all-ages-copy h2 { font-size: 46px; }
  .all-ages-actions { align-items: stretch; flex-direction: column; }
  .all-ages-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .language-rotator p { animation: none !important; opacity: 0; transform: none; }
  .language-rotator p:first-child { opacity: 1; }
  .age-support-grid article:hover { transform: none; }
}

/* Clear first steps, local information and comfortable phone reading. */
:focus-visible { outline: 3px solid var(--gold-dark); outline-offset: 4px; }
html { scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
section[id] { scroll-margin-top: 0; }
.quick-start { background: #fffdf8; }
.quick-start-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 7vw, 96px); align-items: center; }
.quick-start-copy h2 { margin: 0 0 24px; font-size: clamp(42px, 5.4vw, 68px); }
.quick-start-copy h2 em { color: var(--gold-dark); font-style: normal; }
.quick-start-copy > p:not(.overline) { max-width: 550px; font-size: 18px; line-height: 1.65; }
.quick-start-points { display: grid; gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.quick-start-points li { display: flex; align-items: baseline; gap: 12px; font-size: 16px; }
.quick-start-points li:before { content: '✓'; display: inline-grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; color: var(--pine-800); background: var(--sage-100); font-size: 14px; font-weight: 800; }
.quick-start-copy .quick-start-local { margin: 26px 0 16px; color: #57675f; font-size: 14px !important; }
.quick-start-phone { display: grid; width: fit-content; gap: 2px; color: var(--pine-900); text-decoration: none; }
.quick-start-phone > span { font-size: 14px; }
.quick-start-phone strong { font-size: clamp(27px, 3vw, 35px); letter-spacing: -.03em; line-height: 1.4; }
.quick-start-phone b { color: var(--gold-dark); }
.quick-contact-card { padding: clamp(24px, 3.5vw, 44px); border: 1px solid #d7e4dc; border-top: 5px solid var(--pine-800); border-radius: 22px; background: white; box-shadow: 0 16px 45px rgba(12,46,37,.07); }
.quick-contact-card .overline { margin-bottom: 12px; }
.quick-contact-card h3 { margin: 0; font-size: 30px; letter-spacing: -.025em; }
.quick-contact-card > p:not(.overline) { margin: 10px 0 24px; color: #526259; font-size: 16px; }
.quick-contact-card label { display: block; margin: 20px 0 8px; font-size: 16px; font-weight: 750; }
.quick-contact-card label span { color: #586b63; font-size: 14px; font-weight: 500; }
.quick-contact-card input, .quick-contact-card select { display: block; width: 100%; min-height: 54px; padding: 13px 14px; border: 1px solid #9daf9f; border-radius: 9px; color: var(--pine-950); background: #fbfdfb; font-size: 16px; line-height: 1.5; }
.quick-contact-card input::placeholder { color: #64736d; }
.inquiry-actions { display: grid; gap: 10px; margin-top: 24px; }
.inquiry-actions .button { min-height: 54px; gap: 14px; font-size: 16px; cursor: pointer; }
.inquiry-note { margin: 16px 0 0; color: #586b63; font-size: 13px; line-height: 1.6; }
.inquiry-status { color: var(--pine-800); font-size: 14px; }
.inquiry-status:empty { display: none; }
.quick-contact-email { display: inline-block; max-width: 100%; margin-top: 18px; padding-block: 8px; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; text-underline-offset: 4px; }
.contact-details a, .footer-grid a { overflow-wrap: anywhere; }
.home-page .cinematic-copy h1 { max-width: 740px; }
.home-page .hero-kicker { text-transform: none; letter-spacing: .03em; font-size: 13px; }
.home-page .hero-actions .button { font-size: 15px; }
@media (max-width: 920px) {
  .quick-start-grid { grid-template-columns: 1fr; gap: 34px; }
  .quick-contact-card { width: 100%; }
  .js .site-nav { visibility: hidden; max-height: calc(100dvh - 160px); overflow-y: auto; }
  .js .site-nav.open { visibility: visible; }
  .site-nav > a { min-height: 48px; font-size: 16px; }
}
@media (max-width: 620px) {
  :root { --shell: calc(100% - 36px); }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); font-size: 17px; }
  html { scroll-padding-top: 84px; }
  section[id] { scroll-margin-top: 0; }
  .section-space, .content-section { padding-block: 52px; }
  .brand img { width: 48px; height: 48px; }
  .brand strong { font-size: 22px; }
  .brand small { font-size: 10px; letter-spacing: .12em; }
  .menu-button { min-width: 48px; min-height: 48px; }
  main p, main li { line-height: 1.65; }
  main p:not(.overline):not(.hero-kicker):not(.home-offer-heading):not(.home-offer-description):not(.inquiry-note):not(.microcopy):not(.fnf-legal):not(.quick-start-local) { font-size: 16px; }
  main .overline { font-size: 12px; line-height: 1.5; letter-spacing: .1em; }
  .home-offer-layout { padding-block: 18px; gap: 14px; }
  .home-offer-heading { font-size: 21px; }
  .home-offer-description { font-size: 15px; }
  .home-offer-actions a { min-height: 48px; padding-inline: 10px; font-size: 14px; }
  .home-offer-bonus-label { font-size: 14px; }
  .home-offer-bonus-details { font-size: 13px; }
  .home-offer-bonus { column-gap: 8px; }
  .home-offer-bonus strong { font-size: 32px; white-space: nowrap; }
  .home-offer-bonus strong > span { font-size: 14px; }
  .cinematic-hero-inner { padding-top: 36px; }
  .cinematic-copy h1 { font-size: clamp(37px, 10vw, 46px); line-height: 1.08; }
  .home-page .hero-kicker { padding: 8px 11px; font-size: 12px; }
  .cinematic-copy .hero-lede { font-size: 17px !important; line-height: 1.65; }
  .hero-actions { gap: 12px; }
  .button, .home-page .hero-actions .button { min-height: 54px; font-size: 16px; }
  .hero-proof p { padding: 12px 9px; font-size: 13px !important; }
  .hero-language-line { margin-top: 22px; }
  .language-rotator { height: auto; overflow: visible; }
  .language-rotator p { position: static; display: none; animation: none; opacity: 1; transform: none; }
  .language-rotator p:first-child { display: block; }
  .quick-start-copy h2 { font-size: 40px; }
  .quick-start-copy > p:not(.overline) { font-size: 17px !important; }
  .quick-start-copy .quick-start-local { font-size: 14px !important; }
  .quick-contact-card { padding: 24px 20px; border-radius: 17px; }
  .quick-contact-card h3 { font-size: 28px; }
  .quick-contact-email { font-size: 15px; }
  .story-copy h2, .section-intro h2, .coverage-intro h2, .family-copy h2, .culture-heading h2, .start-intro h2, .area-layout h2, .values-heading h2, .faq-title h2, .all-ages-copy h2, .fnf-campaign-copy h2, .contact-copy h2, .inner-hero h1, .apply-panel h2 { font-size: clamp(32px, 8.7vw, 39px); line-height: 1.12; }
  .feature-service h3, .age-support-grid h3 { font-size: 24px; }
  .horizontal-steps small, .start-steps p, .service-index small, .service-card-link, .accordion-list summary, .footer-grid a, .contact-details a { font-size: 16px; line-height: 1.6; }
  .microcopy, .fnf-legal, .inquiry-note, .notice { font-size: 14px; line-height: 1.6; }
  .contact-details span, .footer-grid h3 { font-size: 12px; }
  .footer-grid { column-gap: 22px; }
  .footer-grid a { padding-block: 7px; }
  .faq-jumps { overflow-x: auto; white-space: nowrap; }
  .mobile-actions { padding: 6px 12px calc(6px + env(safe-area-inset-bottom, 0px)); gap: 10px; background: #fff; border-top: 1px solid #d4ded7; box-shadow: 0 -4px 18px rgba(10,49,40,.08); }
  .mobile-actions a { min-height: 52px; border: 1px solid var(--pine-800); border-radius: 11px; color: #fff; background: var(--pine-800); font-size: 17px; }
  .mobile-actions a:first-child { border: 1px solid var(--pine-800); }
  .mobile-actions a:last-child { color: var(--pine-900); background: #f4f8f4; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 620px) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .hero-magic { display: none; }
}
