/* Rusetat branch layouts. Shared identity; compositions follow the service. */
.branch-hero { padding-block: 64px; background: var(--hero-gray); color: var(--deep); }
.branch-hero .hero-stamp { margin: 0; width: 100%; }
.branch-hero .stamp-ink { color: var(--deep); }
.branch-hero h1 { margin-bottom: 24px; }
.branch-hero .lead { margin-bottom: 0; }
.branch-hero .actions { margin-top: 24px; }

/* Travel: an atlas masthead above photographic destination stories. */
.atlas-heading { display: grid; grid-template-columns: minmax(0, 1fr) 240px; align-items: end; gap: 64px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.atlas-heading h1 { font-size: clamp(52px, 6.2vw, 88px); margin-bottom: 0; }
.atlas-intro { padding-top: 32px; max-width: 960px; }
.atlas-intro .lead { max-width: 800px; }
.branch-hero .destination-search { margin-top: 32px; margin-bottom: 0; }
[data-layout-family="travel"] .photo-hero { margin-top: 32px; }
[data-layout-family="travel"] .detail-meta { border-top: 1px solid var(--line); padding-top: 24px; }

/* Corporate: a wide event title with a separate planning strip beneath. */
.event-heading { max-width: 1040px; }
.event-heading h1 { font-size: clamp(52px, 6vw, 80px); }
.event-intro { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 64px; align-items: start; padding-top: 32px; border-top: 1px solid var(--line); }
.event-intro .lead { max-width: 800px; }

/* Recruitment: a role brief, with audience pathways and a preparation desk. */
.recruitment-hero > .wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: 80px; }
.career-heading h1 { max-width: 800px; font-size: clamp(52px, 5.6vw, 80px); }
.career-context { padding-top: 40px; }
.career-mark { width: 240px; margin: 24px 0 0 auto; }
.career-pathways > .wrap { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 80px; }
.audience-pathways { min-width: 0; }
.career-pathways .audience-pathway { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: 16px 32px; padding-block: 32px; border-top: 1px solid var(--line); }
.audience-pathway h3 { margin-bottom: 0; }
.audience-pathway p { color: var(--secondary); margin-bottom: 0; }
.career-pathways .audience-pathway > .text-link { grid-column: 2; justify-self: start; }
.audience-pathway:hover h3 { color: var(--blue); }
.branch-return { padding-block: 24px; }
.career-brief { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 96px; }
.career-brief-heading > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-top: 32px; }
.career-questions article { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 24px; padding-block: 32px; border-top: 1px solid var(--line); }
.career-questions article h3 { font-size: 24px; }
.career-questions article p { color: var(--secondary); margin: 0; }
.career-process .opportunity-process-heading { max-width: 800px; }
.career-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 48px 0 0; counter-reset: career-stage; }
.career-stages li { border-top: 2px solid var(--deep); padding-top: 24px; counter-increment: career-stage; }
.career-stages li::before { content: counter(career-stage, decimal-leading-zero); display: block; margin-bottom: 24px; color: var(--blue); font-size: 14px; }
.career-stages h3 { font-size: 24px; }
.career-stages p { color: var(--secondary); margin-bottom: 0; }

