:root {
  --ale-ink: #073f46;
  --ale-ink-soft: #49666a;
  --ale-teal: #20bdb5;
  --ale-teal-dark: #0b7775;
  --ale-paper: #f5f7f4;
  --ale-warm: #f7f4ee;
  --ale-white: #fff;
  --ale-line: rgba(7, 63, 70, .14);
  --ale-radius-lg: 34px;
  --ale-radius-md: 24px;
  --ale-shadow: 0 24px 70px rgba(7, 63, 70, .09);
  --ale-max: 1440px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ale-ink);
  background: var(--ale-white);
  font-family: Manrope, Arial, sans-serif;
  line-height: 1.55;
}
.ale-site-header { position: sticky; z-index: 50; top: 0; padding: 12px 0; background: rgba(247,249,247,.88); backdrop-filter: blur(18px); }
.ale-nav { position: relative; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; min-height: 74px; padding: 0 14px 0 24px; border: 1px solid var(--ale-line); border-radius: 24px; background: rgba(255,255,255,.95); box-shadow: 0 12px 40px rgba(7,63,70,.08); }
.ale-nav__logo img { width: 126px; height: auto; }
.ale-nav__links { display: flex; gap: 34px; align-items: center; justify-content: center; }
.ale-nav__links a { position: relative; font-size: 14px; font-weight: 750; text-decoration: none; }
.ale-nav__links a::after { content: ""; position: absolute; right: 0; bottom: -10px; left: 0; height: 2px; background: var(--ale-teal); transform: scaleX(0); transition: transform .2s ease; }
.ale-nav__links a:hover::after { transform: scaleX(1); }
.ale-nav__services { display: inline-flex; gap: 7px; align-items: center; padding: 0; border: 0; background: transparent; color: var(--ale-ink); font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.ale-nav__services span:last-child { color: #078f89; transition: transform .2s ease; }
.ale-nav__services[aria-expanded="true"] span:last-child { transform: rotate(180deg); }
.ale-nav__menu { display: none; width: 46px; height: 46px; border: 1px solid var(--ale-line); border-radius: 14px; background: var(--ale-paper); color: var(--ale-ink); font-size: 21px; }
.ale-nav .ale-call { min-height: 52px; border-radius: 16px; }
.ale-mega { position: absolute; display: none; grid-template-columns: .9fr 1.5fr .75fr; gap: 42px; top: calc(100% + 14px); right: 0; left: 0; padding: 42px; border: 1px solid var(--ale-line); border-radius: 30px; background: #fbfcfa; box-shadow: var(--ale-shadow); }
.ale-mega.is-open { display: grid; }
.ale-mega__story > span { color: #078f89; font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.ale-mega__story h2 { margin: 16px 0; font-size: 34px; letter-spacing: -.04em; line-height: 1.05; }
.ale-mega__story p { color: var(--ale-ink-soft); }
.ale-mega__story a { display: inline-flex; gap: 18px; margin-top: 16px; color: #078f89; font-weight: 800; text-decoration: none; }
.ale-mega__services { display: grid; grid-template-columns: repeat(2,1fr); }
.ale-mega__services a { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 15px 4px; border-top: 1px solid var(--ale-line); text-decoration: none; }
.ale-mega__services span { color: var(--ale-ink-soft); font-size: 10px; }
.ale-mega__services i { color: var(--ale-teal); font-style: normal; }
.ale-mega__preview { position: relative; min-height: 260px; margin: 0; overflow: hidden; border-radius: 22px; }
.ale-mega__preview img { width: 100%; height: 100%; object-fit: cover; }
.ale-mega__preview figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 30px 16px 14px; background: linear-gradient(transparent,rgba(2,27,31,.75)); color: #fff; font-size: 12px; font-weight: 750; }
.ale-service-ticker { padding: 8px 0 0; }
.ale-service-ticker__panel { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; min-height: 70px; overflow: hidden; border: 1px solid var(--ale-line); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 14px 44px rgba(7,63,70,.06); }
.ale-service-ticker__label { position: relative; z-index: 2; height: 100%; padding: 0 26px; display: flex; align-items: center; border-right: 1px solid var(--ale-line); background: #fff; font-size: 13px; font-weight: 800; white-space: nowrap; }
.ale-service-ticker__viewport { position: relative; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.ale-service-ticker__track { display: flex; width: max-content; animation: ale-ticker 90s linear infinite; will-change: transform; }
.ale-service-ticker__viewport:hover .ale-service-ticker__track { animation-play-state: paused; }
.ale-service-ticker__group { display: flex; align-items: center; flex-shrink: 0; }
.ale-service-ticker__group a { padding: 20px 17px; color: var(--ale-ink); font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.ale-service-ticker__group a:hover { color: var(--ale-teal-dark); }
.ale-service-ticker__group a::after { content: "•"; margin-left: 34px; color: rgba(32,189,181,.7); }
@keyframes ale-ticker { to { transform: translateX(-50%); } }
.ale-breadcrumbs { padding-top: 18px; color: var(--ale-ink-soft); font-size: 13px; }
.ale-breadcrumbs ol { display: flex; gap: 9px; align-items: center; margin: 0; padding: 0; list-style: none; }
.ale-breadcrumbs li + li::before { content: "/"; margin-right: 9px; color: rgba(7,63,70,.35); }
.ale-breadcrumbs a { text-decoration: none; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.ale-service { overflow: clip; }
.ale-shell { width: min(calc(100% - 48px), var(--ale-max)); margin-inline: auto; }
.ale-section { padding-block: clamp(72px, 8vw, 120px); }
.ale-section--paper { background: var(--ale-paper); }
.ale-section--warm { background: var(--ale-warm); }
.ale-eyebrow {
  margin: 0 0 18px;
  color: #078f89;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.ale-title {
  max-width: 900px;
  margin: 0;
  font-size: clamp(42px, 5.2vw, 76px);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .98;
}
.ale-lead { max-width: 720px; margin: 26px 0 0; color: var(--ale-ink-soft); font-size: 19px; }
.ale-call {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 60px;
  padding: 0 24px;
  border-radius: 18px;
  background: var(--ale-teal);
  color: var(--ale-white);
  font-weight: 800;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.ale-call:hover { background: var(--ale-teal-dark); transform: translateY(-2px); }
.ale-call:focus-visible { outline: 3px solid rgba(32,189,181,.35); outline-offset: 4px; }

.ale-service-hero { padding: 22px 0 0; }
.ale-service-hero__frame { padding: 12px; border: 1px solid rgba(7,63,70,.12); border-radius: 44px; background: linear-gradient(145deg,#fff,#edf3f0); box-shadow: var(--ale-shadow); }
.ale-service-hero__panel {
  position: relative;
  min-height: min(760px, calc(100svh - 100px));
  overflow: hidden;
  border-radius: var(--ale-radius-lg);
  background: #082f34;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.ale-service-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ale-service-hero__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2,27,31,.94) 0%, rgba(2,27,31,.76) 42%, rgba(2,27,31,.12) 76%);
}
.ale-service-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: inherit;
  width: min(690px, 58%);
  padding: clamp(42px, 7vw, 96px);
  flex-direction: column;
  justify-content: center;
  color: #fff;
}
.ale-service-hero .ale-title { font-size: clamp(42px, 4vw, 64px); line-height: 1; letter-spacing: -.048em; }
.ale-service-hero .ale-lead { color: rgba(255,255,255,.84); }
.ale-service-hero .ale-call { margin-top: 34px; background: #fff; color: var(--ale-ink); }
.ale-service-hero .ale-call:hover { background: var(--ale-teal); color: #fff; }

.ale-trust {
  display: flex;
  gap: 20px 30px;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  margin-top: 18px;
  border: 1px solid var(--ale-line);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  color: var(--ale-ink);
  font-size: 14px;
  font-weight: 750;
}
.ale-trust span + span::before { content: "•"; margin-right: 30px; color: var(--ale-teal); }

.ale-split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(48px, 7vw, 110px); align-items: center; }
.ale-service-overview { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: clamp(48px,7vw,110px); align-items: center; }
.ale-overview-photo { aspect-ratio: 3/2; margin: 0; overflow: hidden; border-radius: 30px; background: #dfe8e5; box-shadow: var(--ale-shadow); }
.ale-overview-photo img { width: 100%; height: 100%; object-fit: cover; }
.ale-photo { overflow: hidden; border-radius: var(--ale-radius-lg); background: #dfe8e5; }
.ale-photo img { width: 100%; height: 100%; object-fit: cover; }
.ale-photo--portrait { aspect-ratio: 4/5; }
.ale-content h2 { margin: 0; font-size: clamp(38px, 4.4vw, 62px); letter-spacing: -.045em; line-height: 1.02; }
.ale-content p { color: var(--ale-ink-soft); font-size: 17px; }
.ale-section--service-detail { background: linear-gradient(135deg,#073f46,#0a555a); color: #fff; }
.ale-detail-grid { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); column-gap: clamp(48px,8vw,130px); row-gap: 48px; align-items: stretch; }
.ale-detail-head { grid-column: 1 / -1; }
.ale-detail-grid h2 { margin: 0; max-width: 520px; font-size: clamp(40px,4.6vw,64px); letter-spacing: -.05em; line-height: 1.02; }
.ale-detail-photo { min-height: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 28px; background: rgba(255,255,255,.06); }
.ale-detail-photo img { width: 100%; height: 100%; object-fit: cover; }
.ale-long-copy { display: flex; flex-direction: column; justify-content: space-between; }
.ale-long-copy p { margin: 0 0 22px; color: rgba(255,255,255,.8); font-size: 17px; }
.ale-long-copy p:last-child { margin-bottom: 0; }
.ale-long-copy p:first-child { color: #fff; font-size: 19px; }

.ale-included { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 42px; border-top: 1px solid var(--ale-line); }
.ale-included article { min-height: 150px; padding: 28px 28px 28px 0; border-bottom: 1px solid var(--ale-line); }
.ale-included article:nth-child(odd) { border-right: 1px solid var(--ale-line); }
.ale-included article:nth-child(even) { padding-left: 28px; }
.ale-included h3 { margin: 0 0 8px; font-size: 20px; }
.ale-included p { margin: 0; font-size: 15px; }

.ale-price-panel { padding: clamp(30px, 5vw, 64px); border: 1px solid var(--ale-line); border-radius: var(--ale-radius-lg); background: #fff; }
.ale-prices { width: 100%; margin-top: 36px; border-collapse: collapse; text-align: left; }
.ale-prices th, .ale-prices td { padding: 20px 14px; border-bottom: 1px solid var(--ale-line); vertical-align: top; }
.ale-prices th { color: var(--ale-ink-soft); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.ale-prices td:nth-child(2) { white-space: nowrap; font-weight: 800; }
.ale-price-note { margin: 24px 0 0; color: var(--ale-ink-soft); }

.ale-journey { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 52px; }
.ale-step { position: relative; padding: 28px 42px 0 0; border-top: 1px solid rgba(32,189,181,.45); }
.ale-step::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--ale-teal); }
.ale-step__number { color: rgba(7,63,70,.12); font-size: 62px; font-weight: 500; line-height: 1; }
.ale-step h3 { margin: 18px 0 8px; font-size: 22px; }
.ale-step p { margin: 0; color: var(--ale-ink-soft); }

.ale-proof-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px,7vw,110px); align-items: start; }
.ale-proof-grid__intro h2 { margin: 0; font-size: clamp(38px,4.4vw,62px); letter-spacing: -.045em; line-height: 1.02; }
.ale-proof-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--ale-line); }
.ale-proof-list article { min-height: 150px; padding: 28px; border-bottom: 1px solid var(--ale-line); }
.ale-proof-list article:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--ale-line); }
.ale-proof-list h3 { margin: 0 0 8px; font-size: 20px; }
.ale-proof-list p { margin: 0; color: var(--ale-ink-soft); }
.ale-related { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(50px,7vw,110px); align-items: start; }
.ale-related h2 { margin: 0; font-size: clamp(38px,4.2vw,58px); letter-spacing: -.045em; line-height: 1.02; }
.ale-related__links { display: grid; }
.ale-related__links a { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 22px 0; border-top: 1px solid var(--ale-line); font-size: 19px; font-weight: 750; text-decoration: none; }
.ale-related__links a:last-child { border-bottom: 1px solid var(--ale-line); }
.ale-related__links span:last-child { color: var(--ale-teal-dark); }

.ale-faq { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(54px,7vw,110px); align-items: start; }
.ale-faq__intro { position: sticky; top: 110px; }
.ale-faq details { border-top: 1px solid var(--ale-line); }
.ale-faq details:last-child { border-bottom: 1px solid var(--ale-line); }
.ale-faq summary { display: flex; gap: 18px; justify-content: space-between; padding: 25px 0; cursor: pointer; font-size: 20px; font-weight: 750; list-style: none; }
.ale-faq summary::after { content: "+"; color: #078f89; font-weight: 400; }
.ale-faq details[open] summary::after { content: "×"; }
.ale-faq details p { margin: -5px 42px 26px 0; color: var(--ale-ink-soft); }

.ale-final { padding: clamp(48px,7vw,90px); border-radius: var(--ale-radius-lg); background: var(--ale-ink); color: #fff; text-align: center; }
.ale-final h2 { max-width: 800px; margin: 0 auto 30px; font-size: clamp(40px,5vw,68px); letter-spacing: -.05em; line-height: 1; }

.ale-site-footer { padding: 34px 0 18px; background: #052f35; color: #fff; }
.ale-footer-cta { display: flex; justify-content: space-between; gap: 40px; align-items: center; padding: 46px 54px; border-radius: 28px; background: var(--ale-teal); color: #fff; }
.ale-footer-cta span { font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.ale-footer-cta h2 { margin: 8px 0 4px; font-size: clamp(32px,4vw,52px); letter-spacing: -.045em; line-height: 1; }
.ale-footer-cta p { margin: 0; }
.ale-footer-cta__actions { display: flex; gap: 12px; align-items: center; }
.ale-footer-cta .ale-call { background: #fff; color: var(--ale-ink); white-space: nowrap; }
.ale-footer-quote { display: inline-flex; align-items: center; min-height: 60px; padding: 0 24px; border: 1px solid rgba(255,255,255,.55); border-radius: 18px; color: #fff; font-weight: 800; text-decoration: none; white-space: nowrap; }
.ale-footer__top { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1fr; gap: 48px; padding: 54px 0 46px; }
.ale-footer__brand img { width: 145px; padding: 10px; border-radius: 14px; background: #fff; }
.ale-footer__brand p { max-width: 360px; color: rgba(255,255,255,.7); }
.ale-footer__points { display: grid; gap: 8px; margin: 18px 0 28px; color: rgba(255,255,255,.72); font-size: 13px; }
.ale-footer__points span::before { content: "✓"; margin-right: 8px; color: var(--ale-teal); }
.ale-footer h2 { margin: 0 0 18px; font-size: 13px; letter-spacing: .13em; text-transform: uppercase; }
.ale-footer__links { display: grid; gap: 11px; }
.ale-footer__links a { color: rgba(255,255,255,.76); text-decoration: none; }
.ale-footer__links a:hover { color: #fff; }
.ale-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.58); font-size: 13px; }

@media (max-width: 900px) {
  .ale-nav { grid-template-columns: 52px 1fr 52px; padding: 0 10px; }
  .ale-nav__menu { display: grid; place-items: center; }
  .ale-nav__logo { justify-self: center; }
  .ale-nav__links { display: none; }
  .ale-nav .ale-call { width: 46px; min-height: 46px; padding: 0; overflow: hidden; font-size: 0; }
  .ale-nav .ale-call span:first-child::first-letter { font-size: 18px; }
  .ale-nav .ale-call span:last-child { display: none; }
  .ale-nav__links.is-open { position: absolute; display: grid; top: calc(100% + 8px); right: 16px; left: 16px; gap: 0; padding: 12px; border: 1px solid var(--ale-line); border-radius: 18px; background: #fff; box-shadow: var(--ale-shadow); }
  .ale-nav__links.is-open a { padding: 13px 12px; }
  .ale-nav__links.is-open .ale-nav__services { padding: 13px 12px; }
  .ale-mega { display: none !important; }
  .ale-service-ticker__panel { grid-template-columns: 1fr; }
  .ale-service-ticker__label { min-height: 44px; justify-content: center; border-right: 0; border-bottom: 1px solid var(--ale-line); }
  .ale-shell { width: min(calc(100% - 32px), var(--ale-max)); }
  .ale-section { padding-block: 68px; }
  .ale-service-hero__panel { min-height: 700px; }
  .ale-service-hero__panel::after { background: linear-gradient(90deg,rgba(2,27,31,.92),rgba(2,27,31,.52)); }
  .ale-service-hero__content { width: 74%; padding: 48px; }
  .ale-split, .ale-faq, .ale-detail-grid, .ale-service-overview, .ale-proof-grid, .ale-related { grid-template-columns: 1fr; }
  .ale-detail-grid h2 { position: static; }
  .ale-faq__intro { position: static; }
  .ale-footer__top { grid-template-columns: repeat(2,1fr); }
  .ale-footer-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .ale-shell { width: calc(100% - 28px); }
  .ale-service-hero { padding-top: 10px; }
  .ale-service-hero__frame { padding: 7px; border-radius: 29px; }
  .ale-service-hero__panel { min-height: 680px; border-radius: 22px; }
  .ale-service-hero__panel::after { background: linear-gradient(180deg,rgba(2,27,31,.35),rgba(2,27,31,.96) 60%); }
  .ale-service-hero__media { object-position: 64% center; }
  .ale-service-hero__content { width: 100%; padding: 34px 22px; justify-content: flex-end; }
  .ale-service-hero .ale-title { font-size: clamp(34px,10.2vw,42px); }
  .ale-service-hero .ale-lead { font-size: 16px; }
  .ale-call { width: 100%; min-height: 58px; }
  .ale-service-hero .ale-call { gap: 14px; padding-inline: 16px; font-size: 14px; }
  .ale-service-hero .ale-call span:first-child { white-space: nowrap; }
  .ale-trust { flex-wrap: wrap; gap: 8px 12px; min-height: 66px; padding: 14px; font-size: 12px; }
  .ale-trust span + span::before { margin-right: 12px; }
  .ale-included { grid-template-columns: 1fr; }
  .ale-included article, .ale-included article:nth-child(odd), .ale-included article:nth-child(even) { padding: 22px 0; border-right: 0; }
  .ale-prices { display: block; overflow-x: auto; }
  .ale-journey { grid-template-columns: 1fr; margin-left: 8px; }
  .ale-step { padding: 20px 0 36px 30px; border-top: 0; border-left: 1px solid rgba(32,189,181,.45); }
  .ale-step::before { top: 24px; left: -5px; }
  .ale-step__number { font-size: 48px; }
  .ale-proof-list { grid-template-columns: 1fr; }
  .ale-proof-list article, .ale-proof-list article:nth-child(odd) { min-height: 0; padding: 22px 0; border-right: 0; }
  .ale-footer__top { grid-template-columns: 1fr; gap: 30px; padding-block: 42px; }
  .ale-footer-cta { padding: 34px 24px; }
  .ale-footer-cta__actions { width: 100%; flex-direction: column; }
  .ale-footer-cta__actions > * { width: 100%; justify-content: center; }
  .ale-footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .ale-service-ticker__viewport { overflow-x: auto; mask-image: none; }
  .ale-service-ticker__track { animation: none; }
  .ale-service-ticker__group[aria-hidden="true"] { display: none; }
}

/* Global navigation v2 — shared mobile behaviour with the WordPress templates. */
.ale-site-header.alesta-header-live { position: sticky; z-index: 9998; top: 0; width: 100%; padding: 1px 16px; background: transparent; }
.ale-site-header.alesta-header-live .header-holder { height: 106px; overflow: visible; }
.alesta-nav-v2 { position: relative; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 28px; width: min(calc(100% - 32px),1440px); height: 78px; margin: 14px auto; padding: 0 14px 0 24px; border: 1px solid rgba(7,63,70,.1); border-radius: 25px; background: rgba(250,250,247,.96); box-shadow: 0 10px 34px rgba(7,43,47,.075); backdrop-filter: blur(15px); transition: height .3s,background .3s,box-shadow .3s,margin .3s; }
.alesta-nav-v2::after { content:""; position:absolute; left:24px; bottom:-1px; width:23%; max-width:270px; height:2px; border-radius:2px; background:linear-gradient(90deg,#073f46,#23beb5,transparent); opacity:.7; }
.alesta-header-live.is-scrolled .alesta-nav-v2 { height:70px; margin-block:9px; background:rgba(250,250,247,.98); box-shadow:0 10px 30px rgba(7,43,47,.1); }
.alesta-nav-v2__logo { display:flex; align-items:center; width:126px; transition:opacity .22s,transform .3s; }
.alesta-nav-v2__logo:hover { opacity:.82; transform:translateY(-1px); }
.alesta-nav-v2__logo img { display:block; width:100%; height:auto; max-height:58px; object-fit:contain; }
.alesta-nav-v2__links { display:flex; align-items:center; justify-content:center; gap:clamp(20px,2.2vw,37px); height:100%; }
.alesta-nav-v2__links>a,.alesta-nav-v2__services { position:relative; display:inline-flex; align-items:center; gap:6px; height:100%; padding:0; border:0; background:transparent; color:#143f44; text-decoration:none; font:700 14px/1 var(--ale-font); white-space:nowrap; cursor:pointer; }
.alesta-nav-v2__links>a::after,.alesta-nav-v2__services::after { content:""; position:absolute; right:0; bottom:17px; left:0; height:2px; border-radius:2px; background:#1ab2aa; transform:scaleX(0); transition:transform .23s; }
.alesta-nav-v2__links>a:hover,.alesta-nav-v2__links>a.is-active,.alesta-nav-v2__services:hover,.alesta-nav-v2__services.is-active { color:#078d87; }
.alesta-nav-v2__links>a:hover::after,.alesta-nav-v2__links>a.is-active::after,.alesta-nav-v2__services:hover::after,.alesta-nav-v2__services.is-active::after,.alesta-nav-v2__services[aria-expanded="true"]::after { transform:scaleX(1); }
.alesta-nav-v2__services i { width:7px; height:7px; margin-left:2px; border-right:1.5px solid; border-bottom:1.5px solid; font-size:0; transform:rotate(45deg) translate(-1px,-1px); transition:transform .25s; }
.alesta-nav-v2__services[aria-expanded="true"] i { transform:rotate(225deg) translate(-1px,-1px); }
.alesta-nav-v2__phone { display:flex; align-items:center; justify-content:center; gap:10px; min-width:190px; height:56px; padding:0 22px; border-radius:18px; background:#20bdb5; color:#fff; text-decoration:none; box-shadow:0 7px 18px rgba(20,158,150,.17); font:800 15px/1 var(--ale-font); transition:background .25s,transform .25s; }
.alesta-nav-v2__phone:hover { background:#0b5b5f; transform:translateY(-1px); }
.alesta-nav-v2__phone span,.alesta-nav-v2__phone b { color:#fff; }
.alesta-nav-v2__hamb { display:none; }
.alesta-mega-v2 { position:absolute; z-index:20; top:calc(100% + 11px); right:0; left:0; display:grid; grid-template-columns:minmax(260px,.78fr) minmax(460px,1.35fr) minmax(210px,.62fr); gap:clamp(34px,4vw,66px); padding:48px; border:1px solid rgba(7,63,70,.11); border-radius:28px; background:#f8f8f4; box-shadow:0 22px 60px rgba(7,43,47,.14); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .23s,transform .25s,visibility .23s; }
.alesta-mega-v2.is-open { opacity:1; visibility:visible; transform:none; }
.alesta-mega-v2__story>span,.alesta-mobile-v2__heading>span { display:block; color:#159f96; font:800 11px/1 var(--ale-font); letter-spacing:.18em; }
.alesta-mega-v2__story h2 { max-width:310px; margin:19px 0 0; color:#073f46; font:650 clamp(30px,2.5vw,40px)/1.04 var(--ale-font); letter-spacing:-.04em; }
.alesta-mega-v2__story p { max-width:320px; margin:20px 0 27px; color:#607274; font-size:14.5px; line-height:1.58; }
.alesta-mega-v2__story>a { display:inline-flex; align-items:center; gap:16px; color:#078d87; text-decoration:none; font-weight:750; }
.alesta-mega-v2__services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; border-top:1px solid rgba(7,63,70,.14); }
.alesta-nav-service { display:grid; grid-template-columns:30px 1fr 18px; gap:10px; align-items:center; min-height:57px; padding:0 8px; border-bottom:1px solid rgba(7,63,70,.14); color:#143f44; text-decoration:none; }
.alesta-nav-service:nth-child(odd) { border-right:1px solid rgba(7,63,70,.14); }
.alesta-nav-service span { color:#718486; font-size:10px; letter-spacing:.12em; }
.alesta-nav-service b { font-size:15px; }
.alesta-nav-service i { justify-self:end; color:#14a39b; font-style:normal; }
.alesta-nav-service:hover,.alesta-nav-service.is-active { color:#078d87; background:rgba(32,189,181,.055); }
.alesta-mega-v2__preview { position:relative; overflow:hidden; min-height:290px; margin:0; border-radius:21px; background:#dfe7e2; }
.alesta-mega-v2__preview img { width:100%; height:100%; object-fit:cover; }
.alesta-mega-v2__preview::after { content:""; position:absolute; right:0; bottom:0; left:0; height:40%; background:linear-gradient(transparent,rgba(5,35,38,.5)); }
.alesta-mega-v2__preview figcaption { position:absolute; z-index:2; right:18px; bottom:16px; left:18px; color:#fff; font-size:11px; }
.alesta-mobile-v2 { position:fixed; z-index:10020; inset:0; display:none; background:#f5f7f4; color:#073f46; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .28s,transform .3s,visibility .28s; }
.alesta-mobile-v2.is-open { opacity:1; visibility:visible; transform:none; }
.alesta-mobile-v2__top { display:flex; align-items:center; justify-content:space-between; height:70px; padding:0 22px; border-bottom:1px solid rgba(7,63,70,.13); }
.alesta-mobile-v2__top>span { color:#159f96; font:800 11px/1 var(--ale-font); letter-spacing:.18em; }
.alesta-mobile-v2__top button { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid rgba(7,63,70,.13); border-radius:15px; background:#fff; color:#073f46; font:300 29px/1 Arial,sans-serif; }
.alesta-mobile-v2__scroll { overflow-y:auto; height:calc(100dvh - 70px); padding:34px 22px 42px; overscroll-behavior:contain; }
.alesta-mobile-v2__heading>span { margin-bottom:12px; font-size:10px; }
.alesta-mobile-v2__heading h2 { max-width:330px; margin:0 0 30px; color:#073f46; font:650 36px/1.04 var(--ale-font); letter-spacing:-.04em; }
.alesta-mobile-v2__services { border-top:1px solid rgba(7,63,70,.16); }
.alesta-mobile-v2__services>.alesta-nav-service { grid-template-columns:34px minmax(0,1fr) 24px; min-height:61px; padding:0; border-right:0; }
.alesta-mobile-v2__services>.alesta-nav-service b { font-size:18px; font-weight:650; }
.alesta-mobile-v2__all { display:flex; align-items:center; justify-content:space-between; min-height:64px; color:#078d87; text-decoration:none; font-weight:750; }
.alesta-mobile-v2__secondary { display:grid; grid-template-columns:repeat(2,1fr); gap:0 22px; margin-top:22px; padding-top:18px; border-top:1px solid rgba(7,63,70,.16); }
.alesta-mobile-v2__secondary a { padding:15px 0; color:#123f44; text-decoration:none; font-weight:650; }
.alesta-mobile-v2__call { margin-top:30px; padding-top:26px; border-top:1px solid rgba(7,63,70,.16); }
.alesta-mobile-v2__call p { margin:0 0 13px; color:#607274; font-size:13px; font-weight:650; }
.alesta-mobile-v2__call a { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:58px; padding:0 20px; border-radius:17px; background:#20bdb5; color:#fff; text-decoration:none; font-weight:750; }
.alesta-mobile-v2 a:focus-visible,.alesta-mobile-v2 button:focus-visible,.alesta-nav-v2 a:focus-visible,.alesta-nav-v2 button:focus-visible { outline:3px solid rgba(32,189,181,.4); outline-offset:3px; }
body.alesta-mobile-nav-open { overflow:hidden; touch-action:none; }

@media (max-width:1100px) {
  .ale-site-header.alesta-header-live { top:0; padding:1px 8px; }
  .ale-site-header.alesta-header-live .header-holder { height:76px; }
  .alesta-nav-v2,.alesta-header-live.is-scrolled .alesta-nav-v2 { grid-template-columns:46px minmax(0,1fr) 46px; gap:16px; width:100%; height:68px; margin:4px auto; padding:0 8px; border-radius:20px; }
  .alesta-nav-v2__links,.alesta-mega-v2 { display:none; }
  .alesta-nav-v2__hamb { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:46px; height:46px; padding:0; border:1px solid rgba(7,63,70,.12); border-radius:14px; background:#f1f3ef; }
  .alesta-nav-v2__hamb span { display:block; width:18px; height:2px; border-radius:2px; background:#073f46; }
  .alesta-nav-v2__logo,.alesta-nav-v2__logo:hover { position:absolute; z-index:3; left:50%; width:92px; transform:translateX(-50%); opacity:1; }
  .alesta-nav-v2__logo img { max-height:46px; }
  .alesta-nav-v2__phone { justify-self:end; width:46px; min-width:46px; height:46px; padding:0; border-radius:14px; }
  .alesta-nav-v2__phone b { display:none; }
  .alesta-nav-v2__phone span { font-size:19px; }
  .alesta-nav-v2::after { left:50%; width:52px; transform:translateX(-50%); }
  .alesta-mobile-v2 { display:block; }
}

@media (max-width:600px) {
  .ale-shell { width:calc(100% - 44px); }
  .ale-section { padding-block:64px; }
  .ale-service-hero .ale-title { max-width:12ch; font-size:clamp(34px,10.2vw,42px); line-height:1; letter-spacing:-.042em; }
  .ale-breadcrumbs ol { overflow-x:auto; padding-bottom:4px; white-space:nowrap; scrollbar-width:none; }
  .ale-proof-grid__intro,.ale-related>div:first-child,.ale-price-panel>.ale-eyebrow,.ale-price-panel>.ale-content,.ale-faq__intro,.ale-final,.ale-section>.ale-shell>.ale-eyebrow+.ale-content { text-align:center; }
  .ale-proof-grid__intro h2,.ale-related h2,.ale-price-panel>.ale-content,.ale-faq__intro,.ale-section>.ale-shell>.ale-eyebrow+.ale-content { max-width:19em; margin-inline:auto; }
  .ale-price-panel { padding:28px 20px; border-radius:24px; }
  .ale-prices { width:100%; min-width:620px; margin-top:24px; }
  .ale-price-panel { overflow:hidden; }
  .ale-price-panel .ale-prices { overflow-x:visible; }
  .ale-price-panel::after { content:"Swipe table horizontally if needed"; display:block; margin-top:10px; color:var(--ale-ink-soft); text-align:center; font-size:11px; }
  .ale-price-panel { overflow-x:auto; }
  .ale-faq summary { min-height:64px; align-items:center; padding:19px 0; font-size:18px; }
  .ale-faq summary::after { flex:0 0 30px; text-align:center; font-size:24px; }
  .ale-faq details p { margin:0 0 24px; }
  .ale-related__links a { min-height:60px; align-items:center; padding:17px 0; font-size:18px; }
}

@media (max-width:350px) {
  .alesta-nav-v2,.alesta-header-live.is-scrolled .alesta-nav-v2 { grid-template-columns:44px minmax(0,1fr) 44px; gap:12px; }
  .alesta-nav-v2__hamb,.alesta-nav-v2__phone { width:44px; min-width:44px; height:44px; }
  .alesta-nav-v2__logo,.alesta-nav-v2__logo:hover { width:86px; }
  .alesta-mobile-v2__scroll { padding-right:20px; padding-left:20px; }
  .alesta-mobile-v2__heading h2 { font-size:33px; }
}

@media (prefers-reduced-motion:reduce) {
  .alesta-nav-v2,.alesta-mega-v2,.alesta-nav-v2__phone,.alesta-nav-v2__logo,.alesta-mobile-v2 { transition:none; }
}
:root {
  --ale-ink: #073f46;
  --ale-ink-soft: #49666a;
  --ale-teal: #20bdb5;
  --ale-teal-dark: #0b7775;
  --ale-paper: #f5f7f4;
  --ale-warm: #f7f4ee;
  --ale-white: #fff;
  --ale-line: rgba(7, 63, 70, .14);
  --ale-radius-lg: 34px;
  --ale-radius-md: 24px;
  --ale-shadow: 0 24px 70px rgba(7, 63, 70, .09);
  --ale-max: 1440px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ale-ink);
  background: var(--ale-white);
  font-family: Manrope, Arial, sans-serif;
  line-height: 1.55;
}
.ale-site-header { position: sticky; z-index: 50; top: 0; padding: 12px 0; background: rgba(247,249,247,.88); backdrop-filter: blur(18px); }
.ale-nav { position: relative; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; min-height: 74px; padding: 0 14px 0 24px; border: 1px solid var(--ale-line); border-radius: 24px; background: rgba(255,255,255,.95); box-shadow: 0 12px 40px rgba(7,63,70,.08); }
.ale-nav__logo img { width: 126px; height: auto; }
.ale-nav__links { display: flex; gap: 34px; align-items: center; justify-content: center; }
.ale-nav__links a { position: relative; font-size: 14px; font-weight: 750; text-decoration: none; }
.ale-nav__links a::after { content: ""; position: absolute; right: 0; bottom: -10px; left: 0; height: 2px; background: var(--ale-teal); transform: scaleX(0); transition: transform .2s ease; }
.ale-nav__links a:hover::after { transform: scaleX(1); }
.ale-nav__services { display: inline-flex; gap: 7px; align-items: center; padding: 0; border: 0; background: transparent; color: var(--ale-ink); font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.ale-nav__services span:last-child { color: #078f89; transition: transform .2s ease; }
.ale-nav__services[aria-expanded="true"] span:last-child { transform: rotate(180deg); }
.ale-nav__menu { display: none; width: 46px; height: 46px; border: 1px solid var(--ale-line); border-radius: 14px; background: var(--ale-paper); color: var(--ale-ink); font-size: 21px; }
.ale-nav .ale-call { min-height: 52px; border-radius: 16px; }
.ale-mega { position: absolute; display: none; grid-template-columns: .9fr 1.5fr .75fr; gap: 42px; top: calc(100% + 14px); right: 0; left: 0; padding: 42px; border: 1px solid var(--ale-line); border-radius: 30px; background: #fbfcfa; box-shadow: var(--ale-shadow); }
.ale-mega.is-open { display: grid; }
.ale-mega__story > span { color: #078f89; font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.ale-mega__story h2 { margin: 16px 0; font-size: 34px; letter-spacing: -.04em; line-height: 1.05; }
.ale-mega__story p { color: var(--ale-ink-soft); }
.ale-mega__story a { display: inline-flex; gap: 18px; margin-top: 16px; color: #078f89; font-weight: 800; text-decoration: none; }
.ale-mega__services { display: grid; grid-template-columns: repeat(2,1fr); }
.ale-mega__services a { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 15px 4px; border-top: 1px solid var(--ale-line); text-decoration: none; }
.ale-mega__services span { color: var(--ale-ink-soft); font-size: 10px; }
.ale-mega__services i { color: var(--ale-teal); font-style: normal; }
.ale-mega__preview { position: relative; min-height: 260px; margin: 0; overflow: hidden; border-radius: 22px; }
.ale-mega__preview img { width: 100%; height: 100%; object-fit: cover; }
.ale-mega__preview figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 30px 16px 14px; background: linear-gradient(transparent,rgba(2,27,31,.75)); color: #fff; font-size: 12px; font-weight: 750; }
.ale-service-ticker { padding: 8px 0 0; }
.ale-service-ticker__panel { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; min-height: 70px; overflow: hidden; border: 1px solid var(--ale-line); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 14px 44px rgba(7,63,70,.06); }
.ale-service-ticker__label { position: relative; z-index: 2; height: 100%; padding: 0 26px; display: flex; align-items: center; border-right: 1px solid var(--ale-line); background: #fff; font-size: 13px; font-weight: 800; white-space: nowrap; }
.ale-service-ticker__viewport { position: relative; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.ale-service-ticker__track { display: flex; width: max-content; animation: ale-ticker 90s linear infinite; will-change: transform; }
.ale-service-ticker__viewport:hover .ale-service-ticker__track { animation-play-state: paused; }
.ale-service-ticker__group { display: flex; align-items: center; flex-shrink: 0; }
.ale-service-ticker__group a { padding: 20px 17px; color: var(--ale-ink); font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.ale-service-ticker__group a:hover { color: var(--ale-teal-dark); }
.ale-service-ticker__group a::after { content: "•"; margin-left: 34px; color: rgba(32,189,181,.7); }
@keyframes ale-ticker { to { transform: translateX(-50%); } }
.ale-breadcrumbs { padding-top: 18px; color: var(--ale-ink-soft); font-size: 13px; }
.ale-breadcrumbs ol { display: flex; gap: 9px; align-items: center; margin: 0; padding: 0; list-style: none; }
.ale-breadcrumbs li + li::before { content: "/"; margin-right: 9px; color: rgba(7,63,70,.35); }
.ale-breadcrumbs a { text-decoration: none; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.ale-service { overflow: clip; }
.ale-shell { width: min(calc(100% - 48px), var(--ale-max)); margin-inline: auto; }
.ale-section { padding-block: clamp(72px, 8vw, 120px); }
.ale-section--paper { background: var(--ale-paper); }
.ale-section--warm { background: var(--ale-warm); }
.ale-eyebrow {
  margin: 0 0 18px;
  color: #078f89;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.ale-title {
  max-width: 900px;
  margin: 0;
  font-size: clamp(42px, 5.2vw, 76px);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .98;
}
.ale-lead { max-width: 720px; margin: 26px 0 0; color: var(--ale-ink-soft); font-size: 19px; }
.ale-call {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 60px;
  padding: 0 24px;
  border-radius: 18px;
  background: var(--ale-teal);
  color: var(--ale-white);
  font-weight: 800;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.ale-call:hover { background: var(--ale-teal-dark); transform: translateY(-2px); }
.ale-call:focus-visible { outline: 3px solid rgba(32,189,181,.35); outline-offset: 4px; }

.ale-service-hero { padding: 22px 0 0; }
.ale-service-hero__frame { padding: 12px; border: 1px solid rgba(7,63,70,.12); border-radius: 44px; background: linear-gradient(145deg,#fff,#edf3f0); box-shadow: var(--ale-shadow); }
.ale-service-hero__panel {
  position: relative;
  min-height: min(760px, calc(100svh - 100px));
  overflow: hidden;
  border-radius: var(--ale-radius-lg);
  background: #082f34;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.ale-service-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ale-service-hero__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2,27,31,.94) 0%, rgba(2,27,31,.76) 42%, rgba(2,27,31,.12) 76%);
}
.ale-service-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: inherit;
  width: min(690px, 58%);
  padding: clamp(42px, 7vw, 96px);
  flex-direction: column;
  justify-content: center;
  color: #fff;
}
.ale-service-hero .ale-title { font-size: clamp(42px, 4vw, 64px); line-height: 1; letter-spacing: -.048em; }
.ale-service-hero .ale-lead { color: rgba(255,255,255,.84); }
.ale-service-hero .ale-call { margin-top: 34px; background: #fff; color: var(--ale-ink); }
.ale-service-hero .ale-call:hover { background: var(--ale-teal); color: #fff; }

.ale-trust {
  display: flex;
  gap: 20px 30px;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  margin-top: 18px;
  border: 1px solid var(--ale-line);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  color: var(--ale-ink);
  font-size: 14px;
  font-weight: 750;
}
.ale-trust span + span::before { content: "•"; margin-right: 30px; color: var(--ale-teal); }

.ale-split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(48px, 7vw, 110px); align-items: center; }
.ale-service-overview { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: clamp(48px,7vw,110px); align-items: center; }
.ale-overview-photo { aspect-ratio: 3/2; margin: 0; overflow: hidden; border-radius: 30px; background: #dfe8e5; box-shadow: var(--ale-shadow); }
.ale-overview-photo img { width: 100%; height: 100%; object-fit: cover; }
.ale-photo { overflow: hidden; border-radius: var(--ale-radius-lg); background: #dfe8e5; }
.ale-photo img { width: 100%; height: 100%; object-fit: cover; }
.ale-photo--portrait { aspect-ratio: 4/5; }
.ale-content h2 { margin: 0; font-size: clamp(38px, 4.4vw, 62px); letter-spacing: -.045em; line-height: 1.02; }
.ale-content p { color: var(--ale-ink-soft); font-size: 17px; }
.ale-section--service-detail { background: linear-gradient(135deg,#073f46,#0a555a); color: #fff; }
.ale-detail-grid { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); column-gap: clamp(48px,8vw,130px); row-gap: 48px; align-items: stretch; }
.ale-detail-head { grid-column: 1 / -1; }
.ale-detail-grid h2 { margin: 0; max-width: 520px; font-size: clamp(40px,4.6vw,64px); letter-spacing: -.05em; line-height: 1.02; }
.ale-detail-photo { min-height: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 28px; background: rgba(255,255,255,.06); }
.ale-detail-photo img { width: 100%; height: 100%; object-fit: cover; }
.ale-long-copy { display: flex; flex-direction: column; justify-content: space-between; }
.ale-long-copy p { margin: 0 0 22px; color: rgba(255,255,255,.8); font-size: 17px; }
.ale-long-copy p:last-child { margin-bottom: 0; }
.ale-long-copy p:first-child { color: #fff; font-size: 19px; }

.ale-included { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 42px; border-top: 1px solid var(--ale-line); }
.ale-included article { min-height: 150px; padding: 28px 28px 28px 0; border-bottom: 1px solid var(--ale-line); }
.ale-included article:nth-child(odd) { border-right: 1px solid var(--ale-line); }
.ale-included article:nth-child(even) { padding-left: 28px; }
.ale-included h3 { margin: 0 0 8px; font-size: 20px; }
.ale-included p { margin: 0; font-size: 15px; }

.ale-price-panel { padding: clamp(30px, 5vw, 64px); border: 1px solid var(--ale-line); border-radius: var(--ale-radius-lg); background: #fff; }
.ale-prices { width: 100%; margin-top: 36px; border-collapse: collapse; text-align: left; }
.ale-prices th, .ale-prices td { padding: 20px 14px; border-bottom: 1px solid var(--ale-line); vertical-align: top; }
.ale-prices th { color: var(--ale-ink-soft); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.ale-prices td:nth-child(2) { white-space: nowrap; font-weight: 800; }
.ale-price-note { margin: 24px 0 0; color: var(--ale-ink-soft); }

.ale-journey { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 52px; }
.ale-step { position: relative; padding: 28px 42px 0 0; border-top: 1px solid rgba(32,189,181,.45); }
.ale-step::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--ale-teal); }
.ale-step__number { color: rgba(7,63,70,.12); font-size: 62px; font-weight: 500; line-height: 1; }
.ale-step h3 { margin: 18px 0 8px; font-size: 22px; }
.ale-step p { margin: 0; color: var(--ale-ink-soft); }

.ale-proof-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px,7vw,110px); align-items: start; }
.ale-proof-grid__intro h2 { margin: 0; font-size: clamp(38px,4.4vw,62px); letter-spacing: -.045em; line-height: 1.02; }
.ale-proof-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--ale-line); }
.ale-proof-list article { min-height: 150px; padding: 28px; border-bottom: 1px solid var(--ale-line); }
.ale-proof-list article:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--ale-line); }
.ale-proof-list h3 { margin: 0 0 8px; font-size: 20px; }
.ale-proof-list p { margin: 0; color: var(--ale-ink-soft); }
.ale-related { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(50px,7vw,110px); align-items: start; }
.ale-related h2 { margin: 0; font-size: clamp(38px,4.2vw,58px); letter-spacing: -.045em; line-height: 1.02; }
.ale-related__links { display: grid; }
.ale-related__links a { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 22px 0; border-top: 1px solid var(--ale-line); font-size: 19px; font-weight: 750; text-decoration: none; }
.ale-related__links a:last-child { border-bottom: 1px solid var(--ale-line); }
.ale-related__links span:last-child { color: var(--ale-teal-dark); }

.ale-faq { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(54px,7vw,110px); align-items: start; }
.ale-faq__intro { position: sticky; top: 110px; }
.ale-faq details { border-top: 1px solid var(--ale-line); }
.ale-faq details:last-child { border-bottom: 1px solid var(--ale-line); }
.ale-faq summary { display: flex; gap: 18px; justify-content: space-between; padding: 25px 0; cursor: pointer; font-size: 20px; font-weight: 750; list-style: none; }
.ale-faq summary::after { content: "+"; color: #078f89; font-weight: 400; }
.ale-faq details[open] summary::after { content: "×"; }
.ale-faq details p { margin: -5px 42px 26px 0; color: var(--ale-ink-soft); }

.ale-final { padding: clamp(48px,7vw,90px); border-radius: var(--ale-radius-lg); background: var(--ale-ink); color: #fff; text-align: center; }
.ale-final h2 { max-width: 800px; margin: 0 auto 30px; font-size: clamp(40px,5vw,68px); letter-spacing: -.05em; line-height: 1; }

.ale-site-footer { padding: 34px 0 18px; background: #052f35; color: #fff; }
.ale-footer-cta { display: flex; justify-content: space-between; gap: 40px; align-items: center; padding: 46px 54px; border-radius: 28px; background: var(--ale-teal); color: #fff; }
.ale-footer-cta span { font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.ale-footer-cta h2 { margin: 8px 0 4px; font-size: clamp(32px,4vw,52px); letter-spacing: -.045em; line-height: 1; }
.ale-footer-cta p { margin: 0; }
.ale-footer-cta__actions { display: flex; gap: 12px; align-items: center; }
.ale-footer-cta .ale-call { background: #fff; color: var(--ale-ink); white-space: nowrap; }
.ale-footer-quote { display: inline-flex; align-items: center; min-height: 60px; padding: 0 24px; border: 1px solid rgba(255,255,255,.55); border-radius: 18px; color: #fff; font-weight: 800; text-decoration: none; white-space: nowrap; }
.ale-footer__top { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1fr; gap: 48px; padding: 54px 0 46px; }
.ale-footer__brand img { width: 145px; padding: 10px; border-radius: 14px; background: #fff; }
.ale-footer__brand p { max-width: 360px; color: rgba(255,255,255,.7); }
.ale-footer__points { display: grid; gap: 8px; margin: 18px 0 28px; color: rgba(255,255,255,.72); font-size: 13px; }
.ale-footer__points span::before { content: "✓"; margin-right: 8px; color: var(--ale-teal); }
.ale-footer h2 { margin: 0 0 18px; font-size: 13px; letter-spacing: .13em; text-transform: uppercase; }
.ale-footer__links { display: grid; gap: 11px; }
.ale-footer__links a { color: rgba(255,255,255,.76); text-decoration: none; }
.ale-footer__links a:hover { color: #fff; }
.ale-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.58); font-size: 13px; }

@media (max-width: 900px) {
  .ale-nav { grid-template-columns: 52px 1fr 52px; padding: 0 10px; }
  .ale-nav__menu { display: grid; place-items: center; }
  .ale-nav__logo { justify-self: center; }
  .ale-nav__links { display: none; }
  .ale-nav .ale-call { width: 46px; min-height: 46px; padding: 0; overflow: hidden; font-size: 0; }
  .ale-nav .ale-call span:first-child::first-letter { font-size: 18px; }
  .ale-nav .ale-call span:last-child { display: none; }
  .ale-nav__links.is-open { position: absolute; display: grid; top: calc(100% + 8px); right: 16px; left: 16px; gap: 0; padding: 12px; border: 1px solid var(--ale-line); border-radius: 18px; background: #fff; box-shadow: var(--ale-shadow); }
  .ale-nav__links.is-open a { padding: 13px 12px; }
  .ale-nav__links.is-open .ale-nav__services { padding: 13px 12px; }
  .ale-mega { display: none !important; }
  .ale-service-ticker__panel { grid-template-columns: 1fr; }
  .ale-service-ticker__label { min-height: 44px; justify-content: center; border-right: 0; border-bottom: 1px solid var(--ale-line); }
  .ale-shell { width: min(calc(100% - 32px), var(--ale-max)); }
  .ale-section { padding-block: 68px; }
  .ale-service-hero__panel { min-height: 700px; }
  .ale-service-hero__panel::after { background: linear-gradient(90deg,rgba(2,27,31,.92),rgba(2,27,31,.52)); }
  .ale-service-hero__content { width: 74%; padding: 48px; }
  .ale-split, .ale-faq, .ale-detail-grid, .ale-service-overview, .ale-proof-grid, .ale-related { grid-template-columns: 1fr; }
  .ale-detail-grid h2 { position: static; }
  .ale-faq__intro { position: static; }
  .ale-footer__top { grid-template-columns: repeat(2,1fr); }
  .ale-footer-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .ale-shell { width: calc(100% - 28px); }
  .ale-service-hero { padding-top: 10px; }
  .ale-service-hero__frame { padding: 7px; border-radius: 29px; }
  .ale-service-hero__panel { min-height: 680px; border-radius: 22px; }
  .ale-service-hero__panel::after { background: linear-gradient(180deg,rgba(2,27,31,.35),rgba(2,27,31,.96) 60%); }
  .ale-service-hero__media { object-position: 64% center; }
  .ale-service-hero__content { width: 100%; padding: 34px 22px; justify-content: flex-end; }
  .ale-service-hero .ale-title { font-size: clamp(42px,12vw,52px); }
  .ale-service-hero .ale-lead { font-size: 16px; }
  .ale-call { width: 100%; min-height: 58px; }
  .ale-service-hero .ale-call { gap: 14px; padding-inline: 16px; font-size: 14px; }
  .ale-service-hero .ale-call span:first-child { white-space: nowrap; }
  .ale-trust { flex-wrap: wrap; gap: 8px 12px; min-height: 66px; padding: 14px; font-size: 12px; }
  .ale-trust span + span::before { margin-right: 12px; }
  .ale-included { grid-template-columns: 1fr; }
  .ale-included article, .ale-included article:nth-child(odd), .ale-included article:nth-child(even) { padding: 22px 0; border-right: 0; }
  .ale-prices { display: block; overflow-x: auto; }
  .ale-journey { grid-template-columns: 1fr; margin-left: 8px; }
  .ale-step { padding: 20px 0 36px 30px; border-top: 0; border-left: 1px solid rgba(32,189,181,.45); }
  .ale-step::before { top: 24px; left: -5px; }
  .ale-step__number { font-size: 48px; }
  .ale-proof-list { grid-template-columns: 1fr; }
  .ale-proof-list article, .ale-proof-list article:nth-child(odd) { min-height: 0; padding: 22px 0; border-right: 0; }
  .ale-footer__top { grid-template-columns: 1fr; gap: 30px; padding-block: 42px; }
  .ale-footer-cta { padding: 34px 24px; }
  .ale-footer-cta__actions { width: 100%; flex-direction: column; }
  .ale-footer-cta__actions > * { width: 100%; justify-content: center; }
  .ale-footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .ale-service-ticker__viewport { overflow-x: auto; mask-image: none; }
  .ale-service-ticker__track { animation: none; }
  .ale-service-ticker__group[aria-hidden="true"] { display: none; }
}

/* Global navigation v2 — shared mobile behaviour with the WordPress templates. */
.ale-site-header.alesta-header-live { position: sticky; z-index: 9998; top: 0; width: 100%; padding: 1px 16px; background: transparent; }
.ale-site-header.alesta-header-live .header-holder { height: 106px; overflow: visible; }
.alesta-nav-v2 { position: relative; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 28px; width: min(calc(100% - 32px),1440px); height: 78px; margin: 14px auto; padding: 0 14px 0 24px; border: 1px solid rgba(7,63,70,.1); border-radius: 25px; background: rgba(250,250,247,.96); box-shadow: 0 10px 34px rgba(7,43,47,.075); backdrop-filter: blur(15px); transition: height .3s,background .3s,box-shadow .3s,margin .3s; }
.alesta-nav-v2::after { content:""; position:absolute; left:24px; bottom:-1px; width:23%; max-width:270px; height:2px; border-radius:2px; background:linear-gradient(90deg,#073f46,#23beb5,transparent); opacity:.7; }
.alesta-header-live.is-scrolled .alesta-nav-v2 { height:70px; margin-block:9px; background:rgba(250,250,247,.98); box-shadow:0 10px 30px rgba(7,43,47,.1); }
.alesta-nav-v2__logo { display:flex; align-items:center; width:126px; transition:opacity .22s,transform .3s; }
.alesta-nav-v2__logo:hover { opacity:.82; transform:translateY(-1px); }
.alesta-nav-v2__logo img { display:block; width:100%; height:auto; max-height:58px; object-fit:contain; }
.alesta-nav-v2__links { display:flex; align-items:center; justify-content:center; gap:clamp(20px,2.2vw,37px); height:100%; }
.alesta-nav-v2__links>a,.alesta-nav-v2__services { position:relative; display:inline-flex; align-items:center; gap:6px; height:100%; padding:0; border:0; background:transparent; color:#143f44; text-decoration:none; font:700 14px/1 var(--ale-font); white-space:nowrap; cursor:pointer; }
.alesta-nav-v2__links>a::after,.alesta-nav-v2__services::after { content:""; position:absolute; right:0; bottom:17px; left:0; height:2px; border-radius:2px; background:#1ab2aa; transform:scaleX(0); transition:transform .23s; }
.alesta-nav-v2__links>a:hover,.alesta-nav-v2__links>a.is-active,.alesta-nav-v2__services:hover,.alesta-nav-v2__services.is-active { color:#078d87; }
.alesta-nav-v2__links>a:hover::after,.alesta-nav-v2__links>a.is-active::after,.alesta-nav-v2__services:hover::after,.alesta-nav-v2__services.is-active::after,.alesta-nav-v2__services[aria-expanded="true"]::after { transform:scaleX(1); }
.alesta-nav-v2__services i { width:7px; height:7px; margin-left:2px; border-right:1.5px solid; border-bottom:1.5px solid; font-size:0; transform:rotate(45deg) translate(-1px,-1px); transition:transform .25s; }
.alesta-nav-v2__services[aria-expanded="true"] i { transform:rotate(225deg) translate(-1px,-1px); }
.alesta-nav-v2__phone { display:flex; align-items:center; justify-content:center; gap:10px; min-width:190px; height:56px; padding:0 22px; border-radius:18px; background:#20bdb5; color:#fff; text-decoration:none; box-shadow:0 7px 18px rgba(20,158,150,.17); font:800 15px/1 var(--ale-font); transition:background .25s,transform .25s; }
.alesta-nav-v2__phone:hover { background:#0b5b5f; transform:translateY(-1px); }
.alesta-nav-v2__phone span,.alesta-nav-v2__phone b { color:#fff; }
.alesta-nav-v2__hamb { display:none; }
.alesta-mega-v2 { position:absolute; z-index:20; top:calc(100% + 11px); right:0; left:0; display:grid; grid-template-columns:minmax(260px,.78fr) minmax(460px,1.35fr) minmax(210px,.62fr); gap:clamp(34px,4vw,66px); padding:48px; border:1px solid rgba(7,63,70,.11); border-radius:28px; background:#f8f8f4; box-shadow:0 22px 60px rgba(7,43,47,.14); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .23s,transform .25s,visibility .23s; }
.alesta-mega-v2.is-open { opacity:1; visibility:visible; transform:none; }
.alesta-mega-v2__story>span,.alesta-mobile-v2__heading>span { display:block; color:#159f96; font:800 11px/1 var(--ale-font); letter-spacing:.18em; }
.alesta-mega-v2__story h2 { max-width:310px; margin:19px 0 0; color:#073f46; font:650 clamp(30px,2.5vw,40px)/1.04 var(--ale-font); letter-spacing:-.04em; }
.alesta-mega-v2__story p { max-width:320px; margin:20px 0 27px; color:#607274; font-size:14.5px; line-height:1.58; }
.alesta-mega-v2__story>a { display:inline-flex; align-items:center; gap:16px; color:#078d87; text-decoration:none; font-weight:750; }
.alesta-mega-v2__services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; border-top:1px solid rgba(7,63,70,.14); }
.alesta-nav-service { display:grid; grid-template-columns:30px 1fr 18px; gap:10px; align-items:center; min-height:57px; padding:0 8px; border-bottom:1px solid rgba(7,63,70,.14); color:#143f44; text-decoration:none; }
.alesta-nav-service:nth-child(odd) { border-right:1px solid rgba(7,63,70,.14); }
.alesta-nav-service span { color:#718486; font-size:10px; letter-spacing:.12em; }
.alesta-nav-service b { font-size:15px; }
.alesta-nav-service i { justify-self:end; color:#14a39b; font-style:normal; }
.alesta-nav-service:hover,.alesta-nav-service.is-active { color:#078d87; background:rgba(32,189,181,.055); }
.alesta-mega-v2__preview { position:relative; overflow:hidden; min-height:290px; margin:0; border-radius:21px; background:#dfe7e2; }
.alesta-mega-v2__preview img { width:100%; height:100%; object-fit:cover; }
.alesta-mega-v2__preview::after { content:""; position:absolute; right:0; bottom:0; left:0; height:40%; background:linear-gradient(transparent,rgba(5,35,38,.5)); }
.alesta-mega-v2__preview figcaption { position:absolute; z-index:2; right:18px; bottom:16px; left:18px; color:#fff; font-size:11px; }
.alesta-mobile-v2 { position:fixed; z-index:10020; inset:0; display:none; background:#f5f7f4; color:#073f46; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .28s,transform .3s,visibility .28s; }
.alesta-mobile-v2.is-open { opacity:1; visibility:visible; transform:none; }
.alesta-mobile-v2__top { display:flex; align-items:center; justify-content:space-between; height:70px; padding:0 22px; border-bottom:1px solid rgba(7,63,70,.13); }
.alesta-mobile-v2__top>span { color:#159f96; font:800 11px/1 var(--ale-font); letter-spacing:.18em; }
.alesta-mobile-v2__top button { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid rgba(7,63,70,.13); border-radius:15px; background:#fff; color:#073f46; font:300 29px/1 Arial,sans-serif; }
.alesta-mobile-v2__scroll { overflow-y:auto; height:calc(100dvh - 70px); padding:34px 22px 42px; overscroll-behavior:contain; }
.alesta-mobile-v2__heading>span { margin-bottom:12px; font-size:10px; }
.alesta-mobile-v2__heading h2 { max-width:330px; margin:0 0 30px; color:#073f46; font:650 36px/1.04 var(--ale-font); letter-spacing:-.04em; }
.alesta-mobile-v2__services { border-top:1px solid rgba(7,63,70,.16); }
.alesta-mobile-v2__services>.alesta-nav-service { grid-template-columns:34px minmax(0,1fr) 24px; min-height:61px; padding:0; border-right:0; }
.alesta-mobile-v2__services>.alesta-nav-service b { font-size:18px; font-weight:650; }
.alesta-mobile-v2__all { display:flex; align-items:center; justify-content:space-between; min-height:64px; color:#078d87; text-decoration:none; font-weight:750; }
.alesta-mobile-v2__secondary { display:grid; grid-template-columns:repeat(2,1fr); gap:0 22px; margin-top:22px; padding-top:18px; border-top:1px solid rgba(7,63,70,.16); }
.alesta-mobile-v2__secondary a { padding:15px 0; color:#123f44; text-decoration:none; font-weight:650; }
.alesta-mobile-v2__call { margin-top:30px; padding-top:26px; border-top:1px solid rgba(7,63,70,.16); }
.alesta-mobile-v2__call p { margin:0 0 13px; color:#607274; font-size:13px; font-weight:650; }
.alesta-mobile-v2__call a { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:58px; padding:0 20px; border-radius:17px; background:#20bdb5; color:#fff; text-decoration:none; font-weight:750; }
.alesta-mobile-v2 a:focus-visible,.alesta-mobile-v2 button:focus-visible,.alesta-nav-v2 a:focus-visible,.alesta-nav-v2 button:focus-visible { outline:3px solid rgba(32,189,181,.4); outline-offset:3px; }
body.alesta-mobile-nav-open { overflow:hidden; touch-action:none; }

@media (max-width:1100px) {
  .ale-site-header.alesta-header-live { top:0; padding:1px 8px; }
  .ale-site-header.alesta-header-live .header-holder { height:76px; }
  .alesta-nav-v2,.alesta-header-live.is-scrolled .alesta-nav-v2 { grid-template-columns:46px minmax(0,1fr) 46px; gap:16px; width:100%; height:68px; margin:4px auto; padding:0 8px; border-radius:20px; }
  .alesta-nav-v2__links,.alesta-mega-v2 { display:none; }
  .alesta-nav-v2__hamb { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:46px; height:46px; padding:0; border:1px solid rgba(7,63,70,.12); border-radius:14px; background:#f1f3ef; }
  .alesta-nav-v2__hamb span { display:block; width:18px; height:2px; border-radius:2px; background:#073f46; }
  .alesta-nav-v2__logo,.alesta-nav-v2__logo:hover { position:absolute; z-index:3; left:50%; width:92px; transform:translateX(-50%); opacity:1; }
  .alesta-nav-v2__logo img { max-height:46px; }
  .alesta-nav-v2__phone { justify-self:end; width:46px; min-width:46px; height:46px; padding:0; border-radius:14px; }
  .alesta-nav-v2__phone b { display:none; }
  .alesta-nav-v2__phone span { font-size:19px; }
  .alesta-nav-v2::after { left:50%; width:52px; transform:translateX(-50%); }
  .alesta-mobile-v2 { display:block; }
}

@media (max-width:600px) {
  .ale-shell { width:calc(100% - 44px); }
  .ale-section { padding-block:64px; }
  .ale-service-hero .ale-title { max-width:11ch; font-size:clamp(38px,11.5vw,48px); line-height:.99; }
  .ale-breadcrumbs ol { overflow-x:auto; padding-bottom:4px; white-space:nowrap; scrollbar-width:none; }
  .ale-proof-grid__intro,.ale-related>div:first-child,.ale-price-panel>.ale-eyebrow,.ale-price-panel>.ale-content,.ale-faq__intro,.ale-final,.ale-section>.ale-shell>.ale-eyebrow+.ale-content { text-align:center; }
  .ale-proof-grid__intro h2,.ale-related h2,.ale-price-panel>.ale-content,.ale-faq__intro,.ale-section>.ale-shell>.ale-eyebrow+.ale-content { max-width:19em; margin-inline:auto; }
  .ale-price-panel { padding:28px 20px; border-radius:24px; }
  .ale-prices { width:100%; min-width:620px; margin-top:24px; }
  .ale-price-panel { overflow:hidden; }
  .ale-price-panel .ale-prices { overflow-x:visible; }
  .ale-price-panel::after { content:"Swipe table horizontally if needed"; display:block; margin-top:10px; color:var(--ale-ink-soft); text-align:center; font-size:11px; }
  .ale-price-panel { overflow-x:auto; }
  .ale-faq summary { min-height:64px; align-items:center; padding:19px 0; font-size:18px; }
  .ale-faq summary::after { flex:0 0 30px; text-align:center; font-size:24px; }
  .ale-faq details p { margin:0 0 24px; }
  .ale-related__links a { min-height:60px; align-items:center; padding:17px 0; font-size:18px; }
}

@media (max-width:350px) {
  .alesta-nav-v2,.alesta-header-live.is-scrolled .alesta-nav-v2 { grid-template-columns:44px minmax(0,1fr) 44px; gap:12px; }
  .alesta-nav-v2__hamb,.alesta-nav-v2__phone { width:44px; min-width:44px; height:44px; }
  .alesta-nav-v2__logo,.alesta-nav-v2__logo:hover { width:86px; }
  .alesta-mobile-v2__scroll { padding-right:20px; padding-left:20px; }
  .alesta-mobile-v2__heading h2 { font-size:33px; }
}

@media (prefers-reduced-motion:reduce) {
  .alesta-nav-v2,.alesta-mega-v2,.alesta-nav-v2__phone,.alesta-nav-v2__logo,.alesta-mobile-v2 { transition:none; }
}
