@import url('../../../../plugins/wpo-google-fonts-manager/fonts/fonts.css');

:root{
  --wpo-bg:#ffffff;
  --wpo-surface:var(--wpo-bg);
  --wpo-text:#1d2327;
  --wpo-muted:#50575e;
  --wpo-border:rgba(0,0,0,.08);
  --wpo-accent:#2271b1;
  --wpo-accent-contrast:#ffffff;
  --wpo-radius:14px;
  --wpo-shadow:0 12px 30px rgba(0,0,0,.10);
  --wpo-font-base:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --wpo-font-base-size:16px;
  --wpo-font-base-line-height:1.55;
  --wpo-font-headings-size:32px;
  --wpo-font-headings-line-height:1.08;
  /* Use Montserrat if available (from plugin), otherwise fallback to base */
  /* --wpo-font-headings:var(--wpo-font-montserrat, var(--wpo-font-base)); */
  --wpo-gutter:50px;
  --wpo-gutter-mobile:20px;
  --wpo-gutter-mobile-vw:5;
  --wpo-inline-gutter:clamp(var(--wpo-gutter-mobile), calc(var(--wpo-gutter-mobile-vw) * 1vw), min(var(--wpo-gutter), 5vw));
  --wpo-footer-bg:var(--wpo-bg);
  --wpo-footer-text:var(--wpo-text);
  --wpo-footer-link:var(--wpo-accent);
}

*{box-sizing:border-box}
body{margin:0;background:var(--wpo-bg);color:var(--wpo-text);font-family:var(--wpo-font-base);font-size:var(--wpo-font-base-size,16px);line-height:var(--wpo-font-base-line-height,1.55)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{line-height:var(--wpo-font-headings-line-height,1.08)}
a{color:var(--wpo-accent);text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}

/* Remove underline from content links */
.wpo-content a,
.wpb_wrapper a,
.wpb_text_column a,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
}
.wpo-content a:hover,
.wpb_wrapper a:hover,
.wpb_text_column a:hover,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  text-decoration: none;
}

:where(a,button,summary):focus-visible{outline:3px solid rgba(34,113,177,.35);outline-offset:3px;border-radius:10px}

.wpo-container{max-width:1140px;margin:0 auto;padding:0 var(--wpo-inline-gutter)}
.wpo-main{min-height:60vh}
.wpo-stack>*+*{margin-top:18px}

.wpo-shell{container-type:inline-size;container-name:page}

/* Mobile container-query overrides are generated via wp_add_inline_style so the cutoff is configurable in admin. */

.wpo-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb, var(--wpo-bg) 92%, transparent);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--wpo-border);padding:0 var(--wpo-inline-gutter)}
.wpo-header__inner{display:flex;align-items:center;padding:14px 0;gap:16px;flex-wrap:wrap;container-type:inline-size;container-name:header}

/* Header: remove all vertical gaps from WPBakery rows/columns/wrappers inside header */
.wpo-header .vc_row,
.wpo-header .vc_row-fluid,
.wpo-header .wpb_row,
.wpo-header .wpb_column,
.wpo-header .vc_column-inner,
.wpo-header .vc_column_container,
.wpo-header .wpb_content_element,
.wpo-header .wpb_wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Header: kill auto-generated <p> wrapper margins (wpautop) */
.wpo-header > p,
.wpo-header p:has(> .vc_row),
.wpo-header p:has(> .wpb_row) {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
}

/* Collapse header when empty */
.wpo-header:empty,
.wpo-header:has(> :only-child:empty) {
  padding: 0 !important;
  border-bottom: none !important;
}
.wpo-site-title{font-weight:700;text-decoration:none;color:var(--wpo-text)}
.wpo-menu{list-style:none;margin:0;padding:0;display:flex;gap:16px;row-gap:10px;align-items:center;flex-wrap:wrap}
.wpo-menu a{position:relative;display:inline-block;text-decoration:none;color:var(--wpo-text);font-weight:600;padding-bottom:2px}
.wpo-menu a::before{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:currentColor;transition:width .24s ease;opacity:.9}
.wpo-menu a:hover,.wpo-menu a:focus-visible{opacity:.92;text-decoration:none}
.wpo-menu a:hover::before{width:100%}

