/* Public navigation audit: presentation pages, reading pages and tools have different layouts. */
#main h1,#main h2,#main h3{overflow-wrap:break-word;text-wrap:balance}
#main p,#main li,#main dd{overflow-wrap:break-word}
#main:focus:not(:focus-visible){outline:none}
#main .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
#main .actions .btn{white-space:normal;text-align:center;line-height:1.6;min-height:44px;box-sizing:border-box}
#main .heading.center{margin-inline:auto;text-align:center}
#main .heading.center p{margin-inline:auto}
#main .v9-center,#main .v10-center{text-align:center}
#main .v9-center .actions,#main .v10-center .actions{justify-content:center}
#main .v9-editorial{gap:clamp(28px,4vw,60px);align-items:center}
#main .v9-editorial figure{height:auto;min-height:0;box-shadow:none;background:#f0eae6;border-radius:16px;overflow:hidden}
#main .v9-editorial figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#f0eae6}
#main .v9-editorial figcaption{position:static;background:#f2ece7;color:#6d5961;padding:10px 16px;font-size:12px;line-height:1.7;letter-spacing:0}
#main .v9-editorial-copy{min-width:0}
#main .v9-editorial-copy h3{font-size:clamp(23px,2.25vw,30px);line-height:1.5;margin:8px 0 18px}
#main .v9-editorial-copy p{line-height:1.85;margin:12px 0}
#main .v10-points{padding:0;list-style:none;margin:0}
#main .v10-points li{margin:12px 0;line-height:1.8}
#main .v10-points strong,#main .v10-points span{display:block}
#main .v10-points strong{font-size:15px;margin-bottom:3px}
#main .v10-points span{font-size:15px;color:#66565d}
#main .v9-references{font-size:12px;line-height:1.8;margin:18px 0 0;overflow-wrap:anywhere}
#main .audit-explore{text-align:center;max-width:740px;margin-inline:auto;padding:30px;border:1px solid #e4d6dc;border-radius:18px;background:#fff}
#main .audit-explore p{max-width:620px;margin:12px auto 22px;line-height:1.85;color:#65565e}
#main .audit-explore .actions{justify-content:center}
#main .cta-band>.container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}
#main .cta-band p{margin-inline:auto}
#main .cta-band .actions{justify-content:center}
#main[data-reading="true"]>.section>.container{max-width:880px}
#main[data-reading="true"]>.section h2{font-size:clamp(25px,3vw,32px);line-height:1.5;margin:32px 0 14px}
#main[data-reading="true"]>.section h2:first-child{margin-top:0}
#main[data-reading="true"]>.section h3{margin:22px 0 10px;line-height:1.6}
#main[data-reading="true"]>.section p,#main[data-reading="true"]>.section li{font-size:16px;line-height:1.9}
#main[data-reading="true"]>.section ul{padding-left:24px}
#main[data-reading="true"]>.section li+li{margin-top:10px}
#main[data-reading="true"] .reason h3{margin-top:0}
#main[data-route="language"]>.page-hero{padding-bottom:52px}
.audit-language-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.audit-language-card{display:flex;flex-direction:column;gap:16px;border:1px solid #e2d5d9;border-radius:16px;background:white;padding:28px;color:#38232c;text-decoration:none;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s}
.audit-language-card>span{color:#936b50;font-size:13px;letter-spacing:.1em}
.audit-language-card h2{font-size:28px;line-height:1.4;margin:0}
.audit-language-card p{line-height:1.85;color:#66565d;margin:0}
.audit-language-card strong{font-size:15px;color:#742b40;margin-top:auto;min-height:44px;display:flex;align-items:center}
#main[data-route="contact"]>.section>.container,#main[data-route="contact/partnership"]>.section>.container{max-width:880px}
#main[data-route="contact"] #faq{margin-top:40px}
#main[data-route="contact"] #faq>h2{font-size:30px;margin:0 0 20px}
#main[data-route^="contact"] details{border-bottom:1px solid #e2d7db;padding:16px 0;line-height:1.85}
#main[data-route^="contact"] summary{font-size:17px;font-weight:600;min-height:44px;align-content:center;cursor:pointer}
#main[data-route^="contact"] details p{margin:12px 0 8px;color:#65565d}
#main[data-route^="contact"] .actions{margin:24px 0}
#main[data-route="contact/partnership"]>.section ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 28px;counter-reset:partner-item}
#main[data-route="contact/partnership"]>.section li{padding:20px;border:1px solid #e3d8dd;border-radius:12px;line-height:1.85;counter-increment:partner-item}
#main[data-route="contact/partnership"]>.section li:before{content:"0" counter(partner-item);display:block;color:#967357;font-size:14px;margin-bottom:8px}
/* The document already reserves 110px for the fixed header; don't count it twice. */
.mass-free-mode #main>section[id],.mass-free-mode #main [id="enquiry"],.mass-free-mode #main [id="faq"]{scroll-margin-top:2px}
.mass-free-mode #main[data-route="sitemap"]>.section{height:auto!important;min-height:0!important;padding-block:48px!important;overflow:visible}
#main[data-route="sitemap"] .v9-link-grid,#main[data-route="sitemap"] .v10-role-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#main[data-route="sitemap"] .text-link{min-height:44px;display:flex;align-items:center;line-height:1.6}
#mobile-nav{max-height:calc(100svh - 24px);overflow-y:auto;overscroll-behavior:contain}
#mobile-nav .audit-mobile-links{display:block;margin-block:24px}
#mobile-nav .audit-mobile-group{border:0;border-bottom:1px solid #ffffff36;padding:0;margin:0;background:transparent}
#mobile-nav .audit-mobile-group>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:56px;box-sizing:border-box;padding:12px 0;font-size:22px;line-height:1.5;list-style:none;cursor:pointer;color:white}
#mobile-nav .audit-mobile-group>summary::-webkit-details-marker{display:none}
#mobile-nav .audit-mobile-group>summary:after{content:"＋";color:#e2cdb7;font-size:22px;font-weight:400}
#mobile-nav .audit-mobile-group[open]>summary:after{content:"−"}
#mobile-nav .audit-mobile-sub{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 0 20px}
#mobile-nav .audit-mobile-sub>a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;border:1px solid #ffffff2b;border-radius:7px;font-size:15px;line-height:1.65;color:#fff;padding:10px 12px;margin:0;text-decoration:none;font-weight:400;white-space:normal}
#mobile-nav .audit-mobile-sub>.audit-mobile-overview{grid-column:1/-1;color:#ead0b5;background:#ffffff0b}
#mobile-nav .audit-mobile-sub>a:hover{background:#ffffff18}
@media(min-width:1101px){
 .mass-free-mode #main>.section>.container,.mass-free-mode #main>.page-hero:not(:has(>img[data-ai-scene]))>.container{width:calc(100% - 160px);max-width:1120px;margin-inline:auto}
 .mass-free-mode #main[data-reading="true"]>.section>.container,.mass-free-mode #main[data-route^="contact"]>.section>.container{max-width:880px}
 .mass-page-mode #main>[data-page-screen]:not(.hero):not(.page-hero)>.container{width:calc(100% - 160px)!important;max-width:1120px;margin-inline:auto}
 .mass-page-mode #main>.page-hero:not(:has(>img[data-ai-scene]))>.container{width:calc(100% - 160px);max-width:1120px;margin-inline:auto}
 .mass-page-mode #main>[data-page-screen] .v9-editorial figure img{max-height:360px}
}
@media(min-width:761px) and (max-height:800px){
 .mass-page-mode #main>[data-page-screen] .v9-editorial figure img{max-height:35svh}
 .mass-page-mode #main>[data-page-screen] .v9-editorial-copy h3{font-size:24px;margin:6px 0 12px}
 .mass-page-mode #main>[data-page-screen] .v10-points li{margin:8px 0}
 .mass-page-mode #main>[data-page-screen] .v9-references{margin-top:12px}
 .mass-page-mode #main>[data-page-screen] .grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
 .mass-page-mode #main>[data-page-screen] .grid>.reason{padding:18px}
 .mass-page-mode #main>[data-page-screen] .grid>.reason h3{font-size:21px;line-height:1.45;margin:10px 0}
 .mass-page-mode #main>[data-page-screen] .grid>.reason p{font-size:14px;line-height:1.75;margin:8px 0}
 .mass-page-mode #main>[data-page-screen] .feature-icon{width:38px;height:38px;margin-bottom:8px}
 .mass-page-mode #main>[data-page-screen] .feature-icon svg{width:26px;height:26px}
 .mass-page-mode #main>[data-page-screen] .design-network h2{font-size:30px;line-height:1.4}
 .mass-page-mode #main>[data-page-screen] .design-network dl{margin-block:12px}
 .mass-page-mode #main>[data-page-screen] .design-network dl>div{padding-block:8px}
 .mass-page-mode #main>[data-page-screen] .design-network img{height:32svh;object-fit:contain;background:#f1ebe5}
 .mass-page-mode #main>[data-page-screen] .v10-points li{margin-block:6px}
 .mass-page-mode #main>[data-page-screen] .v10-points span{font-size:14px;line-height:1.65}
 .mass-page-mode #main>[data-page-screen] .v10-points strong{font-size:14px;margin-bottom:2px}
 .mass-page-mode #main>[data-page-screen] .v10-points li:last-child{margin-bottom:0}
 .mass-page-mode #main>#family-check .v10-points{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}
 .mass-page-mode #main>#family-check .human-contact-note{margin-top:18px}
 .mass-page-mode #main>#why-china .reason{display:grid;grid-template-columns:38px 1fr;column-gap:14px;row-gap:6px;align-items:start}
 .mass-page-mode #main>#why-china .reason .feature-icon{grid-column:1;grid-row:1;margin:0}
 .mass-page-mode #main>#why-china .reason h3{grid-column:2;margin:4px 0;font-size:21px}
 .mass-page-mode #main>#why-china .reason p,.mass-page-mode #main>#why-china .reason .text-link{grid-column:2;margin:4px 0!important}
 .mass-page-mode #main>#projects .card-body,.mass-page-mode #main>#pathways .card-body{padding-block:10px}
}
@media(max-width:1100px){
 #main .audit-language-cards{gap:18px}
 .audit-language-card{padding:24px}
 .mass-free-mode #main>.section[data-page-screen]{padding-block:52px!important}
}
@media(max-width:760px){
 #main h1{line-height:1.35}
 #main .heading.center{text-align:left}
 #main .heading h2{font-size:29px;line-height:1.45}
 #main .heading p{font-size:16px;line-height:1.85;margin-top:14px}
 #main .v9-editorial{grid-template-columns:1fr;gap:24px}
 #main .v9-editorial-copy h3{font-size:25px}
 #main .v9-editorial-copy p,#main .reason p{font-size:16px;line-height:1.85}
 #main .v9-editorial figure img{height:auto;aspect-ratio:3/2;object-fit:contain}
 #main .v9-references{margin-top:24px}
 #main .v9-center,#main .v10-center{text-align:left}
 #main .v9-center .actions,#main .v10-center .actions{justify-content:flex-start}
 #main .audit-explore{text-align:left;padding:24px}
 #main .audit-explore .actions{justify-content:flex-start}
 #main .audit-explore p{margin-block:14px 22px}
 #main .audit-language-cards{grid-template-columns:1fr;gap:16px}
 .audit-language-card{gap:12px;padding:24px}
 .audit-language-card h2{font-size:27px}
 #main[data-route^="contact"]>.section>.container{width:calc(100% - 40px)}
 #main[data-route="contact/partnership"]>.section ul{grid-template-columns:1fr}
 #main[data-route^="contact"] .actions>*{flex:1 1 145px}
 #main[data-route="sitemap"]>.section .grid,#main[data-route="sitemap"] .v9-link-grid,#main[data-route="sitemap"] .v10-role-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #main[data-route="sitemap"] .school-tile{padding:20px 16px;min-width:0}
 #main[data-route="sitemap"] .school-tile h3{font-size:20px;margin:0 0 10px}
 #main[data-route="sitemap"] .text-link{font-size:14px}
 .mass-free-mode .footer{height:auto!important;min-height:0!important;padding-block:48px calc(64px + env(safe-area-inset-bottom))}
 .mass-free-mode .footer-grid{gap:28px 20px}
 .footer nav{font-size:14px;gap:8px}
 .footer h3{margin-bottom:16px}
 .footer-bottom{line-height:1.9;gap:14px}
 .footer-bottom span:last-child{display:flex;flex-wrap:wrap;align-items:center}
 /* Contact and service links remain in the menu/footer; no floating CTA may cover text. */
 .mobile-bottom{display:none!important}
}
@media(max-width:600px){
 #main .grid.four:has(>.reason){grid-template-columns:1fr;gap:14px}
 #main .grid>.reason{padding:22px}
 #main .reason h3{font-size:23px;line-height:1.5}
 #main .design-value-list{grid-template-columns:1fr;gap:18px}
 #main .design-value-list article{padding-top:18px}
 #main .design-value-list h3{margin-block:8px}
 #main .design-value-list p{font-size:15px;line-height:1.85}
 #main .design-history li{padding-block:20px}
 #main .design-history h3{margin-top:14px}
 #main .v10-checklist{grid-template-columns:1fr}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.audit-language-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #5a253418;border-color:#b68c9a}}
@media(prefers-reduced-motion:reduce){.audit-language-card{transition:none}}
