.ecs{
  --display:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --gutter:clamp(20px,6.3vw,88px);
  --maxw:1440px;
  --nav-h:64px;
  --ed-case:uppercase;
  --ed-hw:400;
  --ed-hs:normal;
  --ed-ease:cubic-bezier(.22,1,.36,1);
  font-size:15px;line-height:1.55;
}
.ecs .wrap{max-width:var(--maxw);}
.ecs .section{padding:clamp(80px,9.4vw,140px) 0;}

.ecs h1,.ecs h2,.ecs h3,.ecs h4{font-family:var(--display);font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);text-transform:var(--ed-case);letter-spacing:-.025em;line-height:.95;}
.ecs .italic{font-style:normal;}
.ecs .h-display{font-size:clamp(2.6rem,5.2vw,5rem);}
.ecs .h-section{font-size:clamp(2.1rem,3.5vw,3.4rem);}
.ecs .h-card{font-size:clamp(1.15rem,1.5vw,1.35rem);letter-spacing:-.015em;line-height:1.05;}

.ecs .eyebrow{font-family:var(--display);font-size:12px;font-weight:500;letter-spacing:.06em;margin-bottom:18px;}
.ecs .lead{font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.6;}

.ecs .btn,.ecs a.btn{min-height:44px;padding:0 24px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.06em;border-radius:0;transform:none;transition:background-color .35s var(--ed-ease),color .35s var(--ed-ease),border-color .35s var(--ed-ease);}
.ecs .btn--sm,.ecs a.btn--sm{min-height:40px;padding:0 18px;font-size:11.5px;}
.ecs .btn:hover,.ecs a.btn:hover{transform:none;background:transparent;color:var(--ink);border-color:var(--ink);}
.ecs .btn--ghost:hover,.ecs a.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.ecs .section--ink .btn:hover,.ecs .section--ink a.btn:hover,.ecs .plan--feature .btn:hover,.ecs .plan--feature a.btn:hover{background:transparent;color:var(--paper);border-color:var(--paper);}
.ecs .section--ink .btn--ghost:hover,.ecs .section--ink a.btn--ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}

.ecs .link-all,.ecs .pillar__link,.ecs .card__go{position:relative;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.05em;border-bottom:0;padding-bottom:4px;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%;transition:background-size .5s var(--ed-ease),gap .3s ease;}
.ecs .link-all:hover,.ecs .pillar__link:hover,.ecs .card__go:hover{background-size:0 1px;background-position:100% 100%;}

.ecs .tag{font-family:var(--display);font-size:10.5px;font-weight:500;letter-spacing:.08em;padding:4px 9px;}
.ecs .card__meta,.ecs .sched__when,.ecs .sched__cat,.ecs .list__flag,.ecs .levels__ends,.ecs .filter span:first-child{font-family:var(--display);font-weight:500;letter-spacing:.08em;}

.ecs .logo{font-family:var(--display);font-style:normal;font-weight:500;font-size:13px;letter-spacing:.42em;text-transform:uppercase;}
.ecs .footer__brand .logo{font-size:14px;}
.ecs .nav{border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
.ecs .nav__links{gap:clamp(16px,1.8vw,30px);}
.ecs .nav__links a{font-family:var(--display);font-size:13px;font-weight:400;letter-spacing:.005em;text-transform:none;color:var(--ink);opacity:.86;position:relative;transition:opacity .25s ease;}
.ecs .nav__links a:hover{opacity:1;}
.ecs .nav__links a::before{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .5s var(--ed-ease);}
.ecs .nav__links a:hover::before{transform:scaleX(1);transform-origin:left center;}
.ecs .nav__toggle span,.ecs .nav__toggle span::before,.ecs .nav__toggle span::after{height:1px;}
.ecs .drawer a{font-family:var(--display);font-size:clamp(1.5rem,6.4vw,2rem);font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);letter-spacing:-.02em;text-transform:var(--ed-case);padding:18px 0;}
.ecs .topbar{font-family:var(--display);font-size:11.5px;letter-spacing:.04em;}

.ecs .hero h1{font-size:clamp(2.7rem,5.6vw,5.25rem);line-height:.93;max-width:16ch;}
.ecs .hero h1 em{font-style:normal;-webkit-text-stroke:0;color:inherit;opacity:.5;}
.ecs .hero__copy{font-size:clamp(1rem,1.15vw,1.0625rem);}
.ecs .hero__aside a{font-weight:600;}
.ecs .hero__ticker{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);}
.ecs .hero__ticker .hero__track,.ecs .hero__track{font-family:var(--display);font-weight:500;letter-spacing:.12em;font-size:11px;}

