/* Final layout layer: loaded after the homepage's scoped styles. */
:root { --mobile-nav-height:72px; }
html { scroll-padding-top:96px; }
body { min-width:0; }
img { max-width:100%; }
main :is(.row > *, article, .mc-faq-question-text) { min-width:0; }
main :is(p,h2,h3,h4), .contact-list a { overflow-wrap:break-word; }
.mobile-bottom-nav,.mobile-header-enquiry { display:none; }
/* Font Awesome is used only for icons; text retains the readable brand fonts. */
:is(.mc-solution-icon,.mc-project-icon,.mc-scope-icon,.mc-engagement-icon,.mc-process-icon,.mc-faq-tab-icon) > i { display:inline-grid; place-items:center; font-size:1.75rem; }
.mc-hero-points i { flex-shrink:0; font-size:2rem; color:#8e111a; }
:is(.mc-hero-button,.mc-solution-link-arrow,.mc-project-link,.mc-project-round-arrow,.mc-scope-arrow,.mc-engagement-cta,.mc-process-learn,.mc-process-arrow,.mc-faq-tab-arrow) > i { flex-shrink:0; font-size:1.1rem; }
.floating-contact-rail .rail-action i { font-size:25px; }
#home.mc-hero,#home .mc-hero-inner { min-height:clamp(620px,78vh,760px); }
#home .mc-hero-inner { padding:140px 34px 70px; }
#home .mc-hero-title { font-size:clamp(38px,4.1vw,66px); }
#home .mc-hero-title .mc-hero-tagline { font-size:clamp(21px,2vw,32px); }
#home .mc-hero-statistics { bottom:64px; }
#home .mc-hero-scroll { bottom:24px; }
@media (min-width:1200px) and (max-width:1399px) {
 .reference-header .navbar-brand img { width:155px; }
 .reference-header .navbar-brand { margin-right:12px; }
 .reference-header .main-nav .nav-link { padding-inline:5px; }
 .reference-header .main-nav .navbar-collapse > .btn { margin-left:12px !important; padding-inline:12px; }
 #how-we-work .mc-process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 #how-we-work .mc-process-connectors,#how-we-work .mc-process-arrow,#how-we-work .mc-process-feature-shape { display:none; }
 #how-we-work .mc-process-card.is-featured { background:#fff5f4; border:1px solid #ebc6c6; border-radius:24px; }
}
@media (max-width:1199px) {
 html { scroll-padding-top:88px; }
 body { padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px)); }
 .reference-header { position:sticky; top:0; background:var(--paper,#f7f3ed); z-index:1030; }
 .reference-header .main-nav { min-height:76px; padding:12px 0 !important; }
 .reference-header .navbar-brand img { width:170px; max-width:100%; }
 .reference-header .main-nav #mainNavbar,.reference-header .main-nav #mainNavbar.show { display:none !important; }
 .mobile-header-enquiry { display:flex; align-items:center; gap:8px; color:#830d15; font-size:13px; font-weight:700; text-decoration:none; min-height:44px; padding:8px 12px; border:1px solid #ead8d0; border-radius:12px; }
 .mobile-bottom-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:fixed; inset:auto 0 0; height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px)); padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px)); background:#fffdfa; border-top:1px solid #eadfd7; box-shadow:0 -5px 24px rgba(50,25,20,.08); z-index:1040; }
 .mobile-bottom-nav > a,.mobile-more > summary { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; min-height:52px; border-radius:14px; color:#6a6665; text-decoration:none; font-size:11px; font-weight:600; line-height:1.2; cursor:pointer; }
 .mobile-bottom-nav > a > i,.mobile-more > summary > i { font-size:20px; }
 .mobile-bottom-nav > a[aria-current],.mobile-more[open] > summary { background:#f8e8e3; color:#8a1019; }
 .mobile-more > summary { list-style:none; height:100%; }
 .mobile-more > summary::-webkit-details-marker { display:none; }
 .mobile-more-panel { position:absolute; right:12px; bottom:calc(100% + 10px); left:12px; max-width:480px; margin-left:auto; max-height: min(65dvh,520px); overflow:auto; padding:12px; border:1px solid #eadfd7; border-radius:20px; background:#fffdfa; box-shadow:0 10px 40px rgba(30,15,10,.18); }
 .mobile-more-panel a { display:flex; align-items:center; gap:14px; padding:12px; min-height:46px; color:#302627; text-decoration:none; font-size:14px; border-radius:10px; }
 .mobile-more-panel a:hover { background:#f8e8e3; }
 .mobile-more-panel i { width:22px; text-align:center; color:#8a1019; }
 .mobile-bottom-nav :is(a,summary):focus-visible { outline:2px solid #8a1019; outline-offset:-2px; }
 .floating-contact-rail { bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 16px); right:12px; z-index:1035; }
 #home.mc-hero,#home .mc-hero-inner { min-height:0; }
 #home .mc-hero-inner { padding:56px 28px 40px; }
 #home .mc-hero-text { width:72%; max-width:680px; }
 #home .mc-hero-statistics { position:relative; left:auto; right:auto; bottom:auto; width:100%; max-width:none; margin-top:32px; transform:none; }
 #home .mc-hero-statistics dl { transform:none; }
 #home .mc-hero-scroll { display:none; }
 #how-we-work .mc-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 #how-we-work .mc-process-connectors,#how-we-work .mc-process-arrow,#how-we-work .mc-process-feature-shape { display:none; }
 #how-we-work .mc-process-card,#how-we-work .mc-process-card.is-featured { min-height:0; padding:28px; }
 #how-we-work .mc-process-card.is-featured { background:#fff5f4; border:1px solid #ebc6c6; border-radius:24px; }
}
@media (max-width:767px) {
 #home .mc-hero-inner { padding:36px 20px 28px; }
 #home .mc-hero-text { width:100%; }
 #home .mc-hero-photo img { object-position:70% center; }
 #home .mc-hero-shade { background:linear-gradient(90deg,rgba(247,243,237,.98),rgba(247,243,237,.89)); }
 #home .mc-hero-title { font-size:clamp(30px,7.5vw,48px); letter-spacing:-1px; margin-bottom:18px; }
 #home .mc-hero-title .mc-hero-tagline { font-size:clamp(17px,4vw,25px); letter-spacing:-.5px; }
 #home .mc-hero-eyebrow { font-size:10px; letter-spacing:.6px; margin-bottom:18px; }
 #home .mc-hero-description { font-size:14px; line-height:1.65; }
 #home .mc-hero-actions { gap:10px; margin-bottom:22px; flex-wrap:wrap; }
 #home .mc-hero-button { flex:1 1 130px; justify-content:center; padding:13px 12px; min-height:46px; font-size:12px; }
 #home .mc-hero-points { margin:0; gap:10px; }
 #home .mc-hero-points li { flex:1; flex-direction:column; align-items:flex-start; font-size:11px; gap:8px; }
 #home .mc-hero-points li+li { padding-left:10px; }
 #home .mc-hero-points i { font-size:24px; }
 #home .mc-hero-statistics { margin-top:24px; padding:18px 10px; }
 #home .mc-hero-statistics dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }
 #home .mc-hero-statistics dl > div:nth-child(3) { border-left:0; }
 #home .mc-hero-statistics dd { font-size:30px; }
 #home .mc-hero-statistics dt { font-size:11px; }
 main .section-block { padding-block:40px; }
 #services.mc-solutions,#projects.mc-projects,#mc-pmc-meaning.mc-meaning,#faq.mc-faq,#how-we-work.mc-process { padding:40px 16px; }
 main :is(.section-title,.section-title-center h2),#services h2,#projects h2,#faq h2,#how-we-work .mc-process-heading h2,#mc-pmc-meaning h2 { font-size:clamp(26px,6.7vw,36px); line-height:1.2; letter-spacing:-.8px; }
 #faq[data-enhanced="true"] .mc-faq-tabs { grid-template-columns:1fr; gap:8px; }
 #faq .mc-faq-tab { min-height:60px; font-size:13px; gap:12px; padding:10px 12px; }
 #faq .mc-faq-tab-icon { width:36px; height:36px; }
 #faq .mc-faq-tab-icon i { font-size:19px; }
 #faq .mc-faq-question-text { font-size:14px; }
 #faq .mc-faq-answer { font-size:14px; }
 .site-footer .contact-list a { overflow-wrap:anywhere; }
 .site-footer .social-row { flex-wrap:wrap; }
 .site-footer .footer-tag { font-size:12px; }
 .floating-contact-rail .rail-action { width:44px; height:44px; min-height:44px; }
 .floating-contact-rail .rail-action i { font-size:22px; }
 :is(.mc-solution-icon,.mc-scope-icon,.mc-engagement-icon) > i { font-size:24px; }
 .contact-form-section .form-control,.project-modal .form-control,.form-select { font-size:16px; }
}
@media (max-width:575px) {
 .reference-header .navbar-brand img { width:150px; }
 #how-we-work .mc-process-grid { grid-template-columns:1fr; }
 #how-we-work .mc-process-card { padding:24px; }
 .site-footer .row > .col-6 { width:100%; }
}
@media print { .mobile-bottom-nav,.mobile-header-enquiry { display:none; } body { padding-bottom:0; } }

#faq .mc-faq-symbol { display:grid; place-items:center; font-size:16px; }
#faq .mc-faq-symbol::before,#faq .mc-faq-symbol::after { display:none; }
#faq .mc-faq-symbol .fa-minus,#faq .mc-faq-question[open] .mc-faq-symbol .fa-plus { display:none; }
#faq .mc-faq-question[open] .mc-faq-symbol .fa-minus { display:block; }
