/* Life Aveda custom homepage */
.la-homepage { --la-green:#293f2b; --la-green-dark:#1d3020; --la-cream:#f5f2ea; --la-paper:#fbfaf5; --la-ink:#292e27; --la-text:#66695f; --la-line:rgba(41,63,43,.13); color:var(--la-ink); background:var(--la-paper); overflow:hidden; }
.la-homepage * { box-sizing:border-box; }
.la-homepage img { display:block; max-width:100%; height:auto; }
.la-homepage h1,.la-homepage h2,.la-homepage h3,.la-homepage p { margin-top:0; }
.la-homepage h1,.la-homepage h2 { font-family:var(--la-heading,'Cormorant Garamond',Georgia,serif); color:var(--la-green-dark); font-weight:600; letter-spacing:-.025em; }
.la-homepage h1 { font-size:clamp(42px,5vw,72px); line-height:.98; margin-bottom:18px; max-width:620px; }
.la-homepage h2 { font-size:clamp(32px,3.5vw,48px); line-height:1.02; margin-bottom:16px; }
.la-homepage h3 { color:var(--la-green-dark); font-family:var(--la-body,'DM Sans',Arial,sans-serif); font-size:16px; line-height:1.3; margin-bottom:8px; }
.la-homepage p { color:var(--la-text); font-size:14px; line-height:1.7; }
.la-wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.la-eyebrow { margin:0 0 12px!important; color:#737967!important; font-size:10px!important; font-weight:700; letter-spacing:.16em; line-height:1.4!important; text-transform:uppercase; }
.la-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:43px; padding:12px 20px; border:1px solid var(--la-green); border-radius:999px; color:#fff!important; background:var(--la-green); font:600 12px/1.2 var(--la-body,'DM Sans',Arial,sans-serif); text-decoration:none!important; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.la-button:hover { color:#fff!important; background:var(--la-green-dark); transform:translateY(-2px); box-shadow:0 8px 18px rgba(29,48,32,.12); }
.la-button i { font-size:11px; }
.la-button--small { min-height:36px; padding:10px 16px; font-size:11px; }
.la-button--full { width:100%; }
.la-section { padding:clamp(54px,7vw,60px) 0; }
.la-section-copy { max-width:490px; }
.la-section-copy > p:not(.la-eyebrow) { max-width:460px; margin-bottom:22px; }
.la-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.9fr); align-items:end; gap:28px; margin-bottom:28px; }
.la-section-heading .la-eyebrow { grid-column:1/-1; margin-bottom:-15px!important; }
.la-section-heading h2 { margin-bottom:0; }
.la-section-heading > p { max-width:460px; margin:0 0 3px; }