/* Sub-menus (WordPress) */
.wpo-menu li{position:relative}
.wpo-menu .sub-menu{list-style:none;margin:0;padding:10px 14px;display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:40;background:color-mix(in srgb, var(--wpo-bg) 84%, #0d2f4a 16%);border:1px solid color-mix(in srgb, var(--wpo-text) 16%, transparent);border-radius:0;box-shadow:0 10px 22px rgba(0,0,0,.16);min-width:210px}
.wpo-menu .sub-menu li+li{margin-top:2px}
.wpo-menu .sub-menu a{display:inline-block;padding:7px 0;font-weight:600;background:transparent;border-radius:0;line-height:1.35}
.wpo-menu .sub-menu a:hover{background:transparent}
.wpo-menu li:hover>.sub-menu,.wpo-menu li:focus-within>.sub-menu{display:block}
.wpo-menu li.menu-item-has-children>a{display:inline-flex;align-items:center;gap:8px}
.wpo-menu li.menu-item-has-children>a::after{content:"▾";font-size:11px;line-height:1;color:var(--wpo-muted);transition:transform .2s ease,opacity .2s ease;opacity:.8}
.wpo-menu li:hover.menu-item-has-children>a::after,.wpo-menu li:focus-within.menu-item-has-children>a::after{transform:translateY(1px);opacity:1}

.wpo-nav-details{position:relative;margin-left:auto}
.wpo-nav-summary{display:none;list-style:none;cursor:pointer;user-select:none;border:1px solid var(--wpo-border);background:var(--wpo-bg);border-radius:10px;padding:10px 12px;font-weight:800;color:var(--wpo-text)}
.wpo-nav-summary::-webkit-details-marker{display:none}

/* Desktop/default: always show full navbar, no hamburger */
.wpo-nav-details:not([open]) > .wpo-nav{display:block;position:static;padding:0;border:0;box-shadow:none;background:transparent;min-width:auto}

/* Hamburger icon */
.wpo-nav-summary__label{display:inline-flex;align-items:center;gap:10px}
.wpo-nav-summary__label::before{content:"";width:18px;height:2px;background:var(--wpo-text);border-radius:999px;box-shadow:0 -6px 0 var(--wpo-text), 0 6px 0 var(--wpo-text)}

/* Header mobile dropdown rules are generated via wp_add_inline_style so the cutoff is configurable in admin. */

.wpo-hero{position:relative;overflow:hidden;background:linear-gradient(135deg, var(--wpo-text), #0b1d2a)}
.wpo-hero__slides{position:relative}
.wpo-hero__slide{display:none;color:#fff;padding:clamp(48px, 7vw, 78px) 0}
.wpo-hero__slide.is-active{display:block}
.wpo-hero__title{margin:0 0 10px;font-size:clamp(28px, 3.6vw + 10px, 46px);letter-spacing:-.02em;line-height:1.1}
.wpo-hero__lead{margin:0 0 22px;font-size:clamp(16px, 0.8vw + 14px, 18px);color:rgba(255,255,255,.85);max-width:56ch}
.wpo-hero__actions{display:flex;gap:12px;flex-wrap:wrap}

.wpo-hero__controls{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:10px}
.wpo-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.35);cursor:pointer}
.wpo-dot.is-active{background:rgba(255,255,255,.9)}

.wpo-btn{display:inline-block;text-decoration:none;border-radius:999px;padding:11px 16px;font-weight:800;border:1px solid transparent}
.wpo-btn--primary{background:var(--wpo-accent);color:var(--wpo-accent-contrast)}
.wpo-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.wpo-btn--block{display:block;text-align:center}

.wpo-jumbotron{background:var(--wpo-surface);border-bottom:1px solid var(--wpo-border)}
.wpo-jumbotron__inner{padding:44px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.wpo-jumbotron__title{margin:0;font-size:28px}
.wpo-jumbotron__text{margin:0;color:var(--wpo-muted);max-width:70ch}
.wpo-jumbotron__actions{display:flex;gap:12px;flex-wrap:wrap}

.wpo-section{padding:54px 0}
.wpo-section--alt{background:var(--wpo-surface);border-top:1px solid var(--wpo-border);border-bottom:1px solid var(--wpo-border)}
.wpo-section__title{margin:0 0 22px;font-size:28px;letter-spacing:-.01em}
.wpo-lead{font-size:18px;margin:0 0 8px}
.wpo-muted{color:var(--wpo-muted)}

.wpo-grid{display:grid;gap:18px}
.wpo-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}
.wpo-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}

.wpo-card{background:var(--wpo-bg);border:1px solid var(--wpo-border);border-radius:var(--wpo-radius);padding:18px;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.wpo-card--soft{background:linear-gradient(180deg,#ffffff, var(--wpo-surface))}
.wpo-card__title{margin:0 0 8px;font-size:18px}
.wpo-card__text{margin:0;color:var(--wpo-muted)}

.wpo-price{background:var(--wpo-bg);border:1px solid var(--wpo-border);border-radius:var(--wpo-radius);padding:20px;box-shadow:var(--wpo-shadow)}
.wpo-price--featured{border-color:rgba(34,113,177,.45)}
.wpo-price__name{margin:0 0 4px;font-size:18px}
.wpo-price__tag{margin:0 0 10px;color:var(--wpo-muted)}
.wpo-price__amount{font-size:34px;font-weight:900;margin:10px 0 14px}
.wpo-price__period{font-size:14px;font-weight:700;color:var(--wpo-muted)}

.wpo-list{margin:0 0 16px;padding-left:18px;color:var(--wpo-muted)}
.wpo-list li{margin:6px 0}

.wpo-content{padding-top:30px;padding-bottom:30px}
.wpo-content:not(.wpo-container){padding-left:var(--wpo-inline-gutter);padding-right:var(--wpo-inline-gutter)}

/* WordPress/WPBakery content alignment helpers */
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.wpo-content .alignleft,
.wpo-content .wp-caption.alignleft,
.wpo-content .wpb_wrapper .alignleft,
.wpo-content .wpb_wrapper .wp-caption.alignleft {
  float: left;
  margin: 0 1.25rem 1rem 0;
}

.wpo-content .alignright,
.wpo-content .wp-caption.alignright,
.wpo-content .wpb_wrapper .alignright,
.wpo-content .wpb_wrapper .wp-caption.alignright {
  float: right;
  margin: 0 0 1rem 1.25rem;
}

.wpo-content .aligncenter,
.wpo-content .wp-caption.aligncenter,
.wpo-content .wpb_wrapper .aligncenter,
.wpo-content .wpb_wrapper .wp-caption.aligncenter {
  display: table;
  margin: 0 auto 1rem;
}

.wpo-content .wp-caption,
.wpo-content .wpb_wrapper .wp-caption {
  max-width: 100%;
}

.wpo-content .wp-caption img,
.wpo-content .wpb_wrapper .wp-caption img {
  display: block;
  margin: 0;
}

.wpo-content .wp-caption-text,
.wpo-content .wpb_wrapper .wp-caption-text {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--wpo-muted);
}

.wpo-content .wpb_wrapper::after {
  content: "";
  display: block;
  clear: both;
}

/* Single-post WPBakery content keeps the default row negative margins even though
   this theme zeroes the matching column gutter padding. Reset the outer row box
   so legacy lens review posts stay inside the shared content container. */
.single-post .wpo-content > .wpb-content-wrapper > .vc_row,
.single-post .wpo-content > .wpb-content-wrapper > .vc_row-fluid,
.single-post .wpo-content > .wpb-content-wrapper > .wpb_row,
.single-post .mfl-single-post-shell > .wpb-content-wrapper > .vc_row,
.single-post .mfl-single-post-shell > .wpb-content-wrapper > .vc_row-fluid,
.single-post .mfl-single-post-shell > .wpb-content-wrapper > .wpb_row {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mfl-single-post-page {
  padding-top: 24px !important;
  padding-bottom: 48px !important;
  padding-left: var(--wpo-inline-gutter) !important;
  padding-right: var(--wpo-inline-gutter) !important;
}

.mfl-single-post-page--comments {
  padding-top: 0 !important;
}

.mfl-single-post-row {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

.mfl-single-post-shell {
  border: 1px solid #d7e0e8;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
  padding: clamp(24px, 2.6vw, 38px);
}

.mfl-single-post-head {
  margin-bottom: 24px;
}

.mfl-single-post-head .wpo-page-title {
  margin-bottom: 10px;
}

.mfl-single-post-shell .wpo-meta {
  margin-bottom: 0;
}

.mfl-single-post-shell .wpb-content-wrapper > .vc_row + .vc_row,
.mfl-single-post-shell .wpb-content-wrapper > .vc_row + .wpo-cms-heading,
.mfl-single-post-shell .wpb-content-wrapper > .wpo-cms-heading + .vc_row,
.mfl-single-post-shell .wpb-content-wrapper > .wpo-cms-heading + .wpo-cms-heading {
  margin-top: 20px;
}

.mfl-single-post-shell table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

.mfl-single-post-shell .wpb_wrapper table,
.mfl-single-post-shell .wpb_text_column table {
  display: block;
  overflow-x: auto;
}

.mfl-single-post-shell .comment-list {
  margin: 0;
  padding-left: 1.25rem;
}

.mfl-gallery-host-page {
  padding-top: 24px !important;
  padding-bottom: 48px !important;
  padding-left: var(--wpo-inline-gutter) !important;
  padding-right: var(--wpo-inline-gutter) !important;
}

.mfl-gallery-host-page > .wpb-content-wrapper > .vc_row,
.mfl-gallery-host-page > .wpb-content-wrapper > .vc_row-fluid,
.mfl-gallery-host-page > .wpb-content-wrapper > .wpb_row {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mfl-gallery-host-page .galleryone-shell {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Wide gallery browsers look less sparse with a fifth masonry column. */
@media (min-width: 1500px) {
  .mfl-gallery-host-page .galleryone-shell {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    --galleryone-columns-desktop: 5 !important;
    --galleryone-shell-edge-space: 0px !important;
    --galleryone-max-width: none !important;
  }

  .mfl-gallery-host-page .galleryone-grid {
    column-count: 5 !important;
  }
}

/* Front page: remove top/bottom padding so slider sits flush against header and footer */
.home .wpo-content,
.front-page .wpo-content { padding-top: 0 !important; padding-bottom: 0 !important; }
.wpo-page-title{margin:0 0 16px;font-size:clamp(24px, 2vw + 16px, 32px);letter-spacing:-.01em}
.wpo-meta{margin-bottom:14px}

.wpo-footer{background:var(--wpo-footer-bg);color:var(--wpo-footer-text);margin-top:40px;border-top:0}
.wpo-footer__content{width:100%;max-width:none;margin:0;padding-left:var(--wpo-inline-gutter);padding-right:var(--wpo-inline-gutter)}
.wpo-footer a{color:var(--wpo-footer-link)}
.wpo-footer--stripe{padding:14px 0}
.wpo-footer__stripe{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.wpo-footer .vc_row,
.wpo-footer .vc_row-fluid,
.wpo-footer .wpb_row,
.wpo-footer [class*="vc_custom_"]{background-color:var(--wpo-footer-bg)!important}
.wpo-footer .wpb_content_element:last-child{margin-bottom:0}
.wpo-footer .vc_custom_heading{margin-top:0;margin-bottom:12px}
.wpo-footer .vc_column_text p:last-child{margin-bottom:0}

.wpo-social{display:flex;gap:10px;align-items:center}
.wpo-social__link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.22);text-decoration:none}
.wpo-social__link:hover{border-color:rgba(255,255,255,.45)}
.wpo-social__icon{font-weight:900;font-size:12px;line-height:1;color:#fff}

.wpo-footer__copy{font-weight:500;font-size:13px;color:color-mix(in srgb, var(--wpo-footer-text) 82%, transparent)}

/* ============================================
   FLUID TYPOGRAPHY - No media queries needed
   Uses CSS clamp() to scale fonts smoothly
   between min and max viewport sizes
   ============================================ */

/* Fluid text sizing utility classes */
.fluid-text { font-size: clamp(1rem, 2.5vw, 1.25rem); }
.fluid-text-lg { font-size: clamp(1.125rem, 3vw, 1.5rem); }
.fluid-text-xl { font-size: clamp(1.25rem, 4vw, 2rem); }

/* Fluid headings - automatically scale with container using modern CSS */
h1, .h1, .wpo-heading h1,
.wpb_wrapper h1,
.wpb_text_column h1,
.wpo-cms-heading h1 {
  font-size: min(clamp(1.5rem, 5cqi, 2.25rem), 8vh);
  line-height: 1.1;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
  margin-bottom: 0.25em;
  max-width: 100%;
}

.wpo-cms-heading h1 {
  font-size: min(clamp(1.2rem, 3.6cqi, 1.85rem), 6vh);
}

.wpo-heading-keep-words h1 {
  font-size: min(clamp(0.9rem, 2.4cqi, 1.35rem), 5vh);
}

.wpo-cms-heading h1,
.wpb_wrapper h1,
.wpb_text_column h1 {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.wpo-no-break {
  white-space: nowrap;
  font-size: 0.92em;
}


h2, .h2, .wpo-heading h2,
.wpb_wrapper h2,
.wpb_text_column h2 {
  font-size: min(clamp(1.25rem, 4cqi, 1.85rem), 6vh);
  line-height: 1.15;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
  max-width: 100%;
}

@container page (max-width: 768px) {
  h1, .h1, .wpo-heading h1,
  .wpb_wrapper h1,
  .wpb_text_column h1,
  .wpo-cms-heading h1,
  h1[style*="font-size"],
  span[style*="font-size"] {
    font-size: min(clamp(1.2rem, 4.5cqi, 1.9rem), 7vh) !important;
  }

  h2, .h2, .wpo-heading h2,
  .wpb_wrapper h2,
  .wpb_text_column h2,
  h2[style*="font-size"] {
    font-size: min(clamp(1.05rem, 3.8cqi, 1.5rem), 6vh) !important;
  }
}

@container page (max-width: 1024px) {
  .wpo-heading-keep-words h1 {
    font-size: min(clamp(0.78rem, 1.7cqi, 1rem), 3.8vh);
  }
}

@container page (max-width: 768px) {
  .wpo-heading-keep-words h1 {
    font-size: min(clamp(0.74rem, 2.2cqi, 1rem), 3.6vh);
  }
}

/* Reduce gap between heading and following image/divider */
h1 + p img,
h1 + img,
.wpo-cms-heading + *,
.wpb_text_column h1,
.wpb_content_element h1 {
  margin-bottom: 0;
}

/* Remove top margin from paragraphs with images following headings */
.wpb_wrapper h1 + p,
.wpb_wrapper h1 + p:has(img),
.wpb_text_column + .wpb_single_image,
.wpb_content_element + .wpb_single_image,
.wpb_text_column + p,
.wpb_content_element + p {
  margin-top: 0;
}

h3, .h3, .wpo-heading h3,
.wpb_wrapper h3,
.wpb_text_column h3 {
  font-size: clamp(1rem, 3vw + 0.25rem, 2rem);
  line-height: 1.2;
  overflow-wrap: break-word;
  hyphens: auto;
  text-wrap: balance;
}

h4, .h4, .wpo-heading h4,
.wpb_wrapper h4,
.wpb_text_column h4 {
  font-size: clamp(0.9rem, 2.5vw + 0.125rem, 1.5rem);
  line-height: 1.25;
  overflow-wrap: break-word;
}

h5, .h5, h6, .h6,
.wpb_wrapper h5,
.wpb_wrapper h6 {
  font-size: clamp(0.85rem, 2vw + 0.125rem, 1.25rem);
  line-height: 1.3;
  overflow-wrap: break-word;
}

/* Override WPBakery inline font-size for fluid scaling on mobile */
/* Removed aggressive font-size override */

/* Column padding defaults to 0 — set per element via WPBakery Design Options */
.vc_column-inner,
.wpb_column,
.vc_column_container {
  padding: 0 !important;
}

@media (max-width: 767px) {
  /* The PractiPix contact page carries desktop WPBakery spacing into the stacked
     mobile layout. Reset the row and restore balanced column gutters so the page
     no longer overflows horizontally and the form keeps equal side margins. */
  body.page-id-26 .wpb-content-wrapper > .vc_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-26 .wpb-content-wrapper > .vc_row > .wpb_column {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  body.page-id-26 .wpb-content-wrapper > .vc_row > .wpb_column > .vc_column-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-right-width: 0 !important;
  }
}

/* WPO heading elements */
.wpo-heading,
.wpo-text,
.wpb_text_column,
.wpb_wrapper {
  max-width: 100%;
  word-break: normal;
  hyphens: none;
}

/* WPBakery/TinyMCE often wraps list item text in <p>, which creates a fake
   blank line between bullets because browser paragraph margins kick in. Keep
   single-paragraph list items tight while still allowing deliberate multi-
   paragraph spacing inside the same <li>. */
.wpb_text_column li > p,
.wpb_wrapper li > p,
.wpo-element-vc_column_text li > p {
  margin-top: 0;
  margin-bottom: 0;
}

.wpb_text_column li > p + p,
.wpb_wrapper li > p + p,
.wpo-element-vc_column_text li > p + p {
  margin-top: 0.75em;
}

/* Ensure text wraps cleanly without stripping the shared container width */
.wpo-content,
.wpo-element {
  overflow-wrap: break-word;
}

.wpo-content:not(.wpo-container),
.wpo-element {
  max-width: 100%;
}

/* Homepage and MFL shell styles merged from former assets/css/mfl-home.css */

.mfl-site-header {
  display: grid;
  gap: 16px;
  width: 100%;
}

.mfl-site-header__menu-row,
.mfl-site-header__hero-row {
  width: 100%;
  border: 1px solid #d7e0e8;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.mfl-site-header__menu-row {
  padding: 16px 20px;
  border-radius: 24px;
}

.mfl-site-header__hero-row {
  padding: 18px;
  border-radius: 24px;
}

.mfl-site-header__brand-shell {
  min-width: 0;
  width: 100%;
}

.mfl-site-header__brand-shell.wpo-header-content {
  display: block;
  width: 100%;
  align-items: center;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.mfl-site-header__brand {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr);
  align-items: center;
  column-gap: 24px;
  row-gap: 24px;
  width: 100%;
}

.mfl-site-header__brand-main {
  display: block;
  width: min(100%, 469px);
  color: #0f172a;
  text-decoration: none;
  justify-self: start;
}

.mfl-site-header__brand-main:hover {
  color: #0f172a;
  text-decoration: none;
}

.mfl-site-header__banner {
  display: block;
  width: 100%;
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
}

.mfl-site-header__banner img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.mfl-site-header__brand-copy,
.mfl-site-header__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  min-width: 0;
}

.mfl-site-header__brand-note {
  display: none;
  margin: 0;
  font-family: var(--wpo-font-base, "Montserrat", sans-serif);
  font-size: 14px;
  line-height: 1.5;
  color: #475569;
}

.mfl-site-header__brand-ad {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1025px) minmax(180px, 1fr);
  gap: 48px;
  align-items: stretch;
  justify-content: space-between;
}

.mfl-site-header__ad-shell {
  min-height: 160px;
  border-radius: 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%);
  padding: 12px;
  overflow: hidden;
}

.mfl-site-header__ad-shell--inline {
  min-height: 0;
  width: min(100%, 1025px);
  max-width: 1025px;
  justify-self: start;
}

.mfl-site-header__spotlight-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-height: 200px;
  padding: 18px 20px;
  border: 1px solid #d7e0e8;
  border-radius: 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%);
}

.mfl-site-header__spotlight {
  min-width: 0;
  min-height: 100%;
  padding: clamp(22px, 2.2vw, 30px);
  border: 1px solid #d7e0e8;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.mfl-site-header__spotlight--has-ad {
  justify-content: flex-start;
}

.mfl-site-header__eyebrow,
.mfl-site-header__card-label,
.mfl-site-header__spotlight-kicker {
  margin: 0;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #64748b;
}

.mfl-site-header__spotlight-copy {
  margin: 0;
  font-family: var(--wpo-font-base, "Montserrat", sans-serif);
  font-size: 14px;
  line-height: 1.55;
  color: #475569;
}

.mfl-site-header__spotlight--has-ad .mfl-site-header__spotlight-copy {
  display: none;
}

.mfl-site-header__spotlight .adsclientone-async-slot,
.mfl-site-header__spotlight .mfl-header-ad-slot,
.mfl-site-header__spotlight .adsclientone-slot,
.mfl-site-header__ad-shell .adsclientone-async-slot,
.mfl-site-header__ad-shell .mfl-header-ad-slot,
.mfl-site-header__ad-shell .adsclientone-slot {
  width: 100%;
}

.mfl-site-header__spotlight .adsclientone-slot,
.mfl-site-header__ad-shell .adsclientone-slot,
.mfl-site-header__ad-shell .adsclientone-slot__item,
.mfl-site-header__ad-shell .adsserverone-creative,
.mfl-site-header__ad-shell .adsserverone-creative__link {
  display: block;
  width: 100%;
}

.mfl-site-header__ad-shell .adsserverone-creative__image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.mfl-site-header__title {
  margin: 0;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: 44px;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0.01em;
  color: #0f172a;
}

.mfl-site-header__title a {
  color: inherit;
  text-decoration: none;
}

.mfl-site-header__subtitle {
  margin: 0;
  font-family: var(--wpo-font-base, "Montserrat", sans-serif);
  font-size: 15px;
  line-height: 1.55;
  color: #475569;
  max-width: none;
}

.mfl-site-menu {
  min-width: 0;
  width: 100%;
}

.mfl-site-menu.wpo-menu-wrapper {
  display: block;
  width: 100%;
}

.mfl-site-menu .wpo-menu-spacing-shell,
.mfl-site-menu .wpo-menu-container {
  width: 100%;
}

.mfl-site-menu .wpo-menu-container {
  align-items: center;
  justify-content: center;
}

.mfl-site-menu .wpo-menu {
  width: 100%;
  justify-content: center;
  gap: 8px;
}

.mfl-site-menu .wpo-menu > ul {
  justify-content: center !important;
  flex-wrap: wrap !important;
  row-gap: 8px;
}

.mfl-site-menu .wpo-menu-container:not(.is-mobile) .wpo-menu-hamburger {
  display: none !important;
}

.mfl-site-menu .wpo-menu-container:not(.is-mobile) nav.wpo-menu,
.mfl-site-menu .wpo-menu-container:not(.is-mobile) nav.wpo-menu.is-hidden {
  display: block !important;
}

.mfl-site-menu .wpo-menu-container.is-mobile {
  align-items: flex-start;
}

.mfl-site-menu .wpo-menu-container.is-mobile .wpo-menu,
.mfl-site-menu .wpo-menu-container.is-mobile .wpo-menu > ul {
  justify-content: flex-start !important;
}

.mfl-site-menu .wpo-menu a {
  padding: 10px 14px;
  border: 1px solid #d7e0e8;
  border-radius: 14px;
  color: #0f172a;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #ffffff;
}

.mfl-site-menu .wpo-menu a::before,
.mfl-site-menu .wpo-menu a::after {
  display: none;
}

.mfl-site-menu .wpo-menu a:hover,
.mfl-site-menu .wpo-menu a:focus-visible {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #0f172a;
}

.mfl-site-menu .current-menu-item > a,
.mfl-site-menu .current_page_item > a,
.mfl-site-menu .current-menu-ancestor > a {
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  border-color: #2563eb;
  color: #ffffff;
}

.mfl-site-menu .wpo-menu .sub-menu {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid #d7e0e8;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
  padding: 12px 14px;
}

.mfl-site-menu .wpo-menu .sub-menu a {
  padding: 8px 10px;
  border-radius: 12px;
  font-size: 16px;
}

.mfl-site-menu .wpo-menu-hamburger {
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: none;
}

.mfl-site-menu .wpo-menu-hamburger:hover,
.mfl-site-menu .wpo-menu-hamburger:focus {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.mfl-site-menu .wpo-hamburger-line {
  background: #0f172a;
}

.mfl-site-menu .wpo-menu.is-hidden {
  border-radius: 18px;
  border: 1px solid #d7e0e8;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
  padding: 14px;
}

.mfl-site-menu .wpo-menu.is-hidden a {
  width: 100%;
  justify-content: flex-start;
}

.home,
.front-page {
  background: var(--wpo-bg);
}

.home .wpo-header,
.front-page .wpo-header {
  top: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0 var(--wpo-inline-gutter);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.home .wpo-content,
.front-page .wpo-content {
  padding-left: var(--wpo-inline-gutter) !important;
  padding-right: var(--wpo-inline-gutter) !important;
}

.mfl-home-slider-row,
.mfl-home-section-row {
  max-width: none;
  width: 100%;
  margin: 0 !important;
  padding: 18px 0 0;
}

.home .wpo-content .mfl-home-slider-row,
.front-page .wpo-content .mfl-home-slider-row {
  margin-top: 16px !important;
}

.mfl-home-slider-row + .mfl-home-section-row,
.mfl-home-section-row + .mfl-home-section-row {
  margin-top: 20px !important;
}

.mfl-home-slider-row > .vc_column_container > .vc_column-inner,
.mfl-home-section-row > .vc_column_container > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mfl-home-slider-row .wpb_content_element,
.mfl-home-section-row .wpb_content_element {
  margin-bottom: 0 !important;
}

.mfl-home-slider .wpo-sliderone-component,
.mfl-home-slider .sliderone-slider {
  border-radius: 28px;
  overflow: hidden;
}

.mfl-home-slider .sliderone-slider {
  height: clamp(260px, 44vw, 520px);
  border: 1px solid #d7e0e8;
  background: #dce6f0;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.mfl-home-slider .sliderone-item {
  background: #dce6f0;
}

.mfl-home-slider .sliderone-item img {
  object-fit: cover;
  padding: 0;
}

.mfl-home-slider .sliderone-overlay-title,
.mfl-home-slider .sliderone-overlay-button {
  z-index: 4;
}

.mfl-home-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #d7e0e8;
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
  padding: clamp(24px, 3.6vw, 44px);
}

.mfl-home-kicker {
  margin: 0 0 12px;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #64748b;
}

.mfl-home-title {
  margin: 0 0 18px;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: 0.01em;
  color: #0f172a;
}

.mfl-home-subtitle {
  margin: 0 0 18px;
  font-family: var(--wpo-font-base, "Montserrat", sans-serif);
  font-size: clamp(18px, 1.2vw, 22px);
  line-height: 1.55;
  color: #334155;
  max-width: 38ch;
}

.mfl-home-text,
.mfl-home-intro-copy p,
.mfl-home-card p,
.mfl-home-pillar p {
  margin: 0;
  font-family: var(--wpo-font-base, "Montserrat", sans-serif);
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
}

.mfl-home-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.9fr);
  gap: 28px;
  align-items: start;
}

.mfl-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.mfl-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #ffffff;
  color: #0f172a;
  font-family: var(--wpo-font-barlow, var(--wpo-font-base, "Barlow", "Montserrat", sans-serif));
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.mfl-home-button:hover,
.mfl-home-button:focus-visible {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #0f172a;
  text-decoration: none;
}

.mfl-home-button--primary {
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  border-color: #2563eb;
  color: #ffffff;
}

.mfl-home-button--primary:hover,
.mfl-home-button--primary:focus-visible {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
  border-color: #1d4ed8;
  color: #ffffff;
}

.mfl-home-stats {
  display: grid;
  gap: 14px;
}

.mfl-home-stat {
  border: 1px solid #d7e0e8;
  border-radius: 20px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%);
  padding: 18px 20px;
}

.mfl-home-stat__value {
  margin: 0 0 8px;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 700;
  line-height: 0.95;
  color: #0f172a;
}

.mfl-home-stat__label {
  margin: 0;
  font-family: var(--wpo-font-barlow, var(--wpo-font-base, "Barlow", "Montserrat", sans-serif));
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #64748b;
}

.mfl-home-section-heading {
  margin: 0 0 24px;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 700;
  line-height: 0.95;
  color: #0f172a;
}

.mfl-home-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.mfl-home-card,
.mfl-home-pillar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
  border: 1px solid #d7e0e8;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 22px;
}

.mfl-home-card__eyebrow,
.mfl-home-pillar__eyebrow {
  margin: 0;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #64748b;
}

.mfl-home-card h3,
.mfl-home-pillar h3 {
  margin: 0;
  font-family: var(--wpo-font-barlow-condensed, var(--wpo-font-headings, "Barlow Condensed", "Barlow Semi Condensed", sans-serif));
  font-size: 28px;
  font-weight: 700;
  line-height: 0.98;
  color: #0f172a;
}

.mfl-home-card__actions {
  margin-top: auto;
}

.mfl-home-pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.mfl-home-inline-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 18px;
}

