/* Strivano V17 clean control layer
   Purpose: one source of truth for header, floating Send Request, drawer, mobile CTA and Calendly popup.
   This file must load AFTER style.css. */
:root{
  --control-header-height:86px;
  --control-navy:#071B36;
  --control-teal:#075E68;
  --control-gold:#C6962E;
  --control-line:#CBD8E5;
}
html{scroll-padding-top:calc(var(--control-header-height) + 22px)!important;}
body{padding-top:var(--control-header-height)!important;overflow-x:hidden!important;}
body.drawer-open,body.calendly-modal-open{overflow:hidden!important;}

/* Header / navbar: always visible, fixed and above page sections */
#siteHeader.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--control-header-height)!important;
  min-height:var(--control-header-height)!important;
  z-index:2147482500!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(221,230,239,.94)!important;
  box-shadow:0 10px 32px rgba(7,27,54,.10)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}
#siteHeader.site-header.scrolled{background:rgba(255,255,255,.98)!important;box-shadow:0 16px 42px rgba(7,27,54,.16)!important;}
#siteHeader .nav-wrap{height:var(--control-header-height)!important;min-height:var(--control-header-height)!important;}
#siteHeader .brand img{width:180px!important;max-width:180px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;}
#siteHeader .desktop-nav{display:flex;align-items:center;gap:26px;}
#siteHeader .nav-actions{display:flex;align-items:center;gap:14px;}
#siteHeader .dropdown-panel{z-index:2147482510!important;}

/* Floating Send Request: desktop only, independent from footer and page sections */
#globalFloatingRequest.global-floating-request{
  position:fixed!important;
  right:24px!important;
  bottom:26px!important;
  z-index:2147482600!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:156px!important;
  min-height:52px!important;
  padding:15px 24px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--control-navy),var(--control-teal))!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  box-shadow:0 24px 62px rgba(7,94,104,.42)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
#globalFloatingRequest.global-floating-request::after{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(-45deg);
  margin-left:2px;
}
#globalFloatingRequest.global-floating-request:hover{transform:translateY(-3px)!important;box-shadow:0 30px 72px rgba(7,94,104,.52)!important;}

/* Mobile CTA replaces desktop floating button on small screens */
.mobile-cta{display:none!important;}
.mobile-cta button,.mobile-cta a{font:inherit!important;}

/* Request drawer */
.drawer-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:2147482700!important;
  background:rgba(7,26,47,.46)!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .22s ease,visibility .22s ease!important;
}
.drawer-backdrop.open{opacity:1!important;visibility:visible!important;}
.request-drawer{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:min(460px,100vw)!important;
  height:100dvh!important;
  z-index:2147482750!important;
  background:#fff!important;
  color:#2F4154!important;
  transform:translateX(105%)!important;
  transition:transform .28s ease!important;
  box-shadow:-24px 0 80px rgba(7,26,47,.22)!important;
  padding:34px 28px!important;
  overflow:auto!important;
  border-left:1px solid var(--control-line)!important;
}
.request-drawer.open{transform:translateX(0)!important;}
.drawer-close{
  position:absolute!important;
  top:16px!important;
  right:18px!important;
  width:42px!important;
  height:42px!important;
  border:1px solid var(--control-line)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--control-navy)!important;
  font-size:28px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.request-form{display:grid!important;gap:13px!important;}
.request-form label{display:grid!important;gap:7px!important;color:var(--control-navy)!important;font-weight:800!important;font-size:14px!important;}
.request-form input,.request-form select,.request-form textarea{
  width:100%!important;
  border:1px solid var(--control-line)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  outline:none!important;
  background:#fff!important;
  color:#2F4154!important;
}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--control-teal)!important;box-shadow:0 0 0 4px rgba(13,91,99,.10)!important;}

