/* FORCE header capsule row layout (Elementor CSS cache can drop flex) */
.elementor-location-header .elementor-element-72d5363{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:min(1200px, calc(100% - 48px))!important;
  max-width:min(1200px, calc(100% - 48px))!important;
  min-height:56px!important;
  height:auto!important;
}
.elementor-location-header .elementor-element-72d5363 > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  max-width:100%!important;
  gap:12px!important;
  padding:0!important;
}
.elementor-location-header .elementor-element-fa7a1bb,
.elementor-location-header .elementor-element-fa7a1bb > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
  width:auto!important;
  flex:1 1 auto!important;
  justify-content:flex-end!important;
}
.elementor-location-header .elementor-element-2a584c6{
  width:auto!important;
  max-width:none!important;
  flex:0 1 auto!important;
}
.elementor-location-header .elementor-nav-menu--main,
.elementor-location-header .elementor-nav-menu{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:4px!important;
}
.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li{
  display:inline-block!important;
  float:none!important;
}
.elementor-location-header .elementor-widget-image{
  flex:0 0 auto!important;
  width:auto!important;
}
.elementor-location-header .elementor-element-6eb94a9{
  flex:0 0 auto!important;
  width:auto!important;
}
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

html, body { overflow-x: clip; max-width: 100%; }
body, button, input, textarea { font-family: Manrope, sans-serif !important; }

.ast-main-header-wrap, .main-header-bar-wrap, header#masthead, .site-header,
footer#colophon, .site-footer, .ast-footer-copyright { display: none !important; }

/* ===== Framer floating capsule header ===== */
.elementor-location-header{
  position:fixed!important; top:0; left:0; right:0; z-index:1000;
  pointer-events:none; background:transparent!important;
}
.admin-bar .elementor-location-header{ top:32px; }
.elementor-location-header .elementor-element{ pointer-events:auto; }
.elementor-location-header .elementor-element-72d5363,
.elementor-location-header .elementor-element-72d5363.elementor-sticky--effects{
  max-width:min(1200px, calc(100% - 48px))!important;
  margin:16px auto 0!important;
  padding:8px 12px 8px 16px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  backdrop-filter:blur(14px)!important; -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.22)!important;
  transition:background .35s ease, box-shadow .35s ease, border-color .35s ease;
}
body.ah-scrolled .elementor-location-header .elementor-element-72d5363,
body.ah-scrolled .elementor-location-header .elementor-element-72d5363.elementor-sticky--effects{
  background:rgba(26,26,26,.94)!important;
  border-color:transparent!important;
  box-shadow:0 12px 40px rgba(0,0,0,.28)!important;
}
.elementor-location-header .elementor-widget-image img{
  width:36px!important;height:auto!important;max-width:36px!important;max-height:40px!important;
}

/* Idle: white nav. Scrolled: orange pill nav */
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu a,
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu .elementor-item,
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu--main .elementor-item{
  color:#fff!important;
}
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu .current-menu-item > a,
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu .current-menu-item .elementor-item,
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu a:hover,
body:not(.ah-scrolled) .elementor-location-header .elementor-nav-menu .elementor-item:hover{
  color:#F8991D!important;
}
body.ah-scrolled .elementor-location-header .elementor-element-2a584c6,
body.ah-scrolled .elementor-location-header .elementor-widget-nav-menu{
  background:#F8991D!important; border-radius:12px!important; padding:4px 14px!important;
}
body.ah-scrolled .elementor-location-header .elementor-nav-menu a,
body.ah-scrolled .elementor-location-header .elementor-nav-menu .elementor-item{
  color:#111!important; font-weight:600!important;
}
body.ah-scrolled .elementor-location-header .elementor-nav-menu .current-menu-item > a,
body.ah-scrolled .elementor-location-header .elementor-nav-menu .current-menu-item .elementor-item{
  position:relative;
}
body.ah-scrolled .elementor-location-header .elementor-nav-menu .current-menu-item > a:after,
body.ah-scrolled .elementor-location-header .elementor-nav-menu .current-menu-item .elementor-item:after{
  content:""; position:absolute; left:50%; bottom:2px; width:5px; height:5px;
  background:#fff; border-radius:50%; transform:translateX(-50%);
}
body:not(.ah-scrolled) .elementor-location-header .elementor-button,
body:not(.ah-scrolled) .elementor-location-header .elementor-button-link{
  background:#F8991D!important; color:#fff!important; border-radius:10px!important; border:0!important;
}
body.ah-scrolled .elementor-location-header .elementor-button,
body.ah-scrolled .elementor-location-header .elementor-button-link{
  background:#fff!important; color:#111!important; border-radius:10px!important;
}

