

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@600;700;800&family=Inter:wght@400;500&display=swap');

:root{
  --ec-navy:#12122b;
  --ec-navy-2:#1c1c40;
  --ec-ink:#1f1d2b;
  --ec-teal:#2dd4bf;
  --ec-violet:#8b7cf6;
  --ec-magenta:#ec5a9c;
  --ec-amber:#f2b705;
  --ec-cream:#faf8f5;
  --ec-cream-2:#f3f0ea;
  --ec-white:#fffdfb;
  --ec-text:#211f2e;
  --ec-text-soft:#5f5b6c;
  --ec-border:#e7e2da;

  --ec-space-1:.5rem;
  --ec-space-2:1rem;
  --ec-space-3:1.5rem;
  --ec-space-4:2rem;
  --ec-space-5:3rem;
  --ec-space-6:4rem;
  --ec-space-7:6rem;
  --ec-space-8:8rem;

  --ec-radius-sm:8px;
  --ec-radius-md:14px;
  --ec-radius-lg:22px;
  --ec-radius-xl:32px;
  --ec-radius-pill:999px;

  --ec-shadow-sm:0 1px 2px rgba(20,16,40,.06),0 1px 1px rgba(20,16,40,.04);
  --ec-shadow-md:0 8px 20px -6px rgba(20,16,40,.14),0 2px 6px rgba(20,16,40,.08);
  --ec-shadow-lg:0 24px 48px -16px rgba(20,16,40,.20),0 10px 20px -10px rgba(20,16,40,.12);
  --ec-shadow-glow-teal:0 0 0 1px rgba(45,212,191,.18),0 20px 55px -20px rgba(45,212,191,.5);
  --ec-shadow-glow-violet:0 0 0 1px rgba(139,124,246,.18),0 20px 55px -20px rgba(139,124,246,.5);

  --ec-ff-heading:'Manrope',sans-serif;
  --ec-ff-body:'Inter',sans-serif;
  --ec-transition:.35s cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  font-family:var(--ec-ff-body);
  color:var(--ec-text);
  background:var(--ec-cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;border-radius:var(--ec-radius-lg);}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--ec-ff-heading);color:var(--ec-ink);line-height:1.18;letter-spacing:-.01em;}
h2{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:800;}
h3{font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:700;}
p{color:var(--ec-text-soft);}
.ec-container{max-width:1240px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem);}


.ec-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.7rem;border-radius:var(--ec-radius-pill);
  font-family:var(--ec-ff-heading);font-weight:700;font-size:.95rem;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform var(--ec-transition),box-shadow var(--ec-transition),background var(--ec-transition),color var(--ec-transition),border-color var(--ec-transition);
  min-height:44px;
}
.ec-btn--sm{padding:.65rem 1.3rem;font-size:.85rem;min-height:40px;}
.ec-btn--primary{
  background:linear-gradient(135deg,var(--ec-teal),var(--ec-violet));
  color:#0d0d1f;box-shadow:var(--ec-shadow-glow-teal);
}
.ec-btn--primary:hover{transform:translateY(-2px);box-shadow:var(--ec-shadow-glow-violet);}
.ec-btn--ghost{
  background:transparent;border-color:var(--ec-border);color:var(--ec-ink);
}
.ec-btn--ghost:hover{background:var(--ec-white);border-color:var(--ec-violet);transform:translateY(-2px);box-shadow:var(--ec-shadow-md);}
.ec-btn--on-dark{border-color:rgba(255,255,255,.35);color:#fff;}
.ec-btn--on-dark:hover{background:rgba(255,255,255,.08);border-color:#fff;}


.ec-nav{
  position:sticky;top:0;z-index:1000;
  background:rgba(250,248,245,.85);backdrop-filter:blur(14px);
}
.ec-nav__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:1.1rem;gap:1.5rem;
}
.ec-nav__brand{display:flex;align-items:center;gap:.6rem;font-family:var(--ec-ff-heading);font-weight:800;font-size:1.15rem;color:var(--ec-ink);}
.ec-nav__logo{width:34px;height:34px;border-radius:0;}
.ec-nav__links{display:flex;align-items:center;gap:1.9rem;}
.ec-nav__links a{font-size:.92rem;font-weight:500;color:var(--ec-text);position:relative;padding-block:.3rem;transition:color var(--ec-transition);}
.ec-nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--ec-teal),var(--ec-violet));transition:width var(--ec-transition);}
.ec-nav__links a:hover{color:var(--ec-ink);}
.ec-nav__links a:hover::after,.ec-nav__links a[aria-current="page"]::after{width:100%;}
.ec-nav__cta{display:flex;align-items:center;gap:.8rem;}
.ec-nav__border{height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--ec-violet),var(--ec-teal),transparent);transform:scaleX(0);transition:transform .5s cubic-bezier(.4,0,.2,1);}
.ec-nav.is-scrolled .ec-nav__border{transform:scaleX(1);}
.ec-nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;}
.ec-nav__burger span{width:24px;height:2px;background:var(--ec-ink);border-radius:2px;transition:transform var(--ec-transition),opacity var(--ec-transition);}


