/**
 * AAEF 2035 Premium Template
 * File: footer.v0.0.60.css
 * Version: 0.0.60 | Build Date: 2026-09-29
 * Author: AAEF project / existing contributors
 * License: As supplied by the project owner; see third-party notices.
 */
.site-footer{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#f5f4ea;
  background:
    radial-gradient(circle at 85% 14%,rgba(40,118,91,.13),transparent 34%),
    radial-gradient(circle at 18% 26%,rgba(53,143,96,.08),transparent 28%),
    linear-gradient(180deg,#043f2f 0%,#053c2c 52%,#073a2a 100%);
  border-top:1px solid rgba(219,234,140,.12);
}
.site-footer::before{
  content:"";
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.25) 1px,transparent 1.1px);
  background-size:14px 14px;
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.45) 60%,transparent 94%);
}
.site-footer__backdrop{
  position:absolute;inset:auto 0 0;z-index:-1;height:32%;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(4,43,31,.18) 36%,rgba(2,35,25,.62) 100%);
}
.site-footer__inner{position:relative;z-index:2;padding-top:clamp(3.7rem,5.6vw,6.2rem);padding-bottom:clamp(2.7rem,3.6vw,3.8rem)}
.site-footer__top{display:grid;grid-template-columns:1.15fr .8fr .92fr 1.32fr;gap:0;border-bottom:1px solid rgba(218,231,144,.18);padding-bottom:clamp(2.2rem,3vw,3.25rem)}
.site-footer__top>section,.site-footer__top>nav{min-width:0;padding-inline:clamp(1.55rem,2.4vw,2.6rem)}
.site-footer__top>:first-child{padding-left:0}
.site-footer__top>:not(:first-child){border-left:1px solid rgba(231,236,191,.28)}
.footer-brand__identity{display:flex;align-items:flex-start;gap:1rem}
.footer-brand__mark{width:4.55rem;height:4.55rem;object-fit:contain;filter:grayscale(1) brightness(3.8) contrast(.78);flex:0 0 auto}
.footer-brand__identity h2{margin:0;color:#fff;font-size:clamp(1.24rem,1.45vw,1.65rem);line-height:1.06;text-transform:uppercase;letter-spacing:-.015em;font-weight:760}
.footer-brand__identity p{margin:.42rem 0 0;color:#d7ddce;font-size:.84rem;line-height:1;text-transform:uppercase;letter-spacing:.09em;font-weight:520}
.footer-brand__rule{display:block;width:2.4rem;height:1.5px;margin:1.55rem 0 .88rem;background:#cadb63}
.footer-contact{display:grid;gap:.68rem;font-style:normal}
.footer-contact__item{display:grid;grid-template-columns:2.5rem 1fr;gap:.78rem;align-items:center;color:inherit;text-decoration:none}
.footer-contact__icon{width:2.45rem;height:2.45rem;border:1px solid rgba(220,230,153,.76);border-radius:50%;display:grid;place-items:center;color:#d9e672;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.footer-contact__icon svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
a.footer-contact__item:hover .footer-contact__icon{transform:translateY(-2px);border-color:#e5ef8c;box-shadow:0 0 18px rgba(208,226,100,.18)}
.footer-contact__item strong,.footer-contact__item small{display:block}
.footer-contact__item strong{text-transform:uppercase;letter-spacing:.15em;color:#d8d6bb;font-size:.67rem;line-height:1.1;margin-bottom:.12rem;font-weight:650}
.footer-contact__item small{color:#f3f2e9;font-size:.85rem;line-height:1.36;font-weight:430}
.footer-brand__statement{margin:1.14rem 0 0;color:#d5d8c8;font-size:.66rem;line-height:1.75;text-transform:uppercase;letter-spacing:.18em;font-weight:580}
.footer-links h3,.footer-location h3,.footer-partners__header h3{margin:0;color:#f0f1e8;text-transform:uppercase;letter-spacing:.19em;font-size:clamp(.86rem,.78vw,.98rem);line-height:1.08;font-weight:720}
.footer-heading-rule{display:block;width:1.85rem;height:1.5px;background:#c7d95e;margin:.92rem 0 1.32rem}
.footer-links ul{display:grid;gap:.78rem;margin:0;padding:0}
.footer-links a{position:relative;color:#f0efe6;text-decoration:none;font-size:clamp(.82rem,.73vw,.9rem);line-height:1.28;font-weight:430;transition:color .22s ease,transform .22s ease}
.footer-links a::after{content:"";position:absolute;left:0;bottom:-.26rem;width:0;height:1px;background:#c9db62;transition:width .26s ease}
.footer-links a:hover,.footer-links a:focus-visible{color:#d7e86f;transform:translateX(2px)}
.footer-links a:hover::after,.footer-links a:focus-visible::after{width:1.6rem}
.footer-links a.is-highlighted{color:#a9ca50}
.footer-location__map{position:relative;height:clamp(12.2rem,17vw,14.4rem);overflow:hidden;border-radius:.55rem;border:1px solid rgba(221,229,191,.64);background:#0a4b3b;box-shadow:0 10px 30px rgba(0,0,0,.13)}
.footer-location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:none;z-index:1;opacity:0;transition:opacity .35s ease}.footer-location__map.is-map-loaded iframe{opacity:1}
.footer-location__fallback{position:absolute;inset:0;z-index:0;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 45%,#17614e 0%,#0a4437 50%,#07382f 100%);color:#e8ebda}
.footer-location__pin{width:2.8rem;height:2.8rem;margin:0 auto .45rem;color:#e15d50}
.footer-location__pin svg{width:100%;height:100%;fill:currentColor;stroke:#fff;stroke-width:.6}
.footer-location__fallback strong{font-size:1rem}.footer-location__fallback small{font-size:.72rem;opacity:.75}
.footer-location__label{position:absolute;left:.65rem;top:.58rem;z-index:2;background:rgba(17,26,24,.88);border-radius:.2rem;padding:.48rem .62rem;min-width:7.2rem;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.footer-location__label strong,.footer-location__label span{display:block}.footer-location__label strong{font-size:.7rem;color:#fff}.footer-location__label span{font-size:.58rem;color:#69b8ff;margin-top:.15rem}
.footer-socials{display:flex;gap:.85rem;margin-top:1.12rem}
.footer-socials a{width:2.45rem;height:2.45rem;border-radius:50%;border:1px solid rgba(225,232,201,.68);display:grid;place-items:center;color:#f3f3ea;text-decoration:none;transition:transform .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease}
.footer-socials svg{width:1.18rem;height:1.18rem;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.footer-socials a:first-child svg,.footer-socials a:nth-child(3) svg{fill:currentColor;stroke:none}
.footer-socials a:hover,.footer-socials a:focus-visible{transform:translateY(-2px);color:#d7e871;border-color:#d7e871;box-shadow:0 0 18px rgba(201,219,98,.16)}
.footer-partners{padding:clamp(2.3rem,3.3vw,3.4rem) 0 clamp(2.35rem,3.4vw,3.5rem);border-bottom:1px solid rgba(218,231,144,.17)}
.footer-partners__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.footer-partners__header .footer-heading-rule{margin-bottom:1.55rem}
.footer-partners__controls{display:flex;gap:.74rem}
.footer-partners__controls button{width:2.15rem;height:2.15rem;border-radius:50%;border:1px solid rgba(226,233,204,.58);display:grid;place-items:center;color:#f0f2e6;background:rgba(5,48,37,.22);cursor:pointer;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.footer-partners__controls button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.footer-partners__controls button:hover,.footer-partners__controls button:focus-visible{transform:translateY(-2px);border-color:#d5e16a;background:rgba(199,219,94,.08);box-shadow:0 0 16px rgba(197,218,92,.13)}
.footer-partners__viewport{overflow:hidden}
.footer-partners__track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.footer-partner{flex:0 0 20%;min-width:0;display:flex;align-items:center;gap:1.05rem;padding:0 clamp(1.3rem,2vw,2.2rem);min-height:4.9rem;color:#f0efe5;text-decoration:none;border-left:1px solid rgba(225,231,199,.3);transition:color .22s ease,opacity .22s ease}
.footer-partner:first-child{padding-left:0;border-left:0}.footer-partner:last-child{padding-right:0}
.footer-partner__mark{width:3.8rem;height:3.8rem;flex:0 0 3.8rem;border:1.25px solid rgba(236,239,224,.8);border-radius:50%;display:grid;place-items:center;font-size:1.12rem;font-weight:730;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.footer-partner>span:last-child{font-size:.94rem;line-height:1.18;font-weight:430}
.footer-partner:hover,.footer-partner:focus-visible{color:#dbe879}.footer-partner:hover .footer-partner__mark,.footer-partner:focus-visible .footer-partner__mark{transform:scale(1.04);border-color:#dbe879;box-shadow:0 0 18px rgba(206,225,98,.13)}
.site-footer__legal{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding-top:clamp(2rem,2.8vw,2.7rem);position:relative;z-index:2}
.site-footer__legal p{margin:0;color:#f0efe7;font-size:.7rem;line-height:1.55;letter-spacing:.055em}
.site-footer__legal nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0}
.site-footer__legal a{color:#ecece1;text-decoration:none;font-size:.66rem;line-height:1;padding:0 1rem;border-left:1px solid rgba(232,235,208,.45);transition:color .2s ease}.site-footer__legal a:first-child{border-left:0}.site-footer__legal a:last-child{padding-right:0}.site-footer__legal a:hover,.site-footer__legal a:focus-visible{color:#d5e36d}
.site-footer__landscape{position:absolute;left:0;right:0;bottom:0;height:clamp(6.3rem,8.5vw,8.8rem);z-index:0;overflow:hidden;pointer-events:none}
.site-footer__landscape::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#073a2a 0%,rgba(7,58,42,.93) 24%,rgba(5,44,32,.55) 60%,rgba(2,29,22,.18) 100%)}
.site-footer__landscape img{width:100%;height:100%;object-fit:cover;object-position:center 64%;filter:brightness(.42) saturate(.78);transform:scale(1.02)}

@media (max-width:1199px){
  .site-footer__inner{padding-top:4rem;padding-bottom:3.4rem}
  .site-footer__top{grid-template-columns:1fr 1fr;row-gap:2.8rem}
  .site-footer__top>section,.site-footer__top>nav{padding-inline:2rem}
  .site-footer__top>:nth-child(odd){padding-left:0;border-left:0}
  .site-footer__top>:nth-child(even){padding-right:0;border-left:1px solid rgba(231,236,191,.25)}
  .footer-partner{flex-basis:33.333%;padding-inline:1.5rem}
}
@media (max-width:767px){
  .site-footer__inner{padding-top:3.35rem;padding-bottom:2.8rem}
  .site-footer__top{grid-template-columns:1fr;row-gap:0;padding-bottom:2rem}
  .site-footer__top>section,.site-footer__top>nav,.site-footer__top>:nth-child(even),.site-footer__top>:nth-child(odd){padding:1.7rem 0;border-left:0;border-top:1px solid rgba(231,236,191,.16)}
  .site-footer__top>:first-child{padding-top:0;border-top:0}
  .site-footer__top>section,.site-footer__top>nav{text-align:center}
  .footer-brand__identity{align-items:center;justify-content:center;flex-direction:column;gap:.72rem}.footer-brand__mark{width:4.55rem;height:4.55rem}.footer-brand__identity h2{font-size:1.42rem}.footer-brand__identity p{text-align:center}
  .footer-brand__rule,.footer-heading-rule{margin-left:auto;margin-right:auto}
  .footer-contact{max-width:22rem;margin:0 auto;gap:1.05rem}.footer-contact__item{grid-template-columns:1fr;justify-items:center;gap:.38rem;text-align:center}.footer-contact__item>span:last-child{text-align:center}.footer-contact__item strong{font-size:.73rem}.footer-contact__item small{font-size:.9rem}.footer-brand__statement{text-align:center}
  .footer-links h3,.footer-location h3,.footer-partners__header h3{font-size:.94rem}.footer-links ul{grid-template-columns:1fr;justify-items:center;gap:.88rem}.footer-links a{font-size:.86rem}.footer-links a::after{left:50%;transform:translateX(-50%)}
  .footer-location__map{height:13.4rem;width:min(100%,28rem);margin-inline:auto}.footer-socials{justify-content:center}
  .footer-partners{padding-top:2.15rem;text-align:center}.footer-partners__header{align-items:center;justify-content:center;flex-direction:column}.footer-partners__controls{justify-content:center}.footer-partners__track{gap:0}.footer-partner{flex-basis:72%;padding-inline:1rem;border-left:1px solid rgba(225,231,199,.22);justify-content:center;flex-direction:column;text-align:center;gap:.7rem}.footer-partner:first-child{padding-left:1rem}.footer-partner__mark{margin-inline:auto}
  .site-footer__legal{flex-direction:column;align-items:center;text-align:center;gap:1.4rem}.site-footer__legal nav{justify-content:center;row-gap:.8rem}.site-footer__legal a{padding-inline:.65rem}.site-footer__legal a:first-child{padding-left:.65rem}
  .site-footer__landscape{height:6.6rem}
}
@media (max-width:479px){
  .footer-links ul{grid-template-columns:1fr}.footer-partner{flex-basis:82%}.footer-contact__item small{font-size:.86rem}.site-footer__legal nav{display:flex;justify-content:center;gap:.8rem 1.2rem}.site-footer__legal a{padding:0;border:0}
}
@media (prefers-reduced-motion:reduce){.footer-partners__track,.footer-contact__icon,.footer-socials a,.footer-partner__mark,.footer-partners__controls button{transition:none}}

/* v0.0.55 — social icon correction, mobile partner carousel, tablet type polish */
.footer-socials .footer-social-icon--youtube{
  fill:none !important;
  stroke:none !important;
}
.footer-socials .footer-social-icon--youtube rect{
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
}
.footer-socials .footer-social-icon--youtube path{
  fill:currentColor;
  stroke:none;
}
.footer-socials .footer-social-icon--x{
  fill:currentColor !important;
  stroke:none !important;
}
.footer-socials .footer-social-icon--x path{
  fill:currentColor;
  stroke:none;
}

.footer-partners__carousel{
  position:relative;
}
.footer-partners__arrow{
  position:absolute;
  top:-4.15rem;
  z-index:4;
  width:2.15rem;
  height:2.15rem;
  border-radius:50%;
  border:1px solid rgba(226,233,204,.58);
  display:grid;
  place-items:center;
  color:#f0f2e6;
  background:rgba(5,48,37,.22);
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,opacity .25s ease;
}
.footer-partners__arrow--prev{right:2.9rem}
.footer-partners__arrow--next{right:0}
.footer-partners__arrow svg{
  width:1rem;
  height:1rem;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-partners__arrow:hover,
.footer-partners__arrow:focus-visible{
  transform:translateY(-2px);
  border-color:#d5e16a;
  background:rgba(199,219,94,.08);
  box-shadow:0 0 16px rgba(197,218,92,.13);
}
.footer-partners__arrow:disabled{opacity:.35;cursor:default}

@media (min-width:768px) and (max-width:1199px){
  .footer-brand__identity h2{font-size:1.58rem}
  .footer-brand__identity p{font-size:.9rem}
  .footer-contact__item strong{font-size:.72rem}
  .footer-contact__item small{font-size:.92rem}
  .footer-brand__statement{font-size:.7rem}
  .footer-links h3,.footer-location h3,.footer-partners__header h3{font-size:1.02rem}
  .footer-links a{font-size:.94rem}
  .footer-location__label strong{font-size:.76rem}
  .footer-location__label span{font-size:.63rem}
  .footer-partner>span:last-child{font-size:1rem}
  .site-footer__legal p{font-size:.74rem}
  .site-footer__legal a{font-size:.7rem}
}

@media (max-width:767px){
  .footer-partners__header{
    display:block;
    text-align:center;
  }
  .footer-partners__header>div{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .footer-partners__header .footer-heading-rule{
    margin-bottom:1.3rem;
  }
  .footer-partners__carousel{
    width:100%;
    min-height:7rem;
  }
  .footer-partners__viewport{
    width:100%;
    overflow:hidden;
  }
  .footer-partners__track{
    width:100%;
    gap:0;
  }
  .footer-partner,
  .footer-partner:first-child,
  .footer-partner:last-child{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    min-height:6.25rem;
    padding:0 3.75rem;
    border-left:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:1rem;
    text-align:left;
    opacity:.42;
    transition:opacity .32s ease,color .22s ease;
  }
  .footer-partner.is-active{
    opacity:1;
  }
  .footer-partner__mark{
    width:3.75rem;
    height:3.75rem;
    flex:0 0 3.75rem;
    margin:0;
  }
  .footer-partner>span:last-child{
    min-width:7.1rem;
    font-size:.95rem;
    line-height:1.18;
    text-align:left;
  }
  .footer-partners__arrow{
    top:50%;
    width:2.35rem;
    height:2.35rem;
    background:rgba(5,48,37,.86);
    border-color:rgba(225,232,201,.7);
    box-shadow:0 5px 16px rgba(0,0,0,.13);
    transform:translateY(-50%);
  }
  .footer-partners__arrow:hover,
  .footer-partners__arrow:focus-visible{
    transform:translateY(calc(-50% - 2px));
  }
  .footer-partners__arrow--prev{left:.1rem;right:auto}
  .footer-partners__arrow--next{right:.1rem;left:auto}
}

@media (max-width:479px){
  .footer-partner,
  .footer-partner:first-child,
  .footer-partner:last-child{
    flex-basis:100%;
    padding-inline:3.15rem;
  }
  .footer-partners__arrow--prev{left:0}
  .footer-partners__arrow--next{right:0}
}

@media (prefers-reduced-motion:reduce){
  .footer-partners__arrow{transition:none}
}