.mfl-home-inline-links a {
  font-family: var(--wpo-font-barlow, var(--wpo-font-base, "Barlow", "Montserrat", sans-serif));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2563eb;
}

@media (max-width: 1180px) {
  .mfl-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mfl-home-pillar-grid,
  .mfl-home-intro-grid {
    grid-template-columns: 1fr;
  }

  .mfl-site-header__brand {
    grid-template-columns: 1fr;
  }

  .mfl-site-header__brand-copy {
    display: none;
  }

  .mfl-site-header__brand-note {
    display: block;
    max-width: 760px;
  }

  .mfl-site-header__brand-ad {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .mfl-site-header__ad-shell--inline {
    max-width: 100%;
  }

  .mfl-site-header__spotlight-card {
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .home .wpo-header,
  .front-page .wpo-header {
    top: 0;
    width: auto;
    margin-top: 0;
    padding: 0 var(--wpo-inline-gutter);
  }

  .mfl-site-header__menu-row,
  .mfl-site-header__hero-row {
    border-radius: 20px;
  }

  .mfl-site-header__brand {
    gap: 16px;
  }

  .mfl-site-menu .wpo-menu,
  .mfl-site-menu .wpo-menu-container {
    justify-content: center;
  }

  .mfl-home-slider .sliderone-slider {
    height: clamp(240px, 56vw, 420px);
  }
}

@media (max-width: 720px) {
  .mfl-home-slider-row,
  .mfl-home-section-row {
    padding-left: 0;
    padding-right: 0;
  }

  .home .wpo-content .mfl-home-slider-row,
  .front-page .wpo-content .mfl-home-slider-row {
    margin-top: 14px !important;
  }

  .mfl-home-slider-row + .mfl-home-section-row,
  .mfl-home-section-row + .mfl-home-section-row {
    margin-top: 14px !important;
  }

  .mfl-home-shell {
    border-radius: 20px;
    padding: 22px;
  }

  .mfl-home-grid,
  .mfl-home-pillar-grid {
    grid-template-columns: 1fr;
  }

  .mfl-site-header__menu-row,
  .mfl-site-header__hero-row {
    padding: 14px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .mfl-site-header__brand {
    gap: 14px;
  }

  .mfl-site-header__brand-main {
    width: 100%;
  }

  .mfl-site-header__brand-note {
    font-size: 13px;
    line-height: 1.45;
  }

  .mfl-site-header__brand-ad {
    gap: 12px;
  }

  .mfl-site-header__ad-shell {
    padding: 10px;
    border-radius: 16px;
  }

  .mfl-site-header__ad-shell--inline {
    width: calc(100% - 8px);
    max-width: none;
    margin: 0 auto;
  }

  .mfl-site-header__ad-shell .adsserverone-creative__image {
    width: 100%;
    max-width: 100%;
  }

  .mfl-site-header__title {
    font-size: 34px;
  }
}