.ecs .pillar h3,.ecs .list__row h3,.ecs .item h2,.ecs .plan__name,.ecs .daygroup h2,.ecs .contact__aside h3{font-style:var(--ed-hs,normal);font-weight:var(--ed-hw,400);}
.ecs .pillar h3{font-size:clamp(1.5rem,2.3vw,2.1rem);}
.ecs .pillar p,.ecs .card p,.ecs .list__row p{font-size:14px;line-height:1.55;}
.ecs .sched__what,.ecs .faq summary,.ecs .slot__time,.ecs .day__n{font-family:var(--display);font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);letter-spacing:-.01em;text-transform:var(--ed-case);}
.ecs .sched__what{font-size:1.15rem;}
.ecs .faq summary{font-size:1.15rem;}
.ecs .slot__time,.ecs .day__n{font-size:1.5rem;letter-spacing:-.03em;}
.ecs .travel__cat{font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);text-transform:var(--ed-case);letter-spacing:-.02em;font-size:clamp(1.3rem,2.4vw,1.9rem);}
.ecs .story{border-top-width:1px;}
.ecs .story blockquote{font-weight:400;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.18;letter-spacing:-.015em;}
.ecs .story__name{font-family:var(--display);font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
.ecs .about__cols p:first-child{font-weight:400;font-style:normal;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.015em;}
.ecs .about__closer{font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);text-transform:var(--ed-case);font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:.98;letter-spacing:-.025em;}
.ecs .plan__price{font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);letter-spacing:-.035em;}
.ecs .hwpb__title,.ecs .hwpb__heading,.ecs .ecs-next__title,.ecs .ecs-team__name{font-weight:var(--ed-hw,400);font-style:var(--ed-hs,normal);letter-spacing:-.025em;}
.ecs .ecs-team__name{font-size:clamp(.95rem,1.2vw,1.1rem);letter-spacing:-.005em;line-height:1.1;}

.ecs .card{border-color:transparent;background:var(--chalk);transition:background-color .35s ease;}
.ecs .card:hover{transform:none;border-color:transparent;}
.ecs .section--chalk .card{background:var(--paper);}
.ecs .card--ink{background:var(--ink);border-color:var(--ink);}
.ecs .note{border-color:var(--line);font-weight:400;}
.ecs .faq,.ecs .list,.ecs .sched{border-top-color:var(--line);}
.ecs .story__av{border-radius:0;}
.ecs .footer{border-top-color:var(--line);}
.ecs .footer h4{font-family:var(--display);font-size:11.5px;font-weight:500;letter-spacing:.06em;color:var(--ink);}
.ecs .footer li a{font-family:var(--display);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;}
.ecs .footer__legal{font-size:11.5px;}
.ecs .wa{box-shadow:none;border:1px solid var(--line);}
.ecs .wa:hover{transform:none;}
.ecs .stickybar a{font-family:var(--display);letter-spacing:.06em;}

.ecs .ph{background:repeating-linear-gradient(135deg,rgba(128,128,128,.08) 0 1px,transparent 1px 14px),var(--chalk);border-color:transparent;font-family:var(--display);font-weight:500;letter-spacing:.1em;}

.ecs-pal-black .elementor-widget:not(.ecs-scheme-white):not(.ecs-scheme-lightgrey) .ecs .section--ink{--ink:#121212;--paper:#ffffff;--muted:rgba(255,255,255,.66);--line:rgba(255,255,255,.18);--line-soft:rgba(255,255,255,.1);}
.ecs-pal-black .elementor-widget:not(.ecs-scheme-white):not(.ecs-scheme-lightgrey) .ecs .topbar{background:#0d0d0d;color:rgba(255,255,255,.86);border-bottom:1px solid rgba(255,255,255,.1);}
.ecs-pal-black .elementor-widget:not(.ecs-scheme-white):not(.ecs-scheme-lightgrey) .ecs .topbar a:hover{color:#ffffff;}
.ecs-pal-black .elementor-widget:not(.ecs-scheme-white):not(.ecs-scheme-lightgrey) .ecs .hero__scrim{background:linear-gradient(to right,rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 46%,rgba(0,0,0,.2) 100%);}

.ecs .ecs-mprog{display:none;position:relative;height:1px;margin-top:22px;background:var(--line);overflow:hidden;}
.ecs .ecs-mprog span{position:absolute;left:0;top:0;bottom:0;width:30%;background:var(--ink);transition:width .3s ease;}

html:not(.ecs-js) .ecs .reveal{opacity:1;transform:none;}

@media (max-width:767px){
  .ecs{font-size:16px;}
  .ecs .pillar p,.ecs .card p,.ecs .list__row p{font-size:15px;}
  .elementor-element.ecs-mslide-yes .ecs .cards,
  .elementor-element.ecs-mslide-yes .ecs .pillars,
  .elementor-element.ecs-mslide-yes .ecs .plans{display:flex !important;grid-template-columns:none !important;gap:10px !important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding-left:var(--gutter);scroll-padding-right:var(--gutter);border-bottom:0;}
  .elementor-element.ecs-mslide-yes .ecs .cards::-webkit-scrollbar,
  .elementor-element.ecs-mslide-yes .ecs .pillars::-webkit-scrollbar,
  .elementor-element.ecs-mslide-yes .ecs .plans::-webkit-scrollbar{display:none;}
  .elementor-element.ecs-mslide-yes .ecs .cards > *,
  .elementor-element.ecs-mslide-yes .ecs .pillars > *,
  .elementor-element.ecs-mslide-yes .ecs .plans > *{flex:0 0 var(--ecs-slide-w,82%);max-width:var(--ecs-slide-w,82%);min-width:0;scroll-snap-align:start;}
  .elementor-element.ecs-mslide-yes .ecs .pillars > .pillar{border-bottom:0;}
  .elementor-element.ecs-mslide-yes .ecs .ecs-mprog{display:block;}
}