/* Hero: supplied image is the full section background; appointment form sits in the right column */
.la-hero {
  position: relative;
  isolation: isolate;
  padding: 38px 0 0;
  background-color: #f5f2ea;
  background-image: var(--la-hero-image);
  background-position: center 48%;
  background-size: cover;
  background-repeat: no-repeat;
}
.la-hero__backdrop {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(248,246,239,.97) 0%,
    rgba(248,246,239,.91) 32%,
    rgba(248,246,239,.70) 56%,
    rgba(248,246,239,.34) 100%);
  pointer-events: none;
}
.la-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(310px,.72fr);
  align-items: center;
  gap: clamp(32px,5vw,76px);
  min-height: 430px;
  padding-bottom: 36px;
}
.la-hero__copy { min-width: 0; padding: 24px 0 28px; }
.la-hero__copy h1 { max-width: 620px; }
.la-hero__intro { max-width: 470px; margin-bottom: 24px; font-size: 15px!important; }
.la-hero__form-column {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
}
.la-appointment-card {
  position: relative;
  z-index: 2;
  width: min(100%,390px);
  padding: 24px 22px 16px;
  border: 1px solid rgba(41,63,43,.12);
  border-radius: 12px;
  background: rgba(255,254,250,.97);
  box-shadow: 0 18px 48px rgba(36,48,34,.18);
  backdrop-filter: blur(8px);
}
.la-appointment-card__heading h2 {
  font: 700 17px/1.3 var(--la-body,'DM Sans',Arial,sans-serif);
  letter-spacing: -.02em;
  margin-bottom: 5px;
}
.la-appointment-card__heading p { font-size: 11px; line-height: 1.5; margin-bottom: 15px; }
.la-privacy-note { margin: 12px 0 0!important; font-size: 9px!important; text-align: center; }
.la-privacy-note i { margin-right: 4px; color: var(--la-green); }
.la-benefits { display:flex; flex-wrap:wrap; gap:17px; margin:0 0 26px; }
.la-benefit { display:flex; align-items:center; gap:8px; }
.la-icon { display:flex; width:33px; height:33px; align-items:center; justify-content:center; border:1px solid rgba(41,63,43,.24); border-radius:50%; color:var(--la-green); font-size:14px; }
.la-benefit strong,.la-benefit small { display:block; }
.la-benefit strong { color:var(--la-green-dark); font-size:10px; line-height:1.25; }
.la-benefit small { margin-top:3px; color:var(--la-text); font-size:9px; line-height:1.25; }
.la-form-placeholder { padding: 13px 0 0; }
.la-form-placeholder p { font-size: 11px; line-height: 1.5; }
.la-form-placeholder__title { margin-bottom: 5px; color: var(--la-green-dark)!important; font-weight: 700; }
.la-trust-strip { position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; transform:translateY(1px); border-radius:8px 8px 0 0; overflow:hidden; background:#e7e8dc; }
.la-trust-item { display:grid; grid-template-columns:34px minmax(0,1fr) 24px; gap:10px; align-items:center; min-height:72px; padding:13px 18px; border-right:1px solid rgba(41,63,43,.12); }
.la-trust-item:last-child { border-right:0; background:var(--la-green); color:#fff; }
.la-trust-icon { display:flex; align-items:center; justify-content:center; width:31px; height:31px; border:1px solid rgba(41,63,43,.2); border-radius:50%; color:var(--la-green); font-size:14px; }
.la-trust-item:last-child .la-trust-icon { border-color:rgba(255,255,255,.45); color:#fff; }
.la-trust-item strong,.la-trust-item small { display:block; }
.la-trust-item strong { color:var(--la-green-dark); font-size:11px; line-height:1.3; }
.la-trust-item small { margin-top:3px; color:#6e7267; font-size:9px; line-height:1.35; }
.la-trust-item:last-child strong,.la-trust-item:last-child small { color:#fff; }
.la-trust-item > a { display:flex; align-items:center; justify-content:center; width:23px; height:23px; border-radius:50%; background:rgba(255,255,255,.7); color:var(--la-green); font-size:9px; }
.la-trust-item:last-child > a { background:rgba(255,255,255,.14); color:#fff; }

/* About */
.la-about { background:#fffefa; }
.la-about__grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(42px,7vw,100px); }
.la-about__image-wrap { position:relative; }
.la-about__image-wrap img { width:100%; height:clamp(260px,31vw,390px); object-fit:cover; border-radius:5px; }
.la-image-caption { position:absolute; right:14px; bottom:14px; display:flex; align-items:center; gap:8px; padding:10px 13px; border-radius:999px; color:var(--la-green-dark); background:rgba(255,254,250,.93); font-size:10px; font-weight:600; }

/* Approach cards */
.la-approach { background:#f4f1e9; }
.la-approach-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.la-feature-card { min-height:185px; padding:22px 18px; border:1px solid rgba(41,63,43,.08); border-radius:8px; background:linear-gradient(145deg,#fffefa,#f0efe6); }
.la-feature-icon { display:flex; align-items:center; justify-content:center; width:39px; height:39px; margin-bottom:18px; border:1px solid rgba(41,63,43,.17); border-radius:50%; color:var(--la-green); font-size:17px; }
.la-feature-card h3 { font-size:13px; }
.la-feature-card p { margin-bottom:0; font-size:11px; line-height:1.6; }

/* Learning/video-style feature */
.la-learning { background:#fffefa; }
.la-learning__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(36px,6vw,80px); }
.la-learning-card { position:relative; display:block; min-height:290px; overflow:hidden; border-radius:8px; background:#343b2e; color:#fff!important; }
.la-learning-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.la-learning-card:hover > img { transform:scale(1.04); }
.la-learning-card__shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,25,16,.78),rgba(15,25,16,.05) 70%); }
.la-play-button { position:absolute; top:50%; left:50%; display:flex; align-items:center; justify-content:center; width:55px; height:55px; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:#fff; background:rgba(255,255,255,.15); transform:translate(-50%,-50%); backdrop-filter:blur(4px); }
.la-play-button i { margin-left:3px; }
.la-learning-card__title { position:absolute; left:22px; bottom:46px; max-width:320px; color:#fff; font-family:var(--la-heading,'Cormorant Garamond',Georgia,serif); font-size:clamp(22px,2.6vw,32px); font-weight:600; line-height:1.05; }
.la-learning-card__label { position:absolute; right:18px; bottom:17px; color:#fff; font-size:10px; }

/* Treatments */
.la-treatments { background:#f4f1e9; }
.la-treatments__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:26px; }
.la-treatments__heading .la-section-copy { max-width:650px; }
.la-treatments__heading .la-section-copy > p:not(.la-eyebrow) { margin-bottom:0; max-width:570px; }
.la-treatments__heading > .la-button { flex-shrink:0; margin-bottom:3px; }
.la-treatment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.la-treatment-card { position:relative; display:flex; min-height:108px; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; padding:17px 18px; border:1px solid rgba(41,63,43,.1); border-radius:7px; background:#fffefa; color:var(--la-green-dark)!important; transition:transform .2s,border-color .2s,box-shadow .2s; }
.la-treatment-card:hover { transform:translateY(-3px); border-color:rgba(41,63,43,.3); box-shadow:0 9px 22px rgba(36,48,34,.06); }
.la-treatment-card__icon { display:flex; align-items:center; justify-content:center; width:31px; height:31px; border-radius:50%; color:var(--la-green); background:#eef0e6; font-size:14px; }
.la-treatment-card strong { padding-right:15px; font-size:12px; line-height:1.4; }
.la-treatment-card__arrow { position:absolute; top:15px; right:15px; color:#828878; font-size:10px; }

/* Patient story placeholder */
.la-stories { background:#fffefa; }
.la-stories__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(40px,7vw,100px); }
.la-story-card { position:relative; padding:34px 36px 28px; border:1px solid rgba(41,63,43,.1); border-radius:9px; background:#f7f5ed; }
.la-quote-mark { display:block; margin-bottom:8px; color:var(--la-green); font-family:Georgia,serif; font-size:42px; line-height:.7; }
.la-story-card > p { font-family:var(--la-heading,'Cormorant Garamond',Georgia,serif); color:#3d4339; font-size:clamp(20px,2vw,26px); line-height:1.3; }
.la-story-card__footer { display:flex; align-items:center; gap:10px; margin-top:22px; }
.la-avatar { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#e5e8dc; color:var(--la-green); }
.la-story-card__footer strong,.la-story-card__footer small { display:block; }
.la-story-card__footer strong { color:var(--la-green-dark); font-size:11px; }
.la-story-card__footer small { margin-top:2px; color:var(--la-text); font-size:10px; }

/* Full-width closing CTA */
.la-final-cta { position:relative; min-height:360px; display:flex; align-items:center; padding:70px 0; background-color:#d8d5c8; background-image:var(--la-cta-image); background-position:center 48%; background-size:cover; }
.la-final-cta__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(245,242,234,.96) 0%,rgba(245,242,234,.82) 42%,rgba(245,242,234,.05) 100%); }
.la-final-cta__content { position:relative; z-index:1; }
.la-final-cta h2 { max-width:650px; margin-bottom:14px; font-size:clamp(32px,4vw,50px); }
.la-final-cta__content > p:not(.la-eyebrow) { max-width:440px; margin-bottom:20px; }

/* General focus accessibility */
.la-homepage a:focus-visible,.la-homepage button:focus-visible { outline:2px solid #728765; outline-offset:3px; }
.la-mobile-break { display:none; }

@media (max-width:1000px) {
  .la-wrap { width:calc(100% - 44px); }
  .la-hero__grid { grid-template-columns:minmax(0,1fr) minmax(290px,.78fr); gap:28px; }
  .la-hero__backdrop { background:linear-gradient(90deg,rgba(248,246,239,.97) 0%,rgba(248,246,239,.90) 48%,rgba(248,246,239,.52) 100%); }
  .la-appointment-card { padding:20px 18px 14px; }
  .la-hero h1 { font-size:clamp(40px,5.2vw,58px); }
  .la-benefits { gap:11px; }
  .la-benefit { gap:6px; }
  .la-trust-item { padding:12px; grid-template-columns:30px minmax(0,1fr) 22px; gap:7px; }
  .la-approach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .la-feature-card { min-height:155px; }
}
@media (max-width:720px) {
  .la-wrap { width:calc(100% - 34px); }
  .la-section { padding:52px 0; }
  .la-hero { padding-top:22px; background-position:58% center; }
  .la-hero__backdrop { background:linear-gradient(180deg,rgba(248,246,239,.94) 0%,rgba(248,246,239,.90) 58%,rgba(248,246,239,.70) 100%); }
  .la-hero__grid,.la-about__grid,.la-learning__grid,.la-stories__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .la-hero__grid { min-height:0; padding-bottom:0; }
  .la-hero__copy { padding:10px 0 0; }
  .la-hero__form-column { justify-content:flex-start; }
  .la-appointment-card { width:min(100%,460px); }
  .la-hero h1 { max-width:520px; font-size:clamp(42px,11vw,58px); }
  .la-hero__intro { font-size:14px!important; }
  .la-hero__form-column { padding-bottom:0; }
  .la-appointment-card { padding:18px 16px 13px; }
  .la-benefits { gap:12px; }
  .la-trust-strip { grid-template-columns:minmax(0,1fr); width:calc(100% - 34px); margin-top:20px; border-radius:8px; }
  .la-trust-item { min-height:65px; border-right:0; border-bottom:1px solid rgba(41,63,43,.12); padding:12px 15px; }
  .la-trust-item:last-child { border-bottom:0; }
  .la-about__image-wrap img { height:300px; }
  .la-section-heading { display:block; }
  .la-section-heading .la-eyebrow { margin-bottom:12px!important; }
  .la-section-heading > p { margin-top:15px; }
  .la-learning-card { min-height:260px; }
  .la-treatments__heading { display:block; }
  .la-treatments__heading > .la-button { margin-top:20px; }
  .la-treatment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .la-treatment-card { min-height:105px; padding:14px; }
  .la-story-card { padding:27px 23px 23px; }
  .la-final-cta { min-height:390px; padding:56px 0; background-position:62% center; }
  .la-final-cta__overlay { background:linear-gradient(90deg,rgba(245,242,234,.95),rgba(245,242,234,.74) 68%,rgba(245,242,234,.28)); }
  .la-mobile-break { display:block; }
}
@media (max-width:420px) {
  .la-wrap { width:calc(100% - 28px); }
  .la-appointment-card { width:100%; }
  .la-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .la-approach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .la-feature-card { padding:16px 13px; }
  .la-treatment-grid { grid-template-columns:minmax(0,1fr); }
  .la-final-cta h2 { font-size:34px; }
}