/* Mobile-first layout corrections — 29 Oct 2026 */
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:clip}
img,svg,video,iframe{max-width:100%;height:auto}
img{display:block}
.shell{width:min(100% - 48px,1180px);margin-inline:auto}
h1,h2,h3,p{overflow-wrap:break-word}
.site-header{z-index:999}
.nav-toggle{min-width:44px;min-height:44px;cursor:pointer;touch-action:manipulation}
#main-nav a,.button,.link-arrow{touch-action:manipulation}
.hero-grid,.intro-grid,.split-feature,.signature-grid,.contact-grid{min-width:0}
.hero-grid>* ,.intro-grid>*,.split-feature>*,.signature-grid>*,.contact-grid>*{min-width:0}
.hero-right,.hero-portrait{max-width:100%}
.hero-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;background:#F7F6F0}
.programme-card,.journal-card,.path-card{min-width:0}
.card-image img{width:100%;height:100%;object-fit:cover}
.form-card input,.form-card textarea,.form-card select{max-width:100%;min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
@media(max-width:840px){
 .shell{width:min(100% - 36px,700px)}
 .site-header .header-inner{min-height:70px;gap:10px}
 .site-header #main-nav{position:absolute;top:100%;left:0;right:0;z-index:1000;max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain;background:#F7F6F0;padding:16px 22px 26px;box-shadow:0 18px 28px #03000120}
 .site-header #main-nav:not(.is-open){display:none}
 .site-header #main-nav.is-open{display:flex;flex-direction:column;align-items:stretch}
 .site-header #main-nav a{min-height:45px;display:flex;align-items:center;font-size:15px}
 .hero-grid,.intro-grid,.split-feature,.signature-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:28px}
 .home-hero .hero-grid{min-height:0;padding-block:28px 40px}
 .hero-left{padding:20px 0 0}
 .hero-left h1{font-size:clamp(3.35rem,10.4vw,5.8rem);line-height:1.02}
 .hero-left p{font-size:16px;max-width:560px}
 .hero-right{margin-inline:auto;width:min(100%,510px);padding:0}
 .hero-portrait{height:auto!important;aspect-ratio:4/5}
 .hero-portrait img{object-fit:contain}
 .section-heading{display:flex;flex-direction:column;gap:18px}
 .path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .programme-grid,.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .form-card{width:100%;min-width:0}
 .form-card input,.form-card select,.form-card textarea{font-size:16px}
 .form-actions{display:grid;grid-template-columns:1fr;gap:12px}
 .form-actions .button{width:100%}
 .page-hero{padding-block:65px 45px}
 .page-hero h1{font-size:clamp(2.7rem,8vw,4.2rem)}
}
@media(max-width:560px){
 .shell{width:calc(100% - 32px)}
 .brand-text{font-size:11px;letter-spacing:.08em}
 .brand-text small{letter-spacing:.08em}
 .brand-mark{font-size:34px}
 .header-inner{gap:8px}
 .hero-left h1{font-size:clamp(3.1rem,12.6vw,4.5rem)}
 .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .hero-actions .button{width:100%;justify-content:center;text-align:center;white-space:normal}
 .hero-actions .underlined{text-align:center;padding:10px}
 .hero-motto{font-size:8px;line-height:2;letter-spacing:.06em}
 .hero-portrait{aspect-ratio:4/5;max-height:500px}
 .hero-stamp{max-width:52%;font-size:8px}
 .portrait-label{padding-block:16px}
 .programme-grid,.journal-grid,.path-grid,.service-grid,.four-steps,.corporate-highlights{display:grid;grid-template-columns:minmax(0,1fr)!important}
 .section,.path-section,.faq-zone{padding-block:58px!important}
 .section-heading h2,.section h2,.path-section h2{font-size:clamp(2.4rem,10vw,3.6rem)}
 .card-image{aspect-ratio:4/3}
 .card-copy,.path-card{padding:24px}
 .signature-section{padding-block:60px}
 .signature-visual img{max-height:none;height:auto;object-fit:contain}
 .mini-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .cta-panel{padding:25px 22px}
 .cta-panel .button{width:100%;text-align:center}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom,.footer-bottom div{flex-wrap:wrap;gap:12px}
 .form-card{padding:22px 16px}
 .form-card h3{font-size:27px}
 .article-body p{font-size:16px}
 .article-intro{padding-block:56px 26px}
 .article-intro h1{font-size:clamp(2.3rem,10vw,3.8rem)}
 .quote-section blockquote{font-size:clamp(1.8rem,7vw,3.2rem)}
}
@media(max-width:360px){
 .brand-text{font-size:10px}
 .brand-mark{font-size:28px}
 .hero-left h1{font-size:2.75rem}
 .shell{width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}


/* Hero portrait display: image safe, responsive and clean background */
.hero-portrait{overflow:hidden;background:#F7F6F0!important;isolation:isolate}
.hero-portrait>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:#F7F6F0!important}
@media(max-width:840px){.hero-portrait{width:100%;max-width:480px;margin-inline:auto}}
@media(max-width:560px){.hero-portrait{width:min(100%,420px);aspect-ratio:4/5;height:auto!important}.hero-portrait>img{width:100%;height:100%;object-fit:contain}}


/* Mobile 2026 stability fix — loaded after older layout sheets */
@media(max-width:840px){
 body{overflow-x:hidden!important;background:#F7F6F0!important}
 .shell{width:calc(100% - 32px)!important;max-width:700px!important;margin-inline:auto!important}
 .hero-grid,.intro-grid,.split-feature,.signature-grid,.contact-grid,.programme-detail{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
 .hero-grid{min-height:0!important;height:auto!important;padding:30px 0 38px!important}
 .hero-left,.hero-right{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;transform:none!important}
 .hero-left h1{font-size:clamp(2.9rem,10.5vw,5rem)!important;line-height:1.08!important;letter-spacing:-.045em!important}
 .hero-left p,.lead,.intro-grid p,.section p,.page-hero p{color:#38302B!important;opacity:1!important;filter:none!important}
 .hero-portrait{width:min(100%,470px)!important;aspect-ratio:4/5!important;height:auto!important;max-height:none!important;margin-inline:auto!important;overflow:hidden!important}
 .hero-portrait>img{width:100%!important;height:100%!important;aspect-ratio:4/5!important;object-fit:contain!important;opacity:1!important;filter:none!important}
 .site-header{background:#F7F6F0!important;opacity:1!important}
 .site-header #main-nav:not(.is-open){display:none!important}
 .site-header #main-nav.is-open{display:flex!important}
 .programme-grid,.journal-grid,.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .footer,.signature-section{background:#030001!important}
 .footer p,.footer a,.footer h3,.signature-section p,.signature-section h2{color:#F7F6F0!important;opacity:1!important}
 .form-card input,.form-card select,.form-card textarea{font-size:16px!important}
}
@media(max-width:600px){
 .hero-left h1{font-size:clamp(2.85rem,11.5vw,4.1rem)!important}
 .hero-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important}
 .hero-actions .button,.hero-actions .underlined{width:100%!important;text-align:center!important}
 .programme-grid,.journal-grid,.path-grid,.service-grid,.four-steps,.corporate-highlights{grid-template-columns:minmax(0,1fr)!important}
 .footer-grid{grid-template-columns:minmax(0,1fr)!important}
 .section-heading h2,.page-hero h1,.signature-section h2,.cta-panel h2{font-size:clamp(2.35rem,9.4vw,3.1rem)!important;line-height:1.12!important}
 .signature-visual img{height:auto!important;max-height:none!important;object-fit:contain!important}
}


/* Cross-page responsive image/aspect-ratio and overflow safeguards | Nov 2026 */
:root{--copper:#B87333;--ink:#030001}
html,body{max-width:100%;overflow-x:clip}
img,svg,video{max-width:100%}
.site-header .header-inner,.shell,.page-hero,.article-body,.article-intro{min-width:0}
.site-header #main-nav{max-width:100%}
.programme-card,.journal-card,.path-card,.card-copy,.article-body,.form-card{min-width:0;max-width:100%}
.card-image{aspect-ratio:5/4!important;overflow:hidden;background:#F7F6F0}
.card-image img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
.feature-art img,.signature-visual img,.programme-detail img,.intro-grid img{width:100%;height:auto;object-fit:contain;object-position:center}
.hero-portrait img{object-fit:contain!important;object-position:center bottom!important}
input,select,textarea{max-width:100%;min-width:0}
@media(max-width:840px){
 .site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:10px}
 .site-header .brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 62px)}
 .site-header .nav-toggle{flex:none;min-height:44px;min-width:44px}
 .site-header #main-nav.is-open{max-height:calc(100dvh - 70px);overflow-y:auto;padding-bottom:20px}
 .site-header #main-nav a{white-space:normal;overflow-wrap:anywhere;min-height:44px}
 .intro-grid,.split-feature,.signature-grid,.contact-grid{grid-template-columns:minmax(0,1fr)!important}
 .page-hero{padding-top:56px!important}
 .page-hero h1{font-size:clamp(2.5rem,8vw,4.2rem)!important;line-height:1.12!important;overflow-wrap:break-word}
 .programme-grid,.journal-grid,.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}
 .section-heading{align-items:flex-start}
 .form-card{padding:24px!important}
 .footer-grid{gap:25px}
}
@media(max-width:600px){
 .shell{width:calc(100% - 32px)!important}
 .programme-grid,.journal-grid,.path-grid,.service-grid,.four-steps,.corporate-highlights{grid-template-columns:minmax(0,1fr)!important}
 .card-image{aspect-ratio:4/3!important}
 .card-image img{object-fit:contain!important}
 .form-card{padding:20px 16px!important}
 .footer-grid{grid-template-columns:minmax(0,1fr)!important}
 .page-hero h1{font-size:clamp(2.35rem,10vw,3.3rem)!important}
}
@media(max-width:360px){.shell{width:calc(100% - 26px)!important}.page-hero h1{font-size:2.25rem!important}}
