/* About uses the preserved source story with a route-local editorial layout. */
.about-page { color:var(--emt-ink); background:#fee9fb; font-family:Manrope,Arial,sans-serif; }
.about-page *, .about-page *::before, .about-page *::after { box-sizing:border-box; }
.about-page :is(.section-hero,.section-why,.section-how,.section-who,.section-contribution) { height:auto; min-height:0; margin:0; padding:88px 32px; scroll-margin-top:100px; }
.about-page .container-26 { display:block; width:100%; max-width:1184px; height:auto; margin:0 auto; padding:0; }
.about-page .div-block-123 { display:block; width:auto; margin:0; }
.about-page :is(h1,h2,h3) { display:block; width:auto; height:auto; margin:0; font-family:Manrope,Arial,sans-serif; text-align:left; font-weight:600; letter-spacing:-.035em; color:inherit; }
.about-page h1 { max-width:900px; font-size:clamp(38px,4.6vw,64px); line-height:1.13; }
.about-page h2 { max-width:760px; font-size:clamp(30px,3.2vw,44px); line-height:1.2; }
.about-page h3 { font-size:23px; line-height:1.35; letter-spacing:-.02em; }
.about-page :is(.text-block-44,.text-block-how,.text-block-contr,.text-block-45) { width:auto; height:auto; margin:24px 0 0; padding:0; color:inherit; font:400 18px/1.75 Manrope,Arial,sans-serif; text-align:left; }
.about-page .about-hero { position:relative; padding:152px 32px 88px; background-color:#d7bed3; background-image:none; }
.about-page .about-hero::before { content:none; }
.about-page .about-hero .container-26 { position:relative; z-index:2; }
.about-page .about-hero .div-block-123 { position:relative; max-width:960px; }
.about-page .about-hero .text-block-44 { max-width:660px; margin-top:28px; font-size:20px; line-height:1.7; }
.about-page .about-eyebrow { margin:0 0 24px; color:#694574; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.about-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:36px; }
.about-page .about-button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:30px; padding:15px 24px; color:#fff; background:var(--emt-action); border:1px solid var(--emt-action); border-radius:14px; font-size:16px; font-weight:700; line-height:1.4; text-decoration:none; }
.about-page .about-button:hover { background:var(--emt-action-hover); }
.about-page .about-text-link { display:inline-flex; min-height:48px; gap:12px; align-items:center; color:var(--emt-action); font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.about-sections { background:#d7bed3; border-bottom:0; }
.about-sections__inner { display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; max-width:1248px; margin:auto; padding:20px 32px; }
.about-sections__inner > span { margin-right:auto; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#694574; }
.about-sections a { display:flex; align-items:center; min-height:44px; color:var(--emt-action); font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.about-page .section-why { background:#d7bed3; }
.about-page .section-why .div-block-123 { display:grid; grid-template-columns:1.2fr 1fr; gap:28px 64px; align-items:start; }
.about-page .section-why h2 { grid-column:1/-1; margin-bottom:8px; }
.about-page .section-why .text-block-44 { margin:0; }
.about-page .section-why .text-block-44:nth-child(2) { font-size:clamp(22px,2.3vw,30px); line-height:1.5; letter-spacing:-.02em; }
.about-page .section-why .text-block-44:last-child { grid-column:2; margin-top:-12px; padding:0 0 0 24px; border-left:3px solid #c591b6; color:var(--emt-action); font-weight:600; }
.about-page .section-why .text-block-44:last-child > br:first-child { display:none; }
.about-page .section-how { color:#fff8ff; background:#281c37; }
.about-page .section-how .div-block-123 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.about-page .section-how :is(h2,.text-block-how:nth-child(2)) { grid-column:1/-1; }
.about-page .section-how .text-block-how:nth-child(2) { margin:4px 0 20px; color:#e2d1e6; }
.about-page .section-how .about-principle { margin:0; padding:28px; border:1px solid #695575; border-radius:20px; background:#352442; font-size:17px; line-height:1.85; }
.about-page .section-who { color:#fff8ff; background:#281c37; }
.about-page .section-who .div-block-123 { display:grid; grid-template-columns:1fr 1fr; gap:24px 64px; }
.about-page .section-who h2 { grid-column:1/-1; margin-bottom:8px; color:inherit; }
.about-page .section-who .text-block-how { margin:0; }
.about-page .section-who .text-block-how:nth-child(3) { grid-column:2; grid-row:2/5; padding:32px; border-left:3px solid #c591b6; background:#352442; border-radius:0 20px 20px 0; font-size:clamp(23px,2.3vw,30px); line-height:1.8; letter-spacing:-.02em; }
.about-page .section-contribution { background:#fee9fb; }
.about-page .section-contribution .text-block-contr { max-width:700px; margin-bottom:40px; }
.about-page .section-contribution .header-level-3 { margin-bottom:20px; font-size:16px; letter-spacing:0; }
.about-page :is(.cards-level-1,.cards-level-2) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:20px; margin:0 0 20px; padding:0; }
.about-page .cards-level-2 { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:0; }
.about-page :is(.card,.card-level2) { display:block; width:auto; min-width:0; height:auto; min-height:0; margin:0; padding:28px; border:1px solid #d7bed3; border-radius:20px; background:#f6d5f1; box-shadow:none; }
.about-page :is(.text-block-in-card,.div-block-124,.div-block-124-copy) { display:block; width:auto; height:auto; min-height:0; margin:0; padding:0; background:none; border:0; box-shadow:none; }
.about-page .text-block-45 { margin-top:16px; font-size:16px; line-height:1.75; }
.about-page .scroll-text { display:none; }
.about-page .about-invitation { padding:0 32px 88px; background:#fee9fb; }
.about-invitation > div { max-width:1184px; margin:auto; padding:40px; border:1px solid #d7bed3; border-radius:24px; background:#f6d5f1; }
.about-invitation p:not(.about-eyebrow) { max-width:640px; margin:20px 0 28px; font-size:18px; line-height:1.75; }
.about-page .emt-about-star { background:#fff5c9; box-shadow:0 0 12px 3px rgba(152,85,126,.42); }
@media (min-width:768px) and (max-width:1023px) {
 .about-page :is(.section-why,.section-who) .div-block-123 { gap:24px 32px; }
 .about-page .section-how .div-block-123 { grid-template-columns:1fr; }
 .about-page .section-how :is(h2,.text-block-how:nth-child(2)) { grid-column:auto; }
 .about-page :is(.cards-level-1,.cards-level-2) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .about-page .cards-level-1 > :last-child { grid-column:1/-1; }
}
@media (max-width:767px) {
 .about-page :is(.section-hero,.section-why,.section-how,.section-who,.section-contribution) { padding:56px 24px; }
 .about-page .about-hero { padding:120px 24px 56px; background-position:62% center; }

 .about-page .about-hero .text-block-44 { font-size:18px; }
 .about-page .about-eyebrow { margin-bottom:20px; }
 .about-sections__inner { display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; padding:20px 24px; }
 .about-sections__inner > span { grid-column:1/-1; margin-bottom:8px; }
 .about-page :is(.section-why,.section-how,.section-who) .div-block-123 { display:block; }
 .about-page :is(.section-why,.section-how,.section-who) h2 { margin-bottom:24px; }
 .about-page .section-why .text-block-44 { margin-top:24px; }
 .about-page .section-why .text-block-44:last-child { margin-top:28px; }
 .about-page .section-how .about-principle { margin-top:16px; padding:24px; }
 .about-page .section-who .text-block-how { margin-top:24px; }
 .about-page .section-who .text-block-how:nth-child(3) { padding:24px; }
 .about-page :is(.cards-level-1,.cards-level-2) { grid-template-columns:1fr; gap:16px; margin-bottom:16px; }
 .about-page :is(.card,.card-level2) { padding:24px; }
 .about-page .about-invitation { padding:0 24px 56px; }
 .about-invitation > div { padding:28px 24px; }
}
@media (prefers-reduced-motion:reduce) { .about-page .emt-about-sky { display:none; } }

.about-page .about-principle h3 { font-size:21px; line-height:1.4; letter-spacing:-.015em; }
.about-page .about-principle p { margin:18px 0 0; color:#e2d1e6; }

/* Retain native anchor destination focus after the shared scroll controller settles. */
.about-page section[tabindex="-1"]:focus-visible { outline:3px solid currentColor; outline-offset:-6px; }

/* The original scene composition uses broad art cropped into the page edges. */
.about-page .about-hero { min-height:820px; padding-top:152px; padding-bottom:120px; justify-content:center; }
/* Match Home: dissolve the cropped scene into the next section without a hard edge. */
.about-page .about-hero::after { content:""; position:absolute; z-index:0; right:0; bottom:0; left:0; height:clamp(160px,20vw,260px); background:linear-gradient(180deg,rgba(215,190,211,0),#d7bed3); pointer-events:none; }
.about-page .about-hero > .about-hero__illustration { position:absolute; z-index:0; top:12%; right:-20%; bottom:-30%; width:90%; margin:0; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 30%); }
.about-hero__illustration img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; }
.about-page .about-hero .div-block-123,.about-hero__actions { max-width:640px; }
.about-page .about-hero h1 { font-size:clamp(38px,4.4vw,60px); }
.about-page .about-hero .text-block-44 { max-width:560px; }
.about-page .about-principle-art { display:block; width:112px; height:77px; margin:0 0 24px; color:#fee9fb; }
@media (min-width:1024px) and (max-width:1199px) {
 .about-page .about-hero .div-block-123,.about-hero__actions { max-width:52%; }
}
@media (max-width:1023px) {
 .about-page .about-hero { min-height:0; padding-bottom:clamp(260px,45vw,380px); }
 .about-page .about-hero .div-block-123,.about-hero__actions { max-width:100%; }
 .about-page .about-hero > .about-hero__illustration { top:auto; bottom:-15%; right:-22%; width:145%; height:60%; mask-image:linear-gradient(180deg,transparent,#000 30%); }
 .about-hero__illustration img { object-fit:cover; }
}
@media (max-width:767px) {
 .about-page .about-hero { padding-top:120px; }
 .about-hero__actions { gap:16px; }
}
