/* =========================================================
   PAGE-SPECIFIC STYLES
   Пока главная собрана полностью из общих компонентов.
   Добавлять сюда только стили, которые реально уникальны
   для одной страницы и не повторяются в других местах.
   ========================================================= */

/* ABOUT */
.about-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-5);align-items:stretch}
.about-visual{position:relative;min-height:560px;overflow:hidden;margin:0;border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--beige),var(--lavender-soft))}
.about-photo-placeholder{isolation:isolate}
.about-photo-placeholder::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(41,38,49,.18))}
.photo-placeholder__mark{position:absolute;top:50%;left:50%;display:grid;width:88px;height:88px;place-items:center;border:1px solid rgba(255,255,255,.62);border-radius:50%;color:rgba(255,255,255,.82);font-size:30px;transform:translate(-50%,-50%)}
.about-visual__label{position:absolute;z-index:2;right:var(--space-6);bottom:var(--space-6);left:var(--space-6);color:#fff}
.about-visual__label strong{display:block;max-width:430px;font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.16}
.about-visual__label span{display:block;margin-top:var(--space-3);font-size:14px;opacity:.75}
.about-story__content{display:flex;flex-direction:column;justify-content:center;padding:var(--space-9);border-radius:var(--radius-xl);background:#fff}
.about-story__content h2{margin:0;font-size:clamp(34px,4.25vw,54.4px)}
.about-story__content>p{margin:var(--space-5) 0 0;color:var(--muted);font-size:16px}
.about-quote{margin:var(--space-6) 0 0;padding:var(--space-5);border-left:3px solid var(--mustard);background:var(--warm);font-family:var(--serif);font-size:25px;line-height:1.35}

.origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-10)}
.origin-card{padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.origin-card h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:25.5px;font-weight:400}
.origin-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}

.about-timeline{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line)}
.about-timeline article{position:relative;padding:var(--space-7) var(--space-4) 0 0}
.about-timeline article::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--mustard);box-shadow:0 0 0 6px var(--warm)}
.about-timeline strong{display:block;margin-bottom:var(--space-3);color:var(--mustard);font-family:var(--serif);font-size:24px;font-weight:400}
.about-timeline p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}

.about-projects{margin-top:var(--space-10)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);align-items:stretch}
.project-card{display:flex;min-height:420px;flex-direction:column;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.project-card .project-card__art{position:relative;top:auto;right:auto;width:min(58%,190px);margin:0 auto var(--space-6);opacity:1;transform:none;transform-origin:center}
.project-card h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:22.95px;font-weight:400;line-height:1.2}
.project-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.family-school-note{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:center;margin-top:var(--space-5);padding:var(--space-7);border-radius:var(--radius-lg);background:var(--lavender);color:#fff}
.family-school-note b{color:#ead594;font-family:var(--serif);font-size:64px;font-weight:400}
.family-school-note h3{margin:0 0 var(--space-2);font-family:var(--serif);font-size:25.5px;font-weight:400}
.family-school-note p{margin:0;color:rgba(255,255,255,.76)}

.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.result-stat{padding:var(--space-6);border-top:1px solid var(--line)}
.result-stat strong{display:block;color:var(--mustard);font-family:var(--serif);font-size:52px;font-weight:400;line-height:1}
.result-stat span{display:block;margin-top:var(--space-3);color:var(--muted);font-size:14px}
.director-quote{margin-top:var(--space-9);padding:var(--space-8);border-radius:var(--radius-xl);background:var(--vanilla)}
.director-quote blockquote{max-width:900px;margin:0;font-family:var(--serif);font-size:clamp(25px,3vw,38px);line-height:1.4}
.director-quote cite{display:block;margin-top:var(--space-5);color:var(--lavender-dark);font-size:14px;font-style:normal;font-weight:700}

@media(max-width:920px){.about-story{grid-template-columns:1fr}.about-visual{min-height:440px}.about-timeline{grid-template-columns:repeat(3,1fr);row-gap:var(--space-8)}.project-grid{grid-template-columns:1fr 1fr}.project-card:last-child{grid-column:1/-1}.result-stats{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.about-story__content{padding:var(--space-6)}.about-visual{min-height:390px}.origin-grid,.project-grid,.result-stats{grid-template-columns:1fr}.project-card:last-child{grid-column:auto}.about-timeline{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--line);padding-left:var(--space-5)}.about-timeline article{padding:0 0 var(--space-7) var(--space-5)}.about-timeline article::before{top:4px;left:-30px}.family-school-note{grid-template-columns:1fr}.family-school-note b{font-size:46px}}

/* METHOD */
.method-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.method-pillar{position:relative;display:flex;flex-direction:column;min-height:390px;overflow:hidden;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.method-pillar .calligraphy-art{--art-size:70%;--art-top:-12%;--art-right:-12%;--art-opacity:.26}
.method-pillar__content{position:relative;z-index:2;margin-top:auto}.method-pillar small{color:var(--mustard);font-weight:800;letter-spacing:.12em}.method-pillar h3{max-width:85%;margin:var(--space-3) 0;font-family:var(--serif);font-size:25.5px;font-weight:400;line-height:1.2}.method-pillar p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.method-origin{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-5)}
.method-origin__lead{padding:var(--space-8);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}.method-origin__lead h2{margin:0;font-size:clamp(34px,4.25vw,54.4px)}.method-origin__lead p{margin:var(--space-5) 0 0;color:rgba(255,255,255,.78)}
.method-origin__body{padding:var(--space-7);border-radius:var(--radius-xl);background:#fff}.method-origin__body>p{margin:0 0 var(--space-5);color:var(--muted);font-size:16px;line-height:1.75}.founders{display:flex;flex-wrap:wrap;gap:var(--space-2)}.founders span{padding:9px 13px;border-radius:var(--radius-pill);background:var(--warm);font-size:14px;font-weight:700}
.method-duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-5)}
.check-card{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.check-card h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:23.8px;font-weight:400}.check-card ul{margin:0;padding:0;list-style:none}.check-card li{position:relative;padding:var(--space-3) 0 var(--space-3) var(--space-5);border-bottom:1px solid var(--line);font-size:14px}.check-card li:last-child{border:0}.check-card li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;border-radius:50%;background:var(--mustard)}
.principle-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.principle{min-height:240px;padding:var(--space-6);border-top:3px solid var(--mustard);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff}.principle:nth-child(even){border-color:var(--lavender)}.principle h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:20.4px;font-weight:400;line-height:1.25}.principle p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.whole-picture{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:center;margin-top:var(--space-5);padding:var(--space-7);border-radius:var(--radius-lg);background:var(--ink);color:#fff}.whole-picture b{color:var(--mustard);font-family:var(--serif);font-size:60px;font-weight:400}.whole-picture h3{margin:0 0 var(--space-2);font-family:var(--serif);font-size:25.5px;font-weight:400}.whole-picture p{margin:0;color:rgba(255,255,255,.7)}
.advantages-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4)}.advantage{grid-column:span 2;min-height:230px;padding:var(--space-6);border:1px solid var(--line);border-top:3px solid var(--lavender);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff}.advantage:nth-last-child(-n+2){grid-column:span 3}.advantage h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:20.4px;font-weight:400;line-height:1.25}.advantage p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}
@media(max-width:920px){.method-pillars,.method-origin{grid-template-columns:1fr}.method-duo{grid-template-columns:1fr}.principle-list{grid-template-columns:1fr 1fr}.advantages-grid{grid-template-columns:1fr 1fr}.advantage,.advantage:nth-last-child(-n+2){grid-column:auto}}
@media(max-width:640px){.method-origin__lead,.method-origin__body{padding:var(--space-6)}.principle-list,.advantages-grid{grid-template-columns:1fr}.principle,.advantage{min-height:auto}.whole-picture{grid-template-columns:1fr}.whole-picture b{font-size:46px}}