.ec-mobile-overlay{
  position:fixed;inset:0;background:rgba(18,18,43,.55);
  opacity:0;visibility:hidden;transition:opacity var(--ec-transition);
  z-index:1100;
}
.ec-mobile-overlay.is-open{opacity:1;visibility:visible;}
.ec-mobile-menu{
  position:fixed;top:0;left:0;height:100%;width:80%;max-width:340px;
  background:var(--ec-navy);z-index:1200;
  transform:translateX(-100%);transition:transform .45s cubic-bezier(.4,0,.2,1);
  padding:2.2rem 1.8rem;display:flex;flex-direction:column;justify-content:space-between;
}
.ec-mobile-menu.is-open{transform:translateX(0);}
.ec-mobile-menu__close{align-self:flex-end;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;width:44px;height:44px;}
.ec-mobile-menu__links{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;}
.ec-mobile-menu__links a{
  color:#f4f2ef;font-family:var(--ec-ff-heading);font-weight:700;font-size:1.25rem;
  padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08);
  opacity:0;transform:translateX(-16px);transition:opacity .4s ease,transform .4s ease;
  transition-delay:calc(var(--d) * 70ms);
}
.ec-mobile-menu.is-open .ec-mobile-menu__links a{opacity:1;transform:translateX(0);}
.ec-mobile-menu__cta{opacity:0;transform:translateX(-16px);transition:opacity .4s ease,transform .4s ease;transition-delay:calc(var(--d) * 70ms);}
.ec-mobile-menu.is-open .ec-mobile-menu__cta{opacity:1;transform:translateX(0);}
.ec-mobile-menu__cta .ec-btn{width:100%;}
body.ec-no-scroll{overflow:hidden;}


