/* Anna Smile Care Styles v1.1.0
 * Base44-inspired homepage direction.
 * Everything is scoped to .anna-home-v2.
 */

.anna-home-v2 {
  --anna-bg: #fbfaf6;
  --anna-paper: #ffffff;
  --anna-soft: #eef4ef;
  --anna-soft-2: #f4f1e8;
  --anna-sage: #a8b8a5;
  --anna-sage-deep: #718878;
  --anna-olive: #667463;
  --anna-ink: #29322d;
  --anna-muted: #6f776f;
  --anna-line: rgba(61,79,68,.13);
  --anna-shadow: 0 24px 60px rgba(60,76,66,.10);
  --anna-radius: 30px;
  --anna-radius-sm: 20px;
  color: var(--anna-ink);
  background: var(--anna-bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.7;
  overflow: clip;
}
.anna-home-v2 *, .anna-home-v2 *::before, .anna-home-v2 *::after { box-sizing: border-box; }
.anna-home-v2 img { display:block; width:100%; max-width:100%; height:auto; }
.anna-home-v2 a { color:inherit; }
.anna-home-v2 .anna-container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.anna-home-v2 .anna-section { padding:100px 0; }
.anna-home-v2 .anna-kicker { margin:0 0 12px; color:var(--anna-sage-deep); font-size:.76rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.anna-home-v2 h1,.anna-home-v2 h2,.anna-home-v2 h3 { margin:0; color:var(--anna-ink); letter-spacing:-.03em; }
.anna-home-v2 h1 { font-size:clamp(3.3rem,6.4vw,6.7rem); line-height:.98; font-weight:650; }
.anna-home-v2 h2 { font-size:clamp(2.25rem,4vw,4.2rem); line-height:1.05; font-weight:620; }
.anna-home-v2 h3 { font-size:1.25rem; line-height:1.25; font-weight:700; }
.anna-home-v2 p { margin:0; }
.anna-home-v2 .anna-lead { color:var(--anna-muted); font-size:clamp(1.06rem,1.6vw,1.25rem); max-width:690px; }
.anna-home-v2 .anna-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:13px 24px; border-radius:999px; text-decoration:none; font-weight:750; border:1px solid transparent; transition:.22s ease; }
.anna-home-v2 .anna-btn:hover { transform:translateY(-2px); }
.anna-home-v2 .anna-btn--dark { color:#fff!important; background:var(--anna-olive); box-shadow:0 12px 28px rgba(102,116,99,.22); }
.anna-home-v2 .anna-btn--light { background:rgba(255,255,255,.74); border-color:var(--anna-line); }
.anna-home-v2 .anna-btn--outline { border-color:rgba(102,116,99,.28); color:var(--anna-olive)!important; background:transparent; }
.anna-home-v2 .anna-arrow { font-size:1.12em; }

/* HERO */
.anna-home-v2 .anna-hero { position:relative; padding:74px 0 34px; background:linear-gradient(180deg,#f6f4ec 0%,#fbfaf6 100%); }
.anna-home-v2 .anna-hero::before { content:""; position:absolute; width:430px; height:430px; right:-130px; top:-160px; border-radius:50%; background:rgba(174,191,171,.18); filter:blur(4px); }
.anna-home-v2 .anna-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:clamp(36px,6vw,88px); align-items:center; position:relative; z-index:2; }
.anna-home-v2 .anna-hero__copy { padding:34px 0 56px; }
.anna-home-v2 .anna-hero h1 span { color:var(--anna-sage-deep); }
.anna-home-v2 .anna-hero .anna-lead { margin-top:26px; }
.anna-home-v2 .anna-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.anna-home-v2 .anna-mini-meta { display:flex; flex-wrap:wrap; gap:11px 22px; margin-top:30px; color:var(--anna-muted); font-size:.95rem; }
.anna-home-v2 .anna-mini-meta span { display:flex; align-items:center; gap:8px; }
.anna-home-v2 .anna-mini-meta i { width:7px; height:7px; border-radius:50%; background:var(--anna-sage); display:inline-block; }
.anna-home-v2 .anna-hero__visual { position:relative; min-height:620px; }
.anna-home-v2 .anna-hero__portrait { position:absolute; inset:0 0 0 7%; border-radius:48% 48% 28px 28px; overflow:hidden; box-shadow:var(--anna-shadow); background:#e9eee8; }
.anna-home-v2 .anna-hero__portrait img { height:100%; object-fit:cover; object-position:center 16%; }
.anna-home-v2 .anna-hero__badge { position:absolute; left:-4px; bottom:34px; width:210px; padding:18px 20px; border-radius:22px; background:rgba(255,255,255,.88); backdrop-filter:blur(10px); box-shadow:0 18px 40px rgba(43,54,47,.12); }
.anna-home-v2 .anna-hero__badge strong { display:block; font-size:1.05rem; margin-bottom:4px; }
.anna-home-v2 .anna-hero__badge span { color:var(--anna-muted); font-size:.9rem; }

/* TRUST STRIP */
.anna-home-v2 .anna-trust { padding:0 0 18px; }
.anna-home-v2 .anna-trust__wrap { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--anna-line); border-radius:24px; background:rgba(255,255,255,.7); }
.anna-home-v2 .anna-trust__item { padding:25px 28px; border-right:1px solid var(--anna-line); display:flex; gap:16px; align-items:flex-start; }
.anna-home-v2 .anna-trust__item:last-child { border-right:0; }
.anna-home-v2 .anna-icon-circle { flex:0 0 42px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--anna-soft); color:var(--anna-sage-deep); }
.anna-home-v2 .anna-icon-circle svg { width:21px; height:21px; }
.anna-home-v2 .anna-trust__item strong { display:block; margin-bottom:3px; }
.anna-home-v2 .anna-trust__item p { color:var(--anna-muted); font-size:.92rem; line-height:1.45; }

/* INTRO */
.anna-home-v2 .anna-intro { background:#fff; }
.anna-home-v2 .anna-intro__grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(48px,8vw,110px); align-items:start; }
.anna-home-v2 .anna-intro__copy { color:var(--anna-muted); font-size:1.08rem; }
.anna-home-v2 .anna-intro__copy p + p { margin-top:18px; }
.anna-home-v2 .anna-signature { margin-top:26px; color:var(--anna-sage-deep); font-family:Georgia,serif; font-size:1.4rem; font-style:italic; }

/* SERVICES */
.anna-home-v2 .anna-services { background:var(--anna-soft); }
.anna-home-v2 .anna-section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:48px; }
.anna-home-v2 .anna-section-head .anna-lead { max-width:500px; font-size:1rem; }
.anna-home-v2 .anna-services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.anna-home-v2 .anna-service-card { min-height:260px; background:rgba(255,255,255,.82); border:1px solid rgba(71,90,77,.08); border-radius:26px; padding:30px; display:flex; flex-direction:column; box-shadow:0 8px 24px rgba(54,71,60,.04); transition:.22s ease; }
.anna-home-v2 .anna-service-card:hover { transform:translateY(-4px); box-shadow:var(--anna-shadow); background:#fff; }
.anna-home-v2 .anna-service-card .anna-icon-circle { margin-bottom:44px; width:48px; height:48px; }
.anna-home-v2 .anna-service-card p { margin-top:12px; color:var(--anna-muted); font-size:.96rem; }
.anna-home-v2 .anna-service-card a { margin-top:auto; padding-top:18px; text-decoration:none; font-weight:750; color:var(--anna-sage-deep)!important; }

/* ABOUT */
.anna-home-v2 .anna-about { background:var(--anna-bg); }
.anna-home-v2 .anna-about__grid { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr); gap:clamp(46px,7vw,96px); align-items:center; }
.anna-home-v2 .anna-about__photo { position:relative; border-radius:30px 30px 150px 30px; overflow:hidden; min-height:560px; box-shadow:var(--anna-shadow); }
.anna-home-v2 .anna-about__photo img { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center 18%; }
.anna-home-v2 .anna-about__content .anna-lead { margin-top:22px; }
.anna-home-v2 .anna-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:30px 0; }
.anna-home-v2 .anna-fact { padding:18px 20px; background:#fff; border-radius:18px; border:1px solid var(--anna-line); }
.anna-home-v2 .anna-fact strong { display:block; font-size:.98rem; margin-bottom:4px; }
.anna-home-v2 .anna-fact span { color:var(--anna-muted); font-size:.9rem; }

/* CLINIC */
.anna-home-v2 .anna-clinic { background:#fff; }
.anna-home-v2 .anna-clinic__top { display:grid; grid-template-columns:.78fr 1.22fr; gap:60px; align-items:end; margin-bottom:42px; }
.anna-home-v2 .anna-clinic__top .anna-lead { justify-self:end; }
.anna-home-v2 .anna-gallery { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:260px 260px; gap:16px; }
.anna-home-v2 .anna-gallery figure { margin:0; overflow:hidden; border-radius:24px; background:#ddd; }
.anna-home-v2 .anna-gallery figure:first-child { grid-row:1 / 3; }
.anna-home-v2 .anna-gallery img { height:100%; object-fit:cover; transition:transform .5s ease; }
.anna-home-v2 .anna-gallery figure:hover img { transform:scale(1.025); }

/* WHY */
.anna-home-v2 .anna-why { background:var(--anna-soft-2); }
.anna-home-v2 .anna-why__grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:70px; align-items:start; }
.anna-home-v2 .anna-why__cards { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.anna-home-v2 .anna-why-card { background:rgba(255,255,255,.72); border:1px solid rgba(83,93,80,.08); border-radius:22px; padding:24px; }
.anna-home-v2 .anna-why-card .anna-icon-circle { margin-bottom:22px; }
.anna-home-v2 .anna-why-card p { margin-top:8px; color:var(--anna-muted); font-size:.93rem; }

/* CONTACT */
.anna-home-v2 .anna-contact { padding:84px 0 94px; background:var(--anna-bg); }
.anna-home-v2 .anna-contact__box { position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; padding:54px; border-radius:34px; background:var(--anna-olive); color:#fff; }
.anna-home-v2 .anna-contact__box::after { content:""; position:absolute; right:-110px; bottom:-150px; width:380px; height:380px; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.anna-home-v2 .anna-contact h2 { color:#fff; }
.anna-home-v2 .anna-contact .anna-kicker { color:#dbe5dc; }
.anna-home-v2 .anna-contact .anna-lead { color:rgba(255,255,255,.78); margin-top:18px; }
.anna-home-v2 .anna-contact__details { display:grid; gap:12px; position:relative; z-index:1; }
.anna-home-v2 .anna-contact-row { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15); border-radius:18px; padding:17px 19px; }
.anna-home-v2 .anna-contact-row span { display:block; color:rgba(255,255,255,.7); font-size:.82rem; margin-bottom:3px; }
.anna-home-v2 .anna-contact-row strong,.anna-home-v2 .anna-contact-row a { color:#fff!important; text-decoration:none; }
.anna-home-v2 .anna-contact .anna-actions { margin-top:28px; }
.anna-home-v2 .anna-contact .anna-btn--light { background:#fff; color:var(--anna-olive)!important; }

@media (max-width:1024px){
  .anna-home-v2 .anna-section{padding:82px 0}
  .anna-home-v2 .anna-hero__grid{grid-template-columns:1fr 390px;gap:42px}
  .anna-home-v2 .anna-hero__visual{min-height:520px}
  .anna-home-v2 .anna-services__grid{grid-template-columns:repeat(2,1fr)}
  .anna-home-v2 .anna-about__photo{min-height:500px}
}

@media (max-width:767px){
  .anna-home-v2 .anna-container{width:min(100% - 28px,1180px)}
  .anna-home-v2 .anna-section{padding:68px 0}
  .anna-home-v2 .anna-hero{padding-top:42px}
  .anna-home-v2 .anna-hero__grid,.anna-home-v2 .anna-intro__grid,.anna-home-v2 .anna-about__grid,.anna-home-v2 .anna-clinic__top,.anna-home-v2 .anna-why__grid,.anna-home-v2 .anna-contact__box{grid-template-columns:1fr}
  .anna-home-v2 .anna-hero__copy{padding:18px 0 10px}
  .anna-home-v2 h1{font-size:clamp(3rem,14vw,4.8rem)}
  .anna-home-v2 h2{font-size:clamp(2rem,10vw,3.2rem)}
  .anna-home-v2 .anna-hero__visual{min-height:520px}
  .anna-home-v2 .anna-hero__portrait{inset:0;border-radius:42% 42% 24px 24px}
  .anna-home-v2 .anna-hero__badge{left:12px;right:12px;width:auto;bottom:16px}
  .anna-home-v2 .anna-trust__wrap{grid-template-columns:1fr}
  .anna-home-v2 .anna-trust__item{border-right:0;border-bottom:1px solid var(--anna-line)}
  .anna-home-v2 .anna-trust__item:last-child{border-bottom:0}
  .anna-home-v2 .anna-section-head{display:block}
  .anna-home-v2 .anna-section-head .anna-lead{margin-top:16px}
  .anna-home-v2 .anna-services__grid,.anna-home-v2 .anna-facts,.anna-home-v2 .anna-why__cards{grid-template-columns:1fr}
  .anna-home-v2 .anna-service-card{min-height:0}
  .anna-home-v2 .anna-about__photo{min-height:470px;border-radius:26px 26px 100px 26px}
  .anna-home-v2 .anna-gallery{grid-template-columns:1fr;grid-template-rows:330px 220px 220px}
  .anna-home-v2 .anna-gallery figure:first-child{grid-row:auto}
  .anna-home-v2 .anna-clinic__top .anna-lead{justify-self:start}
  .anna-home-v2 .anna-contact__box{padding:34px 24px}
}
