/* Reference-led opening: same photograph, overlay, centred hero and navigation. */
.header{height:auto;position:fixed;inset:0 0 auto;border:0;background:transparent;color:#fff;transition:background .2s}
.header.scrolled,.header.menu-open{background:rgba(15,30,33,.96)}
.header-inner{width:100%;max-width:none;padding:14px clamp(20px,5vw,60px);min-height:68px;gap:24px}
.brand{font-size:1rem;font-weight:700;letter-spacing:.01em;color:#fff;text-decoration:none;line-height:1.5}
.menu-toggle{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px;border:0;background:transparent;min-width:44px;min-height:44px}
.menu-toggle span{width:24px;height:2.5px;border-radius:2px;background:white}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.header nav{position:absolute;top:100%;right:0;width:300px;background:#0f1e21;display:flex;flex-direction:column;gap:0;padding:16px 32px 24px;box-shadow:-4px 8px 24px rgba(0,0,0,.15)}
.header nav[hidden]{display:none}
.header nav a{display:block;min-height:48px;font-size:14px;font-weight:600;letter-spacing:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.15);padding:14px 0}
.header nav a:hover{color:#85d1cf}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:#0f1e21;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.7;background:#0f1e21}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,33,.4) 0%,rgba(15,30,33,.15) 50%,rgba(15,30,33,.45) 100%)}
.hero-content{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:clamp(80px,12vw,140px) clamp(20px,5vw,60px) clamp(100px,14vw,160px);text-align:center}
.hero-badge{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;background:rgba(15,30,33,.34);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:600;color:#fff;letter-spacing:.04em;margin-bottom:28px}
.hero-badge .stars{color:#f5b64f;letter-spacing:1px}
.hero h1{font-size:clamp(2.1rem,6vw,3.6rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:20px;letter-spacing:-.02em}
.hero h1 span{color:#85d1cf}
.hero-sub{font-size:clamp(1rem,2.5vw,1.2rem);color:rgba(255,255,255,.92);font-weight:500;line-height:1.6;margin:0 auto 36px;max-width:580px}
.hero .hero-primary{display:inline-block;background:#337c7b;border:0;color:#fff;font-size:1rem;font-weight:700;padding:18px 36px;border-radius:8px;letter-spacing:.02em;min-height:60px;line-height:1.5}
.hero .hero-primary:hover{background:#245f5e}
.trust-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}
.trust-pills>span{background:rgba(15,30,33,.35);border:1px solid rgba(255,255,255,.25);border-radius:100px;padding:7px 16px;font-size:13px;font-weight:600;line-height:1.6;color:#fff}
.quick-book{padding-block:48px 56px;background:#f5f8f7;border-bottom:1px solid var(--line)}
.quick-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}
.quick-heading h2{font-size:var(--text-lg);letter-spacing:-.02em}
.quick-heading .text-link{font-size:var(--text-xs)}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.quick-card{padding:28px;background:white;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}
.quick-featured{border:2px solid var(--teal);padding:27px;background:#edf5f3}
.quick-card .card-label{font-size:12px;line-height:1.6;margin-bottom:12px;letter-spacing:.08em}
.quick-card-top{display:flex;gap:8px;align-items:start;justify-content:space-between}
.quick-tag{display:none}
.quick-card>.quick-photo{width:100%;height:150px;object-fit:cover;flex-shrink:0;border-radius:4px;margin-bottom:20px}
.quick-card>.quick-dexa{object-position:50% 62%}
.quick-card>.quick-vo2{object-position:50% 37%}
.quick-card>.quick-rmr{object-position:50% 34%}
.quick-card h3{font-size:var(--text-lg);line-height:1.3}
.quick-description{font-size:var(--text-sm);line-height:1.65;margin-top:12px;margin-bottom:20px;min-height:48px}
.quick-price{display:flex;align-items:baseline;gap:12px;margin-top:auto;margin-bottom:20px}
.quick-price strong{font-size:28px;line-height:1.2;letter-spacing:-.03em}
.quick-price>span{font-size:12px;color:var(--muted)}
.quick-card .button{font-size:12px;justify-content:space-between;padding:14px 16px;min-height:50px;gap:8px}
.included.section{padding-top:64px}
section[id]{scroll-margin-top:88px}
.test-image.dexa-photo>img{object-position:50% 60%}
.test-image.rmr-photo>img{object-position:50% 43%}
.price-card>.service-photo{width:100%;height:168px;object-fit:cover;flex-shrink:0;border-radius:4px;margin-bottom:24px;grid-column:1/-1;grid-row:1}
.price-card>.service-dexa{object-position:50% 62%}
.price-card>.service-vo2{object-position:50% 37%}
.price-card>.service-rmr{object-position:50% 34%}
@media(min-width:651px) and (max-width:850px){.price-card:has(.service-photo){grid-template-rows:168px repeat(6,auto)}.price-card>.service-photo{margin-bottom:0}.price-card:has(.service-photo)>.card-label{grid-row:2;margin-top:24px}.price-card:has(.service-photo)>h3{grid-row:3}.price-card:has(.service-photo)>.package-subtitle{grid-row:4}.price-card:has(.service-photo)>.price{grid-row:5}.price-card:has(.service-photo)>.appointment{grid-row:6}.price-card:has(.service-photo)>.package-list{grid-row:2/7;margin-top:24px}.price-card:has(.service-photo)>.package-context,.price-card:has(.service-photo)>.button{grid-row:7}}
@media(max-width:650px){.test-image.dexa-photo>img{object-position:50% 64%}.test-image.rmr-photo>img{object-position:50% 35%}.price-card>.service-photo{height:170px;margin-bottom:24px}}
@media(min-width:651px) and (max-width:1000px){.quick-card{padding:20px}.quick-featured{padding:19px}.quick-card h3{font-size:18px}.quick-card .button{padding:12px;font-size:12px;min-height:62px}.quick-grid{gap:16px}.quick-description{min-height:96px}}
@media(max-width:650px){.header{height:auto;position:fixed}.header-inner{padding:12px 20px;min-height:68px}.brand{font-size:14px}.hero{min-height:100svh}.hero-content{padding:112px 20px 116px;max-width:100%}.hero h1{font-size:clamp(2.1rem,6vw,3.6rem)}.hero-sub{font-size:1rem;max-width:560px;margin-bottom:28px;line-height:1.65}.hero .hero-primary{display:block;width:100%;font-size:14px;padding:17px 16px;min-height:56px}.hero-badge{font-size:12px;padding:8px 12px;letter-spacing:0;margin-bottom:24px}.trust-pills{gap:8px;margin-top:24px}.trust-pills>span{font-size:12px;padding:6px 10px}.quick-book{padding-block:32px 40px}.quick-heading{display:block;margin-bottom:20px}.quick-heading .text-link{margin-top:8px}.quick-grid{grid-template-columns:1fr;gap:16px}.quick-card,.quick-featured{padding:20px}.quick-card h3{font-size:20px}.quick-card .card-label{margin-bottom:8px}.quick-description{min-height:0;margin-top:8px;margin-bottom:16px}.quick-price{margin-bottom:16px}.quick-card .button{font-size:14px;padding:14px 16px}.included.section{padding-top:48px}section[id]{scroll-margin-top:84px}}