.ec-aurora{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,#191a3d,var(--ec-navy) 60%);}
.ec-aurora__blob{
  position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen;
  pointer-events:none;
}
.ec-aurora__blob--1{width:520px;height:520px;background:var(--ec-teal);top:-140px;left:-100px;animation:ecFloat1 22s ease-in-out infinite alternate;}
.ec-aurora__blob--2{width:460px;height:460px;background:var(--ec-violet);bottom:-160px;right:-80px;animation:ecFloat2 26s ease-in-out infinite alternate;}
.ec-aurora__blob--3{width:380px;height:380px;background:var(--ec-magenta);top:30%;right:10%;animation:ecFloat3 30s ease-in-out infinite alternate;}
@keyframes ecFloat1{0%{transform:translate(0,0) scale(1);}100%{transform:translate(60px,50px) scale(1.15);}}
@keyframes ecFloat2{0%{transform:translate(0,0) scale(1);}100%{transform:translate(-50px,-40px) scale(1.1);}}
@keyframes ecFloat3{0%{transform:translate(0,0) scale(1);}100%{transform:translate(-40px,60px) scale(1.2);}}

.ec-on-dark{color:#fff;}
.ec-on-dark-soft{color:rgba(255,255,255,.72);}


.ec-eyebrow{
  font-family:var(--ec-ff-heading);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ec-violet);margin-bottom:1rem;
}
.ec-eyebrow--light{color:var(--ec-teal);}


.ec-hero{padding-top:clamp(3.5rem,8vw,6rem);padding-bottom:clamp(6rem,10vw,9rem);position:relative;}
.ec-hero__grid{
  display:grid;grid-template-columns:1.6fr 1fr;gap:var(--ec-space-6);align-items:end;min-height:340px;position:relative;z-index:2;
}
.ec-hero__content{align-self:start;}
.ec-hero__heading{
  font-size:clamp(2.4rem,5.4vw,4.2rem);font-weight:800;color:#fff;letter-spacing:-.02em;
}
.ec-typed-wrap{color:var(--ec-teal);position:relative;}
#ecTypedHero,.ec-typed{border-right:2px solid var(--ec-teal);padding-right:4px;}
.ec-hero__side{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;text-align:right;gap:1.6rem;height:100%;}
.ec-hero__desc{color:rgba(255,255,255,.78);font-size:1.02rem;max-width:340px;}
.ec-hero__actions{display:flex;flex-direction:column;gap:.9rem;align-items:flex-end;}
.ec-hero__actions .ec-btn{min-width:220px;}

.ec-wave-divider{position:relative;line-height:0;margin-top:-2px;}
.ec-wave-divider svg{width:100%;height:90px;display:block;}
.ec-wave-divider svg path{fill:var(--ec-cream);}


.ec-section{padding-block:clamp(4rem,8vw,7rem);}
.ec-section--soft{background:var(--ec-cream-2);}
.ec-section__head{max-width:640px;margin-bottom:var(--ec-space-5);}
.ec-section__head p{margin-top:.6rem;font-size:1.02rem;}
.ec-narrow{max-width:760px;margin-inline:auto;}
.ec-lead{font-size:1.2rem;color:var(--ec-ink);font-weight:500;}

.ec-strip{padding-block:var(--ec-space-5);background:var(--ec-white);border-top:1px solid var(--ec-border);border-bottom:1px solid var(--ec-border);}
.ec-strip__inner{max-width:820px;margin-inline:auto;text-align:center;}
.ec-strip__text{font-size:1.15rem;color:var(--ec-ink);font-weight:500;}


.ec-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--ec-space-4);}
.ec-card{
  background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);
  padding:var(--ec-space-4);box-shadow:var(--ec-shadow-sm);
  transition:transform var(--ec-transition),box-shadow var(--ec-transition),border-color var(--ec-transition);
}
.ec-card:hover{transform:translateY(-6px);box-shadow:var(--ec-shadow-lg);border-color:transparent;}
.ec-feature__icon{
  width:52px;height:52px;border-radius:var(--ec-radius-md);display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(45,212,191,.15),rgba(139,124,246,.15));color:var(--ec-violet);font-size:1.3rem;margin-bottom:1.1rem;
}
.ec-feature h3{margin-bottom:.5rem;}


.ec-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ec-space-4);}
.ec-step{background:var(--ec-white);border-radius:var(--ec-radius-lg);padding:var(--ec-space-4);box-shadow:var(--ec-shadow-sm);border:1px solid var(--ec-border);}
.ec-step__num{font-family:var(--ec-ff-heading);font-weight:800;font-size:1.6rem;color:transparent;background:linear-gradient(135deg,var(--ec-teal),var(--ec-violet));-webkit-background-clip:text;background-clip:text;display:block;margin-bottom:.6rem;}
.ec-step h3{margin-bottom:.4rem;}


