/* MSC-owned estate footer. No theme or page-builder markup is required. */
.msc-estate-footer { position: relative; clear: both; overflow: hidden; width: 100%; margin: 0; background: transparent; color: #232c39; font-family: Lato, sans-serif; font-size: 17px; line-height: 1.6; }
.msc-estate-footer a { color: inherit; }
.msc-estate-footer__upper { position: relative; z-index: 2; width: min(1200px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 0; box-sizing: border-box; }
.msc-estate-footer__top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; height: 416px; min-height: 416px; gap: 2rem; }
.msc-estate-footer__top > * { min-width: 0; }
.msc-estate-footer__quick-links,
.msc-estate-footer__reviews { height: 416px; min-height: 416px; padding: 20px 20px 10px; background: #fff; border: 1px solid #e7e9ec; border-radius: 10px; box-sizing: border-box; }
.msc-estate-footer__reviews { padding: 0 8px; }
.msc-estate-footer__quick-links h4 { margin: 0 0 .8rem; color: #232c39; font-size: 17px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.msc-estate-footer__quick-links ul { margin: 0; padding: 0; list-style: none; }
.msc-estate-footer__quick-links li { margin: 0; padding: 0; }
.msc-estate-footer__quick-links a { display: block; padding: 0 0 3px; color: #777; text-decoration: none; }
.msc-estate-footer__quick-links a > span { display: block; text-transform: uppercase; }
.msc-estate-footer__quick-links small { display: block; font-size: .8em; line-height: 1.6; }
.msc-estate-footer__quick-links a:hover,
.msc-estate-footer__quick-links a:focus-visible { color: #0099ff; }
.msc-estate-footer__reviews { overflow: hidden; }
.msc-estate-footer__reviews > div { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.msc-estate-footer__reviews * { max-width: 100%; box-sizing: border-box; }
.msc-estate-footer__rya-block { display: grid; height: 416px; justify-items: center; align-content: start; text-align: center; }
.msc-estate-footer__rya { display: grid; justify-items: center; gap: .7rem; text-decoration: none; }
.msc-estate-footer__rya img { display: block; width: 190px; height: auto; }
.msc-estate-footer__rya span { font-size: 17px; }
.msc-estate-footer__climate { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .7rem; width: min(100%, 250px); margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid #dce2e8; text-align: left; text-decoration: none; }
.msc-estate-footer__climate-mark { display: block; width: 44px; height: 44px; object-fit: contain; }
.msc-estate-footer__climate strong,
.msc-estate-footer__climate small { display: block; }
.msc-estate-footer__climate strong { font-size: .88rem; line-height: 1.2; }
.msc-estate-footer__climate small { margin-top: .18rem; color: #777; font-size: .76rem; line-height: 1.38; }
.msc-estate-footer__brand-row { display: flex; height: 210px; margin-top: 24px; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; text-align: center; }
.msc-estate-footer__roundel img { display: block; width: 54px; height: 54px; object-fit: contain; }
.msc-estate-footer__crafted { display: flex; align-items: center; gap: .35rem; white-space: nowrap; }
.msc-estate-footer__crafted svg { width: 22px; height: 22px; color: #ef3e46; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.msc-estate-footer__follow { display: flex; align-items: center; gap: .65rem; white-space: nowrap; }
.msc-estate-footer__social { display: flex; align-items: center; gap: .45rem; }
.msc-estate-footer__social a { display: grid; width: 24px; height: 24px; place-items: center; text-decoration: none; }
.msc-estate-footer__social svg { display: block; width: 24px; height: 24px; fill: currentColor; }
.msc-estate-footer__partners { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
.msc-estate-footer__partners a { display: flex; align-items: center; gap: .45rem; text-decoration: none; }
.msc-estate-footer__partners span { font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.msc-estate-footer__partners strong { color: #4050fb; font-size: 1.25rem; }
.msc-estate-footer__partners .msc-estate-footer__do-mark { width: 32px; height: 32px; color: #2c67f6; fill: currentColor; }
.msc-estate-footer__sea { position: relative; z-index: 1; width: 100%; height: 180px; background: #0099ff; pointer-events: none; }
.msc-estate-footer__wave { position: absolute; width: 100%; height: 188px; bottom: 100%; left: 0; }
.msc-estate-footer .water-fill { animation: wave .9s infinite linear, fill-up 5s infinite ease-in-out alternate; }
@keyframes wave { from { x: -750px; } to { x: 0; } }
@keyframes fill-up { from { height: 0; y: 100%; } to { height: 100%; y: 0; } }
.msc-estate-footer__lower { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: flex; height: 180px; min-height: 0; padding: 24px 24px 104px; box-sizing: border-box; align-items: center; justify-content: center; color: #fff; font-size: .82rem; }
.msc-estate-footer__lower nav { display: flex; flex-wrap: wrap; gap: 0 .4rem; }
.msc-estate-footer__lower nav a:not(:last-child)::after { content: " |"; text-decoration: none; }
.msc-estate-footer__lower a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.msc-estate-footer .msc-wave-contrast { transition: color .15s ease-in-out, fill .15s ease-in-out, stroke .15s ease-in-out; }
.msc-estate-footer .msc-wave-contrast--light { color: #fff !important; text-decoration-color: currentColor !important; }
.msc-estate-footer .msc-wave-contrast--light svg,
.msc-estate-footer svg.msc-wave-contrast--light,
.msc-estate-footer .msc-wave-contrast--light svg * { color: #fff !important; fill: currentColor !important; stroke: currentColor !important; }

@media (max-width: 1024px) {
	.msc-estate-footer__upper { width: 100%; padding: 24px 16px 16px; box-sizing: border-box; }
	.msc-estate-footer__top { grid-template-columns: minmax(0, 1fr); height: auto; min-height: 0; gap: 32px; }
	.msc-estate-footer__quick-links,
	.msc-estate-footer__reviews { width: 100%; }
	.msc-estate-footer__quick-links { height: 325px; min-height: 325px; }
	.msc-estate-footer__quick-links ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 2rem; }
	.msc-estate-footer__reviews { height: 416px; min-height: 416px; }
	.msc-estate-footer__rya-block { height: 278px; min-height: 278px; align-content: center; }
	.msc-estate-footer__brand-row { height: 208px; margin-top: 24px; }
	.msc-estate-footer__partners { justify-content: center; }
	.msc-estate-footer__sea { height: 176px; background: #0099ff; }
	.msc-estate-footer__wave { height: 188px; }
	.msc-estate-footer__lower { height: 176px; padding: 24px 16px 104px; }
}

@media (max-width: 680px) {
	.msc-estate-footer__upper { width: 100%; }
	.msc-estate-footer__quick-links { height: auto; min-height: 325px; }
	.msc-estate-footer__quick-links ul { grid-template-columns: minmax(0, 1fr); }
	.msc-estate-footer__partners { flex-wrap: wrap; }
	.msc-estate-footer__lower { align-items: center; flex-direction: column; text-align: center; }
	.msc-estate-footer__lower nav { justify-content: center; }
}

.msc-climate-modal[hidden] { display: none !important; }
.msc-climate-modal:not([hidden]) { position: fixed; z-index: 2147483200; inset: 0; display: grid; place-items: center; padding: 18px; }
.msc-climate-modal__header { display: flex; align-items: center; gap: 16px; padding: 22px 24px; }
.msc-climate-modal__header img { display: block; width: 58px; height: 58px; flex: 0 0 58px; }
.msc-climate-modal__header p { margin: 0 0 3px; color: #0099ff; font-size: .78rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.msc-climate-modal__header h2 { margin: 0; color: #173142; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.16; }
.msc-climate-modal__body { padding: 24px; }
.msc-climate-modal__lead { margin: 0 0 20px; color: #173142; font-size: 1.08rem; line-height: 1.55; }
.msc-climate-modal__facts { display: grid; gap: 10px; }
.msc-climate-modal__facts article { display: grid; gap: 2px; padding: 14px 16px; border: 1px solid #dce8f0; border-radius: 12px; background: #f3f8fc; }
.msc-climate-modal__facts strong { color: #173142; }
.msc-climate-modal__facts span,
.msc-climate-modal__note { color: #526579; line-height: 1.48; }
.msc-climate-modal__note { margin: 18px 0 0; font-size: .88rem; }
.msc-climate-modal__footer { padding: 16px 24px; text-align: right; }
.msc-climate-modal__footer a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 10px; background: #0099ff; color: #fff; font-weight: 800; text-decoration: none; }
.msc-climate-modal__footer a:is(:hover,:focus-visible) { background: #ef3e46; color: #fff; }
html.msc-foundation-climate-open { overflow: hidden; }
@media (max-width: 560px) {
	.msc-climate-modal:not([hidden]) { padding: 8px; }
	.msc-climate-modal__header { padding: 18px; }
	.msc-climate-modal__header img { width: 48px; height: 48px; flex-basis: 48px; }
	.msc-climate-modal__body { padding: 18px; }
	.msc-climate-modal__footer { padding: 14px 18px; }
	.msc-climate-modal__footer a { width: 100%; box-sizing: border-box; }
}

@media (prefers-reduced-motion: reduce) {
	.msc-estate-footer .water-fill { animation: none; height: 55%; y: 45%; }
	.msc-estate-footer .msc-wave-contrast { transition: none; }
}
