/* V13: requested text readability; existing desktop grids and headings stay in place. */
:root{--muted:#45494b}
.hero-lead{color:#45494b;font-size:17px}
.section-header>p{font-size:16px}
.services-section .service-card p,.process-step .step-content p{font-size:15px}
.project-panel p{color:#45494b;font-size:14px}
.project-panel-main p{font-size:15px}
.about-content>p:not(.section-label){font-size:16px}
.about-facts span{font-size:12px}
.contact-info>p:not(.section-label){font-size:17px}
.contact-hint p{font-size:14px}
.contact-form label:not(.consent){font-size:13px}
.contact-form input:not([type=checkbox]):not([type=file]),.contact-form select,.contact-form textarea{font-size:14px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#555b5e}
.contact-form .form-footnote{font-size:12px;color:#45494b}
.file-display{color:#45494b!important}
.upload-help{color:#45494b}
.module-tabs{display:none}

/* Only the phone layout gets horizontally browsable, shorter modules. */
@media(max-width:640px){
 .hero-lead{font-size:16px}
 .services-section,.process-section,.work-section{padding-block:42px}
 .services-section .section-header,.work-section .section-header{padding:18px;gap:12px;margin-bottom:14px}
 .process-section .section-header{gap:12px;margin-bottom:14px}
 .services-section .section-header h2,.process-section .section-header h2,.work-section .section-header h2{font-size:clamp(30px,8.2vw,34px)}
 .services-section .section-header .section-label,.process-section .section-header .section-label,.work-section .section-header .section-label{font-size:12px;margin-bottom:12px}
 .services-section .section-header>p,.process-section .section-header>p,.work-section .section-header>p{font-size:15px;line-height:1.65}
 .module-tabs:not([hidden]){position:relative;display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 0 12px;padding:3px 1px 5px;max-width:100%}
 .module-tabs::-webkit-scrollbar{display:none}
 .module-tab{flex:0 0 auto;min-height:44px;max-width:88%;padding:10px 13px;border:1px solid #b9b3b0;border-radius:3px;background:var(--paper);color:#45494b;font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}
 .module-tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}
 .module-tab:focus-visible{outline:3px solid #bd7a85;outline-offset:1px}
 .mobile-module-carousel{position:relative;display:flex;flex-direction:row;gap:12px;align-items:flex-start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#a7898e transparent;padding:0 0 9px;max-width:100%;height:var(--active-card-height,auto);box-sizing:content-box}
 .mobile-module-carousel::after{content:"";flex:0 0 calc(14% - 12px);height:1px}
 .mobile-module-carousel>.service-card,.mobile-module-carousel>.process-step,.mobile-module-carousel>.project-panel{flex:0 0 86%;width:86%;min-width:0;max-width:none;scroll-snap-align:start;scroll-snap-stop:always;height:auto;box-sizing:border-box}
 .services-grid.mobile-module-carousel>.service-card{padding:18px;min-height:0;height:var(--equal-card-height,auto)}
 .services-grid.mobile-module-carousel>.service-card:hover{transform:none}
 .services-grid.mobile-module-carousel .service-index{font-size:12px}
 .services-grid.mobile-module-carousel .service-glyph{height:38px;margin-block:6px}
 .services-grid.mobile-module-carousel .service-glyph svg{width:30px;height:30px}
 .services-grid.mobile-module-carousel h3{font-size:22px;margin-bottom:12px}
 .services-grid.mobile-module-carousel p{font-size:15px;line-height:1.65;margin-bottom:18px}
 .services-grid.mobile-module-carousel .tags span{font-size:11px}
 .process-grid.mobile-module-carousel>.process-step{display:block;min-height:0;padding:20px 18px}
 .process-grid.mobile-module-carousel>.process-arrow{display:none}
 .process-grid.mobile-module-carousel .step-content{margin:0}
 .process-grid.mobile-module-carousel h3{font-size:20px}
 .process-grid.mobile-module-carousel p{font-size:15px;line-height:1.65;margin:0}
 .process-section:has(.mobile-module-carousel) .process-actions{margin-top:16px}
 .project-placeholders.mobile-module-carousel>.project-panel{min-height:215px}
 .project-placeholders.mobile-module-carousel .project-panel-copy,.project-placeholders.mobile-module-carousel .project-panel-main .project-panel-copy{padding:20px;max-width:100%;width:100%}
 .project-placeholders.mobile-module-carousel h3,.project-placeholders.mobile-module-carousel .project-panel-main h3{font-size:23px;line-height:1.25}
 .project-placeholders.mobile-module-carousel .project-type{font-size:11px;margin-bottom:12px}
 .project-placeholders.mobile-module-carousel p,.project-placeholders.mobile-module-carousel .project-panel-main p{font-size:15px;line-height:1.65;max-width:100%;margin-bottom:32px}
 .project-placeholders.mobile-module-carousel .project-pending{font-size:10px;bottom:17px;right:18px}
 .contact-form input:not([type=checkbox]):not([type=file]),.contact-form select,.contact-form textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.mobile-module-carousel{scroll-behavior:auto}}