/* PROGRAMS */
.program-index{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-5) 0}.program-index a{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,.7);font-size:14px;font-weight:700}.program-index a:hover{border-color:var(--lavender);color:var(--lavender-dark)}
.stage-grid{display:grid;grid-template-columns:310px 1fr;gap:var(--space-8);align-items:start}.stage-intro{position:sticky;top:120px}.stage-kicker{color:var(--mustard);font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.stage-intro h2{margin:var(--space-3) 0 var(--space-4);font-size:clamp(32.3px,3.82vw,51px)}.stage-intro p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.stage-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.stage-card{min-height:270px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.stage-card:nth-child(3):last-child{grid-column:1/-1}.stage-card small{display:block;color:var(--mustard);font-weight:800;letter-spacing:.1em}.stage-card h3{margin:var(--space-8) 0 var(--space-3);font-family:var(--serif);font-size:21.25px;font-weight:400;line-height:1.2}.stage-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.stage-note{grid-column:1/-1;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--vanilla)}.stage-note h3{margin:0 0 var(--space-2);font-family:var(--serif);font-size:22.1px;font-weight:400}.stage-note p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.exam-banner{padding:var(--space-8);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}.exam-banner .section-head{margin-bottom:var(--space-7)}.exam-banner .section-head p{color:rgba(255,255,255,.75)}.exam-banner .eyebrow{color:#ead594}.exam-banner .stage-card{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.09)}.exam-banner .stage-card h3{color:#fff}.exam-banner .stage-card p{color:rgba(255,255,255,.72)}
.activity-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.activity-column{padding:var(--space-6);border-radius:var(--radius-lg);background:#fff}.activity-column span{color:var(--mustard);font-family:var(--serif);font-size:40px}.activity-column h3{margin:var(--space-7) 0 var(--space-3);font-family:var(--serif);font-size:22.1px;font-weight:400}.activity-column p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.project-levels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.project-level{padding:var(--space-7);border-radius:var(--radius-xl);background:#fff}.project-level h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:25.5px;font-weight:400}.project-level p{margin:0;color:var(--muted);line-height:1.75}
@media(max-width:920px){.stage-grid{grid-template-columns:1fr}.stage-intro{position:static}.activity-columns{grid-template-columns:1fr 1fr}.activity-column:last-child{grid-column:1/-1}}
@media(max-width:640px){.stage-cards,.activity-columns,.project-levels{grid-template-columns:1fr}.stage-card:nth-child(3):last-child,.activity-column:last-child{grid-column:auto}.exam-banner{padding:var(--space-5)}.program-index{padding-block:var(--space-4)}}

/* LIFE */
.life-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.life-value{position:relative;min-height:310px;overflow:hidden;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.life-value .calligraphy-art{--art-size:65%;--art-top:-14%;--art-right:-12%;--art-opacity:.24}.life-value__content{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}.life-value small{color:var(--mustard);font-weight:800;letter-spacing:.12em}.life-value h3{max-width:78%;margin:auto 0 var(--space-3);font-family:var(--serif);font-size:22.1px;font-weight:400}.life-value p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.science-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:var(--space-5)}.science-lead{display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}.science-lead h2{margin:0;font-size:clamp(35.7px,4.25vw,56.1px)}.science-lead p{margin:var(--space-5) 0 0;color:rgba(255,255,255,.76)}.science-items{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.science-item{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.science-item span{color:var(--mustard);font-family:var(--serif);font-size:28px}.science-item h3{margin:var(--space-6) 0 var(--space-2);font-family:var(--serif);font-size:18.7px;font-weight:400}.science-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.tradition-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.tradition-card{padding:var(--space-7);border-radius:var(--radius-lg);background:#fff}.tradition-card:nth-child(2),.tradition-card:nth-child(3){background:var(--vanilla)}.tradition-card small{color:var(--mustard);font-weight:800}.tradition-card h3{margin:var(--space-7) 0 var(--space-3);font-family:var(--serif);font-size:23.8px;font-weight:400}.tradition-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.kindness-note{margin-top:var(--space-5);padding:var(--space-7);border-left:4px solid var(--mustard);background:#fff}.kindness-note p{max-width:900px;margin:0;font-family:var(--serif);font-size:25px;line-height:1.45}
.olympiad-feature{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}.olympiad-card{padding:var(--space-7);border-radius:var(--radius-xl);background:var(--ink);color:#fff}.olympiad-card:last-child{background:var(--lavender)}.olympiad-card h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:27.2px;font-weight:400}.olympiad-card p{margin:0;color:rgba(255,255,255,.72);line-height:1.75}.olympiad-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.olympiad-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);font-size:14px}
.moment-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:250px 250px;gap:var(--space-4)}.moment{display:flex;align-items:flex-end;padding:var(--space-5);border-radius:var(--radius-lg);color:#fff;background:var(--lavender)}.moment:first-child{grid-row:1/3;background:var(--ink)}.moment:nth-child(3){background:var(--mustard)}.moment:nth-child(4){grid-column:2/4;background:var(--lavender-soft);color:var(--ink)}.moment strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400}.moment span{display:block;margin-top:var(--space-2);font-size:14px;opacity:.75}
@media(max-width:920px){.life-values{grid-template-columns:1fr 1fr}.science-layout{grid-template-columns:1fr}.science-lead{min-height:400px}.moment-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px 240px}.moment:first-child{grid-row:auto;grid-column:1/-1}.moment:nth-child(4){grid-column:1/-1}}
@media(max-width:640px){.life-values,.science-items,.tradition-grid,.olympiad-feature,.moment-grid{grid-template-columns:1fr}.science-lead{min-height:360px;padding:var(--space-6)}.moment-grid{grid-template-rows:repeat(4,240px)}.moment:first-child,.moment:nth-child(4){grid-column:auto}.tradition-card{padding:var(--space-6)}}

/* PARENTS */
.parent-faq{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}
.parent-faq details{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.parent-faq summary{position:relative;padding:var(--space-5) 58px var(--space-5) var(--space-5);font-family:var(--serif);font-size:21px;line-height:1.35;cursor:pointer;list-style:none}
.parent-faq summary::-webkit-details-marker{display:none}
.parent-faq summary::after{content:"+";position:absolute;top:50%;right:var(--space-5);display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--warm);color:var(--lavender-dark);font-family:var(--sans);font-size:18px;transform:translateY(-50%);transition:.2s}
.parent-faq details[open] summary::after{content:"−";background:var(--lavender);color:#fff}
.parent-faq details[open] summary{color:var(--lavender-dark)}
.parent-faq__answer{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--line)}
.parent-faq__answer p{margin:var(--space-4) 0 0;color:var(--muted);font-size:14px;line-height:1.75}
.admission{display:grid;grid-template-columns:280px 1fr;gap:var(--space-9);align-items:start}
.admission__intro{position:sticky;top:120px}
.admission__intro h2{margin:0;font-size:clamp(34px,4.25vw,54.4px)}
.admission__intro p{margin:var(--space-4) 0 0;color:var(--muted)}
.admission-steps{border-top:1px solid var(--line)}
.admission-step{display:grid;grid-template-columns:72px 1fr;gap:var(--space-5);padding:var(--space-6) 0;border-bottom:1px solid var(--line)}
.admission-step__num{color:var(--mustard);font-family:var(--serif);font-size:42px;line-height:1}
.admission-step h3{margin:0 0 var(--space-3);font-family:var(--serif);font-size:22.95px;font-weight:400;line-height:1.2;text-wrap:balance}
.admission-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.admission-step p+p{margin-top:var(--space-3)}
.admission-step ul{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5);margin:var(--space-4) 0;padding:0;list-style:none}
.admission-step li{position:relative;padding-left:var(--space-4);color:var(--muted);font-size:14px}
.admission-step li::before{content:"";position:absolute;top:.55em;left:0;width:6px;height:6px;border-radius:50%;background:var(--mustard)}
.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}
.quick-fact{padding:var(--space-6);border-radius:var(--radius-lg);background:#fff}
.quick-fact strong{display:block;color:var(--lavender);font-family:var(--serif);font-size:34px;font-weight:400}
.quick-fact span{display:block;margin-top:var(--space-3);color:var(--muted);font-size:14px;line-height:1.55}
@media(max-width:920px){.admission{grid-template-columns:1fr}.admission__intro{position:static}.quick-facts{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.parent-faq{grid-template-columns:1fr}.parent-faq summary{font-size:19px}.admission-step{grid-template-columns:48px 1fr}.admission-step ul,.quick-facts{grid-template-columns:1fr}}

/* REVIEWS */
.reviews-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-stat{padding:var(--space-7) var(--space-5);border-right:1px solid var(--line)}
.reviews-stat:last-child{border-right:0}
.reviews-stat strong{display:block;color:var(--mustard);font-family:var(--serif);font-size:clamp(44px,5vw,68px);font-weight:400;line-height:1}
.reviews-stat span{display:block;max-width:170px;margin-top:var(--space-3);color:var(--muted);font-size:14px;line-height:1.55}
.achievement-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-5)}
.achievement-lead{position:relative;display:flex;min-height:470px;overflow:hidden;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}
.achievement-lead .calligraphy-art{--art-size:72%;--art-top:-9%;--art-right:-8%;--art-opacity:.28}
.achievement-lead__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end}
.achievement-lead small{color:#ead594;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.achievement-lead h2{max-width:520px;margin:var(--space-4) 0 0;font-size:clamp(33.15px,3.82vw,51px)}
.achievement-lead p{max-width:520px;margin:var(--space-5) 0 0;color:rgba(255,255,255,.76);line-height:1.75}
.achievement-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.achievement-card{display:flex;flex-direction:column;min-height:470px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}
.achievement-card b{color:var(--mustard);font-family:var(--serif);font-size:42px;font-weight:400}
.achievement-card h3{margin:auto 0 var(--space-4);font-family:var(--serif);font-size:24.65px;font-weight:400;line-height:1.25}
.achievement-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}
.testimonial{position:relative;padding:var(--space-7);border-radius:var(--radius-lg);background:#fff}
.testimonial:nth-child(2),.testimonial:nth-child(5){background:var(--vanilla)}
.testimonial::before{content:"“";display:block;height:46px;color:var(--lavender-soft);font-family:var(--serif);font-size:78px;line-height:.9}
.testimonial blockquote{margin:var(--space-4) 0 0;font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);line-height:1.5}
.testimonial footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--lavender-dark);font-size:14px;font-weight:800}
@media(max-width:920px){.reviews-stats{grid-template-columns:1fr 1fr}.reviews-stat:nth-child(2){border-right:0}.reviews-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.achievement-layout{grid-template-columns:1fr}.achievement-lead{min-height:410px}}
@media(max-width:640px){.reviews-stats,.achievement-cards,.testimonial-grid{grid-template-columns:1fr}.reviews-stat{border-right:0;border-bottom:1px solid var(--line)}.reviews-stat:last-child{border-bottom:0}.achievement-lead{min-height:380px;padding:var(--space-6)}.achievement-card{min-height:330px}.testimonial{padding:var(--space-6)}}

/* TEAM */
.director-profile{display:grid;grid-template-columns:.82fr 1.18fr;gap:var(--space-5)}
.director-portrait{position:relative;display:flex;min-height:560px;overflow:hidden;border-radius:var(--radius-xl);background:var(--lavender);color:#fff}
.director-portrait__photo{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center 24%}
.director-portrait .calligraphy-art{--art-size:78%;--art-top:-7%;--art-right:-9%;--art-opacity:.27}
.director-portrait__mark{position:relative;z-index:2;align-self:flex-end;color:rgba(255,255,255,.92);font-family:var(--serif);font-size:clamp(76px,12vw,156px);line-height:.8;letter-spacing:-.08em}
.director-profile__body{display:flex;flex-direction:column;justify-content:center;padding:var(--space-9);border-radius:var(--radius-xl);background:#fff}
.director-profile__body h2{margin:0;font-size:clamp(35.7px,4.25vw,56.1px)}
.director-role{margin-top:var(--space-3);color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.director-profile__body p{margin:var(--space-5) 0 0;color:var(--muted);font-size:15px;line-height:1.8}
.director-profile__body blockquote{margin:var(--space-6) 0 0;padding:var(--space-5) 0 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:25px;line-height:1.45}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.team-member{display:flex;flex-direction:column;min-height:300px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.team-member__index{display:flex;align-items:center;justify-content:space-between;color:var(--mustard);font-family:var(--serif);font-size:34px}
.team-member__index::after{content:"";width:44px;height:1px;background:var(--line)}
.team-member h3{margin:0 0 var(--space-2);font-family:var(--serif);font-size:22.95px;font-weight:400;line-height:1.25}
.team-member__role{color:var(--lavender-dark);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.team-member p{margin:var(--space-4) 0 0;color:var(--muted);font-size:15px;line-height:1.65}
.team-grid--people{grid-template-columns:repeat(4,minmax(0,1fr))}
.team-member--photo{min-height:0;overflow:hidden;padding:0}
.team-member__photo{overflow:hidden;aspect-ratio:4/5;background:var(--lavender-soft)}
.team-member__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s ease}
.team-member--photo:hover .team-member__photo img{transform:scale(1.025)}
.team-member__body{display:flex;min-height:245px;flex:1;flex-direction:column;padding:var(--space-5)}
.team-member__body h3{font-size:19.55px}
.team-member__body p{margin-top:auto;padding-top:var(--space-4)}
.team-grid--administrators .team-member__body{min-height:225px}
.specialist-grid .team-member{border-top:3px solid var(--mustard)}
.specialist-grid .team-member:nth-child(2){border-top-color:var(--lavender)}
.specialist-grid .team-member:nth-child(3){border-top-color:var(--lavender-soft)}
.team-principle{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:center;margin-top:var(--space-5);padding:var(--space-7);border-radius:var(--radius-lg);background:var(--ink);color:#fff}
.team-principle b{color:var(--mustard);font-family:var(--serif);font-size:60px;font-weight:400}
.team-principle p{margin:0;color:rgba(255,255,255,.73);font-size:15px;line-height:1.7}
@media(max-width:1100px){.team-grid--people{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.director-profile{grid-template-columns:1fr}.director-portrait,.director-portrait__photo{min-height:420px}.team-grid,.team-grid--people{grid-template-columns:1fr 1fr}.team-member:last-child{grid-column:auto}}
@media(max-width:640px){.director-portrait,.director-portrait__photo{min-height:370px}.director-profile__body{padding:var(--space-6)}.team-grid,.team-grid--people{grid-template-columns:1fr}.team-member{min-height:0}.team-member__body,.team-grid--administrators .team-member__body{min-height:0}.team-principle{grid-template-columns:1fr}.team-principle b{font-size:46px}}

/* CONTACTS */
.contact-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:var(--space-5);align-items:stretch}
.contact-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}
.contact-row{display:grid;grid-template-columns:145px 1fr;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line)}
.contact-row:last-child{border-bottom:0}
.contact-row__label{color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.contact-row__value{color:var(--muted);font-size:14px;line-height:1.75}
.contact-row__value strong,.contact-row__value a{color:var(--ink)}
.contact-row__value a:hover{color:var(--lavender-dark)}
.contact-row--identity{background:var(--warm)}
.contact-row--identity .contact-row__value strong{font-family:var(--serif);font-size:clamp(1rem,.94rem + .24vw,1.2rem);font-weight:400;line-height:1.55}
.contact-route{display:block;margin-top:7px;font-size:14px;line-height:1.55}
.contact-route b{color:var(--ink)}
.contact-socials{display:flex;flex-wrap:wrap;gap:10px 16px}
.contact-socials a,.contact-socials span{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14px;font-weight:800}
.contact-socials span{color:var(--muted)}
.contact-socials .contact-social{gap:7px;color:var(--ink)}
.contact-social i{font-size:18px}
.contact-social svg{width:18px;height:18px;fill:currentColor}
.contact-social--telegram i{color:#229ed9}
.contact-social--vk i{color:#0077ff}
.contact-social--max svg{color:#735cff}
.contact-map{min-height:590px;overflow:hidden;border-radius:var(--radius-xl);background:var(--lavender-soft)}
.contact-map iframe{display:block;width:100%;height:100%;min-height:590px;border:0}
.contact-form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:var(--space-5);align-items:stretch}
.contact-form-intro{position:relative;display:flex;min-height:620px;overflow:hidden;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}
.contact-form-intro .calligraphy-art{--art-size:72%;--art-top:-8%;--art-right:-9%;--art-opacity:.25}
.contact-form-intro__content{position:relative;z-index:2;align-self:flex-end}
.contact-form-intro h2{margin:0;font-size:clamp(35.7px,4.25vw,54.4px)}
.contact-form-intro p{margin:var(--space-5) 0 0;color:rgba(255,255,255,.76);line-height:1.75}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}
.form-field{display:flex;flex-direction:column;gap:var(--space-2)}
.form-field--wide{grid-column:1/-1}
.form-field label{font-size:14px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);outline:0;background:var(--warm);color:var(--ink);transition:.2s}
.form-field textarea{min-height:130px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--lavender);box-shadow:0 0 0 3px rgba(138,117,164,.12)}
.contact-form .btn{grid-column:1/-1;width:100%}
.contact-note{grid-column:1/-1;margin:calc(var(--space-2) * -1) 0 0;color:var(--muted);font-size:14px;line-height:1.55}
@media(max-width:920px){.contact-layout,.contact-form-layout{grid-template-columns:1fr}.contact-map,.contact-map iframe{min-height:440px}.contact-form-intro{min-height:400px}}
@media(max-width:640px){.contact-row{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-5)}.contact-form{grid-template-columns:1fr;padding:var(--space-6)}.form-field--wide,.contact-form .btn,.contact-note{grid-column:auto}.contact-form-intro{min-height:360px;padding:var(--space-6)}.contact-map,.contact-map iframe{min-height:360px}}

/* APPROVED CONTENT STRUCTURE */
.editorial-layout{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,.62fr);gap:var(--space-10);align-items:start}
.editorial-title{position:sticky;top:120px}
.editorial-title span{display:block;margin-bottom:var(--space-4);color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.14em}
.editorial-title h2{margin:0;font-size:clamp(30.6px,3.82vw,51px);line-height:1.08}
.rich-copy{max-width:780px}
.rich-copy h3{margin:var(--space-8) 0 var(--space-3);font-family:var(--serif);font-size:clamp(21.25px,2.55vw,29.75px);font-weight:400;line-height:1.25}
.rich-copy h3:first-child{margin-top:0}
.rich-copy p{margin:0 0 var(--space-4);color:#45404a;font-size:16px;line-height:1.82}
.rich-copy>:last-child{margin-bottom:0}
.rich-copy strong{color:var(--ink)}
.rich-copy ul{display:grid;gap:var(--space-3);margin:var(--space-4) 0 var(--space-6);padding:0;list-style:none}
.rich-copy li{position:relative;padding-left:22px;color:#45404a;line-height:1.7}
.rich-copy li::before{content:"";position:absolute;top:.7em;left:0;width:7px;height:7px;border-radius:50%;background:var(--mustard)}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.route-card{display:flex;min-height:330px;flex-direction:column;padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;transition:.25s ease}
.route-card:nth-child(2),.route-card:nth-child(3){background:var(--vanilla)}
.route-card:hover{border-color:var(--lavender-soft);box-shadow:var(--shadow);transform:translateY(-3px)}
.route-card small{color:var(--mustard-dark);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.route-card h2{margin:auto 0 var(--space-3);font-size:clamp(28.9px,3.4vw,42.5px)}
.route-card p{margin:0 0 var(--space-6);color:var(--muted)}
.route-card span{color:var(--lavender-dark);font-size:14px;font-weight:800}
@media(max-width:920px){.editorial-layout{grid-template-columns:1fr;gap:var(--space-7)}.editorial-title{position:static}.route-card{min-height:290px}}
@media(max-width:640px){.route-grid{grid-template-columns:1fr}.route-card{min-height:260px;padding:var(--space-6)}.rich-copy p{font-size:15px}.editorial-title h2{font-size:34px}}

/* APPROVED TEXT PAGES — semantic blocks generated from the final content map */
.approved-section{position:relative}
.approved-layout{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:var(--space-10);align-items:start}
.approved-heading{position:sticky;top:118px}
.approved-heading>span{display:block;margin-bottom:var(--space-4);color:var(--mustard-dark);font-family:var(--serif);font-size:24px}
.approved-heading h2{max-width:420px;margin:0;font-size:clamp(28.9px,3.4vw,45.9px);line-height:1.1}
.approved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.approved-card{position:relative;min-height:220px;padding:var(--space-6);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.approved-card:nth-child(3n+2){background:var(--vanilla)}
.approved-card:nth-child(3n){background:var(--lavender-soft)}
.approved-card>span{display:block;margin-bottom:var(--space-7);color:var(--mustard-dark);font-family:var(--serif);font-size:20px}
.approved-card h3{margin:0;font-family:var(--serif);font-size:22.95px;font-weight:400;line-height:1.2;text-wrap:balance}
.approved-card p{margin:var(--space-4) 0 0;color:#514a56;font-size:14px;line-height:1.72}
.approved-faq-list{display:grid;gap:var(--space-3);max-width:980px}
.approved-faq{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.approved-faq summary{position:relative;padding:var(--space-6) 64px var(--space-6) var(--space-6);font-family:var(--serif);font-size:clamp(23px,2.5vw,31px);line-height:1.25;cursor:pointer;list-style:none}
.approved-faq summary::-webkit-details-marker{display:none}
.approved-faq summary::after{content:"+";position:absolute;top:50%;right:var(--space-6);color:var(--mustard-dark);font-family:var(--sans);font-size:28px;transform:translateY(-50%)}
.approved-faq[open] summary::after{content:"−"}
.approved-faq__answer{padding:0 var(--space-6) var(--space-6);border-top:1px solid var(--line)}
.approved-faq__answer p{max-width:820px;margin:var(--space-5) 0 0;color:#514a56;line-height:1.8}
.approved-license{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:var(--space-9);align-items:center}
.approved-license__mark{display:grid;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--vanilla);color:var(--lavender-dark);font-family:var(--serif);font-size:clamp(72px,12vw,150px)}
.approved-license__qr{display:block;max-width:460px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-soft)}
.approved-license__qr img{display:block;width:100%;height:auto}
.approved-license h2{margin:var(--space-4) 0;font-size:clamp(37.4px,5.1vw,64.6px)}
.approved-license p{max-width:520px;color:var(--muted);line-height:1.75}
.approved-license__link{margin-top:var(--space-5)}
.approved-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.approved-news-card{padding:0 0 var(--space-5);border-bottom:1px solid var(--line)}
.approved-news-card>div{aspect-ratio:4/3;margin-bottom:var(--space-4);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--lavender-soft),var(--vanilla))}
.approved-news-card span{color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.approved-news-card h3{margin:var(--space-3) 0 0;font-family:var(--serif);font-size:22.1px;font-weight:400;line-height:1.2;text-wrap:balance}
.approved-under-construction{position:relative;display:flex;min-height:460px;align-items:flex-end;overflow:hidden;padding:var(--space-9);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}
.approved-under-construction .calligraphy-art{--art-size:72%;--art-top:-20%;--art-right:-5%;--art-opacity:.28}
.approved-under-construction span{display:block;margin-bottom:var(--space-4);color:#ead594;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.approved-under-construction h2{margin:0;font-size:clamp(39.1px,5.95vw,69.7px)}
@media(max-width:920px){.approved-layout,.approved-license{grid-template-columns:1fr;gap:var(--space-7)}.approved-heading{position:static}.approved-grid{grid-template-columns:1fr 1fr}.approved-news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.approved-grid,.approved-news-grid{grid-template-columns:1fr}.approved-card{min-height:0}.approved-under-construction{min-height:360px;padding:var(--space-6)}}

/* HOME — semantic, photo-ready compositions */
.home-hero{padding:132px 0 var(--space-8);background:radial-gradient(circle at 12% 24%,rgba(181,153,85,.14),transparent 30%),var(--warm)}
.home-hero__stage{position:relative;min-height:680px;overflow:hidden;border-radius:var(--radius-xl);background:var(--lavender);box-shadow:var(--shadow)}
.home-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;background-position:center;background-size:cover}
.home-hero__slide.is-active{opacity:1}
.home-hero__slide--01{background:linear-gradient(115deg,#d8cfdf 0%,#9a87b1 56%,#756389 100%)}
.home-hero__slide--02{background:linear-gradient(115deg,#e6ddc8 0%,#c8b98f 56%,#9e8957 100%)}
.home-hero__slide--03{background:linear-gradient(115deg,#d8d0ba 0%,#a99b7c 52%,#756b58 100%)}
.home-hero__slide--04{background:linear-gradient(115deg,#c9c1d3 0%,#88769e 54%,#554762 100%)}
.home-hero__slide .calligraphy-art{--art-size:min(720px,58%);--art-top:-12%;--art-right:-2%;--art-opacity:.38;filter:brightness(0) invert(1)}
.home-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,28,40,.18),transparent 50%),linear-gradient(0deg,rgba(30,24,35,.24),transparent 52%);pointer-events:none}
.home-hero__copy{position:absolute;z-index:3;top:var(--space-7);bottom:var(--space-7);left:var(--space-7);display:flex;width:min(590px,48%);flex-direction:column;justify-content:center;padding:var(--space-7);border:1px solid rgba(255,255,255,.44);border-radius:var(--radius-lg);background:rgba(250,247,240,.91);backdrop-filter:blur(18px)}
.home-hero h1{max-width:680px;margin:var(--space-5) 0;font-size:clamp(40.8px,4.59vw,62.9px);line-height:1.04}
.home-hero h1 em{color:var(--lavender);font-style:normal}
.home-hero__copy>p{max-width:620px;margin:0;color:var(--muted);font-size:clamp(17px,1.5vw,21px);line-height:1.65}
.home-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-7)}
.home-hero__tabs{position:absolute;z-index:4;top:var(--space-7);right:var(--space-7);display:grid;width:min(530px,42%);grid-template-columns:1fr 1fr;gap:var(--space-2)}
.home-hero__tab{display:grid;grid-template-columns:28px 1fr;gap:var(--space-2);align-items:center;min-height:72px;padding:12px 14px;border:1px solid rgba(255,255,255,.38);border-radius:var(--radius-md);background:rgba(255,255,255,.74);color:var(--ink);font-family:inherit;text-align:left;backdrop-filter:blur(14px);cursor:pointer;transition:.25s ease}
.home-hero__tab span{color:var(--mustard-dark);font-family:var(--serif);font-size:19px}
.home-hero__tab strong{font-size:14px;font-weight:800;line-height:1.3}
.home-hero__tab:hover{background:rgba(255,255,255,.9)}
.home-hero__tab.is-active{border-color:rgba(255,255,255,.18);background:var(--lavender-dark);color:#fff;box-shadow:0 12px 30px rgba(38,30,47,.16)}
.home-hero__tab.is-active span{color:#ead594}
.home-hero__caption{position:absolute;z-index:4;right:var(--space-7);bottom:var(--space-7);width:min(530px,42%);padding:var(--space-6);border:1px solid rgba(255,255,255,.36);border-radius:var(--radius-lg);background:rgba(36,29,43,.72);color:#fff;backdrop-filter:blur(16px)}
.home-hero__caption small{display:block;margin-bottom:var(--space-3);color:#ead594;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.home-hero__caption strong{display:block;font-family:var(--serif);font-size:clamp(23px,2.4vw,32px);font-weight:400;line-height:1.25}
.home-hero__caption p{margin:var(--space-3) 0 0;color:rgba(255,255,255,.76);font-size:14px;line-height:1.65}
.home-hero__progress{position:absolute;z-index:5;right:var(--space-7);bottom:18px;width:min(530px,42%);height:2px;overflow:hidden;background:rgba(255,255,255,.22)}
.home-hero__progress span{display:block;width:100%;height:100%;background:#ead594;transform-origin:left;animation:hero-progress 6.5s linear infinite}
.home-hero__stage.is-paused .home-hero__progress span{animation-play-state:paused}
@keyframes hero-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.home-section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:var(--space-9);align-items:end;margin-bottom:var(--space-8)}
.home-section-head h2{margin:0;font-size:clamp(32.3px,4.08vw,52.7px)}
.home-section-head>p{max-width:560px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}

.home-life-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:300px 260px;gap:var(--space-4)}
.home-life-card{position:relative;display:flex;overflow:hidden;padding:var(--space-6);border-radius:var(--radius-lg);background:#fff}
.home-life-card .calligraphy-art{--art-size:58%;--art-top:-18%;--art-right:-9%;--art-opacity:.22}
.home-life-card .art-layer-content{display:flex;align-items:flex-end}
.home-life-card p{max-width:92%;margin:0;color:#45404a;font-size:15px;line-height:1.7}
.home-life-card p strong{display:block;margin-bottom:var(--space-2);color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.2}
.home-life-card--tradition{grid-row:1/3;background:var(--vanilla)}
.home-life-card--tradition p strong{font-size:32px}
.home-life-card--care{grid-column:2/4;background:#fff}
.home-life-card--events{background:var(--lavender);color:#fff}
.home-life-card--events p,.home-life-card--events p strong{color:#fff}
.home-life-card--events .calligraphy-art{filter:brightness(0) invert(1);--art-opacity:.25}
.home-life-card--concerts{background:var(--beige)}

.home-trust-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:var(--space-5)}
.home-trust-intro{position:relative;display:flex;min-height:550px;overflow:hidden;padding:var(--space-7);border-radius:var(--radius-xl);background:var(--ink);color:#fff}
.home-trust-intro .calligraphy-art{--art-size:78%;--art-top:-7%;--art-right:-7%;--art-opacity:.23;filter:brightness(0) invert(1)}
.home-trust-intro .art-layer-content{align-self:flex-end}
.home-trust-intro h2{max-width:560px;margin:var(--space-4) 0 var(--space-7);font-size:clamp(32.3px,3.74vw,47.6px)}
.home-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.home-trust-card{position:relative;display:flex;min-height:267px;overflow:hidden;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.home-trust-card>span{position:absolute;top:var(--space-5);left:var(--space-5);color:var(--mustard);font-family:var(--serif);font-size:28px}
.home-trust-card .calligraphy-art{--art-size:54%;--art-top:-17%;--art-right:-10%;--art-opacity:.19}
.home-trust-card .art-layer-content{align-self:flex-end}
.home-trust-card h3{max-width:86%;margin:0 0 var(--space-3);font-family:var(--serif);font-size:18.7px;font-weight:400;line-height:1.25}
.home-trust-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

.home-program-grid{display:grid;grid-template-columns:1.08fr .92fr .92fr;grid-template-rows:repeat(2,minmax(250px,auto));gap:var(--space-4)}
.home-program-card{position:relative;display:flex;overflow:hidden;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;transition:.25s ease}
.home-program-card:hover{border-color:var(--lavender-soft);box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.home-program-card--feature{grid-row:1/3;background:var(--lavender);color:#fff}
.home-program-card .calligraphy-art{--art-size:58%;--art-top:-17%;--art-right:-11%;--art-opacity:.2}
.home-program-card--feature .calligraphy-art{--art-size:85%;--art-top:-4%;--art-right:-8%;--art-opacity:.25;filter:brightness(0) invert(1)}
.home-program-index{position:absolute;z-index:2;top:var(--space-5);left:var(--space-5);color:var(--mustard);font-family:var(--serif);font-size:30px}
.home-program-card--feature .home-program-index{color:#ead594}
.home-program-card .art-layer-content{align-self:flex-end}
.home-program-card h3{margin:0 0 var(--space-3);font-family:var(--serif);font-size:clamp(18.7px,2.08vw,26.35px);font-weight:400;line-height:1.2}
.home-program-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.home-program-card--feature p{color:rgba(255,255,255,.78);font-size:15px}
.home-program-card b{display:block;margin-top:var(--space-5);color:var(--lavender-dark);font-size:14px;letter-spacing:.05em}
.home-program-card--feature b{color:#fff}
.home-program-action{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-5);margin-top:var(--space-6)}
.home-program-action p{margin:0;color:var(--muted);font-size:14px}

.home-activities-card{position:relative;display:flex;min-height:390px;overflow:hidden;padding:var(--space-8);border-radius:var(--radius-xl);background:linear-gradient(115deg,var(--vanilla),#fff);box-shadow:var(--shadow-soft)}
.home-activities-card .calligraphy-art{--art-size:min(440px,48%);--art-top:-10%;--art-right:2%;--art-opacity:.42}
.home-activities-card .art-layer-content{align-self:center;max-width:670px}
.home-activities-card h2{margin:var(--space-3) 0 var(--space-4);font-size:clamp(35.7px,4.42vw,56.1px)}
.home-activities-card p{margin:0;color:var(--lavender-dark);font-family:var(--serif);font-size:clamp(21px,2.6vw,30px)}
.home-activities-card span{display:block;margin-top:var(--space-7);font-size:14px;font-weight:800}

@media(max-width:1100px){.home-hero__copy{width:50%;padding:var(--space-6)}.home-hero h1{font-size:clamp(37.4px,4.42vw,54.4px)}.home-hero__tabs,.home-hero__caption,.home-hero__progress{width:41%}.home-program-grid{grid-template-columns:1fr 1fr}.home-program-card--feature{grid-column:1/-1;grid-row:auto;min-height:420px}}
@media(max-width:920px){.home-hero{padding-top:112px}.home-hero__stage{min-height:760px}.home-hero__copy{top:var(--space-5);bottom:var(--space-5);left:var(--space-5);width:52%;padding:var(--space-5)}.home-hero h1{font-size:clamp(34px,5.27vw,46.75px)}.home-hero__tabs{top:var(--space-5);right:var(--space-5);width:39%;grid-template-columns:1fr}.home-hero__tab{min-height:60px}.home-hero__caption{right:var(--space-5);bottom:var(--space-5);width:39%;padding:var(--space-5)}.home-hero__progress{right:var(--space-5);bottom:12px;width:39%}.home-section-head,.home-trust-layout{grid-template-columns:1fr}.home-life-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 260px 260px}.home-life-card--tradition{grid-row:1/3}.home-life-card--care{grid-column:2}.home-life-card--concerts{grid-column:1/-1}.home-trust-intro{min-height:440px}.home-section-head{gap:var(--space-5)}}
@media(max-width:640px){.home-hero{padding-top:100px}.home-hero__stage{min-height:0;padding:245px var(--space-4) var(--space-4);border-radius:var(--radius-lg)}.home-hero__slide{bottom:auto;height:350px}.home-hero__shade{bottom:auto;height:350px}.home-hero__slide .calligraphy-art{--art-size:92%;--art-top:-12%;--art-right:-18%}.home-hero__copy{position:relative;inset:auto;width:auto;padding:var(--space-5)}.home-hero h1{font-size:clamp(33.15px,8.92vw,44.2px)}.home-hero__actions .btn{width:100%}.home-hero__tabs{position:relative;inset:auto;width:auto;grid-template-columns:1fr 1fr;margin-top:var(--space-3)}.home-hero__tab{min-height:66px;padding:10px}.home-hero__tab strong{font-size:10px}.home-hero__caption{position:relative;inset:auto;width:auto;margin-top:var(--space-3);padding:var(--space-5)}.home-hero__caption strong{font-size:24px}.home-hero__progress{position:relative;inset:auto;width:auto;margin-top:var(--space-3)}.home-life-grid,.home-trust-grid,.home-program-grid{grid-template-columns:1fr;grid-template-rows:auto}.home-life-card,.home-trust-card,.home-program-card{min-height:260px}.home-life-card--tradition,.home-life-card--care,.home-life-card--concerts,.home-program-card--feature{grid-column:auto;grid-row:auto}.home-life-card--tradition p strong{font-size:27px}.home-trust-intro{min-height:410px;padding:var(--space-6)}.home-trust-intro h2{font-size:32.3px}.home-program-card--feature{min-height:360px}.home-program-action{align-items:stretch;flex-direction:column}.home-program-action .btn{width:100%}.home-activities-card{min-height:410px;padding:var(--space-6)}.home-activities-card .calligraphy-art{--art-size:82%;--art-top:-4%;--art-right:-15%;--art-opacity:.28}.home-activities-card h2{font-size:35.7px}}

/* INNER PAGES — individual editorial compositions */
.visual-page-hero{padding:138px 0 var(--space-9);background:var(--warm)}
.visual-page-hero__stage{position:relative;display:grid;min-height:var(--visual-hero-height,510px);grid-template-columns:minmax(0,.62fr) minmax(300px,.38fr);overflow:hidden;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ink),#51465d);color:#fff;box-shadow:var(--shadow)}
.visual-page-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,82px)}
.visual-page-hero h1{max-width:800px;margin:var(--space-4) 0;font-size:clamp(39.1px,5.1vw,64.6px);line-height:1.02}
.visual-page-hero__copy>p{max-width:720px;margin:0;color:rgba(255,255,255,.74);font-size:clamp(17px,1.7vw,21px);line-height:1.65}
.visual-page-hero__art{position:relative;min-height:100%;background:linear-gradient(150deg,var(--lavender),#b7a4c6)}
.visual-page-hero__art .calligraphy-art{--art-size:105%;--art-top:-8%;--art-right:-23%;--art-opacity:.48;filter:brightness(0) invert(1)}
.visual-page-hero__note{position:absolute;z-index:2;right:var(--space-6);bottom:var(--space-6);max-width:280px;padding:var(--space-5);border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-md);background:rgba(42,34,50,.62);font-family:var(--serif);font-size:22px;line-height:1.3;backdrop-filter:blur(12px)}

.story-chapters{display:grid;gap:var(--space-5)}
.story-chapter{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,.58fr);gap:var(--space-7);align-items:start;padding:var(--space-7) 0;border-top:1px solid var(--line)}
.about-value>span{color:var(--mustard);font-family:var(--serif);font-size:30px}
.story-chapter h2{margin:0;font-size:clamp(27.2px,3.23vw,40.8px)}
.story-chapter__aside{display:flex;height:100%;flex-direction:column;gap:var(--space-7)}
.story-pullquote{margin:var(--space-6) 0;padding:var(--space-5) 0;border-top:1px solid var(--mustard);border-bottom:1px solid var(--mustard);color:var(--lavender-dark);font-family:var(--serif);font-size:clamp(27px,3vw,40px);line-height:1.3}
.founder-photo{position:relative;min-height:300px;overflow:hidden;margin:auto 0 0;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--lavender-soft),var(--lavender))}
.founder-photo::after{content:"";position:absolute;z-index:2;inset:var(--space-4);border:1px solid rgba(255,255,255,.72);border-radius:calc(var(--radius-lg) - 8px);pointer-events:none}
.founder-photo figcaption{position:absolute;z-index:3;right:var(--space-6);bottom:var(--space-6);left:var(--space-6);color:#fff}
.founder-photo figcaption strong{display:block;font-family:var(--serif);font-size:clamp(25px,2.6vw,34px);font-weight:400;line-height:1.15}
.founder-photo figcaption span{display:block;max-width:320px;margin-top:var(--space-2);font-size:14px;line-height:1.5}
.about-pillars-heading{display:block}
.about-pillars-heading>div{max-width:900px}
.about-pillars-heading p{max-width:760px;margin-top:var(--space-5);font-size:17px;line-height:1.7}
.about-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);align-items:stretch}
.about-pillar{display:flex;min-height:390px;flex-direction:column;padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.about-pillar:nth-child(2){background:var(--vanilla)}
.about-pillar:nth-child(3){background:var(--lavender-soft)}
.about-pillar__number{display:block;color:var(--mustard-dark);font-family:var(--serif);font-size:clamp(68px,7vw,96px);line-height:.85}
.about-pillar h3{margin:var(--space-7) 0 var(--space-4);font-family:var(--serif);font-size:clamp(22.95px,2.12vw,29.75px);font-weight:400;line-height:1.16}
.about-pillar p{margin:auto 0 0;color:#514a56;font-size:14px;line-height:1.72}
/* Method note stays a single readable column within half of the desktop grid. */
.about-method-note{width:50%;margin:var(--space-7) 0 0;padding:var(--space-6);border-left:4px solid var(--mustard);background:#fff;color:var(--muted);font-size:16px;line-height:1.75}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.about-value{min-height:230px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.about-value p{margin:var(--space-7) 0 0;color:var(--muted);line-height:1.7}
.about-value p strong{display:block;margin-bottom:var(--space-2);color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:400}

.project-manifesto,.preschool-intro,.curriculum-lead,.camp-poster{position:relative;display:flex;min-height:330px;overflow:hidden;margin-bottom:var(--space-6);padding:var(--space-7);border-radius:var(--radius-xl);background:var(--lavender);color:#fff}
.project-manifesto .calligraphy-art{--art-size:31%;--art-top:0;--art-right:5%;--art-opacity:1;filter:brightness(0) invert(1)}
.preschool-intro .calligraphy-art,.curriculum-lead .calligraphy-art,.camp-poster .calligraphy-art{--art-size:60%;--art-top:-16%;--art-right:-7%;--art-opacity:.26;filter:brightness(0) invert(1)}
.project-manifesto .eyebrow{color:#ead594}
.project-manifesto .art-layer-content,.preschool-intro .art-layer-content,.curriculum-lead .art-layer-content,.camp-poster .art-layer-content{align-self:flex-end;max-width:720px}
.project-manifesto p,.preschool-intro p,.camp-poster p{margin:var(--space-4) 0 0;color:rgba(255,255,255,.8);font-family:var(--serif);font-size:clamp(23px,2.8vw,34px);line-height:1.4}
.method-pillar>.art-layer-content,.route-card>.art-layer-content{display:flex;height:100%;flex-direction:column}
.method-pillar>.art-layer-content h3{margin-top:auto}
.route-card{position:relative;overflow:hidden}.route-card .calligraphy-art{--art-size:54%;--art-top:-17%;--art-right:-10%;--art-opacity:.17}.route-card>.art-layer-content{position:relative;z-index:2}

.method-checks,.outcome-panel ul{display:grid;gap:var(--space-3);margin:var(--space-5) 0 0;padding:0;list-style:none}
.method-checks li,.outcome-panel li{position:relative;padding-left:24px;line-height:1.65}
.method-checks li::before,.outcome-panel li::before{content:"";position:absolute;top:.65em;left:0;width:8px;height:8px;border-radius:50%;background:var(--mustard)}

.preschool-foundations,.age-grid,.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.preschool-foundation,.age-card,.lesson-card{position:relative;min-height:260px;overflow:hidden;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.preschool-foundation .calligraphy-art{--art-size:58%;--art-top:-18%;--art-right:-12%;--art-opacity:.17}
.preschool-foundation small,.age-card>span,.lesson-card>span{color:var(--mustard-dark);font-family:var(--serif);font-size:26px}
.preschool-foundation h3{margin:var(--space-8) 0 var(--space-3);font-family:var(--serif);font-size:21.25px;font-weight:400;line-height:1.2;text-wrap:balance}
.preschool-foundation p,.age-card p,.lesson-card p{margin:var(--space-6) 0 0;color:var(--muted);line-height:1.7}
.age-card:nth-child(2){background:var(--vanilla)}.age-card:nth-child(3){background:var(--lavender);color:#fff}.age-card:nth-child(3) p{color:rgba(255,255,255,.78)}
.lesson-grid{margin-top:var(--space-4)}.lesson-card{min-height:190px;background:var(--beige)}
.preschool-schedule{display:grid;grid-template-columns:.7fr 1.3fr;gap:var(--space-8);align-items:start}
.preschool-schedule h2{margin:var(--space-3) 0 0;font-size:clamp(32.3px,3.91vw,49.3px)}
.schedule-facts{display:grid;gap:var(--space-3)}
.schedule-fact{display:grid;grid-template-columns:58px 1fr;gap:var(--space-4);padding:var(--space-5);border-top:1px solid var(--line)}
.schedule-fact strong{color:var(--mustard);font-family:var(--serif);font-size:28px}.schedule-fact p{margin:0;color:var(--muted);line-height:1.7}
.curriculum-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-5);align-items:start}
.curriculum-lead{position:sticky;top:110px;min-height:560px;margin:0}.curriculum-lead h2{margin:var(--space-4) 0;font-size:clamp(32.3px,3.82vw,47.6px)}.curriculum-lead p{color:rgba(255,255,255,.78);line-height:1.7}
.outcome-panel{display:grid;grid-template-columns:.65fr 1.35fr;gap:var(--space-8);padding:var(--space-8);border-radius:var(--radius-xl);background:var(--ink);color:#fff}
.outcome-panel h2{margin:var(--space-3) 0 0;font-size:clamp(32.3px,3.91vw,49.3px)}.outcome-panel ul{grid-template-columns:1fr 1fr}.outcome-panel li{color:rgba(255,255,255,.74)}
.enrollment-note{max-width:900px;margin:var(--space-6) auto 0;text-align:center}.enrollment-note p{color:var(--muted);line-height:1.7}

.school-level__layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:var(--space-7);align-items:start}
.school-level__intro{position:sticky;top:110px}.school-level__intro h2{margin:var(--space-3) 0;font-size:clamp(34px,4.08vw,52.7px)}.school-level__intro p{color:var(--muted);font-size:17px;line-height:1.7}
.school-principles{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-6)}
.school-principle{min-height:175px;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.school-principle:nth-child(3n){grid-column:1/-1;background:var(--vanilla)}
.school-principle span{color:var(--mustard);font-family:var(--serif);font-size:25px}.school-principle p{margin:var(--space-5) 0 0;color:var(--muted);line-height:1.65}.school-principle strong{color:var(--ink);font-family:var(--serif);font-size:21px;font-weight:400}
.school-values{margin-top:var(--space-6);padding:var(--space-6);border-left:4px solid var(--mustard);background:var(--beige)}

.exam-strategy{display:grid;grid-template-columns:.72fr 1.28fr;gap:var(--space-8);align-items:start}.exam-strategy__lead{position:sticky;top:110px}.exam-strategy__lead h2{margin:var(--space-3) 0;font-size:clamp(34px,4.08vw,51px)}
.exam-chapters{display:grid;gap:var(--space-4)}.exam-chapter{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.exam-chapter:nth-child(even){background:var(--vanilla)}.exam-chapter h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:22.95px;font-weight:400;line-height:1.2;text-wrap:balance}

.activity-feature{padding:var(--space-8) 0}.activity-feature__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-8);align-items:start}.activity-feature__title{position:sticky;top:110px}.activity-feature__title h2{margin:var(--space-3) 0;font-size:clamp(35.7px,4.25vw,54.4px)}.activity-feature--reverse .activity-feature__title{order:2}.activity-feature--reverse .rich-copy{order:1}

.life-manifesto{display:grid;grid-template-columns:.75fr 1.25fr;gap:var(--space-8);align-items:start}.life-manifesto h2{margin:0;font-size:clamp(35.7px,4.25vw,54.4px)}
.life-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4);margin-top:var(--space-8)}.life-moment{grid-column:span 5;min-height:280px;padding:var(--space-6);border-radius:var(--radius-lg);background:#fff}.life-moment:nth-child(2),.life-moment:nth-child(3){grid-column:span 7}.life-moment:nth-child(3){background:var(--lavender);color:#fff}.life-moment:nth-child(4){background:var(--vanilla)}.life-moment span{color:var(--mustard);font-family:var(--serif);font-size:27px}.life-moment p{margin:var(--space-8) 0 0;color:var(--muted);line-height:1.7}.life-moment:nth-child(3) p{color:rgba(255,255,255,.8)}
.section-subtitle{margin:var(--space-9) 0 var(--space-5);font-family:var(--serif);font-size:27.2px;font-weight:400;line-height:1.1;text-wrap:balance}.week-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.week-card{min-height:230px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.week-card h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:21.25px;font-weight:400;line-height:1.2;text-wrap:balance}.week-card p{color:var(--muted);line-height:1.7}
.olympiad-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.olympiad-column{padding:var(--space-7);border-radius:var(--radius-lg);background:#fff}.olympiad-column:nth-child(2){background:var(--lavender);color:#fff}.olympiad-column h3{margin:0 0 var(--space-5);font-family:var(--serif);font-size:25.5px;font-weight:400}.olympiad-column:nth-child(2) .rich-copy p{color:rgba(255,255,255,.78)}

.camp-poster{min-height:500px;margin:0}.camp-poster h2{margin:var(--space-4) 0;font-size:clamp(37.4px,4.67vw,59.5px)}.camp-poster .art-layer-content>p{max-width:760px;font-family:inherit;font-size:17px;line-height:1.7}.camp-poster__points{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-6)}.camp-poster__points p{margin:0;padding:var(--space-4);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md);background:rgba(255,255,255,.08)}
.camp-poster{display:grid;grid-template-columns:1.1fr .9fr;padding:0;background:var(--ink)}
.camp-poster__visual{position:relative;min-height:560px;overflow:hidden;background:linear-gradient(145deg,var(--lavender-soft),var(--lavender))}
.camp-poster__visual .calligraphy-art{--art-size:92%;--art-top:-8%;--art-right:-14%;--art-opacity:.38}
.camp-poster__visual>span{position:absolute;right:var(--space-5);bottom:var(--space-5);padding:10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.camp-poster__copy{display:flex;flex-direction:column;justify-content:center;padding:var(--space-8)}
.camp-poster__copy .rich-copy p{color:rgba(255,255,255,.76)}.camp-poster__copy .rich-copy h3{color:#fff}
.food-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.food-card{min-height:240px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.food-card:nth-child(2){background:var(--vanilla)}.food-card span{color:var(--mustard);font-family:var(--serif);font-size:28px}.food-card p{margin:var(--space-7) 0 0;color:var(--muted);line-height:1.75}

@media(max-width:920px){.visual-page-hero__stage{grid-template-columns:1fr;min-height:0}.visual-page-hero__art{min-height:260px}.visual-page-hero__note{left:var(--space-5);right:auto}.story-chapter{grid-template-columns:52px 1fr}.story-chapter .rich-copy{grid-column:2}.about-values,.preschool-foundations,.age-grid,.lesson-grid,.week-grid{grid-template-columns:1fr 1fr}.about-value:last-child,.preschool-foundation:last-child,.age-card:last-child,.lesson-card:last-child,.week-card:last-child{grid-column:1/-1}.preschool-schedule,.curriculum-layout,.outcome-panel,.school-level__layout,.exam-strategy,.activity-feature__layout,.life-manifesto{grid-template-columns:1fr}.school-level__intro,.exam-strategy__lead,.activity-feature__title{position:static}.curriculum-lead{position:relative}.activity-feature--reverse .activity-feature__title,.activity-feature--reverse .rich-copy{order:initial}.life-moment,.life-moment:nth-child(2),.life-moment:nth-child(3){grid-column:span 6}.life-moment:nth-child(4){grid-column:1/-1}.camp-poster{grid-template-columns:1fr}.camp-poster__visual{min-height:400px}}
@media(max-width:640px){.visual-page-hero{padding-top:108px}.visual-page-hero__copy{padding:var(--space-6)}.visual-page-hero h1{font-size:clamp(34px,9.35vw,45.9px)}.visual-page-hero__art{min-height:220px}.visual-page-hero__note{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);max-width:none;font-size:19px}.story-chapter{grid-template-columns:1fr;gap:var(--space-4)}.story-chapter .rich-copy{grid-column:auto}.about-values,.preschool-foundations,.age-grid,.lesson-grid,.school-principles,.outcome-panel ul,.week-grid,.olympiad-columns,.camp-poster__points,.food-grid{grid-template-columns:1fr}.about-value:last-child,.preschool-foundation:last-child,.age-card:last-child,.lesson-card:last-child,.week-card:last-child,.school-principle:nth-child(3n){grid-column:auto}.project-manifesto,.preschool-intro,.curriculum-lead{padding:var(--space-6)}.preschool-foundation,.age-card,.lesson-card{min-height:220px}.schedule-fact{grid-template-columns:44px 1fr;padding:var(--space-4)}.outcome-panel{padding:var(--space-6)}.life-mosaic{grid-template-columns:1fr}.life-moment,.life-moment:nth-child(2),.life-moment:nth-child(3),.life-moment:nth-child(4){grid-column:auto;min-height:230px}.camp-poster{min-height:600px}.camp-poster__copy{padding:var(--space-6)}}

/* HERO REFINEMENT — full-bleed canvas, content aligned to the site grid */
.home-hero{
  padding:88px 0 0;
  background:var(--warm);
}

.home-hero>.container{
  width:100%;
  max-width:none;
  margin:0;
}

.home-hero__stage{
  min-height:calc(100svh - 88px);
  border-radius:0;
  box-shadow:none;
}

.home-hero__shade{
  background:
    linear-gradient(90deg,rgba(250,247,240,.94) 0%,rgba(250,247,240,.62) 43%,rgba(250,247,240,.08) 72%),
    linear-gradient(0deg,rgba(250,247,240,.28) 0%,transparent 42%);
}

.home-hero__copy{
  top:0;
  bottom:112px;
  left:max(var(--gutter),calc((100vw - var(--container))/2));
  width:min(650px,52vw);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  backdrop-filter:none;
}

.home-hero__copy>p{color:var(--muted)}
.home-hero__slide .calligraphy-art{filter:none}
.home-hero__slide--01{background:linear-gradient(115deg,#f2eef4 0%,#d8cedf 56%,#b6a7c3 100%)}
.home-hero__slide--02{background:linear-gradient(115deg,#faf5e9 0%,#eadfbe 56%,#cbb783 100%)}
.home-hero__slide--03{background:linear-gradient(115deg,#f4f0e7 0%,#ddd4c1 52%,#b6a98e 100%)}
.home-hero__slide--04{background:linear-gradient(115deg,#f1edf5 0%,#d2c7dc 54%,#aa99bb 100%)}

.home-hero .eyebrow{color:var(--lavender-dark)}
.home-hero h1{margin:var(--space-5) 0;font-size:clamp(40.8px,4.76vw,66.3px);color:var(--ink)}
.home-hero h1 em{color:var(--lavender-dark)}
.home-hero__copy>p{max-width:590px;color:var(--muted)}
.home-hero__actions{margin-top:var(--space-6)}
.home-hero__caption{display:none}

.home-hero__tabs{
  top:auto;
  right:max(var(--gutter),calc((100vw - var(--container))/2));
  bottom:18px;
  left:max(var(--gutter),calc((100vw - var(--container))/2));
  width:auto;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--line-strong);
}

.home-hero__tab{
  min-height:76px;
  padding:13px 18px;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  backdrop-filter:none;
}

.home-hero__tab:first-child{border-left:1px solid var(--line)}
.home-hero__tab span{color:var(--mustard-dark)}
.home-hero__tab strong{font-size:14px;letter-spacing:.03em}
.home-hero__tab:hover{background:rgba(255,255,255,.48);color:var(--ink)}
.home-hero__tab.is-active{
  border-color:var(--lavender);
  background:var(--lavender);
  color:#fff;
  box-shadow:none;
}
.home-hero__tab.is-active span{color:#fff3c4}

.home-hero__progress{
  right:max(var(--gutter),calc((100vw - var(--container))/2));
  bottom:0;
  left:max(var(--gutter),calc((100vw - var(--container))/2));
  width:auto;
}

.visual-page-hero{
  background:
    radial-gradient(circle at 82% 16%,rgba(181,153,85,.2),transparent 30%),
    linear-gradient(135deg,var(--warm),#fff);
  color:var(--ink);
}

.visual-page-hero__stage{
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.visual-page-hero__copy{
  align-items:flex-start;
  justify-content:center;
  padding:clamp(38px,6vw,82px) 0;
  text-align:left;
}
.visual-page-hero h1{color:var(--ink)}
.visual-page-hero__copy>p{color:var(--muted)}
.visual-page-hero .eyebrow--inverse{color:var(--lavender-dark)}

.visual-page-hero__art{
  overflow:visible;
  background:transparent;
}

.visual-page-hero__art .calligraphy-art.calligraphy-art--soft{
  --art-size:100%;
  --art-top:50%;
  --art-right:50%;
  --art-opacity:1;
  filter:none;
  transform:translate(50%,-50%);
  transform-origin:center;
}

.visual-page-hero__art .calligraphy-placeholder{opacity:1}


.visual-page-hero__quote{
  max-width:560px;
  margin:var(--space-7) 0 0;
  padding:var(--space-5) 0 0;
  border-top:1px solid rgba(41,38,49,.16);
  color:var(--lavender-dark);
  font-family:var(--serif);
  font-size:clamp(22px,2.4vw,31px);
  line-height:1.3;
}

.visual-page-hero__note{
  right:0;
  bottom:var(--space-7);
  max-width:310px;
  padding:var(--space-4);
  border:1px solid rgba(46,42,54,.1);
  border-left:2px solid var(--mustard);
  border-radius:var(--radius-sm);
  background:#fcfaf7bf;
  color:var(--ink);
  font-size:20px;
  backdrop-filter:blur(10px);
}

@media(max-width:920px){
  .home-hero__copy{bottom:178px;width:min(610px,70vw)}
  .home-hero__tabs{grid-template-columns:1fr 1fr}
  .home-hero__tab{min-height:64px}
  .visual-page-hero__copy{padding-right:0}
  .visual-page-hero__quote{margin-top:var(--space-8)}
  .story-chapter{grid-template-columns:minmax(210px,.42fr) minmax(0,.58fr)}
  .story-chapter .rich-copy{grid-column:auto}
  .founder-photo{min-height:280px}
  .about-pillars{grid-template-columns:1fr 1fr}
  .about-pillar:last-child{grid-column:1/-1}
}

@media(max-width:640px){
  .home-hero{padding-top:76px}
  .home-hero__stage{min-height:max(calc(100svh - 76px),720px);padding:0;border-radius:0}
  .home-hero__slide{inset:0;height:auto}
  .home-hero__shade{inset:0;height:auto}
  .home-hero__copy{
    position:absolute;
    top:42px;
    right:var(--gutter);
    bottom:190px;
    left:var(--gutter);
    width:auto;
    padding:0;
  }
  .home-hero h1{font-size:clamp(34px,9.35vw,45.9px)}
  .home-hero__copy>p{font-size:16px;line-height:1.55}
  .home-hero__actions{gap:var(--space-2);margin-top:var(--space-5)}
  .home-hero__actions .btn{width:auto;flex:1;padding-inline:12px}
  .home-hero__tabs{
    right:0;
    bottom:30px;
    left:var(--gutter);
    display:flex;
    width:auto;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .home-hero__tabs::-webkit-scrollbar{display:none}
  .home-hero__tab{flex:0 0 190px;min-height:72px}
  .home-hero__progress{right:var(--gutter);bottom:14px;left:var(--gutter)}

  .visual-page-hero{padding-top:108px}
  .visual-page-hero__copy{padding:var(--space-6) 0}
  .visual-page-hero__art{min-height:220px}
  .visual-page-hero__note{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);max-width:none;padding:var(--space-4)}
  .story-chapter{grid-template-columns:1fr;gap:var(--space-5)}
  .founder-photo{min-height:300px;margin-top:0}
  .about-pillars{grid-template-columns:1fr}
  .about-pillar,.about-pillar:last-child{min-height:330px;grid-column:auto}
  .about-method-note{width:100%}
}

/* HOME — calmer static hero and semantic card artwork */
.home-hero__backdrop{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#efe7d5;
}

.home-hero__backdrop>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.home-hero__copy{bottom:0}

.home-hero__shade{
  background:
    linear-gradient(90deg,rgba(247,243,234,.9) 0%,rgba(247,243,234,.58) 42%,rgba(247,243,234,.04) 70%),
    linear-gradient(0deg,rgba(247,243,234,.2) 0%,transparent 34%);
}

.home-card-art{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  pointer-events:none;
}

.home-card-art img,
.home-life-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.home-life-card .art-layer-content{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
}

.home-life-card h3{
  margin:0 0 var(--space-3);
  color:var(--ink);
  font-family:var(--serif);
  font-size:20.4px;
  font-weight:400;
  line-height:1.25;
}

.home-life-card p{max-width:100%}

.home-life-card--tradition{
  flex-direction:column;
  gap:var(--space-4);
}

.home-life-card--tradition .home-card-art{
  flex:1 1 58%;
  width:100%;
  min-height:250px;
}

.home-life-card--tradition h3{font-size:25.5px}

.home-life-card--care{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:minmax(0,1fr);
  padding:0;
  background:#f7f3ea;
}

.home-life-card--care .art-layer-content{
  min-height:0;
  overflow:hidden;
  padding:var(--space-6);
}

.home-life-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  overflow:hidden;
  padding:var(--space-4);
}

.home-life-card__media img{
  min-width:0;
  min-height:0;
}

.home-life-card--events h3,
.home-life-card--events p{color:#fff}

.home-trust-card .art-layer-content{
  align-self:center;
  width:100%;
}

.home-program-card .art-layer-content{width:100%}

.home-program-card h3{
  font-size:20.4px;
  line-height:1.3;
}

.home-program-card--feature{
  flex-direction:column;
  gap:var(--space-4);
  background:var(--vanilla);
  color:var(--ink);
}

.home-program-card--feature .home-card-art{
  flex:1 1 58%;
  width:100%;
  min-height:280px;
}

.home-program-card--feature h3{font-size:25.5px}
.home-program-card--feature p{color:var(--muted)}
.home-program-card--feature b{color:var(--lavender-dark)}

.home-activities-card .calligraphy-art{
  --art-size:min(440px,48%);
  --art-top:50%;
  --art-right:2%;
  --art-opacity:1;
  transform:translateY(-50%);
}

@media(max-width:920px){
  .home-hero__backdrop>img{object-position:62% center}
  .home-life-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  .home-life-card--tradition,
  .home-life-card--care,
  .home-life-card--concerts{
    grid-column:auto;
    grid-row:auto;
  }
  .home-life-card--care{
    min-height:300px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .home-life-card--care .art-layer-content{
    min-width:0;
    justify-content:center;
    padding:clamp(var(--space-4),4vw,var(--space-6));
  }
}

@media(max-width:640px){
  .home-hero__copy{bottom:0}
  .home-hero__backdrop>img{object-position:72% center}
  .home-hero__shade{
    background:
      linear-gradient(90deg,rgba(247,243,234,.97) 0%,rgba(247,243,234,.82) 64%,rgba(247,243,234,.26) 100%),
      linear-gradient(0deg,rgba(247,243,234,.28) 0%,transparent 38%);
  }
  .home-life-card--care{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
  }
  .home-life-card--care .art-layer-content{padding:var(--space-6)}
  .home-life-card__media{min-height:220px;order:-1}
  .home-life-card--tradition .home-card-art,
  .home-program-card--feature .home-card-art{min-height:220px}
  .home-activities-card .calligraphy-art{--art-size:82%;--art-top:50%;--art-right:-15%;--art-opacity:1}
}

/* HOME V40 — event slider inside the first viewport */
.home-hero.event-slider{
  position:relative;
  min-height:100svh;
  padding:var(--operational-header-height) 0 0;
  overflow:hidden;
  background:#efe7d5;
}

.event-slider__slides{position:absolute;top:var(--operational-header-height);right:0;bottom:0;left:0}
.event-slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .7s ease,visibility .7s ease}
.event-slide.is-active{visibility:visible;opacity:1}
.event-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.event-slide:nth-child(2)>img{object-position:55% center}
.event-slide:nth-child(3)>img{object-position:58% center}
.event-slide__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,234,.97) 0%,rgba(247,243,234,.78) 37%,rgba(247,243,234,.2) 62%,rgba(247,243,234,.03) 100%),linear-gradient(0deg,rgba(30,24,35,.18),transparent 30%)}
.event-slide__content{position:relative;z-index:2;display:flex;height:100%;align-items:center;padding-bottom:92px}
.event-slide__copy{width:min(640px,52vw);color:var(--ink)}
.event-slide__copy .eyebrow{color:var(--lavender-dark)}
.event-slide__copy h1,.event-slide__copy h2{margin:var(--space-4) 0;font-size:clamp(39.1px,4.42vw,62.9px);font-weight:400;line-height:1.03}
.event-slide__copy h1 em,.event-slide__copy h2 em{color:var(--lavender-dark);font-style:normal}
.event-slide__copy p{max-width:590px;margin:0;color:#514b56;font-size:clamp(16px,1.35vw,20px);line-height:1.6}

.event-slider__controls{position:absolute;z-index:5;right:0;bottom:24px;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.event-slider__dots{display:flex;overflow:hidden;border:1px solid rgba(255,255,255,.64);border-radius:var(--radius-md);background:rgba(255,254,251,.78);box-shadow:0 12px 36px rgba(43,38,49,.09);backdrop-filter:blur(14px)}
.event-slider__dots button{display:grid;min-width:142px;grid-template-columns:24px 1fr;gap:8px;align-items:center;padding:12px 15px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;transition:.2s ease}
.event-slider__dots button:last-child{border-right:0}
.event-slider__dots button span{color:var(--mustard-dark);font-family:var(--serif);font-size:16px}
.event-slider__dots button strong{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.event-slider__dots button:hover{background:rgba(255,255,255,.72)}
.event-slider__dots button.is-active{background:var(--lavender);color:#fff}
.event-slider__dots button.is-active span{color:#fff3c4}
.event-slider__arrows{display:flex;gap:8px}
.event-slider__arrows button{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,254,251,.84);color:var(--ink);font-size:19px;cursor:pointer;backdrop-filter:blur(12px);transition:.2s ease}
.event-slider__arrows button:hover{border-color:var(--lavender);background:var(--lavender);color:#fff}
.event-slider__progress{position:absolute;z-index:6;right:0;bottom:0;left:0;height:3px;background:rgba(255,255,255,.28)}
.event-slider__progress span{display:block;width:100%;height:100%;background:var(--mustard);transform-origin:left;animation:event-progress 7s linear infinite}
.event-slider.is-paused .event-slider__progress span{animation-play-state:paused}
@keyframes event-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.visual-page-hero{padding-top:calc(var(--operational-header-height) + var(--space-6))}
.page-hero{padding-top:calc(var(--operational-header-height) + var(--space-9))}

@media(max-width:920px){
  .event-slide__copy{width:min(610px,72vw)}
  .event-slide__copy h1,.event-slide__copy h2{font-size:clamp(35.7px,5.95vw,51px)}
}

@media(max-width:720px){
  .home-hero.event-slider{min-height:100svh;padding-top:var(--operational-header-height)}
  .event-slider__slides{top:var(--operational-header-height)}
  .event-slide>img{object-position:68% center}
  .event-slide:nth-child(2)>img{object-position:62% center}
  .event-slide:nth-child(3)>img{object-position:66% center}
  .event-slide__shade{background:linear-gradient(90deg,rgba(247,243,234,.98) 0%,rgba(247,243,234,.88) 62%,rgba(247,243,234,.42) 100%),linear-gradient(0deg,rgba(247,243,234,.28),transparent 40%)}
  .event-slide__content{align-items:flex-start;padding-top:28px;padding-bottom:88px}
  .event-slide__copy{width:100%}
  .event-slide__copy h1,.event-slide__copy h2{max-width:520px;margin:10px 0;font-size:clamp(28.9px,8.07vw,40.8px)}
  .event-slide__copy p{max-width:520px;font-size:14px;line-height:1.45}
  .event-slide__copy .home-hero__actions{margin-top:16px}
  .event-slide__copy .home-hero__actions .btn{min-height:40px;padding:9px 12px;font-size:10px}
  .event-slider__controls{bottom:16px;align-items:center}
  .event-slider__dots{flex:1}
  .event-slider__dots button{min-width:0;flex:1;grid-template-columns:1fr;padding:8px 6px;text-align:center}
  .event-slider__dots button span{display:none}
  .event-slider__dots button strong{font-size:8px}
  .event-slider__arrows button{width:36px;height:36px;font-size:16px}
  .visual-page-hero{padding-top:calc(var(--operational-header-height) + var(--space-5))}
}

@media(prefers-reduced-motion:reduce){
  .event-slide{transition:none}
  .event-slider__progress span{animation:none}
}

/* HOME V41 — compact half-screen slider controls */
.home-hero.event-slider{
  height:50svh;
  min-height:0;
}
.event-slide__content{padding-bottom:68px}
.event-slide__copy h1,
.event-slide__copy h2{margin:10px 0;font-size:clamp(28.9px,3.15vw,45.9px)}
.event-slide__copy p{font-size:clamp(14px,1.05vw,17px);line-height:1.45}
.event-slide__copy .home-hero__actions{margin-top:16px}
.event-slider__controls{
  width:100%;
  max-width:none;
  padding:0;
  right:0;
  top:var(--operational-header-height);
  bottom:0;
  left:0;
  display:block;
  pointer-events:none;
}
.event-slider__dots{position:absolute;right:50%;bottom:14px;width:max-content;max-width:calc(100% - 144px);pointer-events:auto;transform:translateX(50%)}
.event-slider__dots button{min-width:124px;padding:9px 12px}
.event-slider__arrows{position:absolute;inset:0;pointer-events:none}
.event-slider__arrows button{
  position:absolute;
  top:50%;
  width:46px;
  height:46px;
  pointer-events:auto;
  transform:translateY(-50%);
}
.event-slider__arrows [data-slide-prev]{left:18px}
.event-slider__arrows [data-slide-next]{right:18px}

@media(max-width:720px){
  .home-hero.event-slider{height:50svh;min-height:0}
  .event-slide__content{padding-top:16px;padding-bottom:56px}
  .event-slide__copy h1,.event-slide__copy h2{font-size:clamp(20.4px,6.29vw,28.9px)}
  .event-slide__copy p{display:none}
  .event-slide__copy .home-hero__actions{margin-top:10px}
  .event-slide__copy .home-hero__actions .btn{min-height:34px;padding:7px 10px}
  .event-slider__dots{bottom:10px;max-width:calc(100% - 104px)}
  .event-slider__dots button{padding:7px 5px}
  .event-slider__arrows button{
    width:38px;
    height:38px;
    transform:translateY(-50%);
  }
  .event-slider__arrows [data-slide-prev]{left:8px}
  .event-slider__arrows [data-slide-next]{right:8px}
}

/* HOME V45 — editorial news and events feed */
.home-news{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--line-strong)}
.home-news__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:var(--space-7)}
.home-news__head h2{margin:var(--space-3) 0 0;font-size:clamp(30.6px,3.4vw,47.6px)}
.home-news__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--news-column-gap)}
.home-news-item{position:relative;display:flex;min-width:0;flex-direction:column;padding:0;border:0}
.home-news-item:first-child{padding-left:0;border-left:0}
.home-news-item:last-child{padding-right:0}
.home-news-item__image{position:relative;display:block;flex:none;width:100%;overflow:hidden;aspect-ratio:var(--news-image-ratio);margin-bottom:var(--space-5);background:var(--warm)}
.home-news-item__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.home-news-item__image:hover img{transform:scale(1.025)}
.home-news-item time,.approved-news-entry time{color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.home-news-item h3,.approved-news-entry h3{margin:var(--space-3) 0;font-family:var(--serif);font-size:clamp(18.7px,1.7vw,24.65px);font-weight:400;line-height:1.25}
.home-news-item p{display:-webkit-box;min-height:8.4em;margin:0;color:var(--muted);font-size:14px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
.news-read-link{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:var(--space-5);color:var(--lavender-dark);font-size:14px;font-weight:800}
.news-read-link:hover{color:var(--mustard-dark)}
.home-news>.section-action{margin-top:var(--space-7)}

.approved-news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8) var(--news-column-gap)}
.approved-news-entry{position:relative;min-width:0;padding:0;border:0}
.approved-news-entry:first-child{padding-left:0;border-left:0}
.approved-news-entry:last-child{padding-right:0}
.approved-news-entry__image{position:relative;display:block;flex:none;width:100%;overflow:hidden;aspect-ratio:var(--news-image-ratio);margin-bottom:var(--space-5);background:var(--warm)}
.approved-news-entry__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.approved-news-entry p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.approved-news-entry p + p{margin-top:var(--space-3)}
.approved-news-entry a{color:var(--lavender-dark);text-decoration:underline;text-underline-offset:2px}
.approved-news-entry a:hover{color:var(--mustard-dark)}

@media(max-width:920px){
  .home-news__grid,.approved-news-grid{--news-column-gap:var(--space-6)}
}

@media(max-width:720px){
  .home-news{margin-top:var(--space-6);padding-top:var(--space-5)}
  .home-news__grid,.approved-news-grid{grid-template-columns:1fr;gap:0}
  .home-news-item,.home-news-item:first-child,.home-news-item:last-child,
  .approved-news-entry,.approved-news-entry:first-child,.approved-news-entry:last-child{padding:var(--space-6) 0;border-top:1px solid var(--line-strong);border-left:0}
  .home-news-item:first-child,.approved-news-entry:first-child{padding-top:0;border-top:0}
  .home-news-item p{min-height:0}
}

/* Final V48 geometry overrides legacy full-viewport slider rules. */
.home-hero.event-slider.visual-page-hero{
  height:auto;
  min-height:0;
  padding:var(--operational-header-height) 0 0;
  overflow:hidden;
}
.event-slider__stage{position:relative;min-height:calc(var(--visual-hero-height,510px) + var(--space-6) + var(--space-9));overflow:hidden;border-radius:0;background:#efe7d5;box-shadow:none}
.event-slider__stage .event-slider__slides{top:0}
.event-slider__stage .event-slider__controls{top:0}

@media(max-width:720px){
  .home-hero.event-slider.visual-page-hero{height:auto;min-height:0;padding:var(--operational-header-height) 0 0}
  .event-slider__stage{min-height:calc(var(--visual-hero-height,510px) + var(--space-5) + var(--space-7));border-radius:0}
}

/* GRADUATES — editorial gallery and university tiles */
.graduates-section-head{margin-bottom:var(--space-7)}
.graduates-slider{position:relative}
.graduates-slider__viewport{position:relative;height:clamp(430px,52vw,640px);overflow:hidden;border-radius:var(--radius-xl);background:var(--warm);box-shadow:var(--shadow-soft);touch-action:pan-y}
.graduates-slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .55s ease}
.graduates-slide.is-active{z-index:1;opacity:1;pointer-events:auto}
.graduates-slide img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
.graduates-slide:nth-child(2) img,.graduates-slide:nth-child(4) img{object-position:center 42%}
.graduates-slider__arrow{position:absolute;z-index:3;top:50%;display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,254,251,.88);color:var(--ink);font-size:17px;cursor:pointer;box-shadow:var(--shadow-soft);transform:translateY(-50%);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.graduates-slider__arrow--prev{left:var(--space-5)}
.graduates-slider__arrow--next{right:var(--space-5)}
.graduates-slider__arrow:hover,.graduates-slider__arrow:focus-visible{border-color:var(--lavender);background:var(--lavender);color:#fff}
.graduates-slider__dots{display:flex;justify-content:center;gap:10px;margin-top:var(--space-5)}
.graduates-slider__dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:var(--beige);cursor:pointer;transition:width .2s ease,background-color .2s ease}
.graduates-slider__dots button:hover{background:var(--mustard)}
.graduates-slider__dots button.is-active{width:32px;border-radius:var(--radius-pill);background:var(--lavender)}
.universities-section .section-head h2{max-width:850px}

/* PROGRAMS — overview and section directory */
.programs-page main{overflow:clip}
.programs-hero .visual-page-hero__copy>p{max-width:680px}
.programs-hero .visual-page-hero__art .calligraphy-art{--art-size:94%;--art-top:2%;--art-right:-13%;--art-opacity:1}
.programs-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.72)}
.programs-index__inner{display:flex;min-height:88px;align-items:center;justify-content:space-between;gap:var(--space-5)}
.programs-index__inner>span{color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.programs-index__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}
.programs-index__links a{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper);color:var(--lavender-dark);font-size:14px;font-weight:700;transition:.2s ease}
.programs-index__links a:hover{border-color:var(--lavender);background:var(--lavender-soft)}
.programs-route,.programs-extra,.programs-summer{scroll-margin-top:calc(var(--operational-header-height) + var(--space-4))}
.programs-section-head{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:end}
.programs-section-head h2{max-width:760px;margin:0;font-size:clamp(35.7px,4.25vw,57.8px)}
.programs-section-head>p{max-width:570px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}
.programs-route-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}
.program-overview-card{position:relative;display:flex;min-height:350px;grid-column:span 5;overflow:hidden;padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;transition:.25s ease}
.program-overview-card--preschool,.program-overview-card--senior{grid-column:span 7}
.program-overview-card--preschool{background:var(--vanilla)}
.program-overview-card--senior{background:var(--lavender-dark);color:#fff}
.program-overview-card:hover,.program-compact-card:hover{border-color:var(--lavender-soft);box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.program-overview-card .calligraphy-art{--art-size:58%;--art-top:-13%;--art-right:-9%;--art-opacity:.2}
.program-overview-card--senior .calligraphy-art{--art-size:66%;--art-top:-11%;--art-right:-8%;--art-opacity:.3;filter:brightness(0) invert(1)}
.program-overview-card .art-layer-content,.program-compact-card .art-layer-content{display:flex;width:100%;flex-direction:column;align-items:flex-start}
.program-overview-card small,.program-compact-card small{position:relative;color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.program-overview-card h3,.program-compact-card h3{max-width:88%;margin:auto 0 var(--space-3);font-family:var(--serif);font-size:clamp(24.65px,2.72vw,37.4px);font-weight:400;line-height:1.12;text-wrap:balance}
.program-overview-card p,.program-compact-card p{max-width:600px;margin:0 0 var(--space-6);color:var(--muted);font-size:15px;line-height:1.7}
.program-overview-card span,.program-compact-card span,.programs-summer-card__copy>span{margin-top:auto;color:var(--lavender-dark);font-size:14px;font-weight:800}
.program-overview-card span b,.program-compact-card span b,.programs-summer-card__copy>span b{display:inline-block;margin-left:5px;font-size:16px;transition:transform .2s ease}
.program-overview-card:hover span b,.program-compact-card:hover span b,.programs-summer-card:hover .programs-summer-card__copy>span b{transform:translate(2px,-2px)}
.program-overview-card--senior small{color:#fff3c4}
.program-overview-card--senior p{color:rgba(255,255,255,.8)}
.program-overview-card--senior span{color:#fff}
.programs-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.program-compact-card{position:relative;display:flex;min-height:320px;overflow:hidden;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;transition:.25s ease}
.program-compact-card--feature{grid-column:span 2;background:var(--ink);color:#fff}
.program-compact-card .calligraphy-art{--art-size:62%;--art-top:-20%;--art-right:-15%;--art-opacity:.17}
.program-compact-card--feature .calligraphy-art{--art-size:58%;--art-top:-16%;--art-right:-8%;--art-opacity:.24;filter:brightness(0) invert(1)}
.program-compact-card h3{font-size:clamp(22.1px,2.29vw,30.6px)}
.program-compact-card--feature small{color:#ead594}
.program-compact-card--feature p{max-width:680px;color:rgba(255,255,255,.76)}
.program-compact-card--feature span{color:#fff}
.programs-summer-card{display:grid;min-height:430px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);overflow:hidden;border-radius:var(--radius-xl);background:var(--ink);color:#fff;box-shadow:var(--shadow)}
.programs-summer-card__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(38px,6vw,80px)}
.programs-summer-card__copy h2{margin:0 0 var(--space-5);font-size:clamp(40.8px,5.1vw,64.6px)}
.programs-summer-card__copy p{max-width:650px;margin:0 0 var(--space-7);color:rgba(255,255,255,.76);font-size:17px;line-height:1.75}
.programs-summer-card__copy>span{color:#fff}
.programs-summer-card__art{position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:var(--space-7);background:linear-gradient(145deg,var(--lavender),#b7a4c6)}
.programs-summer-card__art .calligraphy-art{--art-size:108%;--art-top:-5%;--art-right:-22%;--art-opacity:.5;filter:brightness(0) invert(1)}
.programs-summer-card__art strong{position:relative;z-index:2;max-width:330px;padding:var(--space-5);border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-md);background:rgba(42,34,50,.58);font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.35;backdrop-filter:blur(12px)}
.program-overview-card:focus-visible,.program-compact-card:focus-visible,.programs-summer-card:focus-visible,.programs-index a:focus-visible{outline:3px solid rgba(138,117,164,.38);outline-offset:4px}
@media(max-width:920px){.programs-section-head{grid-template-columns:1fr;gap:var(--space-5)}.programs-route-grid{grid-template-columns:1fr 1fr}.program-overview-card,.program-overview-card--preschool,.program-overview-card--senior{grid-column:auto;min-height:330px}.programs-extra-grid{grid-template-columns:1fr 1fr}.program-compact-card--feature{grid-column:1/-1;min-height:350px}.program-compact-card:last-child{grid-column:1/-1}.programs-summer-card{grid-template-columns:1fr}.programs-summer-card__art{min-height:280px}}
@media(max-width:640px){.programs-index__inner{align-items:flex-start;flex-direction:column;padding-block:var(--space-4)}.programs-index__links{justify-content:flex-start}.programs-route-grid,.programs-extra-grid{grid-template-columns:1fr}.program-overview-card,.program-compact-card,.program-compact-card--feature,.program-compact-card:last-child{min-height:290px;grid-column:auto;padding:var(--space-6)}.program-overview-card h3,.program-compact-card h3{max-width:92%;font-size:26.35px}.programs-summer-card{min-height:0}.programs-summer-card__copy{padding:var(--space-7) var(--space-6)}.programs-summer-card__copy h2{font-size:39.1px}.programs-summer-card__copy p{font-size:16px}.programs-summer-card__art{min-height:240px;padding:var(--space-5)}.programs-summer-card__art strong{font-size:20px}}
.university-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.university-card{display:flex;min-height:270px;flex-direction:column;padding:var(--space-6);border:1px solid var(--line);border-top:3px solid var(--lavender);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff}
.university-card__logo{display:flex;width:100%;height:108px;align-items:center;justify-content:flex-start}
.university-card__logo img{display:block;width:auto;height:auto;max-width:100%;max-height:96px;object-fit:contain;object-position:left center}
.university-card__logo--tall img{max-height:108px}
.university-card__logo--wide img{max-width:min(100%,220px);max-height:76px}
.university-card__mark{display:grid;width:88px;height:88px;place-items:center;border:1px solid rgba(138,117,164,.28);border-radius:50%;background:var(--lavender-soft);color:var(--lavender-dark);font-family:var(--serif);font-size:clamp(18px,2vw,25px);line-height:1;text-align:center}
.university-card:nth-child(3n+2) .university-card__mark{border-color:rgba(181,153,85,.34);background:var(--vanilla);color:var(--mustard-dark)}
.university-card h3{margin:auto 0 0;padding-top:var(--space-6);font-family:var(--serif);font-size:17.85px;font-weight:400;line-height:1.35;text-wrap:balance}

@media(max-width:920px){
  .university-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  .graduates-slider__viewport{height:auto;aspect-ratio:4/3;border-radius:var(--radius-lg)}
  .graduates-slide img{object-position:center center}
  .graduates-slider__arrow{width:42px;height:42px}
  .graduates-slider__arrow--prev{left:var(--space-3)}
  .graduates-slider__arrow--next{right:var(--space-3)}
  .university-grid{grid-template-columns:1fr}
  .university-card{min-height:220px}
}

@media(prefers-reduced-motion:reduce){
  .graduates-slide{transition:none}
}

/* PRESCHOOL — age-led editorial programme page */
.preschool-page main{overflow:clip}
.preschool-hero .visual-page-hero__stage{min-height:480px}
.preschool-hero .visual-page-hero__copy>p{max-width:620px;font-size:18px;line-height:1.72}
.preschool-hero .visual-page-hero__art .calligraphy-art{--art-size:94%;--art-top:50%;--art-right:50%;--art-opacity:1}
.preschool-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:var(--space-8);align-items:end;margin-bottom:var(--space-8)}
.preschool-lead h2{max-width:820px;margin:var(--space-3) 0 0;font-size:clamp(35.7px,4.25vw,56.1px)}
.preschool-lead__intro{margin:0;padding-bottom:var(--space-2);color:var(--muted);font-family:var(--serif);font-size:clamp(23px,2.4vw,31px);line-height:1.45}
.preschool-page .preschool-foundations{align-items:stretch}
.preschool-page .preschool-foundation{display:flex;min-height:380px;flex-direction:column;justify-content:flex-end;padding:var(--space-7);border-radius:var(--radius-xl)}
.preschool-page .preschool-foundation h3{margin:0 0 var(--space-4);font-size:clamp(22.95px,2.12vw,29.75px)}
.preschool-page .preschool-foundation p{margin:0;font-size:16px;line-height:1.75}
.preschool-foundation--art{background:var(--lavender-dark);color:#fff}
.preschool-foundation--art .calligraphy-art{--art-size:76%;--art-top:-11%;--art-right:-13%;--art-opacity:.34;filter:brightness(0) invert(1)}
.preschool-foundation--art h3{color:#fff}
.preschool-foundation--art p{color:rgba(255,255,255,.84)}
.preschool-manifesto{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin-top:var(--space-9);padding-top:var(--space-7);border-top:1px solid var(--line-strong)}
.preschool-manifesto p{margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.preschool-manifesto p:last-child{color:var(--ink);font-family:var(--serif);font-size:clamp(24px,2.5vw,34px);line-height:1.45}
.preschool-stage-list{display:grid;gap:var(--space-6);margin-top:var(--space-8)}
.preschool-stage{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}
.preschool-stage__head{display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;padding:var(--space-8);background:var(--vanilla)}
.preschool-stage:nth-child(2) .preschool-stage__head{background:var(--lavender-dark);color:#fff}
.preschool-stage__age{margin-bottom:auto;color:var(--mustard-dark);font-family:var(--serif);font-size:clamp(34px,4vw,54px);line-height:1}
.preschool-stage:nth-child(2) .preschool-stage__age{color:#f0dca1}
.preschool-stage__head h3{margin:var(--space-9) 0 var(--space-4);font-family:var(--serif);font-size:clamp(28.9px,3.4vw,45.9px);font-weight:400;line-height:1.1}
.preschool-stage__head p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.preschool-stage:nth-child(2) .preschool-stage__head p{color:rgba(255,255,255,.82)}
.preschool-stage__topics{display:grid;grid-template-columns:1fr 1fr}
.preschool-stage__topics>div{padding:var(--space-6);border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.preschool-stage__topics>div:nth-last-child(-n+2){border-bottom:0}
.preschool-stage__topics h4{margin:0 0 var(--space-3);font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.3}
.preschool-stage__topics p{margin:0;color:var(--muted);font-size:16px;line-height:1.72}
.preschool-schedule>div>p{max-width:480px;margin:var(--space-5) 0 0;color:var(--muted);font-size:17px;line-height:1.75}
.preschool-page .schedule-facts{margin:0}
.preschool-page .schedule-fact{grid-template-columns:minmax(140px,.65fr) 1.35fr;align-items:baseline;padding:var(--space-5) 0}
.preschool-page .schedule-fact dt{color:var(--muted);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.preschool-page .schedule-fact dd{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(23px,2.5vw,32px);line-height:1.35}
.preschool-page .curriculum-lead{min-height:640px;background:var(--lavender-dark)}
.preschool-page .curriculum-lead .calligraphy-art{--art-size:84%;--art-top:-8%;--art-right:-18%;--art-opacity:.34}
.curriculum-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.curriculum-cards article{min-height:260px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}
.curriculum-cards article:nth-child(3n+2){background:var(--vanilla)}
.curriculum-cards h3{margin:0 0 var(--space-4);font-family:var(--serif);font-size:clamp(20.4px,1.95vw,26.35px);font-weight:400;line-height:1.25}
.curriculum-cards p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.preschool-page .outcome-panel{grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr)}
.outcome-panel__lead{display:flex;flex-direction:column}
.outcome-panel__lead>p{margin:auto 0 0;color:rgba(255,255,255,.7);font-size:16px;line-height:1.75}
.outcome-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7)}
.outcome-groups h3{margin:0;color:#fff;font-family:var(--serif);font-size:23.8px;font-weight:400}
.preschool-page .outcome-groups ul{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin:var(--space-5) 0 0}
.preschool-page .outcome-groups li{font-size:16px;line-height:1.65}
.enrollment-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:var(--space-9);align-items:start}
.enrollment-layout h2{max-width:580px;margin:var(--space-3) 0 0;font-size:clamp(34px,4.08vw,52.7px)}
.enrollment-copy{padding-left:var(--space-7);border-left:3px solid var(--mustard)}
.enrollment-copy p{margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.enrollment-copy p+p{margin-top:var(--space-5)}
.preschool-feedback .contact-form-intro{min-height:680px}
.preschool-feedback .contact-form-intro .calligraphy-art{--art-size:82%;--art-top:-8%;--art-right:-18%;--art-opacity:.34}
.preschool-feedback .contact-form-intro h2{font-size:clamp(32.3px,3.65vw,49.3px)}

@media(max-width:920px){
  .preschool-lead,.preschool-manifesto,.enrollment-layout{grid-template-columns:1fr;gap:var(--space-5)}
  .preschool-page .preschool-foundations{grid-template-columns:1fr}
  .preschool-page .preschool-foundation,.preschool-page .preschool-foundation:last-child{min-height:300px;grid-column:auto}
  .preschool-stage{grid-template-columns:1fr}
  .preschool-stage__head{min-height:320px}
  .preschool-page .curriculum-lead{min-height:420px}
  .preschool-page .outcome-panel{grid-template-columns:1fr}
  .outcome-panel__lead>p{margin-top:var(--space-5)}
  .enrollment-copy{padding:var(--space-6);border-left:0;border-top:3px solid var(--mustard);background:#fff}
}

@media(max-width:640px){
  .preschool-hero .visual-page-hero__stage{min-height:0}
  .preschool-hero .visual-page-hero__copy{padding:var(--space-7) 0 var(--space-4)}
  .preschool-lead{margin-bottom:var(--space-6)}
  .preschool-page .preschool-foundation{min-height:0;padding:var(--space-6)}
  .preschool-manifesto{margin-top:var(--space-7)}
  .preschool-stage-list{margin-top:var(--space-6)}
  .preschool-stage__head{min-height:280px;padding:var(--space-6)}
  .preschool-stage__topics{grid-template-columns:1fr}
  .preschool-stage__topics>div,.preschool-stage__topics>div:nth-last-child(-n+2){padding:var(--space-5);border-right:0;border-bottom:1px solid var(--line);border-left:0}
  .preschool-stage__topics>div:last-child{border-bottom:0}
  .preschool-page .schedule-fact{grid-template-columns:1fr;gap:var(--space-2)}
  .curriculum-cards,.outcome-groups{grid-template-columns:1fr}
  .curriculum-cards article{min-height:0;padding:var(--space-5)}
  .preschool-page .outcome-panel{padding:var(--space-6)}
  .preschool-feedback .contact-form-intro{min-height:400px}
}

/* PRIMARY SCHOOL — a clear foundation that grows from image to evidence */
.primary-page main{overflow:clip}
.primary-hero .visual-page-hero__stage{min-height:480px}
.primary-hero .visual-page-hero__copy>p{max-width:650px;font-size:18px;line-height:1.72}
.primary-hero .visual-page-hero__art .calligraphy-art{--art-size:92%;--art-top:50%;--art-right:50%;--art-opacity:1}
.primary-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.primary-facts__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.primary-facts__grid>div{display:grid;gap:8px;padding:var(--space-5) var(--space-6);border-left:1px solid var(--line)}
.primary-facts__grid>div:first-child{border-left:0}
.primary-facts span{color:var(--muted);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.primary-facts strong{font-family:var(--serif);font-size:clamp(23px,2.4vw,31px);font-weight:400;line-height:1.25}
.primary-approach__lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:var(--space-8);align-items:end}
.primary-approach__lead h2{max-width:820px;margin:var(--space-3) 0 0;font-size:clamp(35.7px,4.25vw,57.8px)}
.primary-approach__summary p{margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.primary-approach__summary p+p{margin-top:var(--space-4);color:var(--ink);font-family:var(--serif);font-size:23px;line-height:1.5}
.primary-principles{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4);margin-top:var(--space-8)}
.primary-principles article{display:flex;min-height:340px;grid-column:span 4;flex-direction:column;padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}
.primary-principles article>span{color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.primary-principles h3{margin:auto 0 var(--space-4);font-family:var(--serif);font-size:clamp(22.95px,2.29vw,30.6px);font-weight:400;line-height:1.2}
.primary-principles p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.primary-principles .primary-principle--accent{background:var(--lavender-dark);color:#fff}
.primary-principle--accent>span{color:#fff3c4!important}
.primary-principle--accent h3{color:#fff}
.primary-principle--accent p{color:rgba(255,255,255,.82)}
.primary-quote{width:72%;margin:var(--space-9) 0 0 auto;padding:var(--space-7) 0 var(--space-2) var(--space-7);border-left:3px solid var(--mustard)}
.primary-quote p{margin:0;font-family:var(--serif);font-size:clamp(27px,3.3vw,44px);line-height:1.4}
.primary-family__panel{display:grid;min-height:560px;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);overflow:hidden;border-radius:var(--radius-xl);background:var(--ink);color:#fff}
.primary-family__art{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--lavender-soft),var(--lavender))}
.primary-family__art .calligraphy-art{--art-size:106%;--art-top:50%;--art-right:50%;--art-opacity:.72;filter:brightness(0) invert(1);transform:translate(50%,-50%)}
.primary-family__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,82px)}
.primary-family__copy h2{max-width:760px;margin:var(--space-4) 0 var(--space-6);font-size:clamp(34px,4.08vw,54.4px)}
.primary-family__copy p{max-width:760px;margin:0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.8}
.primary-family__copy p+p{margin-top:var(--space-5)}
.primary-section-head{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:end}
.primary-section-head h2{max-width:800px;margin:0;font-size:clamp(35.7px,4.25vw,57.8px)}
.primary-section-head>p{margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.primary-subjects{margin-top:var(--space-8);border-bottom:1px solid var(--line-strong)}
.primary-subjects article{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:var(--space-8);align-items:center;min-height:210px;padding:var(--space-6) 0;border-top:1px solid var(--line-strong)}
.primary-subjects__label span{display:block;margin-bottom:var(--space-3);color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.primary-subjects h3{max-width:520px;margin:0;font-family:var(--serif);font-size:clamp(22.95px,2.55vw,34px);font-weight:400;line-height:1.22}
.primary-subjects p{max-width:720px;margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.primary-subjects__wide{background:linear-gradient(90deg,transparent,var(--vanilla),transparent)}
.primary-growth__layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:var(--space-9);align-items:start}
.primary-growth__intro{position:sticky;top:calc(var(--operational-header-height) + var(--space-5))}
.primary-growth__intro h2{margin:var(--space-3) 0 var(--space-5);font-size:clamp(34px,4.08vw,52.7px)}
.primary-growth__intro p{margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.primary-growth__path{position:relative;display:grid;gap:var(--space-5);padding-left:var(--space-7)}
.primary-growth__path::before{content:"";position:absolute;top:16px;bottom:16px;left:8px;width:1px;background:var(--mustard)}
.primary-growth__path article{position:relative;min-height:300px;padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff}
.primary-growth__path article::before{content:"";position:absolute;top:var(--space-7);left:calc(var(--space-7) * -1 - 4px);width:17px;height:17px;border:4px solid var(--warm);border-radius:50%;background:var(--mustard)}
.primary-growth__path article:last-child{background:var(--lavender-dark);color:#fff}
.primary-growth__path span{color:var(--mustard-dark);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.primary-growth__path article:last-child span{color:#fff3c4}
.primary-growth__path h3{margin:var(--space-8) 0 var(--space-4);font-family:var(--serif);font-size:clamp(24.65px,2.55vw,34px);font-weight:400;line-height:1.2}
.primary-growth__path p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.primary-growth__path article:last-child p{color:rgba(255,255,255,.82)}
.primary-feedback .contact-form-intro{min-height:680px}
.primary-feedback .contact-form-intro .calligraphy-art{--art-size:82%;--art-top:-8%;--art-right:-18%;--art-opacity:.34}
.primary-feedback .contact-form-intro h2{font-size:clamp(32.3px,3.65vw,49.3px)}

@media(max-width:920px){
  .primary-approach__lead,.primary-section-head,.primary-family__panel,.primary-growth__layout{grid-template-columns:1fr;gap:var(--space-5)}
  .primary-principles{grid-template-columns:1fr 1fr}
  .primary-principles article{grid-column:auto}
  .primary-principles article:last-child{grid-column:1/-1}
  .primary-quote{width:86%}
  .primary-family__art{min-height:360px}
  .primary-subjects article{grid-template-columns:.8fr 1.2fr;gap:var(--space-5)}
  .primary-growth__intro{position:static}
}

@media(max-width:640px){
  .primary-hero .visual-page-hero__stage{min-height:0}
  .primary-hero .visual-page-hero__copy{padding:var(--space-7) 0 var(--space-4)}
  .primary-facts__grid{grid-template-columns:1fr}
  .primary-facts__grid>div{padding:var(--space-4) 0;border-top:1px solid var(--line);border-left:0}
  .primary-facts__grid>div:first-child{border-top:0}
  .primary-principles{grid-template-columns:1fr;margin-top:var(--space-6)}
  .primary-principles article,.primary-principles article:last-child{min-height:290px;grid-column:auto;padding:var(--space-6)}
  .primary-quote{width:100%;margin-top:var(--space-7);padding:var(--space-6) 0 0 var(--space-5)}
  .primary-family__art{min-height:260px}
  .primary-family__copy{padding:var(--space-7) var(--space-6)}
  .primary-subjects{margin-top:var(--space-6)}
  .primary-subjects article{grid-template-columns:1fr;gap:var(--space-4);min-height:0;padding:var(--space-6) 0}
  .primary-growth__path{padding-left:var(--space-5)}
  .primary-growth__path article{min-height:0;padding:var(--space-6)}
  .primary-growth__path article::before{left:calc(var(--space-5) * -1 - 4px)}
  .primary-feedback .contact-form-intro{min-height:400px}
}

/* News dividers occupy the gap; media columns always have equal width. */
.home-news-item:not(:nth-child(3n + 1))::before,
.approved-news-entry:not(:nth-child(3n + 1))::before{
  content:"";position:absolute;top:0;bottom:0;
  left:calc(var(--news-column-gap) / -2);width:1px;background:var(--line-strong);
}
@media(max-width:720px){
  .home-news-item::before,.approved-news-entry::before{display:none}
}

@media(max-width:720px){.home-news-item:last-child,.approved-news-entry:last-child{padding-bottom:0}}

/* =========================================================
   READABILITY — compact laptop and dense content pass
   Pastel surfaces stay unchanged; text roles carry contrast.
   ========================================================= */
.origin-card p,
.project-card p,
.method-pillar p,
.stage-intro p,
.stage-card p,
.stage-note p,
.activity-column p,
.life-value p,
.science-item p,
.tradition-card p,
.parent-faq__answer p,
.admission-step p,
.admission-step li,
.achievement-card p,
.home-trust-card p,
.home-program-card p,
.home-program-action p,
.home-news-item p,
.approved-news-entry p,
.program-overview-card p,
.program-compact-card p,
.programs-all-school p,
.contact-row__value{
  font-size:var(--text-small);
}

.about-timeline p,
.result-stat span,
.quick-fact span,
.reviews-stat span,
.primary-facts span{
  font-size:var(--text-caption);
  line-height:var(--leading-caption);
}

.contact-note{font-size:var(--text-caption)}

/* HOME — high-resolution static campaign banners */
.home-banner-slider{
  position:relative;
  padding:calc(var(--operational-header-height) + var(--space-5)) 0 0;
}
.home-banner-slider + .home-life{padding-top:var(--space-8)}
.home-banner-slider .event-slider__stage{
  width:100%;
  min-height:0;
  overflow:hidden;
  aspect-ratio:3/1;
  border-radius:var(--radius-lg);
  background:transparent;
}
.home-banner-slider .event-slider__slides{position:absolute;inset:0}
.event-slide--banner{display:block;overflow:hidden;background:#f7f3ea}
.event-slide--banner picture,
.event-slide--banner img{display:block;width:100%;height:100%}
.event-slide--banner img{object-fit:cover;object-position:center}
.event-slide--banner:focus-visible{outline:3px solid var(--lavender);outline-offset:-5px}
.home-banner-slider .event-slider__controls{position:absolute;inset:0;display:block;pointer-events:none}
.home-banner-slider .event-slider__dots{
  position:absolute;
  right:50%;
  bottom:14px;
  display:flex;
  gap:9px;
  width:auto;
  max-width:none;
  padding:8px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  pointer-events:auto;
  transform:translateX(50%);
  backdrop-filter:none;
}
.home-banner-slider .event-slider__dots button{
  display:block;
  width:10px;
  min-width:0;
  height:10px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--beige);
  color:transparent;
  font-size:0;
}
.home-banner-slider .event-slider__dots button span,
.home-banner-slider .event-slider__dots button strong{display:none}
.home-banner-slider .event-slider__dots button:hover{background:var(--mustard)}
.home-banner-slider .event-slider__dots button.is-active{width:10px;border-radius:50%;background:var(--lavender)}
.home-banner-slider .event-slider__arrows{position:absolute;inset:0;pointer-events:none}
.home-banner-slider .event-slider__arrows button{
  position:absolute;
  top:50%;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--mustard);
  pointer-events:auto;
  transform:translateY(-50%);
  backdrop-filter:none;
}
.home-banner-slider .event-slider__arrows button::after{
  content:"";
  display:block;
  width:15px;
  height:15px;
  margin:auto;
  border-right:3px solid currentColor;
  border-bottom:3px solid currentColor;
}
.home-banner-slider .event-slider__arrows [data-slide-prev]::after{transform:rotate(135deg)}
.home-banner-slider .event-slider__arrows [data-slide-next]::after{transform:rotate(-45deg)}
.home-banner-slider .event-slider__arrows button:hover{background:transparent;color:var(--mustard-dark)}
.home-banner-slider .event-slider__arrows button:focus-visible{outline:2px solid var(--mustard);outline-offset:-6px}
.home-banner-slider .event-slider__arrows [data-slide-prev]{left:14px}
.home-banner-slider .event-slider__arrows [data-slide-next]{right:14px}

@media(max-width:640px) and (orientation:portrait){
  .home-banner-slider{padding-top:calc(var(--operational-header-height) + var(--space-3))}
  .home-banner-slider + .home-life{padding-top:var(--space-7)}
  .home-banner-slider .event-slider__stage{aspect-ratio:4/5;border-radius:var(--radius-md)}
  .home-banner-slider .event-slider__arrows button{width:38px;height:38px}
  .home-banner-slider .event-slider__arrows [data-slide-prev]{left:8px}
  .home-banner-slider .event-slider__arrows [data-slide-next]{right:8px}
  .home-banner-slider .event-slider__dots{bottom:10px;padding:7px}
}

/* Senior school — a calm route from subject profile to admission. */
.senior-page main{overflow:clip}
.senior-page .senior-hero{min-height:490px;display:flex;align-items:flex-end}
.senior-page .senior-hero .hero__content{padding-block:clamp(110px,14vw,170px) clamp(56px,8vw,94px)}
.senior-page .senior-hero .hero__lead{max-width:720px;font-size:clamp(18px,2vw,23px)}
.senior-page .senior-hero .hero__art{opacity:.7}
.senior-intro__grid{display:grid;grid-template-columns:minmax(240px,.82fr) minmax(320px,1.18fr);gap:clamp(36px,7vw,110px);align-items:start}
.senior-intro h2{max-width:620px;font-size:clamp(34px,4.59vw,57.8px);line-height:.98}
.senior-intro__copy{max-width:720px;padding-left:clamp(24px,4vw,54px);border-left:2px solid var(--mustard)}
.senior-intro__copy p{margin:0;font-size:clamp(18px,1.7vw,22px);line-height:1.65}
.senior-section-head{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);gap:clamp(32px,7vw,110px);align-items:end;margin-bottom:clamp(42px,6vw,74px)}
.senior-section-head h2{margin:0;font-size:clamp(35.7px,4.59vw,57.8px);line-height:1}
.senior-section-head p{max-width:620px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.senior-route{display:grid;gap:18px}
.senior-route article{display:grid;grid-template-columns:84px minmax(210px,.72fr) minmax(300px,1.28fr);gap:clamp(22px,4vw,62px);align-items:start;padding:clamp(30px,4vw,52px);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:var(--radius-lg);background:var(--paper)}
.senior-route__number{font-family:var(--serif);font-size:clamp(48px,6vw,78px);line-height:.8;color:var(--mustard-dark)}
.senior-route__heading h3{margin:8px 0 0;font-family:var(--serif);font-size:clamp(23.8px,2.55vw,34px);font-weight:400;line-height:1.05}
.senior-route__copy p{margin:0 0 18px;font-size:17px;line-height:1.68}
.senior-route__copy p:last-child{margin-bottom:0}
.senior-route__copy ul{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.senior-route__copy li{position:relative;padding-left:22px;line-height:1.55}
.senior-route__copy li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:50%;background:var(--mustard)}
.senior-route .senior-route__exam{background:var(--lavender-soft);border-color:transparent}
.senior-proof__lead{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:clamp(34px,7vw,110px);align-items:end;margin-bottom:44px}
.senior-proof__lead h2{margin:0;font-size:clamp(34px,4.25vw,54.4px);line-height:1}
.senior-proof__lead p{max-width:650px;margin:0;font-size:clamp(18px,1.7vw,22px);line-height:1.6}
.senior-proof__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.senior-proof__card{min-height:280px;padding:clamp(28px,3.5vw,46px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.senior-proof__card:nth-child(2){background:var(--ink);color:var(--paper)}
.senior-proof__card:nth-child(3){background:var(--vanilla)}
.senior-proof__card strong{display:block;margin-bottom:24px;font-family:var(--serif);font-size:clamp(32px,3.8vw,48px);font-weight:400;line-height:1}
.senior-proof__card p{margin:0;font-size:17px;line-height:1.65}
.senior-life__feature{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(320px,1.08fr);overflow:hidden;border-radius:var(--radius-lg);background:var(--ink);color:var(--paper)}
.senior-life__art{position:relative;min-height:420px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--mustard) 85%,white),var(--lavender));display:grid;place-items:center;padding:40px}
.senior-life__art .calligraphy-art{--art-size:88%;--art-top:50%;--art-right:50%;--art-opacity:1;filter:none;transform:translate(50%,-50%);transform-origin:center}
.senior-life__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,7vw,92px)}
.senior-life__copy h2{margin:0 0 26px;font-size:clamp(35.7px,4.25vw,54.4px);line-height:1}
.senior-life__copy p{margin:0;color:color-mix(in srgb,var(--paper) 80%,transparent);font-size:18px;line-height:1.7}
.senior-life__chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:46px;border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
.senior-life__chapters article{padding:36px 32px 40px;border-right:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
.senior-life__chapters article:last-child{border-right:0}
.senior-life__chapters span{display:block;margin-bottom:28px;color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.senior-life__chapters h3{margin:0 0 18px;font-family:var(--serif);font-size:27.2px;font-weight:400}
.senior-life__chapters p{margin:0;color:var(--muted);line-height:1.65}
.senior-page .senior-form-section{min-height:620px}
.senior-page .senior-form-section .form-card{align-self:stretch}

@media(max-width:920px){
  .senior-intro__grid,.senior-section-head,.senior-proof__lead{grid-template-columns:1fr;gap:28px}
  .senior-route article{grid-template-columns:68px 1fr}
  .senior-route__copy{grid-column:2}
  .senior-proof__grid{grid-template-columns:1fr}
  .senior-proof__card{min-height:0}
  .senior-life__feature{grid-template-columns:1fr}
  .senior-life__art{min-height:310px}
  .senior-life__chapters{grid-template-columns:1fr}
  .senior-life__chapters article{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
  .senior-life__chapters article:last-child{border-bottom:0}
}

@media(max-width:640px){
  .senior-page .senior-hero{min-height:440px}
  .senior-intro__copy{padding-left:20px}
  .senior-route article{grid-template-columns:1fr;gap:16px;padding:28px 22px}
  .senior-route__copy{grid-column:auto}
  .senior-route__number{font-size:46px}
  .senior-life__art{min-height:250px}
  .senior-life__copy{padding:38px 24px 42px}
  .senior-life__chapters article{padding:30px 6px}
}

/* Shared editorial anatomy for detailed learning routes. */
.learning-detail-page main{overflow:clip}.learning-detail-page .learning-hero{min-height:480px;display:flex;align-items:flex-end}.learning-detail-page .learning-hero .visual-page-hero__copy p{max-width:720px;font-size:clamp(18px,2vw,23px)}
.learning-promise__grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);gap:clamp(40px,7vw,110px);align-items:start}.learning-promise h2{margin:0;font-size:clamp(35.7px,4.42vw,56.1px);line-height:1}.learning-promise__copy{padding-left:clamp(24px,4vw,52px);border-left:2px solid var(--mustard)}.learning-promise__copy p{margin:0 0 18px;font-size:18px;line-height:1.7}.learning-promise__copy p:last-child{margin-bottom:0}
.learning-heading{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(320px,1.1fr);gap:clamp(34px,7vw,110px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}.learning-heading h2{margin:0;font-size:clamp(35.7px,4.42vw,56.1px);line-height:1}.learning-heading>p{max-width:620px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.exam-format__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.exam-format__grid article{padding:clamp(30px,4vw,50px);border-radius:var(--radius-lg)}.exam-format__grid h3{margin:18px 0;font-family:var(--serif);font-size:clamp(25.5px,2.98vw,37.4px);font-weight:400;line-height:1.05}.exam-format__grid p{margin:0;line-height:1.68}.exam-format__grid span{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.exam-format__focus{grid-column:span 5;background:var(--mustard)}.exam-format__subjects{grid-column:span 7;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.exam-format__practice{grid-column:5/span 8;background:var(--lavender-soft)}
.exam-path__columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.exam-path__columns>article{padding:clamp(30px,4vw,54px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg)}.exam-path__columns .exam-path__ege{background:var(--ink);color:var(--paper);border-color:transparent}.exam-path__label{margin-bottom:22px;color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.exam-path__ege .exam-path__label{color:var(--mustard)}.exam-path__columns h3{margin:0 0 34px;font-family:var(--serif);font-size:clamp(27.2px,2.98vw,39.1px);font-weight:400;line-height:1.08}
.learning-steps{display:grid;gap:0;margin:0;padding:0;list-style:none}.learning-steps li{display:grid;gap:7px;padding:20px 0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}.learning-steps strong{font-size:16px}.learning-steps span{color:color-mix(in srgb,currentColor 75%,transparent);line-height:1.6}.exam-path__note{margin:26px 0 0;padding:18px 20px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--mustard) 18%,transparent);font-size:14px;line-height:1.55}
.exam-results__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:clamp(40px,8vw,120px);align-items:start}.exam-results__grid h2{margin:0 0 28px;font-size:clamp(35.7px,4.42vw,56.1px);line-height:1}.exam-results__grid>div>p{font-size:18px;line-height:1.7}.exam-results__rail{border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.exam-results__rail article{display:grid;grid-template-columns:54px 1fr;gap:6px 22px;padding:26px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.exam-results__rail span{grid-row:1/3;color:var(--mustard-dark);font-family:var(--serif);font-size:30px}.exam-results__rail h3{margin:0;font-family:var(--serif);font-size:23.8px;font-weight:400}.exam-results__rail p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:900px){.learning-promise__grid,.learning-heading,.exam-results__grid{grid-template-columns:1fr;gap:28px}.exam-format__focus,.exam-format__subjects,.exam-format__practice{grid-column:1/-1}.exam-path__columns{grid-template-columns:1fr}}
@media(max-width:640px){.learning-detail-page .learning-hero{min-height:440px}.learning-promise__copy{padding-left:20px}.exam-format__grid{display:block}.exam-format__grid article{margin-bottom:16px}.exam-path__columns>article{padding:30px 22px}.exam-results__rail article{grid-template-columns:42px 1fr}}

.activities-map__nav{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.activities-map__nav a{display:grid;gap:18px;min-height:220px;padding:30px 26px;color:var(--ink);text-decoration:none;border-right:1px solid color-mix(in srgb,var(--ink) 18%,transparent);transition:background .2s ease,color .2s ease}.activities-map__nav a:last-child{border-right:0}.activities-map__nav a:hover{background:var(--ink);color:var(--paper)}.activities-map__nav strong{align-self:end;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.05}.activities-map__nav small{color:var(--muted)}.activities-map__nav a:hover small{color:inherit}
.activity-chapter{scroll-margin-top:120px}.activity-chapter__head{margin-bottom:48px}.activity-chapter__head h2{margin:0;font-size:clamp(37.4px,4.67vw,59.5px);line-height:1}.activity-catalog{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.activity-catalog article{padding:32px 34px 38px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.activity-catalog article:nth-child(2n){border-right:0}.activity-catalog h3{margin:0 0 15px;font-family:var(--serif);font-size:clamp(22.95px,2.55vw,30.6px);font-weight:400;line-height:1.08}.activity-catalog p{margin:0;color:var(--muted);line-height:1.65}.activity-catalog--wide{grid-template-columns:repeat(3,1fr)}.activity-catalog--wide article:nth-child(2n){border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.activity-catalog--wide article:nth-child(3n){border-right:0}
@media(max-width:900px){.activities-map__nav{grid-template-columns:1fr 1fr}.activities-map__nav a:nth-child(2){border-right:0}.activities-map__nav a:nth-child(-n+2){border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.activity-catalog--wide{grid-template-columns:1fr}.activity-catalog--wide article,.activity-catalog--wide article:nth-child(2n){border-right:0}}
@media(max-width:640px){.activities-map__nav{grid-template-columns:1fr}.activities-map__nav a{min-height:0;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.activities-map__nav a:last-child{border-bottom:0}.activity-catalog{grid-template-columns:1fr}.activity-catalog article{padding:27px 4px;border-right:0}}

.afterschool-timeline{position:relative;max-width:980px;margin-inline:auto}.afterschool-timeline::before{content:"";position:absolute;left:156px;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--ink) 18%,transparent)}.afterschool-timeline article{display:grid;grid-template-columns:130px 1fr;gap:54px;padding:0 0 46px}.afterschool-timeline article:last-child{padding-bottom:0}.afterschool-timeline time{position:relative;padding-top:9px;color:var(--mustard-dark);font-weight:700}.afterschool-timeline time::after{content:"";position:absolute;right:-33px;top:14px;width:12px;height:12px;border:3px solid var(--mustard);border-radius:50%;background:var(--warm)}.afterschool-timeline h3{margin:0 0 12px;font-family:var(--serif);font-size:clamp(25.5px,2.98vw,35.7px);font-weight:400}.afterschool-timeline p{max-width:720px;margin:0;color:var(--muted);line-height:1.68}
.afterschool-support__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.afterschool-support__grid article{min-height:270px;padding:clamp(28px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.afterschool-support__grid article:nth-child(2){background:var(--lavender-soft);border-color:transparent}.afterschool-support__grid article:nth-child(3){background:var(--vanilla);border-color:transparent}.afterschool-support__grid span{color:var(--mustard-dark);font-family:var(--serif);font-size:32px}.afterschool-support__grid h3{margin:24px 0 14px;font-family:var(--serif);font-size:28.9px;font-weight:400}.afterschool-support__grid p{margin:0 0 18px;line-height:1.65}.afterschool-support__grid a{color:var(--ink);font-weight:700}
.afterschool-family__grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(340px,1.22fr);gap:clamp(40px,8vw,120px);align-items:center}.afterschool-family__grid>.calligraphy-art{position:relative;top:auto;right:auto;width:100%;min-height:350px;aspect-ratio:auto;overflow:hidden;border-radius:var(--radius-lg);background:var(--ink);opacity:1;transform:none}.afterschool-family__grid>.calligraphy-art img{height:100%;object-fit:contain}.afterschool-family__grid h2{margin:0 0 26px;font-size:clamp(35.7px,4.5vw,56.1px);line-height:1}.afterschool-family__grid p{max-width:700px;margin:0;font-size:18px;line-height:1.7}
@media(max-width:800px){.afterschool-support__grid,.afterschool-family__grid{grid-template-columns:1fr}.afterschool-family__grid>.calligraphy-art{min-height:260px}}
@media(max-width:640px){.afterschool-timeline::before{left:5px}.afterschool-timeline article{grid-template-columns:1fr;gap:12px;padding-left:28px}.afterschool-timeline time::after{left:-29px;right:auto}.afterschool-support__grid article{min-height:0}}

.career-route__list{border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.career-route__list article{display:grid;grid-template-columns:calc(clamp(42px,5vw,64px) * 2.1) minmax(260px,.85fr) minmax(300px,1.15fr);gap:clamp(24px,5vw,70px);align-items:start;padding:34px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.career-route__list>article>span{font-family:var(--serif);font-size:clamp(42px,5vw,64px);line-height:.9;color:var(--mustard-dark);white-space:nowrap}.career-route__list small{display:block;margin-bottom:8px;color:var(--muted);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.career-route__list h3{margin:0;font-family:var(--serif);font-size:clamp(24.65px,2.55vw,32.3px);font-weight:400;line-height:1.08}.career-route__list p{margin:2px 0 0;color:var(--muted);line-height:1.65}
.career-tools__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.career-tools__grid article{min-height:360px;padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.career-tools__grid article:nth-child(2){background:var(--ink);color:var(--paper);border-color:transparent}.career-tools__num{color:var(--mustard-dark);font-family:var(--serif);font-size:36px}.career-tools__grid article:nth-child(2) .career-tools__num{color:var(--mustard)}.career-tools__grid h3{margin:40px 0 18px;font-family:var(--serif);font-size:clamp(25.5px,2.55vw,32.3px);font-weight:400;line-height:1.08}.career-tools__grid p{margin:0 0 22px;line-height:1.67;color:color-mix(in srgb,currentColor 76%,transparent)}.career-tools__grid a{color:inherit;font-weight:700}
.career-result__grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(350px,1.28fr);gap:clamp(40px,8vw,120px);align-items:center}.career-result__grid>.calligraphy-art{position:relative;top:auto;right:auto;width:100%;min-height:350px;aspect-ratio:auto;overflow:hidden;border-radius:var(--radius-lg);background:var(--lavender);opacity:1;transform:none}.career-result__grid>.calligraphy-art img{height:100%;object-fit:contain}.career-result__grid h2{margin:0 0 26px;font-size:clamp(35.7px,4.59vw,57.8px);line-height:1}.career-result__grid p{max-width:720px;margin:0;font-size:18px;line-height:1.7}
@media(max-width:900px){.career-route__list article{grid-template-columns:calc(clamp(42px,5vw,64px) * 2.1) 1fr}.career-route__list article>p{grid-column:2}.career-tools__grid{grid-template-columns:1fr}.career-tools__grid article{min-height:0}.career-result__grid{grid-template-columns:1fr}.career-result__grid>.calligraphy-art{min-height:260px}}
@media(max-width:640px){.career-route__list article{grid-template-columns:1fr;gap:14px}.career-route__list article>p{grid-column:auto}.career-tools__grid article{padding:30px 24px}}

.project-journey__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-journey__grid article{min-height:370px;padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.project-journey__grid article:nth-child(2){background:var(--lavender-soft);border-color:transparent}.project-journey__grid article:nth-child(3){background:var(--ink);color:var(--paper);border-color:transparent}.project-journey__grid span{font-family:var(--serif);font-size:38px;color:var(--mustard-dark)}.project-journey__grid article:nth-child(3) span{color:var(--mustard)}.project-journey__grid small{display:block;margin-top:46px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-journey__grid h3{margin:12px 0 18px;font-family:var(--serif);font-size:clamp(25.5px,2.55vw,32.3px);font-weight:400;line-height:1.08}.project-journey__grid p{margin:0;line-height:1.65;color:color-mix(in srgb,currentColor 76%,transparent)}
.project-outcome__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(42px,8vw,120px);align-items:center}.project-outcome__art{position:relative;min-height:430px;display:grid;place-items:center;border-radius:var(--radius-lg);background:var(--mustard)}.project-outcome__art .calligraphy-art{width:72%;height:72%}.project-outcome__art>span{position:absolute;left:28px;bottom:24px;font-weight:700}.project-outcome__grid h2{margin:0 0 30px;font-size:clamp(35.7px,4.5vw,56.1px);line-height:1}.project-outcome__grid ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.project-outcome__grid li{padding:16px 0;border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);font-size:18px}
.project-examples__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-examples__grid article{min-height:220px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.project-examples__grid article:nth-child(3n+2){background:var(--vanilla);border-color:transparent}.project-examples__grid span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-examples__grid h3{margin:30px 0 0;font-family:var(--serif);font-size:clamp(23.8px,2.55vw,30.6px);font-weight:400;line-height:1.08}.project-examples__grid .project-examples__wide{grid-column:span 3;min-height:180px;background:var(--lavender-soft);border-color:transparent}
.project-context__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(42px,8vw,120px);align-items:end}.project-context__grid h2{margin:0;font-size:clamp(35.7px,4.5vw,56.1px);line-height:1}.project-context__grid p{margin:0 0 26px;font-size:18px;line-height:1.7}
@media(max-width:900px){.project-journey__grid{grid-template-columns:1fr}.project-journey__grid article{min-height:0}.project-outcome__grid,.project-context__grid{grid-template-columns:1fr}.project-examples__grid{grid-template-columns:1fr 1fr}.project-examples__grid .project-examples__wide{grid-column:span 2}}
@media(max-width:640px){.project-outcome__art{min-height:280px}.project-examples__grid{grid-template-columns:1fr}.project-examples__grid .project-examples__wide{grid-column:auto}.project-examples__grid article{min-height:180px}}

.middle-principles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.middle-principles__grid article{min-height:340px;padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.middle-principles__grid article:nth-child(2){background:var(--lavender-soft);border-color:transparent}.middle-principles__grid article:nth-child(3){background:var(--ink);color:var(--paper);border-color:transparent}.middle-principles__grid span{color:var(--mustard-dark);font-family:var(--serif);font-size:36px}.middle-principles__grid article:nth-child(3) span{color:var(--mustard)}.middle-principles__grid h3{margin:48px 0 18px;font-family:var(--serif);font-size:clamp(25.5px,2.55vw,32.3px);font-weight:400;line-height:1.08}.middle-principles__grid p{margin:0;line-height:1.65;color:color-mix(in srgb,currentColor 77%,transparent)}
.middle-route__rows{display:grid;gap:16px}.middle-route__rows article{display:grid;grid-template-columns:78px minmax(250px,.8fr) minmax(320px,1.2fr);gap:clamp(22px,5vw,70px);align-items:start;padding:clamp(30px,4vw,46px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg)}.middle-route__rows .middle-route__accent{background:var(--mustard);border-color:transparent}.middle-route__num{color:var(--mustard-dark);font-family:var(--serif);font-size:42px;line-height:.9}.middle-route__rows small{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.middle-route__rows h3{margin:9px 0 0;font-family:var(--serif);font-size:clamp(25.5px,2.55vw,33.15px);font-weight:400}.middle-route__rows p{margin:0;color:var(--muted);line-height:1.68}.middle-route__accent p{color:var(--ink)}
.middle-environment__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(370px,1.15fr);gap:clamp(42px,8vw,120px);align-items:start}.middle-environment__grid h2{margin:0 0 26px;font-size:clamp(35.7px,4.5vw,56.1px);line-height:1}.middle-environment__grid>div>p{font-size:18px;line-height:1.7}.middle-environment__cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.middle-environment__cards article{min-height:180px;padding:28px 26px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.middle-environment__cards article:nth-child(2n){border-right:0}.middle-environment__cards strong{display:block;margin-bottom:14px;font-family:var(--serif);font-size:28px;font-weight:400}.middle-environment__cards p{margin:0;color:var(--muted);line-height:1.6}
@media(max-width:900px){.middle-principles__grid{grid-template-columns:1fr}.middle-principles__grid article{min-height:0}.middle-route__rows article{grid-template-columns:64px 1fr}.middle-route__rows article>p{grid-column:2}.middle-environment__grid{grid-template-columns:1fr}}
@media(max-width:640px){.middle-route__rows article{grid-template-columns:1fr;gap:14px;padding:28px 22px}.middle-route__rows article>p{grid-column:auto}.middle-environment__cards{grid-template-columns:1fr}.middle-environment__cards article{min-height:0;border-right:0}}

/* Learning section — one stable hero, grid and contrast contract on every route. */
.learning-section-page .visual-page-hero{
  display:block;
  min-height:0;
}
.learning-section-page .visual-page-hero__stage{
  min-height:480px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.learning-section-page .visual-page-hero__copy{
  min-width:0;
  padding:clamp(42px,6vw,82px) 0;
}
.learning-section-page .visual-page-hero__copy>p{
  max-width:680px;
  color:var(--muted);
  font-size:clamp(18px,1.7vw,21px);
  line-height:1.7;
}
.learning-section-page .visual-page-hero__art{
  min-width:0;
  min-height:480px;
  overflow:hidden;
}
.learning-section-page .visual-page-hero__art .calligraphy-art.calligraphy-art--soft{
  --art-size:100%;
  --art-top:50%;
  --art-right:50%;
  --art-opacity:1;
  filter:none;
  transform:translate(50%,-50%);
  transform-origin:center;
}
.learning-section-page .visual-page-hero__note{
  right:var(--space-4);
  bottom:var(--space-5);
  max-width:min(310px,calc(100% - (var(--space-4) * 2)));
  background:rgba(252,250,247,.94);
  border-color:rgba(41,38,49,.18);
  border-left-color:var(--mustard-dark);
  color:var(--ink);
}
.learning-section-page :where([class*="__grid"],[class*="__layout"],[class*="__rows"],[class*="__columns"],[class*="__list"])>*{
  min-width:0;
}
.learning-section-page :where(h1,h2,h3,h4,p,li,strong,span){overflow-wrap:break-word}
.learning-section-page .contact-form-intro{background:var(--lavender-dark)}
.learning-section-page .contact-form-intro .calligraphy-art{filter:brightness(0) invert(1)}
.learning-section-page .contact-form-intro p{color:rgba(255,255,255,.88)}
.learning-section-page main>section[id="form"]:last-child{padding-bottom:var(--space-10)}

@media(max-width:900px){
  .learning-section-page .visual-page-hero__stage{grid-template-columns:1fr;min-height:0}
  .learning-section-page .visual-page-hero__copy{padding:var(--space-8) 0 var(--space-5)}
  .learning-section-page .visual-page-hero__art{min-height:clamp(320px,52vw,460px)}
}

@media(max-width:640px){
  .learning-section-page .visual-page-hero__copy{padding:var(--space-7) 0 var(--space-4)}
  .learning-section-page .visual-page-hero__art{min-height:clamp(270px,82vw,360px)}
  .learning-section-page .visual-page-hero__note{right:var(--space-3);bottom:var(--space-3);left:var(--space-3);max-width:none}
}

/* Life section overview. */
.parent-section-page{overflow-x:clip}
.parent-section-page main{overflow:clip}
.parent-section-page .visual-page-hero{display:block;min-height:0}
.parent-section-page .visual-page-hero__stage{min-height:480px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.parent-section-page .visual-page-hero__copy{min-width:0;padding:clamp(42px,6vw,82px) 0}
.parent-section-page .visual-page-hero__copy>p{max-width:680px;color:var(--muted);font-size:clamp(18px,1.7vw,21px);line-height:1.7}
.parent-section-page .visual-page-hero__art{min-width:0;min-height:480px;overflow:hidden}
.parent-section-page .visual-page-hero__art .calligraphy-art.calligraphy-art--soft{--art-size:100%;--art-top:50%;--art-right:50%;--art-opacity:1;filter:none;transform:translate(50%,-50%);transform-origin:center}
.parent-section-page .visual-page-hero__note{right:var(--space-4);bottom:var(--space-5);max-width:min(310px,calc(100% - (var(--space-4) * 2)));background:rgba(252,250,247,.94);border-color:rgba(41,38,49,.18);border-left-color:var(--mustard-dark);color:var(--ink)}
.parent-section-page :where([class*="__grid"],[class*="__layout"],[class*="__rows"],[class*="__columns"],[class*="__list"])>*{min-width:0}
.parent-section-page :where(h1,h2,h3,h4,p,li,strong,span,summary){overflow-wrap:break-word}
.parent-section-page .contact-form-intro{background:var(--lavender-dark)}
.parent-section-page .contact-form-intro .calligraphy-art{filter:brightness(0) invert(1)}
.parent-section-page .contact-form-intro p{color:rgba(255,255,255,.88)}
.parent-section-page main>section[id="form"]:last-child{padding-bottom:var(--space-10)}

.parents-overview-intro__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(350px,1.15fr);gap:clamp(42px,8vw,120px);align-items:start}
.parents-overview-intro h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.parents-overview-intro__copy{padding-left:clamp(24px,4vw,52px);border-left:2px solid var(--mustard)}
.parents-overview-intro__copy p{margin:0 0 18px;font-size:18px;line-height:1.7}
.parents-overview-intro__copy p:last-child{margin-bottom:0}
.parents-directory__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}
.parents-directory__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.parents-directory__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.parents-directory__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.parents-directory-card{min-height:310px;display:flex;flex-direction:column;padding:clamp(30px,4vw,48px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink);text-decoration:none;transition:transform .2s ease}
.parents-directory-card:hover{transform:translateY(-4px)}
.parents-directory-card--dark{background:var(--ink);color:var(--paper);border-color:transparent}
.parents-directory-card--gold{background:var(--mustard);border-color:transparent}
.parents-directory-card--soft{background:var(--lavender-soft);border-color:transparent}
.parents-directory-card--wide{grid-column:span 2;min-height:240px}
.parents-directory-card>span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.parents-directory-card--dark>span{color:var(--mustard)}
.parents-directory-card h3{max-width:780px;margin:46px 0 16px;font-family:var(--serif);font-size:clamp(27.2px,3.15vw,40.8px);font-weight:400;line-height:1.05}
.parents-directory-card p{max-width:760px;margin:0 0 26px;color:color-mix(in srgb,currentColor 82%,transparent);font-size:17px;line-height:1.65}
.parents-directory-card strong{margin-top:auto}

.parents-detail-intro__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}
.parents-detail-intro__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.parents-detail-intro__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.reviews-reasons__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.reviews-reason{min-height:340px;display:flex;flex-direction:column;padding:clamp(30px,4vw,48px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink)}
.reviews-reason--dark{background:var(--ink);color:var(--paper);border-color:transparent}
.reviews-reason--soft{background:var(--lavender-soft);border-color:transparent}
.reviews-reason--gold{background:var(--mustard);border-color:transparent}
.reviews-reason>span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.reviews-reason--dark>span{color:var(--mustard)}
.reviews-reason h3{margin:54px 0 18px;font-family:var(--serif);font-size:clamp(27.2px,3.06vw,39.1px);font-weight:400;line-height:1.05}
.reviews-reason p{margin:auto 0 0;color:color-mix(in srgb,currentColor 82%,transparent);font-size:17px;line-height:1.68}
.parent-faq-layout{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:clamp(42px,7vw,96px);align-items:start}
.parent-faq-layout__intro{position:sticky;top:150px}
.parent-faq-layout__intro h2{margin:0 0 22px;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.parent-faq-layout__intro p{margin:0;color:var(--muted);font-size:18px;line-height:1.68}
.parent-section-page .approved-faq-list{max-width:none}
.parent-section-page .approved-faq{background:var(--paper);border-color:color-mix(in srgb,var(--ink) 16%,transparent)}
.parent-section-page .approved-faq summary{font-size:clamp(22px,2.25vw,30px)}
.parent-section-page .approved-faq__answer p,.parent-section-page .approved-faq__answer li{color:#45404a;font-size:17px;line-height:1.75}
.parent-section-page .approved-faq__answer ol,.parent-section-page .approved-faq__answer ul{display:grid;gap:10px;margin:22px 0 0;padding-left:24px}

.admission-roadmap__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}
.admission-roadmap__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.admission-roadmap__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.admission-steps{display:grid;gap:18px}
.admission-step{display:grid;grid-template-columns:92px minmax(0,1fr);gap:clamp(26px,5vw,72px);padding:clamp(32px,5vw,62px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink)}
.admission-step--dark{background:var(--ink);color:var(--paper);border-color:transparent}
.admission-step--soft{background:var(--lavender-soft);border-color:transparent}
.admission-step--gold{background:var(--mustard);border-color:transparent}
.admission-step>span{color:var(--mustard-dark);font-family:var(--serif);font-size:clamp(38px,5vw,58px);line-height:1}
.admission-step--dark>span{color:var(--mustard)}
.admission-step h3{margin:0 0 24px;font-family:var(--serif);font-size:clamp(28.9px,3.4vw,42.5px);font-weight:400;line-height:1.05}
.admission-step h4{margin:34px 0 18px;font-family:var(--serif);font-size:clamp(26px,3vw,34px);font-weight:400}
.admission-step p,.admission-step li{font-size:17px;line-height:1.72}
.admission-step p{margin:0 0 18px}
.admission-step p:last-child{margin-bottom:0}
.admission-step ol{display:grid;gap:12px;margin:20px 0 24px;padding-left:24px}
.admission-legal-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}
.admission-legal-notes p{margin:0;padding:24px;border:1px solid rgba(41,38,49,.2);border-radius:var(--radius-md);background:rgba(252,250,247,.55)}

.prices-consultation__card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(32px,7vw,100px);align-items:end;padding:clamp(40px,7vw,86px);border-radius:var(--radius-lg);background:var(--ink);color:var(--paper)}
.prices-consultation__card h2{max-width:820px;margin:18px 0 24px;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.prices-consultation__card p{max-width:760px;margin:0;color:rgba(252,250,247,.82);font-size:18px;line-height:1.7}
.prices-consultation__card .btn{flex:none}
.prices-difference__head,.prices-table-section__head{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(340px,1.05fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}
.prices-difference__head h2,.prices-table-section__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}
.prices-difference__head>p,.prices-table-section__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.prices-difference__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.price-feature{min-height:330px;display:flex;flex-direction:column;padding:clamp(30px,4vw,48px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink)}
.price-feature--dark{background:var(--ink);color:var(--paper);border-color:transparent}
.price-feature--soft{background:var(--lavender-soft);border-color:transparent}
.price-feature--gold{background:var(--mustard);border-color:transparent}
.price-feature>span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.price-feature--dark>span{color:var(--mustard)}
.price-feature h3{margin:44px 0 18px;font-family:var(--serif);font-size:clamp(26.35px,2.89vw,36.55px);font-weight:400;line-height:1.07}
.price-feature p{margin:auto 0 0;color:color-mix(in srgb,currentColor 80%,transparent);font-size:17px;line-height:1.67}
.prices-table-wrap{max-width:100%;overflow-x:auto;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:var(--radius-lg);background:var(--paper);outline-offset:5px}
.prices-table{width:100%;min-width:840px;border-collapse:collapse;color:var(--ink)}
.prices-table th,.prices-table td{padding:22px 24px;text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent);font-size:16px;line-height:1.55}
.prices-table thead th{background:var(--ink);color:var(--paper);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.prices-table tbody th{width:48%;font-family:var(--serif);font-size:20px;font-weight:400}
.prices-table tbody td:nth-child(2){width:27%;color:#514b55}
.prices-table tbody td:last-child{width:25%}
.prices-table tbody tr:nth-child(even){background:var(--vanilla)}
.prices-table tbody tr:last-child>*{border-bottom:0}
.prices-table strong{font-size:18px}

@media(max-width:900px){
  .parent-section-page .visual-page-hero__stage,.parents-overview-intro__grid,.parents-directory__head,.parents-detail-intro__head,.parent-faq-layout,.admission-roadmap__head,.prices-consultation__card,.prices-difference__head,.prices-table-section__head{grid-template-columns:1fr;min-height:0}
  .parent-faq-layout__intro{position:static}
  .parent-section-page .visual-page-hero__copy{padding:var(--space-8) 0 var(--space-5)}
  .parent-section-page .visual-page-hero__art{min-height:clamp(320px,52vw,460px)}
}
@media(max-width:640px){
  .parent-section-page .visual-page-hero__copy{padding:var(--space-7) 0 var(--space-4)}
  .parent-section-page .visual-page-hero__art{min-height:clamp(270px,82vw,360px)}
  .parent-section-page .visual-page-hero__note{right:var(--space-3);bottom:var(--space-3);left:var(--space-3);max-width:none}
  .parents-overview-intro__copy{padding-left:20px}
  .parents-directory__grid{grid-template-columns:1fr}
  .reviews-reasons__grid{grid-template-columns:1fr}
  .parents-directory-card,.parents-directory-card--wide{grid-column:auto;min-height:260px}
  .reviews-reason{min-height:0}
  .admission-step{grid-template-columns:1fr;gap:20px}
  .admission-legal-notes{grid-template-columns:1fr}
  .prices-difference__grid{grid-template-columns:1fr}
  .price-feature{min-height:0}
}

.life-section-page .visual-page-hero{
  display:block;
  min-height:0;
}
.life-section-page .visual-page-hero__stage{
  min-height:480px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.life-section-page .visual-page-hero__copy{
  min-width:0;
  padding:clamp(42px,6vw,82px) 0;
}
.life-section-page .visual-page-hero__copy>p{
  max-width:680px;
  color:var(--muted);
  font-size:clamp(18px,1.7vw,21px);
  line-height:1.7;
}
.life-section-page .visual-page-hero__art{
  min-width:0;
  min-height:480px;
  overflow:hidden;
}
.life-section-page .visual-page-hero__art .calligraphy-art.calligraphy-art--soft{
  --art-size:100%;
  --art-top:50%;
  --art-right:50%;
  --art-opacity:1;
  filter:none;
  transform:translate(50%,-50%);
  transform-origin:center;
}
.life-section-page .visual-page-hero__note{
  right:var(--space-4);
  bottom:var(--space-5);
  max-width:min(310px,calc(100% - (var(--space-4) * 2)));
  background:rgba(252,250,247,.94);
  border-color:rgba(41,38,49,.18);
  border-left-color:var(--mustard-dark);
  color:var(--ink);
}
.life-section-page :where([class*="__grid"],[class*="__layout"],[class*="__rows"],[class*="__columns"],[class*="__list"])>*{min-width:0}
.life-section-page :where(h1,h2,h3,h4,p,li,strong,span){overflow-wrap:break-word}

/* Calligraphy in editorial feature blocks participates in the grid. */
.life-section-page :is(.life-values__statement,.events-finale__card,.camp-program__lead,.weeks-result__grid,.olympiad-growth__lead)>.calligraphy-art{
  position:relative;
  top:auto;
  right:auto;
  width:100%;
  aspect-ratio:1/1;
  opacity:1;
  transform:none;
}
.life-section-page .traditions-manifesto__art .calligraphy-art{
  top:50%;
  right:50%;
  transform:translate(50%,-50%);
  opacity:1;
}
.life-section-page .contact-form-intro{background:var(--lavender-dark)}
.life-section-page .contact-form-intro .calligraphy-art{filter:brightness(0) invert(1)}
.life-section-page .contact-form-intro p{color:rgba(255,255,255,.88)}
.life-section-page main>section[id="form"]:last-child{padding-bottom:var(--space-10)}

.life-direction:nth-child(3)>span,
.life-direction:nth-child(4)>span,
.traditions-pillar--lavender>span,
.traditions-pillar--gold>span,
.event-story--lavender>span,
.event-story--gold>span,
.olympiad-format--lavender>span,
.olympiad-format--gold>span{color:var(--ink)}

.life-direction:nth-child(4),
.traditions-pillar--lavender,
.event-story--lavender,
.olympiad-format--lavender{background:var(--lavender-soft)}

@media(max-width:900px){
  .life-section-page .visual-page-hero__stage{grid-template-columns:1fr;min-height:0}
  .life-section-page .visual-page-hero__copy{padding:var(--space-8) 0 var(--space-5)}
  .life-section-page .visual-page-hero__art{min-height:clamp(320px,52vw,460px)}
}

@media(max-width:640px){
  .life-section-page .visual-page-hero__copy{padding:var(--space-7) 0 var(--space-4)}
  .life-section-page .visual-page-hero__art{min-height:clamp(270px,82vw,360px)}
  .life-section-page .visual-page-hero__note{right:var(--space-3);bottom:var(--space-3);left:var(--space-3);max-width:none}
}

.life-overview-page main{overflow:clip}.life-overview-hero{min-height:480px;display:flex;align-items:flex-end}.life-overview-hero .visual-page-hero__copy p{max-width:720px;font-size:clamp(18px,2vw,23px)}
.life-overview-intro__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(42px,8vw,120px);align-items:start}.life-overview-intro h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.life-overview-intro__grid>div:last-child{padding-left:clamp(24px,4vw,52px);border-left:2px solid var(--mustard)}.life-overview-intro p{margin:0 0 18px;font-size:18px;line-height:1.7}.life-overview-intro p:last-child{margin-bottom:0}
.life-directions__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}.life-directions__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.life-directions__head>p{max-width:620px;margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.life-directions__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.life-direction{min-height:330px;display:flex;flex-direction:column;padding:clamp(30px,4vw,50px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);color:var(--ink);text-decoration:none;transition:transform .2s ease,background .2s ease}.life-direction:hover{transform:translateY(-4px)}.life-direction--lead{background:var(--ink);color:var(--paper);border-color:transparent}.life-direction:nth-child(3){background:var(--mustard);border-color:transparent}.life-direction:nth-child(4){background:var(--lavender);border-color:transparent}.life-direction--wide{grid-column:span 2;min-height:250px}.life-direction>span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.life-direction--lead>span{color:var(--mustard)}.life-direction h3{max-width:760px;margin:52px 0 18px;font-family:var(--serif);font-size:clamp(27.2px,3.15vw,40.8px);font-weight:400;line-height:1.04}.life-direction p{max-width:720px;margin:0 0 28px;color:color-mix(in srgb,currentColor 76%,transparent);line-height:1.65}.life-direction strong{margin-top:auto}
.life-values__statement{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,8vw,120px);align-items:center;overflow:hidden;padding:clamp(46px,7vw,88px);border-radius:var(--radius-lg);background:var(--ink);color:var(--paper)}.life-values__statement>.calligraphy-art{min-height:300px}.life-values__statement h2{margin:0 0 24px;font-size:clamp(35.7px,4.42vw,56.1px);line-height:1}.life-values__statement p{margin:0;color:color-mix(in srgb,var(--paper) 78%,transparent);font-size:18px;line-height:1.7}.life-values__rail{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.life-values__rail article{padding:28px 26px;border-right:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.life-values__rail article:last-child{border-right:0}.life-values__rail span{font-family:var(--serif);font-size:30px}.life-values__rail p{margin:12px 0 0;color:var(--muted);line-height:1.6}
@media(max-width:900px){.life-overview-intro__grid,.life-directions__head,.life-values__statement{grid-template-columns:1fr}.life-values__statement>.calligraphy-art{min-height:220px}.life-values__rail{grid-template-columns:1fr}.life-values__rail article{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.life-values__rail article:last-child{border-bottom:0}}
@media(max-width:640px){.life-overview-hero{min-height:440px}.life-overview-intro__grid>div:last-child{padding-left:20px}.life-directions__grid{grid-template-columns:1fr}.life-direction,.life-direction--wide{grid-column:auto;min-height:270px}.life-values__statement{padding:34px 24px}.life-values__statement>.calligraphy-art{min-height:180px}}

/* Detailed pages in the Life section. */
.life-detail-page main{overflow:clip}.life-detail-hero{min-height:480px;display:flex;align-items:flex-end}.life-detail-hero .visual-page-hero__copy p{max-width:730px;font-size:clamp(18px,2vw,23px)}
.traditions-manifesto__grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(350px,1.2fr);gap:clamp(42px,8vw,120px);align-items:center}.traditions-manifesto__art{position:relative;min-height:400px;display:grid;place-items:center;border-radius:var(--radius-lg);background:var(--ink)}.traditions-manifesto__art .calligraphy-art{width:72%;height:72%}.traditions-manifesto__art>span{position:absolute;left:30px;bottom:26px;color:var(--mustard);font-weight:700}.traditions-manifesto h2{margin:0 0 26px;font-size:clamp(35.7px,4.59vw,57.8px);line-height:1}.traditions-manifesto p{margin:0;font-size:18px;line-height:1.72}
.traditions-pillars__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}.traditions-pillars__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.traditions-pillars__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}.traditions-pillars__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.traditions-pillar{display:grid;grid-template-columns:74px 1fr;gap:24px;min-height:300px;padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.traditions-pillar--dark{background:var(--ink);color:var(--paper);border-color:transparent}.traditions-pillar--lavender{background:var(--lavender);border-color:transparent}.traditions-pillar--gold{background:var(--mustard);border-color:transparent}.traditions-pillar>span{color:var(--mustard-dark);font-family:var(--serif);font-size:38px}.traditions-pillar--dark>span{color:var(--mustard)}.traditions-pillar small{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.traditions-pillar h3{margin:42px 0 16px;font-family:var(--serif);font-size:clamp(26.35px,2.89vw,36.55px);font-weight:400;line-height:1.06}.traditions-pillar p{margin:0;color:color-mix(in srgb,currentColor 77%,transparent);line-height:1.67}
.traditions-links__head{max-width:800px;margin-bottom:46px}.traditions-links__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.traditions-links__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.traditions-links__grid a{min-height:240px;display:flex;flex-direction:column;padding:30px;color:var(--ink);text-decoration:none;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.traditions-links__grid a:last-child{border-right:0}.traditions-links__grid span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.traditions-links__grid h3{margin:38px 0 24px;font-family:var(--serif);font-size:27.2px;font-weight:400;line-height:1.08}.traditions-links__grid strong{margin-top:auto}
@media(max-width:900px){.traditions-manifesto__grid,.traditions-pillars__head{grid-template-columns:1fr}.traditions-pillars__grid{grid-template-columns:1fr}.traditions-links__grid{grid-template-columns:1fr}.traditions-links__grid a{min-height:180px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.traditions-links__grid a:last-child{border-bottom:0}}
@media(max-width:640px){.life-detail-hero{min-height:440px}.traditions-manifesto__art{min-height:280px}.traditions-pillar{grid-template-columns:1fr;gap:12px;min-height:0}.traditions-pillar h3{margin-top:24px}}

.events-intro__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(42px,8vw,120px);align-items:start}.events-intro h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.events-intro__grid>div:last-child{padding-left:clamp(24px,4vw,52px);border-left:2px solid var(--mustard)}.events-intro p{margin:0 0 18px;font-size:18px;line-height:1.7}.events-intro p:last-child{margin-bottom:0}
.events-mosaic__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}.events-mosaic__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.events-mosaic__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}.events-mosaic__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.event-story{min-height:320px;display:flex;flex-direction:column;padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.event-story--dark{background:var(--ink);color:var(--paper);border-color:transparent}.event-story--lavender{background:var(--lavender);border-color:transparent}.event-story--gold{background:var(--mustard);border-color:transparent}.event-story--wide{grid-column:span 2;display:grid;grid-template-columns:160px 1fr auto;gap:44px;align-items:center;min-height:240px}.event-story>span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.event-story--dark>span{color:var(--mustard)}.event-story h3{margin:50px 0 18px;font-family:var(--serif);font-size:clamp(27.2px,3.15vw,39.1px);font-weight:400;line-height:1.05}.event-story--wide h3{margin:0 0 16px}.event-story p{margin:0 0 24px;color:color-mix(in srgb,currentColor 77%,transparent);line-height:1.67}.event-story a{margin-top:auto;color:inherit;font-weight:700}.event-story--wide strong{max-width:170px;color:var(--mustard-dark);font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.1}
.events-finale__card{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,8vw,120px);align-items:center;padding:clamp(46px,7vw,88px);border-radius:var(--radius-lg);background:var(--ink);color:var(--paper)}.events-finale__card>.calligraphy-art{min-height:280px}.events-finale__card h2{margin:0 0 24px;font-size:clamp(35.7px,4.42vw,56.1px);line-height:1}.events-finale__card p{margin:0;color:color-mix(in srgb,var(--paper) 78%,transparent);font-size:18px;line-height:1.7}
@media(max-width:900px){.events-intro__grid,.events-mosaic__head,.events-finale__card{grid-template-columns:1fr}.event-story--wide{grid-template-columns:1fr;gap:20px}.events-finale__card>.calligraphy-art{min-height:220px}}
@media(max-width:640px){.events-intro__grid>div:last-child{padding-left:20px}.events-mosaic__grid{grid-template-columns:1fr}.event-story,.event-story--wide{grid-column:auto;min-height:0}.events-finale__card{padding:34px 24px}}

.camp-promise__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr);gap:clamp(42px,8vw,120px);align-items:start}.camp-promise h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.camp-promise__grid>div:last-child>p{margin:0 0 34px;font-size:18px;line-height:1.72}.camp-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-facts article{padding:24px 18px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-facts article:last-child{border-right:0}.camp-facts strong{display:block;font-family:var(--serif);font-size:34px;font-weight:400}.camp-facts span{display:block;margin-top:8px;color:var(--muted);font-size:14px;line-height:1.4}
.camp-difference__head,.camp-rules__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}.camp-difference__head h2,.camp-rules__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.camp-difference__head>p,.camp-rules__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}.camp-difference__grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-difference__grid article{display:grid;grid-template-columns:60px 1fr;gap:8px 24px;padding:32px 28px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-difference__grid article:nth-child(2n){border-right:0}.camp-difference__grid span{grid-row:1/3;color:var(--mustard-dark);font-family:var(--serif);font-size:34px}.camp-difference__grid h3{margin:0;font-family:var(--serif);font-size:27.2px;font-weight:400}.camp-difference__grid p{margin:0;color:var(--muted);line-height:1.63}
.camp-program__lead{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,120px);align-items:center;padding:clamp(46px,7vw,88px);border-radius:var(--radius-lg);background:var(--ink);color:var(--paper)}.camp-program__lead>.calligraphy-art{min-height:280px}.camp-program__lead h2{margin:0 0 24px;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.camp-program__lead p{margin:0;color:color-mix(in srgb,var(--paper) 78%,transparent);font-size:18px}.camp-program__list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-program__list article{min-height:180px;padding:28px 26px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-program__list article:nth-child(3n){border-right:0}.camp-program__list span{color:var(--mustard-dark);font-family:var(--serif);font-size:28px}.camp-program__list h3{margin:24px 0 0;font-family:var(--serif);font-size:22.1px;font-weight:400;line-height:1.12}
.camp-rules__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.camp-rules__grid article{padding:clamp(28px,3.5vw,44px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.camp-rules__grid h3{margin:0 0 18px;font-family:var(--serif);font-size:25.5px;font-weight:400;line-height:1.08}.camp-rules__grid p{margin:0;color:var(--muted);line-height:1.65}
@media(max-width:900px){.camp-promise__grid,.camp-difference__head,.camp-rules__head,.camp-program__lead{grid-template-columns:1fr}.camp-program__lead>.calligraphy-art{min-height:220px}.camp-program__list{grid-template-columns:1fr 1fr}.camp-program__list article:nth-child(3n){border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.camp-program__list article:nth-child(2n){border-right:0}.camp-rules__grid{grid-template-columns:1fr}}
@media(max-width:640px){.camp-facts,.camp-difference__grid,.camp-program__list{grid-template-columns:1fr}.camp-facts article,.camp-difference__grid article,.camp-program__list article,.camp-program__list article:nth-child(3n){border-right:0}.camp-program__lead{padding:34px 24px}.camp-difference__grid article{grid-template-columns:46px 1fr}}

.weeks-intro__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr);gap:clamp(42px,8vw,120px);align-items:start}.weeks-intro h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.weeks-intro__grid>div:last-child{padding-left:clamp(24px,4vw,52px);border-left:2px solid var(--mustard)}.weeks-intro p{margin:0 0 18px;font-size:18px;line-height:1.7}.weeks-intro p:last-child{margin-bottom:0}
.weeks-method__head,.weeks-catalog__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}.weeks-method__head h2,.weeks-catalog__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.weeks-method__head>p,.weeks-catalog__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}.weeks-method__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.weeks-method__grid article{min-height:240px;padding:30px 28px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.weeks-method__grid article:nth-child(3n){border-right:0}.weeks-method__grid span{color:var(--mustard-dark);font-family:var(--serif);font-size:30px}.weeks-method__grid h3{margin:30px 0 14px;font-family:var(--serif);font-size:25.5px;font-weight:400;line-height:1.08}.weeks-method__grid p{margin:0;color:var(--muted);line-height:1.6}
.weeks-catalog__list{display:grid;gap:14px}.weeks-catalog__list article{display:grid;grid-template-columns:74px minmax(260px,.82fr) minmax(330px,1.18fr);gap:clamp(22px,5vw,70px);align-items:start;padding:clamp(28px,4vw,42px);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-lg)}.weeks-catalog__list .weeks-catalog__memory{background:var(--ink);color:var(--paper);border-color:transparent}.weeks-catalog__number{color:var(--mustard-dark);font-family:var(--serif);font-size:40px}.weeks-catalog__memory .weeks-catalog__number{color:var(--mustard)}.weeks-catalog__list small{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.weeks-catalog__list h3{margin:8px 0 0;font-family:var(--serif);font-size:clamp(24.65px,2.55vw,32.3px);font-weight:400;line-height:1.08}.weeks-catalog__list p{margin:0;color:color-mix(in srgb,currentColor 75%,transparent);line-height:1.65}
.weeks-result__grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(350px,1.25fr);gap:clamp(42px,8vw,120px);align-items:center}.weeks-result__grid>.calligraphy-art{min-height:340px;border-radius:var(--radius-lg);background:var(--lavender)}.weeks-result__grid h2{margin:0 0 24px;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.weeks-result__grid p{margin:0 0 28px;font-size:18px;line-height:1.7}
@media(max-width:900px){.weeks-intro__grid,.weeks-method__head,.weeks-catalog__head,.weeks-result__grid{grid-template-columns:1fr}.weeks-method__grid{grid-template-columns:1fr 1fr}.weeks-method__grid article:nth-child(3n){border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.weeks-method__grid article:nth-child(2n){border-right:0}.weeks-catalog__list article{grid-template-columns:64px 1fr}.weeks-catalog__list article>p{grid-column:2}.weeks-result__grid>.calligraphy-art{min-height:250px}}
@media(max-width:640px){.weeks-intro__grid>div:last-child{padding-left:20px}.weeks-method__grid{grid-template-columns:1fr}.weeks-method__grid article,.weeks-method__grid article:nth-child(3n){min-height:0;border-right:0}.weeks-catalog__list article{grid-template-columns:1fr;gap:12px;padding:28px 22px}.weeks-catalog__list article>p{grid-column:auto}}

.olympiad-intro__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr);gap:clamp(42px,8vw,120px);align-items:start}.olympiad-intro h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.olympiad-intro__grid>div:last-child{padding-left:clamp(24px,4vw,52px);border-left:2px solid var(--mustard)}.olympiad-intro p{margin:0 0 18px;font-size:18px;line-height:1.7}.olympiad-intro p:last-child{margin-bottom:0}
.olympiad-formats__head{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:52px}.olympiad-formats__head h2{margin:0;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.olympiad-formats__head>p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}.olympiad-formats__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.olympiad-format{min-height:330px;padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.olympiad-format--dark{background:var(--ink);color:var(--paper);border-color:transparent}.olympiad-format--lavender{background:var(--lavender);border-color:transparent}.olympiad-format--gold{background:var(--mustard);border-color:transparent}.olympiad-format>span{color:var(--mustard-dark);font-family:var(--serif);font-size:36px}.olympiad-format--dark>span{color:var(--mustard)}.olympiad-format small{display:block;margin-top:38px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.olympiad-format h3{margin:10px 0 18px;font-family:var(--serif);font-size:clamp(26.35px,2.98vw,36.55px);font-weight:400;line-height:1.06}.olympiad-format p{margin:0;color:color-mix(in srgb,currentColor 77%,transparent);line-height:1.67}
.olympiad-growth__lead{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,8vw,120px);align-items:center;padding:clamp(46px,7vw,88px);border-radius:var(--radius-lg);background:var(--ink);color:var(--paper)}.olympiad-growth__lead>.calligraphy-art{min-height:270px}.olympiad-growth__lead h2{margin:0 0 24px;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.olympiad-growth__lead p{margin:0;color:color-mix(in srgb,var(--paper) 78%,transparent);font-size:18px;line-height:1.65}.olympiad-growth__steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid color-mix(in srgb,var(--ink) 17%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.olympiad-growth__steps article{padding:30px 28px;border-right:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.olympiad-growth__steps article:last-child{border-right:0}.olympiad-growth__steps span{color:var(--mustard-dark);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.olympiad-growth__steps h3{margin:28px 0 14px;font-family:var(--serif);font-size:25.5px;font-weight:400}.olympiad-growth__steps p{margin:0;color:var(--muted);line-height:1.6}
.olympiad-opportunity__grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr);gap:clamp(42px,8vw,120px);align-items:start}.olympiad-opportunity__grid h2{margin:0 0 24px;font-size:clamp(37.4px,4.59vw,57.8px);line-height:1}.olympiad-opportunity__grid>div>p{font-size:18px;line-height:1.7}.olympiad-opportunity__note{padding:clamp(30px,4vw,48px);border-radius:var(--radius-lg);background:var(--vanilla)}.olympiad-opportunity__note strong{display:block;font-family:var(--serif);font-size:clamp(27px,3vw,36px);font-weight:400;line-height:1.12}.olympiad-opportunity__note p{margin:22px 0;line-height:1.68}.olympiad-opportunity__note a{color:var(--ink);font-weight:700}
@media(max-width:900px){.olympiad-intro__grid,.olympiad-formats__head,.olympiad-growth__lead,.olympiad-opportunity__grid{grid-template-columns:1fr}.olympiad-growth__lead>.calligraphy-art{min-height:220px}.olympiad-growth__steps{grid-template-columns:1fr}.olympiad-growth__steps article{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 17%,transparent)}.olympiad-growth__steps article:last-child{border-bottom:0}}
@media(max-width:640px){.olympiad-intro__grid>div:last-child{padding-left:20px}.olympiad-formats__grid{grid-template-columns:1fr}.olympiad-format{min-height:0}.olympiad-growth__lead{padding:34px 24px}}

/* =========================================================
   INTERNAL VISUAL HERO V89
   The section starts directly below the fixed menu. Its outer
   box, container and stage share one height; artwork is fitted
   into the art column instead of being cropped by a square box.
   ========================================================= */
.visual-page-hero:not(.home-hero){
  min-height:480px;
  margin-top:var(--operational-header-height);
  padding:0;
}
html,body{overflow-x:clip}
.visual-page-hero:not(.home-hero)>.container,
.visual-page-hero:not(.home-hero) .visual-page-hero__stage{
  height:480px;
  min-height:480px;
}
.visual-page-hero:not(.home-hero) .visual-page-hero__stage{
  align-items:stretch;
  overflow:hidden;
}
.visual-page-hero:not(.home-hero) .visual-page-hero__copy,
.visual-page-hero:not(.home-hero) .visual-page-hero__art{
  height:100%;
  min-height:0;
}
.visual-page-hero:not(.home-hero) .visual-page-hero__art{
  overflow:hidden;
}
.visual-page-hero:not(.home-hero) .visual-page-hero__art .calligraphy-art.calligraphy-art--soft{
  inset:clamp(14px,2vw,26px);
  width:auto;
  height:auto;
  aspect-ratio:auto;
  transform:none;
  transform-origin:center;
}
.visual-page-hero:not(.home-hero) .visual-page-hero__art .calligraphy-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

@media(max-width:900px){
  .visual-page-hero:not(.home-hero){min-height:0}
  .visual-page-hero:not(.home-hero)>.container,
  .visual-page-hero:not(.home-hero) .visual-page-hero__stage{height:auto;min-height:0}
  .visual-page-hero:not(.home-hero) .visual-page-hero__copy{height:auto;min-height:280px}
  .visual-page-hero:not(.home-hero) .visual-page-hero__art{height:clamp(320px,52vw,460px);min-height:0}
}

@media(max-width:640px){
  .visual-page-hero:not(.home-hero) .visual-page-hero__copy{min-height:250px}
  .visual-page-hero:not(.home-hero) .visual-page-hero__art{height:clamp(270px,82vw,360px)}
  .visual-page-hero:not(.home-hero) .visual-page-hero__art .calligraphy-art.calligraphy-art--soft{inset:12px}
}

/* Online pages: one compact structure — hero, CTA, footer. */
.online-page .visual-page-hero h1{font-size:var(--type-display-page)}
.online-page .visual-page-hero__copy>p{max-width:690px}
.online-page .visual-page-hero+.cta-section{margin-top:0}

/* =========================================================
   FINAL DESIGN-SYSTEM PASS — fluid typography and card surfaces
   ========================================================= */
main h1.display{font-size:var(--type-display-page)}
main h2.display{font-size:var(--type-display-section)}
main h3.display{font-size:var(--type-display-card)}
.home-hero h1.display{font-size:var(--type-display-home)}
.visual-page-hero h1.display{font-size:var(--type-display-page)}

/* Ink remains the only approved dark card surface. Lavender cards use
   the lighter palette so their copy can stay dark and consistently legible. */
.home-life-card--events,
.home-program-card--feature,
.program-overview-card--senior,
.preschool-foundation--art,
.preschool-stage:nth-child(2) .preschool-stage__head,
.primary-principles .primary-principle--accent,
.primary-growth__path article:last-child,
.life-direction:nth-child(4),
.traditions-pillar--lavender,
.event-story--lavender,
.olympiad-format--lavender,
.age-card:nth-child(3),
.life-moment:nth-child(3),
.olympiad-column:nth-child(2),
.olympiad-card:last-child{
  border-color:transparent;
  background:var(--lavender-soft);
  color:var(--ink);
}
.home-life-card--events p,
.home-life-card--events p strong,
.home-program-card--feature p,
.program-overview-card--senior p,
.preschool-foundation--art p,
.preschool-stage:nth-child(2) .preschool-stage__head p,
.primary-principle--accent p,
.primary-growth__path article:last-child p,
.life-moment:nth-child(3) p,
.olympiad-column:nth-child(2) .rich-copy p,
.olympiad-card:last-child p{color:var(--muted)}
.home-life-card--events h3{color:var(--ink)}
.home-program-card--feature b,
.program-overview-card--senior span,
.preschool-foundation--art h3,
.primary-principle--accent h3{color:var(--ink)}
.home-program-card--feature .home-program-index,
.program-overview-card--senior small,
.preschool-stage:nth-child(2) .preschool-stage__age,
.primary-principle--accent>span,
.primary-growth__path article:last-child span{color:var(--mustard-dark)!important}
.home-life-card--events .calligraphy-art,
.home-program-card--feature .calligraphy-art,
.program-overview-card--senior .calligraphy-art,
.preschool-foundation--art .calligraphy-art{filter:none}

/* Explicit copy colours for contrasting admission cards. */
.admission-step--dark p,
.admission-step--dark li{color:rgba(255,255,255,.82)}
.admission-step--gold p,
.admission-step--gold li{color:var(--ink)}

/* The current Life section reuses an older component name; keep the section
   itself in the page flow and apply the grid only to its inner components. */
.section.life-values{display:block}

@media(max-width:640px){
  main h1.display{font-size:var(--type-display-page)}
  main h2.display{font-size:var(--type-display-section)}
}


/* =========================================================
   PHOTO LAYER — реальные фотографии в разделах сайта
   Правило DS: фото показывает жизнь, каллиграфия передаёт идею.
   Источник фото: «Архив ТГ» → happy-fam/selected_photos → webp.
   ========================================================= */

/* Hero арт-слот: фото вместо каллиграфии */
.visual-page-hero__art--photo{background:#2b2732}
.visual-page-hero__art--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* Крупные одиночные визуалы */
.about-visual--photo img,
.founder-photo--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Фото в широком блоке / паре */
.story-photo--photo img{display:block;width:100%;height:100%;min-height:248px;object-fit:cover;border-radius:var(--radius-lg)}

/* Плитка из нескольких фото */
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-4);margin:0}
.photo-gallery--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.photo-gallery--eight{grid-template-columns:repeat(4,1fr)}
.photo-gallery__item{position:relative;overflow:hidden;margin:0;aspect-ratio:4/3;border-radius:var(--radius-lg);background:var(--warm)}
.photo-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.photo-gallery__item:hover img{transform:scale(1.045)}
.photo-gallery__item--portrait{aspect-ratio:3/4}
.photo-gallery__item--square{aspect-ratio:1}
.photo-gallery__item--wide{aspect-ratio:16/9}

/* Полоса 3:2 */
.photo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-4);margin:0}
.photo-strip__item{position:relative;overflow:hidden;margin:0;aspect-ratio:3/2;border-radius:var(--radius-lg);background:var(--warm)}
.photo-strip__item img{display:block;width:100%;height:100%;object-fit:cover}

/* Одиночный акцент внутри текста */
.photo-accent{position:relative;overflow:hidden;margin:0;aspect-ratio:4/3;border-radius:var(--radius-lg);background:var(--warm)}
.photo-accent img{display:block;width:100%;height:100%;object-fit:cover}

/* Заглушка, если фото для раздела нет */
.photo-gallery__item--empty{display:grid;place-items:center;border:1px dashed var(--line-strong);background:var(--vanilla);color:var(--muted)}
.photo-gallery__item--empty i{font-size:26px;opacity:.45}

/* Заголовок над галереей */
.photo-section-head{margin-bottom:var(--space-6)}

@media(max-width:920px){
  .photo-gallery--eight{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .photo-gallery,.photo-gallery--wide,.photo-gallery--eight{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
  .photo-gallery--single{grid-template-columns:1fr}
}

/* PHOTO LAYER — контейнеры и hero-модификатор */
.visual-page-hero__art--photo .calligraphy-art{display:none}
.visual-page-hero__art--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.about-visual--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.founder-photo--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-photo--photo img{display:block;width:100%;height:100%;min-height:248px;object-fit:cover;border-radius:var(--radius-lg)}

/* Заглушка фото: самодостаточна — без Font Awesome с CDN, поэтому рисует
   собственную inline-SVG-иконку и всегда видна даже при недоступном CDN. */
.photo-gallery__item--empty{
  display:grid;
  place-items:center;
  border:2px dashed rgba(138,117,164,.55);
  background:repeating-linear-gradient(45deg,var(--vanilla),var(--vanilla) 11px,
    rgba(41,38,49,.035) 11px,rgba(41,38,49,.035) 22px);
  color:var(--lavender);
}
.photo-gallery__empty-mark{opacity:.6;display:block}

/* =========================================================
   CONTACTS — official phones and channels (2026-10-23)
   Owned by contacts.html; no other page uses these classes.
   ========================================================= */
.contact-calls{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:var(--space-4)}
.contact-call{display:flex;flex-direction:column;gap:6px;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:var(--ink);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.contact-call:hover,.contact-call:focus-visible{border-color:var(--lavender);box-shadow:0 16px 36px rgba(43,38,49,.10);transform:translateY(-2px)}
.contact-call__role{font-size:12px;font-weight:800;letter-spacing:.09em;line-height:1.4;text-transform:uppercase;color:var(--lavender-dark)}
.contact-call__note{font-size:14px;line-height:1.5;color:var(--muted)}
.contact-call__number{margin-top:2px;font-family:var(--serif);font-size:clamp(1.25rem,1.1rem + .5vw,1.55rem);font-weight:400;line-height:1.25;white-space:nowrap}
.contact-call__action{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:10px;padding:9px 16px;border-radius:var(--radius-pill);background:var(--lavender-dark);color:#fff;font-size:14px;font-weight:800;line-height:1.2;transition:background .2s ease}
.contact-call__action i{font-size:13px}
.contact-call:hover .contact-call__action,.contact-call:focus-visible .contact-call__action{background:var(--ink)}
.contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-6);margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--line)}
.contact-channels__group h3{margin-bottom:var(--space-3);font-size:1.05rem;line-height:1.3}
.contact-social--dzen svg{color:#202022}
.contact-social--rutube svg{color:#E5231B}
.contact-social--site i{color:var(--lavender-dark)}
@media(max-width:900px){.contact-channels{grid-template-columns:1fr}}
@media(max-width:420px){.contact-call__number{font-size:1.15rem}}

/* Activity cards: price and booking CTA (2026-10-23) */
.activity-catalog article{display:flex;flex-direction:column}
.activity-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.activity-card__price{font-size:15px;font-weight:700;line-height:1.35;color:var(--ink)}
.activity-card__cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 18px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s ease,color .2s ease}
.activity-card__cta:hover,.activity-card__cta:focus-visible{background:var(--mustard-dark);color:var(--paper)}
.camp-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:22px;padding:18px 22px;border-radius:var(--radius-md);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.camp-price strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400}
.camp-price span{color:var(--muted);font-size:15px;line-height:1.5}
.camp-price .btn{margin-left:auto}
@media(max-width:520px){.activity-card__meta{flex-wrap:wrap}.camp-price .btn{margin-left:0}}

/* =========================================================
   PHOTO RIBBON — живая полноэкранная фотополоса (2026-10-26)
   Внутренние страницы: над CTA/формой, вплотную к футеру.
   Высота 30% экрана, фото без зазоров, выровнены по высоте,
   бесконечная прокрутка (движок — assets/js/site.js).
   ========================================================= */
.photo-ribbon{
  position:relative;
  display:block;
  width:100%;
  height:30vh;
  height:30svh;
  min-height:180px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--warm);
  isolation:isolate;
  -webkit-tap-highlight-color:transparent;
  touch-action:pan-y;
}
.photo-ribbon__viewport{
  position:absolute;
  inset:0;
  overflow:hidden;
  clip-path:inset(0);
}
.photo-ribbon.is-armed .photo-ribbon__viewport{
  clip-path:inset(0 0 0 100%);
  transition:none;
}
.photo-ribbon.is-armed.is-revealed .photo-ribbon__viewport{
  clip-path:inset(0);
  transition:clip-path 1.15s cubic-bezier(.22,.75,.2,1);
}
.photo-ribbon__track{
  display:flex;
  align-items:stretch;
  gap:0;
  height:100%;
  margin:0;
  padding:0;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.photo-ribbon__slide{
  flex:0 0 auto;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--warm);
}
.photo-ribbon__slide img{
  display:block;
  width:auto;
  max-width:none;
  height:100%;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
}
.photo-ribbon + section{padding-top:0}
.photo-ribbon--paused .photo-ribbon__viewport{cursor:default}
@media (hover:hover) and (pointer:fine){
  .photo-ribbon__viewport{cursor:ew-resize}
}
@media (prefers-reduced-motion:reduce){
  .photo-ribbon__viewport{clip-path:none;transition:none}
}

/* ABOUT — family fade slider (no controls) + horizontal founder portrait */
.about-visual--slider{background:var(--ink)}
.about-visual__slides{position:absolute;inset:0}
.about-visual__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.3s ease,visibility 1.3s ease}
.about-visual__slide.is-active{opacity:1;visibility:visible}
.about-visual__slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.about-visual__slide--focus-right img{object-position:86% 34%}
.about-visual__slide--focus-low img{object-position:center 58%}
.about-visual__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(28,23,33,.78) 0%,rgba(28,23,33,.32) 36%,rgba(28,23,33,0) 64%)}
.about-visual--slider .about-visual__label{z-index:3}
@media(prefers-reduced-motion:reduce){.about-visual__slide{transition:none}}

.founder-photo--captioned{min-height:0;overflow:visible;margin:auto 0 0;background:none}
.founder-photo--captioned::after{display:none}
.founder-photo--captioned img{position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-lg)}
.founder-photo--captioned figcaption{position:static;margin-top:var(--space-4);color:var(--ink)}
.founder-photo--captioned figcaption strong{max-width:100%;font-size:clamp(21px,2.1vw,27px)}
.founder-photo--captioned figcaption span{max-width:none;margin-top:4px;color:var(--muted)}

/* =========================================================
   INTERNAL PAGE HERO — V4
   Calligraphy works as a drop cap: a 100px box beside the eyebrow
   (width reserved, height 0) with the image absolutely anchored to its
   bottom-left, so the eyebrow moves right but never down.
   Right: photo slider inside the art panel — 48px padding left/top/bottom,
   none on the right; controls sit on the gradient under the photo.
   ========================================================= */
.visual-page-hero:not(.home-hero){
  display:block;
  min-height:0;
  padding:0;
  background:var(--warm);
}

.visual-page-hero:not(.home-hero) > .container,
.visual-page-hero:not(.home-hero) .visual-page-hero__stage{
  height:auto;
  min-height:0;
}

.visual-page-hero:not(.home-hero) .visual-page-hero__stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,44%);
  align-items:stretch;
  gap:0;
  overflow:visible;
}

.visual-page-hero:not(.home-hero) .visual-page-hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  height:auto;
  min-width:0;
  max-width:660px;
  padding:96px clamp(24px,3vw,48px) 56px 0;
}

/* Drop-cap calligraphy: the box holds the width, the image hangs upward. */
.visual-page-hero__kicker{
  position:relative;
  padding-left:100px;
  margin-bottom:var(--space-4);
}

.visual-page-hero .visual-page-hero__mark{
  position:absolute;
  left:0;
  bottom:0;
  width:100px;
  height:0;
  margin:0;
}

.visual-page-hero .visual-page-hero__mark .calligraphy-art{
  position:absolute;
  left:0;
  bottom:0;
  top:auto;
  right:auto;
  width:100px;
  height:100px;
  aspect-ratio:auto;
  opacity:1;
  transform:none;
  filter:none;
}

.visual-page-hero .visual-page-hero__mark .calligraphy-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left bottom;
}

.visual-page-hero .visual-page-hero__note{
  position:static;
  max-width:520px;
  margin:var(--space-4) 0 0;
  padding:0 0 0 var(--space-4);
  border:0;
  border-left:2px solid var(--mustard);
  border-radius:0;
  background:none;
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(17px,1.55vw,20px);
  line-height:1.55;
  backdrop-filter:none;
}

/* --- right-hand photo panel ------------------------------------------- */
.visual-page-hero__media{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:520px;
  margin-right:calc(-1 * max(var(--gutter),(100vw - var(--container)) / 2));
  padding:48px 0 0 48px;
  background:linear-gradient(90deg,#A583CE 0%,#634583 100%);
}

.visual-page-hero:not(:has(.visual-page-hero__media)) .visual-page-hero__stage{
  grid-template-columns:minmax(0,1fr);
}

.hero-slider__window{
  position:relative;
  flex:1 1 auto;
  width:100%;
  max-width:600px;
  min-height:0;
  overflow:hidden;
  border-radius:48px 0 48px 0;
  background:#cbb8dd;
}

.hero-slider__track{
  position:absolute;
  inset:0;
  display:flex;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.hero-slider__slide{
  flex:0 0 100%;
  height:100%;
  margin:0;
}

.hero-slider__slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-slider__controls{
  display:flex;
  align-items:center;
  gap:16px;
  height:48px;
  color:#fff;
}

.hero-slider__controls button{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:18px;
  cursor:pointer;
}

.hero-slider__controls button:hover{color:#fff3c4}

.hero-slider__controls button:focus-visible{
  outline:2px solid #fff3c4;
  outline-offset:2px;
}

.hero-slider__controls [data-hero-counter]{
  font-family:var(--sans,Manrope,sans-serif);
  font-size:17px;
  font-weight:500;
  font-variant-numeric:tabular-nums;
}

@media(prefers-reduced-motion:reduce){
  .hero-slider__track{transition:none}
}

@media(max-width:1023px){
  .visual-page-hero:not(.home-hero) .visual-page-hero__stage{
    display:block;
  }

  .visual-page-hero:not(.home-hero) .visual-page-hero__copy{
    max-width:none;
    padding:64px 0 var(--space-5);
  }

  .visual-page-hero__media{
    min-height:0;
    margin-right:0;
    padding:26px 24px 0;
  }

  .hero-slider__window{
    flex:0 0 auto;
    max-width:none;
    aspect-ratio:3/2;
    border-radius:32px 0 32px 0;
  }

  .hero-slider__controls{height:56px}
}