/* Au Pair: a people-first opening, paired perspectives and a journal spread. */
.au-pair-hero { padding-block: 64px 40px; }
.exchange-heading { max-width: 880px; margin-inline: auto; text-align: center; }
.exchange-heading h1 { font-size: clamp(48px, 5.2vw, 72px); }
.exchange-heading .lead { max-width: 760px; margin-inline: auto; }
.exchange-mark { width: 240px; margin: 32px auto 0; }
.exchange-pathways .pathway-intro { max-width: 640px; margin-bottom: 40px; }
.exchange-pathways .audience-pathways { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-block: 1px solid var(--line); }
.exchange-pathways .audience-pathway { display: flex; flex-direction: column; align-items: start; gap: 24px; padding: 40px 48px 40px 0; }
.exchange-pathways .audience-pathway + .audience-pathway { padding: 40px 0 40px 48px; border-left: 1px solid var(--line); }
.exchange-spread { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 80px; align-items: start; }
.exchange-picture { padding-top: 64px; }
.exchange-picture img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.exchange-notes article { padding-block: 24px; border-top: 1px solid var(--line); }
.exchange-notes article h3 { font-size: 24px; }
.exchange-notes article p { margin-bottom: 0; color: var(--secondary); }
.exchange-process > .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.exchange-timeline { list-style: none; margin: 0; padding-left: 32px; border-left: 1px solid var(--secondary); }
.exchange-timeline li { position: relative; padding-bottom: 32px; }
.exchange-timeline li:last-child { padding-bottom: 0; }
.exchange-timeline li::before { content: ''; position: absolute; top: 8px; left: -37px; width: 8px; height: 8px; background: var(--deep); border-radius: 50%; }
.exchange-timeline h3 { font-size: 24px; }
.exchange-timeline p { color: var(--secondary); margin-bottom: 0; }

/* About: a letterhead and editorial principles rather than a service grid. */
.about-hero > .wrap { display: grid; grid-template-columns: 272px minmax(0, 1fr); gap: 64px; }
.letterhead-mark { border-right: 1px solid var(--line); padding-right: 32px; }
.letterhead-mark .hero-stamp { margin-top: 40px; }
.letterhead-copy { max-width: 880px; }
.letterhead-copy h1 { font-size: clamp(48px, 5vw, 72px); }
.principle-list { border-top: 1px solid var(--line); }
.principle-list article { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; padding-block: 32px; border-bottom: 1px solid var(--line); }
.principle-list article p { margin: 0; max-width: 720px; color: var(--secondary); }
[data-layout-family="about"] .statement { max-width: 1000px; padding-left: 32px; border-left: 2px solid var(--light-secondary); }
[data-layout-family="about"] .team-profiles { gap: 48px 32px; }

