/* Birmingham ads microsite rev2: reusable layout and mobile polish */
:root { --gold: #ecb321; --gold-deep: #d79c0e; --stone: #655f5b; --charcoal: #252221; --paper: #faf8f4; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { overflow-x: hidden; }
img,video { max-width: 100%; }
.site-header { height: 86px; box-shadow: 0 6px 24px rgba(0,0,0,.045); border-bottom: 3px solid var(--gold); }
.site-header .container { justify-content: flex-start; }
.brand img { width: 162px; height: auto; max-height: 74px; object-fit: contain; }
.btn, .form-submit { background: var(--gold); color: #181511; border-radius: 8px; text-decoration: none; box-shadow: none; }
.btn:hover, .form-submit:hover { background: #f5c349; color: #181511; }
*:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.home-video { height: clamp(410px,58vw,650px); position: relative; overflow: hidden; background:#2b2929; isolation:isolate; display: flex; align-items:center; color:white; }
.home-video-player { z-index:-2; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-video-shade { z-index:-1; position:absolute; inset:0; background:linear-gradient(90deg,rgba(31,28,26,.80),rgba(39,36,35,.22)),linear-gradient(0deg,rgba(0,0,0,.25),transparent 50%); }
.home-video-content { position:relative; padding: 40px 0; }
.home-video h1 { font-size:clamp(3rem,6vw,6rem); color:#fff; max-width: 830px; line-height:1.04; letter-spacing:-.045em; margin: 16px 0 24px; }
.home-video h1 em { color:var(--gold); font-style:normal; }
.home-video-content .eyebrow { color:#ffce54; }
.home-video-content p { color:#fff; max-width: 610px; font-size:clamp(1rem,1.5vw,1.23rem); line-height:1.6; }
.home-location { display:inline-flex; margin-top: 22px; text-decoration: none; color:#fff; font-weight:650; background:rgba(25,25,25,.45); padding: 13px 17px; border-radius: 12px; border:1px solid rgba(255,255,255,.27); backdrop-filter:blur(8px); }
.home-location:hover { color: #ffda80; }
.home-photo-statement { min-height:clamp(380px,47vw,620px); display:flex; position:relative; isolation:isolate; overflow:hidden; align-items:flex-end; color:white; }
.home-photo-statement>img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.home-photo-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(24,20,19,.85),rgba(21,18,17,.1) 75%); }
.home-photo-content { padding: 85px 0 58px; }
.home-photo-content h2 { color:white; font-size:clamp(2rem,3.8vw,3.6rem); margin:9px 0 18px; letter-spacing:-.035em; }
.home-photo-content .eyebrow { font-size:1rem; font-weight:700; color:#ffdf8b; }
.home-photo-content p { max-width:780px; color:white; font-weight:550; line-height:1.75; }
.cream-feature { background:var(--paper); }
.treatment-tile { border:1px solid rgba(255,255,255,.11); }
.treatment-hero-v2 { background:#625d59; }
.treatment-hero-v2 .treatment-hero__grid { grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); padding:50px 0 55px; align-items:start; gap:clamp(24px,4vw,65px); }
.treatment-hero-v2 .treatment-hero__content { padding-top:7px; min-width:0; }
.treatment-hero-v2 h1 { font-size:clamp(2.4rem,4.3vw,4.6rem); line-height:1.07; margin:16px 0 19px; }
.treatment-hero-v2 .treatment-tagline { font-size:clamp(1.03rem,1.7vw,1.25rem); line-height:1.58; font-weight:500; margin-bottom:13px; }
.treatment-hero-v2 .treatment-hero__content>p:not(.film-fallback) { color:#fff; }
.hero-points { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.hero-points span { font-size:.76rem; color:white; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.30); border-radius:20px; padding:7px 10px; }
.lead-form { background:#48423f; padding:27px clamp(18px,2.4vw,31px); border-radius:15px; box-shadow:0 20px 60px rgba(25,20,15,.27); scroll-margin-top:100px; }
.lead-form h2 { font-size:clamp(1.7rem,2.1vw,2.3rem); }
.lead-form p.subtitle { margin-bottom:15px; }
.lead-form .form-field input { font-size:1rem; }
.lead-form .consent { line-height:1.45; margin-top:13px; }
.lead-form .form-privacy { font-size:.76rem; line-height:1.6; margin:11px 0 0; }
.lead-form .form-privacy a { color:#ffda81; }
.lead-form .form-submit { width:100%; color:#1a150d; font-weight:800; min-height:56px; }
.lead-form .hp-field { position:absolute; clip:rect(0,0,0,0); clip-path:inset(100%); height:1px; overflow:hidden; width:1px; }
.film { position:relative; border-radius:17px; background:#302c2a; overflow:hidden; width:100%; aspect-ratio:16/9; box-shadow:0 20px 45px rgba(0,0,0,.14); }
.film iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.film-hero { margin:20px 0 0; border:1px solid rgba(255,255,255,.32); }
.film-hero .sound-link { position:absolute; bottom:10px; right:12px; z-index:2; background:rgba(28,25,24,.79); border:1px solid rgba(255,255,255,.35); border-radius:30px; padding:7px 12px; font-size:.76rem; color:#fff; text-decoration:none; }
.film-hero .sound-link:hover { color:#ffcf65; }
.robotic-hero-video { display:block; margin-top:21px; width:100%; max-width:750px; aspect-ratio:16/9; object-fit:contain; background:#25211e; border-radius:17px; border:1px solid rgba(255,255,255,.3); }
.film-fallback { font-size:.76rem!important; margin:6px 0 0; }
.film-fallback a { color:#ffda78; }
.video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.video-grid .film { margin:0; }
.content-grid>.film { align-self:center; }
.result-section { padding:60px 0 72px; background:#fff; }
.result-title { display:flex; align-items:end; justify-content:space-between; gap:22px; margin-bottom:24px; }
.result-title h2 { font-size:clamp(1.75rem,3vw,2.8rem); margin:8px 0; }
.result-title p { margin:0; color:#635d58; }
.slider-controls { display:flex; gap:10px; flex:none; }
.slider-controls button { background:#f3b929; border:0; width:45px; height:45px; border-radius:50%; font-size:1.3rem; cursor:pointer; color:#26221f; transition:background .2s; }
.slider-controls button:hover { background:#f5cc61; }
.result-slider { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(230px,calc((100% - 34px)/3)); gap:17px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#e9af22 #eee9e4; padding:0 0 14px; }
.result-slide { scroll-snap-align:start; margin:0; min-width:0; border-radius:15px; overflow:hidden; box-shadow:0 6px 24px rgba(36,27,20,.09); background:#efefed; position:relative; }
.result-slide img { display:block; width:100%; height:clamp(260px,34vw,425px); object-fit:contain; background:#f6f3f0; }
.result-slide figcaption { background:#fff; font-size:.79rem; padding:11px 13px; color:#655e58; }
.review-strip { padding:38px 0; background:#f8f6f3; border-block:1px solid #e8e1d6; }
.review-strip-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:32px; }
.review-strip h2 { font-size:clamp(1.7rem,2.7vw,2.45rem); margin:8px 0 10px; }
.review-strip p { color:#665d56; }
.review-strip-image { overflow:hidden; background:white; border:1px solid #e6e2db; border-radius:12px; box-shadow:0 10px 25px rgba(0,0,0,.06); }
.review-strip-image img { display:block; width:100%; height:auto; }
.clinic-section { padding:68px 0; background:#272321; color:white; }
.clinic-section h2 { color:white; font-size:clamp(1.7rem,3vw,2.7rem); margin:13px 0; }
.clinic-section p { color:#f0e8e1; }
.clinic-section .eyebrow { color:#ffd269; }
.clinic-section .clinic-address a { font-size:1.1rem; font-weight:750; color:#fff; text-decoration-color:var(--gold); }
.clinic-section .text-link { color:#ffd269; }
.clinic-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:center; }
.clinic-map { aspect-ratio:4/3; border:5px solid rgba(255,255,255,.11); border-radius:17px; overflow:hidden; background:#f4f4f4; }
.clinic-map iframe { width:100%; height:100%; border:0; }
.world-record { background:#635c59; color:#fff; text-align:center; }
.world-record h2 { color:#fff; }
.world-record .eyebrow { color:var(--gold); }
.world-record p { color:#f3efeb; max-width:720px; margin:0 auto 23px; }
.surgeons .surgeon { min-height:190px; border-radius:15px; padding:30px; background:linear-gradient(135deg,#f7f5f2,#eee9e3); }
.surgeons .surgeon h3 { margin:12px 0; }
.faq-section { border-top:5px solid #e8b428; }
.faq-section summary { cursor:pointer; }
@media(max-width:920px){
  .treatment-hero-v2 .treatment-hero__grid { grid-template-columns:minmax(0,1fr) minmax(300px,.94fr); gap:20px; }
  .treatment-hero-v2 h1 { font-size:clamp(2.1rem,5vw,3.2rem); }
  .lead-form { padding:20px 16px; }
  .result-slider { grid-auto-columns:minmax(240px,calc((100% - 17px)/2)); }
  .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:690px){
  .site-header { height:74px; }
  .site-header .container { justify-content:center; }
  .site-header .brand img { width:137px; height:60px; }
  .home-video { min-height:515px; height:70svh; max-height:690px; }
  .home-video h1 { font-size:clamp(2.75rem,11vw,4.2rem); }
  .home-photo-statement { min-height:400px; }
  .home-photo-content { padding:70px 0 38px; }
  .home-photo-content p { line-height:1.55; }
  .treatment-hero-v2 .treatment-hero__grid { grid-template-columns:1fr; padding:35px 0 45px; gap:29px; }
  .treatment-hero-v2 h1 { font-size:clamp(2.55rem,9.4vw,3.75rem); }
  .hero-points { margin:16px 0; }
  .film-hero { margin-top:20px; }
  .result-section { padding:47px 0 55px; }
  .result-slider { grid-auto-columns:minmax(220px,85%); }
  .result-slide img { height:350px; }
  .review-strip-inner,.clinic-grid { grid-template-columns:1fr; }
  .clinic-section { padding:52px 0; }
  .clinic-map { aspect-ratio:1/1; }
  .video-grid { grid-template-columns:1fr; }
  .world-record { padding:55px 0; }
  .result-title { align-items:center; }
  .result-title h2 { font-size:1.7rem; }
  .slider-controls button { width:40px; height:40px; }
}
@media(prefers-reduced-motion: reduce){html,.result-slider{scroll-behavior:auto}.home-video-player{display:none}}
.surgeons .surgeon { display:flex; flex-direction:column; padding:0 0 22px; overflow:hidden; }
.surgeons .surgeon>img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 35%; margin-bottom:16px; }
.surgeons .surgeon>.eyebrow,.surgeons .surgeon>h3,.surgeons .surgeon>p,.surgeons .surgeon>.text-link { margin-left:22px; margin-right:22px; }
.surgeons .surgeon>h3 { line-height:1.25; }

/* Version 3: native local imagery, no text under result images, portrait-safe video frames and accessible lightbox. */
.video-showcase { display:flex; justify-content:center; align-items:center; width:100%; padding:clamp(10px,2.4vw,18px); border-radius:21px; background:radial-gradient(circle at 70% 30%,#85716a 0%,#3d3734 68%,#34302e 100%); margin:26px 0 4px; border:1px solid rgba(255,255,255,.16); }
.portrait-video-frame { width:min(100%,326px); aspect-ratio:9/16; border-radius:15px; overflow:hidden; border:1px solid rgba(255,255,255,.2); box-shadow:0 18px 44px rgba(0,0,0,.33); background:#3d3734; }
.portrait-video-frame .robotic-hero-video { margin:0!important; display:block; width:100%; max-width:none; height:100%; aspect-ratio:9/16; object-fit:cover; border:0; border-radius:0; background:#3d3734; }
.film { background:#625750; }
.film--portrait { width:min(100%,330px); aspect-ratio:9/16; margin-inline:auto; background:#51443d; }
.film--landscape { aspect-ratio:16/9; }
.video-showcase .film--portrait { margin:0 auto; }
.video-grid .film--portrait { width:min(100%,330px); }
.video-grid { align-items:start; }
.video-grid .film { box-shadow:0 8px 24px rgba(0,0,0,.15); }
.film-hero { border:none; }
.result-slider { grid-auto-columns:calc((100% - 40px) / 3); gap:20px; overflow-x:auto; padding:2px 1px 12px; }
.result-slide { border-radius:13px; align-self:start; border:1px solid #eeeae3; overflow:hidden; background:#f6f4f1; box-shadow:0 8px 20px rgba(36,27,20,.07); }
.result-open { all:unset; display:block; cursor:zoom-in; box-sizing:border-box; width:100%; background:#f3f0eb; position:relative; }
.result-open::after { content:'+'; position:absolute; top:12px; right:12px; background:rgba(30,26,22,.67); color:white; border-radius:50%; width:33px; height:33px; display:grid; place-items:center; font-size:21px; line-height:1; font-weight:400; box-shadow:0 2px 10px rgba(0,0,0,.18); opacity:.9; }
.result-open:hover::after { background:#eab326; color:#231e18; }
.result-open:focus-visible { outline:3px solid #eab326; outline-offset:-4px; }
.result-slide img { width:100%; height:auto; aspect-ratio:9/16; object-fit:cover; display:block; background:#eeeae6; transition:transform .3s ease; }
.result-open:hover img { transform:scale(1.017); }
.result-slider--pigmentation .result-slide img { aspect-ratio:16/9; }
.result-section .result-title { margin-bottom:20px; }
.result-section .result-title p,.result-slide figcaption { display:none; }
/* Lightbox uses the complete photograph with no cropping; dark overlay is only displayed on click. */
.este-lightbox { border:0; outline:0; padding:0; margin:auto; overflow:visible; background:transparent; color:white; width:min(94vw,1240px); max-width:none; max-height:none; }
.este-lightbox::backdrop { background:rgba(14,12,11,.94); backdrop-filter:blur(6px); }
.lightbox-inner { position:relative; width:100%; height:min(91dvh,920px); display:flex; align-items:center; justify-content:center; padding:35px clamp(36px,6vw,76px) 15px; }
.lightbox-image { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; border-radius:7px; box-shadow:0 14px 45px rgba(0,0,0,.4); }
.lightbox-action { position:absolute; border:1px solid rgba(255,255,255,.26); background:rgba(29,26,24,.80); color:white; width:46px; height:46px; padding:0; display:grid; place-items:center; border-radius:50%; font-size:32px; line-height:1; cursor:pointer; transition:background .2s; }
.lightbox-action:hover, .lightbox-action:focus-visible { background:#eab326; color:#231e18; }
.lightbox-close { right:7px; top:4px; font-size:30px; }
.lightbox-prev { left:0; top:50%; transform:translateY(-50%); }
.lightbox-next { right:0; top:50%; transform:translateY(-50%); }
.lightbox-counter { position:absolute; left:50%; transform:translateX(-50%); top:7px; font-size:.77rem; color:rgba(255,255,255,.85); letter-spacing:.04em; }
@media(max-width:920px) { .result-slider { grid-auto-columns:calc((100% - 20px) / 2); } }
@media(max-width:690px) { .result-slider { grid-auto-columns:83%; gap:12px; } .video-showcase { padding:12px; margin-top:20px; } .portrait-video-frame,.film--portrait { width:min(100%,330px); } .lightbox-inner { height:94dvh; padding:44px 32px 25px; } .lightbox-action { width:38px; height:38px; font-size:28px; } .lightbox-prev { left:0; } .lightbox-next { right:0; } .lightbox-close { right:0; top:0; } }
@media(prefers-reduced-motion:reduce) { .result-slide img { transition:none; } }
