/* MoodWeb Layouts for ListingHub — frontend */
.mwl-shell {
	--mwl-max: 1240px;
	--mwl-radius-sm: 12px;
	--mwl-radius: 22px;
	--mwl-radius-lg: 36px;
	--mwl-shadow: 0 22px 70px rgba(19, 24, 39, .12);
	--mwl-text: #1e2430;
	--mwl-muted: #667085;
	--mwl-surface: #fff;
	--mwl-line: rgba(18, 24, 38, .12);
	--mwl-accent: #b84d3e;
	--mwl-accent-contrast: #fff;
	box-sizing: border-box;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: var(--mwl-text);
	background: #fff;
	isolation: isolate;
}
.mwl-shell *, .mwl-shell *::before, .mwl-shell *::after { box-sizing: inherit; }
.mwl-shell img { max-width: 100%; height: auto; }
.mwl-shell a { color: inherit; text-decoration: none; }
.mwl-shell button, .mwl-shell input, .mwl-shell textarea { font: inherit; }
.mwl-shell button { cursor: pointer; }
.mwl-shell h1, .mwl-shell h2, .mwl-shell h3, .mwl-shell p { margin-top: 0; }
.mwl-container { width: min(calc(100% - 40px), var(--mwl-max)); margin-inline: auto; }
.mwl-section { margin: clamp(58px, 8vw, 108px) 0; }
.mwl-section-heading { display: grid; gap: 4px; margin-bottom: 28px; }
.mwl-section-heading > p { margin: 0; font-size: .74rem; line-height: 1.2; letter-spacing: .17em; text-transform: uppercase; font-weight: 800; color: var(--mwl-accent); }
.mwl-section-heading h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.08; letter-spacing: -.04em; color: inherit; }
.mwl-section-heading > div { margin-top: 7px; color: var(--mwl-muted); }
.mwl-prose { font-size: clamp(1.04rem, 1.3vw, 1.18rem); line-height: 1.86; color: color-mix(in srgb, var(--mwl-text) 86%, transparent); }
.mwl-prose > :first-child { margin-top: 0; }
.mwl-prose > :last-child { margin-bottom: 0; }
.mwl-prose h2, .mwl-prose h3, .mwl-prose h4 { margin-top: 1.8em; line-height: 1.2; letter-spacing: -.025em; }
.mwl-prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.mwl-prose blockquote { margin: 2em 0; padding: 1.2em 1.5em; border-left: 4px solid var(--mwl-accent); background: color-mix(in srgb, var(--mwl-accent) 7%, transparent); font-size: 1.12em; }

