/* GSC photographic journey: the images mark real visitor paths and the consulting chapter. */
.audiencePaths .audienceGrid {
  gap: clamp(18px, 2.4vw, 30px);
  border-top: 0;
  margin-top: 22px;
}
.audiencePaths .audienceCard,
.audiencePaths .audienceCard:nth-child(2) {
  min-width: 0;
  padding: 0 0 24px;
  border-left: 0;
  border-bottom: 1px solid #9fb2b6;
  background: transparent;
  transition: none;
}
.audiencePaths .audienceCard:hover,
.audiencePaths .audienceCard:focus-visible {
  padding-left: 0;
  background: transparent;
}
.audiencePhoto {
  display: block;
  width: 100%;
  aspect-ratio: 3.4;
  overflow: hidden;
  background: #b9c8ca;
}
.audiencePhoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.audienceCard:hover .audiencePhoto img,
.audienceCard:focus-visible .audiencePhoto img { transform: scale(1.025); }
.audienceContent { display: block; padding-top: 13px; }
.audienceContent .num { color: #3f5358; }
.audiencePaths .audienceCard h3 { margin: 5px 0 7px; font-size: clamp(21px,1.6vw,25px); }
.audienceDescription {
  display: block;
  max-width: 62ch;
  font-size: clamp(16px,1.1vw,17px);
  line-height: 1.52;
}
.audiencePaths .audienceCard .rowLabel {
  border: 0;
  border-bottom: 1px solid currentColor;
  margin-top: 11px;
  padding: 0 0 4px;
  font-size: 14px;
  font-weight: 500;
}
.audiencePaths .audienceOverlap { margin-top: 15px; }
.audiencePaths { padding-block: clamp(52px,5vw,72px); }
.audiencePaths .sectionIntro { margin-bottom: 0; }
.homeIntro { grid-template-columns: minmax(0,1.5fr) minmax(160px,.45fr); gap: clamp(32px,7vw,100px); align-items: start; }
.homeIntro > div { grid-column: 1; grid-row: 1; }
.homeIntro > .eyebrow { grid-column: 2; grid-row: 1; justify-self: end; padding-top: 10px; }
.homeIntro h2 { max-width: 25ch; }
.homeIntro p { max-width: 68ch; }
.homeIntro .homeIntroNote { max-width: 65ch; margin: 17px 0 0; color: #43575c; font-size: 15px; line-height: 1.55; }
.audiencePaths .sectionIntro > div { display: block; }
.audiencePaths .sectionIntro h2 { margin-bottom: 13px; }
.audiencePaths .sectionIntro p { max-width: 72ch; }
.businessConsultingVisual {
  width: 100%;
  height: auto;
  margin-top: clamp(26px, 3vw, 40px);
  overflow: visible;
}
.businessConsultingVisual img {
  display: block;
  width: 100%;
  height: clamp(210px, 18vw, 280px);
  object-fit: cover;
  object-position: center 38%;
}
.businessConsultingVisual figcaption { padding-top: 10px; font-size: 13px; line-height: 1.5; color: #465b60; }
.businessConsultingGrid { margin-top: 36px; }
@media (prefers-reduced-motion:no-preference) {
  .imageWillReveal { opacity: .68; transform: translateY(12px); }
  .imageWillReveal.imageRevealed {
    opacity: 1;
    transform: none;
    transition: opacity 650ms ease-out, transform 650ms ease-out;
  }
}
@media (max-width:700px) {
  .homeIntro { grid-template-columns: 1fr; gap: 12px; }
  .homeIntro > .eyebrow { grid-column: 1; grid-row: 1; justify-self: start; padding-top: 0; }
  .homeIntro > div { grid-column: 1; grid-row: 2; }
  .audiencePaths .audienceGrid { gap: 18px; margin-top: 20px; }
  .audiencePhoto { aspect-ratio: 2.7; }
  .audienceContent { padding-top: 12px; }
  .audiencePaths .audienceCard h3 { font-size: 21px; }
  .businessConsultingVisual { margin-top: 24px; }
  .businessConsultingVisual img { height: clamp(185px,50vw,245px); }
  .businessConsultingGrid { margin-top: 24px; }
}
@media (prefers-reduced-motion:reduce) {
  .audiencePhoto img { transition: none; }
}
.residenceGateway { background: #f7f9f8; }
.residenceGatewayGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(22px,3vw,42px); }
.residenceGatewayGrid article { min-width: 0; border-top: 1px solid #aebfc1; padding-top: 20px; scroll-margin-top: 116px; }
.residenceGatewayPhoto { height: clamp(150px,16vw,230px); overflow: hidden; background: #dce5e5; }
.residenceGatewayPhoto img { width: 100%; height: 100%; object-fit: cover; }
.residenceGatewayCopy { padding: 20px 0 8px; }
.residenceGatewayCopy .num { color: #52656a; }
.residenceGatewayCopy h3 { margin: 12px 0; font-size: clamp(23px,2vw,29px); }
.residenceGatewayCopy p { max-width: 58ch; color: var(--muted); font-size: 17px; line-height: 1.6; }
.residenceGatewayCopy a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 18px; border-bottom: 1px solid currentColor; color: var(--accent); font-size: 16px; font-weight: 500; }
@media(max-width:700px){.residenceGatewayGrid{grid-template-columns:1fr;gap:24px}.residenceGatewayPhoto{height:auto;aspect-ratio:2.7}.residenceGatewayCopy{padding-top:15px}}
/* Residence atlas: start with the reason to move, then narrow by household and legal route. */
.residenceFilterHeading { font-size: 17px; font-weight: 500; margin: 36px 0 15px; letter-spacing: -.01em; }
.residencePurposes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: #a7b9bc; border: 1px solid #a7b9bc; }
.residencePurposes button { border: 0; background: #f7f9f8; text-align: left; color: var(--graphite); min-height: 120px; padding: 19px 21px; cursor: pointer; }
.residencePurposes button:hover,.residencePurposes button:focus-visible { background: #e0eaea; }
.residencePurposes button[aria-pressed=true] { background: var(--accent); color: #fff; }
.residencePurposes button:last-child { grid-column: span 2; }
.residencePurposes strong { display: block; font-size: clamp(18px,1.45vw,21px); font-weight: 500; line-height: 1.24; margin-bottom: 9px; }
.residencePurposes span { display: block; font-size: 14px; line-height: 1.45; }
.residenceSituations { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 0!important; background: transparent; border: 0; }
.residenceSituations button { width: auto; min-height: 44px!important; padding: 9px 14px!important; border: 1px solid #a7b9bc; }
.residenceSituations button:last-child { grid-column: auto; }
.residenceSituations button strong { display: inline; margin: 0; font-size: 15px; line-height: 1.4; }
.residenceRegion { margin-top: 25px; }
.residenceRouteGrid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 30px; background: transparent; border: 0; }
.residenceRoute { padding: 25px 0!important; border-top: 1px solid #b6c6c9; }
.residenceRoute h3 { margin: 10px 0; }
.residenceRoute p { margin: 17px 0 0; }
.residenceRoute details { margin-top: 18px; }
.routeMeta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; color: #51646a; font-size: 13px; line-height: 1.5; }
.residenceRoute .routeType { color: #075b63; }
.residenceShowAll { margin-top: 26px; }
.residenceShowAll[hidden] { display: none; }
@media(max-width:1100px){.residencePurposes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.residenceRouteGrid{grid-template-columns:1fr}.residencePurposes button{min-height:108px;padding:17px}.residenceSituations{flex-direction:row;align-items:stretch}.residenceSituations button{min-height:44px!important}.residenceRegion{align-items:stretch}}
@media(max-width:420px){.residencePurposes{grid-template-columns:1fr}.residencePurposes button{min-height:0}.residencePurposes button:last-child{grid-column:auto}.residencePurposes span{max-width:42ch}}
.aboutFounder .founderStagePhoto { background: #182225; }
.aboutFounder .founderStagePhoto img { object-position: 35% 45%; transform: scale(1.14); transform-origin: 35% 45%; }
@media(min-width:901px){.aboutFounder > .founderStagePhoto { height: 100%; min-height: 460px; }}
.archiveGallery { background: #063b42; color: #f6f8f7; padding-block: clamp(56px,6vw,88px); }
.archiveGallery .eyebrow { color: #b6d0d0; }
.archiveGalleryHeader { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 30px; }
.archiveGalleryHeader h2 { margin: 12px 0 16px; max-width: 20ch; font-size: clamp(28px,3vw,43px); line-height: 1.12; text-wrap: balance; }
.archiveGalleryHeader p { max-width: 66ch; font-size: clamp(16px,1.2vw,18px); line-height: 1.55; color: #d2dfde; text-wrap: pretty; }
.archiveGalleryControls { display: flex; flex: none; gap: 8px; }
.archiveGalleryControls button { border: 1px solid #a8c1c2; background: transparent; color: #f6f8f7; min-height: 44px; padding: 8px 18px; font: inherit; cursor: pointer; }
.archiveGalleryControls button:hover,.archiveGalleryControls button:focus-visible { background: #d5e5e3; color: #203439; }
.archiveGalleryControls button:disabled { opacity: .45; cursor: default; }
.archiveGalleryIndex { display:flex;flex-wrap:wrap;gap:4px 9px;margin:-7px 0 22px; }
.archiveGalleryIndex button { min-height:40px;padding:8px 10px;border:0;border-bottom:1px solid #759a9f;background:transparent;color:#d5e5e3;font:inherit;font-size:13px;cursor:pointer; }
.archiveGalleryIndex button:hover,.archiveGalleryIndex button[aria-current="true"] { color:#fff;border-bottom-color:#fff; }
.archiveGalleryIndex button:focus-visible { outline:3px solid #d5e5e3;outline-offset:2px; }
.archiveGalleryTrack { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.archiveGalleryTrack::-webkit-scrollbar { display: none; }
.archiveGalleryCard { flex: 0 0 100%; scroll-snap-align: start; min-width: 0; }
.archiveGalleryCard img { display: block; width: 100%; height: min(52vw,590px); object-fit: contain; object-position: center; background: #13282d; }
.archiveGalleryCard figcaption { display: flex; align-items: baseline; gap: 16px; padding-top: 15px; font-size: 15px; line-height: 1.5; color: #e2eceb; }
.archiveGalleryNumber { flex: none; color: #a7c4c4; font-size: 12px; letter-spacing: .08em; }
.archiveGalleryNote { max-width: 85ch; margin: 18px 0 0; color: #b6d0d0; font-size: 13px; line-height: 1.5; }
.growthStagePhoto { margin-top: clamp(42px,5vw,68px); }
.growthStagePhoto img { display: block; width: 100%; height: clamp(300px,35vw,460px); object-fit: cover; object-position: center 45%; background: #1a292d; }
.growthStagePhoto figcaption,.professionalArchive figcaption { padding-top: 11px; color: #56676b; font-size: 13px; line-height: 1.5; }
.professionalArchive { background: #eef3f2; }
.professionalArchiveGrid { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.15fr); gap: clamp(36px,6vw,90px); align-items: center; }
.professionalArchiveGrid h2 { margin: 14px 0 18px; font-size: clamp(29px,3vw,43px); line-height: 1.12; text-wrap: balance; }
.professionalArchiveGrid p { max-width: 48ch; color: #475b60; font-size: clamp(16px,1.3vw,18px); line-height: 1.6; text-wrap: pretty; }
.professionalArchiveGrid a { display: inline-block; margin-top: 20px; min-height: 44px; border-bottom: 1px solid currentColor; color: #095c63; }
.professionalArchiveGrid figure { min-width: 0; }
.professionalArchiveGrid img { display: block; width: 100%; height: clamp(300px,30vw,440px); object-fit: cover; object-position: 50% 50%; background: #19282c; }
.pageHero.aboutPageHero { background: #063b42; }
.pageHero.aboutPageHero > .wrap { display: grid; grid-template-columns: minmax(0,1fr) clamp(260px,26vw,360px); column-gap: clamp(42px,5vw,80px); align-content: start; }
.aboutPageHero .aboutHeroCopy { min-width: 0; }
.pageHero.aboutPageHero h1 { min-height: 0; max-width: none; margin-bottom: 24px; text-wrap: balance; }
.pageHero.aboutPageHero .lead { max-width: 57ch; text-wrap: pretty; }
.aboutHeroLink { display: inline-block; margin-top: 20px; color: #f2f5f5; border-bottom: 1px solid #b6d0d0; font-size: 15px; line-height: 1.45; text-underline-offset: 4px; }
.aboutHeroLink:hover,.aboutHeroLink:focus-visible { color: #fff; border-color: #fff; }
.aboutHeroPortrait { align-self: start; margin-top: -52px; }
.aboutHeroPortrait img { width: 100%; height: clamp(320px,30vw,400px); object-fit: cover; object-position: center 8%; }
.aboutHeroPortrait figcaption { margin-top: 10px; color: #d1dcdf; font-size: 12px; line-height: 1.4; letter-spacing: .03em; }
.aboutFounder { margin-top: clamp(56px,6vw,88px); }
.aboutFounder h2,.aboutEvidence h2,#why h2,.languageService h2 { text-wrap: balance; }
.aboutFounder p,.aboutEvidence p,#why p,.languageService p { text-wrap: pretty; }
.aboutMethod h2 { margin-bottom: 32px; text-wrap: balance; }
.aboutMethod .principles { gap: clamp(16px,2.2vw,28px); }
.aboutMethod .principles article { background: #fff; border-top: 3px solid #436b70; padding: clamp(22px,2.5vw,32px); min-height: 220px; }
.aboutMethod .principles .num { color: #506267; font-size: 13px; margin-bottom: 28px; }
.aboutMethod .principles h3 { margin: 0 0 16px; font-size: clamp(22px,2vw,27px); line-height: 1.18; text-wrap: balance; }
.aboutMethod .principles p { margin: 0; font-size: 16px; line-height: 1.55; text-wrap: pretty; overflow-wrap: normal; }
@media(max-width:900px){
  .pageHero.aboutPageHero > .wrap { grid-template-columns: minmax(0,1fr) clamp(210px,25vw,270px); column-gap: 28px; }
  .aboutHeroPortrait { margin-top: -30px; }
  .aboutHeroPortrait img { height: clamp(280px,32vw,330px); }
  .aboutMethod .principles { gap: 14px; }
  .aboutMethod .principles article { padding: 21px; }
}
@media(max-width:700px){
  .aboutFounder > .founderStagePhoto { height: clamp(250px,72vw,290px); }
  .aboutFounder .founderStagePhoto img { transform: scale(1.27); }
  .archiveGalleryHeader { display: block; }
  .archiveGalleryControls { margin-top: 22px; }
  .archiveGalleryCard img { height: auto; aspect-ratio: 16/9; }
  .archiveGalleryCard figcaption { display: block; font-size: 14px; }
  .archiveGalleryNumber { display: block; margin-bottom: 5px; }
  .growthStagePhoto img { height: auto; aspect-ratio: 1.42; }
  .professionalArchiveGrid { grid-template-columns: 1fr; gap: 26px; }
  .professionalArchiveGrid img { height: auto; aspect-ratio: 1.4; }
  .aboutMethod .principles { grid-template-columns: 1fr; }
  .aboutMethod .principles article { min-height: 0; }
}
@media(max-width:600px){
  .pageHero.aboutPageHero > .wrap { display: flex; flex-direction: column; align-items: flex-start; }
  .pageHero.aboutPageHero h1 { min-height: 0; margin-bottom: 18px; }
  .pageHero.aboutPageHero .eyebrow { min-height: 0; }
  .pageHero.aboutPageHero .lead { font-size: 16px; line-height: 1.5; }
  .aboutHeroLink { margin-top: 8px; font-size: 14px; }
  .aboutHeroPortrait { width: 190px; margin-top: 16px; }
  .aboutHeroPortrait img { height: 195px; object-position: center 12%; }
  .aboutFounder { margin-top: 52px; }
}
@media print { .pageHero.aboutPageHero { background: #fff; } }
.founderBridge .founderBridgeGrid { grid-template-columns: minmax(0,1.15fr) minmax(230px,.7fr) minmax(260px,.7fr); gap: clamp(24px,3vw,48px); align-items: center; }
.founderBridgePortrait,.growthAdvisorPhoto,.contactAdvisorPhoto { min-width: 0; }
.founderBridgePortrait img { width: 100%; height: clamp(300px,28vw,390px); object-fit: cover; object-position: 50% 12%; }
.founderBridgePortrait figcaption,.growthAdvisorPhoto figcaption,.contactAdvisorPhoto figcaption { padding-top: 11px; font-size: 13px; line-height: 1.5; font-weight: 500; letter-spacing: .03em; color: #465b60; }
.growthAdvisorPhoto { width: min(100%,430px); margin-top: 32px; }
.growthAdvisorPhoto img { width: 100%; height: clamp(250px,26vw,340px); object-fit: cover; object-position: center 5%; }
.contactAdvisorPhoto { width: min(100%,420px); margin-top: 34px; }
.contactAdvisorPhoto img { width: 100%; height: clamp(250px,27vw,350px); object-fit: cover; object-position: center 5%; }
@media(max-width:1120px){
  .founderBridge .founderBridgeGrid { grid-template-columns: minmax(0,1fr) minmax(230px,.65fr); }
  .founderBridgeFacts { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .founderBridgeFacts>div { display: block; }
  .founderBridgeFacts span { display: block; }
}
@media(max-width:800px){
  .founderBridge .founderBridgeGrid { grid-template-columns: minmax(0,1fr); }
  .founderBridgeFacts { grid-column: auto; display: block; }
  .founderBridgeFacts>div { display: grid; }
  .founderBridgePortrait img { height: clamp(280px,85vw,430px); }
}
.formationOpening { background: #f5f7f6; }
.formationPaths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(25px,3vw,44px); }
.formationPaths article { border-top: 1px solid #aebfc1; padding-top: 23px; }
.formationPaths .num { display: block; margin-bottom: 25px; }
.formationPaths h3 { margin-bottom: 15px; }
.formationPaths p { color: var(--muted); font-size: 17px; line-height: 1.65; }
.formationCountries { background: #fff; }
.formationResidence { background: #e5eeee; }
.formationResidenceGrid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8%; }
.formationResidence h2 { max-width: 23ch; }
.formationResidence p { max-width: 61ch; color: #394a50; }
.formationResidence .button { margin-top: 25px; }
@media(max-width:800px){.formationPaths{grid-template-columns:1fr;gap:26px}.formationPaths .num{margin-bottom:12px}.formationResidenceGrid{grid-template-columns:1fr;gap:26px}}
.residenceTypeFilter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.residenceTypeFilter button { min-height: 44px; padding: 10px 15px; border: 1px solid #aebfc1; background: transparent; color: var(--graphite); font: inherit; font-size: 14px; line-height: 1.4; }
.residenceTypeFilter button:hover,.residenceTypeFilter button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