.ec-gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--ec-space-6);align-items:center;}
.ec-gallery__image img{box-shadow:var(--ec-shadow-lg);aspect-ratio:4/3;object-fit:cover;width:100%;}
.ec-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.ec-tag{
  padding:.5rem 1.1rem;border-radius:var(--ec-radius-pill);background:var(--ec-cream-2);
  font-size:.85rem;font-weight:600;color:var(--ec-ink);border:1px solid var(--ec-border);
}


.ec-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--ec-space-6);align-items:center;}
.ec-split--reverse .ec-split__image{order:2;}
.ec-split--reverse .ec-split__text{order:1;}
.ec-split__image img{box-shadow:var(--ec-shadow-lg);aspect-ratio:4/3;object-fit:cover;width:100%;}
.ec-split__text h2{margin-bottom:1rem;}
.ec-split__text p{margin-bottom:1rem;}

.ec-check-list li{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.7rem;color:var(--ec-text-soft);}
.ec-check-list li i{color:var(--ec-teal);margin-top:3px;}
.ec-check-list--light li{color:rgba(255,255,255,.78);}
.ec-check-list--light li i{color:var(--ec-teal);}

.ec-aurora--band{padding-block:clamp(4rem,8vw,7rem);}


.ec-location__panel{
  display:grid;grid-template-columns:1fr 1.2fr;gap:0;
  background:var(--ec-white);border-radius:var(--ec-radius-xl);overflow:hidden;box-shadow:var(--ec-shadow-lg);
  border:1px solid var(--ec-border);
}
.ec-location__info{padding:var(--ec-space-5);display:flex;flex-direction:column;gap:1.4rem;}
.ec-location__info h3{font-size:1.4rem;}
.ec-location__info ul{display:flex;flex-direction:column;gap:.9rem;}
.ec-location__info li{display:flex;align-items:flex-start;gap:.7rem;color:var(--ec-text-soft);}
.ec-location__info li i{color:var(--ec-violet);margin-top:4px;width:16px;}
.ec-location__info a{color:var(--ec-ink);font-weight:600;}
.ec-location__map{min-height:320px;}
.ec-location__map iframe{width:100%;height:100%;min-height:320px;display:block;}


.ec-cta{padding-block:clamp(4rem,9vw,7rem);text-align:center;position:relative;}
.ec-cta__inner{max-width:640px;margin-inline:auto;position:relative;z-index:2;}
.ec-cta__inner p{margin-block:1rem 2rem;}
.ec-cta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}


.ec-footer{background:var(--ec-navy);color:#fff;margin-top:auto;}
.ec-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--ec-space-5);padding-block:var(--ec-space-6);}
.ec-footer__brand p{color:rgba(255,255,255,.65);margin-top:.8rem;max-width:260px;}
.ec-footer__logo{color:#fff;margin-bottom:.4rem;}
.ec-footer__col h4{color:#fff;font-size:.95rem;margin-bottom:1rem;letter-spacing:.03em;text-transform:uppercase;}
.ec-footer__col a,.ec-footer__col p{display:block;color:rgba(255,255,255,.65);margin-bottom:.6rem;font-size:.92rem;transition:color var(--ec-transition);}
.ec-footer__col a:hover{color:var(--ec-teal);}
.ec-footer__bottom{border-top:1px solid rgba(255,255,255,.1);}
.ec-footer__bottom-inner{display:flex;justify-content:space-between;padding-block:1.4rem;font-size:.8rem;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:.5rem;}
html,body{height:100%;}
body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1;}


.ec-page-hero{
  background:linear-gradient(180deg,var(--ec-cream-2),var(--ec-cream));
  padding-block:clamp(3rem,7vw,5rem) clamp(2rem,4vw,3rem);
}
.ec-page-hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);}
.ec-page-hero__desc{margin-top:1rem;max-width:640px;font-size:1.05rem;}
.ec-page-hero--legal{padding-bottom:2rem;}

