:root {
  --ear-bg: #FBF7F0;
  --ear-surface: #FFFFFF;
  --ear-sand: #F3EBDD;
  --ear-tone: #0F766E;
  --ear-tone-hover: #0B5C56;
  --ear-deep: #134E4A;
  --ear-sunrise: #E9C46A;
  --ear-warm: #E76F51;
  --ear-ink: #1E2B2F;
  --ear-muted: #3F5055;
  --ear-gradient: linear-gradient(135deg, #0F766E 0%, #2A9D8F 100%);
  --ear-header-bg: linear-gradient(120deg, #134E4A 0%, #0F766E 100%);
  --ear-raised: 10px 10px 22px rgba(30, 43, 47, 0.12), -8px -8px 18px #FFFFFF;
  --ear-deep-shadow: 0 24px 60px rgba(0, 0, 0, 0.28), 0 6px 18px rgba(0, 0, 0, 0.18);
  --ear-radius: 16px;
  --ear-pill: 999px;
  --font-display: 'Merriweather', serif;
  --font-body: 'Lato', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  background: var(--ear-bg);
  color: var(--ear-ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
}

h1, h2, h3 {
  font-family: var(--font-display);
  line-height: 1.25;
  color: inherit;
  margin: 0 0 16px;
}

p { margin: 0 0 14px; }

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a { color: var(--ear-tone); }

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
label:focus-visible {
  outline: 3px solid var(--ear-warm);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ear-wrap-inner {
  position: relative;
  z-index: 10;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===== HEADER ===== */
.ear-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ear-header-bg);
  color: #FFFFFF;
  box-shadow: 0 6px 18px rgba(19, 78, 74, 0.25);
}

.ear-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px;
  gap: 16px;
}

.ear-site-header .logo img {
  height: 44px;
  width: auto;
}

.ear-nav-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.ear-nav-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ear-nav-links a {
  display: inline-block;
  padding: 8px 14px;
  border-radius: var(--ear-pill);
  color: #FFFFFF;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.3s ease;
}

.ear-nav-links a:hover {
  background: rgba(255, 255, 255, 0.18);
}

.ear-menu-check {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ear-menu-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
  cursor: pointer;
}

.ear-menu-burger span {
  display: block;
  width: 26px;
  height: 3px;
  border-radius: 3px;
  background: #FFFFFF;
}

.ear-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: var(--ear-sunrise);
  transform-origin: 0 50%;
  transform: scaleX(0);
  animation: ear-grow linear both;
  animation-timeline: scroll(root block);
}

@keyframes ear-grow {
  to { transform: scaleX(1); }
}

/* ===== HERO ===== */
.ear-hero-stage {
  position: relative;
  overflow: hidden;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #FFFFFF;
  padding: 12dvh 20px 18dvh;
  background:
    linear-gradient(rgba(12, 38, 36, 0.74), rgba(12, 38, 36, 0.62)),
    url('img/bg.webp') center / cover no-repeat;
}

.ear-hero-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.22;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='2' fill='%23E9C46A'/%3E%3C/svg%3E");
}

.ear-hero-inner {
  position: relative;
  z-index: 10;
  max-width: 860px;
}

.ear-kicker {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 16px;
  border-radius: var(--ear-pill);
  background: rgba(255, 255, 255, 0.14);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ear-hero-stage h1 {
  color: #FFFFFF;
  font-size: clamp(2rem, 5vw, 3.6rem);
  margin: 0.3em 0 0.5em;
}

.ear-hero-lead {
  font-size: clamp(1rem, 2vw, 1.2rem);
  max-width: 720px;
  margin: 0 auto;
}

.ear-pill-cta,
.ear-cta-button {
  display: inline-block;
  margin-top: 26px;
  padding: 14px 34px;
  border-radius: var(--ear-pill);
  background: var(--ear-sunrise);
  color: var(--ear-ink);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ear-pill-cta:hover,
.ear-cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

.ear-scroll-arrow {
  position: absolute;
  z-index: 10;
  left: 50%;
  bottom: 18px;
  color: #FFFFFF;
  transform: translateX(-50%);
  animation: ear-bounce 2.2s ease-in-out infinite;
}

@keyframes ear-bounce {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 8px); }
}

/* ===== CONTENT SPLIT ===== */
.ear-content-block {
  position: relative;
  padding-top: 10dvh;
  padding-bottom: 10dvh;
  background:
    linear-gradient(rgba(251, 247, 240, 0.95), rgba(251, 247, 240, 0.95)),
    url('img/bg2.webp') center / cover no-repeat;
}

.ear-content-alt {
  background:
    linear-gradient(rgba(243, 235, 221, 0.95), rgba(243, 235, 221, 0.95)),
    url('img/bg2.webp') center / cover no-repeat;
}

.ear-split-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
}

.ear-split-figure {
  margin: 0;
}

.ear-split-figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--ear-radius);
  box-shadow: var(--ear-raised);
}

.ear-split-copy h2 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  color: var(--ear-deep);
}

@media (min-width: 860px) {
  .ear-split-img-left { grid-template-columns: 2fr 3fr; }
  .ear-split-img-right { grid-template-columns: 3fr 2fr; }
  .ear-split-img-right .ear-split-copy { order: 1; }
  .ear-split-img-right .ear-split-figure { order: 2; }
}

/* ===== DIVIDER ===== */
.ear-divider-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 20px;
  background: var(--ear-sand);
  color: var(--ear-deep);
  border-top: 1px solid rgba(19, 78, 74, 0.15);
  border-bottom: 1px solid rgba(19, 78, 74, 0.15);
}

.ear-divider-strip svg {
  flex: none;
}

