/* Shared brand finish. Existing component geometry and breakpoints stay in their templates. */
:root {
  --em-navy:#10243F; --em-sky:#78AFCF; --em-maroon:#9A344B; --em-maroon-dark:#812B40;
  --em-ivory:#F7F4EE; --em-soft-blue:#EAF0F4; --em-white:#FFFFFF; --em-text:#243247; --em-border:#D8E0E6;
  --em-muted:#526579; --em-whatsapp:#087E40;
  /* Compatibility aliases for the existing component styles. */
  --em-red:var(--em-maroon); --em-light:var(--em-ivory); --em-section-tint:var(--em-soft-blue);
}
body { background:var(--em-ivory); }
.utility-bar { background:var(--em-navy); border-bottom-color:var(--em-border); }
.site-header,.site-header.is-scrolled { background:var(--em-ivory); border-bottom-color:var(--em-border); }
.site-header.is-scrolled { box-shadow:0 6px 24px #081a2d18; }
body .em-button:not(.em-button--outline):not(.em-button--whatsapp) { background:var(--em-red); color:var(--em-white); border-color:var(--em-red); box-shadow:0 5px 14px #081a2d14; }
body .em-button:not(.em-button--outline):not(.em-button--whatsapp):hover { background:var(--em-maroon-dark); border-color:var(--em-maroon-dark); }
body .em-button--outline,body .em-button--whatsapp { background:var(--em-ivory); color:var(--em-navy); border:1px solid var(--em-border); box-shadow:0 3px 12px #081a2d0a; }
body .em-button--outline:hover,body .em-button--whatsapp:hover { background:var(--em-soft-blue); color:var(--em-navy); border-color:var(--em-navy); }
body .em-button--whatsapp .em-icon { color:var(--em-whatsapp); }
.em-button:focus-visible { outline:3px solid var(--em-maroon); outline-offset:4px; }
.hero { background:var(--em-navy); border-bottom-color:var(--em-navy); }
.hero::before { background:linear-gradient(90deg,var(--em-navy) 0%,var(--em-navy) 27%,rgb(16 36 63 / 97%) 36%,rgb(16 36 63 / 66%) 48%,transparent 70%); }
.hero h1 { color:var(--em-white); }
.hero h1 > span { color:var(--em-sky); }
.hero-description,.hero .trust-strip li { color:var(--em-soft-blue); }
.hero-copy > .em-eyebrow { color:var(--em-sky); }
.hero .trust-strip { border-color:var(--em-sky); }
.hero .trust-strip .em-icon { color:var(--em-sky); }
.hero-services li { background:var(--em-ivory); color:var(--em-navy); border-color:var(--em-border); }
.hero .availability-badge { color:var(--em-navy); }
.hero-image { object-position:60% 24%; }
.showcase-section,.testimonials-section { background:var(--em-ivory); }
.services-section { background:var(--em-soft-blue); }
.storage-section { background:var(--em-soft-blue); }
.storage-ribbon { background:linear-gradient(140deg,var(--em-navy),var(--em-navy)); border-color:var(--em-sky); box-shadow:0 12px 28px #081a2d33; }
.service-card { border-color:var(--em-border); }
.service-icon { background:var(--em-navy); color:var(--em-white); border-color:var(--em-sky); }
.why-section { background:var(--em-soft-blue); border-block:1px solid var(--em-border); }
.final-cta, .about-page .about-cta, .services-page .sp-cta, .storage-page .st-cta, .areas-page .ar-cta { background:linear-gradient(115deg,var(--em-navy),var(--em-navy)); }
.site-footer { background:linear-gradient(120deg,var(--em-navy),var(--em-navy)); color:var(--em-soft-blue); }
.footer-bottom { background:var(--em-navy); color:var(--em-soft-blue); border-color:var(--em-sky); }
.site-footer .social-links a { background:var(--em-navy); border:1px solid var(--em-sky); color:var(--em-white); }
.site-footer .social-links a:hover { background:var(--em-sky); }
.contact-rail { border-color:var(--em-border); background:var(--em-ivory); box-shadow:0 8px 28px #081a2d1a; }
.about-page .about-hero,.services-page .sp-hero,.storage-page .st-hero,.areas-page .ar-hero { background:linear-gradient(120deg,var(--em-navy),var(--em-navy)); }
:is(.about-page,.services-page,.storage-page,.areas-page) :is(.about-hero,.sp-hero,.st-hero,.ar-hero) h1 { color:var(--em-white); }
:is(.about-page,.services-page,.storage-page,.areas-page) :is(.about-hero,.sp-hero,.st-hero,.ar-hero) h1 span { color:var(--em-sky); }
.areas-page .ar-hero .ar-note { color:var(--em-soft-blue); }
.storage-page .st-hero p:not(.em-eyebrow),.services-page .sp-hero p:not(.em-eyebrow):not(.sp-badge) { color:var(--em-soft-blue); }
:is(.about-page,.services-page,.storage-page,.areas-page) :is(.about-hero,.sp-hero,.st-hero,.ar-hero) :is(.about-lead,.sp-lead,.st-lead,.ar-lead) { color:var(--em-soft-blue); }
:is(.about-page,.services-page,.storage-page,.areas-page) :is(.about-hero,.sp-hero,.st-hero,.ar-hero) .em-eyebrow { color:var(--em-sky); }
.about-page .about-storage,.services-page .sp-business,.storage-page .st-partitioned,.areas-page .ar-inter { background:var(--em-navy); }
.about-page .about-process,.services-page .sp-storage,.storage-page .st-types,.storage-page .st-duration,.storage-page .st-combinations,.areas-page .ar-types { background:var(--em-soft-blue); }
.services-page .sp-residential,.storage-page .st-household,.storage-page .st-packing,.areas-page .ar-availability { background:var(--em-ivory); }
.services-page .sp-card-icon,.storage-page .st-node,.storage-page .st-tile { background:var(--em-soft-blue); color:var(--em-navy); border-color:var(--em-border); }
/* Protect the full heads in the new photographs within the approved crops. */
.showcase-card img,.about-page .about-hero-photo img,.services-page .sp-hero-photo img { object-position:center 15%; }
.showcase-card--4 img { object-position:center top; }
@media(max-width:767px) { .hero { background:var(--em-navy); } }

/* Final official artwork is never filtered, stretched or reconstructed. */
.site-branding .custom-logo-link { display:block; position:relative; width:clamp(180px,13vw,190px); aspect-ratio:1 / .72; overflow:hidden; }
.site-branding .custom-logo { display:block; position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; max-height:none; object-fit:contain; }
.site-header .header-inner { padding-block:8px; align-items:center; }
.footer-brand .custom-logo-link { display:block; width:160px; padding:10px; border-radius:12px; background:var(--em-ivory); margin-bottom:22px; }
.footer-brand .custom-logo,.qr-logo .custom-logo { display:block; width:100%; height:auto; max-width:100%; max-height:none; object-fit:contain; }
.qr-logo .custom-logo-link { display:block; width:160px; }
.utility-bar .em-icon,.storage-ribbon .em-icon,.footer-contact .em-icon { color:var(--em-sky); }
body .mobile-actions .em-button:first-child { background:var(--em-ivory); color:var(--em-navy); border:1px solid var(--em-border); }
.site-footer a:hover { color:var(--em-sky); }
.site-footer .social-links a:hover { color:var(--em-navy); }
.process-icon,.why-grid .em-icon,.story-preview-top > .em-icon { background:var(--em-soft-blue); color:var(--em-navy); border-color:var(--em-border); }
.step-number { background:var(--em-maroon); }
.process-card { background:var(--em-white); }
.process-card:not(:last-child)::after { color:var(--em-border); }
.service-arrow { color:var(--em-navy); background:var(--em-soft-blue); border-color:var(--em-border); }
.service-card:hover .service-arrow { background:var(--em-maroon); color:var(--em-white); }
.quote-services label:has(:checked) { background:var(--em-soft-blue); }
.services-page .sp-combinations li:last-child,.storage-page .st-combinations li:last-child { background:var(--em-soft-blue); border-color:var(--em-border); }
:is(.about-page,.services-page,.storage-page,.areas-page) details[open] { background:var(--em-ivory); border-color:var(--em-border); }
:is(.about-page,.services-page,.storage-page,.areas-page) details[open] summary::after { color:var(--em-maroon); }
input,select,textarea { accent-color:var(--em-maroon); }
@media(min-width:768px) and (max-width:1199px) { .site-branding .custom-logo-link { width:clamp(140px,14vw,155px); } }
@media(max-width:767px) { .site-branding .custom-logo-link { width:clamp(125px,27vw,135px); } }
@media(min-width:768px) and (max-width:900px) { .hero-image { object-position:72% 24%; } }
