/* ═══════════════════════════════════════════════════════════════
   FOOTER — edit ONLY this file (applies to every page)

   Bottom bar layout (3 rows, ArchiGreen-style):
     1. copyright left | meta right
     2. nav links spread across
     3. huge brand name clipped at bottom + footer.webp on right edge
   ═══════════════════════════════════════════════════════════════ */

:root{
  --g:#22c55e;

  --pre-foot-pad-bottom     : clamp(16px,2.5vw,28px);
  --pre-foot-providers-mt   : 0px;
  --pre-foot-providers-mb   : 0px;
  --pre-foot-providers-slider-mt: clamp(10px,1.5vh,16px);

  /* Section above footer — card + shadow */
  --pre-foot-card-bg        : rgba(10,18,13,.92);
  --pre-foot-card-border    : rgba(255,255,255,.1);
  --pre-foot-card-radius    : 20px;
  --pre-foot-card-shadow    : 0 28px 64px rgba(0,0,0,.48), 0 10px 28px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  --pre-foot-card-pad-y     : clamp(32px,5vw,56px);
  --pre-foot-card-mb        : clamp(20px,3vw,28px);

  /* Footer depth — raised card above page content */
  --foot-depth-border   : rgba(255,255,255,.1);
  --foot-depth-shadow   : 0 -28px 64px rgba(0,0,0,.48), 0 -12px 32px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.07);

  /* CTA block */
  --foot-bg           : #0b1510;
  --foot-max-w        : 1360px;
  --foot-pad-top      : 35px;
  --foot-pad-x        : clamp(20px,4vw,72px);
  --foot-pad-bottom   : 0px;
  --foot-border-color : rgba(255,255,255,.08);
  --foot-inner-max-w  : 700px;
  --foot-h2-size      : clamp(34px,5.5vw,80px);
  --foot-h2-mb        : 32px;
  --foot-p-size       : 15px;
  --foot-p-line       : 1.55;
  --foot-p-mb         : 28px;
  --foot-p-max-w      : 46ch;
  --foot-legal-size   : clamp(11px,1.05vw,13px);
  --foot-legal-max-w  : 58ch;
  --foot-btns-gap     : 8px;

  /* Bottom bar — plain text rows */
  --foot-meta-pad-y       : 14px;
  --foot-meta-size        : 9px;
  --foot-links-pad-y      : clamp(28px,5vw,52px);
  --foot-links-size       : clamp(9px,1.1vw,11px);
  --foot-links-gap        : clamp(10px,2vw,24px);
  --foot-social-icon-size : 28px;
  --foot-social-gap       : 8px;
  --foot-social-icon-filter: brightness(0) saturate(100%) invert(63%) sepia(67%) saturate(522%) hue-rotate(90deg) brightness(93%) contrast(93%);
  --foot-brand-size       : clamp(88px,17.5vw,240px);
  --foot-brand-clip-y     : 18%;
  --foot-brand-wrap-min-h : clamp(100px,16vw,200px);

  /* Footer edge image — desktop (newfooter.webp, beside CTA card) */
  --foot-edge-img-w       : clamp(150px,20vw,320px);
  --foot-edge-img-h       : clamp(160px,22vh,340px);
  --foot-edge-img-x       : 0px;   /* + right  / − left */
  --foot-edge-img-y       : 0px;   /* + down   / − up   */
  --foot-edge-img-scale   : 1.9;
  --foot-cta-col-gap      : clamp(20px,4vw,48px);

  /* Footer edge image — mobile (footer.webp) */
  --foot-mobile-edge-img-w     : clamp(110px,30vw,160px);
  --foot-mobile-edge-img-h     : clamp(120px,32vw,180px);
  --foot-mobile-edge-img-x     : 0px;
  --foot-mobile-edge-img-y     : 7px;
  --foot-mobile-edge-img-scale : 1;

  /* Mobile layout */
  --foot-mobile-pad-top       : 45px;
  --foot-mobile-pad-x         : clamp(20px,5vw,24px);
  --foot-mobile-gap           : 4px;
  --foot-mobile-brand-size    : clamp(64px,22vw,120px);
}

.pre-foot{
  box-sizing:border-box;
  max-width:var(--foot-max-w);
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:var(--pre-foot-card-mb) !important;
  padding:var(--pre-foot-card-pad-y) var(--foot-pad-x) var(--pre-foot-pad-bottom) !important;
  background:var(--pre-foot-card-bg) !important;
  border:1px solid var(--pre-foot-card-border) !important;
  border-radius:var(--pre-foot-card-radius);
  box-shadow:var(--pre-foot-card-shadow);
}
.pre-foot .office-map-layout{
  margin-bottom:0;
}
.pre-foot.about-providers-section .about-providers-head,
.pre-foot .about-providers-head{
  margin:0 0 clamp(10px,1.4vh,14px) !important;
  padding:0;
}

