/* About-only composition. All colours, fonts, radii and controls come from the approved site stylesheet. */
.about-page .about-breadcrumbs { margin-bottom:32px; font-size:12px; }
.about-page .about-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:12px; list-style:none; }
.about-page .about-breadcrumbs li { display:flex; align-items:center; gap:12px; }
.about-page .about-breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; }
.about-page .about-breadcrumbs a:hover { text-decoration:underline; text-underline-offset:5px; }
.about-page .about-hero { min-height:calc(100svh - 89px); }
.about-page .about-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,var(--scrim-heavy),var(--scrim) 75%,var(--scrim-clear)); pointer-events:none; }
.about-page .about-hero-shell { min-height:inherit; display:flex; align-items:center; padding-block:88px; }
.about-page .about-hero-copy { max-width:920px; }
.about-page .about-hero-copy h1 { max-width:890px; }
.about-page .about-hero-copy h1>span,.about-page .about-hero-copy h1>em { display:block; }
.about-page .about-hero-copy .hero-description { max-width:480px; }
.about-page .about-story-image { height:640px; }
.about-page .about-identity-section { background:var(--color-sand); }
.about-page .about-company-copy { min-width:0; max-width:68ch; }
.about-page .about-company-copy p { color:var(--color-muted); font-size:17px; }
.about-page .about-company-copy p+p { margin-top:24px; }
.about-page .about-company-copy .text-link { margin-top:24px; }
.about-page .about-identity-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.about-page .about-identity-item { min-width:0; border-top:1px solid var(--border); padding-top:32px; }
.about-page .about-identity-item .large-number { color:var(--color-brown-primary); font-size:32px; }
.about-page .about-identity-item h3 { margin-bottom:16px; }
.about-page .about-identity-item p { color:var(--color-muted); font-size:15px; margin-bottom:24px; }
.about-page .about-ruled-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:80px; align-items:start; }
.about-page .about-ruled-heading { min-width:0; }
.about-page .about-ruled-heading h2 { max-width:460px; margin-bottom:24px; }
.about-page .about-ruled-heading>p:not(.eyebrow) { font-size:15px; color:var(--color-muted); max-width:420px; }
.about-page .about-ruled-heading>.text-link { margin-top:24px; }
.about-page .about-principles { list-style:none; }
.about-page .about-principles>li,.about-page .about-reasons>article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; padding-block:32px; border-top:1px solid var(--border); }
.about-page .about-principles>li:last-child,.about-page .about-reasons>article:last-child { border-bottom:1px solid var(--border); }
.about-page .about-principle-number { font-family:var(--font-display); font-size:24px; line-height:1.3; color:var(--color-brown-primary); }
.about-page .about-principles h3,.about-page .about-reasons h3 { margin-bottom:16px; }
.about-page .about-principles p,.about-page .about-reasons p { font-size:15px; color:var(--color-muted); }
.about-page .about-why-section .about-principle-number { color:var(--color-brown-light); }
.about-page .about-why-section .about-ruled-heading>p:not(.eyebrow),.about-page .about-why-section .about-reasons p { color:var(--color-white); }
.about-page .about-why-section .about-reasons>article { border-color:var(--border-dark); }
.about-page .about-reasons .text-link { margin-top:20px; }
.about-page .about-home-section { background:var(--color-white); }
.about-page .about-place-list { display:grid; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); gap:32px; }
.about-page .about-place { min-width:0; }
.about-page .about-place:nth-child(2) { padding-top:64px; }
.about-page .about-place:nth-child(3) { padding-top:128px; }
.about-page .about-place-image-link { display:block; overflow:hidden; border-radius:var(--radius-lg); }
.about-page .about-place-image { width:100%; height:360px; object-fit:cover; object-position:var(--image-position,center); transition:transform .35s; }
.about-page .about-place:first-child .about-place-image { height:440px; }
.about-page .about-place figcaption { margin-top:24px; }
.about-page .about-place h3 { margin-bottom:12px; }
.about-page .about-team-section { background:var(--color-sand); }
.about-page .about-team-section h2 em { color:var(--color-brown-primary); }
.about-page .about-team-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
.about-page .about-team-intro-item { min-width:0; border-top:1px solid var(--border); padding-top:32px; }
.about-page .about-team-intro-item h3 { margin-bottom:16px; }
.about-page .about-team-intro-item p { max-width:56ch; color:var(--color-muted); font-size:15px; }
.about-page .about-team-intro-item .text-link { margin-top:24px; }
.about-page .about-team-list { display:grid; gap:64px; margin-top:64px; }
.about-page .about-team-member { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:64px; align-items:center; }
.about-page .about-team-portrait { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:var(--image-position,center); border-radius:var(--radius-lg); }
.about-page .about-team-member h3 { font-size:34px; margin-bottom:12px; }
.about-page .about-team-role { color:var(--color-brown-primary); margin-bottom:24px; }
@media (hover:hover) and (pointer:fine) { .about-page .about-place-image-link:hover .about-place-image { transform:scale(1.03); } }
@media (max-width: 1199px) {
 .about-page .about-hero::before { background:var(--scrim); }
 .about-page .about-hero-copy h1 { font-size:60px; max-width:800px; }
 .about-page .about-ruled-grid { gap:48px; }
 .about-page .about-story-image { height:560px; }
 .about-page .about-identity-list { gap:32px; }
 .about-page .about-place-list { gap:24px; }
}
@media (max-width: 899px) {
 .about-page .about-ruled-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .about-page .about-ruled-heading h2 { max-width:620px; }
 .about-page .about-ruled-heading>p:not(.eyebrow) { max-width:580px; }
 .about-page .about-story-image { height:500px; }
 .about-page .about-place-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .about-page .about-place-image,.about-page .about-place:first-child .about-place-image { height:300px; }
 .about-page .about-place:nth-child(2) { padding-top:32px; }
 .about-page .about-place:nth-child(3) { padding-top:64px; }
}
@media (max-width: 767px) {
 .about-page .about-hero { min-height:calc(90svh - 81px); }
 .about-page .about-hero-shell { padding-block:64px; }
 .about-page .about-hero-copy h1 { font-size:48px; line-height:1.08; }
 .about-page .about-hero-image { object-position:52% 40%; }
 .about-page .about-story-image { height:auto; aspect-ratio:4/5; }
 .about-page .about-identity-list,.about-page .about-place-list,.about-page .about-team-member,.about-page .about-team-intro { grid-template-columns:minmax(0,1fr); gap:32px; }
 .about-page .about-principles>li,.about-page .about-reasons>article { grid-template-columns:36px minmax(0,1fr); gap:16px; padding-block:24px; }
 .about-page .about-place:nth-child(2),.about-page .about-place:nth-child(3) { padding-top:0; }
 .about-page .about-place-image,.about-page .about-place:first-child .about-place-image { height:auto; aspect-ratio:4/3; }
 .about-page .about-place figcaption { margin-top:20px; }
 .about-page .about-team-member h3 { font-size:28px; }
}
@media (max-width: 479px) {
 .about-page .about-hero-copy h1 { font-size:42px; }
 .about-page .about-hero-copy .button-row>.button { width:100%; }
}
@media (prefers-reduced-motion: reduce) { .about-page .about-place-image { transition:none; } }
