/* Stanley Nails Highgate — scoped brand and accessibility refinements. */
:root{--jd-primary:#76552d;--jd-primary-hover:#533b20;--jd-text:#332f2a;--jd-text-muted:#61584e;--jd-gold:#76552d}
body.jd-body{color:#332f2a}
body.jd-body .jd-eyebrow,body.jd-body .jd-nav a:hover,body.jd-body .jd-nav a.is-active{color:#76552d}
body.jd-body .jd-btn{background:#76552d;color:#fff;border-color:#76552d}
body.jd-body .jd-btn:hover{background:#533b20;color:#fff;border-color:#533b20}
body.jd-body .jd-btn--ghost,body.jd-body .jd-btn--light{background:#f7f1e8;color:#3c2c1b;border-color:#947c5c}
body.jd-body .jd-logo img{width:110px;height:72px;object-fit:contain;max-width:100%;background:#1c1b18;border-radius:3px}
body.jd-body .jd-logo__text{font-size:15px;line-height:1.4;max-width:150px;white-space:normal}
body.jd-body .jd-footer{background:#1c1b18;color:#e9dfd0}
body.jd-body .jd-footer :is(p,a,h4,.jd-footer__brand){color:#e9dfd0}
body.jd-body .jd-footer a:hover{color:#ebc888}
body.jd-body .jd-drawer__panel a,body.jd-body .jd-drawer__head-title,body.jd-body .jd-drawer__close{color:#f8eedf}
body.jd-body .jd-menu-toggle span,body.jd-body .jd-menu-toggle span:before,body.jd-body .jd-menu-toggle span:after{background:#332a20}
body.jd-body .jd-display{line-height:1.15;padding-bottom:.12em;overflow:visible}
body.jd-body .blanc-menu-tab{color:#423220;background:#f6efe5;line-height:1.5;white-space:normal}
body.jd-body .blanc-menu-tab.active,body.jd-body .blanc-menu-tab:hover{background:#322c24;color:#fff}
body.jd-body .blanc-service-api-title{line-height:1.4;overflow:visible}
:focus-visible{outline:3px solid #ae7936;outline-offset:5px}
.sn-hero{display:grid;grid-template-columns:1.04fr 1fr;background:#1b1b18;color:#f4eadb;min-height:650px;max-width:1800px;margin:auto}
.sn-hero__copy{padding:80px clamp(28px,5vw,90px) 50px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.sn-kicker{font:600 10px/1.8 Manrope,sans-serif;letter-spacing:.2em;color:#d7b77d;margin:0 0 24px}
.sn-hero h1{font:400 clamp(52px,5.6vw,88px)/1.08 'Cormorant Garamond',serif;letter-spacing:-.045em;color:#f4eadb;margin:0 0 25px;padding-bottom:.1em}
.sn-hero h1 em{font-weight:400;color:#d8b67a}
.sn-hero__intro{font-size:15px;line-height:1.9;color:#d9d1c4;margin:0 0 30px}
.sn-hero__actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
body.jd-body .sn-hero .jd-btn{background:#dcc08d;color:#211e19;border-color:#dcc08d;gap:20px}
body.jd-body .sn-hero .jd-btn:hover{background:#f0d6a7;color:#211e19}
.sn-text-link{color:#f4eadb!important;border-bottom:1px solid #77684c;padding:10px 0;font-size:13px}
.sn-hero__details{display:flex;gap:35px;border-top:1px solid #514839;padding-top:24px;margin-top:56px}
.sn-hero__details a{color:#eee1ce;font-size:12px;line-height:1.7}
.sn-hero__details small{display:block;color:#c3a77a;letter-spacing:.15em;font-size:9px;margin-bottom:6px}
.sn-hero__visual{margin:0;min-width:0;position:relative;overflow:hidden;min-height:650px}
.sn-hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.sn-hero__visual figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;padding:65px 28px 25px;background:linear-gradient(transparent,rgba(15,12,8,.75));color:white;font-size:10px;letter-spacing:.12em}
.sn-search{display:block;max-width:620px;margin:0 auto 28px;color:#45392a;text-align:left;font-weight:600}
.sn-search input{display:block;width:100%;margin-top:9px;border:1px solid #ad987a;border-radius:0;padding:15px 18px;background:#fffaf3;color:#30291f;font:400 15px/1.6 Manrope,sans-serif;box-sizing:border-box}
#gallery-page video{display:block;width:100%;max-height:560px;background:#1c1b18;object-fit:contain}
#gallery-page .gallery-item img{width:100%;object-fit:cover}
body.jd-body .jd-gallery-mosaic__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;gap:14px}
body.jd-body .jd-gallery-mosaic__grid .jd-gallery-tile{grid-area:auto;aspect-ratio:3/4;min-height:0;height:auto}
body.jd-body .jd-gallery-mosaic__grid .jd-gallery-tile__frame{display:block;height:100%}
body.jd-body .jd-gallery-mosaic__grid img{width:100%;height:100%;object-fit:cover}
body.jd-body .jd-gallery-mosaic__grid .jd-gallery-tile:nth-child(3n){transform:translateY(24px)}
body.jd-body .jd-gallery-section__action{margin-top:55px}
@media(max-width:1100px){body.jd-body .jd-logo__text{display:none}.sn-hero__copy{padding:50px 35px}.sn-hero,.sn-hero__visual{min-height:590px}.sn-hero__details{gap:18px}}
@media(max-width:767px){.sn-hero{grid-template-columns:1fr}.sn-hero__copy{padding:42px 24px 35px}.sn-hero h1{font-size:58px}.sn-hero__intro{font-size:14px}.sn-hero__details{margin-top:32px;flex-wrap:wrap}.sn-hero__visual{min-height:400px;max-height:480px}.sn-hero__visual img{object-position:center 44%}body.jd-body .jd-gallery-mosaic__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body.jd-body .jd-gallery-mosaic__grid .jd-gallery-tile:nth-child(3n){transform:none}body.jd-body .jd-logo img{width:86px;height:58px}.jd-container{max-width:100%}body.jd-body .jd-display{overflow-wrap:normal}.sn-kicker{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.jd-reveal{opacity:1!important;transform:none!important}}
body.jd-body section.sn-hero{background:#1b1b18!important;color:#f4eadb}
body.jd-body .sn-hero h1{color:#f4eadb!important}
body.jd-body .sn-hero h1 em{color:#d8b67a!important}
body.jd-body .sn-hero .sn-kicker{color:#d7b77d}
body.jd-body .sn-hero .sn-hero__intro{color:#d9d1c4}
body.jd-body .sn-hero .jd-btn{color:#211e19!important;-webkit-text-fill-color:#211e19;background:#dcc08d!important}
body.jd-body .jd-header .jd-btn{background:#76552d!important}
body.jd-body .jd-header :is(.jd-header__socials a,.jd-header__social a,.jd-social-link){color:#473724!important}
body.jd-body .jd-footer p{color:#e9dfd0!important}
body.jd-body .sn-hero__visual figcaption{font-family:Manrope,sans-serif}
body.jd-body section.sn-hero{margin-top:132px}
body.jd-body .sn-hero__actions a.jd-btn{color:#211e19!important;-webkit-text-fill-color:#211e19!important}
body.jd-body .sn-hero__actions a.jd-btn span{color:#211e19!important;-webkit-text-fill-color:#211e19!important}
@media(max-width:767px){body.jd-body section.sn-hero{margin-top:90px}}

/* Selected Google review excerpts — homepage. */
.sn-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sn-review{display:flex;flex-direction:column;padding:30px;background:#fbf8f2;border-top:2px solid #b29562;min-width:0}
.sn-review__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sn-review__stars{color:#8b652d;font-size:17px;letter-spacing:3px}
.sn-review__source{font:600 12px/1.5 Manrope,sans-serif;color:#61584e}
body.jd-body .sn-review blockquote{font:400 clamp(24px,2.2vw,32px)/1.3 'Cormorant Garamond',serif;color:#332f2a;margin:27px 0 32px;padding:0;border:0;letter-spacing:-.015em;flex:1;text-wrap:pretty}
.sn-review footer{display:flex;align-items:center;gap:12px}
.sn-review__avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#e8dece;color:#654b2c;font:600 12px/1 Manrope,sans-serif}
body.jd-body .sn-review h3{font:600 13px/1.5 Manrope,sans-serif;margin:0;color:#332f2a}
.sn-review footer div>span{font-size:10px;color:#6e6252}
.sn-review__link{align-self:flex-start;font-size:10px;color:#76552d;margin-top:22px;border-bottom:1px solid #d5c6ae;padding-bottom:4px}
.sn-review__link:hover{color:#332f2a;border-color:#76552d}
.sn-reviews__action{text-align:center;margin-top:36px}
@media(max-width:1000px){.sn-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sn-reviews{grid-template-columns:1fr;gap:16px}.sn-review{padding:25px}.sn-review blockquote{min-height:0}}

/* Portfolio: regular tracks and natural image proportions, without legacy mosaic crops. */
body.jd-body #gallery.jd-gallery-section--ritual #blanc-gallery-grid-js{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:18px!important;align-items:start;width:100%;height:auto!important;min-height:0!important}
body.jd-body #gallery #blanc-gallery-grid-js>.jd-gallery-tile{grid-area:auto!important;position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;transform:none!important;border-radius:0!important;overflow:hidden!important;box-shadow:none}
body.jd-body #gallery #blanc-gallery-grid-js .jd-gallery-tile__frame{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden!important;border-radius:0!important}
body.jd-body #gallery #blanc-gallery-grid-js .jd-gallery-tile img{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;scale:none!important;clip-path:none!important;border-radius:0!important}
body.jd-body #gallery #blanc-gallery-grid-js .jd-gallery-tile__meta,body.jd-body #gallery #blanc-gallery-grid-js .jd-gallery-tile__shine,body.jd-body #gallery #blanc-gallery-grid-js .jd-gallery-tile__view,body.jd-body #gallery #blanc-gallery-grid-js .jd-gallery-tile::after{display:none!important}
body.jd-body #gallery .jd-gallery-mosaic{height:auto!important;min-height:0!important;overflow:visible;border-radius:0;padding:0;border:0;background:none;box-shadow:none}
body.jd-body #gallery .jd-gallery-mosaic::after{display:none!important}
@media(max-width:900px){body.jd-body #gallery.jd-gallery-section--ritual #blanc-gallery-grid-js{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}

/* Keep gallery photos in the normal paint layer: lazy-decoded images must not
   depend on a hover transform to repaint inside rounded, clipped tiles. */
body.jd-body #gallery-page .gallery-item { background: #f6efe5; }
body.jd-body #gallery-page .gallery-item img,
body.jd-body #gallery-page .gallery-item:hover img {
  display: block;
  opacity: 1;
  visibility: visible;
  will-change: auto;
  transform: none;
  transition: none;
  z-index: auto;
}

/* News booking invitation: warm, readable accent on the dark CTA surface. */
body.jd-body.jd-news-page .jd-news-cta h2 {
  color: #e5c58f !important;
  -webkit-text-fill-color: #e5c58f !important;
}

/* Highlight today's opening hours with the site's brown accent. */
body.jd-body .jd-hour-row.is-today,
body.jd-body .jd-hour-row.is-today span {
  color: #76552d !important;
  -webkit-text-fill-color: #76552d !important;
  font-weight: 600;
}
