/* Luxe finish v4: single source of truth, responsive, accessible */
:root{--luxe-navy:#203448;--luxe-cream:#faf8f4;--luxe-ink:#25364a;--luxe-muted:#586779;--luxe-line:#e9e4dd;--luxe-gold:#aa8f7d}
html{scroll-behavior:smooth}body{background:var(--luxe-cream)!important;color:var(--luxe-ink)!important;-webkit-font-smoothing:antialiased}
a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #b99b7e;outline-offset:3px}
header{background:var(--luxe-navy)!important}header nav a{color:#f8f5ef!important}header .brandmark img{filter:none!important}
#procedures .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;text-align:right!important}
#procedures .card{position:relative!important;display:flex!important;flex-direction:column!important;min-height:0!important;background:#fff!important;border:1px solid var(--luxe-line)!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 12px 34px rgba(32,52,72,.055)!important;transition:transform .25s,box-shadow .25s}
#procedures .card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(32,52,72,.11)!important}
#procedures .card:after{display:none!important}
#procedures .card .art{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:1.42/1!important;overflow:hidden!important;background:#eae5df!important}
#procedures .card .art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
#procedures .card .body{position:relative!important;inset:auto!important;display:flex!important;flex:1!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;padding:19px!important;background:#fff!important}
#procedures .card .body .tag{color:#997e6a!important;font-size:12px!important}
#procedures .card .body h3{font-size:clamp(17px,1.7vw,23px)!important;line-height:1.5!important;color:var(--luxe-ink)!important;margin:0!important}
#procedures .card .body p{color:var(--luxe-muted)!important;font-size:14px!important;line-height:1.8!important;display:block!important;overflow:visible!important;flex:1!important;margin:0 0 8px!important}
#procedures .card .procedure-link{display:block!important;text-align:center!important;align-self:stretch!important;background:#f1ede7!important;color:var(--luxe-ink)!important;border-radius:100px!important;padding:12px!important;font-weight:700!important;text-decoration:none!important;font-size:14px!important}
#procedures .filters button{border:1px solid #d9d4ce!important;background:#fff!important;color:var(--luxe-ink)!important;padding:11px 21px!important}
#procedures .filters button.active{background:var(--luxe-navy)!important;color:#fff!important;border-color:var(--luxe-navy)!important}
.gallery-section .photo-grid img,.gallery-section .premium-gallery-more img{object-fit:cover!important;object-position:center 20%!important}
/* Procedure detail pages */
body:has(main>.hero) main{max-width:1080px!important;margin:auto!important;padding:24px 20px 80px!important}
body:has(main>.hero) main>.hero{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;gap:32px!important;min-height:0!important;margin:18px 0 45px!important;padding:30px!important;background:var(--luxe-navy)!important;border-radius:26px!important;box-shadow:none!important}
body:has(main>.hero) main>.hero>img{grid-column:2!important;grid-row:1!important;width:100%!important;height:auto!important;max-height:390px!important;aspect-ratio:1.2/1!important;object-fit:cover!important;border-radius:19px!important}
body:has(main>.hero) main>.hero>div{grid-column:1!important;grid-row:1!important;text-align:right!important}
body:has(main>.hero) main>.hero h1{color:#fff!important;font-size:clamp(32px,3.4vw,49px)!important;line-height:1.4!important}
body:has(main>.hero) main>.hero p{color:#f5f2ee!important;opacity:1!important;font-size:17px!important;line-height:1.9!important}
body:has(main>.hero) .procedure-intro{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:20px!important}
body:has(main>.hero) .procedure-intro span{font-size:12px!important;line-height:1.6!important;padding:9px 12px!important;border-radius:99px!important}
body:has(main>.hero) .panel{background:#fff!important;border:1px solid var(--luxe-line)!important;border-radius:20px!important;padding:28px!important;box-shadow:0 7px 24px #20344808!important}
body:has(main>.hero) .panel p{color:#526174!important;line-height:2!important;opacity:1!important}
@media(max-width:760px){
header{padding:17px 12px!important}header nav{gap:6px!important}header nav a{font-size:12px!important}
#procedures .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#procedures .card .art{aspect-ratio:1.15/1!important}
#procedures .card .body{padding:13px!important;gap:6px!important}
#procedures .card .body h3{font-size:17px!important;line-height:1.45!important}
#procedures .card .body p{font-size:12px!important;line-height:1.65!important}
#procedures .card .procedure-link{font-size:12px!important;padding:11px 6px!important}
body:has(main>.hero) main{padding:14px 14px 60px!important}
body:has(main>.hero) main>.hero{display:flex!important;flex-direction:column!important;gap:17px!important;margin:14px 0 36px!important;padding:16px 16px 26px!important;border-radius:24px!important}
body:has(main>.hero) main>.hero>img{order:0!important;width:100%!important;max-height:none!important;height:auto!important;aspect-ratio:1.55/1!important;object-fit:cover!important;border-radius:17px!important}
body:has(main>.hero) main>.hero>div{order:1!important;width:100%!important;padding:0 5px!important;text-align:right!important}
body:has(main>.hero) main>.hero h1{font-size:clamp(30px,8vw,40px)!important;margin:12px 0!important}
body:has(main>.hero) main>.hero p{font-size:16px!important;line-height:1.85!important}
body:has(main>.hero) .panel{padding:22px 18px!important}
}
@media(max-width:380px){#procedures .grid{gap:9px!important}#procedures .card .body h3{font-size:15px!important}#procedures .card .body p{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
