/* Business-led, content-specific mastheads. No decorative wave banners. */
.original-theme .page-hero.context-hero { min-height:0; height:auto; padding:146px 0 0; overflow:visible; }
.original-theme .context-hero > .context-breadcrumb { display:flex; flex-direction:row; align-items:center; gap:12px; min-height:46px; padding-block:8px 18px; font-size:12px; line-height:1.6; color:#52615e; }
.context-breadcrumb a { text-underline-offset:4px; }
.context-stage { position:relative; display:grid; grid-template-columns: 1.05fr 1fr; min-height:510px; background:var(--context-ink); color:#faf8f0; isolation:isolate; overflow:hidden; }
.context-copy { position:relative; z-index:2; grid-column:1; grid-row:1; padding:50px 42px 50px max(5vw,calc((100vw - 1440px) / 2)); align-self:center; min-width:0; }
.context-eyebrow { margin:0 0 16px; font-size:11px; font-weight:700; letter-spacing:.14em; line-height:1.6; color:var(--context-accent); }
.original-theme .context-hero h1 { color:inherit; font-size:clamp(17px,1.65vw,24px); line-height:1.6; letter-spacing:.03em; margin:0; order:initial; }
.context-hero .context-headline { font-size:clamp(32px,3.6vw,56px); line-height:1.5; letter-spacing:-.04em; color:inherit; margin:24px 0; text-wrap:balance; }
.context-lead { color:#e3e8e6; max-width:35em; font-size:15px; line-height:1.9; margin:0 0 28px; }
.context-action { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:14px 20px; min-height:52px; max-width:100%; background:var(--context-accent); color:var(--context-ink); font-size:14px; line-height:1.5; font-weight:700; text-decoration:none; transition:background .2s; }
.context-action svg { width:22px; height:22px; flex:0 0 22px; }
.context-action:hover { background:#fffaf0; }
.context-action:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.context-photo { position:relative; margin:0; grid-column:2; grid-row:1; min-height:100%; }
.context-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; }
.context-panorama .context-stage { min-height:545px; grid-template-columns:1.13fr 1fr; }
.context-panorama .context-photo { position:absolute; inset:0 0 0 22%; }
.context-panorama .context-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--context-ink) 0%,color-mix(in srgb,var(--context-ink) 94%,transparent) 20%,color-mix(in srgb,var(--context-ink) 55%,transparent) 43%,transparent 70%); }
.context-panorama .context-copy { padding-right:18px; }
.context-panorama .context-lead { max-width:29em; }
.context-hero--company .context-photo img { object-position:65% 50%; }
.context-hero--philosophy .context-stage { grid-template-columns:1.2fr 1fr; }
.context-hero--philosophy .context-headline { font-size:clamp(31px,3.15vw,48px); }
.context-hero--philosophy .context-photo img { object-position:70% 50%; }
.context-portrait .context-stage { grid-template-columns:1.25fr 1fr; min-height:540px; }
.context-portrait .context-photo { background:#ddd8d0; }
.context-portrait .context-photo img { object-fit:cover; object-position:center 26%; }
.context-portrait .context-headline { font-size:clamp(44px,5.4vw,80px); line-height:1.08; letter-spacing:-.025em; margin-top:30px; }
.context-meta { display:flex; flex-wrap:wrap; gap:8px 22px; color:var(--context-accent); font-size:14px; line-height:1.7; margin:0 0 24px; }
.context-meta .privacy-updated { color:inherit; margin:0; font-size:12px; }
.context-compact .context-stage { min-height:335px; grid-template-columns:1.35fr 1fr; }
.context-compact .context-copy { padding-block:32px; }
.context-compact .context-headline { font-size:clamp(28px,3vw,43px); line-height:1.4; margin:16px 0; }
.context-compact .context-eyebrow { margin-bottom:8px; }
.context-compact .context-lead { font-size:14px; margin-bottom:20px; }
.context-compact .context-action { min-height:46px; padding-block:11px; font-size:13px; }
.context-illustration { grid-column:2; grid-row:1; align-self:center; color:var(--context-accent); padding:25px 5vw 25px 10px; }
.context-illustration > svg { display:block; width:100%; max-height:255px; }
.context-illustration > div { display:flex; justify-content:center; gap:22px; font-size:11px; letter-spacing:.07em; line-height:1.7; }
.context-archive .context-stage { min-height:350px; grid-template-columns:1.4fr 1fr; }
.original-theme .context-archive h1 { font-size:clamp(32px,3.5vw,52px); line-height:1.2; letter-spacing:-.025em; margin:14px 0 24px; }
.context-archive .context-eyebrow { color:var(--context-accent); }
.context-hero-page main > .company-body, .context-hero-page main > .philosophy-body, .context-hero-page main > .careers-content, .context-hero-page main > .contact-content, .context-hero-page main > .search-content, .context-hero-page main > .editorial-page, .context-hero-page main > .profile-extension { padding-top:64px; }
.context-hero-page main > .company-body > :first-child, .context-hero-page main > .philosophy-body > :first-child, .context-hero-page main > .careers-content > :first-child, .context-hero-page main > .editorial-page > :first-child { margin-top:0; }
.context-hero-page main > .search-content, .context-hero-page main > .contact-content { padding-top:40px; }
.context-hero-page main [id] { scroll-margin-top:175px; }
.english-site .context-headline { font-size:clamp(34px,3.5vw,54px); line-height:1.17; letter-spacing:-.035em; }
.english-site .context-hero--philosophy .context-headline { font-size:clamp(32px,3.15vw,48px); }
.english-site .context-compact .context-headline { font-size:clamp(28px,3vw,43px); }
@media(min-width:1600px) { .context-copy { padding-block:70px; } .context-panorama .context-stage { min-height:620px; } }
@media(max-width:1100px) and (min-width:768px) { .context-copy { padding:38px 28px 40px 5vw; } .context-stage { min-height:500px; } .context-panorama .context-stage { min-height:535px; } .context-hero--philosophy .context-headline br { display:none; } .context-compact .context-copy { padding-block:30px; } .context-illustration { padding-left:0; } }
@media(max-width:767px) {
 .original-theme .page-hero.context-hero { padding-top:124px; }
 .original-theme .context-hero > .context-breadcrumb { min-height:34px; padding-block:6px 14px; font-size:10px; gap:8px; flex-wrap:wrap; }
 .context-stage, .context-panorama .context-stage, .context-portrait .context-stage, .context-compact .context-stage, .context-archive .context-stage { grid-template-columns:minmax(0,1fr); min-height:0; }
 .context-copy, .context-compact .context-copy, .context-panorama .context-copy { padding:30px 24px 34px; grid-row:1; }
 .context-eyebrow { font-size:10px; margin-bottom:10px; }
 .original-theme .context-hero h1 { font-size:16px; }
 .context-hero .context-headline, .context-hero--philosophy .context-headline, .context-compact .context-headline { font-size:clamp(28px,7.5vw,40px); line-height:1.48; margin:22px 0 18px; }
 .context-hero--philosophy .context-headline br { display:none; }
 .english-site .context-headline, .english-site .context-hero--philosophy .context-headline, .english-site .context-compact .context-headline { font-size:clamp(30px,8vw,42px); line-height:1.18; }
 .context-lead { font-size:14px; line-height:1.85; margin-bottom:24px; }
 .context-action { font-size:13px; min-height:48px; gap:20px; padding:12px 16px; }
 .context-photo, .context-panorama .context-photo { position:relative; inset:auto; grid-column:1; grid-row:2; height:240px; min-height:0; }
 .context-panorama .context-photo::after { display:none; }
 .context-photo img, .context-hero--company .context-photo img { object-position:50% 45%; }
 .context-portrait .context-photo { height:370px; }
 .context-portrait .context-photo img { object-fit:contain; object-position:center; }
 .context-portrait .context-headline { font-size:48px; }
 .context-compact .context-photo { height:170px; }
 .context-illustration { grid-column:1; grid-row:2; padding:0 24px 28px; }
 .context-illustration > svg { height:160px; }
 .context-illustration > div { font-size:10px; }
 .context-hero--privacy .context-stage, .context-hero--directory .context-stage { display:block; }
 .context-hero--privacy .context-illustration, .context-hero--directory .context-illustration { display:none; }
 .original-theme .context-archive h1 { font-size:32px; line-height:1.2; margin:20px 0; }
 .context-hero-page main > .company-body, .context-hero-page main > .philosophy-body, .context-hero-page main > .careers-content, .context-hero-page main > .contact-content, .context-hero-page main > .search-content, .context-hero-page main > .editorial-page, .context-hero-page main > .profile-extension { padding-top:36px; }
 .context-hero-page main [id] { scroll-margin-top:135px; }
}
@media(prefers-reduced-motion:reduce) { .context-action { transition:none; } }
@media print { .original-theme .page-hero.context-hero { padding-top:0; } .context-stage { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }
