/* SiteLooma Header & Footer v1.6.0 — self-contained styles */
.slhf-header,.slhf-footer,.slhf-header *, .slhf-footer *{box-sizing:border-box}
.slhf-header{--slhf-navy:#101c40;--slhf-cyan:#04c8eb;position:relative;isolation:isolate;z-index:990;width:100%;background:rgba(255,255,255,.98);border-bottom:1px solid #e8ebf5;box-shadow:0 3px 16px rgba(19,32,70,.045);font-family:inherit;color:var(--slhf-navy);line-height:1.35}
.slhf-header.slhf-is-sticky{position:sticky;top:0}
body.admin-bar .slhf-header.slhf-is-sticky{top:32px}
.slhf-header-inner{max-width:var(--slhf-content-max,1480px);width:100%;margin:auto;padding:8px clamp(20px,3.7vw,60px);display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2.5vw,38px);min-height:102px}
.slhf-logo{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;flex-shrink:0;min-width:0}
/* The original logo is tall (1254x718) and includes a tagline.
   Never use a fixed-height crop: the previous compact mode hid its lower half. */
.slhf-logo--header{width:var(--slhf-logo-desktop,220px);height:auto;max-width:100%;overflow:visible;align-self:center}
.slhf-header.slhf-compact-logo .slhf-header-inner{padding-top:4px;padding-bottom:4px}
.slhf-header .slhf-logo--header,.slhf-header.slhf-compact-logo .slhf-logo--header{height:auto!important;max-height:none!important;overflow:visible!important;align-items:center!important}
.slhf-header .slhf-logo--header img.slhf-logo-img{width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;clip-path:none!important}
.slhf-logo-img{width:100%;height:auto;max-width:100%;display:block;object-fit:contain;filter:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.slhf-header .slhf-logo-img{max-height:none}
.slhf-primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.7vw,28px);min-width:0}
.slhf-primary-list,.slhf-primary-list ul{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:clamp(12px,1.6vw,26px)}
.slhf-header .slhf-primary-list li{position:relative;margin:0;padding:0;line-height:1.3;list-style:none}
.slhf-header .slhf-primary-list a{display:inline-flex;align-items:center;gap:5px;min-height:42px;text-decoration:none!important;color:#283859!important;font-size:clamp(12px,.99vw,14px);font-weight:650;letter-spacing:.005em;white-space:nowrap;transition:color .18s ease}
.slhf-header .slhf-primary-list a:hover,.slhf-header .slhf-primary-list a:focus-visible,.slhf-header .slhf-primary-list .current-menu-item>a{color:var(--slhf-accent,#6356e8)!important}
.slhf-primary-list>li>a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#04c8eb,var(--slhf-accent,#6356e8));transition:right .2s}
.slhf-primary-list>li:hover>a::after,.slhf-primary-list>li.current-menu-item>a::after{right:0}
.slhf-primary-list li.menu-item-has-children>a{padding-right:2px}
.slhf-primary-list .sub-menu{display:block;position:absolute;top:100%;left:-13px;min-width:212px;background:#fff;border:1px solid #e5eaf6;border-radius:14px;padding:9px;box-shadow:0 16px 38px rgba(14,26,56,.14);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .15s, transform .15s, visibility .15s;z-index:3}
.slhf-primary-list .sub-menu li{display:block;width:100%}
.slhf-primary-list .sub-menu a{white-space:normal;display:flex;border-radius:9px;min-height:40px;padding:9px 12px;font-size:13px}
.slhf-primary-list .sub-menu a:hover,.slhf-primary-list .sub-menu a:focus-visible{background:#f5f6ff}
.slhf-primary-list li:hover>.sub-menu,.slhf-primary-list li:focus-within>.sub-menu,.slhf-primary-list li.slhf-sub-open>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.slhf-primary-list .sub-menu .sub-menu{top:0;left:calc(100% + 5px)}
.slhf-subtoggle{border:0!important;background:transparent!important;color:#435477!important;padding:4px!important;cursor:pointer;font-size:13px;line-height:1;border-radius:5px;vertical-align:middle}
.slhf-subtoggle:hover{background:#eef3ff!important}
.slhf-cta,.slhf-header a.slhf-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;color:#fff!important;background:linear-gradient(113deg,var(--slhf-accent,#6356e8),#3b56d9)!important;text-decoration:none!important;white-space:nowrap;border-radius:12px;font-size:13px;font-weight:750;box-shadow:0 6px 17px rgba(80,80,188,.2);transition:transform .18s,box-shadow .18s;border:1px solid transparent}
.slhf-cta:hover,.slhf-cta:focus-visible{transform:translateY(-1px);box-shadow:0 9px 20px rgba(80,80,188,.25)}
.slhf-toggle{display:none;align-items:center;gap:10px;background:#f1f5ff!important;border:1px solid #dce5f6!important;border-radius:11px!important;padding:11px 12px!important;color:#17264d!important;font-size:13px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important;line-height:1!important}
.slhf-toggle-bars{width:19px;height:15px;display:flex;flex-direction:column;justify-content:space-between}
.slhf-toggle-bars i{display:block;height:2px;width:100%;background:#1b3159;border-radius:2px;transition:transform .15s,opacity .15s}
.slhf-header.slhf-menu-open .slhf-toggle-bars i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.slhf-header.slhf-menu-open .slhf-toggle-bars i:nth-child(2){opacity:0}
.slhf-header.slhf-menu-open .slhf-toggle-bars i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.slhf-header :is(a,button):focus-visible,.slhf-footer :is(a,button):focus-visible{outline:3px solid #19c9f1!important;outline-offset:3px!important}
/* Footer */
.slhf-footer{--slhf-navy:#101c40;--slhf-cyan:#04c8eb;background:linear-gradient(145deg,#0f1c3d 0%,#111b38 58%,#211946 100%);color:#e4eafb;font-family:inherit;position:relative;isolation:isolate;clear:both;width:100%;line-height:1.65}
.slhf-footer:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#12cbe9,#6e57ec,#c54cf3)}
.slhf-footer-main{width:100%;max-width:var(--slhf-content-max,1480px);margin:auto;padding:clamp(48px,6vw,74px) clamp(20px,3.7vw,60px) clamp(34px,4vw,54px);display:grid;grid-template-columns:minmax(290px,1.45fr) minmax(170px,.8fr) minmax(210px,.95fr);gap:clamp(28px,5vw,90px)}
.slhf-footer-logo-panel{background:#fff;padding:8px 14px;border-radius:17px;max-width:var(--slhf-footer-logo-width,320px);box-shadow:0 9px 25px rgba(0,0,0,.14)}
.slhf-logo--footer{display:block;width:100%}
.slhf-footer .slhf-logo-img{height:auto;max-height:195px;object-fit:contain}
.slhf-footer .slhf-footer-tagline{font-weight:800;color:#fff;font-size:18px;letter-spacing:-.02em;margin:18px 0 5px}
.slhf-footer .slhf-footer-blurb{color:#b8c7e7;max-width:460px;margin:0;font-size:14px;line-height:1.85}
.slhf-footer .slhf-footer-col h2{color:#fff!important;font-size:16px!important;font-weight:800!important;letter-spacing:.01em;margin:0 0 17px!important;line-height:1.4!important}
.slhf-footer .slhf-footer-col p{font-size:14px;line-height:1.75;color:#c8d3ec;margin:0 0 13px}
.slhf-footer a{color:#c9d7ee;text-decoration:none!important;transition:color .18s ease;font-weight:500}
.slhf-footer a:hover,.slhf-footer a:focus-visible{color:#51e7f5}
.slhf-footer-list{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:11px 20px}
.slhf-footer-list li{margin:0!important;padding:0!important;list-style:none!important;line-height:1.4}
.slhf-footer-list a{font-size:14px}
.slhf-footer-contact{font-weight:750!important;color:#8eeffd!important}
.slhf-socials{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:16px}
.slhf-socials a{font-size:13px;color:#d3ddf2}
.slhf-footer-bottom{min-height:80px;max-width:var(--slhf-content-max,1480px);border-top:1px solid rgba(203,215,245,.19);margin:auto;padding:18px clamp(20px,3.7vw,60px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 22px}
.slhf-footer-bottom p{color:#b7c4df!important;font-size:12px!important;margin:0!important}
.slhf-legal-links{display:flex;flex-wrap:wrap;gap:11px 18px}
.slhf-legal-links a{font-size:12px}
/* Hide only common theme chrome when generic injection is active */
body.slhf-generic:has(.slhf-header) :is(#masthead,.site-header:not(.slhf-header),.wp-site-blocks > header),
body.slhf-generic:has(.slhf-footer) :is(#colophon,.site-footer:not(.slhf-footer),.wp-site-blocks > footer){display:none!important}
@media (max-width:1170px){
 .slhf-header-inner{min-height:90px}
 .slhf-toggle{display:inline-flex}
 .slhf-logo--header{width:min(var(--slhf-logo-tablet,184px),calc(100vw - 120px))}
 .slhf-header .slhf-logo-img{max-height:none}
 .slhf-primary-nav{position:absolute;display:none;top:calc(100% - 1px);left:0;right:0;background:#fff;border:1px solid #e4eaf7;border-top:0;box-shadow:0 20px 30px rgba(18,34,65,.12);padding:15px clamp(20px,3.7vw,60px) 22px;max-height:calc(100dvh - 104px);overflow:auto;flex-direction:column;align-items:stretch;z-index:990}
 .slhf-header.slhf-menu-open .slhf-primary-nav{display:flex}
 .slhf-primary-list{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .slhf-header .slhf-primary-list li{width:100%;border-bottom:1px solid #edf1f8}
 .slhf-header .slhf-primary-list a{font-size:15px;display:inline-flex;padding:12px 8px;min-height:46px;white-space:normal}
 .slhf-primary-list>li>a::after{display:none}
 .slhf-primary-list .sub-menu{display:none;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid #d8d9fb;padding:3px 0 8px 12px;margin:0 0 10px 7px;min-width:0;border-radius:0;background:#f9faff}
 .slhf-primary-list li:hover>.sub-menu,.slhf-primary-list li:focus-within>.sub-menu{display:none}
 .slhf-primary-list li.slhf-sub-open>.sub-menu{display:block}
 .slhf-header .slhf-primary-list .sub-menu li{border:0}
 .slhf-header .slhf-primary-list .sub-menu a{min-height:40px;font-size:14px}
 .slhf-subtoggle{float:right;margin:10px 5px 4px;padding:7px!important;font-size:16px}
 .slhf-primary-nav .slhf-cta{align-self:stretch;width:100%;margin-top:7px}
}
@media (max-width:782px){body.admin-bar .slhf-header.slhf-is-sticky{top:46px}}
@media (max-width:760px){
 .slhf-footer-main{grid-template-columns:1fr 1fr;gap:30px}
 .slhf-footer-brand{grid-column:1/-1}
 .slhf-footer-bottom{align-items:flex-start}
}
@media (max-width:530px){
 .slhf-header-inner{min-height:77px;padding:5px 16px;gap:8px}
 .slhf-logo--header{width:min(var(--slhf-logo-mobile,154px),calc(100vw - 110px))}
 .slhf-header .slhf-logo-img{max-height:none}
 .slhf-toggle{padding:10px!important}
 .slhf-primary-nav{padding:12px 16px 22px;max-height:calc(100dvh - 85px)}
 .slhf-footer-main{grid-template-columns:1fr;padding:42px 19px 26px;gap:28px}
 .slhf-footer-brand{grid-column:auto}
 .slhf-footer-logo-panel{max-width:min(var(--slhf-footer-logo-width,320px),100%)}
 .slhf-footer-list{grid-template-columns:1fr 1fr}
 .slhf-footer-bottom{padding:19px;gap:15px;display:grid;grid-template-columns:1fr auto}
 .slhf-footer-bottom p{grid-column:1/-1}
 .slhf-legal-links{gap:7px 15px}
}
@media (prefers-reduced-motion: reduce){.slhf-header *, .slhf-footer *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* All screen sizes show the entire supplied artwork, including the slogan. */
@media (max-width:360px){.slhf-logo--header{max-width:50vw}.slhf-toggle-label{display:none}}


/* v1.1.2 — responsive full-artwork logo expansion.
   Opt-in setting is enabled by default and for existing installations.
   The entire original logo PNG stays visible, with no crop or distortion. */
.slhf-header.slhf-auto-fit-logo,
.slhf-header.slhf-auto-fit-logo .slhf-header-inner{overflow:visible!important}
.slhf-header.slhf-auto-fit-logo .slhf-logo--header{
  flex:0 1 clamp(290px,25.5vw,375px);
  width:clamp(290px,25.5vw,375px)!important;
  min-width:0;
  max-width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.slhf-header.slhf-auto-fit-logo .slhf-logo--header .slhf-logo-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  clip-path:none!important;
}
.slhf-header.slhf-auto-fit-logo .slhf-header-inner{min-width:0}
@media (max-width:1170px){
  .slhf-header.slhf-auto-fit-logo .slhf-logo--header{
    flex:0 1 auto;
    width:min(370px,calc(100vw - 112px))!important;
  }
  .slhf-header.slhf-auto-fit-logo .slhf-header-inner{gap:10px}
  .slhf-header.slhf-auto-fit-logo .slhf-toggle{flex:0 0 auto}
}
@media (max-width:530px){
  /* Reserve only one narrow icon button column; the remaining width goes to the logo. */
  .slhf-header.slhf-auto-fit-logo .slhf-header-inner{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    align-items:center!important;
    justify-content:space-between!important;
    column-gap:6px!important;
    padding:6px 10px!important;
    min-height:0!important;
  }
  .slhf-header.slhf-auto-fit-logo .slhf-logo--header{
    width:100%!important;
    max-width:370px!important;
    justify-self:end!important;
    align-self:center!important;
    height:auto!important;
    margin:0!important;
  }
  .slhf-header.slhf-auto-fit-logo .slhf-toggle{
    display:inline-flex!important;
    grid-column:2;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:10px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    margin:0!important;
    justify-self:end!important;
  }
  .slhf-header.slhf-auto-fit-logo .slhf-toggle-label{display:none!important}
  .slhf-header.slhf-auto-fit-logo .slhf-primary-nav{grid-column:1/-1}
}

/* v1.2.0 — compact SiteLooma brand lockup. Preserves original full footer artwork. */
.slhf-header.slhf-slim-header .slhf-header-inner{
  min-height:76px;
  padding-top:7px;
  padding-bottom:7px;
  gap:clamp(12px,2vw,27px);
}
.slhf-header .slhf-slim-brand{
  display:inline-flex;align-items:center;justify-content:flex-start;
  gap:8px;flex:0 1 auto;min-width:0;max-width:100%;
  padding:0;margin:0;text-decoration:none!important;line-height:1;
}
.slhf-header .slhf-slim-icon{
  flex:0 0 60px;width:60px;height:60px;
  display:block;object-fit:contain;aspect-ratio:1;max-width:none;
}
.slhf-header .slhf-slim-type{display:flex;flex-direction:column;min-width:0;gap:5px}
.slhf-header .slhf-slim-name{
  display:block;white-space:nowrap;
  color:#0b224d!important;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:900;font-size:clamp(22px,2.05vw,29px);letter-spacing:-.057em;
  text-decoration:none;
}
.slhf-header .slhf-slim-accent{background:linear-gradient(115deg,#17346d 5%,#1a85e8 48%,#7542e0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.slhf-header .slhf-slim-com{display:inline-block;color:#fff;background:linear-gradient(115deg,#168be4,#7e34d7);padding:5px 5px 4px;border-radius:7px;font-size:.42em;line-height:1.05;letter-spacing:0;vertical-align:middle;margin-left:2px}
.slhf-header .slhf-slim-subtitle{font-size:9px;font-weight:800;letter-spacing:.09em;color:#56627d;line-height:1.25;white-space:nowrap}
.slhf-header .slhf-slim-brand:focus-visible{outline:3px solid #19c9f1!important;outline-offset:3px}
@media (max-width:1170px){
  .slhf-header.slhf-slim-header .slhf-header-inner{min-height:72px;padding-top:6px;padding-bottom:6px;}
  .slhf-header .slhf-slim-icon{width:54px;height:54px;flex-basis:54px}
  .slhf-header .slhf-slim-name{font-size:26px}
  .slhf-header .slhf-slim-subtitle{font-size:8.5px}
}
@media (max-width:530px){
  .slhf-header.slhf-slim-header .slhf-header-inner{
    width:100%;max-width:100%;display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:center;gap:8px;min-height:68px;
    padding:7px 12px;
  }
  .slhf-header .slhf-slim-brand{width:100%;justify-self:start;min-width:0;gap:5px;}
  .slhf-header .slhf-slim-icon{width:44px;height:44px;flex-basis:44px}
  .slhf-header .slhf-slim-name{font-size:clamp(19px,5.65vw,24px);letter-spacing:-.066em}
  .slhf-header .slhf-slim-type{gap:0;min-width:0}
  .slhf-header .slhf-slim-subtitle{display:none}
  .slhf-header.slhf-slim-header .slhf-toggle{
    display:inline-flex!important;grid-column:2;width:44px!important;height:44px!important;
    min-width:44px!important;min-height:44px!important;
    align-items:center!important;justify-content:center!important;
    padding:10px!important;gap:0!important;margin:0!important;
  }
  .slhf-header.slhf-slim-header .slhf-toggle-label{display:none!important}
  .slhf-header.slhf-slim-header .slhf-primary-nav{grid-column:1/-1}
}
@media(max-width:350px){
  .slhf-header .slhf-slim-icon{width:40px;height:40px;flex-basis:40px}
  .slhf-header .slhf-slim-name{font-size:19px}
  .slhf-header.slhf-slim-header .slhf-header-inner{gap:5px;padding-left:9px;padding-right:9px}
}

/* Tablet footer safety: keep three-column minimum widths from causing sideways scrolling. */
@media (min-width:531px) and (max-width:920px){
 .slhf-footer-main{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:26px}
 .slhf-footer-brand{grid-column:1/-1}
 .slhf-footer-main > *{min-width:0}
 .slhf-footer-col a{overflow-wrap:anywhere}
}


/* v1.2.2 — exact original SiteLooma full-logo mode, uncropped across breakpoints. */
.slhf-header.slhf-original-artwork .slhf-header-inner{min-height:0!important;padding-top:5px!important;padding-bottom:5px!important;gap:12px;overflow:visible!important}
.slhf-header.slhf-original-artwork .slhf-logo--header{display:inline-flex!important;flex:0 1 var(--slhf-logo-desktop,235px)!important;width:var(--slhf-logo-desktop,235px)!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important}
.slhf-header.slhf-original-artwork .slhf-logo--header .slhf-logo-img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;object-position:center!important;max-width:100%!important;max-height:none!important;overflow:visible!important;clip-path:none!important}
@media(max-width:1170px){
  .slhf-header.slhf-original-artwork .slhf-logo--header{width:var(--slhf-logo-tablet,220px)!important;flex-basis:var(--slhf-logo-tablet,220px)!important;max-width:calc(100vw - 120px)!important}
  .slhf-header.slhf-original-artwork .slhf-header-inner{min-height:0!important}
}
@media(max-width:530px){
  .slhf-header.slhf-original-artwork .slhf-header-inner{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;align-items:center!important;gap:7px!important;padding:5px 10px!important;min-height:0!important}
  .slhf-header.slhf-original-artwork .slhf-logo--header{grid-column:1!important;justify-self:start!important;width:min(var(--slhf-logo-mobile,235px),calc(100vw - 75px))!important;max-width:100%!important;flex:0 1 auto!important;margin:0!important}
  .slhf-header.slhf-original-artwork .slhf-toggle{grid-column:2!important;width:44px!important;height:44px!important;min-height:44px!important;min-width:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:10px!important;margin:0!important}
  .slhf-header.slhf-original-artwork .slhf-toggle-label{display:none!important}
  .slhf-header.slhf-original-artwork .slhf-primary-nav{grid-column:1/-1!important}
}


/* v1.3.2 — nav and footer refinements, keeping the exact original artwork. */
.slhf-header{isolation:isolate;z-index:950;box-shadow:0 6px 24px rgba(11,29,68,.07)}
.slhf-header-inner{gap:clamp(12px,2vw,24px)}
.slhf-header .slhf-primary-list a{font-weight:700}
.slhf-header .slhf-primary-list .current-menu-item>a,
.slhf-header .slhf-primary-list a[aria-current="page"]{color:var(--slhf-accent,#6356e8)!important}
.slhf-header .slhf-toggle{min-height:44px;min-width:44px}
.slhf-header .slhf-cta{min-height:44px}
.slhf-footer .slhf-footer-contact{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(97,225,248,.32);background:rgba(59,206,239,.09);border-radius:10px;color:#9af5ff!important;min-height:44px;text-decoration:none!important}
.slhf-footer .slhf-footer-contact:hover{background:rgba(59,206,239,.15);border-color:#9af5ff}
.slhf-footer .slhf-legal-links:empty{display:none}
.slhf-header a,.slhf-header button,.slhf-footer a,.slhf-footer button{-webkit-tap-highlight-color:transparent}
/* Never let the responsive menu escape the visible viewport. */
@media(max-width:1170px){
 .slhf-header .slhf-primary-nav{overscroll-behavior:contain;max-height:min(78dvh,calc(100dvh - 85px));}
 .slhf-header .slhf-primary-list a{min-height:48px;align-items:center}
 .slhf-header .slhf-primary-list .slhf-subtoggle{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:21px}
 .slhf-header .slhf-primary-list .slhf-subtoggle:focus-visible{outline:3px solid #19c9f1;outline-offset:2px}
}
@media(max-width:530px){
 .slhf-header.slhf-original-artwork .slhf-header-inner{column-gap:10px!important}
 .slhf-footer-main{row-gap:24px}
 .slhf-footer-bottom{grid-template-columns:minmax(0,1fr);gap:12px}
 .slhf-footer-bottom p{grid-column:auto}
}
/* Floating, scroll-triggered back-to-top control. Not part of the footer.
   Below the showcase modal's high z-index, above ordinary page sections. */
.slhf-scroll-top,.slhf-scroll-top *{box-sizing:border-box}
.slhf-scroll-top{
 position:fixed!important;right:calc(18px + env(safe-area-inset-right,0px));
 bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:900;
 width:54px;height:54px;min-width:54px;min-height:54px;
 border:1px solid rgba(255,255,255,.28)!important;
 border-radius:16px!important;
 background:linear-gradient(140deg,#08add4 0%,#248cf1 47%,#734ae4 100%)!important;
 color:#fff!important;
 box-shadow:0 12px 30px rgba(20,39,83,.24)!important;
 display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:0;
 font:800 10px/1.1 system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:.1em;
 padding:5px!important;margin:0!important;cursor:pointer;
 opacity:0;visibility:hidden;pointer-events:none;transform:translateY(15px) scale(.94);
 transition:opacity .22s ease,transform .22s ease,visibility .22s ease,filter .15s ease;
}
.slhf-scroll-top svg{display:block;flex:none;width:22px;height:22px;stroke:currentColor}
.slhf-scroll-top span{display:block;font-size:9px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:.13em}
.slhf-scroll-top.slhf-scroll-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.slhf-scroll-top.slhf-scroll-visible:hover{filter:brightness(1.08)}
.slhf-scroll-top:focus-visible{outline:3px solid #003f9e!important;outline-offset:4px!important}
@media(max-width:530px){.slhf-scroll-top{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));height:49px;width:49px;min-width:49px;min-height:49px;border-radius:14px!important}}
@media(prefers-reduced-motion:reduce){.slhf-scroll-top{transition:none!important}}

/* v1.3.2: no footer button; keep the single floating button visible above content,
   and hide it whenever a SiteLooma demo is open. */
body.slm-preview-open #slhf-scroll-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.slhf-scroll-enabled #ast-scroll-top{display:none!important}
@media(max-width:530px){#slhf-scroll-top{width:49px!important;height:49px!important;min-width:49px!important;min-height:49px!important;right:calc(14px + env(safe-area-inset-right,0px))!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}}

/* SiteLooma v1.4.0 — reliable sticky navigation for Astra and other themes.
   Astra's #masthead contains the plugin header. Sticking the INNER header alone
   cannot work because it has no scrolling room inside #masthead. */
body.slhf-astra.slhf-sticky-on #masthead{
  position:sticky!important;
  top:0!important;
  z-index:970!important;
  width:100%!important;
  overflow:visible!important;
  isolation:isolate;
  -webkit-transform:none!important;
  transform:none!important;
}
body.slhf-astra.slhf-sticky-on #masthead #slhf-site-header{
  position:relative!important;
  top:auto!important;
  z-index:1;
}
/* Generic-theme fallback is a body-level element, so it can stick directly. */
body.slhf-generic.slhf-sticky-on #slhf-site-header{
  position:sticky!important;
  top:0!important;
  z-index:970!important;
}
body.admin-bar.slhf-astra.slhf-sticky-on #masthead,
body.admin-bar.slhf-generic.slhf-sticky-on #slhf-site-header{top:32px!important}
@media(max-width:782px){
  body.admin-bar.slhf-astra.slhf-sticky-on #masthead,
  body.admin-bar.slhf-generic.slhf-sticky-on #slhf-site-header{top:46px!important}
}
/* Never place the sticky header over a full-screen website concept preview. */
body.slm-preview-open.slhf-astra.slhf-sticky-on #masthead,
body.slm-preview-open.slhf-generic.slhf-sticky-on #slhf-site-header{z-index:1!important}
/* Animated, but uncropped: the ENTIRE original SiteLooma image remains visible. */
.slhf-header.slhf-is-sticky .slhf-logo--header,
.slhf-header.slhf-is-sticky .slhf-header-inner{
  transition:width .22s ease, flex-basis .22s ease, padding .22s ease, box-shadow .22s ease;
}
.slhf-header.slhf-is-sticky.slhf-scrolled{
  box-shadow:0 9px 25px rgba(9,24,63,.15)!important;
  border-bottom-color:#dce5f6!important;
}
.slhf-header.slhf-is-sticky.slhf-scrolled .slhf-header-inner{
  min-height:0!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
.slhf-header.slhf-is-sticky.slhf-scrolled.slhf-original-artwork .slhf-logo--header{
  width:min(183px,calc(100vw - 100px))!important;
  flex-basis:183px!important;
  max-width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.slhf-header.slhf-is-sticky.slhf-scrolled.slhf-original-artwork .slhf-logo-img{
  height:auto!important;
  max-height:none!important;
  width:100%!important;
  object-fit:contain!important;
}
@media(max-width:1170px){
  .slhf-header.slhf-is-sticky.slhf-scrolled.slhf-original-artwork .slhf-logo--header{
    width:min(173px,calc(100vw - 100px))!important;
    flex-basis:173px!important;
  }
}
@media(max-width:530px){
  .slhf-header.slhf-is-sticky.slhf-scrolled.slhf-original-artwork .slhf-header-inner{
    min-height:0!important;
    padding:3px 10px!important;
  }
  .slhf-header.slhf-is-sticky.slhf-scrolled.slhf-original-artwork .slhf-logo--header{
    width:min(167px,calc(100vw - 85px))!important;
    flex:0 1 auto!important;
    justify-self:start!important;
  }
  .slhf-header.slhf-is-sticky.slhf-scrolled .slhf-toggle{min-height:44px!important;min-width:44px!important}
}
/* Anchor links remain visible below the persistent header. */
body.slhf-sticky-on :is(#slh-home-top,#slh-services,#slh-pricing,#slh-examples,#slm-showroom-slot,#slh-process,#slh-faq,#slh-contact){
  scroll-margin-top:120px;
}
@media(max-width:530px){
 body.slhf-sticky-on :is(#slh-home-top,#slh-services,#slh-pricing,#slh-examples,#slm-showroom-slot,#slh-process,#slh-faq,#slh-contact){scroll-margin-top:105px}
}
@media(prefers-reduced-motion:reduce){
 .slhf-header.slhf-is-sticky .slhf-logo--header,
 .slhf-header.slhf-is-sticky .slhf-header-inner{transition:none!important}
}
/* Solid background prevents underlying page text showing through sticky navigation. */
body.slhf-sticky-on #slhf-site-header{background:#fff!important}

/* v1.5: smooth, accessible quote-builder integration. */
body.slhf-active #sitelooma-quote-builder{scroll-margin-top:clamp(90px,11vw,145px)}
.slhf-footer .slhf-quote-footnote{max-width:360px;color:#bfcfea!important;font-size:13px!important;line-height:1.65!important}
.slhf-header .slhf-cta:focus-visible,.slhf-footer .slhf-footer-contact:focus-visible{outline:3px solid #05c9eb!important;outline-offset:4px!important}
@media(max-width:1170px){.slhf-header .slhf-primary-nav .slhf-quote-link{min-height:48px;white-space:normal;text-align:center}}


/* v1.6.0 — ORIGINAL LOGO EYES ONLY: subtle synchronized eyelids roughly every 9 s.
   Uses the unaltered PNG as the base; the SVG draws eyelids in the two o's.
   Both positions use the same source image, with a slight per-location offset.
   Works in sticky headers because overlay follows the intrinsic image proportions. */
.slhf-logo .slhf-logo-art{display:block;position:relative;width:100%;max-width:100%;min-width:0;line-height:0;flex:0 1 100%;}
.slhf-logo .slhf-logo-art > img.slhf-logo-img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;}
.slhf-logo .slhf-logo-eye-overlay{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:1;}
.slhf-logo .slhf-blink-lid{transform-box:view-box;animation-duration:9.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both;}
.slhf-logo .slhf-blink-lid--top{animation-name:slhf-eye-close-top;}
.slhf-logo .slhf-blink-lid--bottom{animation-name:slhf-eye-close-bottom;}
.slhf-logo--footer .slhf-blink-lid{animation-delay:-2.9s;}
@keyframes slhf-eye-close-top{
  0%,63.2%,68.8%,100%{transform:translateY(-75px)}
  65.0%,66.2%{transform:translateY(0)}
}
@keyframes slhf-eye-close-bottom{
  0%,63.2%,68.8%,100%{transform:translateY(75px)}
  65.0%,66.2%{transform:translateY(0)}
}
@media(prefers-reduced-motion: reduce){
  .slhf-logo .slhf-blink-lid--top{animation:none!important;transform:translateY(-75px)!important;}
  .slhf-logo .slhf-blink-lid--bottom{animation:none!important;transform:translateY(75px)!important;}
}

.slhf-logo .slhf-blink-crease{opacity:0;animation:slhf-eye-crease 9.4s ease-in-out infinite;}
.slhf-logo--footer .slhf-blink-crease{animation-delay:-2.9s;}
@keyframes slhf-eye-crease{0%,63.2%,68.8%,100%{opacity:0}65.0%,66.2%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.slhf-logo .slhf-blink-crease{animation:none!important;opacity:0!important;}}

/* V1.6.1: keep sticky navigation from obscuring in-page quotes and section anchors. */
html{scroll-padding-top:110px}
body.admin-bar{scroll-padding-top:142px}
body.slhf-active :is(#sitelooma-quote-builder,#slh-services,#slh-examples,#slh-process,#slh-faq,#slh-why,#slh-journey,#slh-transformation,#slh-launch-checklist){scroll-margin-top:115px}
@media(max-width:782px){html{scroll-padding-top:88px}body.admin-bar{scroll-padding-top:134px}body.slhf-active :is(#sitelooma-quote-builder,#slh-services,#slh-examples,#slh-process,#slh-faq,#slh-why,#slh-journey,#slh-transformation,#slh-launch-checklist){scroll-margin-top:94px}}

/* v1.6.2 — accessible client portal link in sticky desktop & mobile navigation */
.slhf-primary-nav .slhf-client-access{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border:1px solid #b7daf5;background:#f1f8ff;border-radius:10px;color:#1a568c;font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap}
.slhf-primary-nav .slhf-client-access:hover{color:#093e71;background:#e4f4ff}
.slhf-primary-nav .slhf-client-access:focus-visible{outline:3px solid #10a9d9;outline-offset:3px}
@media(max-width:1024px){.slhf-primary-nav .slhf-client-access{width:100%;margin:6px 0}}
