/* Keeps the Best Wishes logo clear on both light and dark backgrounds. */
.utility-bar{background:#101f2b;border-color:#33424c}.utility-inner p{color:#e8f0ed}.utility-bar+.header{background:var(--navy);border-color:#33424c}.utility-bar+.header .logo img{filter:brightness(0) invert(1)}.utility-bar+.header nav>a:not(.nav-button){color:#e8f0ed}.utility-bar+.header .nav-button{background:var(--coral)}.utility-bar+.header .nav-button b{color:#fff}@media(max-width:760px){.utility-bar+.header nav{background:var(--navy);border-color:#33424c}.utility-bar+.header .menu-button{color:#fff}}
.hero{min-height:500px}.hero-photo{min-height:500px}.hero-copy{position:relative;justify-content:flex-start;padding-top:85px;padding-bottom:50px}.hero-emblem{position:absolute;top:150px;right:3.5vw;width:125px;height:125px;overflow:hidden}.hero-emblem img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.85)}.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin:2px 0 0;color:#66727b;font-size:12px;font-weight:700}.hero-meta b{color:var(--coral)}@media(max-width:760px){.hero{min-height:auto}.hero-photo{min-height:390px}.hero-copy{justify-content:center;padding-top:70px;padding-bottom:54px}.hero-emblem{position:static;width:85px;height:85px;margin:14px 0 0}.hero-meta{margin-top:4px;gap:7px;font-size:11px}}
footer .footer-info-item small{grid-column:auto;border:0;padding:0}
footer{padding-top:30px}footer .footer-contact{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;width:min(100%,1050px);gap:36px;padding:0 0 18px;border-bottom:1px solid #33424c}.footer-info-item{display:flex;align-items:center;gap:12px;color:#e8f0ed}.footer-info-item>span:last-child{display:flex;flex-direction:column;line-height:1.4}.footer-info-item strong{font-size:14px}.footer-info-item small{font-size:12px;color:#adbdba}.footer-info-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #5a727e;border-radius:50%;color:#a9c8ad;font-size:17px;line-height:1}.footer-info-item:hover strong{color:var(--coral)}@media(max-width:760px){footer{padding-top:28px}footer .footer-contact{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:18px}.footer-info-icon{width:36px;height:36px}}
.utility-bar{background:#fff;border-bottom:1px solid #e5e9e6}.utility-inner{height:47px;padding:0 max(7vw,28px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.utility-inner p{display:flex;align-items:center;gap:8px;margin:0}.utility-mark{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--coral);color:#fff;font-size:11px;font-weight:800}.utility-social{display:flex;gap:20px;align-items:center;font-size:13px;font-weight:800}.utility-social a{color:var(--navy)}.utility-bar+.header{height:112px;gap:22px;justify-content:flex-start}.utility-bar+.header nav{margin-left:auto}.header-info{display:flex;align-items:center;gap:20px;padding-left:21px;border-left:1px solid var(--line)}.info-item{display:flex;align-items:center;gap:10px;min-width:118px}.info-item>span:last-child{display:flex;flex-direction:column;line-height:1.35}.info-item strong{font-size:13px}.info-item small{font-size:11px;color:#59656c}.info-icon{display:grid;place-items:center;width:35px;height:35px;border:2px solid #1975a2;border-radius:50%;color:#1975a2;font-size:16px;line-height:1}.info-item:hover strong{color:var(--coral)}@media(max-width:1250px){.header-info{display:none}}@media(max-width:760px){.utility-inner{height:40px;padding:0 20px;font-size:11px}.utility-social{gap:14px}.utility-mark{width:16px;height:16px;font-size:10px}.utility-bar+.header{height:86px}.utility-bar+.header nav{top:86px}}
.agency-overview{margin:28px max(2vw,16px);border-radius:16px;background:linear-gradient(90deg,#0c273de8 0%,#0c273dcf 57%,#0c273d86 100%),url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1800&q=85') center/cover;color:#f6f4ef}.agency-overview.section{padding:62px max(4vw,28px)}.agency-overview .kicker{color:#b8d2c1}.agency-overview h2{font-size:clamp(38px,4.8vw,61px);margin-bottom:22px}.agency-overview h2 span{color:#a9c8ad}.agency-overview>p{max-width:1020px;margin:0 0 22px;color:#f1f4f2}.agency-overview h3{font:700 clamp(25px,2.6vw,34px)/1.2 var(--heading);letter-spacing:-.045em;margin:31px 0 20px}.agency-overview ul{margin:0 0 28px;padding-left:26px;line-height:1.8;color:#f1f4f2}.agency-actions{margin-top:30px}.agency-overview .secondary{border-color:#d7e1dc;color:#fff}@media(max-width:760px){.agency-overview{margin:0;border-radius:0}.agency-overview.section{padding:60px 28px}.agency-overview h2{font-size:clamp(36px,10vw,48px)}.agency-overview>p{font-size:15px}.agency-overview ul{padding-left:21px}.agency-actions{margin-top:25px}}
.header{height:104px}.logo{display:flex;align-items:center}.logo img{display:block;width:252px;height:90px;object-fit:contain}.footer-logo{position:relative;background:transparent;padding:0;width:292px;height:104px}.footer-logo img{position:absolute;inset:0;width:292px;height:104px}.footer-logo .footer-logo-colour{filter:none;opacity:1}.footer-logo .footer-logo-word{filter:brightness(0) invert(1);clip-path:inset(0 0 0 34%)}@media(max-width:1050px) and (min-width:761px){nav{gap:17px}.header{padding-left:28px;padding-right:28px}.logo img{width:220px;height:78px}}@media(max-width:760px){.header{height:86px;padding-left:20px;padding-right:20px}nav{top:86px;z-index:10;box-shadow:0 12px 24px #14283a1f}nav>a{width:100%;padding:8px 0}.nav-button{margin-top:4px;text-align:center}.logo img{width:202px;height:72px}.footer-logo{padding:0;width:236px;height:84px}.footer-logo img{width:236px;height:84px}.button{min-height:46px;text-align:center}.contact-form input,.contact-form select,.contact-form textarea,.application-form input,.application-form select,.application-form textarea{font-size:16px}}

/* Final header contrast and coloured medal treatment. */
.utility-bar{background:#fff;border-color:#e5e9e6}.utility-inner p{color:#101f2b}.utility-bar+.header{background:var(--navy);border-color:#33424c}.utility-bar+.header .logo{position:relative}.utility-bar+.header .logo img{filter:brightness(0) invert(1)}.utility-bar+.header .logo::after{content:'';position:absolute;z-index:1;left:43px;top:12px;width:60px;height:60px;background:url('assets/best-wishes-medal.png') center/contain no-repeat;pointer-events:none}.utility-bar+.header nav>a:not(.nav-button){color:#e8f0ed}.utility-bar+.header .nav-button{background:var(--coral)}.utility-bar+.header .nav-button b{color:#fff}@media(max-width:760px){.utility-bar+.header nav{background:var(--navy);border-color:#33424c}.utility-bar+.header .menu-button{color:#fff}.utility-bar+.header .logo::after{left:43px;top:12px;width:60px;height:60px}}

/* Use one clean full-colour logo in the dark header. */
.utility-bar+.header .logo{background:#fff;border-radius:3px;padding:3px 7px}.utility-bar+.header .logo img{filter:none}.utility-bar+.header .logo::after{content:none}

/* Clean two-tone header logo: coloured medal with white wordmark. */
.utility-bar+.header{padding-left:max(2.5vw,28px);border-bottom:5px solid #fff}.utility-bar+.header .logo{position:relative;background:transparent;border-radius:0;padding:0}.utility-bar+.header .logo img{filter:none}.utility-bar+.header .logo::after{content:'';position:absolute;inset:0;z-index:1;background:url('assets/best-wishes-logo-transparent.png') center/contain no-repeat;filter:brightness(0) invert(1);clip-path:inset(0 0 0 34%);pointer-events:none}@media(max-width:760px){.utility-bar+.header{padding-left:28px}.utility-bar+.header .logo::after{inset:0}}

/* Stable header logo: base medal and wordmark are explicitly aligned. */
.utility-bar+.header .header-logo{position:relative;display:block;flex:0 0 252px;width:252px;height:90px;background:transparent;padding:0}.utility-bar+.header .header-logo img{position:absolute;inset:0;display:block;width:252px;height:90px;object-fit:contain}.utility-bar+.header .header-logo-colour{filter:none}.utility-bar+.header .header-logo-word{filter:brightness(0) invert(1);clip-path:inset(0 0 0 34%)}.hero{grid-template-columns:.92fr 1.08fr}@media(max-width:1050px) and (min-width:761px){.utility-bar+.header .header-logo{flex-basis:220px;width:220px;height:78px}.utility-bar+.header .header-logo img{width:220px;height:78px}}@media(max-width:760px){.utility-bar+.header .header-logo{flex-basis:202px;width:202px;height:72px}.utility-bar+.header .header-logo img{width:202px;height:72px}.hero{grid-template-columns:1fr}}

.utility-bar+.header .header-logo::after{content:none}

/* Final logo contrast. */
.utility-bar+.header .header-logo-colour{z-index:1}.utility-bar+.header .header-logo-word{z-index:2;filter:brightness(0) invert(1)}

/* Keep only the coloured medal from the base logo; the wordmark is white. */
.utility-bar+.header .header-logo-colour{clip-path:inset(0 66% 0 0);filter:none!important}.utility-bar+.header .header-logo-word{clip-path:inset(0 0 0 34%);filter:brightness(0) invert(1)!important;opacity:1}

/* Match the hero photo to the dark panel's 2vw outer gutter. */
@media(min-width:761px){.hero-photo{margin-right:max(2vw,16px);overflow:hidden}}@media(max-width:760px){.hero-photo{margin-right:0}}

/* Match the hero photo's upper gap to the gap above the dark panel. */
@media(min-width:761px){.hero{padding-top:23px}}


/* Keeps the employer and candidate messages clear but compact. */
.hero-copy .hero-text{margin:22px 0 0}.hero-copy .hero-intro{margin-top:18px}.hero-and{align-self:flex-start;width:min(460px,100%);margin:10px 0;color:var(--ink);font:700 13px/1 var(--heading);text-align:center;text-transform:uppercase;letter-spacing:.12em}.hero-copy .candidate-copy{margin:0 0 22px}.hero-copy .hero-meta{margin-top:18px}@media(max-width:760px){.hero-copy .hero-text{margin-top:18px}.hero-copy .candidate-copy{margin-bottom:18px}.hero-copy .hero-meta{margin-top:14px}}

/* Centre the footer slogan within the page. */
footer>p{text-align:center}

/* Centre the footer contact group as a whole. */
footer .footer-contact{margin-left:auto;margin-right:auto}

/* A balanced, centred footer layout. */
footer{grid-template-columns:1fr;padding:28px max(7vw,28px) 16px;row-gap:10px}footer .footer-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:min(100%,1050px);margin:0 auto 8px;padding-bottom:16px}footer .footer-info-item{justify-content:center}footer .footer-logo{grid-column:1;justify-self:center;width:220px;height:78px;margin:0}footer .footer-logo img{width:220px;height:78px}footer>p{grid-column:1;justify-self:center;margin:-2px 0 0;text-align:center;color:#adbdba;font-size:12px;font-weight:700;letter-spacing:.08em}footer .social{grid-column:1;justify-content:center;gap:26px;margin:0 0 6px;font-weight:700}footer small{grid-column:1;margin-top:4px;padding-top:14px;text-align:center}@media(max-width:760px){footer .footer-contact{display:flex;align-items:center;gap:12px;margin-bottom:4px}footer .footer-info-item{justify-content:flex-start;width:min(100%,260px)}footer .footer-logo{width:200px;height:70px}footer .footer-logo img{width:200px;height:70px}}
/* Subtle motion for a polished, calm browsing experience. */
@keyframes bw-rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes bw-photo-in{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
body.js-animations .hero-copy>*{opacity:0;animation:bw-rise-in .38s cubic-bezier(.2,.7,.2,1) forwards}body.js-animations .hero-copy>*:nth-child(1){animation-delay:.02s}body.js-animations .hero-copy>*:nth-child(2){animation-delay:.06s}body.js-animations .hero-copy>*:nth-child(3){animation-delay:.10s}body.js-animations .hero-copy>*:nth-child(4){animation-delay:.14s}body.js-animations .hero-copy>*:nth-child(5){animation-delay:.18s}body.js-animations .hero-copy>*:nth-child(6){animation-delay:.22s}body.js-animations .hero-copy>*:nth-child(7){animation-delay:.26s}body.js-animations .hero-photo{opacity:0;animation:bw-photo-in .48s cubic-bezier(.2,.7,.2,1) .04s forwards}body.js-animations .reveal{opacity:0;transform:translateY(18px);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.2,1)}body.js-animations .reveal.is-visible{opacity:1;transform:translateY(0)}nav>a:not(.nav-button){position:relative;transition:color .2s ease}nav>a:not(.nav-button)::after{content:'';position:absolute;right:0;bottom:-6px;left:0;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}nav>a:not(.nav-button):hover::after{transform:scaleX(1);transform-origin:left}.button,.nav-button{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover,.nav-button:hover{transform:translateY(-2px);box-shadow:0 9px 20px #14283a22}.social a{transition:color .2s ease,transform .2s ease}.social a:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* International education and careers are presented as a clear companion service. */
#services .cards{grid-template-columns:repeat(4,1fr)}@media(max-width:1050px){#services .cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){#services .cards{grid-template-columns:1fr}}
.difference{background:var(--sand)}.difference-image{border-radius:18px;overflow:hidden}@media(max-width:760px){.difference-image{border-radius:14px}}
.utility-contact{color:var(--navy);font-size:13px;font-weight:800}.utility-contact:hover{color:var(--coral)}@media(max-width:760px){.utility-contact{font-size:11px}}
.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;background:var(--sand)}.faq-heading h2{font-size:clamp(38px,4.5vw,58px)}.faq-heading>p:not(.kicker){color:#58656c;max-width:360px}.faq-list{display:grid;gap:10px}.faq-list details{background:#fff;border:1px solid var(--line);padding:0 24px}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;cursor:pointer;font:700 17px/1.35 var(--heading);letter-spacing:-.025em;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:var(--coral);font-size:25px;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list p{max-width:650px;margin:0 0 21px;color:#59656c;font-size:14px}.faq-cta{background:var(--mist);text-align:center}.faq-cta h2{font-size:clamp(38px,4.5vw,58px)}.faq-cta>p:not(.kicker){max-width:430px;margin:20px auto 27px;color:#59656c}.faq-cta .button{margin-top:0}@media(max-width:760px){.faq-section{grid-template-columns:1fr;gap:30px}.faq-list details{padding:0 18px}.faq-list summary{font-size:16px}.faq-cta{text-align:left}.faq-cta>p:not(.kicker){margin-left:0}}
.utility-bar+.header{border-bottom:0}.page-hero{background:var(--sand);color:var(--ink)}.page-hero .kicker{color:#6b7c76}.page-hero h1 span{color:#638878}.page-hero p:not(.kicker){color:#58656c}.page-hero .back-link{color:#52606b}.page-hero .back-link:hover{color:var(--coral)}
.application,.contact{background:var(--sand)}
.application,.contact,.faq-cta{background:var(--navy);color:#fff}.application .kicker,.contact .kicker,.faq-cta .kicker{color:#aabdb5}.application>div>p:not(.kicker),.contact>div>p:not(.kicker),.faq-cta>p:not(.kicker){color:#c4d0d4}.application-form label,.contact-form label,.contact-info p{color:#fff}.application-form input,.application-form select,.application-form textarea,.contact-form input,.contact-form select,.contact-form textarea{background:#fff;color:var(--ink)}
.careers-hero-content{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:8vw}.page-hero .career-intro{max-width:480px;margin:0 0 5px;color:#58656c}@media(max-width:760px){.careers-hero-content{grid-template-columns:1fr;gap:22px}.page-hero .career-intro{margin:0}}
.contact-hero-content{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:8vw}.page-hero .contact-intro{max-width:480px;margin:0 0 5px;color:#58656c;font-size:19px;line-height:1.65}@media(max-width:760px){.contact-hero-content{grid-template-columns:1fr;gap:22px}.page-hero .contact-intro{margin:0;font-size:17px}}
.hero-photo{border-radius:18px;overflow:hidden}.other-services{background:var(--sand)}.other-services-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:42px}.other-services-heading h2{font-size:clamp(35px,4.2vw,55px)}.other-services-heading>p{max-width:380px;margin:0;color:#57636b}.other-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.other-service-grid article{background:#fff;border-top:3px solid var(--coral);padding:34px}.other-service-grid article>span{color:var(--coral);font-size:12px;font-weight:800}.other-service-grid h3{font:700 clamp(25px,2.4vw,33px)/1.15 var(--heading);letter-spacing:-.045em;margin:27px 0 17px}.other-service-grid p{color:#57636b;margin:0 0 15px}.other-service-grid .arrow-link{margin-top:10px}@media(max-width:760px){.hero-photo{border-radius:14px}.other-services-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.other-service-grid{grid-template-columns:1fr;gap:12px}.other-service-grid article{padding:27px}}

/* Distinct calls to action for education and international careers. */
.other-service-grid .service-button{display:inline-flex;align-items:center;gap:13px;margin-top:10px;padding:12px 18px;border-radius:999px;color:#fff;font-size:13px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.other-service-grid .service-button b{font-size:16px;line-height:1}.other-service-grid .student-button{background:#638878}.other-service-grid .opportunities-button{background:var(--navy)}.other-service-grid .service-button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #14283a24}

/* One consistent orange call-to-action treatment across the website. */
.button,.nav-button,.button.secondary{background:var(--coral);border-color:var(--coral);color:#fff}.button b,.nav-button b,.button.secondary b{color:#fff}
/* Upward scrolling should never replay reveal motion. */
body.js-animations .reveal.reveal-no-motion{transition:none}
.students-hero-content{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:8vw}.page-hero .student-intro{max-width:500px;margin:0 0 5px;color:#58656c;font-size:18px;line-height:1.65}.page-hero .student-intro p{margin:0}.page-hero .student-intro p+p{margin-top:16px}@media(max-width:760px){.students-hero-content{grid-template-columns:1fr;gap:22px}.page-hero .student-intro{margin:0;font-size:17px}}
.opportunities-hero-content{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:8vw}.page-hero .opportunities-intro{max-width:500px;margin:0 0 5px;color:#58656c;font-size:18px;line-height:1.65}.page-hero .opportunities-intro p{margin:0}.page-hero .opportunities-intro p+p{margin-top:16px}@media(max-width:760px){.opportunities-hero-content{grid-template-columns:1fr;gap:22px}.page-hero .opportunities-intro{margin:0;font-size:17px}}
.hire-hero-content{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:8vw}.page-hero .hire-intro{max-width:500px;margin:0 0 5px;color:#58656c;font-size:18px;line-height:1.65}.page-hero .hire-intro p{margin:0}.page-hero .hire-intro p+p{margin-top:16px}@media(max-width:760px){.hire-hero-content{grid-template-columns:1fr;gap:22px}.page-hero .hire-intro{margin:0;font-size:17px}}
.faq-page-hero{padding-bottom:100px}.faq-hero-content{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;align-items:start}.page-hero .faq-hero-intro{max-width:390px}.faq-page-hero .faq-list{margin-top:48px}@media(max-width:760px){.faq-page-hero{padding-bottom:65px}.faq-hero-content{grid-template-columns:1fr;gap:18px}.faq-page-hero .faq-list{margin-top:0}}
.faq-list details[open] summary{padding-bottom:7px}.faq-list details[open] p{margin-top:6px;margin-bottom:15px}
.faq-list summary,.faq-list details[open] summary{padding-bottom:7px}
.utility-contact-details{display:flex;align-items:center;gap:20px}.utility-email{color:var(--navy);font-size:13px;font-weight:800}.utility-email:hover{color:var(--coral)}@media(max-width:760px){.utility-inner{height:54px}.utility-contact-details{flex-direction:column;align-items:flex-end;gap:2px}.utility-email{font-size:10px}}

/* Keep the home-page medal beside the headline on smaller screens. */
@media(max-width:760px){
  .hero-copy{display:grid;grid-template-columns:minmax(0,1fr) 66px;column-gap:10px;align-items:start}
  .hero-copy h1{grid-column:1;grid-row:1;font-size:clamp(30px,8.4vw,33px);align-self:start}
  .hero-copy .hero-emblem{position:static;grid-column:2;grid-row:1;width:66px;height:66px;margin:5px 0 0;align-self:start;justify-self:end}
  .hero-copy>p,.hero-copy>.actions,.hero-copy>.trust{grid-column:1/-1}
}

/* Mobile header: compensate for transparent logo padding and anchor the menu. */
@media(max-width:760px){
  .utility-bar+.header .header-logo{margin-left:-38px}
  .utility-bar+.header .menu-button{margin-left:auto}
}
