/* Shared public-page vocabulary; homepage composition stays under home-polish. */
#main[data-route]:not([data-route=""]) h1{font-size:clamp(32px,4.1vw,56px);line-height:1.25;overflow-wrap:break-word;text-wrap:balance}
#main[data-route]:not([data-route=""]) :is(h2,h3){text-wrap:balance;overflow-wrap:break-word}
#main[data-route]:not([data-route=""]) :is(.grid,.v9-editorial,.learning-grid,.tour-hero-layout)>*{min-width:0}
#main[data-route]:not([data-route=""]) :is(.btn,.button){min-height:44px;box-sizing:border-box;white-space:normal;line-height:1.6;max-width:100%}
#main[data-route]:not([data-route=""]) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b47b48;outline-offset:4px}
#main .hero-section-links a{display:inline-flex;align-items:center;min-height:44px;border-radius:24px;line-height:1.6;padding:8px 14px;box-sizing:border-box}
#main .tour-photo{margin:0;min-width:0;border-radius:18px;overflow:hidden;background:#eee6e0;box-shadow:0 12px 36px #562d3810}
#main .tour-photo img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:1983/793}
#main .tour-photo figcaption{padding:14px 18px;font-size:13px;line-height:1.7;color:#6e5660;background:#fffaf6}
#main[data-route^="news"] .news-card-image img,#main[data-route^="news"] .news-article-hero figure img{object-fit:contain;background:#f2ece8}
#main[data-route^="news"]>.section:has(>.container>p[role=status]){min-height:min(60svh,480px)}

/* Short-screen presentations: compact spacing, not hidden content. */
@media(min-width:1101px) and (max-height:760px){
 .mass-page-mode #main[data-route]:not([data-route=""])>.page-hero{padding-block:112px 28px!important}
 .mass-page-mode #main[data-route]:not([data-route=""])>.page-hero>.container{padding-bottom:0!important}
 .mass-page-mode #main[data-route]:not([data-route=""])>.page-hero h1{font-size:clamp(30px,3.1vw,44px);line-height:1.18;margin:12px 0 14px}
 .mass-page-mode #main[data-route]:not([data-route=""])>.page-hero .container>p{font-size:15px;line-height:1.7;margin:12px 0 16px}
 .mass-page-mode #main[data-route]:not([data-route=""])>.page-hero .actions{margin-top:16px}
 .mass-page-mode #main[data-route]:not([data-route=""])>.page-hero .hero-section-links{margin-top:18px}
 .mass-page-mode #main[data-route]:not([data-route=""]) .hero-section-links .container{gap:8px}
 .mass-page-mode #main[data-route]:not([data-route=""]) .hero-section-links a{font-size:13px;min-height:40px}
 .mass-page-mode #main[data-route]:not([data-route=""]) .heading h2{font-size:28px;line-height:1.3;margin-bottom:10px}
 .mass-page-mode #main[data-route]:not([data-route=""]) .heading p{font-size:14px;line-height:1.65;margin-top:10px}
 .mass-page-mode #main[data-route]:not([data-route=""]) .grid>.reason h3{font-size:20px;line-height:1.35;margin:8px 0}
 .mass-page-mode #main[data-route]:not([data-route=""]) .grid>.reason p{font-size:14px;line-height:1.65;margin:8px 0}
 .mass-page-mode #main[data-route]:not([data-route=""]) .grid>.reason .text-link{font-size:14px;margin-top:8px}
 .mass-page-mode #main[data-route]:not([data-route=""]) .v9-editorial figure img{max-height:30svh}
 .mass-page-mode #main[data-route="abroad"] #pathways .card-image{height:90px!important;min-height:0}
 .mass-page-mode #main[data-route="abroad"] #pathways .heading{max-width:none;margin-bottom:12px}
 .mass-page-mode #main[data-route="abroad"] #pathways .card-body{padding:12px 16px}
 .mass-page-mode #main[data-route="abroad"] #pathways .card-body h3{font-size:20px;line-height:1.3;margin:0 0 6px}
 .mass-page-mode #main[data-route="abroad"] #pathways .card-body p{font-size:14px;line-height:1.55;margin:0 0 8px}
 .mass-page-mode #main[data-route="abroad"] #pathways .card-body .text-link{font-size:14px;margin-top:8px}
 .mass-page-mode #main[data-route="abroad"] #pathways>.container>.actions{margin-top:16px}
 .mass-page-mode #main[data-route="abroad"] #process-next .step-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
 .mass-page-mode #main[data-route="abroad"] #process-next .step-list h3{font-size:20px;line-height:1.4;margin-block:12px}
 .mass-page-mode #main[data-route="abroad"] #process-next .step-list p{font-size:14px;line-height:1.65}
 .mass-page-mode #main[data-route="abroad"] #process-next .source-note{margin-top:20px;padding:16px 20px;font-size:14px;line-height:1.65}
 .mass-page-mode #main[data-route="abroad"]>:is(#pathways,#process-next){padding-bottom:6px!important}
 .mass-page-mode #main[data-route="guides/family"]>#family-intro{padding-bottom:12px!important}
 .mass-page-mode #main[data-route^="program/"] #requirements .v10-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
 .mass-page-mode #main[data-route^="program/"] #requirements .v10-points li{margin:0}
 .mass-page-mode #main[data-route^="program/"] #requirements .v9-editorial-copy h3{font-size:23px;line-height:1.3;margin:0 0 16px}
 .mass-page-mode #main[data-route="guides/preparation"] #prep-check .v10-checklist{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .mass-page-mode #main[data-route="guides/preparation"] #prep-check .v10-checklist label{padding:16px;gap:10px}
 .mass-page-mode #main[data-route="guides/preparation"] #prep-check .v10-checklist small{font-size:14px;line-height:1.65;margin-top:8px}
 .mass-page-mode #main[data-route="about"] .design-network h2{font-size:28px;line-height:1.3}
 .mass-page-mode #main[data-route="about"] .design-network p{font-size:15px;line-height:1.65;margin-block:12px}
 .mass-page-mode #main[data-route="about"] .design-network dl>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding-block:8px}
 .mass-page-mode #main[data-route="about"] .design-network :is(dt,dd){font-size:14px;line-height:1.65;margin:0}
 .mass-page-mode #main[data-route="about"] .design-network img{max-height:30svh;object-fit:contain}
}

