/* AA 3D Studio legal pages — Privacy Policy and Terms & Conditions */
/* v3.1.40 — legal pages use the AA 3D Studio canvas only.
   Hide Astra/WordPress site branding, duplicate page titles and the theme footer,
   then remove all theme content-container spacing so the managed legal layout
   begins directly under the AA 3D Studio global header. */
body.aa3d-has-legal-page #masthead,
body.aa3d-has-legal-page .site-header,
body.aa3d-has-legal-page .ast-primary-header-bar,
body.aa3d-has-legal-page .site-primary-header-wrap,
body.aa3d-has-legal-page .entry-header,
body.aa3d-has-legal-page .page-header,
body.aa3d-has-legal-page .ast-page-builder-template .entry-header,
body.aa3d-has-legal-page #colophon,
body.aa3d-has-legal-page .site-footer:not(.aa3d-global-footer){
  display:none !important;
}

body.aa3d-has-legal-page,
body.aa3d-has-legal-page #page,
body.aa3d-has-legal-page .site{
  margin:0 !important;
  padding:0 !important;
  background:#f5f5f2 !important;
}

body.aa3d-has-legal-page #content,
body.aa3d-has-legal-page .site-content,
body.aa3d-has-legal-page .ast-container,
body.aa3d-has-legal-page .content-area,
body.aa3d-has-legal-page .site-main,
body.aa3d-has-legal-page article,
body.aa3d-has-legal-page .entry-content,
body.aa3d-has-legal-page .elementor,
body.aa3d-has-legal-page .elementor-inner,
body.aa3d-has-legal-page .elementor-section-wrap{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.aa3d-legal-page{
  background:#f5f5f2;
  color:#151515;
  font-family:'Manrope',Arial,sans-serif;
  min-height:100vh;
  padding:150px 0 96px;
}
.aa3d-legal-shell{
  width:min(1040px,calc(100% - 64px));
  margin:0 auto;
}
.aa3d-legal-hero{
  max-width:900px;
  padding-bottom:58px;
  border-bottom:1px solid rgba(21,21,21,.18);
}
.aa3d-legal-kicker{
  margin:0 0 20px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.aa3d-legal-hero h1{
  margin:0;
  font-size:clamp(44px,6vw,78px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:600;
}
.aa3d-legal-updated{
  margin:24px 0 0;
  font-size:14px;
  color:#676767;
}
.aa3d-legal-intro{
  max-width:840px;
  margin:28px 0 0;
  font-size:18px;
  line-height:1.75;
  color:#363636;
}
.aa3d-legal-content{
  max-width:900px;
  padding-top:18px;
}
.aa3d-legal-content section{
  padding:44px 0;
  border-bottom:1px solid rgba(21,21,21,.12);
}
.aa3d-legal-content section:last-child{border-bottom:0;padding-bottom:0}
.aa3d-legal-content h2{
  margin:0 0 20px;
  font-size:clamp(22px,2.6vw,30px);
  line-height:1.25;
  letter-spacing:-.025em;
  font-weight:600;
}
.aa3d-legal-content p,
.aa3d-legal-content li{
  font-size:16px;
  line-height:1.8;
  color:#343434;
}
.aa3d-legal-content p{margin:0 0 16px}
.aa3d-legal-content p:last-child{margin-bottom:0}
.aa3d-legal-content ul,
.aa3d-legal-content ol{
  margin:16px 0 20px;
  padding-left:24px;
}
.aa3d-legal-content li{margin:6px 0;padding-left:4px}
.aa3d-legal-content strong{color:#151515;font-weight:650}
.aa3d-legal-content a{
  color:#151515;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.aa3d-legal-content a:hover{opacity:.65}

@media (max-width: 767px){
  .aa3d-legal-page{padding:112px 0 68px}
  .aa3d-legal-shell{width:min(100% - 36px,1040px)}
  .aa3d-legal-hero{padding-bottom:38px}
  .aa3d-legal-hero h1{font-size:42px}
  .aa3d-legal-intro{font-size:16px;line-height:1.7}
  .aa3d-legal-content section{padding:34px 0}
  .aa3d-legal-content h2{font-size:22px}
  .aa3d-legal-content p,
  .aa3d-legal-content li{font-size:15px;line-height:1.75}
}


/* v3.1.41 — legal-page hamburger visibility and touch target.
   The legal canvas is light, so the closed hamburger is dark and easy to see.
   When the full-screen dark menu is open, the close icon returns to white. */
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-menu-toggle{
  top:14px !important;
  right:28px !important;
  width:44px !important;
  height:44px !important;
  padding:10px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:space-between !important;
}
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-menu-toggle > span:not(.screen-reader-text){
  width:24px !important;
  height:1.5px !important;
  min-height:1.5px !important;
  background:#151515 !important;
}
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-global-header.is-menu-open .aa3d-menu-toggle > span:not(.screen-reader-text){
  background:#fff !important;
}
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-global-header.is-menu-open .aa3d-menu-toggle > span:nth-child(1){
  transform:translateY(11.25px) rotate(45deg) !important;
}
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-global-header.is-menu-open .aa3d-menu-toggle > span:nth-child(2){
  opacity:0 !important;
}
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-global-header.is-menu-open .aa3d-menu-toggle > span:nth-child(3){
  transform:translateY(-11.25px) rotate(-45deg) !important;
}
@media(max-width:782px){
  body.aa3d-has-legal-page.aa3d-inner-page .aa3d-menu-toggle{
    top:10px !important;
    right:max(14px,env(safe-area-inset-right)) !important;
    width:44px !important;
    height:44px !important;
    padding:10px !important;
  }
}

/* v3.1.42 — match the approved Contact / Request a Proposal header treatment.
   Only the fixed global header receives the soft near-black fade; the legal
   document itself remains on the existing light canvas. */
body.aa3d-has-legal-page .aa3d-global-header{
  background:linear-gradient(180deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.44) 56%,rgba(0,0,0,0) 100%) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* The legal-page hamburger is white against the dark header, while preserving
   the v3.1.41 44x44 target and safe top/right inset. */
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-menu-toggle{
  color:#fff !important;
}
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-menu-toggle > span:not(.screen-reader-text),
body.aa3d-has-legal-page.aa3d-inner-page .aa3d-global-header.is-menu-open .aa3d-menu-toggle > span:not(.screen-reader-text){
  background:#fff !important;
}
