/* Highfield: cinematic welcome, verifiable expertise, a clear next step. */
.home-site { --home-dark:#27231f; --home-gold:#c9aa86; --home-paper:#faf7f2; --home-line:#ded4c9; background:var(--home-paper); }
.home-site .container { width:min(1280px,calc(100% - 88px)); }
.home-site .site-header { background:#faf7f2f5; border-color:#ddd1c4; }
.home-site .topbar { background:#27231f; color:#f2e7da; min-height:32px; }
.home-site .nav-wrap { min-height:94px; }
.home-site .main-nav { gap:22px; }
.home-site .main-nav>a:not(.nav-book),.home-site .nav-disclosure>summary { font-size:.875rem; letter-spacing:.055em; }
.home-site .nav-book { min-width:190px; font-size:.875rem; text-transform:none; letter-spacing:.01em; padding:17px 21px; }
.home-site .button { min-height:58px; font-size:.875rem; text-transform:none; letter-spacing:.02em; padding:18px 25px; gap:28px; font-weight:500; }
.home-site .button:hover { transform:translateY(-2px); }
.home-site .button-dark { background:var(--home-dark); }
.home-site .button-dark:hover { background:#71583f; }
.home-site .button-cream { background:#f9f2e8; }
.home-site .eyebrow { font-size:.8125rem; line-height:1.6; letter-spacing:.14em; color:#805d3e; margin-bottom:22px; }
.home-site h2 { font-size:clamp(46px,5.1vw,72px); line-height:1.08; letter-spacing:-.025em; margin-bottom:25px; }
.home-site h2 em,.home-site h3 em { font-style:normal; color:#99724f; }
.home-site p { line-height:1.75; }
.home-section { padding:110px 0; }
.home-lead { font-size:1.125rem; line-height:1.8; color:#655d54; }
.home-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:10px 0; border-bottom:1px solid #b4a18d; font-size:.875rem; font-weight:500; text-decoration:none; line-height:1.5; }
.home-text-link:hover { color:#956a45; border-color:currentColor; }
.home-site a:focus-visible,.home-site button:focus-visible,.home-site summary:focus-visible { outline:2px solid #b5895b; outline-offset:5px; }
.home-hero { position:relative; isolation:isolate; overflow:hidden; color:#fffaf4; background:#27231f; }
.home-hero>.hero-video { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; }
.home-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#171713d9 0%,#18181494 42%,#201f1533 100%),linear-gradient(0deg,#16161090 0%,transparent 40%); }
.home-hero-stage { min-height:min(770px,calc(100svh - 126px)); padding:75px 0 66px; display:grid; grid-template-columns:minmax(0,1fr) 250px; align-items:center; gap:55px; }
.home-hero-copy { max-width:780px; }
.home-hero .eyebrow { color:#f0d5b3; font-size:.8125rem; letter-spacing:.16em; margin-bottom:28px; }
.home-hero h1 { font-size:clamp(76px,8.6vw,128px); line-height:.96; letter-spacing:-.035em; margin:0 0 32px; }
.home-hero h1 em { color:#e7caa8; font-style:normal; }
.home-hero .home-hero-lead { max-width:490px; font-size:1.125rem; line-height:1.8; color:#f1e8dd; margin-bottom:30px; }
.home-hero-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.home-hero .home-text-link { color:#fff7ec; border-color:#d0bba3a6; }
.home-hero .home-reassurance { font-size:.8125rem; color:#e0d2c1; margin:22px 0 0; line-height:1.6; }
.home-hero .hero-rating-card { position:static; transform:none; align-self:end; width:250px; margin:0; padding:25px 26px; background:#faf5ecef; color:#27231f; border:1px solid #fff7; box-shadow:0 20px 60px #0002; }
.home-hero .hero-rating-card:hover { background:#fffaf3; transform:translateY(-3px); }
.home-hero .rating-brand { font-size:.875rem; }
.home-hero .rating-score>span { font-size:.8125rem; }
.home-hero .rating-score strong { font-size:2.9rem; }
.home-hero .rating-link { font-size:.8125rem; }
.home-hero-caption { display:flex; align-items:center; justify-content:space-between; gap:25px; border-top:1px solid #efdfce40; padding:18px 0 20px; font-size:.75rem; color:#eadccb; letter-spacing:.12em; }
.home-hero-caption>a { letter-spacing:0; text-decoration:none; font-size:.8125rem; }
.home-hero-caption>a>span { margin-left:18px; }
.home-proof-band { border-bottom:1px solid var(--home-line); background:#f2e9de; }
.home-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:30px 0; }
.home-proof-grid>div,.home-proof-grid>a { padding:0 26px; border-right:1px solid #d4c4b2; display:flex; flex-direction:column; gap:5px; text-decoration:none; }
.home-proof-grid>*:first-child { padding-left:0; }
.home-proof-grid>*:last-child { border:0; padding-right:0; }
.home-proof-grid strong { font:1.7rem/1.25 var(--serif); color:#342c23; }
.home-proof-grid span { font-size:.8125rem; line-height:1.5; color:#6c5c4e; }
.home-proof-grid>a:hover strong { color:#956a45; }
.home-difference-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1fr); gap:clamp(55px,7.5vw,108px); align-items:center; }
.home-address-image { margin:0; position:relative; padding:0 0 42px 22px; }
.home-address-image>img { width:100%; aspect-ratio:.85; object-fit:cover; object-position:center; }
.home-address-image figcaption { position:absolute; left:0; bottom:0; display:flex; align-items:center; gap:22px; background:#f0e6d9; padding:25px 32px; min-width:290px; }
.home-address-image figcaption>span { font:4.4rem/.9 var(--serif); color:#9b7654; }
.home-address-image figcaption>div { font-size:.875rem; letter-spacing:.13em; color:#42372d; }
.home-address-image small { display:block; font-size:.8125rem; letter-spacing:0; color:#736556; margin-top:7px; }
.home-difference-copy h2 { font-size:clamp(42px,4.6vw,66px); }
.home-principles { margin:30px 0 19px; }
.home-principles>div { display:flex; gap:22px; padding:23px 0; border-top:1px solid var(--home-line); }
.home-principles>div>span { font-size:.8125rem; letter-spacing:.05em; color:#9b7654; padding-top:7px; flex:none; }
.home-principles h3 { font-size:1.65rem; line-height:1.25; margin-bottom:8px; }
.home-principles p { font-size:1rem; line-height:1.7; color:#75695c; margin:0; }
.home-collection { background:#eee5da; }
.home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:48px; }
.home-section-heading h2 { margin-bottom:0; }
.home-section-heading>p { max-width:360px; color:#6d6053; font-size:1rem; margin:0 0 3px; }
.home-section-heading>.home-text-link { flex:none; }
.home-treatment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-treatment-card { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-height:485px; padding:27px; color:#2d241d; text-decoration:none; background:#e6d5c0; border:1px solid #d8c9b6; transition:transform .25s,border-color .25s; }
.home-treatment-card>img { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:55% 30%; transition:transform .6s; }
.home-treatment-card:after { content:''; position:absolute; z-index:-2; inset:0; background:linear-gradient(0deg,#f9f4ec 0%,#f8f1e6f7 32%,#f6ecdfab 58%,#ecdbc41a 92%); }
.home-treatment-card:hover { transform:translateY(-5px); border-color:#a98560; }
.home-treatment-card:hover>img { transform:scale(1.035); }
.home-treatment-number { font-size:.8125rem; letter-spacing:.12em; align-self:flex-start; padding-bottom:7px; border-bottom:1px solid #806c5166; }
.home-treatment-copy { margin-top:125px; }
.home-treatment-copy .eyebrow { font-size:.75rem; letter-spacing:.11em; color:#785533; margin-bottom:12px; }
.home-treatment-copy h3 { font-size:clamp(31px,2.9vw,42px); line-height:1.06; margin:0 0 16px; }
.home-treatment-copy>p:not(.eyebrow) { font-size:1rem; line-height:1.65; color:#625346; min-height:3.3em; margin:0; }
.home-card-link { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:23px; padding-top:17px; border-top:1px solid #b9a58c70; font-size:.875rem; font-weight:500; }
.home-card-link>span { font-size:1.25rem; }
.home-collection-footer { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:28px; }
.home-collection-footer>p { font-size:.875rem; color:#776554; margin:0; max-width:630px; }
.home-collection-footer>a { flex:none; }
.home-guidance { display:flex; align-items:center; justify-content:space-between; gap:45px; background:#faf6ee; padding:40px 45px; margin-top:62px; border-left:3px solid #a4815e; }
.home-guidance .eyebrow { margin-bottom:10px; }
.home-guidance h3 { font-size:2rem; line-height:1.2; margin-bottom:12px; }
.home-guidance p:not(.eyebrow) { color:#766655; font-size:1rem; margin:0; max-width:650px; }
.home-guidance .button { flex:none; }
.home-technology { background:#292621; color:#f9f3e9; }
.home-technology .eyebrow { color:#cbae8a; }
.home-technology h2 em { color:#d3af86; }
.home-analysis-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:70px; align-items:center; }
.home-analysis-grid h2 { font-size:clamp(43px,4.7vw,68px); }
.home-analysis-grid .home-lead { color:#e0d6ca; }
.home-analysis-grid p:not(.eyebrow) { color:#c8bdaf; font-size:1.0625rem; margin-bottom:25px; }
.home-technology .home-text-link { border-color:#ac927671; color:#f4e6d1; }
.home-device-image { margin:0; background:#fff; padding:25px 25px 0; }
.home-device-image>img { width:100%; min-height:270px; object-fit:contain; }
.home-device-image figcaption { color:#6f6053; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:18px 0; border-top:1px solid #e7ded2; font-size:.8125rem; }
.home-device-image figcaption>span:first-child { letter-spacing:.13em; font-weight:500; color:#332b23; }
.home-analysis-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:56px; padding:30px 0 50px; border-top:1px solid #7a6e5e70; border-bottom:1px solid #7a6e5e70; }
.home-analysis-steps span { color:#ccab82; font-size:.8125rem; letter-spacing:.1em; }
.home-analysis-steps p { color:#d1c7ba; font-size:1rem; margin:12px 0 0; max-width:280px; }
.home-technology-heading { display:flex; align-items:baseline; justify-content:space-between; gap:35px; padding:46px 0 26px; }
.home-technology-heading h3 { font-size:2rem; line-height:1.2; margin:0; }
.home-technology-heading>p { font-size:.875rem; color:#bcb0a0; margin:0; }
.home-technology-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid #6c60534f; border-top:1px solid #6c60534f; }
.home-technology-grid>a { position:relative; display:flex; flex-direction:column; gap:7px; border-right:1px solid #6c60534f; border-bottom:1px solid #6c60534f; padding:25px 48px 25px 24px; text-decoration:none; transition:background .2s; }
.home-technology-grid>a:hover { background:#383127; }
.home-technology-grid strong { font-size:1.125rem; font-weight:500; color:#e7d4bb; }
.home-technology-grid span { font-size:.875rem; color:#c9beaf; }
.home-technology-grid .home-tech-arrow { position:absolute; right:22px; top:30px; font-size:1.125rem; color:#d3ae85; }
.home-product-note { display:grid; grid-template-columns:1fr 2fr; gap:35px; padding-top:30px; }
.home-product-note p { font-size:1rem; color:#e0ccb3; margin:0; }
.home-product-note>span { font-size:.875rem; color:#c9beaf; line-height:1.8; }
.home-product-note a { text-underline-offset:4px; }
.home-team { background:#faf7f2; }
.home-doctor-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); background:#f0e7dc; }
.home-doctor-portrait { position:relative; background:#fff; min-height:580px; }
.home-doctor-portrait>img { height:100%; width:100%; object-fit:cover; object-position:center top; }
.home-doctor-portrait>a { position:absolute; left:24px; bottom:24px; display:flex; flex-direction:column; gap:5px; background:#f9f3eaf0; border:1px solid #c1ad9470; padding:18px 25px; font-size:.75rem; letter-spacing:.13em; text-decoration:none; }
.home-doctor-portrait strong { font-size:1.125rem; color:#6d4e33; letter-spacing:.04em; font-weight:500; }
.home-doctor-copy { padding:55px 60px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; }
.home-doctor-copy h3 { font-size:clamp(50px,5vw,74px); line-height:1.04; margin-bottom:28px; }
.home-doctor-copy>p:not(.eyebrow) { font-size:1rem; color:#756553; margin-bottom:20px; }
.home-doctor-facts { display:grid; grid-template-columns:1fr 1.5fr; gap:32px; width:100%; border-top:1px solid #cfbeaa; padding:24px 0 29px; margin-top:8px; }
.home-doctor-facts>div { display:flex; flex-direction:column; gap:5px; }
.home-doctor-facts strong { font:2.8rem/1.15 var(--serif); color:#795734; }
.home-doctor-facts span { font-size:.8125rem; color:#756553; }
.home-doctor-copy>.home-text-link { margin-top:15px; }
.home-team-intro { display:flex; align-items:baseline; justify-content:space-between; gap:35px; padding:50px 0 28px; }
.home-team-intro .eyebrow { margin:0; }
.home-team-intro>p:last-child { font-size:.9375rem; color:#796a59; margin:0; max-width:540px; }
.home-team .team-grid { gap:32px; }
.home-team .team-card>img { width:100%; aspect-ratio:1.2; object-fit:contain; object-position:center; background:#fff; }
.home-team .team-card h3 { font-size:2rem; }
.home-team .team-card .eyebrow { margin:22px 0 10px; font-size:.75rem; }
.home-team .team-card>p:not(.eyebrow) { font-size:1rem; line-height:1.75; }
.home-team .team-credentials,.home-team .team-profile { font-size:.875rem; }
.home-site .reviews { background:#eae0d3; padding:100px 0; }
.home-site .reviews .section-head { gap:50px; margin-bottom:40px; }
.home-site .reviews .section-head h2 { font-size:clamp(46px,5.1vw,72px); }
.home-site .google-rating-pill { background:#f6efe4; border-color:#cdbcaa; }
.home-site .review-track .review-card { background:#fbf7ef; border-color:#d3c3ae; min-height:340px; }
.home-site .review-track blockquote { font-size:1.7rem; line-height:1.45; }
.home-site .review-person small { font-size:.8125rem; }
.home-site .reviews-foot>p { font-size:.8125rem; }
.home-visit-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); background:#ede3d5; }
.home-interior { position:relative; margin:0; min-height:435px; }
.home-interior>img { width:100%; height:100%; object-fit:cover; }
.home-interior figcaption { position:absolute; bottom:0; left:0; padding:14px 23px; background:#2c2923c9; color:#fff3e3; font-size:.8125rem; }
.home-visit-details { padding:42px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; }
.home-address-number { font:5.5rem/1 var(--serif); color:#aa8761; margin-bottom:10px; }
.home-visit-details h3 { font-size:2.5rem; line-height:1.1; margin-bottom:14px; }
.home-visit-details p { font-size:1rem; color:#6a5847; margin-bottom:20px; }
.home-visit-details .home-visit-note { font-size:.9375rem; }
.home-visit-details>.home-text-link { margin-top:12px; }
.home-map { position:relative; margin-top:22px; background:#e9e1d6; border:1px solid #ded1c2; }
.home-map iframe { display:block; width:100%; height:320px; border:0; filter:none; }
.home-map>a { display:inline-flex; align-items:center; gap:30px; position:absolute; bottom:20px; left:22px; padding:13px 18px; color:#3f352a; background:#fffaf2; border:1px solid #ddd0bf; font-size:.875rem; text-decoration:none; box-shadow:0 8px 25px #0001; }
.home-site .faq-section { padding:95px 0; background:#f0e8de; }
.home-site .faq-grid { grid-template-columns:.85fr 1.15fr; gap:80px; }
.home-site .faq-grid h2 { font-size:clamp(43px,4.5vw,65px); }
.home-site .faq-item summary { font-size:1rem; gap:24px; line-height:1.65; }
.home-site .faq-item p { font-size:1rem; }
.home-callback { background:#302a26; color:#f6efe5; }
.home-callback-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(45px,8vw,115px); align-items:center; }
.home-callback .eyebrow { color:#d2af8b; }
.home-callback h2 em { color:#d3af8a; }
.home-callback .home-lead { color:#d3c4b5; max-width:520px; }
.home-callback-phone { display:inline-block; font:clamp(32px,3.5vw,45px)/1.3 var(--serif); color:#f6e8d7; text-decoration:none; margin-top:14px; }
.home-callback-phone:hover { color:#d7af84; }
.home-callback-small { color:#bfae9c; font-size:.875rem; margin-top:10px; }
.home-contact-lines { display:grid; gap:9px; border-top:1px solid #78695863; padding-top:23px; margin-top:25px; }
.home-contact-lines>a { font-size:.875rem; color:#d9c8b5; text-decoration:none; overflow-wrap:anywhere; }
.home-site .home-callback-form { padding:38px; background:#fffaf3; gap:22px; border:1px solid #e2d8c9; box-shadow:none; }
.home-form-heading h3 { font-size:2.3rem; line-height:1.15; color:#352b21; margin:0 0 10px; }
.home-form-heading p { color:#81705e; font-size:.9375rem; margin:0; }
.home-site .home-callback-form label { font-size:.875rem; }
.home-site .home-callback-form input:not([type=checkbox]),.home-site .home-callback-form select { background:#fffdf9; border-color:#d4c7b7; min-width:0; width:100%; }
.home-site .home-callback-form .form-two { grid-template-columns:1fr 1fr; gap:20px; }
.home-site .home-callback-form .form-note { font-size:.8125rem!important; }
.home-site .home-callback-form .checkbox { font-size:.875rem; }
.home-site .form-status:empty { display:none; }
.home-site .footer { background:#211e1b; padding:0 0 25px; }
.home-site .footer a { text-underline-offset:4px; }
.home-site .footer-grid { padding-top:70px; padding-bottom:65px; }
.home-booking-dialog { width:min(570px,calc(100% - 36px)); max-height:calc(100svh - 48px); overflow:auto; border:1px solid #c9b7a0; padding:50px 42px 38px; background:#fbf7f0; color:#30271e; box-shadow:0 35px 100px #0005; }
.home-booking-dialog::backdrop { background:#171512b8; backdrop-filter:blur(5px); }
.home-site .home-booking-dialog h2 { font-size:3.3rem; margin-bottom:20px; }
.home-booking-dialog>p:not(.eyebrow) { font-size:1rem; color:#756553; }
.home-dialog-close { display:flex; align-items:center; gap:9px; position:absolute; top:10px; right:12px; min-height:36px; padding:4px 10px; border:0; background:transparent; color:#766452; cursor:pointer; font-size:.875rem; }
.home-dialog-close>span { font-size:1.5rem; }
.home-booking-dialog .eyebrow { margin-top:10px; }
.home-booking-call { display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid #cdbca7; padding:20px 23px; text-decoration:none; color:#6b5137; margin:27px 0 13px; background:#f0e5d6; }
.home-booking-call>span:first-child { font-size:.875rem; display:flex; flex-direction:column; gap:5px; }
.home-booking-call strong { color:#30271e; font:2rem/1.3 var(--serif); }
.home-booking-call:hover { background:#e9d8c3; }
.home-booking-dialog>.button { display:flex; width:100%; }
.home-site .home-booking-note { font-size:.8125rem!important; margin:19px 0 0; }
.home-booking-open { overflow:hidden; }
.home-booking-dock { display:none; }
.home-booking-dock[hidden] { display:none!important; }
@media(min-width:1101px) and (max-width:1260px) {
  .home-site .main-nav { gap:16px; }
  .home-site .main-nav>a:not(.nav-book),.home-site .nav-disclosure>summary { letter-spacing:0; font-size:.8125rem; }
  .home-site .nav-book { min-width:164px; padding:16px; }
  .home-site .brand-words { font-size:1rem; }
}
@media(max-width:1100px) {
  .home-site .container { width:calc(100% - 48px); }
  .home-site .nav-wrap { min-height:82px; }
  .home-site .main-nav { gap:0; }
  .home-site .main-nav>a:not(.nav-book),.home-site .nav-disclosure>summary { font-size:1rem; }
  .home-hero-stage { grid-template-columns:minmax(0,1fr) 225px; gap:25px; min-height:700px; }
  .home-hero h1 { font-size:clamp(70px,8.7vw,98px); }
  .home-hero .hero-rating-card { width:225px; padding:22px; }
  .home-hero-actions { gap:23px; }
  .home-proof-grid>div,.home-proof-grid>a { padding:0 18px; }
  .home-proof-grid strong { font-size:1.5rem; }
  .home-difference-grid { gap:45px; }
  .home-address-image { padding-left:0; }
  .home-address-image figcaption { left:-10px; min-width:260px; padding:22px; }
  .home-treatment-grid { gap:17px; }
  .home-treatment-card { padding:24px; min-height:490px; }
  .home-treatment-copy h3 { font-size:2.25rem; }
  .home-guidance { padding:32px; gap:30px; }
  .home-analysis-grid { gap:40px; }
  .home-doctor-copy { padding:42px; }
  .home-doctor-portrait { min-height:560px; }
  .home-team .team-grid { gap:23px; }
  .home-team .team-card h3 { font-size:1.8rem; }
  .home-visit-details { padding:32px; }
  .home-site .faq-grid { gap:45px; }
  .home-callback-grid { gap:40px; }
  .home-site .home-callback-form { padding:30px; }
  .home-site .home-callback-form .form-two { grid-template-columns:1fr; }
}
@media(max-width:800px) {
  .home-section { padding:85px 0; }
  .home-site h2 { font-size:clamp(44px,7vw,60px); }
  .home-hero-stage { grid-template-columns:1fr; gap:30px; padding:64px 0 35px; min-height:0; }
  .home-hero-copy { max-width:650px; }
  .home-hero h1 { font-size:clamp(66px,11vw,96px); }
  .home-hero .hero-rating-card { width:auto; max-width:500px; display:grid; grid-template-columns:1fr auto; column-gap:30px; padding:18px 23px; }
  .home-hero .rating-brand { grid-column:1; grid-row:1; }
  .home-hero .rating-stars { grid-column:1; grid-row:2; margin:8px 0 0; }
  .home-hero .rating-score { grid-column:2; grid-row:1/3; align-items:center; gap:12px; }
  .home-hero .rating-score strong { font-size:2.8rem; }
  .home-hero .rating-score>span { max-width:55px; line-height:1.5; }
  .home-hero .rating-link { grid-column:1/-1; margin-top:9px; font-size:.75rem; }
  .home-hero-caption>span { display:none; }
  .home-hero-caption { justify-content:flex-start; }
  .home-proof-grid { grid-template-columns:1fr 1fr; row-gap:24px; padding:27px 0; }
  .home-proof-grid>div,.home-proof-grid>a { padding:0 20px; }
  .home-proof-grid>*:nth-child(odd) { padding-left:0; }
  .home-proof-grid>*:nth-child(even) { border-right:0; padding-right:0; }
  .home-proof-grid strong { font-size:1.6rem; }
  .home-difference-grid { grid-template-columns:1fr; gap:40px; }
  .home-address-image { order:2; max-width:640px; width:100%; padding:0 0 30px 18px; }
  .home-address-image>img { aspect-ratio:1.65; object-position:50% 45%; }
  .home-address-image figcaption { left:0; }
  .home-difference-copy { max-width:650px; }
  .home-difference-copy h2 { font-size:clamp(44px,7vw,60px); }
  .home-principles { margin-top:27px; }
  .home-section-heading { align-items:flex-start; flex-direction:column; gap:23px; margin-bottom:34px; }
  .home-section-heading>p { max-width:540px; }
  .home-treatment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-treatment-card { min-height:480px; }
  .home-treatment-copy h3 { font-size:2.2rem; }
  .home-collection-footer { align-items:flex-start; flex-direction:column; gap:12px; }
  .home-guidance { align-items:flex-start; flex-direction:column; gap:23px; margin-top:38px; }
  .home-analysis-grid { grid-template-columns:1fr; gap:35px; }
  .home-device-image { max-width:620px; width:100%; }
  .home-device-image>img { max-height:360px; }
  .home-analysis-steps { gap:25px; margin-top:40px; }
  .home-technology-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .home-technology-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-product-note { grid-template-columns:1fr; gap:10px; }
  .home-doctor-grid { grid-template-columns:1fr; }
  .home-doctor-portrait { min-height:0; height:520px; }
  .home-doctor-portrait>img { object-fit:contain; }
  .home-doctor-copy { padding:40px; }
  .home-doctor-copy h3 { font-size:4rem; }
  .home-team-intro { align-items:flex-start; flex-direction:column; gap:12px; padding-top:40px; }
  .home-team .team-grid { grid-template-columns:1fr; gap:30px; }
  .home-team .team-card { display:grid; grid-template-columns:150px minmax(0,1fr); column-gap:28px; align-items:start; }
  .home-team .team-card>img { grid-column:1; grid-row:1/6; aspect-ratio:1; }
  .home-team .team-card>.eyebrow { margin:0 0 8px; }
  .home-team .team-card>h3 { font-size:2rem; margin-bottom:15px; }
  .home-team .team-card>p,.home-team .team-card>h3,.home-team .team-card>.team-credentials,.home-team .team-card>.team-profile { grid-column:2; }
  .home-team .team-profile { justify-self:start; }
  .home-visit-grid { grid-template-columns:1fr; }
  .home-interior { min-height:0; }
  .home-interior>img { aspect-ratio:1.6; }
  .home-visit-details { padding:38px; }
  .home-address-number { font-size:4.5rem; }
  .home-site .faq-grid { grid-template-columns:1fr; gap:25px; }
  .home-callback-grid { grid-template-columns:1fr; gap:37px; }
  .home-site .home-callback-form { padding:35px; }
  .home-site .home-callback-form .form-two { grid-template-columns:1fr 1fr; }
  .home-booking-dock { display:grid; grid-template-columns:1fr 1.55fr; position:fixed; z-index:45; bottom:0; left:0; width:100%; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#faf6eff7; border-top:1px solid #d0bda6; box-shadow:0 -6px 30px #211a1015; gap:10px; backdrop-filter:blur(15px); }
  .home-booking-dock>a { display:flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:12px 9px; border:1px solid #9a7956; font-size:.875rem; text-decoration:none; color:#665039; line-height:1.4; }
  .home-booking-dock>a:last-child { background:#30291f; color:#f9ecd9; border-color:#30291f; }
  .home-site .footer { padding-bottom:80px; }
}
@media(max-width:500px) {
  .home-site .container { width:calc(100% - 36px); }
  .home-site .nav-wrap { min-height:76px; }
  .home-site .topbar { font-size:.75rem; }
  .home-site .button { min-height:56px; padding:18px 22px; }
  .home-section { padding:70px 0; }
  .home-site h2 { font-size:clamp(40px,11vw,54px); }
  .home-hero-stage { padding-top:48px; }
  .home-hero .eyebrow { font-size:.75rem; letter-spacing:.09em; margin-bottom:25px; max-width:270px; }
  .home-hero h1 { font-size:clamp(53px,13.5vw,69px); line-height:1.02; margin-bottom:26px; }
  .home-hero .home-hero-lead { font-size:1rem; line-height:1.8; }
  .home-hero-actions { gap:14px; align-items:flex-start; flex-direction:column; }
  .home-hero-actions .button { width:100%; }
  .home-hero .home-reassurance { margin-top:18px; max-width:310px; }
  .home-hero .hero-rating-card { padding:17px 18px; gap:0 18px; }
  .home-hero .rating-brand { font-size:.8125rem; gap:8px; }
  .home-hero .rating-stars { font-size:.875rem; }
  .home-hero .rating-score { gap:9px; }
  .home-hero .rating-score strong { font-size:2.4rem; }
  .home-hero .rating-score>span { font-size:.75rem; }
  .home-hero-caption { padding:15px 0; }
  .home-proof-grid { gap:21px 0; }
  .home-proof-grid>div,.home-proof-grid>a { padding-left:17px; padding-right:17px; }
  .home-proof-grid strong { font-size:1.35rem; }
  .home-proof-grid span { font-size:.75rem; }
  .home-lead { font-size:1rem; }
  .home-difference-copy h2 { font-size:clamp(39px,10.5vw,52px); }
  .home-principles>div { gap:17px; padding:22px 0; }
  .home-principles h3 { font-size:1.55rem; }
  .home-address-image>img { aspect-ratio:1.12; }
  .home-address-image figcaption { min-width:230px; padding:20px 24px; gap:18px; }
  .home-address-image figcaption>span { font-size:3.7rem; }
  .home-address-image figcaption>div { font-size:.75rem; }
  .home-treatment-grid { grid-template-columns:1fr; gap:20px; }
  .home-treatment-card { min-height:455px; padding:27px; }
  .home-treatment-copy { margin-top:125px; }
  .home-treatment-copy h3 { font-size:2.5rem; }
  .home-treatment-copy>p:not(.eyebrow) { min-height:0; }
  .home-guidance { padding:28px 25px; }
  .home-guidance h3 { font-size:1.9rem; }
  .home-analysis-grid h2 { font-size:clamp(40px,10.6vw,52px); }
  .home-analysis-grid p:not(.eyebrow) { font-size:1rem; }
  .home-device-image { padding:15px 15px 0; }
  .home-device-image>img { min-height:220px; }
  .home-device-image figcaption { font-size:.75rem; gap:6px; }
  .home-analysis-steps { grid-template-columns:1fr; gap:24px; padding-bottom:32px; }
  .home-analysis-steps p { max-width:none; margin-top:7px; }
  .home-technology-heading h3 { font-size:1.85rem; }
  .home-technology-grid>a { padding:22px 30px 22px 15px; }
  .home-technology-grid strong { font-size:1rem; }
  .home-technology-grid span { font-size:.8125rem; }
  .home-technology-grid .home-tech-arrow { right:12px; top:24px; }
  .home-doctor-portrait { height:380px; }
  .home-doctor-portrait>a { left:18px; bottom:18px; padding:13px 18px; }
  .home-doctor-copy { padding:32px 25px; }
  .home-doctor-copy h3 { font-size:3.4rem; }
  .home-doctor-copy .eyebrow { font-size:.75rem; }
  .home-doctor-facts { gap:18px; }
  .home-doctor-facts strong { font-size:2.4rem; }
  .home-doctor-facts span { font-size:.75rem; }
  .home-team .team-card { grid-template-columns:1fr; }
  .home-team .team-card>img { grid-column:1; grid-row:auto; aspect-ratio:1.2; margin-bottom:22px; }
  .home-team .team-card>p,.home-team .team-card>h3,.home-team .team-card>.team-credentials,.home-team .team-card>.team-profile { grid-column:1; }
  .home-team .team-card>h3 { font-size:2.1rem; }
  .home-site .reviews,.home-site .faq-section { padding:70px 0; }
  .home-site .reviews .section-head h2 { font-size:clamp(42px,11vw,54px); }
  .home-site .review-track .review-card { min-height:320px; }
  .home-site .google-rating-pill { margin-top:25px; }
  .home-site .faq-grid h2 { font-size:clamp(40px,10.5vw,52px); }
  .home-visit-details { padding:30px; }
  .home-visit-details h3 { font-size:2.3rem; }
  .home-map iframe { height:300px; }
  .home-map>a { left:15px; bottom:15px; padding:11px 15px; }
  .home-interior>img { aspect-ratio:1.15; }
  .home-site .home-callback-form { padding:28px 23px; }
  .home-site .home-callback-form .form-two { grid-template-columns:1fr; }
  .home-form-heading h3 { font-size:2rem; }
  .home-callback-phone { font-size:2rem; }
  .home-booking-dialog { padding:45px 25px 29px; }
  .home-site .home-booking-dialog h2 { font-size:2.7rem; }
  .home-booking-call { padding:18px; }
  .home-booking-call strong { font-size:1.7rem; }
}
@media(prefers-reduced-motion:reduce) {
  .home-treatment-card,.home-treatment-card>img,.home-hero .hero-rating-card,.home-site .button { transition:none; }
  .home-treatment-card:hover,.home-treatment-card:hover>img,.home-site .button:hover,.home-hero .hero-rating-card:hover { transform:none; }
}
.home-device-image.home-device-photo { padding:0; background:#f0ebe4; }
.home-site .home-device-photo>img { display:block; aspect-ratio:4/3; min-height:0; object-fit:cover; }
.home-site .home-device-photo figcaption { padding:20px 24px; }

/* Patient photographs, compact team profiles and the clinic gallery. */
.home-hero-phone { display:inline-flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:25px; color:#fff7ec; text-decoration:none; }
.home-hero-phone>span:first-child { color:#dfcbb4; font-size:.8125rem; }
.home-hero-phone strong { font-size:1.1rem; font-weight:500; letter-spacing:.025em; }
.home-hero-phone:hover strong { text-decoration:underline; text-underline-offset:5px; }
.home-site .home-reassurance { margin-top:12px; }
.home-site .home-proof-grid strong { font-size:clamp(20px,2.05vw,28px); line-height:1.2; }
.home-site .home-treatment-card { display:flex; flex-direction:column; justify-content:flex-start; padding:0; min-height:0; background:#fbf7ef; }
.home-site .home-treatment-card:after { display:none; }
.home-treatment-media { position:relative; flex:none; aspect-ratio:1.2; overflow:hidden; background:#fff; }
.home-treatment-media>img { display:block; width:100%; height:100%; object-fit:cover; }
.home-result-before,.home-result-after { position:absolute; left:10px; top:10px; padding:4px 9px; background:#faf6efed; color:#3a3027; font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; border:1px solid #9e89795c; }
.home-result-frame.stacked .home-result-after { top:calc(50% + 10px); }
.home-result-frame.side-by-side .home-result-after { left:calc(50% + 10px); }
.home-site .home-treatment-copy { display:flex; flex-direction:column; flex:1; padding:27px; margin:0; }
.home-site .home-treatment-copy h3 { font-size:clamp(29px,2.6vw,38px); line-height:1.12; min-height:2.24em; }
.home-site .home-treatment-copy>p:not(.eyebrow) { margin-bottom:22px; font-size:.9375rem; }
.home-site .home-card-link { margin-top:auto; }
.home-site .home-doctor-grid { grid-template-columns:250px minmax(0,1fr); }
.home-site .home-doctor-portrait { min-height:0; height:285px; }
.home-site .home-doctor-portrait>img { object-fit:contain; object-position:center bottom; }
.home-site .home-doctor-copy { padding:30px 40px; }
.home-site .home-doctor-copy .eyebrow { margin-bottom:13px; }
.home-site .home-doctor-copy h3 { font-size:clamp(32px,3.4vw,46px); margin-bottom:18px; line-height:1.15; }
.home-site .home-doctor-copy>p:not(.eyebrow) { max-width:680px; margin-bottom:16px; }
.home-doctor-links { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.home-doctor-links>a:first-child { font-size:.8125rem; text-decoration:none; color:#795b3e; }
.home-site .home-team-intro { padding:30px 0 20px; }
.home-site .home-team-compact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-site .home-team-compact .team-card { display:flex; flex-direction:column; min-width:0; background:#f0e8dc; }
.home-site .home-team-compact .team-card>img { height:210px; aspect-ratio:auto; margin:0; object-fit:contain; object-position:center bottom; }
.home-team-card-copy { display:flex; flex-direction:column; padding:23px; flex:1; }
.home-site .home-team-card-copy .eyebrow { margin:0 0 12px; font-size:.6875rem; min-height:2.2em; }
.home-site .home-team-card-copy h3 { font-size:1.8rem; line-height:1.15; margin:0 0 13px; }
.home-site .home-team-card-copy>p:not(.eyebrow) { font-size:.875rem; line-height:1.7; margin-bottom:18px; color:#756553; }
.home-team-card-copy .team-profile { margin-top:auto; align-self:flex-start; }
.home-site .home-clinic-carousel { min-height:435px; overflow:hidden; background:#e4d9ca; }
.home-clinic-slide { position:absolute; inset:0; opacity:0; transition:opacity 1s ease; pointer-events:none; }
.home-clinic-slide.is-active { opacity:1; }
.home-clinic-slide>img { width:100%; height:100%; object-fit:contain; }
.home-site .home-clinic-carousel figcaption { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; padding:14px 22px; background:linear-gradient(0deg,#1f1c18db,#1f1c187d); }
.home-clinic-dots { display:flex; flex:none; }
.home-clinic-dots[hidden] { display:none; }
.home-clinic-dots button { display:grid; place-items:center; width:27px; height:32px; padding:0; border:0; background:transparent; cursor:pointer; }
.home-clinic-dots button:before { content:''; width:7px; height:7px; background:#ffffff69; border:1px solid #fffd; border-radius:50%; }
.home-clinic-dots button[aria-pressed=true]:before { background:#fff9ed; }
.home-site .home-visit-details .eyebrow { margin-bottom:20px; }
.home-site .home-visit-details h3 { font-size:clamp(31px,3vw,43px); line-height:1.16; }
@media(max-width:1000px) {
  .home-site .home-doctor-grid { grid-template-columns:210px minmax(0,1fr); }
  .home-site .home-doctor-portrait { height:290px; }
  .home-site .home-doctor-copy { padding:25px; }
  .home-site .home-team-compact .team-card>img { height:175px; }
  .home-team-card-copy { padding:20px; }
  .home-site .home-team-card-copy h3 { font-size:1.6rem; }
}
@media(max-width:700px) {
  .home-site .home-treatment-copy { padding:25px; }
  .home-site .home-treatment-copy h3 { font-size:2.25rem; min-height:0; }
  .home-site .home-doctor-grid { grid-template-columns:135px minmax(0,1fr); }
  .home-site .home-doctor-portrait { height:100%; }
  .home-site .home-doctor-portrait>img { object-position:center center; }
  .home-site .home-doctor-copy { padding:23px; }
  .home-site .home-doctor-copy h3 { font-size:2rem; }
  .home-site .home-doctor-copy>p:not(.eyebrow) { font-size:.875rem; }
  .home-site .home-team-compact { grid-template-columns:1fr; gap:15px; }
  .home-site .home-team-compact .team-card { display:grid; grid-template-columns:135px minmax(0,1fr); align-items:stretch; }
  .home-site .home-team-compact .team-card>img { width:100%; height:100%; min-height:180px; object-position:center center; }
  .home-team-card-copy { padding:23px; }
  .home-site .home-team-card-copy .eyebrow { min-height:0; }
  .home-site .home-team-card-copy h3 { font-size:1.7rem; }
  .home-site .home-clinic-carousel { min-height:0; aspect-ratio:1.3; }
  .home-site .home-clinic-carousel figcaption { flex-wrap:wrap; gap:5px; padding:10px 18px; }
  .home-clinic-dots { width:100%; justify-content:space-between; }
  .home-clinic-dots button { width:24px; height:26px; }
}
@media(max-width:400px) {
  .home-site .home-doctor-grid,.home-site .home-team-compact .team-card { grid-template-columns:105px minmax(0,1fr); }
  .home-site .home-doctor-copy,.home-team-card-copy { padding:18px; }
  .home-site .home-doctor-copy h3 { font-size:1.8rem; }
  .home-hero-phone { gap:10px; }
  .home-hero-phone>span:first-child { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .home-clinic-slide { transition:none; }
}

/* Five-star patient stories and a compact, credential-led team. */
.home-site .rating-five-star { text-decoration:none; }
.home-site .hero-rating-card.rating-five-star { display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:23px 24px; width:250px; border-radius:2px; }
.rating-five-stars { display:block; color:#a37128; font-family:Arial,sans-serif; font-size:1.6rem; line-height:1; letter-spacing:.17em; margin:19px 0 12px; }
.rating-five-title { display:block; font-size:.875rem; line-height:1.5; font-weight:500; letter-spacing:0; }
.home-site .hero-rating-card .rating-link { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:17px; padding-top:13px; border-top:1px solid #d8cbbd; font-size:.75rem; }
.home-site .google-rating-pill.rating-five-star { display:grid; grid-template-columns:auto auto; align-items:center; column-gap:18px; row-gap:6px; min-width:0; padding:16px 20px; margin:0; background:transparent; border:1px solid #cdbcaa; }
.home-site .google-rating-pill .rating-brand { font-size:.8125rem; }
.home-site .google-rating-pill .rating-five-stars { margin:0; font-size:1.12rem; letter-spacing:.08em; }
.home-site .google-rating-pill .rating-five-title { grid-column:1/-1; padding-left:32px; font-size:.75rem; color:#706153; }
.home-site .home-doctor-copy h3 { margin-bottom:9px; }
.home-site .home-doctor-copy .home-doctor-degrees { display:flex; align-items:center; gap:9px; margin:0 0 17px; color:#735435; font-size:.875rem; font-weight:600; letter-spacing:.08em; }
.home-doctor-degrees .ui-icon { width:21px; height:21px; }
.home-doctor-links>a:first-child { display:inline-flex; align-items:center; gap:7px; }
.home-doctor-links .ui-icon { width:17px; height:17px; }
.home-site .home-doctor-portrait { height:100%; min-height:285px; }
.home-doctor-highlights { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#e8ddce; border-top:1px solid #d6c6b4; padding:22px 30px; gap:22px; }
.home-doctor-highlights>div { display:flex; align-items:center; gap:14px; border-right:1px solid #cebaa1; padding-right:18px; }
.home-doctor-highlights>div:last-child { border:0; padding-right:0; }
.home-doctor-highlights .ui-icon { flex:none; width:29px; height:29px; color:#906d47; }
.home-doctor-highlights strong { display:block; font-size:.9375rem; line-height:1.5; color:#423326; font-weight:600; }
.home-doctor-highlights small { display:block; font-size:.75rem; line-height:1.6; color:#706052; margin-top:2px; }
.home-site .home-team-card-copy h3 { min-height:2.3em; margin-bottom:13px; }
.home-site .home-team-card-copy .team-qualification { display:flex; align-items:flex-start; gap:9px; font-size:.8125rem; font-weight:500; color:#674a32; min-height:2.9em; margin-bottom:12px; line-height:1.55; }
.team-qualification .ui-icon { width:20px; height:20px; flex:none; }
.home-site .home-team-card-copy .team-register { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:15px; border-top:1px solid #d1c2ad; font-size:.75rem; line-height:1.6; text-decoration:none; color:#674a32; }
.team-register .ui-icon { width:18px; height:18px; flex:none; }
.home-professional-registers { display:flex; align-items:stretch; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:32px; padding-top:27px; border-top:1px solid #d8c8b5; }
.home-regulator-logo { display:flex; flex:1 1 180px; flex-direction:column; align-items:center; justify-content:center; gap:6px; max-width:240px; min-height:92px; padding:6px 12px; color:#263542; text-align:center; text-decoration:none; }
.home-regulator-logo:hover { opacity:.72; }
.home-regulator-logo:focus-visible { outline:2px solid #735334; outline-offset:3px; }
.home-regulator-logo img { display:block; max-width:100%; object-fit:contain; }
.home-cqc-registration img { width:135px; height:64px; }
.home-gmc-registration img { width:85px; height:72px; }
.home-regulator-logo small { color:#66594b; font-size:.69rem; line-height:1.25; }
.home-gdc-wordmark { color:#143e68; font:800 2.4rem/1 var(--sans); letter-spacing:-.075em; }
@media(max-width:1000px) {
  .home-doctor-highlights { padding:20px 23px; gap:18px; }
  .home-doctor-highlights>div { gap:10px; padding-right:10px; }
}
@media(max-width:700px) {
  .home-site .hero-rating-card.rating-five-star { display:grid; grid-template-columns:1fr auto; width:100%; padding:19px 21px; gap:8px 15px; }
  .home-site .hero-rating-card .rating-five-stars { grid-column:2; grid-row:1; margin:0; font-size:1.2rem; }
  .home-site .hero-rating-card .rating-five-title { grid-column:1/-1; font-size:.8125rem; }
  .home-site .hero-rating-card .rating-link { grid-column:1/-1; margin:3px 0 0; padding-top:10px; }
  .home-site .google-rating-pill.rating-five-star { align-self:flex-start; margin-top:8px; padding:14px 16px; }
  .home-site .home-doctor-copy h3 { font-size:1.9rem; }
  .home-site .home-doctor-portrait { min-height:0; }
  .home-doctor-highlights { grid-template-columns:1fr; padding:5px 23px; gap:0; }
  .home-doctor-highlights>div { padding:14px 0; border-right:0; border-bottom:1px solid #d4c1a9; gap:14px; }
  .home-doctor-highlights>div:last-child { padding:14px 0; }
  .home-doctor-highlights strong { font-size:.875rem; }
  .home-doctor-highlights small { font-size:.75rem; }
  .home-site .home-team-card-copy h3,.home-site .home-team-card-copy .team-qualification { min-height:0; }
  .home-professional-registers { gap:10px; }
  .home-regulator-logo { flex-basis:145px; min-height:100px; padding:12px; }
}
@media(max-width:400px) {
  .home-site .home-doctor-copy h3 { font-size:1.75rem; }
  .home-site .hero-rating-card.rating-five-star { padding:17px; column-gap:10px; }
  .home-site .hero-rating-card .rating-five-stars { font-size:1.05rem; }
  .home-regulator-logo { flex-basis:100%; max-width:none; }
}

/* Consistent portrait scale in the first three patient-result cards. */
.home-result-pair { position:absolute; inset:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4%; }
.home-result-pane { position:relative; overflow:hidden; }
.home-result-window { position:absolute; inset:0; overflow:hidden; }
.home-result-window>img { position:absolute; display:block; max-width:none; width:261.6667%; height:auto; left:-26.1%; top:-57.1%; }
.home-result-pane:last-child .home-result-window>img { left:-135.73%; }
/* The two comparison photographs fill equal, full-height panes. */
.home-result-filled { gap:2%; }
.home-patient-photo { display:block; width:100%; height:100%; overflow:hidden; }
.home-site .rating-five-title { display:flex; align-items:baseline; gap:9px; }
.rating-value { font:2.3rem/1 var(--serif); color:#4a3826; }
.rating-out-of { font-size:.8125rem; font-weight:400; color:#706153; }
.home-site .google-rating-pill .rating-five-title { padding-left:32px; }
.home-site .google-rating-pill .rating-value { font-size:1.65rem; }
.home-site .google-rating-pill .rating-out-of { font-size:.75rem; }
@media(max-width:700px) {
  .home-site .hero-rating-card .rating-five-title { margin-top:4px; }
  .home-site .hero-rating-card .rating-value { font-size:1.9rem; }
}

/* Keep the film unobstructed; the full callback form remains near the footer. */
.home-site .home-hero-stage { grid-template-columns:minmax(0,1fr); min-height:min(690px,calc(100svh - 126px)); padding:54px 0 50px; }
.home-site .home-hero-copy { align-self:center; }
.home-site .home-hero h1 { font-size:clamp(68px,7.8vw,112px); }
.home-site .home-hero .home-hero-lead { max-width:440px; margin-bottom:26px; }
.home-site .home-hero-actions { margin-bottom:25px; }
.home-site .home-hero-phone { display:inline-flex; align-items:center; gap:13px; }
.home-site .home-hero-phone>span:first-child { flex-basis:auto; }
.home-hero-callback { align-self:center; width:100%; padding:22px 26px 20px; color:#30271f; background:#fbf7f0c2; border:1px solid #ffffffa8; box-shadow:0 14px 42px #120e0a38; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.home-site .home-hero-callback-kicker { margin:0 0 4px; color:#604632; font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; line-height:1.4; }
.home-site .home-hero-callback h2 { margin:0 0 16px; color:#30271f; font-size:2.15rem; line-height:1.08; letter-spacing:-.015em; }
.home-site .home-hero-callback>p:not(.home-hero-callback-kicker) { margin:0 0 16px; color:#534536; font-size:.875rem; line-height:1.5; }
.home-hero-callback-frame { display:block; width:100%; height:330px; border:0; background:transparent; }
.home-hero-callback>small { display:block; margin-top:9px; color:#534536; font-size:.75rem; line-height:1.4; }
.home-hero-callback>small a { text-underline-offset:2px; }
.home-hero-mobile-book { display:none; }
.home-rating-strip { background:#f9f2e8; border-bottom:1px solid #dfd0bd; }
.home-site .home-rating-strip .container { display:flex; align-items:center; justify-content:flex-end; min-height:70px; }
.home-site .home-rating-strip .google-rating-pill.rating-five-star { display:flex; align-items:center; gap:15px; margin:0; padding:0; border:0; background:transparent; text-decoration:none; }
.home-site .home-rating-strip .rating-brand { font-size:.8125rem; }
.home-site .home-rating-strip .rating-five-stars { margin:0; font-size:1rem; line-height:1.4; letter-spacing:.04em; }
.home-site .home-rating-strip .rating-five-title { display:flex; gap:3px; padding:0; font-size:.75rem; color:#635549; }
.home-site .home-rating-strip .rating-value { font:600 .875rem/1.4 var(--sans); color:#3f3329; }
.home-site .home-rating-strip .rating-out-of { font-size:.75rem; }
.home-site .home-rating-strip .rating-link { margin:0; padding:0 0 0 14px; border:0; border-left:1px solid #d6c5b0; color:#66503b; font-size:.75rem; }
@media(max-width:1050px) {
  .home-site .home-hero-stage { grid-template-columns:1fr; gap:22px; min-height:0; padding:43px 0 34px; }
  .home-site .home-hero-copy { max-width:680px; }
  .home-site .home-hero h1 { font-size:clamp(59px,9vw,80px); margin-bottom:16px; }
  .home-site .home-hero .home-hero-lead { margin-bottom:0; }
  .home-site .home-hero-actions,.home-site .home-hero-phone { display:none; }
  .home-hero-callback { max-width:560px; padding:22px 25px 20px; }
  .home-hero-mobile-book { display:inline-flex; align-items:center; justify-content:space-between; max-width:560px; min-height:50px; padding:11px 0; color:#fff3e5; border-bottom:1px solid #d6bfa2; text-decoration:none; font-size:.875rem; }
  .home-site .home-rating-strip .container { justify-content:center; }
}
@media(max-width:550px) {
  .home-site .home-hero-stage { gap:16px; padding:31px 0 23px; }
  .home-site .home-hero .eyebrow { margin-bottom:11px; }
  .home-site .home-hero h1 { font-size:clamp(53px,13.5vw,69px); margin-bottom:9px; }
  .home-site .home-hero .home-hero-lead { font-size:.9375rem; line-height:1.5; }
  .home-hero-callback { padding:19px 19px 18px; }
  .home-site .home-hero-callback h2 { font-size:1.9rem; }
  .home-site .home-hero-callback>p:not(.home-hero-callback-kicker) { margin-bottom:12px; }
  .home-site .home-rating-strip .container { min-height:60px; }
  .home-site .home-rating-strip .google-rating-pill.rating-five-star { gap:8px; flex-wrap:wrap; justify-content:center; }
  .home-site .home-rating-strip .rating-link { display:none; }
  .home-site .home-rating-strip .rating-brand { font-size:.75rem; }
  .home-site .home-rating-strip .rating-brand img { width:19px; height:19px; }
}
@media(max-width:470px) {
  .home-hero-callback-frame { height:480px; }
}

/* Restore the small Google review card over the film, without a second strip. */
.home-site .home-hero-stage { position:relative; }
.home-site .home-hero-stage > .hero-rating-card.rating-five-star {
  position:absolute;
  right:0;
  bottom:50px;
  width:228px;
  padding:18px 20px;
  border-radius:10px;
  background:#fffaf19e;
  border:1px solid #ffffffb3;
  box-shadow:0 12px 32px #0002;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.home-site .home-hero-stage > .hero-rating-card .rating-brand { font-size:.8125rem; }
.home-site .home-hero-stage > .hero-rating-card .rating-five-stars { margin:13px 0 9px; font-size:1.3rem; }
.home-site .home-hero-stage > .hero-rating-card .rating-value { font-size:1.8rem; }
.home-site .home-hero-stage > .hero-rating-card .rating-link { margin-top:12px; padding-top:10px; }
@media(max-width:1050px) {
  .home-site .home-hero-stage > .hero-rating-card.rating-five-star {
    position:static;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:9px 14px;
    width:min(100%,330px);
    padding:14px 17px;
    margin-top:3px;
  }
  .home-site .home-hero-stage > .hero-rating-card .rating-brand { grid-column:1; grid-row:1; }
  .home-site .home-hero-stage > .hero-rating-card .rating-five-stars { grid-column:2; grid-row:1; margin:0; font-size:1rem; letter-spacing:.06em; }
  .home-site .home-hero-stage > .hero-rating-card .rating-five-title { grid-column:1; grid-row:2; margin:0; }
  .home-site .home-hero-stage > .hero-rating-card .rating-value { font-size:1.55rem; }
  .home-site .home-hero-stage > .hero-rating-card .rating-link { grid-column:2; grid-row:2; margin:0; padding:0; border:0; max-width:105px; font-size:.7rem; line-height:1.4; gap:5px; }
}