.ec-breadcrumb-bar{border-bottom:1px solid var(--ec-border);background:var(--ec-cream);}
.ec-breadcrumb{padding-block:.8rem;font-size:.82rem;color:var(--ec-text-soft);letter-spacing:.02em;}
.ec-breadcrumb__typed::after{content:"";display:inline-block;width:1px;height:.9em;background:var(--ec-violet);margin-left:2px;vertical-align:middle;animation:ecBlink 1s steps(1) infinite;}

@keyframes ecBlink{50%{opacity:0;}}


.ec-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ec-space-4);}
.ec-value{background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:var(--ec-space-4);box-shadow:var(--ec-shadow-sm);transition:transform var(--ec-transition),box-shadow var(--ec-transition);}
.ec-value:hover{transform:translateY(-4px);box-shadow:var(--ec-shadow-md);}
.ec-value i{font-size:1.5rem;color:var(--ec-violet);margin-bottom:.8rem;display:block;}
.ec-value h3{margin-bottom:.4rem;}

.ec-formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--ec-space-4);}
.ec-format-card{background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:var(--ec-space-4);box-shadow:var(--ec-shadow-sm);text-align:left;transition:transform var(--ec-transition),box-shadow var(--ec-transition);}
.ec-format-card:hover{transform:translateY(-5px);box-shadow:var(--ec-shadow-md);}
.ec-format-card i{font-size:1.5rem;color:var(--ec-teal);margin-bottom:.8rem;display:block;}
.ec-format-card h3{margin-bottom:.4rem;}

.ec-timeline{display:flex;flex-direction:column;gap:1.2rem;}
.ec-timeline__item{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:1.5rem;box-shadow:var(--ec-shadow-sm);align-items:center;}
.ec-timeline__mark{font-family:var(--ec-ff-heading);font-weight:800;color:var(--ec-violet);font-size:.95rem;}
.ec-timeline__item h3{margin-bottom:.3rem;}
.ec-note{margin-top:1.5rem;font-size:.88rem;color:var(--ec-text-soft);font-style:italic;}

.ec-table-wrap{overflow-x:auto;margin-top:1.4rem;}
.ec-table{width:100%;border-collapse:collapse;background:var(--ec-white);border-radius:var(--ec-radius-md);overflow:hidden;box-shadow:var(--ec-shadow-sm);min-width:480px;}
.ec-table th,.ec-table td{padding:.9rem 1.1rem;text-align:left;border-bottom:1px solid var(--ec-border);font-size:.9rem;}
.ec-table th{background:var(--ec-cream-2);font-family:var(--ec-ff-heading);color:var(--ec-ink);}
.ec-table td i{color:var(--ec-teal);}
.ec-table tbody tr:last-child td{border-bottom:none;}

.ec-guide-list{display:flex;flex-direction:column;gap:1rem;}
.ec-guide{display:flex;gap:1.2rem;background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:1.4rem;box-shadow:var(--ec-shadow-sm);align-items:flex-start;}
.ec-guide__num{
  flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--ec-teal),var(--ec-violet));color:#0d0d1f;font-weight:800;font-family:var(--ec-ff-heading);
}
.ec-guide h3{margin-bottom:.3rem;}

.ec-faq{display:flex;flex-direction:column;gap:.8rem;}
.ec-faq__item{background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-md);padding:1.1rem 1.4rem;box-shadow:var(--ec-shadow-sm);}
.ec-faq__item summary{cursor:pointer;font-weight:700;font-family:var(--ec-ff-heading);color:var(--ec-ink);}
.ec-faq__item p{margin-top:.7rem;}