@media(max-width:760px){
 #main[data-route]:not([data-route=""]) h1{font-size:clamp(28px,8.5vw,34px);line-height:1.3;letter-spacing:-.02em}
 #main[data-route]:not([data-route=""]) .learning-section .heading h2{font-size:28px;line-height:1.4}
 #main[data-route]:not([data-route=""]) .page-hero .actions{gap:10px;margin-top:22px}
 #main[data-route]:not([data-route=""]) .page-hero .actions>a{flex:1 1 145px;justify-content:center;text-align:center}
 #main .hero-section-links .container{gap:8px}
 #main .hero-section-links a{font-size:13px;min-height:44px;max-width:100%}
 #main .learning-subnav a{min-height:44px;box-sizing:border-box}
 #main .tour-photo{width:100%;margin-top:4px}
 #main .tour-photo figcaption{padding:12px 16px}
 #main[data-route^="news"] .news-article-hero h1{font-size:clamp(28px,8vw,34px)}
 #main[data-route]:not([data-route=""]) :is(.v9-editorial,.design-network) figure img{height:auto;max-height:320px;object-fit:contain;background:#f1ebe5}
 /* Keep fixed controls in a small bottom corner, rather than over the middle of the copy. */
 #mass-pony:not([data-open=true]):not([data-placed=true]){right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:auto;top:auto}
 #mass-pony:not([data-open=true]) .pony-launch{width:64px;height:82px}
 #mass-pony:not([data-open=true]) .pony-character,
 #mass-pony:not([data-open=true]) .pony-launch img,
 #mass-pony:not([data-open=true]) .pony-launch:hover img,
 #mass-pony:not([data-open=true]) .pony-launch:focus-visible img{width:66px;height:66px}
 #mass-pony:not([data-open=true]) .pony-label{padding:2px 8px;max-width:86px}
 html .mass-scroll-control{top:auto!important;right:94px;bottom:max(16px,env(safe-area-inset-bottom));z-index:110}
 html .mass-scroll-control .mass-scroll-panel{top:auto;bottom:54px;right:-70px}
}
@media(hover:none){
 #main[data-route]:not([data-route=""]) :is(.card,.learning-card,.audit-language-card):hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 #main[data-route]:not([data-route=""]) :is(.card,.card-image img,.learning-card,.audit-language-card,.page-photo,.reason,.business-panel){transition:none!important;animation:none!important}
 #main[data-route]:not([data-route=""]) :is(.card,.learning-card,.audit-language-card,.business-panel):hover{transform:none!important}
}
