/* Anna Smile Care Styles v1.0.0
 * Scoped to .anna-home to avoid conflicts with Kadence / WooCommerce.
 */

.anna-home {
  --anna-bg: #f7f8f7;
  --anna-surface: #ffffff;
  --anna-text: #1d2b2c;
  --anna-muted: #637173;
  --anna-accent: #4f7e82;
  --anna-accent-dark: #31595d;
  --anna-soft: #dfeaec;
  --anna-line: rgba(29, 43, 44, .12);
  --anna-radius: 24px;
  --anna-shadow: 0 22px 60px rgba(36, 55, 57, .10);
  color: var(--anna-text);
  background: var(--anna-bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.65;
  overflow: hidden;
}

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

.anna-home img { display:block; max-width:100%; height:auto; }
.anna-home a { color: inherit; }

.anna-container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.anna-section { padding: 110px 0; }

.anna-eyebrow {
  margin: 0 0 16px;
  color: var(--anna-accent-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.anna-eyebrow--light { color: rgba(255,255,255,.76); }

.anna-home h1,
.anna-home h2,
.anna-home h3 {
  margin-top: 0;
  color: var(--anna-text);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.anna-home h1 { font-size: clamp(3rem, 7vw, 6.8rem); margin-bottom: 28px; }
.anna-home h2 { font-size: clamp(2.2rem, 4.2vw, 4.3rem); margin-bottom: 24px; }
.anna-home h3 { font-size: 1.35rem; margin-bottom: 12px; }
.anna-home p { margin-top: 0; }

.anna-hero {
  position: relative;
  padding: 92px 0 80px;
  background:
    radial-gradient(circle at 78% 18%, rgba(132, 177, 182, .24), transparent 34%),
    linear-gradient(180deg, #fbfcfb 0%, #f2f5f4 100%);
}
.anna-hero::after {
  content:"";
  position:absolute;
  right:-180px;
  bottom:-250px;
  width:520px;
  height:520px;
  border:1px solid rgba(79,126,130,.18);
  border-radius:50%;
}
.anna-hero__grid {
  display:grid;
  grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr);
  gap: clamp(42px, 7vw, 100px);
  align-items:center;
  position:relative;
  z-index:1;
}
.anna-hero__lead {
  max-width: 720px;
  font-size: clamp(1.15rem, 1.7vw, 1.42rem);
  color: var(--anna-muted);
  margin-bottom: 34px;
}
.anna-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px; }
.anna-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding: 13px 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:750;
  border:1px solid transparent;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.anna-btn:hover { transform: translateY(-2px); }
.anna-btn--primary { color:#fff!important; background:var(--anna-accent-dark); box-shadow:0 12px 30px rgba(49,89,93,.20); }
.anna-btn--ghost { color:var(--anna-text)!important; border-color:var(--anna-line); background:rgba(255,255,255,.68); }
.anna-btn--light { color:var(--anna-accent-dark)!important; background:#fff; }

.anna-hero__meta { display:flex; flex-wrap:wrap; gap:10px 24px; color:var(--anna-muted); font-size:.96rem; }
.anna-hero__meta span { position:relative; }
.anna-hero__meta span + span::before { content:"•"; position:absolute; left:-15px; }

.anna-photo-frame {
  position:relative;
  border-radius: 42% 42% 30px 30px;
  overflow:hidden;
  background:var(--anna-soft);
  box-shadow:var(--anna-shadow);
  aspect-ratio: .88;
}
.anna-photo-frame::before {
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:inherit;
  z-index:1;
  pointer-events:none;
}
.anna-photo-frame img { width:100%; height:100%; object-fit:cover; object-position:center 26%; }

.anna-trust { background:var(--anna-surface); border-top:1px solid var(--anna-line); border-bottom:1px solid var(--anna-line); }
.anna-trust__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.anna-trust__item { padding:40px 42px; border-right:1px solid var(--anna-line); }
.anna-trust__item:last-child { border-right:0; }
.anna-trust__item p { color:var(--anna-muted); margin-bottom:0; }
.anna-icon { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--anna-soft); color:var(--anna-accent-dark); font-size:.78rem; font-weight:800; margin-bottom:22px; }

.anna-split,
.anna-philosophy__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(48px,8vw,110px); align-items:start; }
.anna-copy { font-size:1.08rem; color:var(--anna-muted); }
.anna-copy p { margin-bottom:22px; }
.anna-text-link { display:inline-flex; gap:8px; color:var(--anna-accent-dark)!important; text-decoration:none; font-weight:800; }

.anna-services { background:#eef3f2; }
.anna-section-head { display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:end; margin-bottom:55px; }
.anna-section-head > p { color:var(--anna-muted); font-size:1.08rem; max-width:520px; justify-self:end; }
.anna-section-head--compact { grid-template-columns:1fr; }

.anna-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.anna-card {
  min-height:280px;
  padding:34px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(29,43,44,.09);
  border-radius:var(--anna-radius);
  box-shadow:0 10px 30px rgba(36,55,57,.04);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.anna-card:hover { transform:translateY(-4px); background:#fff; box-shadow:var(--anna-shadow); }
.anna-card__num { display:block; margin-bottom:62px; color:var(--anna-accent); font-weight:800; font-size:.82rem; letter-spacing:.08em; }
.anna-card p { color:var(--anna-muted); margin-bottom:0; }

.anna-visit { background:var(--anna-surface); }
.anna-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--anna-line); }
.anna-steps article { padding:34px 26px 0 0; position:relative; }
.anna-steps article:not(:last-child) { margin-right:26px; }
.anna-steps span { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--anna-accent-dark); color:white; font-size:.82rem; font-weight:800; margin-bottom:22px; }
.anna-steps p { color:var(--anna-muted); }

.anna-philosophy { background:#f8f4ef; }

.anna-cta {
  padding:90px 0;
  background:linear-gradient(135deg, #2f5559, #416f73);
  color:#fff;
}
.anna-cta__grid { display:grid; grid-template-columns:1fr minmax(330px,.58fr); gap:70px; align-items:center; }
.anna-cta h2 { color:#fff; }
.anna-cta__grid > div:first-child > p:last-child { max-width:650px; color:rgba(255,255,255,.80); font-size:1.08rem; }
.anna-contact-card { padding:32px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); border-radius:24px; backdrop-filter:blur(8px); }
.anna-contact-card p { margin-bottom:18px; }
.anna-contact-card a:not(.anna-btn) { color:#fff!important; text-decoration-thickness:1px; text-underline-offset:4px; }

@media (max-width: 1024px) {
  .anna-section { padding:84px 0; }
  .anna-hero__grid { grid-template-columns:1fr 380px; gap:45px; }
  .anna-cards { grid-template-columns:repeat(2,1fr); }
  .anna-steps { grid-template-columns:repeat(2,1fr); row-gap:30px; }
  .anna-cta__grid { grid-template-columns:1fr .72fr; gap:45px; }
}

@media (max-width: 767px) {
  .anna-container { width:min(100% - 28px, 1180px); }
  .anna-section { padding:68px 0; }
  .anna-hero { padding:58px 0 52px; }
  .anna-hero__grid,
  .anna-split,
  .anna-philosophy__grid,
  .anna-section-head,
  .anna-cta__grid { grid-template-columns:1fr; }
  .anna-hero__grid { gap:42px; }
  .anna-home h1 { font-size:clamp(2.8rem, 14vw, 4.4rem); }
  .anna-home h2 { font-size:clamp(2rem, 10vw, 3rem); }
  .anna-photo-frame { max-width:500px; width:100%; margin-inline:auto; aspect-ratio:1 / 1.08; border-radius:34% 34% 24px 24px; }
  .anna-trust__grid { grid-template-columns:1fr; }
  .anna-trust__item { border-right:0; border-bottom:1px solid var(--anna-line); padding:30px 0; }
  .anna-trust__item:last-child { border-bottom:0; }
  .anna-section-head { gap:12px; margin-bottom:36px; }
  .anna-section-head > p { justify-self:start; }
  .anna-cards { grid-template-columns:1fr; }
  .anna-card { min-height:0; padding:28px; }
  .anna-card__num { margin-bottom:38px; }
  .anna-steps { grid-template-columns:1fr; }
  .anna-steps article:not(:last-child) { margin-right:0; }
  .anna-cta { padding:68px 0; }
  .anna-hero__meta { display:grid; gap:6px; }
  .anna-hero__meta span + span::before { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .anna-home *, .anna-home *::before, .anna-home *::after { scroll-behavior:auto!important; transition:none!important; }
}
