/* Homepage only: ocean colours, quiet route lines and real office photography. */
:root {
  --ocean: #073e58;
  --ocean-deep: #062f48;
  --aqua-surface: #e3f4f4;
}

.topbar { border-bottom: 1px solid #dcebed; }
.nav-cta { box-shadow: 0 5px 15px #176c9d20; }

.hero {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 82% 15%, #24a3ad59, transparent 52%),
    linear-gradient(120deg, #075663 0%, #073f5a 53%, #092d4b 100%);
}

/* Dashed arcs suggest a journey without sitting on top of the content. */
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
}
.hero::before {
  width: 80rem;
  height: 34rem;
  right: -24rem;
  top: -10rem;
  border: 2px dashed #b7eef547;
  transform: rotate(-27deg);
}
.hero::after {
  width: 70rem;
  height: 42rem;
  left: -27rem;
  bottom: -35rem;
  border: 1px solid #74d1dc45;
  box-shadow: 0 0 0 3rem #8be5e508, 0 0 0 6rem #8be5e506;
  transform: rotate(-20deg);
}
.hero .eyebrow,
.hero .destination-photo small { color: #ffdc56; }
.hero h1 { text-shadow: 0 6px 26px #032b402b; }
.hero-copy { color: #e9f7fc; font-size: 1rem; }
.hero-destinations { position: relative; }
.hero .destination-photo {
  border: 1px solid #ffffff5c;
  border-radius: 16px;
  box-shadow: 0 20px 38px #001d3c40;
}
.hero .global-caption { font-size: .75rem; letter-spacing: .08em; color: #d6eff4; }
.hero-proof { border-color: #aee6ec40; }
.hero-proof > div { border-color: #aee6ec40; }
.hero-proof strong { color: #ffdc56; }
.hero-proof span { color: #e2f0f5; font-size: .875rem; }
.hero-actions .button-yellow { box-shadow: 0 8px 25px #00192d38; }

.quiz-invitation {
  max-width: none;
  padding-left: max(calc((100vw - 1280px) / 2), 5vw, 24px);
  padding-right: max(calc((100vw - 1280px) / 2), 5vw, 24px);
  background: linear-gradient(115deg, #e3f4f4, #f5fafc);
  border-bottom: 1px solid #cce4e8;
}
.quiz-invitation > div:last-child {
  border-left: 3px solid #e9b600;
  padding-left: 24px;
}
.intro { background: #fff; }
.service-card,
.promotion-card,
.course-offer {
  box-shadow: 0 12px 32px #073e580c;
  border-radius: 16px;
}
.service-card.featured { background: linear-gradient(135deg, #086c76, #074361); }
.service-card.featured a { color: #ffdf66; }
.destinations {
  background:
    radial-gradient(ellipse at 100% 0, #bddfe68c, transparent 58%),
    linear-gradient(135deg, #e3f4f4, #eff6fb);
  border-block: 1px solid #d1e6e9;
}
.destinations .country-card { box-shadow: 0 5px 16px #144f6706; }
.destination-panel { box-shadow: 0 12px 32px #144f670a; }
.promotions {
  background: linear-gradient(150deg, #f6fafc 0%, #e2f1f6 65%, #dceff1 100%);
}
.scholarship-spotlight { border-color: #c1dce1; box-shadow: 0 20px 45px #073e5812; }
.scholarship-help { background: #ffffffd9; }
.portal-intro { background: #fff; }
.portal-intro-actions { background: #e6f4f5; }
.process { background: #fff; }
.steps article > span { background: #07566a; color: #fff; }
.steps article { border-top: 2px solid #a9d6dc; }

.client-reviews {
  background:
    radial-gradient(ellipse at 0 100%, #14859261, transparent 60%),
    linear-gradient(130deg, #0a5261, #06344e);
  color: #fff;
}
.client-reviews .eyebrow.dark { color: #ffdf66; }
.client-reviews .section-heading > p:not(.eyebrow) { color: #deeff4; }
.client-review {
  border: 1px solid #d8e8ec;
  border-top: 4px solid #ffcf36;
  border-radius: 16px;
  box-shadow: 0 14px 28px #001e3029;
}

.mates-news {
  background:
    radial-gradient(ellipse at 0 0, #b8e5e55e, transparent 65%),
    #eaf6f6;
}
.office-story {
  max-width: 1280px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.office-story .office-gallery {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  min-height: 620px;
}
.office-story .office-photo {
  min-height: 0;
  border-radius: 16px;
  box-shadow: 0 12px 28px #073e5814;
}
.office-story .reception-photo { grid-row: 1 / 3; }
.office-story .office-photo figcaption { font-size: .875rem; line-height: 1.5; }
.office-story .office-announcement {
  margin: 0;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 35px #073e5810;
}
.office-story .office-news-copy { padding: 32px; }
.office-story .office-news-copy h3 { font-size: clamp(1.7rem, 2.5vw, 2.2rem); }
.office-story .office-news-address {
  flex: 1;
  padding: 28px 32px;
  background: #073e58;
  border-top: 4px solid #ffcf36;
  gap: 8px;
}
.office-story .office-news-address address { line-height: 1.65; }
.about { background: #eaf6f6; }
.about-card {
  background: #fff;
  color: var(--ink);
  border: 1px solid #c9e2e6;
  box-shadow: 0 12px 32px #073e5808;
  border-radius: 18px;
}
.about-card .eyebrow,
.about-card .address strong { color: #10707b; }
.about-card p:not(.eyebrow),
.about-card .address span { color: #526c77; }
.about-card .address { border-color: #c9e2e6; }
.about-card blockquote { color: #07566a; }
.consultation {
  background:
    radial-gradient(ellipse at 100% 0, #248ea04a, transparent 55%),
    linear-gradient(120deg, #075663, #082f49);
}
.consultation-copy > .eyebrow { color: #ffdf66; }
.brand-board { background: #f3f8fa; }

@media (min-width: 1101px) {
  .hero { padding-top: 76px; }
  .hero-destinations { padding-block: 12px; }
  .hero .photo-uk { transform: translateY(-12px); }
  .hero .photo-usa { transform: translateY(-12px); }
}
@media (max-width: 980px) {
  .office-story { grid-template-columns: 1fr; }
  .office-story .office-gallery { min-height: 460px; grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: 1fr; }
  .office-story .reception-photo { grid-row: auto; }
  .office-story .office-announcement { display: grid; grid-template-columns: 1.2fr 1fr; }
  .office-story .office-news-address { border-top: 0; border-left: 4px solid #ffcf36; }
}
@media (max-width: 700px) {
  .hero::before { width: 42rem; height: 28rem; right: -23rem; top: 4rem; }
  .hero-proof strong, .hero-proof span { font-size: .8125rem; }
  .hero .global-caption { font-size: .75rem; }
  .quiz-invitation { padding-inline: 22px; }
  .quiz-invitation > div:last-child { padding-left: 18px; }
  .office-story { gap: 20px; }
  .office-story .office-gallery { min-height: 500px; grid-template-columns: 1fr 1fr; grid-template-rows: 290px 196px; }
  .office-story .reception-photo { grid-column: 1 / -1; }
  .office-story .reception-photo img { object-position: center 55%; }
  .office-story .office-photo figcaption { padding-inline: 12px; }
  .office-story .office-announcement { display: flex; }
  .office-story .office-news-copy, .office-story .office-news-address { padding: 26px; }
  .office-story .office-news-address { border-left: 0; border-top: 4px solid #ffcf36; }
}
@media (prefers-reduced-motion: reduce) {
  .destination-photo img, .office-photo img { transition: none; }
}
.service-section-nav{display:flex;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;padding-bottom:1.5rem;background:#f0f8f8}
.service-section-nav a{font-weight:700;color:#176c9d;padding:.5rem .75rem}
.service-hero .hero-content{display:block;max-width:1100px}
.service-hero .hero-message{max-width:850px}
.service-hero h1{font-size:clamp(2.5rem,5vw,5rem)}
.service-hero{padding-bottom:4rem}
.service-hero h1 em{white-space:normal}
.service-hero .hero-copy{max-width:680px}
.quiz-invitation > .service-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:390px;min-width:0}
.service-contact-actions .button{width:100%;min-height:56px;padding:16px 20px;margin:0;gap:10px;font-size:1rem;line-height:1.5;text-align:center;white-space:normal}
.service-contact-actions .service-consultation-button{background:#fff;color:#176c9d;border:1px solid #176c9d}
.service-contact-actions .service-consultation-button:hover{background:#e3f4f4}
.service-contact-actions .button:focus-visible{outline:3px solid #176c9d;outline-offset:4px}
@media(max-width:700px){.quiz-invitation > .service-contact-actions{max-width:none;padding-left:0;border-left:0}}
/* Shared readability and spacing across the service pages. */
.service-page .section{padding-top:64px;padding-bottom:64px}
.service-page .service-section-nav{padding-top:18px;padding-bottom:18px}
.service-page .service-hero .hero-content{max-width:1280px}
.service-card h2,.service-card h3{font-size:1.5rem;line-height:1.35;letter-spacing:-.025em}
.service-card p{font-size:1rem;line-height:1.75}
.service-card>a{font-size:.9375rem;line-height:1.5;min-height:44px;display:flex;align-items:center;gap:8px}
.service-page .section>p:not(.eyebrow){max-width:780px;font-size:1rem;line-height:1.75}
.service-page .section>h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.25;max-width:900px}
.button,.nav-cta{white-space:normal;text-align:center;line-height:1.5}
.button{font-size:.9375rem}
.eyebrow,.hero-destinations .global-caption{line-height:1.6}
.topbar nav a{min-height:44px;display:inline-flex;align-items:center}
.contact-departments a{overflow-wrap:anywhere}
@media(max-width:700px){
 .service-page .section{padding-top:40px;padding-bottom:40px}
 .service-page .service-section-nav{padding:14px 20px;gap:6px}
 .service-section-nav a{font-size:.875rem;min-height:44px}
 .hero h1 em{white-space:normal}
 .hero-actions{align-items:stretch}
 .hero-actions>a{max-width:100%;font-size:.9375rem;min-height:48px}
 .hero-actions .button{width:100%}
 .service-card{padding:26px}
 .service-card h2,.service-card h3{font-size:1.4rem}
 .service-card p,.about-card p:not(.eyebrow),.consultation-copy>p:not(.eyebrow){font-size:1rem}
 .topbar nav a{padding:10px 12px;width:100%;font-size:.9375rem}
 .scholarship-help .button,.scholarship-content .button,.course-offer-body .button{width:100%;white-space:normal}
}
.service-page .service-section-nav{position:static;display:flex;flex-direction:row;align-items:center;box-shadow:none;z-index:auto}
@media(max-width:700px){.eyebrow{font-size:.75rem}.hero-proof strong{font-size:.8125rem}.hero-proof span{font-size:.75rem}.hero-destinations .global-caption{font-size:.75rem}}

/* Five featured destinations, with a compact swipe row on phones. */
.hero-destinations.featured-five{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:240px auto;gap:14px;width:100%;min-width:0}
.featured-five .photo-australia{grid-column:auto;grid-row:auto}
.featured-five .destination-photo>span{left:16px;right:12px;bottom:18px}
.featured-five .destination-photo strong{font-size:clamp(1rem,1.7vw,1.4rem)}
.featured-five .destination-photo small{font-size:.75rem;letter-spacing:.02em}
.featured-five .destination-photo:focus-visible{outline:3px solid #ffdc56;outline-offset:3px}
@media(max-width:700px){
 .hero-destinations.featured-five{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:6px 3px 16px;flex-wrap:nowrap}
 .featured-five .destination-photo{flex:0 0 78%;height:220px;scroll-snap-align:start}
 .featured-five .destination-photo strong{font-size:1.35rem}
 .featured-five .global-caption{display:none}
}

.hero-content:has(.featured-five){grid-template-columns:1fr;gap:32px}
.hero-content:has(.featured-five) .hero-message{max-width:850px}
.destination-credits{flex-basis:100%;font-size:.8125rem;line-height:1.6;text-align:left}
.destination-credits summary{cursor:pointer}
.destination-credits a{text-decoration:underline}
