/* Homepage layout and light, architectural visual language. */
.hero { position: relative; padding-top: 3.75rem; }
.hero-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: center; gap: 3.5rem; }
.hero-copy { padding-block: 1.5rem 3rem; }
.hero-copy h1 { font-size: clamp(3.5rem, 5.4vw, 5.1rem); max-width: 10.5em; line-height: 1.055; margin-bottom: 1.75rem; }
.hero-copy h1 em { color: var(--mss-gold-ink); font-weight: 400; }
.hero-description { max-width: 28rem; color: var(--mss-stone); font-size: 0.96rem; line-height: 1.85; margin-bottom: 2rem; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 0.6rem 1.2rem; padding: 0; margin: 2rem 0 0; list-style: none; max-width: 32rem; }
.hero-trust li { display: flex; align-items: center; gap: 0.4rem; font-size: 0.66rem; color: #575d61; }
.hero-trust .mss-icon { width: 0.8rem; height: 0.8rem; color: var(--mss-gold-ink); }
.hero-visual { position: relative; padding: 0 1.5rem 2rem 0.5rem; min-width: 0; transform: translate3d(var(--parallax-x, 0px), var(--parallax-y, 0px), 0); transition: transform 500ms ease-out; }
.hero-artwork { overflow: hidden; aspect-ratio: 0.87; border-radius: 45% 45% 0.4rem 0.4rem; background: #e6e0d4; position: relative; }
.hero-image { width: 100%; height: 100%; display: block; object-fit: cover; }
.hero-orbit { position: absolute; inset: -1rem 0.3rem 3.6rem -0.5rem; border: 1px solid #cab68b; border-radius: 46% 46% 0.35rem 0.35rem; transform: rotate(5deg); }
.floating-icon { display: grid; place-items: center; color: var(--mss-gold-ink); background: #f0e9db; width: 2.5rem; height: 2.5rem; border-radius: 0.3rem; }
.visual-caption { display: flex; align-items: center; justify-content: flex-end; gap: 0.7rem; position: absolute; bottom: 0; right: 1.5rem; font-size: 0.58rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--mss-stone); }
.visual-caption > span { width: 1.8rem; height: 1px; background: var(--mss-gold); }
.hero-footnote { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--mss-border); margin-top: 3.5rem; padding-block: 1.1rem; color: var(--mss-stone); font-size: 0.7rem; }
.hero-footnote a { display: flex; align-items: center; gap: 1.7rem; color: var(--mss-navy); text-decoration: none; }
.hero-footnote a span { font-size: 1.1rem; color: var(--mss-gold-ink); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 3rem; margin-bottom: 2.75rem; }
.section-heading h2 { max-width: 11em; margin-bottom: 0; }
.section-heading > p { max-width: 21rem; color: var(--mss-stone); font-size: 0.9rem; margin-bottom: 0.3rem; }
.services-section { background: var(--mss-warm-white); }
.services-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; }
.service-card { grid-column: span 2; background: var(--mss-warm-white); border: 1px solid var(--mss-border); border-radius: var(--mss-radius); padding: 2rem; display: flex; flex-direction: column; transition: transform 220ms, box-shadow 220ms, border-color 220ms; }
.service-card:nth-child(-n+2) { grid-column: span 3; background: var(--mss-ivory); }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--mss-shadow); border-color: #c5ae7f; }
.service-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.service-icon { color: var(--mss-gold-ink); }
.service-icon .mss-icon { width: 2rem; height: 2rem; }
.service-number { font: 1.5rem/1 var(--mss-font-heading); color: #a29986; }
.service-card h3 { font-size: 1.22rem; line-height: 1.35; font-weight: 500; max-width: 15em; margin-bottom: 0.75rem; letter-spacing: -0.025em; }
.service-card:nth-child(-n+2) h3 { font-size: 1.5rem; }
.service-card > p { color: var(--mss-stone); font-size: 0.86rem; max-width: 25rem; }
.service-card ul { padding: 0; margin: 0 0 1.7rem; list-style: none; font-size: 0.79rem; color: #4f555b; }
.service-card li { padding-block: 0.28rem; display: flex; align-items: center; gap: 0.65rem; }
.service-card li::before { content: ""; width: 0.25rem; height: 0.25rem; border-radius: 50%; background: var(--mss-gold); flex-shrink: 0; }
.service-card:nth-child(-n+2) ul { display: flex; flex-wrap: wrap; gap: 0 1.4rem; }
.service-card > .text-link { margin-top: auto; border-top: 1px solid var(--mss-border); padding-top: 1rem; justify-content: space-between; }
.about-grid { display: grid; grid-template-columns: 0.95fr 1fr; align-items: center; gap: 6rem; }
.about-visual { position: relative; min-height: 29rem; border-radius: var(--mss-radius); background: #e8e2d7; overflow: hidden; }
.architectural-arches { position: absolute; inset: 2rem 0 0; perspective: 600px; transform: rotate(-8deg) translateX(3rem); }
.architectural-arches > span { position: absolute; width: 65%; height: 110%; border: 1.6rem solid #f6f1e7; border-bottom: 0; border-radius: 50% 50% 0 0; box-shadow: 10px 0 18px rgb(78 65 42 / 10%), inset 10px 0 18px rgb(78 65 42 / 7%); }
.architectural-arches > span:nth-child(1) { left: -19%; top: 6%; }
.architectural-arches > span:nth-child(2) { left: 8%; top: 1%; }
.architectural-arches > span:nth-child(3) { left: 35%; top: -4%; }
.architectural-arches > span:nth-child(4) { left: 62%; top: -9%; }
.architectural-arches > i { position: absolute; width: 1px; height: 120%; background: var(--mss-gold); left: 63%; top: -15%; transform: rotate(-18deg); }
.about-visual-note { position: absolute; left: 0; bottom: 0; padding: 2rem 2.5rem; width: 80%; background: var(--mss-navy); color: var(--mss-ivory); }
.about-visual-note .eyebrow { color: var(--mss-soft-gold); font-size: 0.6rem; }
.about-visual-note p { font: 2rem/1.2 var(--mss-font-heading); letter-spacing: -0.025em; margin: 0.5rem 0 0; }
.about-visual-note em { color: var(--mss-soft-gold); }
.about-copy h2 { max-width: 11em; }
.about-description { color: var(--mss-stone); font-size: 0.91rem; line-height: 1.9; }
.about-copy .text-link { border-bottom: 1px solid var(--mss-gold); margin-top: 0.8rem; padding-bottom: 0.75rem; }
.why-section { background: var(--mss-navy); color: var(--mss-ivory); position: relative; }
.why-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 3rem; margin-bottom: 3.5rem; }
.why-heading .eyebrow { color: var(--mss-soft-gold); margin-top: 0.6rem; }
.why-heading h2 { max-width: 13em; font-size: clamp(2rem, 3.5vw, 3.2rem); margin-bottom: 0; }
.principles-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.principle { border-left: 1px solid #3d4857; padding-inline: 2rem; }
.principle:first-child { padding-left: 0; border-left: 0; }
.principle:last-child { padding-right: 0; }
.principle > .mss-icon { color: var(--mss-soft-gold); width: 1.85rem; height: 1.85rem; margin-bottom: 1.5rem; }
.principle h3 { font-size: 0.95rem; font-weight: 500; line-height: 1.5; margin-bottom: 0.8rem; }
.principle p { font-size: 0.83rem; color: #c2c6cc; margin: 0; }
.quote-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 5rem; }
.quote-copy h2 { max-width: 7em; font-size: clamp(2.5rem, 4.4vw, 4rem); }
.quote-copy > p:not(.eyebrow) { color: var(--mss-stone); font-size: 0.93rem; max-width: 23rem; }
.quote-note { display: flex; align-items: center; gap: 1rem; border-top: 1px solid var(--mss-border); padding-top: 1.8rem; margin-top: 2rem; max-width: 22rem; }
.quote-note .mss-icon { color: var(--mss-gold-ink); width: 2rem; height: 2rem; }
.quote-note p { margin: 0; font: italic 1.25rem/1.5 var(--mss-font-heading); }
.quote-panel { padding: 2.5rem; background: var(--mss-warm-white); border: 1px solid var(--mss-border); border-radius: var(--mss-radius); box-shadow: var(--mss-shadow); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.field { min-width: 0; }
.field label { display: block; font-size: 0.73rem; font-weight: 500; margin-bottom: 0.45rem; }
.field input, .field select, .field textarea { width: 100%; min-width: 0; font-size: 0.81rem; }
.field input:disabled, .field textarea:disabled { opacity: 1; color: var(--mss-stone); background: #f4f1eb; cursor: not-allowed; }
.field input::placeholder, .field textarea::placeholder { color: #75746e; opacity: 1; }
.field-wide { grid-column: 1 / -1; }
.field textarea { display: block; resize: vertical; min-height: 6.5rem; }
.form-disclosure { font-size: 0.73rem; line-height: 1.7; color: var(--mss-stone); margin-block: 1rem; }
.quote-form > .button { width: 100%; justify-content: space-between; }
.quote-form > .button:disabled { background: #46505c; color: #fff; transform: none; box-shadow: none; }
.form-availability { font-size: 0.73rem; margin: 0.75rem 0 0; color: var(--mss-stone); }
.insights-section { background: var(--mss-warm-white); border-top: 1px solid var(--mss-border); }
.insights-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.75rem; }
.insight-card { min-width: 0; }
.insight-card:only-child { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; max-width: 60rem; }
.insight-image { aspect-ratio: 1.65; border-radius: var(--mss-radius); overflow: hidden; background: #e4ddd0; }
.insight-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 400ms; }
.insight-card:hover .insight-image img { transform: scale(1.025); }
.insight-art { width: 100%; height: 100%; position: relative; overflow: hidden; background: #e7e1d5; }
.insight-art > span { position: absolute; width: 35%; height: 150%; top: 18%; left: 12%; border-radius: 50% 50% 0 0; border: 1.1rem solid #f4eee2; box-shadow: 12px 6px 30px #c2b7a3; transform: rotate(25deg); }
.insight-art > span:nth-child(2) { left: 43%; top: -15%; }
.insight-art > span:nth-child(3) { left: 74%; top: -45%; }
.insight-body { padding-block: 1.25rem 0; }
.insight-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.67rem; color: var(--mss-stone); margin-bottom: 0.9rem; }
.insight-meta > span { color: var(--mss-gold-ink); font-weight: 500; }
.insight-card h3 { font: 1.65rem/1.3 var(--mss-font-heading); letter-spacing: -0.03em; margin-bottom: 0.8rem; }
.insight-card h3 a { text-decoration: none; color: var(--mss-navy); }
.insight-body > p { font-size: 0.84rem; color: var(--mss-stone); }
.insights-empty { border-block: 1px solid var(--mss-border); padding-block: 2rem; color: var(--mss-stone); }
.final-cta { position: relative; background: #eae2d2; overflow: hidden; }
.final-cta::before, .final-cta::after { content: ""; position: absolute; width: 34rem; height: 34rem; border: 1px solid #d6c7ab; border-radius: 50%; top: -10rem; left: -22rem; pointer-events: none; }
.final-cta::after { left: auto; right: -22rem; top: 7rem; width: 38rem; height: 38rem; }
.final-cta-inner { position: relative; text-align: center; }
.final-cta h2 { max-width: 13em; margin-inline: auto; font-size: clamp(2.5rem, 4.3vw, 4rem); }
.final-cta-inner > p:not(.eyebrow) { color: #585950; font-size: 0.94rem; }
.final-cta .button-group { justify-content: center; margin-top: 2rem; }
.final-cta .contact-links { justify-content: center; margin-top: 1.75rem; }
.reveal-ready { animation: reveal-in 650ms ease-out both; }
@keyframes gentle-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes reveal-in { from { opacity: 0.3; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1200px) {
	.hero-grid { gap: 2.5rem; }
	.hero-copy h1 { font-size: 4.2rem; }
	.service-card { padding: 1.6rem; }
	.about-grid, .quote-grid { gap: 3.5rem; }
}
@media (max-width: 900px) {
	.hero { padding-top: 2rem; }
	.hero-grid { grid-template-columns: 1fr; gap: 1.75rem; }
	.hero-copy { padding-block: 1rem 0; max-width: 38rem; }
	.hero-copy h1 { font-size: clamp(3rem, 7.7vw, 4.75rem); max-width: 11em; }
	.hero-description { max-width: 32rem; }
	.hero-visual { width: min(100% - 3rem, 32rem); margin: 1rem auto 0; }
	.hero-artwork { aspect-ratio: 1.07; }
	.hero-footnote { margin-top: 2rem; }
	.section-heading { gap: 2rem; align-items: flex-start; }
	.section-heading > p { max-width: 16rem; }
	.services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.service-card, .service-card:nth-child(-n+2) { grid-column: span 1; }
	.service-card:last-child { grid-column: 1 / -1; }
	.service-card:nth-child(-n+2) ul { display: block; }
	.about-grid { gap: 2.5rem; }
	.about-visual { min-height: 27rem; }
	.about-visual-note { width: 92%; padding: 1.5rem; }
	.about-visual-note p { font-size: 1.65rem; }
	.principles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 0; }
	.principle:nth-child(3) { border-left: 0; padding-left: 0; }
	.why-heading { display: block; }
	.quote-grid { grid-template-columns: 1fr; gap: 2rem; }
	.quote-copy h2 { max-width: none; }
	.quote-copy > p:not(.eyebrow) { max-width: 35rem; }
	.quote-note { display: none; }
}
@media (max-width: 600px) {
	.hero-copy h1 { font-size: clamp(2.75rem, 10.8vw, 3.8rem); line-height: 1.08; }
	.hero-copy .eyebrow { font-size: 0.59rem; letter-spacing: 0.13em; }
	.hero-copy .eyebrow-line { width: 1.25rem; margin-right: 0.5rem; }
	.hero-description { font-size: 0.91rem; }
	.hero .button-group { gap: 0.65rem; }
	.hero .button { padding-inline: 1.1rem; gap: 0.75rem; font-size: 0.77rem; }
	.hero-trust { gap: 0.5rem 1rem; margin-top: 1.5rem; }
	.hero-trust li { font-size: 0.64rem; }
	.hero-visual { width: calc(100% - 1.25rem); padding-right: 0.75rem; margin-top: 1.4rem; }
	.hero-artwork { aspect-ratio: 0.98; }
	.hero-orbit { inset: -0.6rem 0 3.4rem 0; }
	.floating-icon { width: 2rem; height: 2rem; }
	.floating-icon .mss-icon { width: 1.15rem; }
	.visual-caption { font-size: 0.52rem; right: 0.75rem; }
	.hero-footnote { font-size: 0.62rem; }
	.hero-footnote > span { max-width: 13rem; }
	.hero-footnote a { gap: 0.65rem; flex-shrink: 0; }
	.section-heading { display: block; margin-bottom: 2rem; }
	.section-heading > p { max-width: none; margin-top: 1rem; }
	.section-heading > .text-link { margin-top: 1.25rem; }
	.services-grid { grid-template-columns: 1fr; gap: 1rem; }
	.service-card, .service-card:nth-child(-n+2), .service-card:last-child { grid-column: auto; padding: 1.6rem; }
	.service-card:nth-child(-n+2) h3 { font-size: 1.3rem; }
	.service-card-top { margin-bottom: 1.25rem; }
	.about-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.about-visual { min-height: 24rem; }
	.about-copy h2 { max-width: 12em; }
	.about-visual-note { width: 80%; }
	.why-heading { margin-bottom: 2.5rem; }
	.principles-grid { grid-template-columns: 1fr; gap: 1.5rem; }
	.principle, .principle:first-child, .principle:nth-child(3), .principle:last-child { border-left: 0; border-top: 1px solid #3d4857; padding: 1.5rem 0 0 3.25rem; position: relative; }
	.principle > .mss-icon { position: absolute; left: 0; top: 1.6rem; width: 1.6rem; height: 1.6rem; }
	.principle h3 { margin-bottom: 0.5rem; }
	.quote-panel { padding: 1.4rem; }
	.form-grid { grid-template-columns: 1fr; gap: 1rem; }
	.field input, .field select, .field textarea { font-size: 1rem; }
	.insight-card:only-child { display: block; }
	.insights-grid { gap: 2rem; }
	.insight-body { padding-top: 1rem; }
	.final-cta .button-group { gap: 0.6rem; }
	.final-cta .button { padding-inline: 1.1rem; gap: 0.8rem; font-size: 0.77rem; }
}
@media (prefers-reduced-motion: reduce) {
	.hero-visual { transform: none; }
	.reveal-ready { opacity: 1; transform: none; }
}

/* Targeted service interaction and contextual actions. */
.hero-services { margin-top: 1.5rem; }
.hero-service-track { display: flex; gap: 0.8rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 0.4rem; padding: 0.5rem 0.4rem 1rem; scrollbar-width: thin; scrollbar-color: var(--mss-soft-gold) transparent; }
.hero-service-card { display: flex; align-items: center; gap: 0.8rem; flex: 0 0 min(88%, 20rem); min-width: 0; min-height: 5.5rem; padding: 1rem; border: 1px solid var(--mss-border); border-radius: 0.4rem; background: var(--mss-warm-white); color: var(--mss-navy); text-decoration: none; scroll-snap-align: start; cursor: pointer; transition: translate 220ms, border-color 220ms, box-shadow 220ms; }
.hero-service-card strong { display: block; font-size: 0.82rem; line-height: 1.35; font-weight: 600; }
.hero-service-card small { display: block; margin-top: 0.3rem; color: var(--mss-stone); font-size: 0.7rem; line-height: 1.5; }
.hero-service-copy { flex: 1; min-width: 0; }
.hero-service-card > .mss-icon { width: 1rem; color: var(--mss-gold-ink); }
.hero-service-card:hover { color: var(--mss-navy); border-color: var(--mss-gold); }
.services-context-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2rem; padding: 1.7rem 0 0; border-top: 1px solid var(--mss-border); }
.services-context-cta p { margin: 0; font: 1.4rem/1.4 var(--mss-font-heading); }
.services-context-cta .button { flex-shrink: 0; }
@media (min-width: 1101px) {
}
@media (max-width: 1100px) {
	.hero-visual { padding-bottom: 2rem; transform: none; }
	.hero-service-card { animation: none; }
	body.has-contact-dock .site-footer { padding-bottom: 5rem; }
}
@media (max-width: 600px) {
	.hero-service-card { flex-basis: 92%; padding: 0.85rem; gap: 0.6rem; }
	.hero-service-card strong { font-size: 0.8rem; }
	.hero-service-card small { font-size: 0.7rem; }
	.services-context-cta { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	.hero-service-card { animation: none !important; transition: none; }
	.hero-service-track { scroll-behavior: auto; }
}
/* Keep the architectural outline attached to the artwork, above the mobile row. */
.hero-art-frame { position: relative; }
.hero-art-frame .hero-orbit { inset: -0.5rem -0.6rem 0.6rem -0.4rem; pointer-events: none; }


/* Five permanent editorial positions, contained by the existing hero visual. */
.hero-service-card > .mss-icon { transition: translate 220ms; }
.hero-service-card:hover > .mss-icon { translate: 3px 0; }
.hero-service-card:hover { translate: 0 -2px; box-shadow: 0 16px 36px rgb(20 34 56 / 10%); }
@media (min-width: 1101px) {
	.hero-services { margin: 0; }
	.hero-service-track { position: absolute; inset: 0 0 2rem; display: block; padding: 0; overflow: visible; }
	.hero-service-card { position: absolute; min-height: 5rem; padding: 0.9rem; gap: 0.7rem; background: rgb(252 250 246 / 96%); box-shadow: 0 12px 32px rgb(20 34 56 / 7%); animation: mss-card-float var(--float-duration) ease-in-out var(--float-delay) infinite; }
	.hero-service-card .floating-icon { width: 2.1rem; height: 2.1rem; }
	.hero-service-card strong { font-size: 0.78rem; }
	.hero-service-card:nth-child(1) { width: 15rem; top: 4%; right: 0; --float-duration: 5.8s; --float-delay: -1s; --float-distance: -5px; }
	.hero-service-card:nth-child(2) { width: 15.8rem; top: 62%; left: 0; --float-duration: 6.5s; --float-delay: -3s; --float-distance: -7px; }
	.hero-service-card:nth-child(3) { width: 18rem; top: 23%; left: 0; --float-duration: 7.2s; --float-delay: -2s; --float-distance: -6px; }
	.hero-service-card:nth-child(4) { width: 18.5rem; top: 43%; right: 0; --float-duration: 6.1s; --float-delay: -4s; --float-distance: -8px; }
	.hero-service-card:nth-child(5) { width: 17rem; top: 81%; right: 0; --float-duration: 7.8s; --float-delay: -5s; --float-distance: -9px; }
	.hero-service-card:hover, .hero-service-card:focus-visible { animation-play-state: paused; }
}
@keyframes mss-card-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(var(--float-distance)); }
}
@media (prefers-reduced-motion: reduce) {
	.hero-service-card, .hero-service-card > .mss-icon { animation: none !important; transition: none; translate: none; }
}

/* Editorial service showcase: two features, then three complementary disciplines. */
.services-section .service-card { position:relative; isolation:isolate; overflow:hidden; border-radius:.2rem; padding:2.2rem; background:linear-gradient(135deg,#fcfaf6 58%,#f2ede3); box-shadow:none; }
.services-section .service-card:nth-child(-n+2) { background:linear-gradient(120deg,#f8f4ec 30%,#eee5d5); }
.services-section .service-card:hover { transform:translateY(-3px); box-shadow:none; border-color:#b7a27b; }
.service-motif { position:absolute; z-index:-1; right:-1.3rem; top:1rem; color:#b8a98d; opacity:.18; transform:rotate(-8deg); pointer-events:none; }
.service-motif .mss-icon { width:11rem; height:11rem; stroke-width:.65; }
.service-card:nth-child(2) .service-motif { transform:rotate(10deg); right:1rem; top:1.5rem; }
.service-card:nth-child(3) .service-motif { top:2rem; right:-2rem; }
.service-card:nth-child(4) .service-motif { transform:rotate(0); top:3rem; }
.service-card:nth-child(5) .service-motif { right:-2.5rem; transform:rotate(12deg); }
.services-section .service-card-top { margin-bottom:2.8rem; }
.services-section .service-icon { background:transparent; border:1px solid #d4c6ac; border-radius:50%; width:3rem; height:3rem; }
.services-section .service-number { color:var(--mss-gold-ink); letter-spacing:.15em; font-size:.7rem; }
.services-section .service-card h3 { font:1.75rem/1.2 var(--mss-font-heading); max-width:14ch; }
.services-section .service-card:nth-child(-n+2) h3 { font-size:2.2rem; max-width:20ch; }
.services-section .service-card > p { max-width:32ch; margin-bottom:1.6rem; }
.services-section .service-card ul { display:block; border-top:1px solid #ddd2be; margin-bottom:1.8rem; padding-top:.65rem; }
.services-section .service-card li { display:block; padding:0; }
.services-section .service-card li::before { content:none; }
.services-section .service-card li a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem 0; color:var(--mss-navy); text-decoration:none; min-height:44px; border-bottom:1px solid rgb(216 204 182 / 55%); }
.services-section .service-card li a span { color:var(--mss-gold-ink); transition:transform .2s; }
.services-section .service-card li a:hover { color:var(--mss-gold-ink); }
.services-section .service-card li a:hover span { transform:translate(2px,-2px); }
.services-section .service-card li a:focus-visible { outline-offset:1px; }
.services-section .service-card > .text-link { border-top:0; padding-top:0; }
@media(max-width:600px) { .services-section .service-card { padding:1.6rem; } .services-section .service-card h3,.services-section .service-card:nth-child(-n+2) h3 { font-size:1.8rem; } .services-section .service-card-top { margin-bottom:2rem; } .service-motif .mss-icon { width:9rem; height:9rem; } }
@media(prefers-reduced-motion:reduce) { .services-section .service-card, .services-section .service-card li a span { transition:none; } }

/* Focused 1.5 refinement: aligned icon zones and restrained section contrast. */
.services-section { background:#fffdfa; }
.services-section .service-card { padding:2rem; background:#fcfaf6; border-color:#ded4c1; box-shadow:0 3px 10px rgb(20 34 56 / 2%); }
.services-section .service-card:nth-child(1) { background:#f4efe5; }
.services-section .service-card:nth-child(2) { background:#f8f4ec; }
.services-section .service-card:nth-child(4) { background:#f3efe7; }
.services-section .service-card-top { min-height:92px; align-items:flex-start; margin-bottom:24px; }
.services-section .service-icon { display:grid; place-items:center; flex:0 0 56px; width:56px; height:56px; border:1px solid #bca678; background:#fcfaf6; border-radius:50%; transition:transform 180ms; }
.services-section .service-icon .mss-icon { display:block; width:25px; height:25px; stroke-width:1.4; }
.services-section .service-number { margin-top:17px; font-size:.68rem; line-height:22px; letter-spacing:.15em; color:#8a744c; }
.services-section .service-motif, .services-section .service-card:nth-child(n) .service-motif { top:-52px; right:-28px; transform:none; opacity:.065; color:var(--mss-gold-ink); transition:opacity 220ms; }
.services-section .service-motif .mss-icon { width:192px; height:192px; stroke-width:1.1; }
.services-section .service-card h3 { min-height:2.4em; max-width:none; }
.services-section .service-card:nth-child(-n+2) h3 { min-height:1.2em; }
.services-section .service-card > p { min-height:3.4em; }
.services-section .service-card ul { min-height:calc(176px + .65rem); }
.services-section .service-card:hover { transform:translateY(-2px); border-color:#bba16e; box-shadow:0 7px 20px rgb(20 34 56 / 5%); }
.services-section .service-card:hover .service-motif { opacity:.085; }
.services-section .service-card:hover .service-icon { transform:translateY(-1px); }
.hero-quick-help { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .8rem; margin-top:.9rem; color:var(--mss-stone); font-size:.72rem; }
.hero-quick-help .contact-action { font-size:.72rem; }
.services-context-cta { padding:1.8rem 2rem; border:1px solid var(--mss-border); background:#f1ece2; gap:2rem; }
.services-context-cta > div:first-child { flex:1; }
.services-context-cta p { font-size:1.5rem; margin-bottom:.4rem; }
.services-context-cta > div > span { color:var(--mss-stone); font-size:.83rem; }
.services-contact-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.75rem 1.2rem; }
.about-section { background:#eae6dd; }
.quote-section { background:#eee5d5; border-block:1px solid #e1d5bf; }
.quote-panel { background:#fffdfa; border-radius:.3rem; box-shadow:0 10px 32px rgb(20 34 56 / 5%); border-top:3px solid #c6af7b; }
.quote-values { padding:0; margin:2rem 0 0; list-style:none; border-top:1px solid #d6c8ae; max-width:23rem; }
.quote-values li { display:flex; align-items:center; gap:.8rem; padding:.85rem 0; border-bottom:1px solid #d6c8ae; font-size:.83rem; }
.quote-values .mss-icon { color:var(--mss-gold-ink); width:1.15rem; }
.quote-panel .field input:disabled,.quote-panel .field textarea:disabled { background:#f8f6f1; cursor:default; }
.quote-direct { border-top:1px solid var(--mss-border); margin-top:1.4rem; padding-top:1rem; }
.quote-direct > p { font-size:.76rem; color:var(--mss-stone); margin:0 0 .2rem; }
.quote-direct .contact-links { gap:1.5rem; }
.insights-section { background:#fffdfa; }
.final-cta { background:var(--mss-navy); color:var(--mss-ivory); padding-block:4.5rem; }
.final-cta::before,.final-cta::after { border-color:#72664f; opacity:.35; }
.final-cta .eyebrow { color:var(--mss-soft-gold); }
.final-cta-inner > p:not(.eyebrow) { color:#c3c9d0; }
.final-cta .button-outline { color:var(--mss-ivory); border-color:#697486; }
.final-cta .button-outline:hover { background:#213149; }
.final-cta .contact-action { color:var(--mss-ivory); }
.final-cta .contact-action[data-cta="whatsapp"] > .mss-icon { color:#91c6a5; }
@media(max-width:1100px) { .services-contact-actions { justify-content:flex-start; } .services-context-cta { align-items:flex-start; flex-direction:column; gap:1rem; } }
@media(max-width:600px) {
 .services-section .service-card { padding:1.5rem; }
 .services-section .service-card-top { min-height:84px; }
 .services-section .service-icon { width:52px; height:52px; flex-basis:52px; }
 .services-section .service-icon .mss-icon { width:24px; height:24px; }
 .services-section .service-number { margin-top:15px; }
 .services-section .service-motif,.services-section .service-card:nth-child(n) .service-motif { top:-52px; }
 .services-section .service-motif .mss-icon { width:176px; height:176px; }
 .services-section .service-card h3,.services-section .service-card:nth-child(-n+2) h3,.services-section .service-card > p { min-height:0; }
 .services-section .service-card ul { min-height:0; }
 .services-context-cta { padding:1.5rem; }
 .final-cta { padding-block:3.5rem; }
}
@media(prefers-reduced-motion:reduce) { .services-section .service-icon,.services-section .service-motif { transition:none; } }

