/*
Theme Name: Marbella Services
Theme URI: https://marbellaservices.eu/
Description: Premium, mobile-first GeneratePress child theme for Marbella Services.
Author: Marbella Luxury Homes
Author URI: https://marbellaluxuryhomes.es/
Template: generatepress
Version: 0.5.3
Text Domain: marbella-services
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
*/



:root {
  --mlhs-primary: #34b0d9;
  --mlhs-primary-dark: #1c8984;
  --mlhs-primary-deep: #126c69;
  --mlhs-ink: #263238;
  --mlhs-muted: #667277;
  --mlhs-mid: #858788;
  --mlhs-border: #d1d4d4;
  --mlhs-bg: #f3f5f6;
  --mlhs-white: #ffffff;
  --mlhs-warm: #f8f5ef;
  --mlhs-success: #247b5b;
  --mlhs-warning: #a35f15;
  --mlhs-danger: #a13d3d;
  --mlhs-radius-sm: 5px;
  --mlhs-radius: 8px;
  --mlhs-radius-lg: 12px;
  --mlhs-shadow-sm: 0 8px 24px rgba(20, 55, 62, .07);
  --mlhs-shadow: 0 18px 48px rgba(20, 55, 62, .12);
  --mlhs-content: 1120px;
  --mlhs-reading: 760px;
  --mlhs-gap: clamp(.75rem, 1.35vw, 1.15rem);
  --logo-size: 1.52rem;
  --line2-ratio: .48;
  --line2-margin: .08rem;
  --logo-line-2-fill: transparent;
  --logo-line-2-outline: #848484;
}

