/* One accessible, consistent brand palette across every page. */
:root {
    --theme-accent: #f28a24;
    --theme-strong: #bd591b;
    --theme-tint: #fff3e6;
    --theme-soft: #ffd9b0;
    --theme-glow: #f28a2424;
    --theme-shadow: #bd591b26;
    --theme-header: #ffffff;
    --theme-footer: #303238;
    --theme-footer-text: #f2f3f5;
    --theme-footer-muted: #c5c8ce;
    --theme-footer-border: #3b3f45;
    --theme-hero: linear-gradient(125deg, #f4f6fa 0%, #e9edf5 54%, #fff7ef 100%);
    --lime: var(--theme-accent);
    --lime-dark: var(--theme-strong);
}

html, body { background: #fff; color: #202b27; }
body { -webkit-font-smoothing: antialiased; }
.site-header { background: var(--theme-header)!important; border-bottom: 1px solid #e4ece7!important; box-shadow: 0 5px 20px #163d2d0a; }
.site-header .navbar-brand, .site-header .nav-link:not(.nav-cta) { color: #202b27!important; }
.site-header .nav-link:not(.nav-cta):hover { color: var(--theme-strong)!important; background: #f2faf5; }
.site-header .nav-link:not(.nav-cta).active { color: var(--theme-strong)!important; background: #e4f4eb!important; border-radius: 999px; }
.site-header .nav-link:not(.nav-cta):after { background: var(--theme-accent)!important; }
.site-header .nav-link.nav-cta, .site-header .nav-link.nav-cta.active { background: var(--theme-accent)!important; color: #fff!important; box-shadow: 0 7px 18px var(--theme-shadow); }
.site-header .nav-link.nav-cta:hover { background: var(--theme-strong)!important; color: #fff!important; }
.navbar-toggler { border-color: #cbd8d0; }
.hero-home, .page-hero { background: var(--theme-hero)!important; }
.hero-home:before { background: radial-gradient(circle at 10% 14%, #04785717, transparent 34%), radial-gradient(circle at 75% 86%, #b7e8cc55, transparent 30%); }
.hero-home:after, .page-hero:after { border-color: #0478571c; box-shadow: 0 0 0 40px #0478570a, 0 0 0 80px #04785706; }
.hero-copy h1, .page-hero h1, .section-heading h2, .contact-form h2 { color: #17231e; }
.hero-copy h1 span, .hero-copy .eyebrow, .page-hero .eyebrow, .eyebrow, .text-link, .check-list i { color: var(--theme-strong); }
.eyebrow:before { background: var(--theme-accent); }
.btn-lime { background: var(--theme-accent)!important; color: #fff!important; box-shadow: 0 10px 24px var(--theme-shadow); }
.btn-lime:hover, .btn-lime:focus-visible { background: var(--theme-strong)!important; color: #fff!important; }
.btn-ghost, .hero-actions .btn-ghost, .page-hero .btn-ghost { color: #26332d; border-color: #aebeb4; }
.btn-ghost:hover, .hero-actions .btn-ghost:hover, .page-hero .btn-ghost:hover { color: var(--theme-strong)!important; border-color: var(--theme-accent); background: #ffffffb8; }
.service-icon, .career-tag { background: var(--theme-tint)!important; color: var(--theme-strong)!important; }
.service-card:hover, .career-card:hover { border-color: #52a786; }
.image-caption { background: var(--theme-accent); color: #fff; }
.cta-band { background: linear-gradient(110deg, #eaf8f0, #d8f0e2)!important; }
.stat-item strong { color: var(--theme-strong); }
.carousel-indicators [data-bs-target] { background-color: var(--theme-accent)!important; }
.form-control:focus, .form-select:focus { border-color: var(--theme-accent); box-shadow: 0 0 0 .22rem #04785722; }
.trust-inner { justify-content: center; gap: 12px; }
.trust-inner > span { color: #53665c; }
.trust-link { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid #b9dfca; border-radius: 999px; background: #f0faf4; color: #075b40; font: 700 .9rem/1.25 'Manrope', sans-serif; text-decoration: none; transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }
.trust-link:before { content: ''; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #07966a; }
.trust-link:hover, .trust-link:focus-visible { color: #fff; background: #047857; border-color: #047857; transform: translateY(-2px); box-shadow: 0 6px 16px #04785726; }
.trust-link:hover:before, .trust-link:focus-visible:before { background: #a7f3d0; }
.trust-link:focus-visible { outline: 3px solid #72d6aa; outline-offset: 3px; }
.site-footer { background: var(--theme-footer)!important; color: var(--theme-footer-text)!important; border-top-color: var(--theme-footer-border)!important; }
.site-footer p, .site-footer li, .site-footer address, .site-footer .footer-bottom, .site-footer .footer-bottom a { color: var(--theme-footer-muted)!important; }
.site-footer h2, .site-footer h3, .site-footer h4, .site-footer .footer-heading { color: var(--theme-footer-text)!important; }
.site-footer a { color: var(--theme-footer-text)!important; }
.site-footer a:hover, .site-footer .footer-address i, .site-footer .footer-contact-link i { color: #72d6aa!important; }
.site-footer hr, .site-footer .footer-bottom { border-color: var(--theme-footer-border)!important; }

/* Each page gets a distinct hero composition while sharing the Yelix palette. */
.hero-about { background:linear-gradient(118deg,#fbfcf8 0%,#eef7f0 58%,#e3f2e8 100%)!important; }
.hero-about:before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 92% 16%,#b8e7ca88 0 8%,transparent 34%),linear-gradient(90deg,transparent 0 49.8%,#ffffff75 50% 50.2%,transparent 50.4%); }
.hero-about:after { width:410px; height:410px; right:-130px; top:-240px; left:auto; bottom:auto; border:1px solid #04785725; box-shadow:0 0 0 34px #04785709,0 0 0 68px #04785706; }
.hero-about .page-hero-carousel { border:8px solid #fff; border-radius:46% 46% 20px 20px; box-shadow:0 24px 55px #174e3426,0 0 0 1px #b9d9c5; }
.hero-about .page-hero-carousel .carousel-item img { filter:saturate(.9); }
.hero-about .eyebrow { padding:8px 13px; background:#dff2e6; border-radius:999px; letter-spacing:.12em; }

.hero-services { background:linear-gradient(118deg,#edf8f0 0%,#f8fbf6 48%,#e2f3e8 100%)!important; color:#202b27; }
.hero-services:before { content:""; position:absolute; top:0; right:0; width:46%; height:100%; z-index:0; pointer-events:none; opacity:.38; background:linear-gradient(90deg,transparent,#ffffff00),repeating-linear-gradient(135deg,transparent 0 27px,#8fc5a333 28px 29px,transparent 30px 56px); mask-image:linear-gradient(90deg,transparent,#000); }
.hero-services:after { right:-170px; top:auto; bottom:-330px; width:570px; height:570px; border-color:#04785720; box-shadow:0 0 0 52px #04785708,0 0 0 104px #04785705; }
.hero-services h1 { color:#17231e!important; }
.hero-services p { color:#53665c!important; }
.hero-services .eyebrow { color:#075b40!important; padding:8px 12px; background:#d9f0e2; border-radius:7px; letter-spacing:.12em; }
.hero-services .page-hero-carousel { height:390px; border:7px solid #fff; border-radius:18px 74px 18px 18px; box-shadow:13px 13px 0 #bfe2ca,0 28px 58px #193e2828; }
.hero-services .page-hero-carousel .carousel-item:after { background:linear-gradient(0deg,#06291f88,transparent 58%); }
.hero-services .carousel-control-prev, .hero-services .carousel-control-next { background:#075c43e8; }

.hero-careers { background:linear-gradient(115deg,#f3faed 0%,#f8fbf5 54%,#e7f4e3 100%)!important; }
.hero-careers:before { content:""; position:absolute; top:-110px; left:36%; width:290px; height:290px; border-radius:50%; border:1px solid #04785724; box-shadow:0 0 0 24px #04785708,0 0 0 48px #04785705; pointer-events:none; }
.hero-careers:after { right:-90px; top:auto; bottom:-300px; width:490px; height:490px; border-color:#75b78a55; box-shadow:0 0 0 40px #75b78a12,0 0 0 80px #75b78a08; }
.hero-careers .page-hero-carousel { height:350px; border:0; border-radius:28px 90px 28px 28px; box-shadow:14px 14px 0 #c5e6c4,0 28px 58px #193e2828; }
.hero-careers .page-hero-carousel .carousel-item img { filter:saturate(.88) contrast(1.02); }
.hero-careers .hero-actions .btn-ghost { background:#ffffffb8; }

.hero-contact { background:linear-gradient(135deg,#fff 0%,#f3faf5 52%,#e5f4eb 100%)!important; }
.hero-contact:before { content:""; position:absolute; inset:18px; border:1px solid #04785712; border-radius:28px; pointer-events:none; }
.hero-contact:after { right:-160px; top:-250px; width:540px; height:540px; border:2px solid #0478571a; box-shadow:0 0 0 15px #fff8,0 0 0 45px #04785708,0 0 0 85px #04785705; }
.hero-contact .page-hero-carousel { height:330px; border:10px solid #fff; border-radius:24px; box-shadow:0 25px 55px #164a3128,0 0 0 1px #c9e2d2; }
.hero-contact .page-hero-carousel .carousel-item img { filter:saturate(.82); }
.hero-contact .eyebrow { color:#047857; }

@media(max-width:991.98px) {
    .hero-services .page-hero-carousel { height:340px; }
}
@media(max-width:575.98px) {
    .hero-about:before { background:radial-gradient(ellipse at 100% 8%,#b8e7ca66 0 8%,transparent 36%); }
    .hero-about .page-hero-carousel { border-radius:38% 38% 18px 18px; }
    .hero-services .page-hero-carousel { height:270px; }
    .hero-careers .page-hero-carousel { height:260px; border-radius:22px 60px 22px 22px; box-shadow:8px 8px 0 #c5e6c4,0 20px 42px #193e2828; }
    .hero-contact:before { inset:8px; border-radius:18px; }
    .hero-contact .page-hero-carousel { height:250px; border-width:7px; }
}

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

/* Match the site accents to the navy and orange in the Yelix logo. */
:root {
    --theme-accent: #f28a24;
    --theme-strong: #bd591b;
    --theme-tint: #fff3e6;
    --theme-soft: #ffd9b0;
    --theme-glow: #f28a2424;
    --theme-shadow: #bd591b26;
}
.site-header .navbar-brand { margin-left: 20px; }
.site-header { border-bottom-color: #e1e5ea!important; box-shadow: 0 5px 20px #17233b0a; }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem #f28a2455!important; }
.form-control:focus, .form-select:focus { border-color: #f28a24!important; box-shadow: 0 0 0 .22rem #f28a2422!important; }
.trust-strip:after { background: linear-gradient(90deg, transparent, #f28a2418, transparent)!important; }
.trust-link:focus-visible { outline: 3px solid #f5a45a; outline-offset: 3px; }
.site-header .nav-link:not(.nav-cta):hover { color: #bd591b!important; background: #fff3e6; }
.site-header .nav-link:not(.nav-cta).active { color: #bd591b!important; background: #fff3e6!important; }
.hero-home, .page-hero,
.hero-about, .hero-services, .hero-careers, .hero-contact {
    background: linear-gradient(125deg, #f4f6fa 0%, #e9edf5 54%, #fff7ef 100%)!important;
    color: #17233b;
}
.hero-home:before { background: radial-gradient(circle at 10% 14%, #f28a2430, transparent 34%), radial-gradient(circle at 75% 86%, #dce4f355, transparent 30%)!important; }
.hero-home:after, .page-hero:after { border-color: #f28a2440!important; box-shadow: 0 0 0 40px #f28a2410, 0 0 0 80px #17233b08!important; }
.hero-copy h1, .page-hero h1 { color: #17233b!important; }
.hero-copy h1 span, .hero-copy .eyebrow, .page-hero .eyebrow { color: #bd591b!important; }
.hero-copy p, .page-hero p { color: #536174!important; }
.hero-note, .hero-note strong { color: #344258!important; }
.hero-actions .btn-ghost, .page-hero .btn-ghost { color: #263449!important; border-color: #aeb8c8!important; }
.hero-actions .btn-ghost:hover, .page-hero .btn-ghost:hover { color: #bd591b!important; border-color: #f28a24!important; }
.hero-about:before, .hero-services:before, .hero-careers:before, .hero-contact:before {
    opacity: .45;
    background: radial-gradient(ellipse at 90% 15%, #f28a2440, transparent 36%)!important;
    border-color: #f28a2430!important;
    box-shadow: 0 0 0 30px #f28a2410, 0 0 0 65px #17233b08!important;
}
.hero-about:after, .hero-services:after, .hero-careers:after, .hero-contact:after { border-color: #f28a2440!important; box-shadow: 0 0 0 40px #f28a2410, 0 0 0 80px #17233b08!important; }
.hero-services .carousel-control-prev, .hero-services .carousel-control-next { background: #17233be8!important; }
.hero-about .page-hero-carousel, .hero-services .page-hero-carousel, .hero-careers .page-hero-carousel, .hero-contact .page-hero-carousel { box-shadow: 0 24px 55px #17233b20, 0 0 0 1px #f28a2430; }
.hero-services .page-hero-carousel .carousel-item:after { background: linear-gradient(0deg, #17233b88, transparent 58%)!important; }
.hero-careers .page-hero-carousel { box-shadow: 12px 12px 0 #f5d4b5, 0 28px 58px #17233b20!important; }
.photo-banner { background: linear-gradient(90deg, #17233bf5, #17233bb8 55%, #17233b20), url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1800&q=85') center 42%/cover!important; }
.service-card:hover, .career-card:hover { border-color: #f28a24!important; }
.cta-band { background: linear-gradient(110deg, #fff2e5, #f9e4d1)!important; }
.cta-band p { color: #4b5563!important; }
.trust-link { border-color: #f1c69e; background: #fff7ef; color: #713b1b; }
.trust-link:before { background: #f28a24; }
.trust-link:hover, .trust-link:focus-visible { background: #bd591b; border-color: #bd591b; }
.trust-link:hover:before, .trust-link:focus-visible:before { background: #fff; }
.site-footer {
    background: #303238!important;
    color: #f2f3f5!important;
    border-top: 1px solid #3b3f45!important;
}
.footer-full { padding-top: 24px; padding-bottom: 14px; }
.site-footer .footer-brand.footer-name { color: #f2f3f5!important; font: 800 1.05rem/1.2 'Manrope', sans-serif; text-decoration: none; white-space: nowrap; }
.site-footer .footer-brand small { color: #c5c8ce!important; font-size: .55rem; letter-spacing: .2em; }
.site-footer .footer-blurb, .site-footer .footer-address { color: #c5c8ce!important; font-size: .88rem; margin-bottom: 0; }
.site-footer .footer-contact-list { display: contents; }
.site-footer .footer-contact-item { display: flex!important; flex-direction: row!important; align-items: center!important; justify-content: flex-start; gap: .35rem!important; width: max-content!important; max-width: 100%!important; }
.site-footer .footer-contact-item i { flex: 0 0 1rem; width: 1rem; margin: 0!important; text-align: center; }
.site-footer .footer-contact-item span { min-width: 0; padding-left: 0!important; text-align: left; overflow-wrap: anywhere; }
.site-footer .footer-heading { color: #f5a45a!important; font-size: .8rem; margin-bottom: 10px; }
.site-footer a:not(.footer-brand) { color: #e1e3e7!important; font-size: .88rem; margin: .28rem 0; }
.site-footer a:not(.footer-brand):hover { color: #f5a45a!important; }
.site-footer .footer-contact-link i, .site-footer .footer-address i { color: #f5a45a!important; }
.site-footer .social-links a { border-color: #646970!important; }
.site-footer .social-links a i { color: #e1e3e7!important; }
.site-footer .social-links a:hover { border-color: #f28a24!important; background: #f28a24; }
.site-footer .social-links a:hover i { color: #303238!important; }
.site-footer .footer-bottom { border-color: #484c52!important; color: #b9bdc4!important; font-size: .8rem; }
@media(max-width:767.98px) {
    .site-header .navbar-brand { margin-left: 12px; }
    .site-footer .row>div { text-align: center; }
    .site-footer .social-links { justify-content: center; }
    .site-footer .footer-contact-item { margin-inline: auto; }
    .site-footer .footer-bottom { justify-content: center; text-align: center; }
}
@media(min-width:768px) {
    .site-footer .footer-address { align-items: flex-start!important; }
    .site-footer .footer-address i { align-self: flex-start; margin-top: .35rem!important; }
}
@media(max-width:767.98px) {
    .site-footer .footer-contact-list { display: flex; flex-direction: column; align-items: flex-start; width: max-content; max-width: 100%; margin-inline: auto; }
    .site-footer .footer-contact-list .footer-contact-item { margin-inline: 0; }
}

/* Give page content a consistent start below the header and align career cards. */
.site-header + main { padding-top: 24px; }
.job-card { height: 100%; display: flex; flex-direction: column; text-align: left; }
.job-card .career-tag { align-self: flex-start; }
.job-card > h3 { min-height: 2.5em; margin: 14px 0 12px!important; padding-bottom: 12px; border-bottom: 2px solid #f28a24; }
.job-card > p { min-height: 3.2em; margin-bottom: 18px; }
.job-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.job-details p { display: flex; align-items: flex-start; gap: 9px; min-width: 0; margin: 0; padding: 12px; border-radius: 12px; background: #f3f5f8; color: #536174; font-size: .84rem; line-height: 1.45; overflow-wrap: anywhere; }
.job-details p > i { flex: 0 0 auto; margin-top: 3px; color: #bd591b; }
.job-details p > span { display: flex; flex-direction: column; min-width: 0; }
.job-details strong { margin-bottom: 3px; color: #17233b; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.job-card .responsibility-title { min-height: 2.2em; margin: 0 0 10px; padding-left: 11px; border-left: 3px solid #f28a24; color: #17233b; font-size: 1rem; }
.job-card .responsibility-list { flex: 1 0 auto; margin-bottom: 18px; }
.job-card .job-skills { margin-top: auto; padding: 13px 15px; border-radius: 12px; background: #fff7ef; }
.job-card .job-skills > strong { color: #bd591b; font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.job-card .job-skills p { margin: 4px 0 0; color: #536174; font-size: .9rem; }
.job-card .apply-button { margin-top: 18px; }
.nav-link.nav-cta { white-space: nowrap; }
@media(max-width:575.98px) {
    .job-details { grid-template-columns: 1fr; }
    .job-card > h3 { min-height: 0; }
    .job-card > p { min-height: 0; }
    .job-card .responsibility-list li { text-align: left; word-spacing: normal; }
}

/* Keep the hero color treatment consistent with the Home page. */
.hero-home,.page-hero,.hero-about,.hero-services,.hero-careers,.hero-contact {
    background:linear-gradient(125deg,#f4f6fa 0%,#e9edf5 54%,#fff7ef 100%)!important;
    color:#17233b;
}
.hero-copy h1,.page-hero h1 { color:#17233b!important; }
.hero-copy h1 span,.page-hero h1 span,.hero-copy .eyebrow,.page-hero .eyebrow { color:#bd591b!important; }
.hero-about .eyebrow,.hero-services .eyebrow,.hero-careers .eyebrow,.hero-contact .eyebrow {
    padding:0;
    background:transparent!important;
    border-radius:0;
}
.hero-copy p,.page-hero p { color:#536174!important; }
.page-hero .carousel-control-prev,.page-hero .carousel-control-next {
    background:#17233be8!important;
}
.page-hero .carousel-indicators [data-bs-target] {
    background-color:#f28a24!important;
}
.hero-home:before,.page-hero:before {
    background:radial-gradient(circle at 10% 14%,#f28a2430,transparent 34%),radial-gradient(circle at 75% 86%,#dce4f355,transparent 30%)!important;
}
.page-hero:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:1!important;
    border:0!important;
    box-shadow:none!important;
}
.hero-services:before,.hero-careers:before {
    background:radial-gradient(circle at 10% 14%,#f28a2430,transparent 34%),radial-gradient(circle at 75% 86%,#dce4f355,transparent 30%)!important;
    opacity:1!important;
    mask-image:none!important;
    -webkit-mask-image:none!important;
}
.hero-careers {
    background:radial-gradient(circle at 10% 14%,#f28a2430,transparent 34%),radial-gradient(circle at 75% 86%,#dce4f355,transparent 30%),linear-gradient(125deg,#f4f6fa 0%,#e9edf5 54%,#fff7ef 100%)!important;
}
.hero-careers:before {
    background:transparent!important;
}
.page-hero:after {
    width:410px;
    height:410px;
    left:-200px;
    bottom:-250px;
    right:auto;
    top:auto;
    border:1px solid #f28a2440!important;
    border-radius:50%;
    box-shadow:0 0 0 40px #f28a2410,0 0 0 80px #17233b08!important;
}
.page-hero .page-hero-carousel {
    border:0!important;
    border-radius:30px 110px 30px 30px!important;
    box-shadow:0 30px 70px #17233b20!important;
}
.page-hero .page-hero-carousel .carousel-item img {
    filter:none!important;
}
.page-hero .page-hero-carousel .carousel-item:after {
    background:transparent!important;
}
