/* =========================================================================
   Lief Urology — Homepage styles
   ========================================================================= */

/* ---------- Hero ---------- */
.hero{position:relative;min-height:clamp(620px,92vh,900px);display:flex;align-items:center;
  background:var(--teal-deep);color:#fff;overflow:hidden;isolation:isolate}
.hero__poster,#hero-gl{position:absolute;inset:0;width:100%;height:100%}
.hero__poster{object-fit:cover;z-index:0;
  background:
    radial-gradient(90% 80% at 78% 12%,rgba(192,121,74,.34),transparent 55%),
    radial-gradient(120% 110% at 8% 95%,rgba(34,150,142,.55),transparent 60%),
    linear-gradient(160deg,#0A403F,#0A302F 60%,#072523)}
#hero-gl{z-index:1;opacity:.92}
.hero__veil{position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,rgba(7,37,35,.82) 0%,rgba(7,37,35,.55) 42%,transparent 78%)}
.hero .container{position:relative;z-index:3;padding-block:clamp(2rem,8vh,5rem)}
.hero__inner{max-width:760px}
.hero .eyebrow{color:var(--copper-soft)}
.hero h1{color:#fff;font-size:clamp(2.6rem,6.4vw,5rem);margin-bottom:1.1rem}
.hero h1 .accent{color:var(--copper-soft);font-style:italic}
.hero__sub{font-size:clamp(1.1rem,1.7vw,1.4rem);color:#CFE0DC;max-width:54ch;margin-bottom:1.9rem;line-height:1.55}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.hero__trust{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2.4rem;align-items:center;color:#BBD3CE;font-size:.92rem}
.hero__trust b{color:#fff}
.hero__trust .star{color:var(--copper-soft)}
.hero__trust-item{display:flex;align-items:center;gap:.5rem}
.hero__trust-item svg{width:20px;height:20px;color:var(--copper-soft)}
.hero-split{position:absolute;right:max(4vw,calc((100vw - var(--container))/2));bottom:0;top:0;
  width:min(40%,460px);z-index:3;display:flex;align-items:flex-end;pointer-events:none}
@media(max-width:1024px){.hero-split{display:none}.hero__veil{background:linear-gradient(180deg,rgba(7,37,35,.7),rgba(7,37,35,.5))}}

/* word-by-word hero reveal helper */
.hero h1 .word{display:inline-block}

/* ---------- Trust logos / affiliations strip ---------- */
.affil{background:var(--paper);border-bottom:1px solid var(--line)}
.affil .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem 2.4rem;padding-block:1.5rem}
.affil span{color:var(--ink-faint);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.affil b{color:var(--teal-ink);font-weight:600;font-size:.98rem}
.affil .dot{width:5px;height:5px;border-radius:50%;background:var(--copper);opacity:.7}

/* ---------- Section header ---------- */
.sec-head{max-width:64ch}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head .lede{margin-top:.6rem}
.sec-head.center .eyebrow{justify-content:center}

/* ---------- Services grid ---------- */
.svc-grid{margin-top:2.6rem}
.svc-card{display:flex;flex-direction:column}
.svc-card .card__icon{background:linear-gradient(135deg,var(--sage-2),#fff)}
.svc-card .tag{margin-top:auto}

/* ---------- Treatment finder (signature interaction) ---------- */
.finder{background:linear-gradient(180deg,var(--sage-2),var(--bone));border:1px solid var(--sage);
  border-radius:var(--r-lg);padding:clamp(1.6rem,4vw,3rem);box-shadow:var(--shadow-sm)}
.finder__head{text-align:center;max-width:60ch;margin:0 auto 2rem}
.finder__steps{display:flex;flex-direction:column;gap:1.4rem}
.finder__qs{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.finder__chip{
  border:1.5px solid var(--line);background:var(--paper);border-radius:var(--pill);
  padding:.75rem 1.3rem;font-size:1rem;font-weight:500;color:var(--ink);cursor:pointer;transition:.22s;font-family:inherit
}
.finder__chip:hover{border-color:var(--copper);color:var(--copper-deep);transform:translateY(-2px)}
.finder__chip[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.finder__result{margin-top:1.8rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.6rem;opacity:0;transform:translateY(12px);transition:.4s;min-height:0}
.finder__result.show{opacity:1;transform:none}
.finder__result h3{margin-bottom:.4rem}
.finder__result .match{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-top:1px dashed var(--line)}
.finder__result .match:first-of-type{border-top:0}
.finder__result .match .mi{width:46px;height:46px;border-radius:12px;background:var(--sage-2);color:var(--teal);display:grid;place-items:center;flex-shrink:0}
.finder__result .match .mi svg{width:24px;height:24px}
.finder__result .match h4{margin:0 0 .15rem;font-family:var(--sans);font-weight:700;font-size:1.05rem}
.finder__result .match p{margin:0;font-size:.94rem;color:var(--ink-soft)}
.finder__result .match a{font-weight:600;white-space:nowrap;align-self:center}
.finder__disclaim{font-size:.82rem;color:var(--ink-faint);text-align:center;margin-top:1.2rem}

/* ---------- Doctor authority section ---------- */
.doctor{align-items:center}
.doctor__media{position:relative}
.doctor__media img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;object-fit:cover;aspect-ratio:4/5;background:var(--sage-2)}
.doctor__badge{position:absolute;bottom:-22px;right:-12px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--shadow);padding:1rem 1.2rem;max-width:230px}
.doctor__badge b{display:block;font-family:var(--serif);color:var(--teal);font-size:1.7rem;line-height:1}
.doctor__badge span{font-size:.82rem;color:var(--ink-soft)}
@media(max-width:760px){.doctor__badge{position:static;margin-top:1rem;max-width:none}}
.doctor__quote{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--teal-ink);
  line-height:1.35;margin:1.4rem 0;font-style:italic}
.cred-list{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.7rem}
.cred-list li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink-soft);font-size:.98rem}
.cred-list svg{width:22px;height:22px;color:var(--copper);flex-shrink:0;margin-top:2px}

/* ---------- Tech highlight ---------- */
.tech-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.tech-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tech-card__top{padding:1.6rem 1.6rem 0}
.tech-card .badge{margin-bottom:.9rem}
.tech-card h3{font-size:1.3rem}
.tech-card p{color:var(--ink-soft);font-size:.96rem}
.tech-card__foot{margin-top:auto;padding:0 1.6rem 1.6rem}

/* ---------- Reviews strip ---------- */
.reviews-grid{margin-top:2.4rem}

/* ---------- Telehealth band ---------- */
.tele{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:center}
@media(max-width:820px){.tele{grid-template-columns:1fr}}
.tele__icon{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.1);display:grid;place-items:center;margin-bottom:1.2rem}
.tele__icon svg{width:32px;height:32px;color:var(--copper-soft)}
.tele ul{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.7rem}
.tele li{display:flex;gap:.6rem;align-items:center;color:#CFE0DC}
.tele li svg{width:20px;height:20px;color:var(--copper-soft);flex-shrink:0}

/* ---------- Conditions cloud ---------- */
.cond-cloud{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:2rem;max-width:920px;margin-inline:auto}

/* ---------- Map / contact preview ---------- */
.contact-pre{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--paper)}
@media(max-width:820px){.contact-pre{grid-template-columns:1fr}}
.contact-pre__info{padding:clamp(1.6rem,3vw,2.6rem)}
.contact-pre__info h3{margin-bottom:1.2rem}
.contact-pre__info .row{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem}
.contact-pre__info .row svg{width:22px;height:22px;color:var(--copper);flex-shrink:0;margin-top:2px}
.contact-pre__info .row b{display:block;color:var(--teal-ink)}
.contact-pre__info .row span{color:var(--ink-soft);font-size:.95rem}
.contact-pre__map{min-height:340px;background:var(--sage-2)}
.contact-pre__map iframe{width:100%;height:100%;border:0;display:block;min-height:340px}
