/* =====================================================================
   legal.css — shared theme for the legal pages (privacy, disclaimer,
   disclosures). Mirrors the homepage / team theme: dark full-bleed hero,
   hamburger + full-screen menu nav, Libre Franklin type scale.
   Replaces the old index_old.css dependency on those pages.
   ===================================================================== */
:root{
  --ink:#33465C;
  --ink-soft:#6C7C8D;
  --navy:#1B2A3B;
  --navy-deep:#141F2C;
  --accent:#51BAFF;
  --accent-deep:#2A93E6;
  --accent-on-dark:#6FC5FF;
  --accent-tint:#EAF4FF;
  --line:#E1E5EA;
  --line-on-dark:#2B3B4E;
  --bg:#FFFFFF;
  --bg-tint:#F5F7F9;
  --ink-on-navy:#AEB9C6;
  --radius:4px;
  --ease:cubic-bezier(.19,1,.22,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Libre Franklin',sans-serif;background:var(--bg);color:var(--ink);overflow-x:clip;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
svg{display:block;}
.wrap{max-width:1140px;margin:0 auto;padding:0 40px;}

/* =====================================================================
   HAMBURGER + FULL-SCREEN MENU — mirrors the homepage nav treatment.
   Colors flip from white (over the dark hero) to navy once scrolled onto
   the white body, driven by site.js's .ec-scrolled class.
   ===================================================================== */
@media (min-width:901px){
  .ec-nav.ec-nav--overlay,
  .ec-nav.ec-nav--overlay.ec-scrolled{
    position:fixed;top:0;left:0;right:0;bottom:auto;width:auto;height:auto;
    background:transparent!important;border:none!important;box-shadow:none!important;
  }
  .ec-nav--overlay .ec-nav-inner{
    max-width:none;height:74px;padding:0 44px;
    flex-direction:row;align-items:center;justify-content:flex-end;gap:22px;
    position:relative;z-index:60;
  }
  .ec-nav--overlay .ec-toggle{display:block;order:1;position:relative;z-index:60;}
  .ec-nav--overlay .ec-logo{position:relative;z-index:60;order:0;}
  .ec-nav--overlay .ec-cta-d{display:none;}
  .ec-nav--overlay .ec-links{display:none;}

  .ec-nav--overlay .ec-logo{color:#fff!important;transition:color .35s var(--ease);}
  .ec-nav--overlay .ec-toggle span{background:#fff!important;transition:background .35s var(--ease),transform .3s ease,opacity .2s ease,top .3s ease,bottom .3s ease;}
  .ec-nav--overlay.ec-scrolled .ec-logo{color:var(--navy)!important;}
  .ec-nav--overlay.ec-scrolled .ec-toggle span{background:var(--navy)!important;}

  /* --- OPENED: full white page, links centered --- */
  .ec-nav--overlay.is-open .ec-links{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
    background:#fff;padding:130px 40px;z-index:40;
  }
  .ec-nav--overlay.is-open .ec-links a:not(.btn){
    font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:-0.015em;
    color:var(--navy)!important;padding:8px 0;
  }
  .ec-nav--overlay.is-open .ec-links a:not(.btn):hover{color:var(--accent-deep)!important;}
  .ec-nav--overlay.is-open .ec-has-sub{flex-direction:column;align-items:center;}
  .ec-nav--overlay.is-open .ec-has-sub > a{display:inline-flex;align-items:center;gap:10px;cursor:pointer;}
  .ec-nav--overlay.is-open .ec-has-sub > a .ec-caret{display:inline-block;width:22px;height:22px;transition:transform .3s ease;}
  .ec-nav--overlay.is-open .ec-has-sub.is-open > a .ec-caret{transform:rotate(180deg);}
  .ec-nav--overlay.is-open .ec-sub{
    display:none;flex-direction:column;align-items:center;
    position:static;opacity:1;visibility:visible;transform:none;
    background:none;border:none;box-shadow:none;min-width:0;padding:6px 0 0;
  }
  .ec-nav--overlay.is-open .ec-has-sub.is-open .ec-sub{display:flex;}
  .ec-nav--overlay.is-open .ec-links .ec-sub a{font-size:clamp(15px,1.7vw,20px);color:var(--ink-soft)!important;padding:7px 0;text-align:center;}
  .ec-nav--overlay.is-open .ec-links .ec-sub a:hover{color:var(--accent-deep)!important;}
  .ec-nav--overlay .ec-cta-m{display:none;}
  .ec-nav--overlay.is-open .ec-cta-m,
  .ec-nav--overlay.is-open .ec-cta-m:hover{display:inline-flex;margin-top:26px;color:#fff!important;}
  body .ec-nav--overlay.is-open .ec-logo{color:var(--navy)!important;}
  body .ec-nav--overlay.is-open .ec-toggle span{background:var(--navy)!important;}
}

/* =====================================================================
   LEGAL PAGE — dark full-bleed hero + long-form body
   ===================================================================== */
.legal{padding:0 0 120px;background:var(--bg);}

.legal-head{
  position:relative;min-height:48vh;display:flex;align-items:center;
  overflow:hidden;background:var(--navy-deep);margin-bottom:70px;
}
.legal-head-bg{position:absolute;inset:0;z-index:0;}
.legal-head-bg img{width:100%;height:100%;object-fit:cover;}
.legal-head::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,31,44,.7) 0%,rgba(20,31,44,.5) 50%,rgba(20,31,44,.82) 100%);
}
.legal-head .wrap{position:relative;z-index:2;width:100%;padding-top:112px;padding-bottom:56px;}
.legal-head .section-label{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-on-dark);margin-bottom:22px;
}
.legal-head .section-label::before{content:"";width:26px;height:1px;background:currentColor;}
.legal-head h1{
  font-weight:800;font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1.02;letter-spacing:-0.035em;
  text-transform:uppercase;color:#fff;margin-bottom:24px;
}
.legal-dates{
  display:flex;flex-wrap:wrap;gap:10px 26px;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.legal-dates span{display:inline-flex;align-items:center;gap:8px;}
.legal-dates span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);}

.legal-body{max-width:820px;}
.legal-body h2{font-weight:700;font-size:19px;color:var(--navy);margin:38px 0 12px;letter-spacing:-0.01em;}
.legal-body h3{font-weight:600;font-size:15.5px;color:var(--navy);margin:20px 0 8px;}
.legal-intro{font-size:16px;line-height:1.8;color:var(--ink);margin-bottom:8px;}
.legal-body p{font-size:15px;line-height:1.8;color:var(--ink-soft);margin-bottom:14px;}
.legal-body ul,.legal-body ol{margin:0 0 14px 20px;}
.legal-body li{font-size:15px;line-height:1.8;color:var(--ink-soft);margin-bottom:8px;}
.legal-body a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px;}
.legal-body a:hover{color:var(--accent);}
.legal-address{font-size:15px;line-height:1.8;color:var(--ink-soft);margin-bottom:14px;}

@media (max-width:640px){
  .wrap{padding:0 24px;}
  .legal-head{min-height:auto;margin-bottom:48px;}
  .legal-head .wrap{padding-top:96px;padding-bottom:48px;}
  .legal{padding-bottom:80px;}
}