.ear-divider-strip p {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
}

/* ===== FEATURES ===== */
.ear-feature-zone {
  position: relative;
  padding-top: 10dvh;
  padding-bottom: 10dvh;
  background: var(--ear-bg);
  overflow: hidden;
}

.ear-feature-zone::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%230F766E' stroke-opacity='0.08' fill='none'/%3E%3C/svg%3E");
}

.ear-feature-zone h2 {
  text-align: center;
  color: var(--ear-deep);
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
  margin-bottom: 36px;
}

.ear-feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 720px) {
  .ear-feature-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .ear-feature-grid { grid-template-columns: repeat(3, 1fr); }
}

.ear-feature-tile {
  background: var(--ear-surface);
  border-radius: var(--ear-radius);
  padding: 32px 26px;
  box-shadow: var(--ear-raised);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  animation: ear-rise linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 35%;
}

.ear-feature-tile:hover {
  transform: translateY(-6px);
  box-shadow: 14px 18px 30px rgba(30, 43, 47, 0.16), -8px -8px 18px #FFFFFF;
}

.ear-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--ear-gradient);
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.3);
}

.ear-feature-tile h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ear-deep);
}

.ear-feature-tile p {
  color: var(--ear-muted);
  margin: 0;
}

/* ===== CTA BAND ===== */
.ear-cta-band {
  position: relative;
  padding-top: 10dvh;
  padding-bottom: 10dvh;
  color: #FFFFFF;
  text-align: center;
  background:
    linear-gradient(rgba(19, 78, 74, 0.86), rgba(19, 78, 74, 0.82)),
    url('img/bg.webp') center / cover no-repeat fixed;
}

.ear-cta-band h2 {
  color: #FFFFFF;
  font-size: clamp(1.6rem, 3.6vw, 2.4rem);
}

.ear-cta-band p {
  max-width: 640px;
  margin: 0 auto;
}

/* ===== FORM ===== */
.ear-form-zone {
  position: relative;
  padding-top: 10dvh;
  padding-bottom: 10dvh;
  background: var(--ear-deep);
  color: #FFFFFF;
}

.ear-form-zone h2 {
  text-align: center;
  color: #FFFFFF;
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
}

.ear-form-intro {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 28px;
}

.ear-contact-address {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0 0 30px;
  font-style: normal;
}

.ear-contact-address p {
  margin: 0;
  padding: 12px 18px;
  border-radius: var(--ear-radius);
  background: rgba(255, 255, 255, 0.1);
}

.ear-contact-address a {
  color: #FFFFFF;
  font-weight: 700;
}

.ear-form-panel {
  max-width: 600px;
  margin: 0 auto;
  padding: 32px;
  border-radius: var(--ear-radius);
  background: var(--ear-surface);
  color: var(--ear-ink);
  box-shadow: var(--ear-deep-shadow);
}

.ear-form-panel label {
  display: block;
  margin: 16px 0 6px;
  font-weight: 700;
}

.ear-form-panel input,
.ear-form-panel textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #8A9B9F;
  border-radius: 10px;
  background: #FFFFFF;
  color: var(--ear-ink);
  font: inherit;
}

.ear-submit-pill {
  width: 100%;
  margin-top: 24px;
  padding: 14px;
  border: 0;
  border-radius: var(--ear-pill);
  background: var(--ear-tone);
  color: #FFFFFF;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.ear-submit-pill:hover {
  background: var(--ear-tone-hover);
  transform: translateY(-2px);
}

/* ===== FAQ ===== */
.ear-faq-zone {
  position: relative;
  padding-top: 10dvh;
  padding-bottom: 10dvh;
  background: var(--ear-sand);
}

.ear-faq-wrap {
  max-width: 820px;
}

.ear-faq-zone h2 {
  text-align: center;
  color: var(--ear-deep);
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
  margin-bottom: 30px;
}

.ear-faq-zone details {
  margin-bottom: 14px;
  padding: 18px 22px;
  border-radius: var(--ear-radius);
  background: var(--ear-surface);
  box-shadow: var(--ear-raised);
  animation: ear-rise linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 30%;
}

.ear-faq-zone summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ear-deep);
}

.ear-faq-zone summary::-webkit-details-marker {
  display: none;
}

.ear-faq-zone details[open] summary {
  margin-bottom: 10px;
}

.ear-faq-zone details p {
  margin: 0;
  color: var(--ear-muted);
}

/* ===== FOOTER ===== */
.ear-site-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 32px 20px;
  background: var(--ear-deep);
  color: #FFFFFF;
}

.ear-footer-brand img {
  height: 44px;
  width: auto;
}

.ear-footer-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
}

.ear-footer-nav a {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ===== SCROLL-DRIVEN REVEAL ===== */
@keyframes ear-rise {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ear-content-block .ear-wrap-inner,
.ear-feature-zone .ear-wrap-inner,
.ear-form-zone .ear-wrap-inner,
.ear-faq-zone .ear-wrap-inner {
  animation: ear-rise linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 30%;
}

/* ===== RESPONSIVE: HEADER ===== */
@media (max-width: 860px) {
  .ear-menu-burger {
    display: flex;
  }

  .ear-nav-links {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: -20px;
    right: -20px;
    flex-direction: column;
    gap: 4px;
    padding: 14px 20px 20px;
    background: var(--ear-deep);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.25);
  }

  .ear-menu-check:checked ~ .ear-nav-links {
    display: flex;
  }

  .ear-header-inner {
    position: relative;
  }
}

@media (max-width: 420px) {
  .ear-site-header .logo img {
    height: 38px;
  }

  .ear-form-panel {
    padding: 24px 18px;
  }
}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}