.service-hero { position: relative; overflow: hidden; min-height: 840px; padding: 184px 0 72px; color: var(--white); background: linear-gradient(120deg, var(--navy-deep) 0%, var(--navy) 48%, #16498f 100%); }
.service-hero::before { position: absolute; inset: 0; opacity: .9; background: radial-gradient(circle at 74% 22%, rgba(255,255,255,.14), transparent 28%), radial-gradient(circle at 96% 86%, rgba(240,184,26,.18), transparent 34%); content: ""; }
.service-hero-orbit, .service-hero-orbit::before, .service-hero-orbit::after { position: absolute; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ""; }
.service-hero-orbit { top: 92px; right: -185px; width: 650px; height: 650px; }
.service-hero-orbit::before { inset: 60px; }
.service-hero-orbit::after { inset: 126px; border-color: rgba(240,184,26,.3); }
/* The PR portrait carries more visual detail than the Study Abroad hero, so its desktop guide rings sit one step quieter. */
@media (min-width: 961px) {
  .service-hero--pr .service-hero-orbit, .service-hero--pr .service-hero-orbit::before { border-color: rgba(255,255,255,.12); }
  .service-hero--pr .service-hero-orbit::after { border-color: rgba(240,184,26,.24); }
}
.service-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(520px, 1fr); gap: 44px; align-items: center; }
@media (min-width: 1121px) {
  .service-hero-grid:has(.is-couple-photo) { grid-template-columns: minmax(0, 1.7fr) minmax(400px, 1fr); }
}
.service-hero .eyebrow { color: var(--gold-light); }
.service-hero .button-ghost { border-color: rgba(255,255,255,.4); color: var(--white); background: rgba(255,255,255,.04); }
.service-hero .button-ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
.service-hero h1 { max-width: 780px; margin-bottom: 23px; font-size: clamp(42px, 4.25vw, 60px); line-height: 1.04; letter-spacing: -.05em; }
.service-hero h1 span, .service-hero h1 em { display: block; }
.service-hero h1 em { color: var(--gold-light); font-style: normal; }
.service-hero-copy { max-width: 590px; margin-bottom: 31px; color: #dceaff; font-size: 17px; }
.service-hero-footnote { display: flex; align-items: center; gap: 10px; margin: 28px 0 0; color: #bed4f4; font-size: 12px; }
.service-hero-footnote span { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid rgba(240,184,26,.7); border-radius: 50%; color: var(--gold-light); font-size: 11px; }
.service-visual { position: relative; height: 560px; }
.service-student-wrap { position: absolute; inset: -8px 120px -82px -10px; z-index: 2; pointer-events: none; }
.service-student { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; filter: saturate(.96) contrast(1.03) drop-shadow(0 28px 38px rgba(2,13,39,.3)); transform: scaleX(-1); }
.service-stat-card { position: absolute; z-index: 3; left: 0; top: 44px; width: 154px; padding: 14px 17px; border: 1.5px solid rgba(240,184,26,.62); border-radius: 16px; color: var(--navy); background: rgba(255,251,240,.96); box-shadow: 0 18px 34px rgba(2,13,39,.22); }
.service-stat-card strong { display: block; font: 700 27px/1 "Poppins", Arial, sans-serif; letter-spacing: -.03em; }
.service-stat-card span { display: block; margin-top: 5px; color: #657087; font-size: 11px; font-weight: 700; }
.service-pill-stack { position: absolute; z-index: 4; top: 8px; right: -6px; width: 238px; height: 535px; }
.service-pill-line { position: absolute; top: 40px; right: 100px; width: 2px; height: 452px; background: linear-gradient(180deg, transparent, var(--gold-light) 12%, var(--gold-light) 88%, transparent); opacity: .72; }
.service-hero-pill { position: absolute; right: 0; display: flex; width: 220px; min-height: 76px; align-items: center; gap: 11px; padding: 11px 14px; border: 1.5px solid rgba(248,202,78,.9); border-radius: 38px; color: var(--navy-deep); background: rgba(255,251,240,.96); box-shadow: 0 16px 32px rgba(2,13,39,.2); backdrop-filter: blur(8px); }
.service-hero-pill::before { position: absolute; top: 0; left: 50%; width: 8px; height: 8px; border: 2px solid #fff9df; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 1px rgba(240,184,26,.3); content: ""; transform: translate(-50%, -50%); }
.service-hero-pill:nth-of-type(1) { top: 0; right: 0; }
.service-hero-pill:nth-of-type(2) { top: 112px; right: 70px; }
.service-hero-pill:nth-of-type(3) { top: 224px; right: 105px; }
.service-hero-pill:nth-of-type(4) { top: 336px; right: 70px; }
.service-hero-pill:nth-of-type(5) { top: 448px; right: 0; }
.service-hero-pill-icon { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(240,184,26,.5); border-radius: 50%; color: #197a70; background: #e5f4ed; }
.service-hero-pill-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.service-hero-pill strong { display: block; font-size: 12px; line-height: 1.25; }
.service-hero-pill small { display: block; margin-top: 2px; color: #657087; font-size: 9px; line-height: 1.25; }
.service-student-hero-visual { position: relative; min-height: 590px; isolation: isolate; }
.service-student-hero-visual::before { position: absolute; z-index: -1; bottom: 5px; left: 50%; width: 460px; height: 460px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; background: radial-gradient(circle at 50% 50%, rgba(116,151,255,.27), rgba(17,55,119,.08) 53%, transparent 71%); box-shadow: 0 0 0 62px rgba(255,255,255,.035), 0 0 0 124px rgba(240,184,26,.045); content: ""; transform: translateX(-50%); }
.service-student-hero-visual::after { position: absolute; z-index: -1; right: -42px; bottom: 64px; width: 270px; height: 270px; border: 1px solid rgba(240,184,26,.3); border-radius: 50%; content: ""; }
.service-student-hero-visual img { position: absolute; z-index: 1; top: -170px; left: 50%; display: block; width: min(132%, 730px); max-width: none; height: auto; filter: drop-shadow(0 27px 30px rgba(2,13,39,.32)); transform: translateX(-50%); }
.student-hero-badge { position: absolute; z-index: 2; top: 38px; right: 4px; min-width: 214px; padding: 17px 21px 18px; border: 1px solid rgba(240,184,26,.78); border-radius: 18px; color: var(--navy); background: rgba(255,251,240,.97); box-shadow: 0 18px 38px rgba(2,13,39,.21); }
.student-hero-badge span { display: block; margin-bottom: 9px; color: #a47909; font: 500 9px "DM Mono", monospace; letter-spacing: .095em; text-transform: uppercase; }
.student-hero-badge strong { display: block; font-size: 18px; line-height: 1.16; letter-spacing: -.035em; }
.student-hero-badge em { color: #2d5fae; font-style: normal; }
.service-student-hero-visual.is-couple-photo img { -webkit-mask-image: linear-gradient(#000 70%, transparent 94%); mask-image: linear-gradient(#000 70%, transparent 94%); }
@media (min-width: 1121px) {
  .service-student-hero-visual.is-couple-photo img { top: -20px; width: min(122%, 660px); }
}
.route-plan-card { position: relative; overflow: hidden; width: min(100%, 640px); justify-self: center; padding: 25px; border: 1px solid rgba(255,255,255,.16); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055)); box-shadow: 0 28px 70px rgba(2,13,39,.24); backdrop-filter: blur(14px); }
.route-plan-card::before { position: absolute; top: -150px; right: -110px; width: 330px; height: 330px; border: 1px solid rgba(240,184,26,.32); border-radius: 50%; box-shadow: 0 0 0 62px rgba(255,255,255,.03); content: ""; }
.route-plan-topline, .route-plan-outcome, .route-plan-steps, .route-plan-countries { position: relative; z-index: 1; }
.route-plan-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; color: #d9e6fb; font: 500 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.route-plan-topline strong { color: var(--gold-light); font-weight: 500; }
.route-plan-outcome { margin-bottom: 14px; padding: 26px 28px 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 21px; background: rgba(3,22,49,.56); }
.route-plan-outcome > span { display: block; margin-bottom: 16px; color: var(--gold-light); font: 500 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.route-plan-outcome h2 { max-width: 500px; margin: 0 0 10px; color: var(--white); font-size: clamp(29px, 3vw, 40px); line-height: 1.08; letter-spacing: -.045em; }
.route-plan-outcome p { max-width: 490px; margin: 0; color: #cbdcf5; font-size: 13px; line-height: 1.55; }
.route-plan-steps { display: grid; gap: 9px; margin: 0 0 16px; padding: 0; list-style: none; }
.route-plan-steps li { display: grid; grid-template-columns: 45px 1fr; gap: 14px; align-items: center; min-height: 76px; padding: 13px 17px 13px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.91); }
.route-plan-steps b { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; color: var(--navy); background: #fff3cf; font: 700 12px "DM Mono", monospace; }
.route-plan-steps strong { display: block; color: var(--navy); font-size: 15px; line-height: 1.25; }
.route-plan-steps small { display: block; margin-top: 3px; color: #647087; font-size: 11px; line-height: 1.4; }
.route-plan-countries { display: flex; flex-wrap: wrap; gap: 8px; }
.route-plan-countries span { display: inline-flex; min-height: 31px; align-items: center; padding: 6px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #dce8ff; background: rgba(3,22,49,.42); font-size: 10px; font-weight: 700; }
.service-summary { position: relative; z-index: 2; color: var(--white); background: #061b41; }
.service-summary-grid { display: grid; grid-template-columns: 1.05fr repeat(3, 1fr); }
.service-summary-item { min-height: 112px; padding: 23px 27px; border-left: 1px solid rgba(255,255,255,.14); }
.service-summary-item:first-child { border-left: 0; }
.service-summary-item span { display: block; margin-bottom: 7px; color: var(--gold-light); font: 500 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.service-summary-item strong { display: block; font-size: 15px; line-height: 1.38; }

.fit-section { position: relative; overflow: hidden; background: linear-gradient(135deg, #fbfaf6 0%, #f7f9fb 58%, #fff8e8 100%); }
.fit-section::before { position: absolute; left: -190px; bottom: -250px; width: 520px; height: 520px; border: 1px solid rgba(240,184,26,.22); border-radius: 50%; box-shadow: 0 0 0 64px rgba(240,184,26,.045), 0 0 0 128px rgba(5,32,79,.025); content: ""; }
.fit-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(440px, 1fr); gap: 70px; align-items: center; }
.fit-grid:has(.route-map-column) { align-items: stretch; }
.fit-copy h2 { max-width: 620px; margin-bottom: 20px; }
.fit-copy h2 em { display: block; color: var(--gold); font-style: normal; }
.fit-copy p { max-width: 620px; font-size: 17px; }
.fit-lede { margin-bottom: 24px; color: #5e6980; font-size: 18px !important; line-height: 1.65; }
.route-map-column { display: flex; flex-direction: column; gap: 22px; }
.route-map-column .route-map { flex: 1; }
.fit-insight { position: relative; z-index: 1; max-width: 620px; margin: 0 0 18px; padding: 22px 24px 22px 28px; border: 1px solid rgba(5,32,79,.1); border-radius: 22px; background: rgba(255,255,255,.9); box-shadow: 0 18px 42px rgba(5,32,79,.08); }
.route-map-column .fit-insight { margin: 0; }
.fit-insight::before { position: absolute; left: 0; top: 18px; bottom: 18px; width: 4px; border-radius: 99px; background: var(--gold); content: ""; }
.fit-insight span { display: block; margin-bottom: 12px; color: var(--gold); font: 500 10px "DM Mono", monospace; letter-spacing: .11em; text-transform: uppercase; }
.fit-insight strong { display: block; max-width: 540px; color: var(--navy); font-size: 21px; line-height: 1.28; letter-spacing: -.035em; }
.fit-lenses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 620px; }
.fit-grid:has(.route-map-column) .fit-lenses { grid-template-columns: repeat(2, 1fr); gap: 14px; }
.fit-lenses article { min-height: 164px; padding: 18px; border: 1px solid rgba(5,32,79,.08); border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 14px 34px rgba(5,32,79,.055); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.fit-grid:has(.route-map-column) .fit-lenses article { min-height: 190px; padding: 22px; }
.fit-lenses article:hover { border-color: rgba(240,184,26,.65); box-shadow: 0 20px 42px rgba(5,32,79,.09); transform: translateY(-4px); }
.fit-lenses span { display: grid; width: 38px; height: 38px; margin-bottom: 26px; place-items: center; border-radius: 13px; color: var(--navy); background: rgba(240,184,26,.18); font: 700 11px "DM Mono", monospace; }
.fit-lenses strong { display: block; margin-bottom: 8px; color: var(--navy); font-size: 16px; line-height: 1.16; }
.fit-lenses small { display: block; color: var(--muted); font-size: 12px; line-height: 1.5; }
.fit-lens--wide { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; min-height: auto; padding: 22px 26px; }
.fit-lens--wide span { margin-bottom: 0; }
.fit-lens--wide strong { margin-bottom: 4px; }
.route-map { position: relative; overflow: hidden; padding: 38px; border: 1px solid #dce5ee; border-radius: 28px; background: linear-gradient(150deg, #fff, #f4f8fc); box-shadow: 0 26px 60px rgba(5,32,79,.11); }
.route-map::after { position: absolute; top: -180px; right: -160px; width: 360px; height: 360px; border: 1px solid rgba(240,184,26,.25); border-radius: 50%; box-shadow: 0 0 0 58px rgba(240,184,26,.05); content: ""; }
.route-map-title { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; }
.route-map-title strong { color: var(--navy); font-size: 23px; line-height: 1.18; }
.route-map-title span { color: var(--gold); font: 500 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.route-map-list { position: relative; z-index: 1; display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.route-map-list li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: center; padding: 16px; border: 1px solid rgba(5,32,79,.08); border-radius: 16px; background: rgba(255,255,255,.74); }
.route-map-list b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--navy); background: rgba(240,184,26,.18); font: 700 12px "DM Mono", monospace; }
.route-map-list strong { display: block; color: var(--navy); font-size: 15px; }
.route-map-list small { color: var(--muted); font-size: 12px; }
.fit-cta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; margin-top: 54px; padding: 30px 34px; border: 1px solid rgba(240,184,26,.4); border-radius: 22px; background: linear-gradient(120deg, rgba(5,32,79,.05) 0%, rgba(240,184,26,.1) 100%); }
.fit-cta p { max-width: 600px; margin: 0; color: var(--navy); font-size: 16px; font-weight: 600; line-height: 1.5; }

.service-offers { background: linear-gradient(155deg, #faf7ef 0%, #f3f7f8 52%, #faf5ea 100%); }
.service-section-head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr); gap: 48px; align-items: end; margin-bottom: 45px; }
.service-section-head h2 { margin-bottom: 0; }
.service-section-head p { max-width: 520px; margin-bottom: 0; font-size: 16px; }
.offer-grid { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; gap: 16px; }
.offer-card { --offer-accent: #4168cb; --offer-accent-deep: #223e83; position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 26px; border: 1px solid #e4e9f0; border-radius: 24px; background: #fff; box-shadow: 0 14px 32px rgba(5,32,79,.06); transition: transform .28s cubic-bezier(.22,.78,.2,1), box-shadow .28s ease; }
.offer-card:hover { z-index: 2; box-shadow: 0 26px 50px rgba(5,32,79,.14); transform: translateY(-6px); }
.offer-card::after { position: absolute; right: -60px; bottom: -65px; width: 160px; height: 160px; border: 1px solid color-mix(in srgb, var(--offer-accent) 22%, transparent); border-radius: 50%; box-shadow: 0 0 0 26px color-mix(in srgb, var(--offer-accent) 6%, transparent); content: ""; pointer-events: none; }
.offer-card > * { position: relative; z-index: 1; }
.offer-icon { display: grid; width: 48px; height: 48px; flex: 0 0 auto; margin-bottom: 16px; place-items: center; border-radius: 16px 16px 16px 5px; color: var(--white); background: linear-gradient(145deg, var(--offer-accent), var(--offer-accent-deep)); box-shadow: 0 12px 22px color-mix(in srgb, var(--offer-accent) 38%, transparent); }
.offer-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.offer-no { display: block; margin-bottom: 10px; color: var(--offer-accent-deep); font: 700 10px/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.offer-card h3 { margin-bottom: 8px; color: var(--navy); font-size: 19px; line-height: 1.2; letter-spacing: -.02em; }
.offer-card p { flex: 1 1 auto; margin-bottom: 0; font-size: 13px; line-height: 1.6; }

.offer-card--lg { grid-column: span 2; grid-row: span 2; padding: 32px; background: linear-gradient(155deg, #0a3677 0%, #05204f 55%, #031631 100%); color: var(--white); border-color: rgba(255,255,255,.1); box-shadow: 0 24px 55px rgba(5,32,79,.22); }
.offer-card--lg::after { border-color: rgba(255,215,93,.28); box-shadow: 0 0 0 34px rgba(255,255,255,.03); }
.offer-card--lg .offer-icon { width: 58px; height: 58px; margin-bottom: 22px; background: linear-gradient(145deg, var(--gold-light), var(--gold)); box-shadow: 0 14px 28px rgba(240,184,26,.32); }
.offer-card--lg .offer-icon svg { width: 29px; height: 29px; color: var(--navy-deep); }
.offer-card--lg .offer-no { color: var(--gold-light); }
.offer-card--lg h3 { color: var(--white); font-size: 27px; line-height: 1.16; }
.offer-card--lg p { color: #c7d8ed; font-size: 14.5px; max-width: 320px; }

/* Purpose-built visual anchors for the two tall service cards. */
.offer-art { position: absolute; z-index: 0; display: block; pointer-events: none; }
.offer-art--route { right: 24px; bottom: 25px; width: 244px; height: 156px; }
.offer-route-orbit { position: absolute; right: -26px; bottom: -82px; width: 208px; height: 208px; border: 1px solid rgba(255,215,93,.3); border-radius: 50%; box-shadow: 0 0 0 27px rgba(255,255,255,.025); }
.offer-route-line { position: absolute; right: 11px; bottom: 18px; width: 186px; height: 88px; border-top: 1px solid rgba(255,215,93,.54); border-radius: 50%; transform: rotate(-17deg); }
.offer-route-node { position: absolute; display: block; width: 9px; height: 9px; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; background: #0a3677; box-shadow: 0 0 0 5px rgba(255,255,255,.09); }
.offer-route-node--start { right: 166px; bottom: 41px; }
.offer-route-node--middle { right: 87px; bottom: 80px; }
.offer-route-node--destination { right: 20px; bottom: 96px; width: 12px; height: 12px; border-color: var(--gold-light); background: var(--gold); box-shadow: 0 0 0 6px rgba(240,184,26,.18); }
.offer-route-label { position: absolute; right: 5px; top: 15px; padding: 7px 10px; border: 1px solid rgba(255,215,93,.28); border-radius: 999px; color: var(--gold-light); background: rgba(3,22,49,.56); font: 700 9px/1 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }

.offer-art--documents { right: 20px; bottom: 24px; width: 190px; height: 162px; }
.offer-document { position: absolute; display: block; border-radius: 13px; }
.offer-document--back { right: 6px; bottom: 3px; width: 122px; height: 143px; border: 1px solid rgba(184,134,15,.18); background: rgba(255,255,255,.32); transform: rotate(9deg); }
.offer-document--middle { right: 25px; bottom: 8px; width: 126px; height: 145px; border: 1px solid rgba(184,134,15,.28); background: rgba(255,255,255,.54); transform: rotate(-4deg); }
.offer-document--front { right: 43px; bottom: 11px; width: 132px; height: 148px; border: 1px solid #ead8a8; background: linear-gradient(150deg, rgba(255,255,255,.98), #fff8e8); box-shadow: 0 14px 24px rgba(117,83,16,.12); transform: rotate(3deg); }
.offer-document-line { position: absolute; left: 22px; height: 4px; border-radius: 999px; background: rgba(138,98,7,.2); }
.offer-document-line--one { top: 31px; width: 64px; }
.offer-document-line--two { top: 46px; width: 83px; }
.offer-document-line--three { top: 61px; width: 51px; }
.offer-document-check { position: absolute; left: 21px; bottom: 22px; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff8e6; background: #b8860f; box-shadow: 0 5px 10px rgba(138,98,7,.2); font: 700 15px/1 Arial, sans-serif; }
.offer-document-stamp { position: absolute; right: 3px; bottom: 29px; z-index: 2; padding: 7px 8px 6px; border: 1px solid rgba(138,98,7,.42); border-radius: 5px; color: #8a6207; background: rgba(255,250,240,.86); font: 700 8px/1 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; transform: rotate(-7deg); }

.offer-card:hover .offer-route-node--destination { box-shadow: 0 0 0 9px rgba(240,184,26,.15); }
.offer-card:hover .offer-document--front { box-shadow: 0 18px 30px rgba(117,83,16,.17); }

.offer-card--tall { grid-row: span 2; }
.offer-card--wide { grid-column: span 2; }
.offer-card--wide .offer-icon { margin-bottom: 14px; }
.offer-card--wide h3, .offer-card--wide p { max-width: 78%; }
.offer-card--tint { background: linear-gradient(160deg, #fffaf0 0%, #fdf3dc 100%); border-color: #ecdfba; --offer-accent: #b8860f; --offer-accent-deep: #8a6207; }

.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.category-card { --offer-accent: #4168cb; --offer-accent-deep: #223e83; position: relative; overflow: hidden; padding: 32px; border: 1px solid #e4e9f0; border-radius: 24px; background: #fff; box-shadow: 0 14px 32px rgba(5,32,79,.06); transition: transform .28s cubic-bezier(.22,.78,.2,1), box-shadow .28s ease; }
.category-card:hover { box-shadow: 0 26px 50px rgba(5,32,79,.14); transform: translateY(-6px); }
.category-card::after { position: absolute; right: -60px; bottom: -65px; width: 160px; height: 160px; border: 1px solid color-mix(in srgb, var(--offer-accent) 22%, transparent); border-radius: 50%; box-shadow: 0 0 0 26px color-mix(in srgb, var(--offer-accent) 6%, transparent); content: ""; pointer-events: none; }
.category-card > * { position: relative; z-index: 1; }
.category-card--tint { background: linear-gradient(160deg, #fffaf0 0%, #fdf3dc 100%); border-color: #ecdfba; --offer-accent: #b8860f; --offer-accent-deep: #8a6207; }
.category-icon { display: grid; width: 52px; height: 52px; margin-bottom: 18px; place-items: center; border-radius: 16px 16px 16px 5px; color: var(--white); background: linear-gradient(145deg, var(--offer-accent), var(--offer-accent-deep)); box-shadow: 0 12px 22px color-mix(in srgb, var(--offer-accent) 38%, transparent); }
.category-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.category-no { display: block; margin-bottom: 8px; color: var(--offer-accent-deep); font: 700 10px/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.category-card h3 { margin-bottom: 16px; color: var(--navy); font-size: 21px; line-height: 1.2; letter-spacing: -.02em; }
.category-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.category-list li { position: relative; padding-left: 22px; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
.category-list li::before { position: absolute; left: 0; top: 2px; color: var(--offer-accent-deep); content: "✓"; font-size: 12px; font-weight: 700; }

.countries-section { position: relative; overflow: hidden; background: #fbfaf6; }
.countries-section::before { position: absolute; top: -260px; left: -200px; width: 620px; height: 620px; border: 1px solid rgba(5,32,79,.06); border-radius: 50%; box-shadow: 0 0 0 70px rgba(240,184,26,.03), 0 0 0 140px rgba(5,32,79,.02); content: ""; pointer-events: none; }
.countries-section .shell { position: relative; z-index: 1; }

.country-honeycomb { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px 22px; padding: 20px 0 30px; }
.country-card { position: relative; padding-top: 10px; }
.country-hex { position: relative; aspect-ratio: 3 / 4; width: 100%; overflow: hidden; border-radius: 16px; background: linear-gradient(150deg, var(--offer-accent, #4168cb), var(--offer-accent-deep, #223e83)); box-shadow: 0 16px 30px rgba(5,32,79,.16); transform: rotate(var(--tilt, -4deg)); transition: transform .35s cubic-bezier(.22,.78,.2,1), box-shadow .35s ease; }
.country-card:nth-child(even) .country-hex { --tilt: 4deg; }
.country-card:hover .country-hex { transform: rotate(0deg) scale(1.06); box-shadow: 0 26px 46px rgba(5,32,79,.26); z-index: 4; }
.country-hex img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.22,.78,.2,1); }
.country-card:hover .country-hex img { transform: scale(1.1); }
.country-hex::after { position: absolute; inset: 0; z-index: 2; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); border-radius: inherit; content: ""; pointer-events: none; }
.country-hex-fallback { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; overflow: hidden; }
.country-hex-fallback svg { width: 62%; height: 62%; color: rgba(255,255,255,.18); fill: none; stroke: currentColor; stroke-width: 1.1; }
.country-hex-fallback span { position: absolute; color: rgba(255,255,255,.95); font: 700 22px/1 "Poppins", Arial, sans-serif; letter-spacing: -.02em; }
.country-tag { position: relative; z-index: 5; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; }
.country-tag img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; box-shadow: 0 3px 8px rgba(5,32,79,.2); flex: 0 0 auto; }
.country-tag-mono { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy); font: 700 10px "DM Mono", monospace; box-shadow: 0 3px 8px rgba(5,32,79,.2); }
.country-tag strong { color: var(--navy); font: 600 17px/1.2 "Poppins", Arial, sans-serif; letter-spacing: -.01em; white-space: nowrap; }

.country-flag-strip { display: flex; flex-wrap: wrap; gap: 12px; }
.country-flag-chip { display: inline-flex; align-items: center; gap: 11px; padding: 11px 20px 11px 11px; border: 1px solid #e1e8f0; border-radius: 999px; background: #fff; color: var(--navy); font: 600 15px/1 "Poppins", Arial, sans-serif; box-shadow: 0 8px 18px rgba(5,32,79,.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.country-flag-chip:hover { border-color: rgba(240,184,26,.6); box-shadow: 0 12px 24px rgba(5,32,79,.09); transform: translateY(-2px); }
.country-flag-chip img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.country-flag-chip .country-tag-mono { width: 28px; height: 28px; font-size: 10px; }

.country-more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.country-more[aria-hidden="false"] { grid-template-rows: 1fr; }
.country-more-inner { overflow: hidden; }
.country-more .country-flag-strip { padding-top: 4px; }
.country-toggle { display: inline-flex; align-items: center; gap: 10px; margin-top: 36px; border: 0; cursor: pointer; }
.country-toggle span { transition: transform .22s ease; }
.country-toggle[aria-expanded="true"] span { transform: rotate(180deg); }

.process-band { color: var(--white); background: var(--navy-deep); }
.process-band .eyebrow { color: var(--gold-light); }
.process-band h2, .process-band h3 { color: var(--white); }
.process-band .service-section-head p { color: #cbdaf2; }
.study-process { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(255,255,255,.12); border-radius: 26px; overflow: hidden; }
.study-process-step { min-height: 270px; padding: 27px 24px; border-left: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.035); }
.study-process-step:first-child { border-left: 0; }
.study-process-step span { display: block; margin-bottom: 58px; color: var(--gold-light); font: 500 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.study-process-step h3 { margin-bottom: 10px; font-size: 20px; line-height: 1.18; }
.study-process-step p { margin-bottom: 0; color: #cbdaf2; font-size: 13px; line-height: 1.6; }

.proof-section { position: relative; overflow: hidden; background: linear-gradient(145deg, #f9f6ed, #f1f5f8); }
.proof-stage { position: relative; display: grid; grid-template-columns: minmax(0, .82fr) minmax(510px, 1.18fr); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 32px; color: var(--white); background: linear-gradient(122deg, #082b63 0%, #05204f 47%, #031631 100%); box-shadow: 0 28px 66px rgba(5,32,79,.19); isolation: isolate; }
.proof-stage::before { position: absolute; z-index: -1; left: -180px; bottom: -230px; width: 560px; height: 560px; border: 1px solid rgba(240,184,26,.24); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.035), 0 0 0 130px rgba(240,184,26,.035); content: ""; }
.proof-stage::after { position: absolute; z-index: -1; right: -220px; top: -260px; width: 650px; height: 650px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025); content: ""; }
.proof-intro { display: flex; flex-direction: column; justify-content: center; min-height: 470px; padding: 58px 54px 54px; }
.proof-eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 21px; color: var(--gold-light); font: 500 10px/1 "DM Mono", monospace; letter-spacing: .115em; text-transform: uppercase; }
.proof-eyebrow::before { width: 28px; height: 1px; background: currentColor; content: ""; }
.proof-intro h2 { max-width: 430px; margin: 0 0 20px; color: var(--white); font-size: clamp(38px, 3.45vw, 52px); line-height: 1.04; letter-spacing: -.055em; }
.proof-intro h2 em { display: block; color: var(--gold-light); font-style: normal; }
.proof-intro > p:not(.proof-eyebrow) { max-width: 400px; margin: 0; color: #c5d7f1; font-size: 15px; line-height: 1.68; }
.proof-intro-note { display: inline-flex; width: fit-content; align-items: center; gap: 11px; margin-top: 31px; color: #dce8fa; font: 600 11px/1.3 "Poppins", Arial, sans-serif; }
.proof-intro-note span { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(240,184,26,.52); border-radius: 50%; color: var(--gold-light); font: 700 9px/1 "DM Mono", monospace; }
.proof-relay { position: relative; display: flex; min-height: 470px; align-items: center; padding: 47px 48px 47px 96px; }
.proof-relay::before { position: absolute; left: 72px; top: 74px; bottom: 74px; width: 1px; background: linear-gradient(180deg, transparent, rgba(240,184,26,.88) 12%, rgba(240,184,26,.88) 88%, transparent); content: ""; }
.proof-relay-mark { position: absolute; z-index: 2; left: 42px; top: 50%; display: grid; width: 61px; height: 61px; place-items: center; border: 1px solid rgba(240,184,26,.78); border-radius: 50%; color: var(--navy-deep); background: linear-gradient(145deg, var(--gold-light), var(--gold)); box-shadow: 0 0 0 8px rgba(240,184,26,.12), 0 12px 26px rgba(1,13,37,.27); transform: translateY(-50%); }
.proof-relay-mark span { font: 800 13px/1 "DM Mono", monospace; letter-spacing: -.08em; }
.proof-relay-mark small { position: absolute; left: 73px; width: 62px; color: var(--gold-light); font: 700 8px/1.3 "DM Mono", monospace; letter-spacing: .09em; text-transform: uppercase; }
.proof-relay-list { display: grid; width: 100%; gap: 12px; margin: 0; padding: 0; list-style: none; }
.proof-relay-item { position: relative; display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 15px; padding: 18px 22px 19px 19px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: linear-gradient(115deg, rgba(255,255,255,.11), rgba(255,255,255,.045)); box-shadow: 0 14px 26px rgba(1,13,37,.12); backdrop-filter: blur(8px); transition: border-color .24s ease, background .24s ease, transform .24s ease; }
.proof-relay-item:nth-child(2) { margin-left: 35px; }
.proof-relay-item:nth-child(3) { margin-left: 12px; }
.proof-relay-item:hover { border-color: rgba(240,184,26,.62); background: rgba(255,255,255,.13); transform: translateX(5px); }
.proof-relay-number { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(240,184,26,.4); border-radius: 13px 13px 13px 4px; color: var(--gold-light); background: rgba(240,184,26,.1); font: 700 11px/1 "DM Mono", monospace; }
.proof-relay-item strong { display: block; margin: 1px 0 5px; color: var(--white); font-size: 16px; line-height: 1.25; letter-spacing: -.02em; }
.proof-relay-item p { margin: 0; color: #c6d6ee; font-size: 12.5px; line-height: 1.5; }

.testimonial-note-section { position: relative; overflow: hidden; background: linear-gradient(145deg, #f8f5ed 0%, #f1f5f8 100%); }
.testimonial-note-section::before { position: absolute; left: -210px; bottom: -270px; width: 570px; height: 570px; border: 1px solid rgba(240,184,26,.18); border-radius: 50%; box-shadow: 0 0 0 68px rgba(240,184,26,.035), 0 0 0 136px rgba(5,32,79,.018); content: ""; pointer-events: none; }
.testimonial-note-section .shell { position: relative; z-index: 1; }
.study-stories-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); gap: 48px; align-items: end; margin-bottom: 40px; }
.study-stories-head h2 { max-width: 650px; margin: 0; }
.study-stories-head > p { max-width: 420px; margin: 0; font-size: 16px; line-height: 1.65; }
.study-stories-rail { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; align-items: stretch; }
.study-story { position: relative; display: grid; min-height: 360px; overflow: hidden; border: 1px solid #dce5ee; border-radius: 28px; background: rgba(255,255,255,.86); box-shadow: 0 18px 42px rgba(5,32,79,.09); transition: transform .28s cubic-bezier(.22,.78,.2,1), box-shadow .28s ease; }
.study-story:hover { z-index: 1; box-shadow: 0 28px 56px rgba(5,32,79,.15); transform: translateY(-5px); }
.study-story--primary { grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr); color: var(--white); border-color: transparent; background: linear-gradient(135deg, #0b397d 0%, #05204f 57%, #031631 100%); }
.study-story--secondary { grid-template-columns: minmax(0, 1.1fr) minmax(172px, .9fr); }
.study-story-photo-wrap { position: relative; min-height: 100%; overflow: hidden; background: #dce5ee; }
.study-story-photo-wrap::after { position: absolute; inset: 0; background: linear-gradient(145deg, rgba(5,32,79,.02), rgba(5,32,79,.24)); content: ""; pointer-events: none; }
.study-story--primary .study-story-photo-wrap::after { background: linear-gradient(90deg, rgba(5,32,79,.06), rgba(5,32,79,.42)); }
.study-story-photo-wrap img { display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; transition: transform .55s cubic-bezier(.22,.78,.2,1); }
.study-story:hover .study-story-photo-wrap img { transform: scale(1.055); }
.study-story-photo-label { position: absolute; z-index: 1; left: 16px; bottom: 16px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: var(--white); background: rgba(5,32,79,.56); box-shadow: 0 7px 16px rgba(1,13,37,.18); backdrop-filter: blur(8px); font: 700 9px/1 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.study-story-copy { display: flex; flex-direction: column; justify-content: center; padding: 38px 35px 34px; }
.study-story-index { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; color: var(--gold); font: 700 10px/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.study-story-index::before { width: 23px; height: 1px; background: currentColor; content: ""; }
.study-story-quote-mark { display: block; width: 31px; height: 24px; margin-bottom: 15px; color: var(--gold-light); fill: currentColor; }
.study-story blockquote { max-width: 460px; margin: 0 0 27px; color: var(--white); font: 600 clamp(20px, 2vw, 27px)/1.32 "Poppins", Arial, sans-serif; letter-spacing: -.035em; }
.study-story-route { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; color: #c7d9f1; font-size: 11px; font-weight: 600; line-height: 1.4; }
.study-story-route span { width: 7px; height: 7px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 0 5px rgba(240,184,26,.12); }
.study-story-route b { color: var(--gold-light); font-size: 15px; line-height: 1; }
.study-story--secondary .study-story-copy { padding-left: 32px; }
.study-story--secondary .study-story-index { color: var(--gold); }
.study-story--secondary blockquote { color: var(--navy); font-size: clamp(18px, 1.7vw, 23px); }
.study-story--secondary .study-story-route { color: #66758d; }
.study-stories-footnote { display: flex; align-items: center; gap: 10px; margin: 22px 0 0; color: #6a778b; font-size: 11px; line-height: 1.45; }
.study-stories-footnote span { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(240,184,26,.12); }
.study-stories-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.study-story-note { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 138px; min-height: 258px; overflow: hidden; border: 1px solid #dce5ee; border-radius: 22px; background: #fff; box-shadow: 0 13px 30px rgba(5,32,79,.06); transition: transform .25s cubic-bezier(.22,.78,.2,1), box-shadow .25s ease, border-color .25s ease; }
.study-story-note:hover { z-index: 1; border-color: #c8d5e5; box-shadow: 0 22px 42px rgba(5,32,79,.12); transform: translateY(-4px); }
.study-story-note-copy { display: flex; flex-direction: column; justify-content: center; padding: 29px 23px 25px 28px; }
.study-story-note .study-story-index { margin-bottom: 15px; color: #b17a0a; }
.study-story-note blockquote { margin: 0 0 18px; color: var(--navy); font: 600 16px/1.46 "Poppins", Arial, sans-serif; letter-spacing: -.022em; }
.study-story-note .study-story-route { margin-top: auto; color: #5f718a; font-size: 10px; }
.study-story-note .study-story-route span { width: 6px; height: 6px; }
.study-story-note-art { position: relative; overflow: hidden; background: #dce5ee; }
.study-story-note-art::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,32,79,.02), rgba(5,32,79,.27)); content: ""; }
.study-story-note-art img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.22,.78,.2,1); }
.study-story-note:hover .study-story-note-art img { transform: scale(1.06); }
.study-story-note--gold { border-color: #e7d8b5; background: linear-gradient(145deg, #fffdf8, #fcf4e1); }
.study-story-note--gold .study-story-note-art::after { background: linear-gradient(180deg, rgba(177,122,10,.02), rgba(96,58,0,.25)); }

.testimonial-featured-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.testimonial-card { position: relative; padding: 28px; border: 1px solid #e4e9f0; border-radius: 22px; background: #fff; box-shadow: 0 14px 32px rgba(5,32,79,.06); transition: transform .22s ease, box-shadow .22s ease; }
.testimonial-card:hover { box-shadow: 0 22px 44px rgba(5,32,79,.1); transform: translateY(-4px); }
.testimonial-photo { display: block; object-fit: cover; margin-bottom: 16px; border-radius: 50%; }
.testimonial-photo--lg { width: 84px; height: 84px; }
.testimonial-photo--sm { width: 64px; height: 64px; margin-bottom: 0; }
.testimonial-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.testimonial-card-head .testimonial-byline { min-width: 0; }
.testimonial-photo--placeholder { display: grid; place-items: center; border: 1.5px dashed rgba(5,32,79,.22); background: linear-gradient(145deg, #eef2f8, #e2e8f2); color: rgba(5,32,79,.32); }
.testimonial-photo--placeholder svg { width: 46%; height: 46%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.testimonial-quote-mark { display: block; width: 30px; height: 22px; margin-bottom: 14px; color: rgba(240,184,26,.55); fill: currentColor; }
.testimonial-quote { margin: 0 0 18px; color: var(--navy); font-size: 15px; line-height: 1.55; }
.testimonial-quote--sm { margin-bottom: 0; font-size: 13px; line-height: 1.5; }
.testimonial-byline strong { display: block; color: var(--navy); font-size: 14px; }
.testimonial-byline span { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }

.testimonial-card--featured { display: flex; flex-direction: column; padding: 0; overflow: hidden; border-color: transparent; background: linear-gradient(150deg, #0a3677 0%, #05204f 100%); box-shadow: 0 20px 44px rgba(5,32,79,.18); }
.testimonial-card--featured:hover { box-shadow: 0 26px 52px rgba(5,32,79,.24); }
.testimonial-photo-wrap { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }
.testimonial-photo-wrap .testimonial-photo { width: 100%; height: 100%; margin: 0; border-radius: 0; }
.testimonial-photo-wrap .testimonial-photo--placeholder { border-width: 0 0 1.5px; border-color: rgba(240,184,26,.55); background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.05)); color: rgba(255,255,255,.55); }
.testimonial-photo-wrap .testimonial-photo--placeholder svg { width: 30%; height: 30%; }
.testimonial-card-body { padding: 24px 28px 28px; }
.testimonial-card--featured .testimonial-quote { color: var(--white); font-size: 16px; }
.testimonial-card--featured .testimonial-byline strong { color: var(--white); }
.testimonial-card--featured .testimonial-byline span { color: #b9cbe9; }

.testimonial-wall-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 42px 0 18px; }
.testimonial-wall-head .eyebrow { margin: 0; }
.testimonial-wall-nav { display: flex; align-items: center; gap: 10px; }
.testimonial-wall-hint { display: none; }
.testimonial-wall-arrow { display: grid; flex: 0 0 auto; width: 40px; height: 40px; place-items: center; border: 1px solid #dce5ee; border-radius: 50%; background: #fff; color: var(--navy); box-shadow: 0 8px 20px rgba(5,32,79,.08); cursor: pointer; transition: background .18s ease, box-shadow .18s ease, opacity .18s ease; }
.testimonial-wall-arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.testimonial-wall-arrow:hover:not(:disabled) { background: var(--gold); box-shadow: 0 12px 26px rgba(5,32,79,.12); }
.testimonial-wall-arrow:disabled { opacity: .35; cursor: default; }
.testimonial-wall-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.testimonial-wall-viewport::-webkit-scrollbar { display: none; }
.testimonial-wall-grid { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, 1fr); grid-auto-columns: calc((100% - 48px) / 4); gap: 16px; }
.testimonial-wall-grid .testimonial-card { padding: 22px; scroll-snap-align: start; }
.testimonial-card--expandable { cursor: zoom-in; touch-action: manipulation; }
.testimonial-card--expandable:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.testimonial-card--expandable:active { transform: scale(.985); }
.testimonial-card--expandable .testimonial-photo { transition: transform .22s ease; }
.testimonial-card--expandable:hover .testimonial-photo { transform: scale(1.06); }
.testimonial-image-dialog { width: min(360px, calc(100vw - 40px)); max-width: none; margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 22px; background: var(--white); box-shadow: 0 24px 70px rgba(5,32,79,.32); }
.testimonial-image-dialog::backdrop { background: rgba(5,32,79,.58); }
.testimonial-image-dialog figure { margin: 0; }
.testimonial-image-dialog img { display: block; width: 100%; height: min(54svh, 360px); object-fit: cover; }
.testimonial-image-dialog figcaption { padding: 15px 56px 17px 20px; color: var(--navy); font-size: 14px; font-weight: 700; }
.testimonial-image-dialog figcaption strong { display: block; line-height: 1.25; }
.testimonial-image-dialog figcaption span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.4; }
.testimonial-image-dialog-close { position: absolute; top: 12px; right: 12px; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--navy); box-shadow: 0 6px 18px rgba(5,32,79,.16); cursor: pointer; font-size: 28px; line-height: 1; touch-action: manipulation; }
.testimonial-image-dialog-close:hover, .testimonial-image-dialog-close:focus-visible { background: var(--gold); }

.service-faq { position: relative; overflow: hidden; background: linear-gradient(160deg, #fff 0%, #f7fafc 58%, #fff8e8 100%); }
.service-faq::before { position: absolute; top: -190px; right: -170px; width: 460px; height: 460px; border: 1px solid rgba(240,184,26,.2); border-radius: 50%; box-shadow: 0 0 0 64px rgba(240,184,26,.04); content: ""; }
.service-faq .shell { position: relative; z-index: 1; }
.service-faq-head { max-width: 860px; margin: 0 auto 42px; text-align: center; }
.service-faq-head .eyebrow { justify-content: center; }
.service-faq-head h2 { margin-bottom: 16px; }
.service-faq-head p { max-width: 670px; margin: 0 auto; font-size: 16px; line-height: 1.65; }
.service-faq-list { display: grid; gap: 14px; max-width: 1040px; margin: 0 auto; }
.service-faq-list details { position: relative; overflow: hidden; border: 1px solid #dce5ee; border-radius: 22px; background: rgba(255,255,255,.86); box-shadow: 0 16px 38px rgba(5,32,79,.06); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.service-faq-list details:hover { border-color: rgba(240,184,26,.58); box-shadow: 0 22px 48px rgba(5,32,79,.1); transform: translateY(-2px); }
.service-faq-list details[open] { border-color: rgba(240,184,26,.72); background: #fff; }
.service-faq-list summary { position: relative; cursor: pointer; padding: 25px 76px 25px 30px; color: var(--navy); font-size: 18px; font-weight: 700; line-height: 1.35; list-style: none; }
.service-faq-list summary::-webkit-details-marker { display: none; }
.service-faq-list summary::after { position: absolute; top: 50%; right: 28px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--navy); background: rgba(240,184,26,.18); content: "+"; font-size: 24px; font-weight: 500; transform: translateY(-50%); transition: background .2s ease, transform .2s ease; }
.service-faq-list details[open] summary::after { background: var(--gold); content: "−"; transform: translateY(-50%) rotate(180deg); }
.service-faq-list p { max-width: 860px; padding: 0 76px 26px 30px; margin: -7px 0 0; color: #5e6f86; font-size: 15px; line-height: 1.7; }

.why-section { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(145deg, #fffdf7 0%, #fff7e7 100%); }
.why-section::before { position: absolute; z-index: -2; top: -270px; right: -225px; width: 580px; height: 580px; border: 1px solid rgba(240,184,26,.23); border-radius: 50%; box-shadow: 0 0 0 64px rgba(240,184,26,.045), 0 0 0 128px rgba(5,32,79,.022); content: ""; }
.why-section::after { position: absolute; z-index: -2; bottom: -260px; left: -220px; width: 500px; height: 500px; border: 1px solid rgba(5,32,79,.08); border-radius: 50%; content: ""; }
.why-orbit { position: absolute; z-index: -1; right: 12%; bottom: 42px; width: 330px; height: 330px; border: 1px solid rgba(240,184,26,.28); border-radius: 50%; box-shadow: 0 0 0 42px rgba(240,184,26,.035); pointer-events: none; }
.why-grid { position: relative; display: grid; grid-template-columns: minmax(310px, .78fr) minmax(0, 1.22fr); gap: clamp(44px, 7vw, 94px); align-items: start; }
.why-intro { position: relative; z-index: 1; padding-top: 12px; }
.why-intro .eyebrow { color: var(--navy); }
.why-intro .eyebrow::before { background: var(--navy); }
.difference-title { max-width: 510px; margin: 0; color: var(--navy); font-size: clamp(29px, 2.92vw, 42px); line-height: 1.1; letter-spacing: -.055em; }
.difference-title span, .difference-title em { display: block; white-space: nowrap; }
.difference-title em { color: #a77809; font-style: normal; }
.why-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin: 0; padding: 0; list-style: none; }
.why-point { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; min-height: 174px; padding: 24px 22px; border: 1px solid rgba(5,32,79,.1); border-radius: 22px; background: rgba(255,255,255,.86); box-shadow: 0 15px 36px rgba(5,32,79,.06); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.why-point:hover { border-color: rgba(240,184,26,.72); box-shadow: 0 23px 44px rgba(5,32,79,.11); transform: translateY(-4px); }
.why-point--standalone { max-width: 495px; min-height: auto; margin-top: 34px; padding: 25px 24px; color: var(--white); border-color: rgba(255,255,255,.12); background: linear-gradient(145deg, #0b397f 0%, #05204f 68%, #031631 100%); box-shadow: 0 22px 50px rgba(5,32,79,.19); }
.why-point--standalone:hover { border-color: rgba(240,184,26,.7); box-shadow: 0 26px 54px rgba(5,32,79,.24); }
.why-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px 16px 16px 5px; color: var(--navy); background: rgba(240,184,26,.18); }
.why-icon svg { display: block; width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.why-point--standalone .why-icon { color: var(--navy); background: var(--gold-light); }
.why-point strong { display: block; margin: 2px 0 8px; color: var(--navy); font-size: 17px; line-height: 1.2; letter-spacing: -.025em; }
.why-point p { margin: 0; color: #5c6d83; font-size: 13px; line-height: 1.6; }
.why-point--standalone strong { color: var(--white); font-size: 19px; }
.why-point--standalone p { color: #ccdbef; font-size: 14px; }

.service-page-cta { padding: 78px 0 86px; background: #f7f5ef; }
.service-cta-card { position: relative; display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); min-height: 350px; overflow: visible; border-radius: 30px; color: var(--white); background: linear-gradient(112deg, #5978d7 0%, #4567cc 28%, #21458f 53%, #0a245d 100%); box-shadow: 0 24px 60px rgba(5,32,79,.18); isolation: isolate; }
.service-cta-card::after { position: absolute; top: 0; right: 0; width: 56%; height: 3px; background: linear-gradient(90deg, transparent, rgba(240,184,26,.9)); content: ""; }
.service-cta-visual { position: relative; overflow: visible; clip-path: inset(-140px 0 0 0); }
.service-cta-orbit { position: absolute; left: 47%; top: 54%; width: 325px; height: 325px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; transform: translate(-50%, -50%); }
.service-cta-orbit::before { position: absolute; inset: 48px; border: 1px solid rgba(240,184,26,.25); border-radius: inherit; content: ""; }
.service-cta-student { position: absolute; z-index: 2; bottom: -360px; left: 48%; height: 815px; max-width: none; filter: drop-shadow(0 22px 28px rgba(3,15,50,.24)); transform: translateX(-50%); }
.service-cta-copy { position: relative; z-index: 3; align-self: center; max-width: 640px; padding: 48px 62px 46px 24px; }
.service-cta-copy .eyebrow { color: #dce8ff; }
.service-cta-copy h2 { max-width: 585px; margin-bottom: 15px; color: var(--white); font-size: clamp(36px, 3.4vw, 48px); line-height: 1.08; }
.service-cta-copy p { max-width: 570px; margin-bottom: 24px; color: #d9e5fa; font-size: 15px; line-height: 1.62; }

@media (max-width: 1120px) {
  .service-hero-grid { grid-template-columns: 1fr; }
  .service-visual { width: min(100%, 700px); justify-self: center; }
  .service-student-hero-visual { width: min(100%, 610px); min-height: 650px; margin-top: 80px; justify-self: center; }
  .service-student-hero-visual img { top: -80px; width: min(115%, 650px); }
  .offer-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; }
  .category-grid { grid-template-columns: 1fr; }
  .offer-card { min-height: 220px; }
  .offer-card--lg, .offer-card--tall { grid-row: span 1; }
  .offer-art { opacity: .8; transform: scale(.72); transform-origin: right bottom; }
  .offer-card--wide h3, .offer-card--wide p { max-width: 100%; }
  .country-honeycomb { grid-template-columns: repeat(3, 1fr); }
  .study-process { grid-template-columns: repeat(2, 1fr); }
  .study-process-step:nth-child(odd) { border-left: 0; }
  .fit-lenses { grid-template-columns: 1fr; }
  .fit-lenses article { min-height: auto; }
  .fit-lenses span { margin-bottom: 18px; }
  .fit-lens--wide { flex-direction: column; align-items: flex-start; }
  .fit-lens--wide span { margin-bottom: 18px; }
  .service-cta-card { grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); }
}

@media (max-width: 960px) {
  .service-hero { min-height: auto; padding-top: 124px; }
  .service-hero-orbit, .service-hero-orbit::before { border-color: rgba(255,255,255,.06); }
  .service-hero-orbit::after { border-color: rgba(240,184,26,.12); }
  .service-summary-grid, .fit-grid, .service-section-head, .proof-stage { grid-template-columns: 1fr; }
  .testimonial-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonial-wall-grid { grid-auto-columns: calc((100% - 16px) / 2); }
  .service-summary-item { min-height: auto; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .service-summary-item:first-child { border-top: 0; }
  .fit-grid, .why-grid { gap: 38px; }
  .why-grid { grid-template-columns: 1fr; }
  .why-intro { max-width: 700px; }
  .why-point--standalone { max-width: 590px; }
  .proof-intro { min-height: auto; padding: 48px 46px 34px; }
  .proof-relay { min-height: 0; padding: 28px 46px 48px 94px; }
  .study-stories-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 30px; }
  .study-stories-head > p { max-width: 580px; }
  .study-stories-rail { grid-template-columns: 1fr; }
  .study-stories-notes { max-width: 760px; }
  .study-story { min-height: 330px; }
  .study-story--secondary { grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr); }
  .service-cta-card { grid-template-columns: 1fr; }
  .service-cta-visual { min-height: 300px; }
  .service-cta-student { bottom: -250px; left: 50%; height: 620px; }
  .service-cta-copy { padding: 34px 24px 38px; }
}

@media (max-width: 640px) {
  .service-hero { padding: 112px 0 54px; }
  .service-hero-orbit, .service-hero-orbit::before { border-color: rgba(255,255,255,.055); }
  .service-hero-orbit::after { border-color: rgba(240,184,26,.105); }
  .service-hero h1 { font-size: clamp(36px, 10.4vw, 48px); }
  .service-hero-copy { font-size: 16px; }
  .service-student-hero-visual { min-height: 490px; margin-top: 44px; }
  .service-student-hero-visual::before { width: 360px; height: 360px; }
  .service-student-hero-visual img { top: 0; width: min(115%, 450px); }
  .student-hero-badge { top: 21px; right: 0; min-width: 190px; padding: 14px 17px; }
  .student-hero-badge strong { font-size: 16px; }
  .service-visual { display: grid; height: auto; gap: 14px; }
  .service-student-wrap { position: relative; inset: auto; height: 455px; order: 1; -webkit-mask-image: linear-gradient(#000 82%, transparent); mask-image: linear-gradient(#000 82%, transparent); }
  .service-pill-stack { position: relative; top: auto; right: auto; order: 2; width: 100%; height: auto; display: grid; gap: 10px; }
  .service-pill-line { display: none; }
  .service-hero-pill { position: relative; top: auto !important; right: auto !important; width: 100%; min-height: 70px; border-radius: 18px; }
  .service-hero-pill::before { display: none; }
  .service-stat-card { top: 16px; left: 0; }
  .fit-lede { font-size: 16px !important; }
  .fit-insight { padding: 20px 20px 20px 24px; border-radius: 18px; }
  .fit-insight strong { font-size: 18px; }
  .route-map { padding: 26px; border-radius: 22px; }
  .fit-cta { flex-direction: column; align-items: flex-start; margin-top: 38px; padding: 26px; }
  .fit-cta .button { width: 100%; }
  .service-faq-head { margin-bottom: 30px; text-align: left; }
  .service-faq-head .eyebrow { justify-content: flex-start; }
  .service-faq-list summary { padding: 20px 58px 20px 20px; font-size: 15px; }
  .service-faq-list summary::after { right: 18px; width: 30px; height: 30px; font-size: 22px; }
  .service-faq-list p { padding: 0 20px 22px; font-size: 13px; }
  .offer-grid, .study-process { grid-template-columns: 1fr; }
  .why-points { grid-template-columns: 1fr; }
  .why-point { min-height: auto; padding: 20px; }
  .why-point--standalone { margin-top: 26px; }
  .why-orbit { right: -130px; bottom: -100px; width: 290px; height: 290px; }
  .proof-stage { border-radius: 25px; }
  .proof-intro { padding: 38px 25px 22px; }
  .proof-intro h2 { font-size: clamp(34px, 10vw, 43px); }
  .proof-intro-note { margin-top: 24px; }
  .proof-relay { padding: 25px 18px 32px 57px; }
  .proof-relay::before { left: 32px; top: 46px; bottom: 46px; }
  .proof-relay-mark { left: 8px; width: 49px; height: 49px; }
  .proof-relay-mark small { display: none; }
  .proof-relay-item { grid-template-columns: 37px minmax(0, 1fr); gap: 12px; padding: 16px 14px; border-radius: 15px; }
  .proof-relay-item:nth-child(2), .proof-relay-item:nth-child(3) { margin-left: 0; }
  .proof-relay-number { width: 37px; height: 37px; border-radius: 11px 11px 11px 4px; font-size: 10px; }
  .proof-relay-item strong { font-size: 14px; }
  .proof-relay-item p { font-size: 12px; }
  .study-stories-head { margin-bottom: 25px; }
  .study-stories-head > p { font-size: 14px; }
  .study-stories-rail { gap: 14px; }
  .study-stories-notes { grid-template-columns: 1fr; gap: 14px; margin-top: 14px; }
  .study-story-note { grid-template-columns: minmax(0, 1fr) 106px; min-height: 230px; border-radius: 18px; }
  .study-story-note-copy { padding: 25px 18px 22px 21px; }
  .study-story-note blockquote { margin-bottom: 16px; font-size: 15px; }
  .study-story, .study-story--primary, .study-story--secondary { grid-template-columns: 1fr; min-height: 0; border-radius: 22px; }
  .study-story--secondary .study-story-photo-wrap { order: -1; }
  .study-story-photo-wrap { min-height: 225px; max-height: 255px; }
  .study-story-photo-wrap img { min-height: 225px; }
  .study-story-copy, .study-story--secondary .study-story-copy { padding: 27px 22px 25px; }
  .study-story-index { margin-bottom: 16px; }
  .study-story blockquote { margin-bottom: 22px; font-size: 21px; }
  .study-story--secondary blockquote { font-size: 20px; }
  .study-stories-footnote { align-items: flex-start; margin-top: 18px; font-size: 10.5px; }
  .offer-card { min-height: 200px; }
  .offer-card--lg, .offer-card--wide, .offer-card--tall { grid-column: span 1; grid-row: span 1; }
  .offer-art { display: none; }
  .offer-card--wide h3, .offer-card--wide p { max-width: 100%; }
  .country-honeycomb { grid-template-columns: repeat(2, 1fr); gap: 26px 18px; }
  .country-hex { transform: rotate(0deg); }
  .country-card:hover .country-hex { transform: scale(1.04); }
  .study-process-step { min-height: auto; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .study-process-step:first-child { border-top: 0; }
  .study-process-step span { margin-bottom: 38px; }
  .testimonial-featured-grid { grid-template-columns: 1fr; }
  .testimonial-wall-viewport { scroll-padding-left: 4px; padding-bottom: 10px; -webkit-overflow-scrolling: touch; }
  .testimonial-wall-grid { display: flex; grid-auto-flow: unset; grid-template-rows: none; gap: 14px; }
  .testimonial-wall-grid .testimonial-card { flex: 0 0 80%; scroll-snap-stop: always; }
  .testimonial-wall-arrow { display: none; }
  .testimonial-wall-hint { display: block; margin: 0; color: var(--muted); font-size: 11px; font-weight: 600; }
  .service-cta-copy h2 { font-size: clamp(33px, 9.3vw, 42px); }
  .service-cta-copy .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .offer-card, .country-card, .country-more, .country-toggle span { transition: none; transform: none; }
}