/* Shared identity and metadata */
.mwl-logo { display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 22px; background: #fff; color: var(--mwl-accent); font-weight: 900; letter-spacing: -.05em; box-shadow: 0 14px 35px rgba(20, 25, 40, .14); border: 1px solid rgba(20, 25, 40, .08); }
.mwl-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.mwl-logo--sm { width: 48px; height: 48px; font-size: 1rem; border-radius: 14px; }
.mwl-logo--md { width: 76px; height: 76px; font-size: 1.35rem; }
.mwl-logo--lg { width: clamp(88px, 10vw, 132px); height: clamp(88px, 10vw, 132px); font-size: clamp(1.5rem, 3vw, 2.35rem); border-radius: 28px; }
.mwl-featured-label { display: inline-flex; align-items: center; width: max-content; margin-bottom: 12px; padding: 6px 11px; border-radius: 999px; background: var(--mwl-accent); color: var(--mwl-accent-contrast); font-size: .7rem; line-height: 1; letter-spacing: .12em; text-transform: uppercase; font-weight: 850; }
.mwl-terms { display: flex; flex-wrap: wrap; gap: 8px; }
.mwl-terms a, .mwl-terms > span { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 11px; border-radius: 999px; border: 1px solid var(--mwl-line); font-size: .76rem; line-height: 1.1; letter-spacing: .04em; font-weight: 750; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.mwl-terms a:hover { transform: translateY(-2px); border-color: var(--mwl-accent); }
.mwl-terms--large a, .mwl-terms--large > span { padding: 10px 15px; font-size: .9rem; }
.mwl-status { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: .82rem; }
.mwl-status i { width: 9px; height: 9px; border-radius: 50%; background: #d14343; box-shadow: 0 0 0 5px rgba(209, 67, 67, .12); }
.mwl-status.is-open i { background: #22a06b; box-shadow: 0 0 0 5px rgba(34, 160, 107, .13); }
.mwl-status.is-open { color: #16794f; }
.mwl-status.is-closed { color: #b42318; }

/* Buttons and actions */
.mwl-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mwl-button, .mwl-favorite .btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 9px; min-height: 46px; margin: 0 !important; padding: 11px 17px !important; border: 1px solid transparent !important; border-radius: 999px !important; box-shadow: none !important; font-size: .86rem !important; line-height: 1 !important; font-weight: 820 !important; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease !important; }
.mwl-button:hover, .mwl-favorite .btn:hover { transform: translateY(-2px); }
.mwl-button--primary, .mwl-favorite .btn.btn-big { background: var(--mwl-accent) !important; color: var(--mwl-accent-contrast) !important; box-shadow: 0 10px 24px color-mix(in srgb, var(--mwl-accent) 28%, transparent) !important; }
.mwl-button--secondary { background: var(--mwl-text) !important; color: #fff !important; }
.mwl-button--ghost, .mwl-favorite .btn.btn-border { background: transparent !important; border-color: var(--mwl-line) !important; color: inherit !important; }
.mwl-button--icon, .mwl-favorite .btn { width: 46px; min-width: 46px; padding-inline: 0 !important; }
.mwl-actions--stacked { display: grid; grid-template-columns: 1fr; }
.mwl-actions--stacked .mwl-button, .mwl-actions--stacked .mwl-favorite .btn { width: 100%; }
.mwl-favorite { display: inline-flex; }

/* Shared panels */
.mwl-panel { padding: 24px; border: 1px solid var(--mwl-line); border-radius: var(--mwl-radius); background: var(--mwl-surface); }
.mwl-panel-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 20px; }
.mwl-panel-title > span:first-child { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 850; color: var(--mwl-muted); }
.mwl-company-mini { display: flex; align-items: center; gap: 16px; padding-bottom: 21px; border-bottom: 1px solid var(--mwl-line); }
.mwl-company-mini > div:last-child { min-width: 0; }
.mwl-company-mini > div:last-child span { display: block; margin-bottom: 3px; font-size: .72rem; color: var(--mwl-muted); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.mwl-company-mini > div:last-child strong { display: block; overflow-wrap: anywhere; font-size: 1.05rem; line-height: 1.2; }
.mwl-contact-list { display: grid; gap: 14px; margin: 21px 0 0; padding: 0; list-style: none; }
.mwl-contact-list li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: .9rem; color: var(--mwl-muted); }
.mwl-contact-list i { margin-top: 4px; color: var(--mwl-accent); text-align: center; }
.mwl-contact-list a { overflow-wrap: anywhere; color: var(--mwl-text); font-weight: 700; }
.mwl-contact-card .mwl-actions { margin-top: 22px; }
.mwl-hours-list { display: grid; gap: 0; }
.mwl-hours-row { display: grid; grid-template-columns: minmax(78px, .8fr) 1.2fr; gap: 12px; padding: 11px 0; border-top: 1px solid var(--mwl-line); font-size: .84rem; }
.mwl-hours-row:first-child { border-top: 0; padding-top: 0; }
.mwl-hours-row strong { color: var(--mwl-text); }
.mwl-hours-row > div { display: grid; gap: 3px; color: var(--mwl-muted); text-align: right; }
.mwl-map-frame { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: calc(var(--mwl-radius) - 8px); background: #e9edf2; }
.mwl-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mwl-share-links { display: flex; flex-wrap: wrap; gap: 8px; }
.mwl-share-links a { padding: 8px 11px; border: 1px solid var(--mwl-line); border-radius: 999px; font-size: .76rem; font-weight: 760; }
.mwl-share-links a:hover { border-color: var(--mwl-accent); color: var(--mwl-accent); }
.mwl-sticky-stack { position: sticky; top: 30px; display: grid; gap: 18px; }

/* Custom fields */
.mwl-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mwl-field-card { min-width: 0; padding: 20px; border: 1px solid var(--mwl-line); border-radius: var(--mwl-radius-sm); background: var(--mwl-surface); }
.mwl-field-card > span:first-child { display: block; margin-bottom: 9px; color: var(--mwl-muted); font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; font-weight: 850; }
.mwl-field-value { color: var(--mwl-text); font-weight: 680; overflow-wrap: anywhere; }
.mwl-field-value p:last-child { margin-bottom: 0; }
.mwl-value-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mwl-value-tags span { padding: 5px 9px; border-radius: 999px; background: color-mix(in srgb, var(--mwl-accent) 9%, transparent); color: var(--mwl-text); font-size: .78rem; font-weight: 720; }

/* Gallery and video */
.mwl-gallery-grid { display: grid; gap: 14px; }
.mwl-gallery-item { position: relative; display: block; min-height: 220px; overflow: hidden; border-radius: var(--mwl-radius-sm); background: #edf0f4; }
.mwl-gallery-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.65,.3,1); }
.mwl-gallery-item:hover img { transform: scale(1.045); }
.mwl-gallery--editorial .mwl-gallery-grid { grid-template-columns: repeat(12, 1fr); grid-auto-rows: 145px; }
.mwl-gallery--editorial .mwl-gallery-item { grid-column: span 5; grid-row: span 2; }
.mwl-gallery--editorial .mwl-gallery-item:nth-child(3n + 1) { grid-column: span 7; grid-row: span 3; }
.mwl-gallery--mosaic .mwl-gallery-grid { grid-template-columns: repeat(12, 1fr); grid-auto-rows: 110px; }
.mwl-gallery--mosaic .mwl-gallery-item { grid-column: span 4; grid-row: span 3; border-radius: 28px; }
.mwl-gallery--mosaic .mwl-gallery-item:first-child { grid-column: span 8; grid-row: span 5; }
.mwl-gallery--mosaic .mwl-gallery-item:nth-child(4n) { grid-column: span 8; }
.mwl-gallery--tech .mwl-gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.mwl-gallery--tech .mwl-gallery-item { min-height: 190px; border-radius: 4px; border: 1px solid rgba(104, 239, 255, .18); }
.mwl-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.mwl-video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--mwl-radius); background: #111; }
.mwl-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* FAQ */
.mwl-faq-list { border-top: 1px solid var(--mwl-line); }
.mwl-faq { border-bottom: 1px solid var(--mwl-line); }
.mwl-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 2px; list-style: none; cursor: pointer; font-size: 1.03rem; font-weight: 780; }
.mwl-faq summary::-webkit-details-marker { display: none; }
.mwl-faq summary span { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border: 1px solid var(--mwl-line); border-radius: 50%; color: var(--mwl-accent); transition: transform .2s ease; }
.mwl-faq[open] summary span { transform: rotate(45deg); }
.mwl-faq > div { padding: 0 45px 22px 2px; color: var(--mwl-muted); }
.mwl-faq > div p:last-child { margin-bottom: 0; }

/* Reviews */
.mwl-review-summary { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 35px; align-items: center; padding: 30px; border: 1px solid var(--mwl-line); border-radius: var(--mwl-radius); background: var(--mwl-surface); }
.mwl-review-score { display: grid; grid-template-columns: auto auto; align-items: baseline; width: max-content; }
.mwl-review-score > strong { font-size: 4rem; line-height: 1; letter-spacing: -.08em; }
.mwl-review-score > span { margin-left: 8px; color: var(--mwl-muted); }
.mwl-review-score .mwl-rating-stars { grid-column: 1 / -1; margin-top: 12px; }
.mwl-rating-stars { display: inline-flex; align-items: center; gap: 3px; color: #f2a900; white-space: nowrap; }
.mwl-rating-stars i.is-half { opacity: .62; }
.mwl-rating-stars strong { margin-left: 6px; color: var(--mwl-text); }
.mwl-review-bars { display: grid; gap: 8px; }
.mwl-review-bars > div { display: grid; grid-template-columns: 30px minmax(90px, 1fr) 26px; gap: 9px; align-items: center; font-size: .74rem; color: var(--mwl-muted); }
.mwl-review-bars i { display: block; height: 6px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--mwl-text) 9%, transparent); }
.mwl-review-bars b { display: block; height: 100%; border-radius: inherit; background: var(--mwl-accent); }
.mwl-review-bars em { font-style: normal; text-align: right; }
.mwl-review-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.mwl-review-card { padding: 23px; border: 1px solid var(--mwl-line); border-radius: var(--mwl-radius); background: var(--mwl-surface); }
.mwl-review-card header { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 11px; align-items: center; margin-bottom: 18px; }
.mwl-review-card header img, .mwl-avatar-fallback { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.mwl-avatar-fallback { display: grid; place-items: center; background: color-mix(in srgb, var(--mwl-accent) 12%, white); color: var(--mwl-accent); font-size: .76rem; font-weight: 850; }
.mwl-review-card header strong, .mwl-review-card header time { display: block; }
.mwl-review-card header strong { font-size: .88rem; }
.mwl-review-card header time { color: var(--mwl-muted); font-size: .72rem; }
.mwl-review-card h3 { margin-bottom: 8px; font-size: 1rem; }
.mwl-review-card > div { color: var(--mwl-muted); font-size: .88rem; }
.mwl-review-card > div p:last-child { margin-bottom: 0; }
.mwl-review-form-wrap { margin-top: 22px; padding: 28px; border: 1px solid var(--mwl-line); border-radius: var(--mwl-radius); background: color-mix(in srgb, var(--mwl-accent) 4%, var(--mwl-surface)); }
.mwl-review-form-wrap > h3 { margin: 0 0 20px; font-size: 1.25rem; }
.mwl-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.mwl-form-field { display: grid; gap: 7px; margin: 0; padding: 0; border: 0; }
.mwl-form-field--wide { grid-column: 1 / -1; }
.mwl-form-field > span, .mwl-form-field legend { font-size: .76rem; font-weight: 800; color: var(--mwl-muted); }
.mwl-form-field input[type="text"], .mwl-form-field textarea { width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid var(--mwl-line); border-radius: 12px; outline: none; background: var(--mwl-surface); color: var(--mwl-text); box-shadow: none; }
.mwl-form-field textarea { resize: vertical; }
.mwl-form-field input:focus, .mwl-form-field textarea:focus { border-color: var(--mwl-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mwl-accent) 15%, transparent); }
.mwl-stars-input { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 3px; }
.mwl-stars-input input { position: absolute; opacity: 0; pointer-events: none; }
.mwl-stars-input label { color: #c8ccd2; font-size: 1.8rem; line-height: 1; cursor: pointer; transition: color .15s ease, transform .15s ease; }
.mwl-stars-input label:hover, .mwl-stars-input label:hover ~ label, .mwl-stars-input input:checked ~ label { color: #f2a900; }
.mwl-stars-input label:hover { transform: scale(1.1); }
.mwl-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 17px; }
.mwl-form-footer #rmessage { min-width: 0; }

/* Similar listings */
.mwl-similar-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.mwl-similar-card { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 14px; align-items: center; min-width: 0; padding: 18px; border: 1px solid var(--mwl-line); border-radius: var(--mwl-radius-sm); background: var(--mwl-surface); transition: transform .2s ease, box-shadow .2s ease; }
.mwl-similar-card:hover { transform: translateY(-4px); box-shadow: 0 15px 35px rgba(22, 28, 45, .08); }
.mwl-similar-logo { display: grid; place-items: center; width: 58px; height: 58px; overflow: hidden; border-radius: 16px; background: color-mix(in srgb, var(--mwl-accent) 8%, white); color: var(--mwl-accent); font-size: .85rem; font-weight: 900; }
.mwl-similar-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.mwl-similar-card > div { min-width: 0; }
.mwl-similar-card > div > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mwl-muted); font-size: .67rem; letter-spacing: .06em; text-transform: uppercase; }
.mwl-similar-card h3 { margin: 4px 0 0; font-size: .94rem; line-height: 1.2; }

/* =========================================================
   EDITORIALE
   ========================================================= */
.mwl-editorial { --mwl-accent: #a33e32; --mwl-accent-contrast: #fff; --mwl-text: #22201d; --mwl-muted: #777067; --mwl-surface: #fffdf9; --mwl-line: rgba(47, 40, 32, .14); background: #f3eee6; }
.mwl-editorial h1, .mwl-editorial h2, .mwl-editorial h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.mwl-editorial-cover { height: clamp(320px, 45vw, 610px); overflow: hidden; background: #d7d0c7; }
.mwl-editorial-cover img { width: 100%; height: 100%; object-fit: cover; }
.mwl-editorial-header-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 118px minmax(0,1fr); gap: 42px; padding: clamp(35px, 6vw, 70px); background: #fbf8f2; box-shadow: var(--mwl-shadow); }
.mwl-editorial-hero.has-image .mwl-editorial-header-grid { margin-top: clamp(-150px, -11vw, -90px); }
.mwl-editorial-hero.no-image { padding-top: clamp(50px, 8vw, 105px); }
.mwl-editorial-mark { padding-right: 28px; border-right: 1px solid var(--mwl-line); color: var(--mwl-muted); }
.mwl-editorial-mark span { display: block; writing-mode: vertical-rl; transform: rotate(180deg); margin-inline: auto; font-size: .67rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 800; }
.mwl-editorial-mark strong { display: block; margin-top: 28px; color: var(--mwl-accent); font-family: Georgia, serif; font-size: 2rem; font-weight: 500; text-align: center; }
.mwl-terms--editorial { margin-bottom: 25px; }
.mwl-terms--editorial a { border: 0; border-radius: 0; border-bottom: 1px solid var(--mwl-accent); padding: 2px 0; color: var(--mwl-accent); letter-spacing: .1em; text-transform: uppercase; }
.mwl-editorial-title-row { display: flex; align-items: center; gap: 26px; }
.mwl-editorial-heading h1 { max-width: 850px; margin: 0; font-size: clamp(3rem, 7.5vw, 7.2rem); line-height: .93; letter-spacing: -.065em; color: #201e1b; }
.mwl-editorial-deck { max-width: 820px; margin: 30px 0 0; font-family: Georgia, serif; font-size: clamp(1.2rem, 2.2vw, 1.7rem); line-height: 1.5; color: #5c554c; }
.mwl-editorial-meta { display: flex; flex-wrap: wrap; gap: 14px 22px; margin: 28px 0; color: var(--mwl-muted); font-size: .82rem; }
.mwl-editorial-meta > span { display: inline-flex; align-items: center; gap: 8px; }
.mwl-editorial-meta i { color: var(--mwl-accent); }
.mwl-editorial-body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(38px, 7vw, 92px); padding-block: clamp(55px, 8vw, 100px); }
.mwl-editorial-main { min-width: 0; }
.mwl-editorial-aside { min-width: 0; }
.mwl-editorial .mwl-section { margin-top: 0; padding-top: clamp(50px, 6vw, 82px); border-top: 1px solid var(--mwl-line); }
.mwl-editorial .mwl-section:first-child { padding-top: 0; border-top: 0; }
.mwl-editorial .mwl-story .mwl-section-heading h2 { max-width: 650px; }
.mwl-editorial .mwl-panel { background: rgba(255, 253, 249, .84); backdrop-filter: blur(12px); }
.mwl-editorial .mwl-field-card { background: rgba(255,255,255,.55); }
.mwl-editorial .mwl-similar { padding: 65px 0 100px; border-top: 1px solid var(--mwl-line); }

/* =========================================================
   EMOTIONAL
   ========================================================= */
.mwl-emotional { --mwl-accent: #ff5b61; --mwl-accent-contrast: #fff; --mwl-text: #2c1831; --mwl-muted: #735f75; --mwl-surface: #fffaf7; --mwl-line: rgba(77, 42, 78, .13); background: #fff5ef; }
.mwl-emotional-hero { position: relative; min-height: min(840px, 88vh); overflow: hidden; color: #fff; background: radial-gradient(circle at 20% 20%, #bc4a72, transparent 38%), linear-gradient(135deg, #38113f, #8e2857 55%, #e54c5f); }
.mwl-emotional-hero.has-image { background-image: linear-gradient(95deg, rgba(36, 9, 43, .92) 5%, rgba(66, 15, 57, .72) 48%, rgba(66, 15, 57, .18) 100%), var(--mwl-hero-image); background-size: cover; background-position: center; }
.mwl-emotional-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .65; pointer-events: none; }
.mwl-emotional-orb--one { width: 340px; height: 340px; right: -90px; top: -100px; background: rgba(255, 176, 144, .45); }
.mwl-emotional-orb--two { width: 240px; height: 240px; left: 45%; bottom: -120px; background: rgba(255, 93, 110, .42); }
.mwl-emotional-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .5fr); gap: 70px; align-items: end; min-height: min(840px, 88vh); padding-block: 100px 72px; }
.mwl-emotional-copy { max-width: 850px; }
.mwl-terms--emotional { margin-bottom: 25px; }
.mwl-terms--emotional a { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.1); color: #fff; backdrop-filter: blur(8px); }
.mwl-emotional .mwl-featured-label { background: #ffd4b9; color: #5c183c; }
.mwl-emotional-copy h1 { margin: 0; max-width: 930px; font-size: clamp(3.4rem, 8.4vw, 8.3rem); line-height: .88; letter-spacing: -.075em; color: #fff; text-wrap: balance; }
.mwl-emotional-copy > p { max-width: 710px; margin: 28px 0 0; font-size: clamp(1.1rem, 2vw, 1.42rem); line-height: 1.58; color: rgba(255,255,255,.82); }
.mwl-emotional-meta { display: flex; flex-wrap: wrap; gap: 16px 24px; margin: 30px 0; color: rgba(255,255,255,.8); font-size: .87rem; }
.mwl-emotional-meta > span { display: inline-flex; gap: 8px; align-items: center; }
.mwl-emotional .mwl-emotional-meta .mwl-status { color: #fff; }
.mwl-actions--emotional .mwl-button--primary { background: #ff7b71 !important; color: #32102e !important; }
.mwl-actions--emotional .mwl-button--secondary { background: #fff !important; color: #32102e !important; }
.mwl-actions--emotional .mwl-button--ghost, .mwl-actions--emotional .mwl-favorite .btn.btn-border { border-color: rgba(255,255,255,.48) !important; color: #fff !important; background: rgba(255,255,255,.08) !important; }
.mwl-emotional-identity { align-self: end; padding: 28px; border: 1px solid rgba(255,255,255,.24); border-radius: 32px; background: rgba(255,255,255,.12); backdrop-filter: blur(18px); box-shadow: 0 25px 80px rgba(35, 5, 39, .22); }
.mwl-emotional-identity .mwl-logo { margin-bottom: 22px; }
.mwl-emotional-identity > div:last-child span { display: block; color: rgba(255,255,255,.65); font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }
.mwl-emotional-identity > div:last-child strong { display: block; margin-top: 5px; font-size: 1.25rem; line-height: 1.15; }
.mwl-emotional-content { padding-block: clamp(70px, 10vw, 130px); }
.mwl-emotional-intro { max-width: 980px; margin: 0 auto clamp(65px, 9vw, 120px); text-align: center; }
.mwl-emotional-intro > span { display: block; margin-bottom: 18px; color: var(--mwl-accent); text-transform: uppercase; letter-spacing: .17em; font-size: .72rem; font-weight: 900; }
.mwl-emotional-intro h2 { margin: 0; font-size: clamp(2.2rem, 5.4vw, 5.2rem); line-height: 1.02; letter-spacing: -.06em; text-wrap: balance; }
.mwl-emotional .mwl-story { max-width: 880px; margin-inline: auto; }
.mwl-emotional .mwl-story .mwl-section-heading { text-align: center; }
.mwl-emotional .mwl-story .mwl-prose { font-size: clamp(1.12rem, 1.7vw, 1.35rem); line-height: 1.85; }
.mwl-emotional .mwl-gallery { margin-block: clamp(80px, 11vw, 150px); }
.mwl-emotional-bento { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 22px; align-items: start; }
.mwl-emotional-bento-main, .mwl-emotional-bento-side { display: grid; gap: 22px; }
.mwl-emotional-bento .mwl-section { margin: 0; padding: 34px; border-radius: 34px; background: #fffaf7; box-shadow: 0 20px 60px rgba(80, 30, 68, .08); }
.mwl-emotional-bento .mwl-panel { border-radius: 34px; box-shadow: 0 20px 60px rgba(80, 30, 68, .08); }
.mwl-emotional-bento .mwl-field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.mwl-emotional-bento .mwl-field-card { background: #fff; border: 0; box-shadow: inset 0 0 0 1px var(--mwl-line); }
.mwl-emotional-map-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(230px, .4fr); gap: 22px; align-items: stretch; margin-top: 22px; }
.mwl-emotional-map-row .mwl-panel { border-radius: 34px; }
.mwl-emotional-map-row .mwl-share-links { display: grid; grid-template-columns: 1fr; }
.mwl-emotional-map-row .mwl-share-links a { text-align: center; }
.mwl-emotional .mwl-review-card, .mwl-emotional .mwl-review-summary, .mwl-emotional .mwl-review-form-wrap, .mwl-emotional .mwl-similar-card { box-shadow: 0 18px 45px rgba(83, 28, 70, .07); border-color: rgba(77, 42, 78, .08); }

/* =========================================================
   TECH
   ========================================================= */
.mwl-tech {
	--mwl-accent: #0b73ad;
	--mwl-accent-contrast: #fff;
	--mwl-tech-blue: #0b73ad;
	--mwl-tech-blue-dark: #075382;
	--mwl-tech-sky: #45a6d4;
	--mwl-tech-orange: #f39a32;
	--mwl-tech-ink: #27324b;
	--mwl-text: #27324b;
	--mwl-muted: #667085;
	--mwl-surface: #fff;
	--mwl-line: rgba(8, 91, 145, .14);
	background: #f5f7f9;
	color: var(--mwl-text);
}
.mwl-tech-stage { position: relative; min-height: 100vh; overflow: hidden; background: linear-gradient(180deg, #f3f6f8 0%, #fff 36%, #f5f7f9 100%); }
.mwl-tech-hero { position: relative; overflow: hidden; padding: clamp(70px, 8vw, 118px) 0 clamp(118px, 12vw, 170px); background: linear-gradient(120deg, #f4f6f8 0%, #fff 60%, #eef5f9 100%); }
.mwl-tech-hero::before { content: ""; position: absolute; width: min(78vw, 1050px); aspect-ratio: 1; right: min(-43vw, -430px); top: min(-46vw, -510px); border: 1px solid rgba(11, 115, 173, .12); border-radius: 50%; box-shadow: 0 0 0 85px rgba(69, 166, 212, .035), 0 0 0 170px rgba(11, 115, 173, .025); pointer-events: none; }
.mwl-tech-hero::after { content: ""; position: absolute; width: 18px; height: 18px; left: max(24px, calc((100vw - var(--mwl-max)) / 2 - 46px)); bottom: 74px; border-radius: 50%; background: var(--mwl-tech-orange); box-shadow: 34px -22px 0 -5px rgba(243, 154, 50, .52), 59px 7px 0 -8px rgba(11, 115, 173, .4); pointer-events: none; }
.mwl-tech-dot-field { position: absolute; z-index: 0; width: min(45vw, 660px); height: 82%; right: -2%; top: 8%; opacity: .42; background-image: radial-gradient(circle, rgba(7, 83, 130, .25) 1.7px, transparent 1.9px); background-size: 16px 16px; -webkit-mask-image: radial-gradient(ellipse at center, #000 15%, transparent 72%); mask-image: radial-gradient(ellipse at center, #000 15%, transparent 72%); pointer-events: none; }
.mwl-tech-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); gap: clamp(45px, 7vw, 92px); align-items: center; }
.mwl-tech-copy { min-width: 0; }
.mwl-tech-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 25px; color: #69748a; font-size: .7rem; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; font-weight: 820; }
.mwl-tech-kicker > span { width: 44px; height: 4px; border-radius: 999px; background: var(--mwl-tech-orange); }
.mwl-tech-kicker strong { color: var(--mwl-tech-blue-dark); }
.mwl-tech-kicker em { padding-left: 10px; border-left: 1px solid rgba(7, 83, 130, .18); color: #8a94a6; font-style: normal; }
.mwl-tech .mwl-featured-label { margin: 18px 0 0; background: var(--mwl-tech-orange); color: #fff; box-shadow: 0 10px 24px rgba(243, 154, 50, .22); }
.mwl-tech-heading { min-width: 0; }
.mwl-tech-copy h1 { max-width: 850px; margin: 18px 0 0; color: var(--mwl-tech-blue-dark); font-size: clamp(3.4rem, 7.1vw, 7.3rem); line-height: .88; letter-spacing: -.07em; text-wrap: balance; }
.mwl-tech-copy > p { max-width: 760px; margin: 28px 0 0; color: #56627a; font-size: clamp(1.02rem, 1.55vw, 1.24rem); line-height: 1.66; }
.mwl-terms--tech { gap: 7px; }
.mwl-terms--tech a, .mwl-terms--tech > span { min-height: 30px; padding: 7px 12px; border-color: rgba(11, 115, 173, .19); border-radius: 999px; background: rgba(255,255,255,.82); color: var(--mwl-tech-blue-dark); font-size: .7rem; letter-spacing: .075em; text-transform: uppercase; box-shadow: 0 7px 20px rgba(15, 76, 115, .045); }
.mwl-terms--tech a:hover { background: #fff; border-color: var(--mwl-tech-orange); color: var(--mwl-tech-blue-dark); }
.mwl-tech-meta { display: flex; flex-wrap: wrap; gap: 13px 24px; margin: 28px 0; color: #647087; font-size: .86rem; font-weight: 680; }
.mwl-tech-meta > span { display: inline-flex; align-items: center; gap: 8px; }
.mwl-tech-meta > span > i { color: var(--mwl-tech-orange); }
.mwl-tech-meta .mwl-status { color: #526178; }
.mwl-tech-meta .mwl-status.is-open { color: #17754f; }
.mwl-actions--tech { justify-content: flex-start; }
.mwl-actions--tech .mwl-button, .mwl-actions--tech .mwl-favorite .btn { min-height: 49px; border-radius: 999px !important; }
.mwl-actions--tech .mwl-button--primary, .mwl-actions--tech .mwl-favorite .btn.btn-big { background: var(--mwl-tech-blue) !important; color: #fff !important; box-shadow: 0 13px 28px rgba(11, 115, 173, .23) !important; }
.mwl-actions--tech .mwl-button--secondary { background: var(--mwl-tech-orange) !important; color: #fff !important; box-shadow: 0 13px 28px rgba(243, 154, 50, .2) !important; }
.mwl-actions--tech .mwl-button--ghost, .mwl-actions--tech .mwl-favorite .btn.btn-border { border-color: rgba(7,83,130,.2) !important; background: rgba(255,255,255,.7) !important; color: var(--mwl-tech-blue-dark) !important; }
.mwl-tech-visual { position: relative; min-height: clamp(470px, 45vw, 610px); overflow: hidden; border-radius: 46px 8px 46px 8px; background: linear-gradient(145deg, #0c78b6 0%, #075382 58%, #053c61 100%); box-shadow: 0 34px 80px rgba(7, 72, 112, .2); isolation: isolate; }
.mwl-tech-visual::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(155deg, rgba(255,255,255,.08), transparent 48%), radial-gradient(circle at 80% 14%, rgba(94, 194, 235, .42), transparent 24%); pointer-events: none; }
.mwl-tech-visual::after { content: ""; position: absolute; z-index: 1; width: 320px; height: 320px; right: -115px; bottom: -125px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 54px rgba(255,255,255,.035), 0 0 0 108px rgba(255,255,255,.025); pointer-events: none; }
.mwl-tech-visual-image { position: absolute; z-index: 0; inset: 0; background-image: linear-gradient(145deg, rgba(4, 62, 98, .2), rgba(4, 51, 82, .74)), var(--mwl-tech-image); background-size: cover; background-position: center; filter: saturate(.82) contrast(.97); }
.mwl-tech-network { position: absolute; z-index: 2; width: min(88%, 470px); height: auto; right: -5%; top: 3%; color: rgba(206, 239, 252, .75); filter: drop-shadow(0 12px 24px rgba(0,0,0,.12)); }
.mwl-tech-network-lines { fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; opacity: .72; }
.mwl-tech-network-nodes circle { fill: #8cd1ee; stroke: rgba(255,255,255,.78); stroke-width: 4; }
.mwl-tech-network-nodes circle.is-orange { fill: var(--mwl-tech-orange); }
.mwl-tech-logo-card { position: absolute; z-index: 3; left: clamp(20px, 4vw, 38px); right: clamp(20px, 4vw, 38px); bottom: clamp(20px, 4vw, 38px); display: flex; align-items: center; gap: 20px; min-width: 0; padding: 22px; border: 1px solid rgba(255,255,255,.64); border-radius: 26px 7px 26px 7px; background: rgba(255,255,255,.94); box-shadow: 0 22px 55px rgba(3, 45, 72, .22); backdrop-filter: blur(16px); }
.mwl-tech-logo-card .mwl-logo { flex: 0 0 auto; width: clamp(78px, 9vw, 108px); height: clamp(78px, 9vw, 108px); border-radius: 21px 5px 21px 5px; border-color: rgba(11,115,173,.13); color: var(--mwl-tech-blue-dark); box-shadow: 0 12px 28px rgba(7,83,130,.13); }
.mwl-tech-logo-card > div:last-child { min-width: 0; }
.mwl-tech-logo-card > div:last-child span { display: block; margin-bottom: 5px; color: var(--mwl-tech-orange); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 850; }
.mwl-tech-logo-card > div:last-child strong { display: block; color: var(--mwl-tech-ink); font-size: clamp(1.05rem, 2vw, 1.45rem); line-height: 1.15; overflow-wrap: anywhere; }
.mwl-tech-metrics-wrap { position: relative; z-index: 4; margin-top: -68px; }
.mwl-tech-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(8,91,145,.1); border-radius: 30px 7px 30px 7px; background: #fff; box-shadow: 0 28px 68px rgba(19, 72, 105, .12); }
.mwl-tech-metrics article { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 15px; min-width: 0; min-height: 146px; padding: 27px 24px; border-right: 1px solid var(--mwl-line); background: #fff; }
.mwl-tech-metrics article:last-child { border-right: 0; }
.mwl-tech-metrics article > i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 15px 4px 15px 4px; background: #edf6fb; color: var(--mwl-tech-blue); font-size: .95rem; }
.mwl-tech-metrics article:nth-child(2) > i, .mwl-tech-metrics article:nth-child(4) > i { background: #fff4e7; color: var(--mwl-tech-orange); }
.mwl-tech-metrics article > div { min-width: 0; }
.mwl-tech-metrics article span { display: block; color: #8791a3; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 820; }
.mwl-tech-metrics article strong { display: block; margin: 10px 0 6px; color: var(--mwl-tech-ink); font-size: clamp(1.28rem, 2.35vw, 2.15rem); line-height: 1.03; letter-spacing: -.04em; overflow-wrap: anywhere; }
.mwl-tech-metrics article strong em { margin-left: 4px; color: #8b95a7; font-size: .48em; font-style: normal; }
.mwl-tech-metrics article small { display: block; color: #7a8497; font-size: .68rem; line-height: 1.35; }
.mwl-tech-metrics .mwl-tech-status { color: #b54736; font-size: clamp(.94rem, 1.35vw, 1.12rem); letter-spacing: -.01em; }
.mwl-tech-metrics .mwl-tech-status.is-online { color: #16815a; }
.mwl-tech-metrics .mwl-tech-location { font-size: clamp(.94rem, 1.25vw, 1.08rem); line-height: 1.25; letter-spacing: -.015em; }
.mwl-tech-container { position: relative; z-index: 2; padding-block: clamp(86px, 10vw, 135px) clamp(90px, 11vw, 145px); }
.mwl-tech-intro { display: grid; grid-template-columns: 96px minmax(0,1fr) auto; gap: clamp(24px, 4vw, 52px); align-items: end; margin-bottom: clamp(48px, 7vw, 86px); }
.mwl-tech-intro-index { color: rgba(11,115,173,.14); font-size: clamp(4rem, 8vw, 7.8rem); line-height: .78; letter-spacing: -.08em; font-weight: 900; }
.mwl-tech-intro-copy { max-width: 780px; }
.mwl-tech-intro-copy > span { display: block; margin-bottom: 13px; color: var(--mwl-tech-orange); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 900; }
.mwl-tech-intro-copy h2 { margin: 0; color: var(--mwl-tech-blue-dark); font-size: clamp(2.2rem, 4.7vw, 4.9rem); line-height: 1; letter-spacing: -.055em; text-wrap: balance; }
.mwl-tech-intro-tags { display: grid; gap: 8px; justify-items: end; }
.mwl-tech-intro-tags span { min-width: 128px; padding: 9px 14px; border: 1px solid rgba(11,115,173,.16); border-radius: 999px; background: rgba(255,255,255,.78); color: #526178; font-size: .72rem; text-align: center; letter-spacing: .08em; text-transform: uppercase; font-weight: 780; }
.mwl-tech-intro-tags span:nth-child(2) { border-color: rgba(243,154,50,.35); color: #b96813; }
.mwl-tech-dashboard { display: grid; grid-template-columns: minmax(0, 1.48fr) minmax(310px, .52fr); gap: 24px; align-items: start; }
.mwl-tech-dashboard:not(.has-sidebar) .mwl-tech-module--story { grid-column: 1 / -1; }
.mwl-tech-dashboard:not(.has-story) .mwl-tech-sidebar { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0,1fr)); }
.mwl-tech-module { position: relative; min-width: 0; padding: clamp(27px, 4vw, 46px); border: 1px solid rgba(8,91,145,.1); border-radius: 30px 7px 30px 7px; background: #fff; box-shadow: 0 20px 54px rgba(18, 70, 103, .075); }
.mwl-tech-module--story { min-height: 100%; }
.mwl-tech-module--story::before { content: ""; position: absolute; width: 74px; height: 6px; left: clamp(27px, 4vw, 46px); top: 0; border-radius: 0 0 999px 999px; background: var(--mwl-tech-orange); }
.mwl-tech-sidebar { display: grid; gap: 24px; align-content: start; }
.mwl-tech-module-head { display: grid; grid-template-columns: 42px auto minmax(30px,1fr); gap: 13px; align-items: center; margin-bottom: 30px; color: #647087; }
.mwl-tech-module-head span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 15px 4px 15px 4px; background: #eaf5fb; color: var(--mwl-tech-blue); font-size: .73rem; font-weight: 900; }
.mwl-tech-module-head strong { color: var(--mwl-tech-blue-dark); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.mwl-tech-module-head i { height: 1px; background: linear-gradient(90deg, rgba(11,115,173,.3), transparent); }
.mwl-tech .mwl-section { margin: 0; }
.mwl-tech .mwl-section-heading { margin-bottom: 24px; }
.mwl-tech .mwl-section-heading > p { color: var(--mwl-tech-orange); }
.mwl-tech .mwl-section-heading h2 { color: var(--mwl-tech-blue-dark); font-size: clamp(1.7rem, 2.7vw, 2.8rem); }
.mwl-tech .mwl-section-heading > div { color: #7a8496; }
.mwl-tech .mwl-prose { color: #58647a; font-size: clamp(1rem, 1.25vw, 1.12rem); line-height: 1.84; }
.mwl-tech .mwl-custom-fields { margin-top: 45px; padding-top: 38px; border-top: 1px solid var(--mwl-line); }
.mwl-tech .mwl-field-grid { gap: 12px; }
.mwl-tech .mwl-field-card { border: 0; border-radius: 18px 5px 18px 5px; background: #f3f7fa; box-shadow: inset 0 0 0 1px rgba(8,91,145,.055); }
.mwl-tech .mwl-field-card > span:first-child { color: var(--mwl-tech-blue); }
.mwl-tech .mwl-value-tags span { background: #e6f2f8; color: var(--mwl-tech-blue-dark); }
.mwl-tech .mwl-tech-module .mwl-panel { padding: 0; border: 0; border-radius: 0; background: transparent; }
.mwl-tech .mwl-company-mini { border-color: var(--mwl-line); }
.mwl-tech .mwl-company-mini .mwl-logo { border-radius: 17px 4px 17px 4px; color: var(--mwl-tech-blue-dark); box-shadow: 0 10px 24px rgba(7,83,130,.1); }
.mwl-tech .mwl-company-mini > div:last-child span { color: var(--mwl-tech-orange); }
.mwl-tech .mwl-contact-list li { color: #687389; }
.mwl-tech .mwl-contact-list a { color: var(--mwl-tech-blue-dark); }
.mwl-tech .mwl-contact-list i { color: var(--mwl-tech-orange); }
.mwl-tech .mwl-hours-row { color: #6f7a8f; }
.mwl-tech .mwl-hours-row strong { color: var(--mwl-tech-ink); }
.mwl-tech-module--gallery { margin-top: 24px; overflow: hidden; border: 0; background: linear-gradient(135deg, #0c75af 0%, #075382 62%, #063f66 100%); color: #fff; box-shadow: 0 28px 70px rgba(6, 73, 113, .2); }
.mwl-tech-module--gallery::before { content: ""; position: absolute; width: 440px; height: 440px; right: -95px; top: -145px; opacity: .23; background-image: radial-gradient(circle, #fff 1.8px, transparent 2px); background-size: 15px 15px; -webkit-mask-image: radial-gradient(circle, #000, transparent 70%); mask-image: radial-gradient(circle, #000, transparent 70%); pointer-events: none; }
.mwl-tech-module--gallery > * { position: relative; z-index: 1; }
.mwl-tech-module--gallery .mwl-tech-module-head span { background: rgba(255,255,255,.13); color: #fff; }
.mwl-tech-module--gallery .mwl-tech-module-head strong { color: #fff; }
.mwl-tech-module--gallery .mwl-tech-module-head i { background: linear-gradient(90deg, rgba(255,255,255,.4), transparent); }
.mwl-tech-module--gallery .mwl-section-heading > p { color: #ffc276; }
.mwl-tech-module--gallery .mwl-section-heading h2 { color: #fff; }
.mwl-tech-module--gallery .mwl-section-heading > div { color: rgba(255,255,255,.72); }
.mwl-tech-module--gallery .mwl-gallery--tech .mwl-gallery-item { min-height: 225px; border: 1px solid rgba(255,255,255,.2); border-radius: 24px 6px 24px 6px; background: rgba(255,255,255,.08); box-shadow: 0 14px 36px rgba(2,38,61,.22); }
.mwl-tech-module--gallery .mwl-videos { margin-top: 52px; }
.mwl-tech-module--gallery .mwl-video-frame { border: 1px solid rgba(255,255,255,.16); border-radius: 24px 6px 24px 6px; box-shadow: 0 14px 36px rgba(2,38,61,.22); }
.mwl-tech-module--map { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 24px; margin-top: 24px; }
.mwl-tech-module--map > .mwl-tech-module-head { grid-column: 1 / -1; }
.mwl-tech-module--map:not(.has-side) .mwl-tech-map-main { grid-column: 1 / -1; }
.mwl-tech-module--map:not(.has-map) .mwl-tech-map-side { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
.mwl-tech-map-main, .mwl-tech-map-side { min-width: 0; }
.mwl-tech-map-side { display: grid; gap: 18px; align-content: start; }
.mwl-tech .mwl-tech-module--map .mwl-tech-tags, .mwl-tech .mwl-tech-module--map .mwl-share { padding: 24px; border: 1px solid rgba(8,91,145,.1); border-radius: 22px 6px 22px 6px; background: #f4f8fa; }
.mwl-tech .mwl-tech-module--map .mwl-panel-title { margin-bottom: 18px; }
.mwl-tech .mwl-map-frame { min-height: 420px; border: 1px solid rgba(8,91,145,.1); border-radius: 24px 6px 24px 6px; filter: grayscale(.12) saturate(.82); box-shadow: 0 15px 38px rgba(18,70,103,.1); }
.mwl-tech .mwl-share-links a { border-color: rgba(8,91,145,.16); background: #fff; color: var(--mwl-tech-blue-dark); }
.mwl-tech .mwl-share-links a:hover { border-color: var(--mwl-tech-orange); color: #b96813; }
.mwl-terms--tech-large { align-content: start; }
.mwl-terms--tech-large a, .mwl-terms--tech-large > span { background: #fff; }
.mwl-tech-longform { display: grid; gap: 24px; margin-top: 24px; }
.mwl-tech-longform > .mwl-section { padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(8,91,145,.1); border-radius: 30px 7px 30px 7px; background: #fff; box-shadow: 0 20px 54px rgba(18,70,103,.07); }
.mwl-tech .mwl-review-summary, .mwl-tech .mwl-review-card, .mwl-tech .mwl-review-form-wrap, .mwl-tech .mwl-similar-card { border-color: rgba(8,91,145,.11); border-radius: 22px 6px 22px 6px; background: #f7fafc; color: var(--mwl-tech-ink); }
.mwl-tech .mwl-review-card { background: #fff; }
.mwl-tech .mwl-review-card > div, .mwl-tech .mwl-review-card header time { color: #6f7a8f; }
.mwl-tech .mwl-rating-stars strong { color: var(--mwl-tech-ink); }
.mwl-tech .mwl-review-bars b { background: var(--mwl-tech-orange); }
.mwl-tech .mwl-form-field input[type="text"], .mwl-tech .mwl-form-field textarea { border-color: rgba(8,91,145,.14); border-radius: 15px 4px 15px 4px; background: #fff; color: var(--mwl-tech-ink); }
.mwl-tech .mwl-button { border-radius: 999px !important; }
.mwl-tech .mwl-faq summary span { border-color: rgba(8,91,145,.18); color: var(--mwl-tech-orange); }
.mwl-tech .mwl-similar-logo { border-radius: 19px 5px 19px 5px; background: #eaf5fb; color: var(--mwl-tech-blue-dark); }
.mwl-tech .mwl-similar-logo img { background: #fff; }

/* Core popups and utility fixes */
#colorbox, #cboxOverlay, #cboxWrapper { z-index: 999999 !important; }
.mwl-shell .alert { border-radius: 10px; }

/* Responsive */
@media (max-width: 1100px) {
	.mwl-editorial-body { grid-template-columns: minmax(0, 1fr) 310px; gap: 42px; }
	.mwl-emotional-hero-inner { grid-template-columns: minmax(0,1fr) 270px; gap: 35px; }
	.mwl-tech-hero-inner { grid-template-columns: minmax(0,1fr) minmax(330px,.76fr); gap: 46px; }
	.mwl-tech-visual { min-height: 500px; }
	.mwl-tech-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.mwl-tech-metrics article:nth-child(2) { border-right: 0; }
	.mwl-tech-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--mwl-line); }
	.mwl-tech-intro { grid-template-columns: 76px minmax(0,1fr); }
	.mwl-tech-intro-tags { grid-column: 2; display: flex; flex-wrap: wrap; justify-items: initial; justify-content: flex-start; }
	.mwl-tech-intro-tags span { min-width: 0; }
	.mwl-tech-dashboard { grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); }
	.mwl-similar-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 860px) {
	.mwl-container { width: min(calc(100% - 28px), var(--mwl-max)); }
	.mwl-editorial-header-grid { grid-template-columns: 1fr; gap: 25px; }
	.mwl-editorial-mark { display: flex; align-items: center; justify-content: space-between; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid var(--mwl-line); }
	.mwl-editorial-mark span { writing-mode: initial; transform: none; margin: 0; }
	.mwl-editorial-mark strong { margin: 0; font-size: 1.4rem; }
	.mwl-editorial-body { grid-template-columns: 1fr; }
	.mwl-sticky-stack { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.mwl-sticky-stack .mwl-map, .mwl-sticky-stack .mwl-share { grid-column: span 1; }
	.mwl-emotional-hero { min-height: auto; }
	.mwl-emotional-hero-inner { grid-template-columns: 1fr; min-height: auto; padding-block: 110px 45px; }
	.mwl-emotional-identity { display: flex; align-items: center; gap: 20px; }
	.mwl-emotional-identity .mwl-logo { margin: 0; }
	.mwl-emotional-bento { grid-template-columns: 1fr; }
	.mwl-emotional-map-row { grid-template-columns: 1fr; }
	.mwl-emotional-map-row .mwl-share-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.mwl-tech-hero { padding-bottom: 128px; }
	.mwl-tech-dot-field { width: 76%; right: -18%; }
	.mwl-tech-hero-inner { grid-template-columns: 1fr; }
	.mwl-tech-copy { max-width: 760px; }
	.mwl-tech-visual { width: min(100%, 680px); min-height: 440px; }
	.mwl-tech-metrics-wrap { margin-top: -60px; }
	.mwl-tech-intro { grid-template-columns: 68px minmax(0,1fr); }
	.mwl-tech-dashboard { grid-template-columns: 1fr; }
	.mwl-tech-module--story, .mwl-tech-sidebar { grid-column: 1; }
	.mwl-tech-sidebar, .mwl-tech-dashboard:not(.has-story) .mwl-tech-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.mwl-tech-module--map { grid-template-columns: 1fr; }
	.mwl-tech-module--map > .mwl-tech-module-head { grid-column: 1; }
	.mwl-tech-map-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
	.mwl-shell { font-size: 15px; }
	.mwl-container { width: min(calc(100% - 20px), var(--mwl-max)); }
	.mwl-section { margin-block: 58px; }
	.mwl-actions { align-items: stretch; }
	.mwl-actions .mwl-button:not(.mwl-button--icon), .mwl-actions .mwl-favorite { flex: 1 1 calc(50% - 8px); }
	.mwl-actions .mwl-favorite .btn { width: 100%; }
	.mwl-field-grid, .mwl-review-list, .mwl-form-grid, .mwl-video-grid { grid-template-columns: 1fr; }
	.mwl-review-summary { grid-template-columns: 1fr; }
	.mwl-review-card header { grid-template-columns: 42px minmax(0,1fr); }
	.mwl-review-card header .mwl-rating-stars { grid-column: 1 / -1; }
	.mwl-form-footer { align-items: stretch; flex-direction: column; }
	.mwl-form-footer .mwl-button { width: 100%; }
	.mwl-similar-grid { grid-template-columns: 1fr; }
	.mwl-gallery--editorial .mwl-gallery-grid, .mwl-gallery--mosaic .mwl-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.mwl-gallery--editorial .mwl-gallery-item, .mwl-gallery--editorial .mwl-gallery-item:nth-child(3n + 1), .mwl-gallery--mosaic .mwl-gallery-item, .mwl-gallery--mosaic .mwl-gallery-item:first-child, .mwl-gallery--mosaic .mwl-gallery-item:nth-child(4n) { grid-column: 1; grid-row: auto; min-height: 260px; }
	.mwl-gallery--tech .mwl-gallery-grid { grid-template-columns: 1fr; }
	.mwl-editorial-cover { height: 290px; }
	.mwl-editorial-hero.has-image .mwl-editorial-header-grid { margin-top: -55px; }
	.mwl-editorial-header-grid { padding: 28px 22px; }
	.mwl-editorial-title-row { align-items: flex-start; flex-direction: column; gap: 18px; }
	.mwl-editorial-heading h1 { font-size: clamp(2.65rem, 15vw, 4.5rem); }
	.mwl-sticky-stack { grid-template-columns: 1fr; }
	.mwl-emotional-copy h1 { font-size: clamp(3rem, 17vw, 5.3rem); }
	.mwl-emotional-identity { align-items: flex-start; flex-direction: column; }
	.mwl-emotional-bento .mwl-section { padding: 24px; }
	.mwl-emotional-bento .mwl-field-grid { grid-template-columns: 1fr; }
	.mwl-emotional-map-row .mwl-share-links { grid-template-columns: 1fr; }
	.mwl-tech-hero { padding: 52px 0 104px; }
	.mwl-tech-hero::after { display: none; }
	.mwl-tech-kicker { margin-bottom: 20px; }
	.mwl-tech-kicker em { width: 100%; padding: 0; border: 0; }
	.mwl-tech-copy h1 { font-size: clamp(3rem, 16vw, 5.25rem); }
	.mwl-tech-copy > p { margin-top: 22px; }
	.mwl-tech-meta { gap: 11px 18px; }
	.mwl-tech-visual { min-height: 365px; border-radius: 32px 7px 32px 7px; }
	.mwl-tech-network { width: 98%; right: -14%; top: -2%; }
	.mwl-tech-logo-card { gap: 14px; padding: 16px; border-radius: 22px 6px 22px 6px; }
	.mwl-tech-logo-card .mwl-logo { width: 72px; height: 72px; border-radius: 17px 4px 17px 4px; }
	.mwl-tech-metrics-wrap { margin-top: -60px; }
	.mwl-tech-metrics { grid-template-columns: 1fr; border-radius: 24px 6px 24px 6px; }
	.mwl-tech-metrics article, .mwl-tech-metrics article:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--mwl-line); }
	.mwl-tech-metrics article:last-child { border-bottom: 0; }
	.mwl-tech-container { padding-block: 74px 82px; }
	.mwl-tech-intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 46px; }
	.mwl-tech-intro-index { font-size: 4.3rem; }
	.mwl-tech-intro-tags { grid-column: 1; }
	.mwl-tech-sidebar, .mwl-tech-dashboard:not(.has-story) .mwl-tech-sidebar { grid-template-columns: 1fr; }
	.mwl-tech-module { padding: 22px; border-radius: 24px 6px 24px 6px; }
	.mwl-tech-module--story::before { left: 22px; }
	.mwl-tech-module-head { grid-template-columns: 38px auto minmax(20px,1fr); margin-bottom: 24px; }
	.mwl-tech-module-head span { width: 38px; height: 38px; }
	.mwl-tech .mwl-field-grid { grid-template-columns: 1fr; }
	.mwl-tech-module--gallery .mwl-gallery--tech .mwl-gallery-item { min-height: 250px; }
	.mwl-tech-map-side { grid-template-columns: 1fr; }
	.mwl-tech .mwl-map-frame { min-height: 300px; }
	.mwl-tech-longform > .mwl-section { padding: 22px; border-radius: 24px 6px 24px 6px; }
}
