@import url('./fonts.css');

.lime-hero, .lime-hero * { box-sizing: border-box; }
.lime-hero {
  --lime-ink: #000000; --lime-link: #000000; --lime-accent: #d8ff24;
  position: relative; overflow: hidden; isolation: isolate;
  width: 100%; min-height: 600px; color: var(--lime-ink);
  background: #eeeaf4; font-family: Montserrat, sans-serif;
}
.lime-hero__slide { position: relative; min-height: 600px; }
.lime-hero__slide[hidden] { display: none; }
.lime-hero__slide[data-theme='lime'] { background: #f1f5dd; }
.lime-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.lime-hero__content { position: relative; z-index: 1; min-height: 600px; padding: 88px clamp(32px,4.45vw,64px) 102px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.lime-hero__eyebrow { margin: 0 0 24px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: .13em; color: #000000; }
.lime-hero__title { max-width: 570px; margin: 0; font-size: clamp(40px,3.9vw,56px); line-height: 1.08; letter-spacing: -.045em; font-weight: 500; color: #000000; }
.lime-hero__title span { display: block; }
.lime-hero__description { max-width: 450px; margin: 25px 0 30px; font-size: clamp(17px,1.36vw,20px); font-weight: 400; line-height: 1.55; color: #000000; }
.lime-hero__cta { min-height: 56px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 8px 9px 8px 22px; border: 1px solid rgba(111,90,145,.28); border-radius: 999px; background: rgba(255,255,255,.72); color: #000000; font-size: 16px; line-height: 1.4; font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s; }
.lime-hero__cta:hover { background: #fff; border-color: #000000; }
.lime-hero__arrow { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; background: #d8ff24; border-radius: 50%; }
.lime-hero__arrow svg { width: 18px; height: 18px; }
.lime-hero__controls { position: absolute; z-index: 2; bottom: 35px; left: clamp(32px,4.45vw,64px); display: flex; align-items: center; gap: 22px; }
.lime-hero__dots { display: flex; gap: 4px; }
.lime-hero__dot { cursor: pointer; appearance: none; width: 24px; height: 32px; border: 0; background: transparent; padding: 0; display: grid; place-items: center; }
.lime-hero__dot::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #6f5a91; opacity: .28; transition: .15s; }
.lime-hero__dot[aria-current='true']::after { opacity: 1; width: 20px; border-radius: 4px; }
.lime-hero__next { appearance: none; display: grid; place-items: center; cursor: pointer; background: rgba(255,255,255,.5); border: 1px solid rgba(111,90,145,.28); border-radius: 50%; width: 36px; height: 36px; color: #000000; }
.lime-hero__next svg { width: 17px; height: 17px; }
.lime-hero a:focus-visible, .lime-hero button:focus-visible { outline: 2px solid #6f5a91; outline-offset: 4px; }
@media(min-width:1600px) { .lime-hero__slide, .lime-hero__content { min-height: min(42vw,800px); } .lime-hero__content { padding-left: max(64px,calc((100vw - 1440px)/2 + 64px)); } .lime-hero__controls { left: max(64px,calc((100vw - 1440px)/2 + 64px)); } }
@media(min-width:761px) and (max-width:1099px) { .lime-hero, .lime-hero__slide, .lime-hero__content { min-height: 510px; } .lime-hero__content { padding-top: 65px; padding-bottom: 85px; } .lime-hero__title { font-size: 3.85vw; } .lime-hero__description { width: 39%; font-size: 16px; margin: 22px 0 26px; } .lime-hero__cta { font-size: 14px; min-height: 50px; } .lime-hero__arrow { flex-basis: 32px; width: 32px; height: 32px; } }
@media(max-width:760px) {
  .lime-hero, .lime-hero__slide { min-height: 0; }
  .lime-hero__image { position: relative; display: block; height: clamp(270px,84.6vw,430px); object-position: var(--mobile-position,81% 50%); }
  .lime-hero__content { min-height: 358px; padding: 29px 16px 84px; justify-content: flex-start; }
  .lime-hero__eyebrow { margin-bottom: 17px; font-size: 10px; letter-spacing: .12em; }
  .lime-hero__title { font-size: clamp(28px,8.4vw,40px); line-height: 1.1; letter-spacing: -.04em; max-width: 100%; }
  .lime-hero__description { max-width: 440px; font-size: 16px; line-height: 1.5; margin: 20px 0 24px; }
  .lime-hero__cta { width: 100%; min-height: 48px; font-size: 14px; padding: 7px 8px 7px 19px; }
  .lime-hero__arrow { flex-basis: 32px; width: 32px; height: 32px; }
  .lime-hero__controls { left: 16px; right: 16px; bottom: 22px; justify-content: space-between; }
}
@media(prefers-reduced-motion:reduce) { .lime-hero *, .lime-hero *::after { transition: none !important; } }