.ec-contact-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:var(--ec-space-6);align-items:start;}
.ec-contact-info{display:flex;flex-direction:column;gap:1.1rem;}
.ec-info-card{display:flex;gap:1rem;background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:1.3rem;box-shadow:var(--ec-shadow-sm);align-items:flex-start;}
.ec-info-card i{font-size:1.2rem;color:var(--ec-violet);margin-top:.2rem;}
.ec-info-card h3{font-size:1rem;margin-bottom:.2rem;}
.ec-info-card a{color:var(--ec-ink);font-weight:600;}

.ec-contact-form-wrap{background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-xl);padding:var(--ec-space-5);box-shadow:var(--ec-shadow-lg);}
.ec-contact-form-wrap h2{margin-bottom:1.4rem;}

.ec-form__row{display:grid;grid-template-columns:1fr 1fr 2fr;gap:1rem;}
.ec-form__field{display:flex;flex-direction:column;gap:.4rem;}
.ec-form__field label{font-size:.82rem;font-weight:600;color:var(--ec-ink);}
.ec-form__field input,.ec-form__field textarea{
  border:1px solid var(--ec-border);border-radius:var(--ec-radius-sm);padding:.75rem .9rem;font-family:var(--ec-ff-body);
  font-size:.92rem;background:var(--ec-cream);transition:border-color var(--ec-transition),box-shadow var(--ec-transition);resize:none;
}
.ec-form__field input:focus,.ec-form__field textarea:focus{outline:none;border-color:var(--ec-violet);box-shadow:0 0 0 3px rgba(139,124,246,.15);}
.ec-form__row--bottom{margin-top:1.3rem;display:flex;align-items:center;justify-content:space-between;grid-template-columns:none;flex-wrap:wrap;gap:1rem;}
.ec-checkbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--ec-text-soft);cursor:pointer;}
.ec-checkbox input{margin-top:3px;width:18px;height:18px;accent-color:var(--ec-violet);}
.ec-checkbox a{color:var(--ec-violet);font-weight:600;}

.ec-lang-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ec-space-4);}
.ec-lang-card{background:var(--ec-white);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:var(--ec-space-4);box-shadow:var(--ec-shadow-sm);}
.ec-lang-card i{font-size:1.4rem;color:var(--ec-teal);margin-bottom:.7rem;display:block;}
.ec-lang-card h3{margin-bottom:.4rem;font-size:1.05rem;}

.ec-map-panel{border-radius:var(--ec-radius-xl);overflow:hidden;box-shadow:var(--ec-shadow-lg);height:380px;border:1px solid var(--ec-border);}
.ec-map-panel iframe{width:100%;height:100%;}


.ec-thanks{text-align:center;}
.ec-thanks__icon{font-size:3rem;color:var(--ec-teal);margin-bottom:1.2rem;display:block;}


.ec-legal{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:.4rem;}
.ec-legal h2{margin-top:2rem;margin-bottom:.6rem;font-size:1.35rem;}
.ec-legal p{margin-bottom:.4rem;}
.ec-legal--clauses h2{color:var(--ec-violet);font-size:1.1rem;text-transform:uppercase;letter-spacing:.03em;font-weight:800;}
.ec-legal--letters h2{font-family:var(--ec-ff-heading);}
.ec-term{color:var(--ec-violet);font-weight:700;}
.ec-definition{
  background:var(--ec-cream-2);border-left:3px solid var(--ec-teal);border-radius:var(--ec-radius-sm);
  padding:1rem 1.2rem;margin:1rem 0;font-size:.9rem;color:var(--ec-text-soft);
}
.ec-legal-list{margin:.6rem 0 1rem 1.2rem;list-style:disc;display:flex;flex-direction:column;gap:.4rem;}
.ec-legal-list li{color:var(--ec-text-soft);}


