/* Shared visual baseline: approved TOP and privacy page, September 2026.
   Keep page content, native navigation and specialized comparison layouts. */
:root { --content-width:75rem; --ss-paper:#faf8f2; --ss-ink:#173b4b; --ss-muted:#46616b; --ss-rule:#d9dfd7; }
.site-shell { width:min(calc(100% - 80px),var(--content-width)); }
.site-header { background:#fffdfa; border-bottom-color:var(--ss-rule); }
.site-header__inner { min-height:84px; }
.site-header .site-brand { flex-basis:216px; }
.site-header .site-menu a { font-size:.94rem; }
.header-consult { border-radius:4px; }
main:is(.school-hub,.school-detail,.cost-page,.support-page,.step-page,.application-page,.company-page,.counsel-page,.short-page,.type-detail,.area-detail,.family-page) { background:var(--ss-paper); color:var(--ss-ink); --color-brand-bright:#195e73; }
main:is(.school-hub,.school-detail,.cost-page,.support-page,.step-page,.application-page,.company-page,.counsel-page,.short-page,.type-detail,.area-detail,.family-page) > section:not(:first-of-type) { padding-block:54px; }
main:is(.school-hub,.school-detail,.cost-page,.support-page,.step-page,.application-page,.company-page,.counsel-page,.short-page,.type-detail,.area-detail,.family-page) h2 { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(1.5rem,2.6vw,2.4rem); line-height:1.6; letter-spacing:.025em; }
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) { padding-block:64px 48px; min-height:0; color:var(--ss-ink); background:var(--ss-paper); border-bottom:1px solid var(--ss-rule); }
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) h1 { font:500 clamp(1.7rem,4vw,3.2rem)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.025em; margin:18px 0; white-space:normal; overflow-wrap:anywhere; }
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) h1 span { white-space:normal; }
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) h2 { font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.7; margin:16px 0; }
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) .eyebrow { color:#507469; font-size:.72rem; letter-spacing:.18em; }
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) .text-link { color:#195e73; border-bottom-color:#77988e; }
main :is(.school-hub-hero__grid,.school-detail-hero__grid,.cost-hero__grid,.support-hero__grid,.step-hero__grid,.application-hero__grid,.counsel-hero__grid,.short-hero__grid,.type-detail-hero__grid) { gap:48px; min-height:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
main :is(.school-hub-hero__grid,.cost-hero__grid,.support-hero__grid,.step-hero__grid,.application-hero__grid,.counsel-hero__grid,.short-hero__grid)>div:first-child>p:not(.eyebrow),
main .company-hero>div>p:not(.eyebrow), main .school-detail-hero__lead, main .type-detail-hero__copy>p:not(.eyebrow), main .area-detail-hero__copy>p:not(.eyebrow) { color:var(--ss-muted); font-size:1rem; line-height:1.95; }
main :is(.support-hero,.short-hero,.type-detail-hero) figure { height:360px; border-radius:6px; }
main .school-detail-hero figure img { border-radius:6px; }
main .school-detail-hero figcaption { color:var(--ss-muted); }
main .company-hero::after, main .company-hero>div>span, main .step-hero::before, main .step-hero::after,
main .area-detail-hero__number, main .type-detail-hero__copy>span, main .short-hero__grid>div>span { display:none; }
/* Dark information panels retain contrast within the warm title band. */
main .school-hub-hero__map, main .cost-hero__formula, main .step-hero__path { color:#fff; background:#173b4b; border-radius:6px; border-color:#315463; box-shadow:none; }
main .school-hub-hero__map { min-height:400px; }
main .cost-hero__formula { padding:28px; }
main .cost-hero__formula>p { font-size:3rem; color:#b9cecb; }
main .cost-hero__formula small, main .step-hero__path>p { color:#d7e3df; }
main .step-hero__path li small { color:#b9cecb; }
main .step-hero__path .eyebrow { color:#d7e3df; }
main :is(.counsel-hero,.application-hero) aside { padding:28px; color:var(--ss-ink); background:#edf2ef; border:1px solid var(--ss-rule); border-radius:6px; }
main :is(.counsel-hero,.application-hero) aside :is(p,li,small) { color:var(--ss-muted); }
main .counsel-hero aside ul { border-color:var(--ss-rule); }
main .application-hero aside span { color:#765d29; }
main .area-detail-hero, main .family-hero { max-width:1600px; margin-inline:auto; padding:0; grid-template-columns:1fr 1fr; }
main .area-detail-hero__copy, main .family-hero__copy { padding:64px 40px 48px max(40px,calc((min(100vw,1600px) - 1200px)/2)); }
main .area-detail-hero figure, main .family-hero__visual { min-height:400px; }
main .area-detail-hero figcaption { padding:5px 10px; color:#fff; background:#173b4bd9; border-radius:3px; }
main .family-hero h1 span { white-space:normal; }
.site-main h1 { font:500 clamp(1.7rem,4vw,3.2rem)/1.6 "Yu Mincho",serif; }
@media(max-width:1120px) {
 .site-header__inner { min-height:72px; }
 .site-header .site-brand { flex-basis:176px; }
}
@media(max-width:850px) {
 .site-shell { width:calc(100% - 40px); }
 main :is(.school-hub-hero__grid,.school-detail-hero__grid,.cost-hero__grid,.support-hero__grid,.step-hero__grid,.application-hero__grid,.counsel-hero__grid,.short-hero__grid,.type-detail-hero__grid,.area-detail-hero,.family-hero) { grid-template-columns:minmax(0,1fr); gap:32px; }
 main .area-detail-hero, main .family-hero { gap:0; }
 main .area-detail-hero__copy, main .family-hero__copy { padding:48px 20px 36px; }
 main .area-detail-hero figure, main .family-hero__visual { min-height:0; height:320px; }
 main :is(.support-hero,.short-hero,.type-detail-hero) figure { height:300px; }
}
@media(max-width:480px) {
main :is(.school-hub-hero,.school-detail-hero,.cost-hero,.support-hero,.step-hero,.application-hero,.company-hero,.counsel-hero,.short-hero,.type-detail-hero,.area-detail-hero,.family-hero) { padding-block:36px 30px; }
main:is(.school-hub,.school-detail,.cost-page,.support-page,.step-page,.application-page,.company-page,.counsel-page,.short-page,.type-detail,.area-detail,.family-page) > section:not(:first-of-type) { padding-block:40px; }
 main .area-detail-hero, main .family-hero { padding:0; }
 main .area-detail-hero__copy, main .family-hero__copy { padding:36px 20px 30px; }
 main :is(.counsel-hero,.application-hero) aside, main .cost-hero__formula { padding:20px; }
 main .school-hub-hero__map { min-height:360px; }
}

/* Shared actions and editorial entrances use the same navy/green palette. */
main:not(.warm-home) .button--line { background:#087e38; color:#fff; border-color:#087e38; box-shadow:none; }
main:not(.warm-home) .button { border-radius:4px; }
.article-archive>header { padding-block:64px 48px; color:#173b4b; background:#faf8f2; border-bottom:1px solid #d9dfd7; }
.article-archive>header h1 { font-size:clamp(1.7rem,4vw,3.2rem); line-height:1.6; }
@media(max-width:480px){.article-archive>header{padding-block:36px 30px;}}
main :is(.school-hub-hero__grid,.cost-hero__grid,.step-hero__grid,.counsel-hero__grid)>div:first-child>p:not(.eyebrow) { color:var(--ss-muted); }

main .school-detail-hero .school-detail-source { color:#46616b; }

/* Individual company portraits, supplied by the owner, September 2026. */
main .company-team-grid>article { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:48px; align-items:start; }
main .company-team figure { height:auto; aspect-ratio:4/3; border-radius:6px; }
main .company-team img { display:block; filter:none; }
main .company-staff-member { padding:32px 0; border-top:1px solid var(--ss-rule); }
main .company-staff-member h3 { margin:12px 0; font-size:1.8rem; }
main .company-staff-member>p:last-child { margin:0; color:var(--ss-muted); }
@media(max-width:850px) { main .company-team-grid>article { grid-template-columns:minmax(0,1fr); gap:24px; } }

/* Owner-provided Cebu staff portraits. */
main .company-local-network { grid-template-columns:minmax(0,1fr); }
main .company-local-network__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
main .company-local-person>img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; filter:none; border-radius:4px; margin-bottom:20px; }
main .company-local-person h4 { font-size:1.35rem; }
@media(max-width:600px) { main .company-local-network__grid { grid-template-columns:minmax(0,1fr); } }

/* Team locations match the Cebu staff labels. */
main .company-team-location { display:block; color:var(--color-brand-bright); font-size:.7rem; font-weight:800; letter-spacing:.12em; line-height:1.8; }
main .company-team-grid>article>div>p.company-team-roman { margin:0 0 1rem; font-size:.85rem; letter-spacing:.04em; line-height:1.6; }

/* Company locations: owner-provided photographs, 2026-09-09. */
main .company-locations { background:var(--ss-paper, #faf8f2); }
main .company-locations .company-heading { text-align:center; margin-bottom:36px; }
main .company-locations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
main .company-location { min-width:0; padding:22px; border:1px solid var(--ss-rule, #ded8cd); border-radius:4px; background:rgba(255,255,255,.35); }
main .company-location__region { margin:0 0 14px; font-size:.72rem; font-weight:600; letter-spacing:.18em; }
main .company-location figure { margin:0 0 24px; aspect-ratio:4/3; background:#efebe2; }
main .company-location img { display:block; width:100%; height:100%; object-fit:contain; }
main .company-location h3 { margin:0 0 10px; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(1.35rem,2.1vw,1.9rem); line-height:1.45; }
main .company-location__category { margin:0 0 20px; color:#77674d; font-size:.7rem; font-weight:600; letter-spacing:.16em; }
main .company-location__description { margin:0; padding-top:18px; border-top:1px solid var(--ss-rule, #ded8cd); line-height:1.9; }
main .company-location__detail { margin:16px 0 0; font-size:.85rem; line-height:1.8; }
main .company-location__address { margin-top:24px; font-size:.85rem; overflow-wrap:anywhere; }
main .company-location__address p { margin:0 0 10px; line-height:1.8; }
main .company-location__address a { display:inline-block; padding:8px 0; text-underline-offset:6px; }
main .company-locations__note { margin:24px 0 0; font-size:.75rem; color:var(--ss-muted, #697171); }
@media(max-width:680px) {
    main .company-locations-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    main .company-location { padding:18px; }
    main .company-location h3 { font-size:1.4rem; }
}

main .company-locations .company-heading .eyebrow { justify-content:center; }

/* Staff nicknames and owner-confirmed Kids House / Room responsibilities. */
main .company-local-person .company-local-nickname { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin:8px 0 18px; color:var(--ss-ink); font-size:1.2rem; font-weight:700; }
main .company-local-nickname span { font-size:.7rem; font-weight:400; color:var(--ss-muted); }
main .company-local-person .company-local-role { margin:0 0 6px; font-weight:600; line-height:1.8; overflow-wrap:anywhere; }

/* One continuous introduction; hierarchy comes from space, rules and service labels. */
main .company-local-network { gap:36px; padding:40px; border:1px solid #e4dfd3; border-radius:8px; background:linear-gradient(135deg,#f5f1e8,#faf8f2); }
main .company-local-network>div:first-child { min-width:0; }
main .company-local-network h3 { margin:12px 0 0; color:var(--ss-ink); }
main .company-local-intro { margin-top:24px; padding-left:22px; border-left:2px solid #b29b70; color:var(--ss-muted); font-size:.95rem; line-height:2; }
main .company-local-intro p { margin:0; }
main .company-local-intro strong { color:var(--ss-ink); font-weight:700; }
main .company-local-services { display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:24px 0 0; padding:0; }
main .company-local-services li { display:flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid #ddd6c7; border-radius:4px; background:#fffdfa; color:var(--ss-ink); font-size:.75rem; line-height:1.6; }
main .company-local-services li::before { content:""; flex:0 0 5px; width:5px; height:5px; border-radius:50%; background:#a58e61; }
main .company-local-network__grid { gap:22px; }
main .company-local-network__grid .company-local-person { border-color:#e4dfd3; border-radius:6px; padding:20px; background:#fffdfa; }
@media(max-width:600px) {
    main .company-local-network { padding:24px 16px; gap:28px; }
    main .company-local-intro { padding-left:14px; font-size:.9rem; line-height:1.95; }
    main .company-local-services { gap:8px; margin-top:20px; }
    main .company-local-services li { padding:7px 10px; font-size:.7rem; }
    main .company-local-network__grid .company-local-person { padding:16px; }
}

/* Company opening: clear page identity, editorial artwork and contrasting sections. */
main.company-page .company-hero--mission { padding:24px 0 0; background:#faf8f2; border-bottom:0; }
main .company-breadcrumb { display:flex; gap:12px; align-items:center; font-size:.72rem; color:var(--ss-muted); margin-bottom:36px; }
main .company-breadcrumb a { text-underline-offset:4px; }
main .company-hero__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:48px; align-items:center; padding-bottom:44px; }
main .company-hero__copy { min-width:0; }
main.company-page .company-hero--mission h1 { margin:14px 0 24px; font-size:clamp(2.6rem,5vw,4.25rem); line-height:1.2; letter-spacing:.08em; }
main .company-hero__message { margin:0 0 20px; max-width:20em; font:500 clamp(1.3rem,2.1vw,1.8rem)/1.7 "Yu Mincho","Hiragino Mincho ProN",serif; color:var(--ss-ink); text-wrap:balance; }
main .company-hero__intro { margin:0; font-size:.9rem; line-height:2; color:var(--ss-muted); }
main .company-hero__art { margin:0; position:relative; padding:10px; border:1px solid #ded6c7; background:#fffdfa; }
main .company-hero__art img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
main .company-hero__art figcaption { padding:15px 6px 6px; border-top:1px solid #e3ddcf; font-size:.62rem; letter-spacing:.18em; color:#77674d; }
main .company-section-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d8d1c2; }
main .company-section-nav a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:22px 24px; font-size:.8rem; text-decoration:none; border-right:1px solid #d8d1c2; }
main .company-section-nav a:first-child { padding-left:0; }
main .company-section-nav a:last-child { border-right:0; }
main .company-section-nav a:hover { color:#8b692e; }
main .company-section-nav span { color:#8b692e; }
main.company-page .company-pathways { padding-block:64px; background:#173b4b; color:#fffdfa; border-top:4px solid #b39a6b; border-bottom:1px solid #102e3b; }
main.company-page .company-pathways h2 { color:#fffdfa; }
main .company-pathways .eyebrow { color:#d4bf94; }
main .company-pathways .eyebrow::before { background:#d4bf94; }
main .company-pathways__intro { max-width:58rem; margin:20px 0 0; color:#d8e3e2; line-height:1.95; }
main .company-pathways__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:36px; }
main .company-pathways__grid article { position:relative; padding:28px 24px; border:1px solid #496371; border-top:2px solid #c3ac7e; border-radius:0 0 5px 5px; background:#214655; }
main .company-pathways__number { position:absolute; top:20px; right:22px; font:2rem Georgia,serif; color:#c3ac7e; }
main .company-pathways__label { margin:0 0 30px; font-size:.7rem; letter-spacing:.16em; font-weight:700; color:#d4bf94; }
main .company-pathways__grid h3 { margin:0 0 16px; font:500 1.25rem/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; color:#fffdfa; }
main .company-pathways__grid article>p:last-child { margin:0; font-size:.9rem; color:#e0e8e7; line-height:1.9; }
main #company-pathways-title,main #company-team-title,main #locations { scroll-margin-top:100px; }
@media(max-width:850px) {
    main .company-hero__layout { grid-template-columns:minmax(0,1fr); gap:28px; }
    main .company-hero__message { max-width:none; }
    main .company-hero__art { max-width:600px; width:100%; justify-self:center; }
    main .company-pathways__grid { grid-template-columns:minmax(0,1fr); gap:18px; }
    main .company-pathways__grid article { padding:24px; }
    main .company-pathways__label { margin-bottom:20px; }
}
@media(max-width:600px) {
    main .company-breadcrumb { margin-bottom:28px; }
    main .company-section-nav { grid-template-columns:minmax(0,1fr); }
    main .company-section-nav a,main .company-section-nav a:first-child { padding:15px 0; border-right:0; border-bottom:1px solid #e0d9cb; }
    main .company-section-nav a:last-child { border-bottom:0; }
    main.company-page .company-pathways { padding-block:40px; }
    main .company-hero__art { padding:6px; }
}

main .company-hero__message span { display:block; }
main.company-page .company-pathways .company-heading .company-pathways__intro { color:#d8e3e2; max-width:58rem; }

/* Company review: story placeholder, location overview and direct company access. */
main .company-section-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
main #company-information { scroll-margin-top:100px; }
main.company-page .company-stories { padding-block:56px; background:#f1eee5; border-bottom:1px solid #ded8cd; }
main .company-stories__heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
main .company-stories h2 { margin:12px 0 0; font:500 clamp(1.5rem,2.5vw,2rem)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; }
main .company-stories__status { flex-shrink:0; padding:7px 12px; border:1px solid #cbbd9f; color:#66583e; font-size:.75rem; border-radius:3px; }
main .company-story-placeholder { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); border:1px solid #d8cfbc; background:#fffdfa; }
main .company-story-placeholder__visual { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; background:#e9e2d2; color:#75613c; }
main .company-story-placeholder__visual>span { font-size:.65rem; letter-spacing:.2em; }
main .company-story-placeholder__visual svg { display:block; width:100%; max-width:240px; height:100px; }
main .company-story-placeholder__visual small { font:500 1rem/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; }
main .company-story-placeholder__copy { padding:32px; min-width:0; }
main .company-story-placeholder__copy>p { margin:0; line-height:1.9; font-size:.9rem; }
main .company-story-placeholder__copy .company-story-placeholder__note { margin-bottom:12px; font-size:.75rem; color:#75613c; }
main .company-story-steps { display:flex; flex-wrap:wrap; gap:12px 22px; padding:20px 0 0; margin:22px 0 0; list-style:none; border-top:1px solid #e5dfd2; }
main .company-story-steps li { font-size:.75rem; }
main .company-story-steps span { margin-right:8px; font-family:Georgia,serif; color:#8b692e; }
main .company-location-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0 0 32px; border:1px solid #ded8cd; background:#fffdfa; }
main .company-location-summary li { padding:22px 16px; text-align:center; border-right:1px solid #ded8cd; }
main .company-location-summary li:last-child { border-right:0; }
main .company-location-summary li>span { display:block; font-size:.8rem; }
main .company-location-summary strong { display:block; font:400 2.5rem/1.4 Georgia,serif; color:#173b4b; }
main .company-location-summary strong small { margin-left:8px; font:400 .8rem/1.5 sans-serif; }
main .company-location-summary p { margin:5px 0 0; font-size:.75rem; line-height:1.7; color:#697171; }
@media(max-width:850px) {
 main .company-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 main .company-section-nav a { padding:18px 14px; border-bottom:1px solid #d8d1c2; }
 main .company-section-nav a:first-child { padding-left:14px; }
 main .company-section-nav a:nth-child(even) { border-right:0; }
 main .company-section-nav a:nth-last-child(-n+2) { border-bottom:0; }
}
@media(max-width:600px) {
 main.company-page .company-stories { padding-block:36px; }
 main .company-stories__heading { align-items:flex-start; flex-direction:column; gap:14px; }
 main .company-story-placeholder { grid-template-columns:minmax(0,1fr); }
 main .company-story-placeholder__visual { padding:22px; }
 main .company-story-placeholder__visual svg { height:70px; }
 main .company-story-placeholder__copy { padding:22px; }
 main .company-location-summary { grid-template-columns:minmax(0,1fr); }
 main .company-location-summary li { display:grid; grid-template-columns:1fr auto; text-align:left; gap:0 16px; align-items:center; padding:16px 20px; border-right:0; border-bottom:1px solid #ded8cd; }
 main .company-location-summary li:last-child { border-bottom:0; }
 main .company-location-summary strong { grid-column:2; grid-row:1/3; font-size:2rem; }
 main .company-location-summary p { grid-column:1; }
}

/* Quiet attribution for the representative's message. */
main .company-hero__byline { display:flex; justify-content:flex-end; align-items:baseline; gap:.8rem; margin:22px 0 0; color:var(--ss-ink); font-family:inherit; font-size:.875rem; font-weight:400; line-height:1.8; letter-spacing:.04em; }
main .company-hero__byline span:first-child { color:var(--ss-muted); font-size:.75rem; }

/* Fixed-page finish 2026-09-14: scoped typography and confirmed local team. */
main.family-page .family-hero h1 {font-size:clamp(1.65rem,3.1vw,2.65rem);line-height:1.5;letter-spacing:.015em;overflow-wrap:normal;}
main.family-page .family-title-line {display:block;}
main.family-page .family-hero h1 .family-title-phrase, main.family-page .family-intro h2 .family-title-phrase {display:inline-block;white-space:nowrap;}
main.family-page .family-intro h2 {font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.65;}
main.family-page .family-intro__lead {font-size:clamp(1.05rem,1.35vw,1.25rem);font-weight:500;line-height:1.9;text-wrap:pretty;}
main .area-local-support .local-member-card figure {aspect-ratio:4/3;overflow:hidden;}
main .area-local-support .local-member-card figure img {width:100%;height:100%;object-fit:cover;}
main .area-local-support .local-member-card a {display:inline-block;margin-top:.75rem;font-size:.85rem;text-underline-offset:.25em;}

main .area-local-support__grid { align-items: start; }
main .area-local-support__heading .eyebrow { color: #dfc58e; }

/* Audience fixed pages, 2026-09-14. Scoped to the four reviewed pages. */
main.audience-refined .audience-jump { display:flex; gap:2.5rem; padding-block:1.1rem; border-bottom:1px solid var(--ss-rule); }
main.audience-refined .audience-jump a { display:flex; gap:1.4rem; align-items:center; color:var(--ss-ink); font-size:.8rem; text-decoration:none; }
main.audience-refined .audience-jump span { color:#8a6c35; }
main.audience-refined :is(section,nav)[id] { scroll-margin-top:6rem; }
main.audience-refined :is(.type-detail-message,.short-reality) h2 { font-size:clamp(1.45rem,2.15vw,2rem); text-wrap:pretty; }
main.audience-refined .type-detail-message>div>p:last-child { max-width:46rem; margin:1.4rem auto 0; line-height:2; text-align:left; }
main.audience-refined :is(.type-plan-grid,.short-duration-grid) { gap:1.2rem; background:transparent; margin-top:2rem; }
main.audience-refined :is(.type-plan-grid,.short-duration-grid) article { min-height:0; padding:1.8rem; border:1px solid var(--ss-rule); border-radius:8px; }
main.audience-refined :is(.type-plan-grid,.short-duration-grid) article>span { top:1.3rem; font-size:3rem; color:#e5e8e1; }
main.audience-refined :is(.type-plan-grid,.short-duration-grid) h3 { position:relative; margin:2.5rem 0 1rem; font-size:1.4rem; line-height:1.6; }
main.audience-refined :is(.type-plan-grid,.short-duration-grid) p { font-size:.9rem; line-height:1.95; }
main.audience-refined .audience-points { margin:1.4rem 0 0; padding:1rem 0 0; border-top:1px solid var(--ss-rule); list-style:none; }
main.audience-refined .audience-points li { position:relative; padding:.3rem 0 .3rem 1rem; font-size:.8rem; line-height:1.75; color:#4d5f63; }
main.audience-refined .audience-points li::before { content:'—'; position:absolute; left:0; color:#8a6c35; }
main.audience-refined .type-check__grid { grid-template-columns:.8fr 1.2fr; gap:3rem; }
main.audience-refined :is(.type-check,.short-schedule) .eyebrow { color:#dfc58e; }
main.audience-refined .type-check ol { background:none; gap:1.5rem 2rem; }
main.audience-refined .type-check li { padding:1.2rem 0 0; min-height:0; border-top:1px solid #627784; }
main.audience-refined .type-check li strong { margin:1rem 0 0; font-size:1rem; }
main.audience-refined .type-check li p { margin:.7rem 0 0; color:#d1dce1; font-size:.85rem; line-height:1.9; }
main.audience-refined .audience-faq { border-bottom:1px solid var(--ss-rule); }
main.audience-refined .audience-faq__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem; }
main.audience-refined .audience-faq h2 { margin:0; }
main.audience-refined .audience-faq p { color:var(--ss-muted); line-height:1.9; font-size:.9rem; }
main.audience-refined .audience-faq details { border-top:1px solid var(--ss-rule); padding:1.25rem 0; }
main.audience-refined .audience-faq details:last-child { border-bottom:1px solid var(--ss-rule); }
main.audience-refined .audience-faq summary { cursor:pointer; font-size:.95rem; line-height:1.8; font-weight:600; }
main.audience-refined .audience-faq summary::marker { color:#8a6c35; }
main.audience-refined .audience-faq details p { margin:.9rem 0 0; }
main.audience-refined :is(a,summary):focus-visible { outline:2px solid #a27d37; outline-offset:5px; }
main.audience-refined .type-detail-nav { display:flex; flex-wrap:wrap; gap:.6rem; border:0; padding-block:1.5rem; }
main.audience-refined .type-detail-nav a { padding:.7rem 1.2rem; border:1px solid var(--ss-rule); border-radius:3px; font-size:.8rem; }
main.audience-refined .type-detail-nav a[aria-current] { color:white; background:var(--ss-ink); border-color:var(--ss-ink); }
main.audience-refined .short-reality__lead { font-family:inherit; font-size:1.15rem; font-weight:500; line-height:1.9; }
@media(max-width:900px) {
 main.audience-refined :is(.type-check__grid,.audience-faq__grid) { grid-template-columns:1fr; gap:2rem; }
 main.audience-refined :is(.type-plan-grid,.short-duration-grid) { grid-template-columns:1fr; }
 main.audience-refined :is(.type-plan-grid,.short-duration-grid) h3 { margin-top:1.5rem; }
}
@media(max-width:600px) {
 main.audience-refined .audience-jump { gap:.5rem; justify-content:space-between; }
 main.audience-refined .audience-jump a { gap:.4rem; font-size:.7rem; }
 main.audience-refined .type-check ol { grid-template-columns:1fr; }
 main.audience-refined :is(.type-detail-hero,.short-hero) figure { height:auto; aspect-ratio:4/3; }
 main.audience-refined .short-schedule li { grid-template-columns:5rem 1fr; gap:.5rem; }
 main.audience-refined .short-schedule li small { grid-column:2; }
 main.audience-refined .type-detail-nav a { padding:.65rem .8rem; }
}


/* School discovery finish, 2026-09-14. Only reviewed pages. */
main.school-refined .school-discovery-nav { display:flex; flex-wrap:wrap; gap:1rem 2.5rem; padding-block:1.35rem; border-bottom:1px solid var(--ss-rule); }
main.school-refined .school-discovery-nav a { display:flex; align-items:center; gap:1.5rem; color:var(--ss-ink); font-size:.85rem; text-decoration:none; line-height:1.8; }
main.school-refined .school-discovery-nav span { color:#8a6c35; }
main.school-refined .school-discovery-nav--return { border-top:1px solid var(--ss-rule); border-bottom:0; justify-content:space-between; }
main.school-refined #area-schools, main.school-refined #school-directory { scroll-margin-top:6rem; }
main.school-refined .school-quick-link { display:flex; width:fit-content; gap:2rem; margin:1.5rem 0; color:var(--ss-ink); text-underline-offset:.4rem; }
main.school-refined .area-detail-compare li small { color:#d1dce1; line-height:1.85; font-size:.83rem; }
main.school-refined .area-detail-compare .eyebrow { color:#dfc58e; }
main.school-refined .recommendation-slots--schools { align-items:stretch; gap:1.2rem; }
main.school-refined .recommendation-school-card { display:flex; flex-direction:column; border:1px solid var(--ss-rule); border-radius:8px; overflow:hidden; background:white; }
main.school-refined .recommendation-school-card figure { margin:0; height:auto; aspect-ratio:16/10; overflow:hidden; }
main.school-refined .recommendation-school-card figure img { width:100%; height:100%; object-fit:cover; }
main.school-refined .recommendation-school-card>div { display:flex; flex:1; flex-direction:column; padding:1.5rem; }
main.school-refined .recommendation-school-card h3 { font-size:1.35rem; line-height:1.55; overflow-wrap:anywhere; }
main.school-refined .recommendation-school-card p { font-size:.85rem; line-height:1.9; }
main.school-refined .recommendation-school-card b { margin-top:auto; padding-top:1rem; }
main.school-refined .area-detail-nav { background:transparent; display:flex; flex-wrap:wrap; gap:.65rem; padding-block:1.6rem; }
main.school-refined .area-detail-nav a { flex:1 1 8rem; padding:.85rem 1rem; border:1px solid var(--ss-rule); border-radius:3px; }
main.school-refined .area-detail-nav a[aria-current] { background:var(--ss-ink); color:white; }
main.school-refined .area-detail-nav a[aria-current] small { color:#dae4e5; }
main.school-refined .school-breadcrumb { flex-wrap:wrap; line-height:1.8; }
main.school-refined .school-breadcrumb strong { overflow-wrap:anywhere; }
main.school-refined .school-detail-hero h1 { overflow-wrap:normal; word-break:normal; font-size:clamp(1.8rem,3.1vw,2.8rem); }
main.school-refined .school-detail-kicker { flex-wrap:wrap; }
main.school-refined .school-status-grid { gap:1rem; background:transparent; }
main.school-refined .school-status-grid article { border:1px solid var(--ss-rule); border-radius:6px; }
main.school-refined :is(a,input,select):focus-visible { outline:2px solid #a27d37; outline-offset:4px; }
@media(max-width:900px) {
 main.school-refined .recommendation-slots--schools { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 main.school-refined .school-discovery-nav { gap:.8rem; }
 main.school-refined .school-discovery-nav a { width:100%; justify-content:space-between; font-size:.8rem; }
 main.school-refined .recommendation-slots--schools { grid-template-columns:minmax(0,1fr); }
 main.school-refined .area-detail-compare li { grid-template-columns:2rem minmax(0,1fr); }
 main.school-refined .area-detail-compare li small { grid-column:2; }
}


/* Planning fixed pages — 2026-09-14. */
main.planning-refined .planning-jump { display:flex; flex-wrap:wrap; gap:.9rem 2rem; padding-block:1.25rem; border-bottom:1px solid var(--ss-rule); }
main.planning-refined .planning-jump a, main.planning-refined .planning-text-link { color:var(--ss-ink); font-size:.85rem; text-underline-offset:.35rem; line-height:1.8; }
main.planning-refined :is(section,nav)[id] { scroll-margin-top:6rem; }
main.planning-refined .planning-related { display:flex; flex-wrap:wrap; gap:.8rem; padding-block:1.7rem; }
main.planning-refined .planning-related a { flex:1 1 10rem; display:flex; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--ss-rule); border-radius:4px; font-size:.85rem; color:var(--ss-ink); text-decoration:none; }
main.planning-refined .planning-related a[aria-current] { background:var(--ss-ink); color:white; }
main.planning-refined :is(.cost-breakdown-grid,.support-scope-grid) { gap:1rem; background:transparent; }
main.planning-refined :is(.cost-breakdown-grid,.support-scope-grid) article { border:1px solid var(--ss-rule); border-radius:8px; }
main.planning-refined .support-scope-grid h3 { font-size:1.35rem; line-height:1.55; }
main.planning-refined .support-scope-grid p { font-size:.9rem; line-height:1.9; }
main.planning-refined .support-local-checks { background:none; gap:1rem; }
main.planning-refined .support-local-checks article { border:1px solid var(--ss-rule); border-radius:4px; }
main.planning-refined .planning-team { display:grid; grid-column:1/-1; gap:1rem; }
main.planning-refined .planning-team a { display:grid; grid-template-columns:100px 1fr; align-items:center; gap:1.2rem; text-decoration:none; color:var(--ss-ink); }
main.planning-refined .planning-team img { width:100px; height:100px; object-fit:cover; border-radius:6px; }
main.planning-refined .planning-team span { letter-spacing:normal; color:var(--ss-ink); }
main.planning-refined .planning-team strong { margin:.3rem 0; font-size:1.15rem; font-weight:500; }
main.planning-refined .planning-team small { font-size:.75rem; font-weight:500; }
main.planning-refined .planning-team em { font-size:.7rem; font-weight:400; font-style:normal; }
main.planning-refined .planning-providers { background:#f3f1e9; }
main.planning-refined :is(.planning-providers,.planning-hours) dl { margin:1.7rem 0 0; }
main.planning-refined :is(.planning-providers,.planning-hours) dl>div { display:grid; grid-template-columns:13rem 1fr; gap:1.5rem; padding:1.2rem 0; border-top:1px solid var(--ss-rule); }
main.planning-refined :is(.planning-providers,.planning-hours) dt { font-size:.9rem; font-weight:600; }
main.planning-refined :is(.planning-providers,.planning-hours) dd { margin:0; line-height:1.9; font-size:.9rem; color:var(--ss-muted); }
main.planning-refined .planning-providers a { color:var(--ss-ink); text-underline-offset:.25rem; }
main.planning-refined .planning-hours>div { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
main.planning-refined .planning-hours dl { margin:0; }
main.planning-refined .planning-hours dl>div { grid-template-columns:1fr; gap:.4rem; }
main.planning-refined .company-fee .eyebrow { color:#dfc58e; }
main.planning-refined .company-fee h2 { font-size:clamp(1.35rem,2vw,1.7rem); }
main.planning-refined .company-fee-flow i { color:#d1dce1; }
main.planning-refined .company-fee-flow b { color:#dfc58e; }
main.planning-refined .company-fee__grid { gap:3rem; }
main.planning-refined .cost-estimate .planning-text-link { display:block; width:fit-content; margin:1.5rem 0 0 auto; }
main.planning-refined .step-timeline li { border:0; border-bottom:1px solid var(--ss-rule); border-radius:0; box-shadow:none; background:transparent; margin:0; padding-block:2rem; }
main.planning-refined .step-timeline li:hover { transform:none; box-shadow:none; }
main.planning-refined .step-timeline li div { grid-template-columns:.6fr 1fr 1.8fr; gap:1.2rem; }
main.planning-refined .step-timeline li p { margin:0; font-size:.9rem; line-height:1.95; }
main.planning-refined .step-timeline h3 { line-height:1.6; }
main.planning-refined :is(a,button,input,select,textarea):focus-visible { outline:2px solid #a27d37; outline-offset:4px; }
@media(max-width:900px) {
 main.planning-refined :is(.company-fee__grid,.planning-hours>div) { grid-template-columns:1fr; gap:2rem; }
 main.planning-refined .step-timeline li div { grid-template-columns:1fr; gap:.6rem; }
 main.planning-refined .step-timeline em { grid-column:auto; }
}
@media(max-width:600px) {
 main.planning-refined .planning-jump { gap:.7rem 1rem; }
 main.planning-refined .planning-jump a { font-size:.75rem; }
 main.planning-refined :is(.planning-providers,.planning-hours) dl>div { grid-template-columns:1fr; gap:.5rem; }
 main.planning-refined .planning-related a { flex-basis:8rem; }
 main.planning-refined .company-fee-flow { grid-template-columns:1fr; }
 main.planning-refined .company-fee-flow span { padding:.8rem; }
 main.planning-refined .company-fee-flow b { grid-column:auto; }
}

main.planning-refined :is(.cost-duration,.support-local,.step-start,.planning-hours) h2 { font-size:clamp(1.4rem,2.1vw,2rem); }