/* Fallback modal used only if Calendly official popup script cannot load. */
.strivano-fallback-calendly{position:fixed!important;inset:0!important;z-index:2147482800!important;display:none!important;align-items:center!important;justify-content:center!important;padding:22px!important;}
.strivano-fallback-calendly.is-open{display:flex!important;}
.strivano-fallback-calendly .fallback-backdrop{position:absolute!important;inset:0!important;background:rgba(7,26,47,.68)!important;}
.strivano-fallback-calendly .fallback-panel{position:relative!important;width:min(1080px,calc(100vw - 34px))!important;height:min(820px,calc(100dvh - 34px))!important;background:#fff!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 36px 110px rgba(7,26,47,.38)!important;display:grid!important;grid-template-rows:auto 1fr!important;}
.strivano-fallback-calendly .fallback-head{padding:18px 64px 14px 22px!important;border-bottom:1px solid var(--control-line)!important;}
.strivano-fallback-calendly .fallback-head h2{margin:0!important;font-size:24px!important;color:var(--control-navy)!important;}
.strivano-fallback-calendly .fallback-head p{margin:4px 0 0!important;color:#627D98!important;}
.strivano-fallback-calendly iframe{width:100%!important;height:100%!important;border:0!important;background:#fff!important;}
.strivano-fallback-calendly .fallback-close{position:absolute!important;top:14px!important;right:14px!important;width:42px!important;height:42px!important;border:1px solid var(--control-line)!important;border-radius:50%!important;background:#fff!important;color:var(--control-navy)!important;font-size:27px!important;line-height:1!important;cursor:pointer!important;z-index:2!important;}

@media(max-width:1024px){
  :root{--control-header-height:76px;}
  #siteHeader .nav-actions>.calendly-open{display:none!important;}
  #siteHeader .brand img{width:160px!important;max-width:160px!important;}
}
@media(max-width:760px){
  :root{--control-header-height:72px;}
  body{padding-bottom:88px!important;}
  #siteHeader .nav-wrap{height:72px!important;min-height:72px!important;}
  #siteHeader .brand img{width:148px!important;max-width:148px!important;}
  #siteHeader .desktop-nav{display:none!important;}
  #siteHeader .mobile-nav{position:fixed!important;top:72px!important;left:12px!important;right:12px!important;z-index:2147482510!important;background:#fff!important;border:1px solid var(--control-line)!important;border-radius:20px!important;box-shadow:0 20px 60px rgba(21,43,90,.16)!important;padding:14px!important;}
  #siteHeader .mobile-nav.open{display:grid!important;gap:8px!important;}
  #siteHeader .mobile-nav a,#siteHeader .mobile-nav button{text-align:left!important;width:100%!important;}
  #globalFloatingRequest.global-floating-request{display:none!important;}
  .mobile-cta{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    z-index:2147482600!important;
    background:#fff!important;
    border:1px solid rgba(216,224,234,.96)!important;
    border-radius:999px!important;
    box-shadow:0 18px 52px rgba(21,43,90,.18)!important;
    overflow:hidden!important;
  }
  .mobile-cta button,.mobile-cta a{border:0!important;background:#fff!important;color:var(--control-navy)!important;font-weight:900!important;padding:14px 12px!important;text-align:center!important;white-space:nowrap!important;line-height:1.1!important;}
  .mobile-cta a{background:linear-gradient(135deg,var(--control-navy),var(--control-teal))!important;color:#fff!important;}
  .request-drawer{width:100%!important;padding:28px 20px 104px!important;}
  .strivano-fallback-calendly{padding:12px!important;}
  .strivano-fallback-calendly .fallback-panel{width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;border-radius:22px!important;}
  .strivano-fallback-calendly .fallback-head{padding:16px 58px 12px 18px!important;}
}
@media(prefers-reduced-motion:reduce){
  #globalFloatingRequest.global-floating-request,.request-drawer,.drawer-backdrop,.strivano-fallback-calendly *{transition:none!important;animation:none!important;}
}

/* ===============================
   Strivano V17 mobile UX rebuild
   =============================== */
#siteHeader .mobile-nav .mobile-services-group{display:block!important;min-width:0!important;}
#siteHeader .mobile-nav .mobile-services-row{display:grid!important;grid-template-columns:1fr 46px!important;gap:8px!important;align-items:center!important;}
#siteHeader .mobile-nav .mobile-services-row>a{display:flex!important;align-items:center!important;min-height:46px!important;}
#siteHeader .mobile-nav .mobile-services-toggle{
  display:grid!important;place-items:center!important;width:46px!important;height:46px!important;border:1px solid var(--control-line)!important;border-radius:14px!important;background:#F7FAFC!important;color:var(--control-navy)!important;font-size:24px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;padding:0!important;text-align:center!important;
}
#siteHeader .mobile-nav .mobile-services-toggle span{display:block!important;transition:transform .22s ease!important;}
#siteHeader .mobile-nav .mobile-services-group.is-open .mobile-services-toggle span{transform:rotate(45deg)!important;}
#siteHeader .mobile-nav .mobile-services-list{display:none!important;margin:8px 0 4px 0!important;padding:8px!important;border:1px solid #E8EEF4!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#F7FAFC)!important;}
#siteHeader .mobile-nav .mobile-services-group.is-open .mobile-services-list{display:grid!important;gap:4px!important;}
#siteHeader .mobile-nav .mobile-services-list a{padding:12px 14px!important;border-radius:14px!important;font-size:14px!important;line-height:1.35!important;color:var(--control-navy)!important;background:#fff!important;border:1px solid rgba(221,230,239,.68)!important;}
#siteHeader .mobile-nav>.btn,#siteHeader .mobile-nav>button.calendly-open{display:none!important;}
body.mobile-nav-open .mobile-cta{display:none!important;}
body.mobile-nav-open{overflow:hidden!important;}

@media(max-width:760px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body{padding-bottom:88px!important;}
  .container{width:min(100% - 28px,var(--max))!important;max-width:100%!important;}
  #siteHeader .mobile-nav{max-height:calc(100dvh - 88px)!important;overflow:auto!important;overscroll-behavior:contain!important;padding:14px!important;}
  #siteHeader .mobile-nav a{font-size:16px!important;line-height:1.35!important;padding:13px 14px!important;border-radius:14px!important;}

  /* Hero and image sections */
  .hero,.page-hero,.services-page-hero,.service-hero-pro{padding-top:34px!important;padding-bottom:42px!important;overflow:hidden!important;}
  .hero-grid,.page-hero-grid,.services-page-hero-grid,.service-hero-grid,.split,.problem-grid,.service-board-layout,.service-narrative-grid,.executive-grid,.faq-layout,.contact-details-grid,.calculator-shell,.tool-band-grid,.cta-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;min-width:0!important;}
  .hero-copy,.page-hero-grid>*,.services-page-hero-grid>*,.service-hero-grid>*,.service-board-layout>*,.calculator-shell>*{min-width:0!important;max-width:100%!important;}
  .hero-copy h1,.page-hero h1,.services-page-hero h1,.service-hero-copy h1{font-size:clamp(32px,9.2vw,42px)!important;line-height:1.06!important;letter-spacing:-.045em!important;overflow-wrap:anywhere!important;}
  .lead{font-size:16px!important;line-height:1.65!important;}
  .hero-media,.service-visual-board,.media-card,.capability-media,.service-board-image{max-width:100%!important;overflow:hidden!important;border-radius:24px!important;}
  .hero-media video,.hero-media img,.page-hero img,.page-hero video,.service-visual-board video,.service-visual-board img,.media-card img,.media-card video,.capability-media img,.service-board-image img{height:240px!important;min-height:0!important;width:100%!important;max-width:100%!important;object-fit:cover!important;border-radius:24px!important;}
  .float-card,.media-notes{display:none!important;}

  /* Cards and grids */
  .trust-strip .container,.trust-strip .stagger,.services-grid,.signature-service-grid,.capability-grid,.problem-list,.steps-grid,.values-grid,.industry-grid,.insight-grid,.footer-grid,.model-rail,.compact-values,.result-grid,.refined-calculator .calc-grid,.service-index-stack{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  .trust-item,.problem-card,.service-card,.step-card,.value-card,.industry-card,.insight-card,.tool-card,.contact-card,.legal-card,.outcome-panel,.process-board,.exec-card,.service-index-panel,.capability-panel,.tool-band-grid,.calculator-input-panel,.calculator-result-panel,.calc-guidance{padding:20px!important;border-radius:22px!important;min-width:0!important;}
  .service-index-panel{display:grid!important;grid-template-columns:1fr!important;}
  .service-index-number{font-size:38px!important;}
  .section{padding:52px 0!important;}
  h2{font-size:clamp(27px,8vw,36px)!important;line-height:1.1!important;overflow-wrap:anywhere!important;}
  h3{font-size:21px!important;}
  .hero-actions,.card-actions,.cta-actions,.result-actions,.tool-band-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;justify-content:stretch!important;}
  .hero-actions .btn,.card-actions .btn,.cta-actions .btn,.result-actions .btn,.tool-band-actions .btn{width:100%!important;min-width:0!important;}
  .cta-band .container{padding:24px!important;border-radius:26px!important;}
  .article{padding:22px!important;border-radius:24px!important;}
  .content-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;}
  .sidebar{position:static!important;}

  /* Form and drawer */
  .request-drawer{padding:26px 18px 104px!important;}
  .request-form input,.request-form select,.request-form textarea,.contact-form input,.contact-form select,.contact-form textarea,.booking-card input,.booking-card select,.booking-card textarea{font-size:16px!important;min-height:46px!important;}
}

@media(max-width:420px){
  #siteHeader .brand img{width:132px!important;max-width:132px!important;}
  #siteHeader .mobile-nav{left:8px!important;right:8px!important;}
  .container{width:min(100% - 22px,var(--max))!important;}
  .hero-media video,.hero-media img,.page-hero img,.page-hero video,.service-visual-board video,.service-visual-board img{height:220px!important;}
}



/* V17 mobile menu color depth */
#siteHeader .mobile-nav{background:linear-gradient(180deg,#fff,#F6FAFC)!important;}
#siteHeader .mobile-nav .mobile-services-toggle{background:#EEF5F7!important;border-color:#CBD8E5!important;}
#siteHeader .mobile-nav .mobile-services-list{background:#F4F8FA!important;border-color:#CBD8E5!important;}
.mobile-cta{box-shadow:0 20px 58px rgba(7,27,54,.22)!important;}