.ec-cookie{position:fixed;bottom:0;left:0;width:100%;display:flex;justify-content:center;z-index:1500;padding:1.2rem;pointer-events:none;}
.ec-cookie__card{
  pointer-events:auto;background:var(--ec-white);border-radius:var(--ec-radius-lg);box-shadow:var(--ec-shadow-lg);
  border:1px solid var(--ec-border);width:100%;max-width:480px;overflow:hidden;
  transform:translateY(140%);opacity:0;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s ease,max-width .4s ease;
}
.ec-cookie.is-visible .ec-cookie__card{transform:translateY(0);opacity:1;}
.ec-cookie__card.is-expanded{max-width:640px;}
.ec-cookie__basic{padding:1.4rem 1.6rem;display:flex;flex-direction:column;gap:1rem;}
.ec-cookie__basic p{font-size:.88rem;color:var(--ec-text-soft);}
.ec-cookie__actions{display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap;}
.ec-cookie__panel{
  max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1);
  padding:0 1.6rem;
}
.ec-cookie__card.is-expanded .ec-cookie__panel{max-height:640px;padding:0 1.6rem 1.6rem;}
.ec-cookie__panel h3{font-size:1.05rem;margin-bottom:1rem;}
.ec-cookie__cat{border-top:1px solid var(--ec-border);padding-block:.9rem;}
.ec-cookie__cat-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-family:var(--ec-ff-heading);font-size:.92rem;}
.ec-cookie__cat p{font-size:.82rem;margin-top:.3rem;color:var(--ec-text-soft);}
.ec-switch{position:relative;display:inline-block;width:42px;height:24px;flex:none;}
.ec-switch input{opacity:0;width:0;height:0;}
.ec-switch__slider{position:absolute;inset:0;background:var(--ec-border);border-radius:var(--ec-radius-pill);transition:background var(--ec-transition);}
.ec-switch__slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform var(--ec-transition);box-shadow:var(--ec-shadow-sm);}
.ec-switch input:checked + .ec-switch__slider{background:var(--ec-violet);}
.ec-switch input:checked + .ec-switch__slider::before{transform:translateX(18px);}
.ec-cookie__panel-actions{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.1rem;flex-wrap:wrap;}
.ec-cookie__link{display:block;text-align:center;margin-top:1rem;font-size:.8rem;color:var(--ec-violet);font-weight:600;}


[data-aos]{will-change:transform,opacity;}


@media (max-width:1024px){
  .ec-hero__grid{grid-template-columns:1fr;}
  .ec-hero__side{align-items:flex-start;text-align:left;margin-top:2rem;}
  .ec-hero__actions{align-items:flex-start;}
  .ec-split,.ec-gallery{grid-template-columns:1fr;}
  .ec-split--reverse .ec-split__image,.ec-split--reverse .ec-split__text{order:initial;}
  .ec-location__panel{grid-template-columns:1fr;}
  .ec-location__map{min-height:280px;}
  .ec-contact-grid{grid-template-columns:1fr;}
  .ec-nav__links{gap:1.3rem;}
}

@media (max-width:860px){
  .ec-nav__links,.ec-nav__cta{display:none;}
  .ec-nav__burger{display:flex;}
  .ec-form__row{grid-template-columns:1fr;}
  .ec-timeline__item{grid-template-columns:1fr;gap:.5rem;}
}

@media (max-width:600px){
  .ec-hero{padding-top:2.5rem;}
  .ec-hero__heading{font-size:clamp(2.1rem,8vw,2.8rem);}
  .ec-hero__actions .ec-btn{min-width:0;width:100%;}
  .ec-cta__actions{flex-direction:column;}
  .ec-cta__actions .ec-btn{width:100%;}
  .ec-footer__grid{grid-template-columns:1fr 1fr;}
  .ec-footer__brand{grid-column:1 / -1;}
  .ec-cookie{padding:.8rem;}
  .ec-cookie__actions{justify-content:stretch;}
  .ec-cookie__actions .ec-btn{flex:1;}
}

@media (max-width:420px){
  .ec-footer__grid{grid-template-columns:1fr;}
}