/* ===== Hero ===== */
[data-id="hero"]{
  border-radius:32px!important; overflow:hidden!important;
  margin:12px 24px 0!important; max-width:calc(100% - 48px);
}
.elementor-15 .elementor-element[data-id="hero"]::before,
[data-id="hero"]::before{
  background-color:rgba(0,0,0,.42)!important; opacity:1!important;
}
[data-id="hero"] .elementor-background-overlay{
  background-color:rgba(0,0,0,.35)!important; opacity:1!important;
}
[data-id="hero"] .elementor-heading-title{ color:#fff!important; }
[data-id="hero"] .elementor-widget-text-editor{ color:rgba(255,255,255,.92)!important; }

/* Schedule CTA = glass + circular arrow chip (Framer) */
[data-id="hero"] a.elementor-button[href="#contact"],
[data-id="hero"] [data-id="33d0e17"] .elementor-button{
  position:relative!important;
  padding:14px 64px 14px 20px!important;
  background:rgba(255,255,255,.22)!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  font-weight:600!important;
}
[data-id="hero"] a.elementor-button[href="#contact"]::after,
[data-id="hero"] [data-id="33d0e17"] .elementor-button::after{
  content:""!important; display:block!important;
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border-radius:50%; background:#111;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23fff' d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E");
  background-size:16px; background-repeat:no-repeat; background-position:center;
}
[data-id="hero"] a.elementor-button[href="#services"],
[data-id="hero"] [data-id="b9f4bbb"] .elementor-button{
  background:#1A1A1A!important; color:#fff!important; border-radius:12px!important;
  padding:14px 22px!important; border:0!important;
}

.ah-svc-icon{ width:48px; height:48px; margin:0 0 10px; display:block; }
.ah-svc-icon svg{ width:48px; height:48px; display:block; fill:#8A8A8A; }

/* Service cards */
[data-id="services"] .elementor-element-03d5e49,
[data-id="services"] .elementor-element-f444eaf,
[data-id="services"] .elementor-element-cf01081,
[data-id="services"] .elementor-element-de38aad,
[data-id="services"] .elementor-element-85f64b6,
[data-id="services"] .elementor-element-17c2a99{
  border-radius:24px!important; padding:28px!important;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
[data-id="services"] .elementor-element-03d5e49:hover,
[data-id="services"] .elementor-element-f444eaf:hover,
[data-id="services"] .elementor-element-cf01081:hover,
[data-id="services"] .elementor-element-de38aad:hover,
[data-id="services"] .elementor-element-85f64b6:hover,
[data-id="services"] .elementor-element-17c2a99:hover{
  transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.ah-team-carousel{ position:relative; width:100%; overflow:hidden; }
.ah-team-track{ display:flex; gap:16px; transition:transform .45s cubic-bezier(.22,1,.36,1); will-change:transform; }
.ah-team-slide{ flex:0 0 calc(25% - 12px); min-width:160px; }
.ah-team-nav{ display:flex; gap:10px; justify-content:center; margin-top:22px; }
.ah-team-nav button{
  width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:#111; color:#fff; font-size:22px; line-height:1;
}
.ah-team-nav button:hover{ background:#F8991D; color:#111; }
.ah-team-nav button:disabled{ opacity:.35; cursor:default; }

[data-id="about"] .elementor-widget-image img{
  border-radius:16px!important; object-fit:cover!important;
  width:100%!important; height:360px!important; filter:grayscale(100%);
  transition:filter .35s ease, transform .35s ease;
}
[data-id="about"] .elementor-widget-image:hover img{ filter:none; transform:scale(1.02); }

/* Portfolio metrics bento */
[data-id="portfolio"] .elementor-heading-title{ font-family:Manrope,sans-serif!important; }
[data-id="portfolio"] [data-id="218e9d0"] .elementor-heading-title,
[data-id="portfolio"] [data-id="fa5ab92"] .elementor-heading-title,
[data-id="portfolio"] [data-id="1c31a91"] .elementor-heading-title{
  font-size:64px!important; font-weight:800!important; line-height:1!important; letter-spacing:-.03em;
}

/* Blog teal arch */
[data-id="blog"]{
  background:#B7D4D1!important;
  border-radius:300px 300px 0 0!important;
  margin-top:48px; overflow:hidden;
}
[data-id="blog"] > .e-con-inner,
[data-id="blog"].e-con{ padding-top:96px!important; }
[data-id="blog"] .elementor-widget-image img{
  border-radius:24px!important; height:220px!important; object-fit:cover!important; width:100%!important;
}
.ah-blog-meta{
  display:flex; align-items:center; gap:10px; margin:10px 0 6px;
  font-family:Manrope,sans-serif; font-size:13px; color:#5A5A5A;
}
.ah-blog-meta .ah-pill{
  display:inline-flex; padding:4px 12px; background:#fff; border-radius:999px;
  font-weight:600; color:#1A1A1A; font-size:12px;
}

[data-id="partners"]{ border-radius:0 0 300px 300px!important; overflow:hidden; margin-bottom:40px; }

[data-id="trusted"] .elementor-widget-image img{
  opacity:.7; filter:grayscale(1); max-height:36px; width:auto!important; transition:.25s ease;
}
[data-id="trusted"] .elementor-widget-image:hover img{ opacity:1; filter:none; }

[data-id="faq"] .elementor-accordion-item{ border:0!important; border-bottom:1px solid rgba(0,0,0,.08)!important; }
[data-id="faq"] .elementor-tab-title{ padding:18px 4px!important; font-weight:600!important; font-size:16px!important; }
[data-id="faq"] .elementor-tab-content{ padding:0 4px 18px!important; color:#5A5A5A; }

[data-id="contact"] .elementor-widget-image img{
  border-radius:50%!important; width:72px!important; height:72px!important; object-fit:cover!important;
}

.elementor-button{ transition:transform .25s ease, box-shadow .25s ease!important; }
.elementor-button:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.12); }

.elementor-location-footer > .elementor > .e-con{
  border-radius:32px 32px 0 0!important; overflow:hidden;
}

@media (max-width:1024px){
  [data-id="hero"]{ margin-left:16px!important; margin-right:16px!important; max-width:calc(100% - 32px); border-radius:24px!important; }
  [data-id="blog"]{ border-radius:120px 120px 0 0!important; }
  [data-id="partners"]{ border-radius:0 0 120px 120px!important; }
  .ah-team-slide{ flex-basis:calc(50% - 10px); }
  [data-id="about"] .elementor-widget-image img{ height:280px!important; }
}
@media (max-width:767px){
  .elementor-location-header .elementor-element-72d5363{
    margin:10px 10px 0!important; max-width:calc(100% - 20px)!important; padding:6px 8px!important;
  }
  body.ah-scrolled .elementor-location-header .elementor-widget-nav-menu{ display:none!important; }
  [data-id="hero"]{ margin:8px 12px 0!important; max-width:calc(100% - 24px); border-radius:20px!important; }
  [data-id="hero"] .elementor-heading-title{ font-size:32px!important; }
  [data-id="blog"]{ border-radius:64px 64px 0 0!important; }
  [data-id="partners"]{ border-radius:0 0 64px 64px!important; }
  .ah-team-slide{ flex-basis:85%; }
  [data-id="about"] .elementor-widget-image img{ height:260px!important; }
  [data-id="portfolio"] [data-id="218e9d0"] .elementor-heading-title,
  [data-id="portfolio"] [data-id="fa5ab92"] .elementor-heading-title,
  [data-id="portfolio"] [data-id="1c31a91"] .elementor-heading-title{ font-size:48px!important; }
}

/* Beat Elementor post-40 nav color specificity */
body:not(.ah-scrolled) .elementor-40 .elementor-element.elementor-element-2a584c6 .elementor-nav-menu--main .elementor-item{
  color:#fff!important; fill:#fff!important;
}
body:not(.ah-scrolled) .elementor-40 .elementor-element.elementor-element-2a584c6 .elementor-nav-menu--main .elementor-item:hover,
body:not(.ah-scrolled) .elementor-40 .elementor-element.elementor-element-2a584c6 .elementor-nav-menu--main .elementor-item.elementor-item-active,
body:not(.ah-scrolled) .elementor-40 .elementor-element.elementor-element-2a584c6 .elementor-nav-menu--main .elementor-item.highlighted{
  color:#F8991D!important; fill:#F8991D!important;
}
body.ah-scrolled .elementor-40 .elementor-element.elementor-element-2a584c6 .elementor-nav-menu--main .elementor-item,
body.ah-scrolled .elementor-40 .elementor-element.elementor-element-2a584c6 .elementor-nav-menu--main .elementor-item.elementor-item-active{
  color:#111!important; fill:#111!important;
}

/* Team cards were Elementor width:23% — inside slides that compounds to skinny strips */
.ah-team-carousel{ width:100%!important; }
.ah-team-track{ width:100%; }
.ah-team-slide{
  flex:0 0 calc(25% - 12px)!important;
  width:calc(25% - 12px)!important;
  max-width:calc(25% - 12px)!important;
  min-width:200px!important;
  box-sizing:border-box;
}
.ah-team-slide > .elementor-element,
.ah-team-slide > .e-con{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.ah-team-slide .elementor-widget-image,
.ah-team-slide .elementor-widget-image img{
  width:100%!important;
  max-width:100%!important;
}
[data-id="0c81d66"]{ display:block!important; width:100%!important; }
[data-id="0c81d66"] > .e-con-inner{ display:block!important; width:100%!important; }
@media (max-width:1024px){
  .ah-team-slide{ flex-basis:calc(50% - 10px)!important; width:calc(50% - 10px)!important; max-width:calc(50% - 10px)!important; }
}
@media (max-width:767px){
  .ah-team-slide{ flex-basis:85%!important; width:85%!important; max-width:85%!important; }
}