html { scroll-behavior: smooth; }
body {
  color: var(--mlhs-ink);
  background: var(--mlhs-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: inherit; }
a { color: var(--mlhs-primary-dark); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover, a:focus { color: var(--mlhs-primary-deep); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font-size: 1rem; }
:focus-visible { outline: 3px solid rgba(52,176,217,.45); outline-offset: 3px; }

/* Keep GeneratePress structural output, but make the child theme visually authoritative. */
.site.grid-container { max-width: none; }
.site-content { padding: 0; }
.content-area, .site-main { width: 100%; }
.site-main { margin: 0; }
.inside-article { padding: 0; }
.widget-area, .site-info, .site-header { display: none; }

.mlhs-container { width: min(calc(100% - 2rem), var(--mlhs-content)); margin-inline: auto; }
.mlhs-reading { width: min(100%, var(--mlhs-reading)); }
.mlhs-section { padding: clamp(3rem, 5vw, 4.75rem) 0; }
.mlhs-section--soft { background: var(--mlhs-bg); }
.mlhs-section--warm { background: var(--mlhs-warm); }
.mlhs-section--tight { padding: clamp(2.25rem, 4vw, 3.5rem) 0; }
.mlhs-stack > * + * { margin-top: var(--mlhs-stack-space, 1.25rem); }
.mlhs-grid { display: grid; gap: var(--mlhs-gap); }
.mlhs-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.mlhs-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.mlhs-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

.mlhs-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  color: var(--mlhs-primary-dark); font-size: .76rem; font-weight: 750;
  letter-spacing: .095em; line-height: 1.2; text-transform: uppercase;
}
.mlhs-eyebrow::before { content: ""; width: 1.75rem; height: 2px; background: currentColor; }
.mlhs-heading, .mlhs-prose h1, .mlhs-prose h2, .mlhs-prose h3 {
  color: var(--mlhs-ink); font-family: Georgia, "Times New Roman", serif;
  font-weight: 500; line-height: 1.1; letter-spacing: -.025em; margin: 0;
}
.mlhs-heading--xl { font-size: clamp(2.2rem, 3.4vw, 3.5rem); max-width: 680px; }
.mlhs-heading--lg { font-size: clamp(1.65rem, 2.45vw, 2.35rem); }
.mlhs-heading--md { font-size: clamp(1.25rem, 1.8vw, 1.65rem); }
.mlhs-lead { font-size: clamp(.94rem, 1vw, 1.02rem); line-height: 1.58; color: var(--mlhs-muted); max-width: 650px; }
.mlhs-muted { color: var(--mlhs-muted); }
.mlhs-kicker { font-size: .92rem; color: var(--mlhs-muted); }

.mlhs-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 40px; padding: .62rem 1rem; border: 1px solid transparent;
  border-radius: 5px; background: var(--mlhs-primary-deep); color: #fff;
  font-size: .82rem; font-weight: 700; line-height: 1.15; text-decoration: none; cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.mlhs-button:hover, .mlhs-button:focus { color:#fff; background: var(--mlhs-primary-deep); transform: translateY(-1px); box-shadow: var(--mlhs-shadow-sm); }
.mlhs-button--primary { background: var(--mlhs-primary-dark); color: #fff; }
.mlhs-button--primary:hover, .mlhs-button--primary:focus { background: var(--mlhs-primary-deep); color: #fff; }
.mlhs-button--ghost { background: transparent; color: var(--mlhs-ink); border-color: rgba(38,50,56,.22); }
.mlhs-button--ghost:hover, .mlhs-button--ghost:focus { background: #fff; color: var(--mlhs-ink); border-color: var(--mlhs-primary-dark); }
.mlhs-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.mlhs-reassurance { color: var(--mlhs-muted); font-size: .9rem; margin-top: .85rem; }

/* Header */
.mlhs-header { position: relative; z-index: 40; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(209,212,212,.75); }
.mlhs-header.is-sticky { position: sticky; top: 0; backdrop-filter: blur(14px); }
.admin-bar .mlhs-header.is-sticky { top: 32px; }
.mlhs-header__inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mlhs-brand { display: inline-flex; align-items: center; color: var(--mlhs-primary); text-decoration: none; min-width: 0; }
.mlhs-brand:hover, .mlhs-brand:focus { color: var(--mlhs-primary); }
.mlhs-brand__text { display: grid; width: 126px; line-height: .76; color: #34b0d9; }
.mlhs-brand__marbella,
.mlhs-brand__context { display:block; font-family: "Iskoola Pota", Georgia, "Times New Roman", serif; white-space:nowrap; transform-origin:left center; }
.mlhs-brand__marbella { color:#34b0d9; font-size:var(--logo-size); font-weight:400; letter-spacing:.005em; }
.mlhs-brand__context { width:max-content; margin-top:.2rem; margin-left:var(--line2-margin); color:transparent !important; font-size:calc(var(--logo-size) * var(--line2-ratio)) !important; font-weight:400 !important; letter-spacing:.055em; text-transform:uppercase; -webkit-text-stroke:1.15px #848484 !important; paint-order:stroke; text-shadow:none !important; }
.mlhs-nav { display: flex; align-items: center; gap: .25rem; }
.mlhs-nav ul { list-style:none; display:flex; align-items:center; gap:.1rem; margin:0; padding:0; }
.mlhs-nav a { display:block; padding:.5rem .68rem; border-radius:4px; color:var(--mlhs-ink); text-decoration:none; font-size:.82rem; font-weight:650; }
.mlhs-nav a:hover, .mlhs-nav .current-menu-item > a, .mlhs-nav .current_page_item > a { background:var(--mlhs-bg); color:var(--mlhs-primary-deep); }
.mlhs-header__cta { align-self:center; margin-left:.55rem; min-height:38px; padding:.58rem .9rem; font-size:.78rem; line-height:1; white-space:nowrap; }
.mlhs-nav a.mlhs-button--primary,
.mlhs-nav a.mlhs-button--primary:visited { background:var(--mlhs-primary-dark); color:#fff; }
.mlhs-nav a.mlhs-button--primary:hover,
.mlhs-nav a.mlhs-button--primary:focus { background:var(--mlhs-primary-deep); color:#fff; }
.mlhs-menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--mlhs-border); border-radius:5px; background:#fff; padding:0; place-items:center; }
.mlhs-menu-toggle svg { width:22px; }

/* Hero */
.mlhs-hero { position:relative; overflow:hidden; background: linear-gradient(115deg,#f8fbfc 0%,#eef7f8 54%,#e9f5f4 100%); }
.mlhs-hero::before, .mlhs-hero::after { content:""; position:absolute; border-radius:50%; filter: blur(1px); pointer-events:none; }
.mlhs-hero::before { width:460px; height:460px; right:-120px; top:-170px; background:rgba(52,176,217,.16); }
.mlhs-hero::after { width:350px; height:350px; left:-170px; bottom:-180px; background:rgba(28,137,132,.12); }
.mlhs-hero__inner { position:relative; z-index:2; min-height: min(620px, calc(100vh - 68px)); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr); align-items:center; gap:clamp(2rem,4.5vw,4.5rem); padding:clamp(3rem,5vw,4.75rem) 0; }
.mlhs-hero__copy > * + * { margin-top:1rem; }
.mlhs-hero__visual { position:relative; min-height:410px; }
.mlhs-hero-card { position:absolute; border:1px solid rgba(255,255,255,.7); border-radius: var(--mlhs-radius-lg); background:rgba(255,255,255,.88); box-shadow:var(--mlhs-shadow); backdrop-filter: blur(10px); }
.mlhs-hero-card--main { inset:3rem 0 2rem 3rem; padding:1rem; overflow:hidden; background:linear-gradient(150deg,#fff,#e9f5f4); }
.mlhs-hero-card--main .mlhs-scene { height:100%; border-radius:calc(var(--mlhs-radius-lg) - 8px); background:linear-gradient(165deg,rgba(52,176,217,.32),rgba(28,137,132,.12)), radial-gradient(circle at 68% 28%,#fff 0 7%,transparent 8%), linear-gradient(180deg,#b9e6ef 0 44%,#e9dbc1 45% 56%,#7eaf93 57% 100%); position:relative; overflow:hidden; }
.mlhs-scene::before { content:""; position:absolute; left:12%; right:12%; bottom:13%; height:47%; background:#fff; clip-path:polygon(0 33%,45% 0,100% 28%,100% 100%,0 100%); box-shadow:inset 0 -60px 0 #f4f1e8; }
.mlhs-scene::after { content:""; position:absolute; width:34%; height:22%; left:34%; bottom:11%; background:#4aa8b7; border:8px solid rgba(255,255,255,.92); transform:skewX(-10deg); }
.mlhs-hero-card--float { left:0; bottom:0; width:min(300px,70%); padding:1.15rem; }
.mlhs-hero-card--float strong { display:block; font-family:Georgia,serif; font-size:1.2rem; font-weight:500; }
.mlhs-hero-card--float p { margin:.35rem 0 0; color:var(--mlhs-muted); font-size:.9rem; }
.mlhs-hero-card--badge { top:0; right:1rem; width:210px; padding:1rem; }
.mlhs-mini-list { list-style:none; margin:.7rem 0 0; padding:0; display:grid; gap:.55rem; font-size:.86rem; }
.mlhs-mini-list li { display:flex; align-items:center; gap:.45rem; }
.mlhs-mini-list li::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--mlhs-primary); }

.mlhs-trust-strip { position:relative; z-index:3; border-top:1px solid rgba(209,212,212,.7); background:rgba(255,255,255,.8); }
.mlhs-trust-strip__inner { display:grid; grid-template-columns:1.15fr repeat(3,1fr); gap:1rem; align-items:center; padding:1.15rem 0; }
.mlhs-trust-item { display:flex; align-items:center; gap:.65rem; color:var(--mlhs-muted); font-size:.93rem; }
.mlhs-trust-item svg { width:20px; height:20px; color:var(--mlhs-primary-dark); flex:0 0 auto; }
.mlhs-trust-item--lead { color:var(--mlhs-ink); font-weight:750; }

/* Search and cards */
.mlhs-service-search { display:grid; grid-template-columns:1fr auto; gap:.45rem; max-width:620px; padding:.38rem; border:1px solid rgba(28,137,132,.22); border-radius:6px; background:#fff; box-shadow:0 5px 16px rgba(20,55,62,.06); }
.mlhs-service-search input[type="search"] { width:100%; min-height:40px; border:0; background:transparent; padding:.5rem .75rem; color:var(--mlhs-ink); font-size:.9rem; }
.mlhs-service-search input[type="search"]:focus { outline:0; }
.mlhs-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; height:auto; padding:1.15rem; border:1px solid #dfe4e5; border-radius:6px; background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%); box-shadow:0 2px 8px rgba(20,55,62,.035); overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mlhs-card:hover { transform:translateY(-1px); border-color:rgba(52,176,217,.55); box-shadow:0 7px 20px rgba(20,55,62,.07); }
.mlhs-card__icon { width:36px; height:36px; display:grid; place-items:center; border-radius:4px; background:#edf7f8; color:var(--mlhs-primary-dark); margin-bottom:.8rem; }
.mlhs-card__icon svg { width:20px; height:20px; }
.mlhs-card h3 { margin:0; font-family:Georgia,serif; font-size:1.08rem; font-weight:500; line-height:1.22; }
.mlhs-card p { color:var(--mlhs-muted); margin:.45rem 0 .75rem; font-size:.84rem; line-height:1.5; }
.mlhs-card__link { margin-top:auto; display:inline-flex; align-items:center; gap:.3rem; color:var(--mlhs-primary-deep); font-size:.78rem; font-weight:700; text-decoration:none; }
.mlhs-card__link::after { content:"→"; transition:transform .18s ease; }
.mlhs-card:hover .mlhs-card__link::after { transform:translateX(3px); }
.mlhs-card--feature { background:linear-gradient(145deg,#fff,#f4fbfb); }
.mlhs-card--dark { background:var(--mlhs-ink); border-color:var(--mlhs-ink); color:#fff; }
.mlhs-card--dark h3, .mlhs-card--dark .mlhs-card__link { color:#fff; }
.mlhs-card--dark p { color:rgba(255,255,255,.72); }

.mlhs-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:clamp(1.5rem,2.6vw,2.3rem); }
.mlhs-section-heading__copy > * + * { margin-top:.8rem; }
.mlhs-text-link { font-weight:750; text-decoration:none; white-space:nowrap; }

.mlhs-situation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.mlhs-situation { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.8rem .9rem; border:1px solid var(--mlhs-border); border-radius:5px; background:#fff; color:var(--mlhs-ink); text-decoration:none; font-size:.84rem; font-weight:650; }
.mlhs-situation:hover { border-color:var(--mlhs-primary); box-shadow:var(--mlhs-shadow-sm); color:var(--mlhs-primary-deep); }
.mlhs-situation span:last-child { color:var(--mlhs-primary-dark); }

/* Process */
.mlhs-process { counter-reset:mlhs-step; }
.mlhs-step { position:relative; padding:1.2rem 1.2rem 1.2rem 3.6rem; border-left:1px solid var(--mlhs-border); }
.mlhs-step::before { counter-increment:mlhs-step; content:counter(mlhs-step); position:absolute; left:-15px; top:1.15rem; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--mlhs-primary-dark); color:#fff; font-size:.75rem; font-weight:800; box-shadow:0 0 0 6px var(--mlhs-bg); }
.mlhs-step h3 { margin:0; font-family:Georgia,serif; font-weight:500; font-size:1.08rem; }
.mlhs-step p { margin:.5rem 0 0; color:var(--mlhs-muted); }

.mlhs-comparison { overflow:auto; border:1px solid var(--mlhs-border); border-radius:var(--mlhs-radius); background:#fff; }
.mlhs-comparison table { width:100%; border-collapse:collapse; margin:0; min-width:650px; }
.mlhs-comparison th, .mlhs-comparison td { padding:.72rem .85rem; text-align:left; border-bottom:1px solid var(--mlhs-border); font-size:.82rem; }
.mlhs-comparison th { background:var(--mlhs-bg); color:var(--mlhs-ink); font-size:.9rem; }
.mlhs-comparison tr:last-child td { border-bottom:0; }
.mlhs-comparison td:nth-child(2) { color:var(--mlhs-success); font-weight:700; }

.mlhs-quote { margin:0; padding:1.55rem; border-radius:8px; background:var(--mlhs-ink); color:#fff; }
.mlhs-quote blockquote { margin:0; font-family:Georgia,serif; font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.35; }
.mlhs-quote figcaption { margin-top:1rem; color:rgba(255,255,255,.7); font-size:.9rem; }
.mlhs-proof-placeholder { border:1px dashed rgba(255,255,255,.35); padding:.85rem; border-radius:10px; font-family:inherit; font-size:.85rem; color:rgba(255,255,255,.65); }

.mlhs-cta-panel { position:relative; overflow:hidden; border-radius:10px; padding:clamp(1.75rem,3.5vw,2.8rem); background:linear-gradient(130deg,#207e80,#176c73); color:#fff; box-shadow:0 12px 30px rgba(20,55,62,.13); }
.mlhs-cta-panel::after { content:""; position:absolute; width:320px; height:320px; border-radius:50%; right:-120px; top:-170px; background:rgba(255,255,255,.13); }
.mlhs-cta-panel h2, .mlhs-cta-panel h3 { color:#fff; }
.mlhs-cta-panel p { color:rgba(255,255,255,.83); max-width:720px; }
.mlhs-cta-panel .mlhs-button--ghost { color:#fff; border-color:rgba(255,255,255,.45); }
.mlhs-cta-panel .mlhs-button--ghost:hover { color:var(--mlhs-ink); }

/* Interior pages */
.mlhs-page-hero { background:linear-gradient(120deg,#f8fbfc,#edf7f6); border-bottom:1px solid var(--mlhs-border); }
.mlhs-page-hero__inner { padding:clamp(2.4rem,4.5vw,4rem) 0; }
.mlhs-page-hero__inner > * + * { margin-top:1rem; }
.mlhs-breadcrumbs { font-size:.88rem; color:var(--mlhs-muted); }
.mlhs-breadcrumbs a { color:inherit; }
.mlhs-content-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:clamp(2rem,5vw,5rem); align-items:start; }
.mlhs-sidebar-card { position:sticky; top:112px; padding:1.4rem; border:1px solid var(--mlhs-border); border-radius:var(--mlhs-radius); background:var(--mlhs-bg); }
.mlhs-sidebar-card h2 { font-size:1.4rem; }
.mlhs-meta-list { list-style:none; margin:1rem 0; padding:0; display:grid; gap:.75rem; }
.mlhs-meta-list li { display:grid; gap:.15rem; }
.mlhs-meta-list strong { font-size:.82rem; color:var(--mlhs-muted); text-transform:uppercase; letter-spacing:.06em; }
.mlhs-prose { width:min(100%,var(--mlhs-reading)); }
.mlhs-prose > *:first-child { margin-top:0; }
.mlhs-prose h2 { font-size:clamp(1.35rem,2vw,1.75rem); margin-top:2.2rem; }
.mlhs-prose h3 { font-size:clamp(1.15rem,1.6vw,1.4rem); margin-top:1.8rem; }
.mlhs-prose p, .mlhs-prose ul, .mlhs-prose ol { margin-top:1rem; }
.mlhs-prose ul, .mlhs-prose ol { padding-left:1.25rem; }
.mlhs-prose li + li { margin-top:.45rem; }
.mlhs-prose blockquote { margin:2rem 0; padding:1.25rem 1.5rem; border-left:4px solid var(--mlhs-primary); background:var(--mlhs-bg); }
.mlhs-prose .wp-block-button__link { border-radius:999px; background:var(--mlhs-primary-dark); }
.mlhs-prose .wp-block-image img { border-radius:var(--mlhs-radius); }

.mlhs-service-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:-2rem; position:relative; z-index:3; }
.mlhs-summary-item { padding:1.05rem; border:1px solid var(--mlhs-border); border-radius:7px; background:#fff; box-shadow:var(--mlhs-shadow-sm); }
.mlhs-summary-item strong { display:block; font-size:.8rem; color:var(--mlhs-muted); text-transform:uppercase; letter-spacing:.06em; }
.mlhs-summary-item span { display:block; margin-top:.3rem; font-weight:700; }

/* Forms */
.mlhs-form { display:grid; gap:1.1rem; }
.mlhs-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.mlhs-field { display:grid; gap:.4rem; }
.mlhs-field label { font-weight:700; font-size:.92rem; }
.mlhs-field input, .mlhs-field select, .mlhs-field textarea {
  width:100%; min-height:50px; border:1px solid var(--mlhs-border); border-radius:12px; background:#fff; color:var(--mlhs-ink); padding:.75rem .85rem;
}
.mlhs-field textarea { min-height:150px; resize:vertical; }
.mlhs-field input:focus, .mlhs-field select:focus, .mlhs-field textarea:focus { border-color:var(--mlhs-primary); box-shadow:0 0 0 3px rgba(52,176,217,.14); outline:0; }
.mlhs-field--full { grid-column:1 / -1; }
.mlhs-form-note { padding:1rem; border-radius:12px; background:var(--mlhs-bg); color:var(--mlhs-muted); font-size:.9rem; }

/* Archive / search */
.mlhs-results-header { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:2rem; }
.mlhs-pagination { margin-top:2.5rem; }
.mlhs-pagination .nav-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.mlhs-pagination .page-numbers { display:grid; place-items:center; min-width:42px; height:42px; padding:0 .7rem; border:1px solid var(--mlhs-border); border-radius:10px; text-decoration:none; }
.mlhs-pagination .current { background:var(--mlhs-primary-dark); color:#fff; border-color:var(--mlhs-primary-dark); }

/* Footer */
.mlhs-footer { background:#18282d; color:rgba(255,255,255,.75); }
.mlhs-footer a { color:#fff; }
.mlhs-footer__main { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:clamp(1.5rem,3vw,3rem); padding:clamp(2.7rem,4.5vw,4rem) 0; }
.mlhs-footer h2, .mlhs-footer h3 { color:#fff; font-family:Georgia,serif; font-weight:500; }
.mlhs-footer h3 { font-size:1.15rem; }
.mlhs-footer ul { list-style:none; margin:1rem 0 0; padding:0; display:grid; gap:.55rem; }
.mlhs-footer__brand p { max-width:380px; }
.mlhs-footer__bottom { border-top:1px solid rgba(255,255,255,.12); padding:1.15rem 0; font-size:.84rem; }
.mlhs-footer__bottom-inner { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

.mlhs-mobile-bar { display:none; }
.mlhs-screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 1024px) {
  .mlhs-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mlhs-hero__inner { grid-template-columns:1fr; min-height:auto; }
  .mlhs-hero__copy { max-width:820px; }
  .mlhs-hero__visual { min-height:460px; width:min(100%,680px); margin-inline:auto; }
  .mlhs-content-layout { grid-template-columns:1fr; }
  .mlhs-sidebar-card { position:static; }
  .mlhs-footer__main { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mlhs-nav { position:absolute; left:1rem; right:1rem; top:calc(100% + 1px); display:none; background:#fff; border:1px solid var(--mlhs-border); border-radius:0 0 18px 18px; box-shadow:var(--mlhs-shadow); padding:1rem; }
  .mlhs-nav.is-open { display:block; }
  .mlhs-nav ul { align-items:stretch; flex-direction:column; }
  .mlhs-nav a { border-radius:10px; }
  .mlhs-header__cta { margin:.5rem 0 0; width:100%; }
  .mlhs-menu-toggle { display:grid; }
}

@media (max-width: 768px) {
  body { font-size:15px; padding-bottom:70px; }
  .admin-bar .mlhs-header.is-sticky { top:46px; }
  .mlhs-section { padding:2.8rem 0; }
  .mlhs-grid--2, .mlhs-grid--3, .mlhs-grid--4, .mlhs-situation-grid, .mlhs-form-grid, .mlhs-service-summary { grid-template-columns:1fr; }
  .mlhs-section-heading, .mlhs-results-header { align-items:flex-start; flex-direction:column; }
  .mlhs-header__inner { min-height:62px; }
  .mlhs-brand__mark { width:40px; height:40px; }
  .mlhs-brand__marbella { font-size:1.22rem; }
  .mlhs-brand__context { font-size:.58rem !important; -webkit-text-stroke:1.1px var(--logo-line-2-outline) !important; }
  .mlhs-hero__inner { padding:2.8rem 0 2rem; }
  .mlhs-heading--xl { font-size:clamp(2rem,8.5vw,2.8rem); }
  .mlhs-service-search { grid-template-columns:1fr; border-radius:6px; }
  .mlhs-service-search .mlhs-button { width:100%; }
  .mlhs-hero__visual { min-height:350px; }
  .mlhs-hero-card--main { inset:2rem 0 1.5rem 1.5rem; }
  .mlhs-hero-card--badge { width:175px; right:0; }
  .mlhs-hero-card--float { width:76%; }
  .mlhs-trust-strip__inner { grid-template-columns:1fr 1fr; }
  .mlhs-trust-item--lead { grid-column:1/-1; }
  .mlhs-footer__main { grid-template-columns:1fr; }
  .mlhs-mobile-bar { position:fixed; z-index:60; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; gap:.5rem; padding:.65rem max(.65rem,env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left)); background:rgba(255,255,255,.96); border-top:1px solid var(--mlhs-border); backdrop-filter:blur(12px); }
  .mlhs-mobile-bar .mlhs-button { min-height:48px; padding:.75rem .6rem; font-size:.9rem; }
}

@media (max-width: 480px) {
  .mlhs-container { width:min(calc(100% - 1.25rem),var(--mlhs-content)); }
  .mlhs-trust-strip__inner { grid-template-columns:1fr; }
  .mlhs-trust-item--lead { grid-column:auto; }
  .mlhs-hero__visual { min-height:315px; }
  .mlhs-hero-card--badge { display:none; }
  .mlhs-hero-card--main { inset:1rem 0 1rem .75rem; }
  .mlhs-hero-card--float { left:0; bottom:0; width:88%; }
}

/* v0.1.1 typography and button contrast corrections.
   These selectors deliberately outrank GeneratePress link/button states. */
a.mlhs-button,
a.mlhs-button:visited,
button.mlhs-button,
input.mlhs-button {
  color: #fff;
}
a.mlhs-button:hover,
a.mlhs-button:focus,
button.mlhs-button:hover,
button.mlhs-button:focus,
input.mlhs-button:hover,
input.mlhs-button:focus {
  color: #fff;
}
a.mlhs-button--ghost,
a.mlhs-button--ghost:visited,
button.mlhs-button--ghost {
  color: var(--mlhs-ink);
}
a.mlhs-button--ghost:hover,
a.mlhs-button--ghost:focus,
button.mlhs-button--ghost:hover,
button.mlhs-button--ghost:focus {
  color: var(--mlhs-ink);
}
.mlhs-cta-panel a.mlhs-button--ghost,
.mlhs-cta-panel a.mlhs-button--ghost:visited {
  color: #fff;
}
.mlhs-cta-panel a.mlhs-button--ghost:hover,
.mlhs-cta-panel a.mlhs-button--ghost:focus {
  color: var(--mlhs-ink);
}
.mlhs-header a.mlhs-button--primary,
.mlhs-header a.mlhs-button--primary:visited,
.mlhs-service-search .mlhs-button,
.mlhs-service-search .mlhs-button:visited {
  color: #fff;
}


/* v0.1.3 compact premium scale and grid safeguards. */
.mlhs-grid--3 { align-items:stretch; grid-auto-rows:auto; }
.mlhs-grid--3 > * { min-width:0; max-width:100%; }
.mlhs-header .mlhs-nav { align-self:stretch; }
.mlhs-header .mlhs-nav > ul { height:100%; }
.mlhs-header .mlhs-nav a.mlhs-header__cta,
.mlhs-header .mlhs-nav a.mlhs-header__cta:visited {
  display:inline-flex;
  align-self:center;
  width:auto;
  border-radius:5px;
  background:#176c73;
  color:#fff;
}
.mlhs-header .mlhs-nav a.mlhs-header__cta:hover,
.mlhs-header .mlhs-nav a.mlhs-header__cta:focus { background:#125d62; color:#fff; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}


/* v0.3.0 service catalogue and logo refinement */
.mlhs-heading--service { font-size:clamp(1.7rem,2.7vw,2.55rem); max-width:760px; }
.mlhs-page-hero--compact .mlhs-page-hero__inner { padding:2.6rem 0 3rem; }
.mlhs-page-hero--service .mlhs-page-hero__inner { padding:2.8rem 0 4.5rem; }
.mlhs-page-hero--service .mlhs-lead { max-width:720px; }
.mlhs-section--service-content { padding-top:3.25rem; }
.mlhs-summary-item small { display:block; margin-top:.35rem; color:var(--mlhs-muted); font-size:.78rem; line-height:1.45; }
.mlhs-sidebar-price { display:grid; gap:.3rem; padding:.85rem 0; border-top:1px solid var(--mlhs-border); border-bottom:1px solid var(--mlhs-border); }
.mlhs-sidebar-price strong { color:var(--mlhs-primary-deep); font-size:1rem; }
.mlhs-sidebar-price span { color:var(--mlhs-muted); font-size:.82rem; }

.mlhs-category-nav { position:relative; z-index:4; background:#fff; border-bottom:1px solid var(--mlhs-border); }
.mlhs-category-nav__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.6rem; padding:1rem 0; }
.mlhs-category-tile { min-height:92px; display:grid; place-items:center; align-content:center; gap:.45rem; padding:.75rem .5rem; border:1px solid var(--mlhs-border); border-radius:6px; background:#fff; color:var(--mlhs-ink); text-align:center; text-decoration:none; font-size:.76rem; font-weight:700; line-height:1.25; }
.mlhs-category-tile:hover,.mlhs-category-tile:focus { border-color:var(--mlhs-primary); color:var(--mlhs-primary-deep); background:#f7fbfc; box-shadow:var(--mlhs-shadow-sm); }
.mlhs-category-tile__icon { width:28px; height:28px; display:grid; place-items:center; color:var(--mlhs-primary-dark); }
.mlhs-category-tile__icon svg { width:100%; height:100%; }
.mlhs-services-catalogue { padding-top:3.25rem; }
.mlhs-service-group { scroll-margin-top:90px; }
.mlhs-service-group + .mlhs-service-group { margin-top:4rem; padding-top:4rem; border-top:1px solid var(--mlhs-border); }
.mlhs-service-group__heading { display:flex; align-items:center; gap:1rem; margin-bottom:1.4rem; }
.mlhs-service-group__icon { flex:0 0 46px; width:46px; height:46px; display:grid; place-items:center; border:1px solid #cce9ed; border-radius:50%; background:#eef8f9; color:var(--mlhs-primary-dark); }
.mlhs-service-group__icon svg { width:25px; height:25px; }
.mlhs-service-group__heading .mlhs-eyebrow { margin-bottom:.3rem; }

.mlhs-service-card { min-height:100%; display:flex; flex-direction:column; padding:1.15rem; border-radius:7px; }
.mlhs-card__topline { display:flex; align-items:center; gap:.55rem; min-height:28px; }
.mlhs-card__category { color:var(--mlhs-muted); font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.mlhs-service-card h3 { margin:.85rem 0 .5rem; font-size:1.15rem; line-height:1.2; }
.mlhs-service-card h3 a { color:inherit; text-decoration:none; }
.mlhs-service-card p { margin:.2rem 0 0; font-size:.86rem; line-height:1.55; }
.mlhs-card__price { margin-top:auto !important; padding-top:1rem; color:var(--mlhs-primary-deep); font-weight:750; }
.mlhs-service-card .mlhs-card__link { margin-top:.7rem; }

@supports not (-webkit-text-stroke: 1px #000) {
  .mlhs-brand__context { color:#fff !important; text-shadow:-1px -1px 0 #848484,1px -1px 0 #848484,-1px 1px 0 #848484,1px 1px 0 #848484 !important; }
}
@media (max-width:1024px) {
  .mlhs-category-nav__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:768px) {
  .mlhs-page-hero--service .mlhs-page-hero__inner { padding:2.2rem 0 3.7rem; }
  .mlhs-heading--service { font-size:clamp(1.65rem,7vw,2.15rem); }
  .mlhs-category-nav__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mlhs-category-tile { min-height:78px; }
  .mlhs-service-group + .mlhs-service-group { margin-top:3rem; padding-top:3rem; }
}


/* v0.4.0: true outline wordmark, compact catalogue and disciplined CTA scale. */
.mlhs-brand__text { width:132px; display:block; line-height:1; }
.mlhs-brand__marbella { display:block; font-size:1.55rem; line-height:.82; }
.mlhs-brand__outline { display:block; width:100%; height:24px; margin-top:1px; overflow:visible; }
.mlhs-brand__outline text { font-family:"Iskoola Pota", Georgia, serif; font-size:72px; font-weight:400; fill:none; stroke:#848484; stroke-width:2.2px; vector-effect:non-scaling-stroke; paint-order:stroke; }
.mlhs-brand__context { display:none !important; }
.mlhs-button { min-height:34px; padding:.48rem .78rem; font-size:.76rem; border-radius:4px; }
.mlhs-header__cta { min-height:34px; padding:.48rem .72rem; }
.mlhs-page-hero--service .mlhs-page-hero__inner { padding:2.2rem 0 3.4rem; }
.mlhs-heading--service { font-size:clamp(1.65rem,2.1vw,2.15rem); }
.mlhs-page-hero--service .mlhs-lead { font-size:.94rem; }
.mlhs-service-summary { margin-top:-2rem; }
.mlhs-section--service-content { padding-top:2.6rem; }
.mlhs-prose h2 { font-size:clamp(1.35rem,1.8vw,1.72rem); margin-top:2.1rem; margin-bottom:.65rem; }
.mlhs-prose h3 { font-size:1.08rem; margin-top:1.4rem; }
.mlhs-prose p,.mlhs-prose li { font-size:.9rem; line-height:1.65; }
.mlhs-prose ul,.mlhs-prose ol { margin-top:.55rem; }
.mlhs-category-nav { position:sticky; top:68px; z-index:20; box-shadow:0 4px 14px rgba(20,55,62,.05); }
.admin-bar .mlhs-category-nav { top:100px; }
.mlhs-category-nav__grid { grid-template-columns:repeat(8,minmax(0,1fr)); gap:.45rem; padding:.7rem 0; }
.mlhs-category-tile { appearance:none; min-height:66px; padding:.5rem .35rem; border-radius:4px; font:inherit; font-size:.69rem; line-height:1.15; cursor:pointer; }
.mlhs-category-tile__icon { width:22px; height:22px; }
.mlhs-category-tile.is-active { border-color:var(--mlhs-primary-dark); background:#edf8f8; color:var(--mlhs-primary-deep); box-shadow:inset 0 -2px 0 var(--mlhs-primary-dark); }
.mlhs-services-catalogue { padding-top:2.35rem; }
.mlhs-service-group + .mlhs-service-group { margin-top:2.75rem; padding-top:2.75rem; }
.mlhs-service-group[hidden] { display:none !important; }
.mlhs-service-group__heading { margin-bottom:1rem; }
.mlhs-service-group__icon { width:38px; height:38px; flex-basis:38px; }
.mlhs-service-group__icon svg { width:20px; height:20px; }
.mlhs-services-catalogue .mlhs-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:.75rem; }
.mlhs-service-card { min-height:0; height:auto; padding:.9rem; border-radius:5px; overflow:visible; }
.mlhs-card__topline { min-height:22px; }
.mlhs-card__icon { width:26px; height:26px; border-radius:4px; }
.mlhs-card__icon svg { width:14px; height:14px; }
.mlhs-card__category { font-size:.62rem; }
.mlhs-service-card h3 { margin:.58rem 0 .35rem; font-size:1rem; line-height:1.18; }
.mlhs-service-card p { margin:0; font-size:.79rem; line-height:1.48; }
.mlhs-service-card .mlhs-card__price { margin-top:.75rem !important; padding-top:.65rem; border-top:1px solid #e7ecec; font-size:.75rem; }
.mlhs-service-card .mlhs-card__link { margin-top:.45rem; font-size:.74rem; }
.mlhs-card__link::after { content:"→"; }
.mlhs-content-layout { grid-template-columns:minmax(0,1fr) 285px; gap:clamp(1.5rem,3vw,3rem); }
.mlhs-sidebar-card { padding:1.1rem; }
.mlhs-cta-panel { padding:1.5rem 1.7rem; }
@media (max-width:1024px) {
 .mlhs-category-nav__grid { display:flex; overflow-x:auto; scrollbar-width:thin; }
 .mlhs-category-tile { flex:0 0 118px; }
 .mlhs-services-catalogue .mlhs-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
 .mlhs-brand__text { width:112px; }
 .mlhs-brand__marbella { font-size:1.3rem; }
 .mlhs-brand__outline { height:20px; }
 .mlhs-category-nav { top:62px; }
 .admin-bar .mlhs-category-nav { top:108px; }
 .mlhs-services-catalogue .mlhs-grid--3 { grid-template-columns:1fr; }
 .mlhs-service-card { padding:.85rem; }
}


/* v0.5.0 interaction, logo and catalogue corrections. */
.mlhs-brand { width:132px; flex:0 0 132px; }
.mlhs-brand__image { display:block; width:100%; height:auto; }
.mlhs-brand__text,.mlhs-brand__marbella,.mlhs-brand__outline,.mlhs-brand__context { display:none !important; }
.mlhs-category-card,.mlhs-service-card { color:var(--mlhs-ink); text-decoration:none; min-width:0; }
.mlhs-category-card { cursor:pointer; }
.mlhs-category-card:hover,.mlhs-category-card:focus-visible,.mlhs-service-card:hover,.mlhs-service-card:focus-visible { color:var(--mlhs-ink); border-color:var(--mlhs-primary); box-shadow:var(--mlhs-shadow-sm); transform:translateY(-1px); }
.mlhs-category-card .mlhs-card__icon { width:42px; height:42px; margin-bottom:.85rem; }
.mlhs-category-card .mlhs-card__icon svg { width:23px; height:23px; }
.mlhs-category-card .mlhs-card__link,.mlhs-service-card .mlhs-card__link { display:inline-flex; align-items:center; gap:.25rem; color:var(--mlhs-primary-deep); font-weight:700; }
.mlhs-card__link::after { content:"→"; }
.mlhs-service-card { display:flex; flex-direction:column; height:100%; overflow:hidden; }
.mlhs-service-card h3 { color:var(--mlhs-ink); }
.mlhs-service-card .mlhs-card__price { margin-top:auto !important; }
.mlhs-services-catalogue .mlhs-grid--3 > * { min-width:0; }
.mlhs-service-group { margin:0; padding:0; border-top:0; }
.mlhs-service-group:not([hidden]) ~ .mlhs-service-group:not([hidden]) { margin-top:2.75rem; padding-top:2.75rem; border-top:1px solid var(--mlhs-border); }
.mlhs-service-group[hidden] { display:none !important; }
.mlhs-category-tile__icon { width:30px; height:30px; }
.mlhs-category-tile__icon svg { width:21px; height:21px; }
@media (max-width:768px) { .mlhs-brand { width:112px; flex-basis:112px; } }

/* v0.5.3 mobile service-page rebuild. */
@media (max-width: 768px) {
  body.single-mlhs_service { padding-bottom: 48px; }
  body.single-mlhs_service .mlhs-header__inner { min-height: 54px; }
  body.single-mlhs_service .mlhs-page-hero--service .mlhs-page-hero__inner {
    padding: 1.2rem 0 1rem;
  }
  body.single-mlhs_service .mlhs-breadcrumbs {
    margin-bottom: .55rem;
    font-size: .72rem;
  }
  body.single-mlhs_service .mlhs-eyebrow {
    margin-bottom: .45rem;
    font-size: .64rem;
  }
  body.single-mlhs_service .mlhs-heading--service {
    margin: 0 0 .45rem;
    font-size: clamp(1.55rem, 7.5vw, 1.9rem);
    line-height: 1.08;
  }
  body.single-mlhs_service .mlhs-page-hero--service .mlhs-lead {
    margin: 0 0 .75rem;
    font-size: .88rem;
    line-height: 1.48;
  }
  body.single-mlhs_service .mlhs-page-hero--service .mlhs-actions {
    margin-top: .6rem;
  }
  body.single-mlhs_service .mlhs-page-hero--service .mlhs-reassurance {
    margin-top: .45rem;
    font-size: .69rem;
  }
  body.single-mlhs_service .mlhs-button {
    min-height: 32px;
    padding: .42rem .66rem;
    font-size: .72rem;
  }

  body.single-mlhs_service .mlhs-service-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 0;
    border: 1px solid var(--mlhs-border);
    border-width: 0 0 1px;
    background: #fff;
  }
  body.single-mlhs_service .mlhs-summary-item {
    min-width: 0;
    padding: .7rem .45rem;
    border: 0;
    border-right: 1px solid var(--mlhs-border);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }
  body.single-mlhs_service .mlhs-summary-item:last-child { border-right: 0; }
  body.single-mlhs_service .mlhs-summary-item strong {
    display: block;
    margin-bottom: .2rem;
    font-size: .56rem;
    letter-spacing: .07em;
  }
  body.single-mlhs_service .mlhs-summary-item span {
    display: block;
    font-size: .68rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }
  body.single-mlhs_service .mlhs-summary-item small {
    display: none;
  }

  body.single-mlhs_service .mlhs-section--service-content {
    padding: 1.35rem 0 1.15rem;
  }
  body.single-mlhs_service .mlhs-content-layout {
    display: block;
  }
  body.single-mlhs_service .mlhs-sidebar-card {
    display: none;
  }
  body.single-mlhs_service .mlhs-prose h2 {
    margin: 1.25rem 0 .45rem;
    font-size: 1.28rem;
    line-height: 1.16;
  }
  body.single-mlhs_service .mlhs-prose h2:first-child { margin-top: 0; }
  body.single-mlhs_service .mlhs-prose h3 {
    margin: 1rem 0 .35rem;
    font-size: 1rem;
  }
  body.single-mlhs_service .mlhs-prose p,
  body.single-mlhs_service .mlhs-prose li {
    font-size: .86rem;
    line-height: 1.5;
  }
  body.single-mlhs_service .mlhs-prose p { margin: 0 0 .75rem; }
  body.single-mlhs_service .mlhs-prose ul,
  body.single-mlhs_service .mlhs-prose ol {
    margin: .35rem 0 .8rem;
    padding-left: 1.15rem;
  }
  body.single-mlhs_service .mlhs-prose li + li { margin-top: .22rem; }

  body.single-mlhs_service .mlhs-section--tight {
    padding: .85rem 0 1.2rem;
  }
  body.single-mlhs_service .mlhs-cta-panel {
    padding: 1rem;
    border-radius: 5px;
  }
  body.single-mlhs_service .mlhs-cta-panel h2 {
    font-size: 1.28rem;
    line-height: 1.15;
  }
  body.single-mlhs_service .mlhs-cta-panel p {
    margin-bottom: .6rem;
    font-size: .78rem;
    line-height: 1.45;
  }

  .mlhs-mobile-bar {
    grid-template-columns: auto 1fr;
    gap: .35rem;
    padding: .35rem max(.45rem, env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left));
  }
  .mlhs-mobile-bar .mlhs-button {
    min-height: 36px;
    padding: .42rem .55rem;
    font-size: .72rem;
    border-radius: 3px;
  }
  .mlhs-mobile-bar .mlhs-button--ghost {
    min-width: 92px;
  }
}

@media (max-width: 380px) {
  body.single-mlhs_service .mlhs-container { width: calc(100% - 1rem); }
  body.single-mlhs_service .mlhs-summary-item { padding-inline: .3rem; }
  body.single-mlhs_service .mlhs-summary-item span { font-size: .63rem; }
  .mlhs-mobile-bar .mlhs-button--ghost { min-width: 78px; }
}

/* v0.5.3 catalogue row separation and complete legal footer. */
.mlhs-services-catalogue .mlhs-grid--3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 1rem;
  grid-auto-flow: row;
  grid-auto-rows: auto;
  align-items: stretch;
}
.mlhs-services-catalogue .mlhs-grid--3 > .mlhs-service-card {
  position: relative;
  inset: auto;
  float: none;
  clear: none;
  width: auto;
  min-width: 0;
  max-width: none;
  height: 100%;
  margin: 0;
  box-sizing: border-box;
  align-self: stretch;
  isolation: isolate;
}
.mlhs-services-catalogue .mlhs-service-card + .mlhs-service-card {
  margin-top: 0;
}
.mlhs-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem .8rem;
}
.mlhs-footer__legal a {
  white-space: nowrap;
}
@media (max-width: 980px) {
  .mlhs-services-catalogue .mlhs-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .mlhs-services-catalogue .mlhs-grid--3 {
    grid-template-columns: 1fr;
    row-gap: .7rem;
  }
  .mlhs-footer__legal {
    justify-content: flex-start;
    gap: .35rem .65rem;
  }
}


/* v0.5.4: remove residual parent search output and normalise filtered catalogue positioning. */
.navigation-search,
.gp-modal__overlay[data-gp-modal="search"],
.mlhs-footer ~ .navigation-search,
.mlhs-footer ~ form.search-form,
.mlhs-mobile-bar ~ .navigation-search,
.mlhs-mobile-bar ~ form.search-form {
  display: none !important;
}

/* Older adjacent-sibling rules must not leave a divider or artificial top gap
   when all preceding service groups are hidden by the category filter. */
.mlhs-services-catalogue.is-filtered {
  padding-top: 1.25rem;
}
.mlhs-services-catalogue.is-filtered .mlhs-service-group:not([hidden]) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
.mlhs-services-catalogue.is-filtered .mlhs-service-group__heading {
  margin-top: 0;
}

/* Keep section headings clear of the sticky category selector when reached by
   direct links, browser navigation or scripted scrolling. */
.mlhs-service-group {
  scroll-margin-top: 180px;
}
@media (max-width: 1024px) {
  .mlhs-service-group { scroll-margin-top: 165px; }
}
@media (max-width: 768px) {
  .mlhs-services-catalogue.is-filtered { padding-top: .9rem; }
  .mlhs-service-group { scroll-margin-top: 145px; }
}