@media (max-width:900px){
  .pre-foot .office-map-layout{
    margin-bottom:0;
  }
  .pre-foot.about-providers-section .about-providers-head,
  .pre-foot .about-providers-head{
    margin:0 0 clamp(8px,1.2vh,12px) !important;
  }
}

.foot{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--foot-depth-border);
  background:var(--foot-bg);
  box-shadow:var(--foot-depth-shadow);
  color:rgba(255,255,255,.5);
  text-align:left;
  overflow:visible;
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

.foot-body{
  max-width:var(--foot-max-w);
  margin:0 auto;
  padding:var(--foot-pad-top) var(--foot-pad-x) clamp(20px,3vw,28px);
}

.foot-cta-row{
  max-width:var(--foot-max-w);
  margin:0 auto;
}

.foot-inner{
  max-width:var(--foot-inner-max-w);
  margin:0;
  padding:0;
  background:none;
  border:none;
  border-radius:0;
}

.foot h2{
  font-size:var(--foot-h2-size);
  font-weight:900;
  letter-spacing:-.035em;
  margin:0 0 var(--foot-h2-mb);
  line-height:.9;
  color:#fff;
}
.foot h2 em{color:var(--g);font-style:italic;font-weight:300}

.foot p{
  font-size:var(--foot-p-size);
  line-height:var(--foot-p-line);
  color:rgba(255,255,255,.45);
  max-width:var(--foot-p-max-w);
  margin:0 0 var(--foot-p-mb);
}
.foot p.foot-legal{
  margin:clamp(16px,2.2vw,22px) 0 0;
  padding:0;
  max-width:var(--foot-legal-max-w);
  font-size:var(--foot-legal-size);
  line-height:1.6;
  color:rgba(255,255,255,.58);
  text-align:left;
}
.foot p.foot-legal a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.foot p.foot-legal a:hover{
  color:var(--g);
}

.foot-btns{display:flex;gap:var(--foot-btns-gap);flex-wrap:wrap}
.foot-btns .btn{cursor:pointer}

.foot .btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:12px 22px;border-radius:100px;
  font-size:12.5px;font-weight:700;letter-spacing:.04em;text-decoration:none;
}
.foot .btn-g{background:var(--g);color:#050d08;box-shadow:0 4px 22px rgba(34,197,94,.32)}
.foot .btn-w{background:rgba(255,255,255,.07);color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.16)}
.foot .btn-w:hover{background:rgba(255,255,255,.12)}

/* ── Bottom bar — plain text (ArchiGreen-style) ── */
.foot-bar{
  position:relative;
  width:100%;
  background:var(--foot-bg);
  overflow:hidden;
  padding:0;
}

.foot-bar-card{
  max-width:var(--foot-max-w);
  margin:0 auto;
  background:none;
  border:none;
  border-radius:0;
}

/* Row 1 — copyright | theme | location */
.foot-bar-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:12px 16px;
  max-width:var(--foot-max-w);
  margin:0 auto;
  padding:var(--foot-meta-pad-y) var(--foot-pad-x);
  border-top:1px solid var(--foot-border-color);
  border-bottom:1px solid var(--foot-border-color);
  background:none;
}

.foot-bar-meta .foot-copy,
.foot-bar-meta .foot-meta-right{
  margin:0;
  font-size:var(--foot-meta-size);
  font-weight:400;
  line-height:1.4;
  color:rgba(255,255,255,.85);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.foot-bar-meta .foot-copy{
  max-width:none;
  grid-column:1;
  justify-self:start;
  text-align:left;
}
.foot-bar-meta .daynight{
  grid-column:2;
  justify-self:center;
  flex-shrink:0;
}
.foot-meta-right{
  grid-column:3;
  justify-self:end;
  white-space:nowrap;
  text-align:right;
}
.foot-copy-mobile{display:none}

/* Row 2 — nav links */
.foot-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--foot-links-gap);
  max-width:var(--foot-max-w);
  width:100%;
  margin:0 auto;
  padding:var(--foot-links-pad-y) var(--foot-pad-x);
  box-sizing:border-box;
}
.foot-links a{
  font-size:var(--foot-links-size);
  font-weight:400;
  color:rgba(255,255,255,.92);
  text-decoration:none;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:opacity .2s;
  white-space:nowrap;
}
.foot-links a:hover{
  opacity:.65;
  text-decoration:underline;
  text-underline-offset:4px;
}
.foot-links a:has(img){letter-spacing:normal;text-transform:none}
.foot-links a:has(img):hover{opacity:1;text-decoration:none}
.foot-social{
  display:inline-flex;
  align-items:center;
  gap:var(--foot-social-gap);
  flex-shrink:0;
}
.foot-links a img{
  display:block;
  width:var(--foot-social-icon-size);
  height:var(--foot-social-icon-size);
  opacity:.88;
  filter:var(--foot-social-icon-filter);
  transition:opacity .2s ease;
}
.foot-links a:has(img):hover img{opacity:1}