/* Guides: a magazine index and readable articles, with contents above the copy. */
.guides-hero .eyebrow { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.reading-title { display: grid; grid-template-columns: minmax(0, 1fr) 240px; align-items: start; gap: 64px; }
.reading-title h1 { max-width: 960px; font-size: clamp(48px, 5.2vw, 72px); }
.reading-deck { max-width: 800px; margin-left: 96px; }
.reading-deck .lead { max-width: 100%; }
.reading-collection { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 48px; }
.reading-story.featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 48px; }
.reading-story > img { width: 100%; aspect-ratio: 3/2; object-fit: cover; margin-bottom: 32px; }
.reading-story.featured > img { margin-bottom: 0; }
.reading-story h2 { font-size: 36px; }
.reading-story p { color: var(--secondary); }
.guide-contents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px; padding-block: 24px 32px; border-block: 1px solid var(--line); margin-bottom: 64px; }
.guide-contents p { grid-column: 1 / -1; margin-bottom: 8px; color: var(--deep); }
.guide-contents a { display: block; min-height: 44px; padding-block: 8px; color: var(--secondary); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.guide-article { max-width: 800px; margin-inline: auto; }
.guide-article > section { margin-bottom: 48px; }
.guide-article h2 { font-size: 36px; }
.guide-article p { font-size: 18px; line-height: 1.8; color: var(--secondary); }
.guide-takeaways { background: var(--pale); padding: 32px; border-left: 2px solid var(--deep); }

/* Relocation: arrival milestones; support and policy pages keep their own scale. */
.relocation-hero > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 24px 64px; }
.arrival-heading { grid-column: 1; }
.arrival-intro { grid-column: 1; }
.relocation-hero .hero-stamp { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.arrival-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.arrival-stages li { padding-top: 32px; border-top: 2px solid var(--deep); }
.arrival-stages p { color: var(--secondary); }
.arrival-scope { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
.arrival-scope img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.support-hero > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 64px; align-items: start; }
.service-heading { max-width: 880px; }
.service-heading h1 { font-size: clamp(48px, 4.8vw, 64px); }
.service-mark { padding-top: 24px; }
.document-hero > .wrap { max-width: 960px; display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 32px; }
.document-heading h1 { font-size: clamp(40px, 4vw, 56px); }
.document-mark { padding-top: 24px; }

@media (max-width: 1000px) {
  .branch-hero { padding-block: 48px; }
  .recruitment-hero > .wrap, .career-pathways > .wrap, .career-brief, .exchange-spread, .exchange-process > .wrap { gap: 40px; }
  .career-questions article { grid-template-columns: 1fr; gap: 0; }
  .career-context { padding-top: 24px; }
  .about-hero > .wrap { grid-template-columns: 232px minmax(0, 1fr); gap: 40px; }
  .reading-story.featured { gap: 32px; }
  .arrival-scope { gap: 40px; }
}
@media (max-width: 760px) {
  .recruitment-hero > .wrap, .career-pathways > .wrap, .career-brief, .exchange-spread, .exchange-process > .wrap,
  .arrival-scope, .reading-story.featured { grid-template-columns: 1fr; }
  .career-context { padding-top: 0; }
  .career-mark { margin-left: 0; }
  .career-brief-heading > img { max-height: 320px; }
  .exchange-picture { padding-top: 0; }
  .exchange-picture img { max-height: 400px; aspect-ratio: 3/2; }
  .career-stages, .arrival-stages { grid-template-columns: 1fr; gap: 32px; }
  .career-stages { margin-top: 32px; }
  .career-stages li::before { margin-bottom: 16px; }
  .about-hero > .wrap { grid-template-columns: 1fr; gap: 24px; }
  .letterhead-mark { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 24px; border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 16px; }
  .letterhead-mark .hero-stamp { width: 220px; margin: 0; }
  .letterhead-mark .eyebrow { margin-bottom: 0; }
  .principle-list article { gap: 32px; }
  .reading-deck { margin-left: 0; }
  .reading-collection { gap: 40px 24px; }
  .reading-story.featured { gap: 24px; padding-bottom: 32px; }
  .reading-story h2 { font-size: 28px; }
}
@media (max-width: 600px) {
  .branch-hero { padding-block: 40px; }
  .branch-hero h1 { font-size: 44px; }
  .atlas-heading { grid-template-columns: 1fr; gap: 24px; padding-bottom: 24px; }
  .atlas-heading .hero-stamp { width: 220px; }
  .atlas-intro { padding-top: 24px; }
  .event-intro { grid-template-columns: 1fr; gap: 24px; padding-top: 24px; }
  .event-intro .hero-stamp { width: 220px; }
  .career-pathways .audience-pathway { grid-template-columns: 1fr; gap: 16px; padding-block: 24px; }
  .career-pathways .audience-pathway > .text-link { grid-column: 1; }
  .exchange-mark { width: 220px; margin-top: 24px; }
  .exchange-pathways .audience-pathways { grid-template-columns: 1fr; }
  .exchange-pathways .audience-pathway { padding: 24px 0; gap: 16px; }
  .exchange-pathways .audience-pathway + .audience-pathway { padding: 24px 0; border-left: 0; border-top: 1px solid var(--line); }
  .exchange-pathways .pathway-intro { margin-bottom: 24px; }
  .principle-list article { grid-template-columns: 1fr; gap: 0; padding-block: 24px; }
  .reading-title { grid-template-columns: 1fr; gap: 0; }
  .reading-title .hero-stamp { width: 220px; margin-bottom: 24px; }
  .reading-collection { grid-template-columns: 1fr; }
  .reading-story > img { margin-bottom: 24px; }
  .guide-contents { grid-template-columns: 1fr; margin-bottom: 40px; }
  .guide-article h2 { font-size: 28px; }
  .guide-article p { font-size: 16px; }
  .guide-takeaways { padding: 24px; }
  .relocation-hero > .wrap, .support-hero > .wrap, .document-hero > .wrap { grid-template-columns: 1fr; gap: 24px; }
  .relocation-hero .hero-stamp { width: 220px; grid-column: 1; grid-row: auto; }
  .service-mark { padding-top: 0; width: 220px; }
  .document-mark { padding-top: 0; width: 160px; }
  .arrival-stages li { padding-top: 24px; }
}