/* Row 3 — giant brand name clipped at bottom */
.foot-brand-wrap{
  position:relative;
  width:100%;
  min-height:var(--foot-brand-wrap-min-h);
  padding:0 var(--foot-pad-x);
  box-sizing:border-box;
  pointer-events:none;
}

.foot-brand{
  margin:0;
  width:100%;
  text-align:center;
  font-size:var(--foot-brand-size);
  font-weight:900;
  letter-spacing:-.045em;
  line-height:.82;
  color:rgba(255,255,255,.09);
  text-transform:none;
  transform:translateY(var(--foot-brand-clip-y));
  user-select:none;
}

/* Footer edge images — desktop: beside CTA | mobile: bottom bar */
.foot-edge-img{
  pointer-events:none;
  object-fit:contain;
}

.foot-edge-img--desktop{display:none}

.foot-edge-img--mobile{
  position:absolute;
  right:0;
  bottom:0;
  z-index:4;
  width:auto;
  height:var(--foot-mobile-edge-img-h);
  max-width:var(--foot-mobile-edge-img-w);
  object-position:right bottom;
  transform-origin:right bottom;
  transform:translate(var(--foot-mobile-edge-img-x),var(--foot-mobile-edge-img-y)) scale(var(--foot-mobile-edge-img-scale));
}

.foot-edge-link--mobile{
  position:absolute;
  right:0;
  bottom:0;
  z-index:5;
  display:block;
  line-height:0;
  text-decoration:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.foot-edge-link--mobile .foot-edge-img--mobile{
  position:relative;
  right:auto;
  bottom:auto;
  z-index:auto;
  display:block;
}

@media (min-width:901px){
  .foot-cta-row{
    display:grid;
    grid-template-columns:minmax(0,var(--foot-inner-max-w)) minmax(0,1fr);
    align-items:center;
    column-gap:var(--foot-cta-col-gap);
  }
  .foot-inner{max-width:none;width:100%}
  .foot-edge-img--desktop{
    display:block;
    justify-self:end;
    align-self:center;
    width:auto;
    height:var(--foot-edge-img-h);
    max-width:var(--foot-edge-img-w);
    object-position:right center;
    transform-origin:right center;
    transform:translate(var(--foot-edge-img-x),var(--foot-edge-img-y)) scale(var(--foot-edge-img-scale));
  }
  .foot-edge-img--mobile{display:none}
  .foot-edge-link--mobile{display:none}
}

/* ── Mobile ── */
@media (max-width:900px){
  .foot-body{
    padding:var(--foot-mobile-pad-top) var(--foot-mobile-pad-x) clamp(16px,4vw,22px);
    display:flex;flex-direction:column;align-items:center;text-align:center;
    gap:var(--foot-mobile-gap);
  }
  .foot-inner{
    max-width:none;width:100%;
    padding:0;
  }
  .foot p{max-width:none}
  .foot p.foot-legal{
    text-align:center;
    max-width:none;
    margin-top:clamp(14px,3.5vw,20px);
    font-size:clamp(10px,2.8vw,12px);
  }
  .foot-btns{flex-direction:column;width:100%}
  .foot-btns .btn{width:100%;justify-content:center}

  .foot-bar-meta{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    padding:14px var(--foot-mobile-pad-x);
    gap:10px;
  }
  .foot-bar-meta .foot-copy,
  .foot-bar-meta .daynight,
  .foot-meta-right{
    grid-column:1;
    justify-self:center;
    text-align:center;
  }
  .foot-meta-right{white-space:normal}
  .foot-copy-desktop{display:none}
  .foot-copy-mobile{display:block}

  .foot-links{
    justify-content:center;
    padding:clamp(22px,6vw,36px) var(--foot-mobile-pad-x);
    gap:14px 18px;
  }

  .foot-brand{
    font-size:var(--foot-mobile-brand-size);
    --foot-brand-clip-y:12%;
  }

  .pre-foot{
    padding-left:var(--foot-mobile-pad-x) !important;
    padding-right:var(--foot-mobile-pad-x) !important;
  }
}
