/* TN NAILS & SPA overrides; the current identity is defined at the end of this file. */
:root{--tn-ink:#111312;--tn-gold:#b39556;--tn-gold-light:#e3ca8f;--tn-paper:#fbfaf7}
[hidden]{display:none!important}
html{scroll-padding-top:148px}
body{overflow-x:clip}
.site-header,.site-header.scrolled{background:rgba(251,250,247,.96)!important;border-top:2px solid var(--tn-gold)!important}
.site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:78px!important;height:72px!important;max-height:72px!important;object-fit:cover!important;mix-blend-mode:multiply}
.site-header .desktop-nav a{letter-spacing:.13em}
.hero-editorial{isolation:isolate;background:#101211!important}
.hero-editorial:before{z-index:1!important;background:linear-gradient(90deg,rgba(4,5,5,.85),rgba(4,5,5,.52) 57%,rgba(4,5,5,.3))!important}
.hero-editorial:after{z-index:1!important;opacity:.6}
.hero-editorial .hero-content{z-index:2!important;text-align:left!important;margin-left:clamp(20px,6vw,120px)!important;margin-right:auto!important;max-width:780px!important}
.hero-content h1{font-size:clamp(4rem,8vw,8.5rem)!important;line-height:.96!important}
.hero-editorial .hero-title-main{padding-bottom:.14em}
.hero-editorial .hero-title-script{color:var(--tn-gold-light)!important}
.hero-copy{margin:20px 0 25px!important;max-width:54ch!important;color:#f9f6ef!important}
.hero-actions{justify-content:flex-start!important}
.hero-content .eyebrow{color:var(--tn-gold-light)!important}
.about-details{grid-template-columns:1fr!important}
.about-details .about-interior img{aspect-ratio:4/3;object-fit:cover;filter:none}
.about-photo-frame{height:clamp(420px,46vw,660px)}
.about-photo-frame img{object-fit:cover;object-position:center;filter:none}
.gallery-item img{filter:none;transition:transform .6s ease}
.gallery-item:hover img{filter:none}
.site-footer .footer-brand{background:#f9f8f4;padding:9px!important}
.site-footer .footer-brand img{width:110px!important;height:110px!important;object-fit:cover!important}
.footer-social{display:flex;gap:18px;margin-top:16px}.footer-social a{color:#e3ca8f!important;font-size:.85rem}
.happy-review-grid[hidden]{display:none!important}
.happy-clients-heading>p:last-child{max-width:62ch}
.promo-popup-copy{padding:clamp(26px,5vw,54px);background:#fbfaf7;color:#161616;display:grid;justify-items:start;gap:14px}
.promo-popup-copy h2{font:500 clamp(2.5rem,5vw,4.6rem)/.95 'Bodoni Moda',serif;margin:0}
.promo-popup-copy p{max-width:48ch;line-height:1.6}
@media(max-width:900px){html{scroll-padding-top:90px}.site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:64px!important;height:64px!important;max-height:64px!important}.hero-editorial .hero-content{margin:0 auto!important;max-width:660px!important;text-align:center!important}.hero-editorial:before{background:linear-gradient(180deg,rgba(4,5,5,.62),rgba(4,5,5,.7))!important}.hero-copy{margin:18px auto 22px!important}.hero-actions{justify-content:center!important}}
@media(max-width:600px){.hero-editorial{min-height:calc(100dvh - 108px)!important;max-height:none!important;padding:90px 20px 115px!important}.hero-content h1{font-size:clamp(3.2rem,15vw,5.2rem)!important}.hero-editorial .hero-title-script{font-size:1em!important}.about-photo-frame{aspect-ratio:4/3;height:auto}.about-details .about-interior img{aspect-ratio:4/3}.site-footer .footer-brand img{width:100px!important;height:100px!important}}
@media(prefers-reduced-motion:reduce){.hero-editorial .hero-slide{animation:none!important}.hero-editorial .hero-slide:first-child{opacity:1!important}.gallery-item img{transition:none!important}}

@media(max-width:900px){.mobile-nav{padding-top:104px!important}.mobile-menu-intro{padding-top:0!important}}

/* Refreshed typography; original TN black, white and gold palette stays in place. */
:root{--display:"Bodoni Moda",Georgia,serif;--script:"Bodoni Moda",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
body,.legal-page,.legal-main{font-family:var(--sans)!important}
h1,h2,h3,h4,.mobile-menu-links a,.about-details figcaption strong,.happy-review>p{font-family:var(--display)!important}
.hero-content h1 em,.hero-editorial .hero-title-script,.section h2 em,.promo-intro h2 em,.happy-visit h2 em{font-family:var(--display)!important;font-style:italic!important;font-weight:400!important;letter-spacing:-.065em!important}
.hero-editorial .hero-title-script{font-size:.76em!important}
.hero-content h1{font-size:clamp(3.9rem,7vw,7.7rem)!important;line-height:1.03!important;letter-spacing:-.065em!important}
.hero-editorial .hero-content{max-width:910px!important}
.hero-content .eyebrow,.section-label,.eyebrow{font-family:var(--sans)!important;font-weight:700!important;letter-spacing:.22em!important}
.promo-popup-copy h2{font-family:var(--display)!important}
@media(max-width:600px){.hero-content h1{font-size:clamp(3.05rem,12.5vw,4.45rem)!important;line-height:1.05!important}}

/* Dark navigation with the salon's Maps, Facebook and Instagram links. */
.site-header,.site-header.scrolled{background:#111110!important;border-top:2px solid var(--tn-gold)!important;box-shadow:0 12px 30px rgba(0,0,0,.22)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:68px!important;height:68px!important;max-width:none!important;max-height:none!important;object-fit:cover!important;mix-blend-mode:normal!important;background:#fff;border:1px solid var(--tn-gold);padding:2px}
.site-header .desktop-nav{border-top:1px solid rgba(227,202,143,.18)}
.site-header .desktop-nav a{color:#f7f4ec!important}
.site-header .desktop-nav a:hover,.site-header .desktop-nav a.is-active{color:var(--tn-gold-light)!important}
.site-header .desktop-nav a:after{background:var(--tn-gold)!important}
.site-header .header-socials{grid-column:3;grid-row:1;justify-self:end;align-self:center;display:flex;align-items:center;gap:8px}
.site-header .header-socials a,.site-header .header-socials .header-map{display:grid!important;place-items:center;width:38px;height:38px;border:1px solid rgba(227,202,143,.65)!important;border-radius:50%;background:transparent;color:#f7f4ec!important;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.site-header .header-socials a:hover,.site-header .header-socials a:focus-visible{background:var(--tn-gold-light)!important;color:#111110!important;border-color:var(--tn-gold-light)!important;transform:translateY(-2px)}
.site-header .header-socials svg{display:block;width:18px;height:18px}
.site-header .header-actions .button{background:var(--tn-gold-light)!important;border-color:var(--tn-gold-light)!important;color:#111110!important}
.site-header .header-actions .button:hover{background:#f0dda9!important;border-color:#f0dda9!important}
@media(max-width:900px){
  .site-header,.site-header.scrolled{grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:10px!important;padding:0 16px!important}
  .site-header .brand-lockup{grid-column:1!important;justify-self:start!important}
  .site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:60px!important;height:60px!important;max-width:none!important;max-height:none!important}
  .site-header .header-socials{grid-column:2;grid-row:1;gap:6px}
  .site-header .header-socials a,.site-header .header-socials .header-map{width:44px;height:44px}
  .site-header .header-socials svg{width:17px;height:17px}
  .site-header .menu-toggle{grid-column:3!important;background:var(--tn-gold-light)!important}
  .site-header .menu-toggle span{background:#111110!important}
  .mobile-nav{background:#151514!important;color:#f7f4ec!important}
  .mobile-nav .mobile-menu-links a,.mobile-menu-intro p{color:#f7f4ec!important}
  .mobile-menu-intro span{color:var(--tn-gold-light)!important}
  .mobile-menu-intro,.mobile-menu-footer{border-color:rgba(227,202,143,.3)!important}
}
@media(max-width:380px){
  .site-header,.site-header.scrolled{column-gap:7px!important;padding:0 12px!important}
  .site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:54px!important;height:54px!important}
  .site-header .header-socials{gap:5px}
  .site-header .header-socials a,.site-header .header-socials .header-map{width:40px;height:40px}
  .site-header .menu-toggle{width:40px!important;height:40px!important}
}
@media(prefers-reduced-motion:reduce){.site-header .header-socials a{transition:none!important}}

/* Slow camera drift and soft dissolves across the three coordinated nail photos. */
.hero-editorial .hero-slide{inset:-4%;width:108%;height:108%;filter:none!important;will-change:transform,opacity}
.hero-editorial .hero-slide:nth-of-type(1){background-position:52% 50%;animation:tnCinemaOne 30s linear infinite}
.hero-editorial .hero-slide:nth-of-type(2){background-position:54% 51%;animation:tnCinemaTwo 30s linear infinite}
.hero-editorial .hero-slide:nth-of-type(3){background-position:55% 50%;animation:tnCinemaThree 30s linear infinite}
@keyframes tnCinemaOne{
  0%{opacity:1;transform:translate3d(-1.5%,0,0) scale(1.04)}
  27%{opacity:1;transform:translate3d(.8%,-1%,0) scale(1.1)}
  33%{opacity:0;transform:translate3d(1.2%,-1.2%,0) scale(1.11)}
  94%{opacity:0;transform:translate3d(-1.5%,0,0) scale(1.04)}
  100%{opacity:1;transform:translate3d(-1.5%,0,0) scale(1.04)}
}
@keyframes tnCinemaTwo{
  0%,27%{opacity:0;transform:translate3d(1.5%,-1%,0) scale(1.11)}
  33%{opacity:1;transform:translate3d(1%,-.8%,0) scale(1.1)}
  60%{opacity:1;transform:translate3d(-1%,.8%,0) scale(1.04)}
  66%{opacity:0;transform:translate3d(-1.2%,1%,0) scale(1.03)}
  100%{opacity:0;transform:translate3d(1.5%,-1%,0) scale(1.11)}
}
@keyframes tnCinemaThree{
  0%,60%{opacity:0;transform:translate3d(0,1%,0) scale(1.04)}
  66%{opacity:1;transform:translate3d(-.3%,.7%,0) scale(1.05)}
  94%{opacity:1;transform:translate3d(-1.5%,-1%,0) scale(1.1)}
  100%{opacity:0;transform:translate3d(-2%,-1.2%,0) scale(1.11)}
}
@media(max-width:600px){
  .hero-editorial .hero-slide:nth-of-type(1){background-position:63% center}
  .hero-editorial .hero-slide:nth-of-type(2){background-position:55% center}
  .hero-editorial .hero-slide:nth-of-type(3){background-position:62% center}
}
@media(prefers-reduced-motion:reduce){
  .hero-editorial .hero-slide{animation:none!important;opacity:0!important;transform:none!important;will-change:auto}
  .hero-editorial .hero-slide:first-child{opacity:1!important}
}

/* Highlight today's API-provided hours in the salon's local time zone. */
.hours-list li.is-today{color:#111!important;background:rgba(179,149,86,.13);box-shadow:inset 3px 0 var(--tn-gold);border-bottom-color:rgba(179,149,86,.5);padding-left:12px;padding-right:8px}
.hours-list li.is-today span,.hours-list li.is-today b{font-weight:800!important}

/* Featured API categories and services: three across, with the last row centered. */
.make-time-inner{width:min(100%,1320px)}
.make-time-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.make-time-card{display:flex;flex:0 1 calc((100% - 36px)/3);flex-direction:column;min-width:0;min-height:0;border:1px solid #d7d2c6!important;background:#fff!important}
.make-time-card figure{flex:none;width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/3;background:#e9e7df!important}
.make-time-card img{object-fit:cover;object-position:center 47%}
.make-time-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-width:0;min-height:260px;padding:clamp(22px,2.2vw,30px)}
.make-time-card h3{max-width:100%;margin:14px 0 0;font-size:clamp(2rem,2.35vw,2.75rem);line-height:1.02;overflow-wrap:normal!important;word-break:normal;hyphens:none;text-wrap:balance}
.make-time-card p:not(.make-time-count){margin-top:14px;-webkit-line-clamp:2}
.make-time-card .make-time-count{display:block;margin:18px 0 0;color:#806018!important;font:700 .72rem/1.4 "Manrope",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.make-time-card .make-time-link{margin-top:auto;padding-top:24px}
.make-time-footer{background:#171717!important}
.make-time-footer p{color:#fff!important}
.make-time-footer a{color:var(--tn-gold-light)!important}
@media(max-width:900px){.make-time-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:650px){
  .make-time-grid{gap:16px}
  .make-time-card{flex-basis:100%}
  .make-time-card-copy{min-height:0;padding:24px}
  .make-time-card h3{font-size:clamp(2.2rem,9vw,3rem)}
  .make-time-card .make-time-link{margin-top:24px;padding-top:0}
}

/* Keep the footer photograph at its natural scale on wide screens. */
.site-footer.site-footer--lovely{
  background-color:#101010!important;
  background-image:linear-gradient(90deg,rgba(8,8,8,.97),rgba(8,8,8,.88) 60%,rgba(8,8,8,.65)),url("../photos/brand/tn-footer-editorial.webp")!important;
  background-position:center,right center!important;
  background-size:100% 100%,auto 100%!important;
  background-repeat:no-repeat!important;
}
@media(max-width:650px){
  .site-footer.site-footer--lovely{background-image:radial-gradient(circle at 100% 100%,rgba(154,116,31,.17),transparent 52%),linear-gradient(#101010,#101010)!important}
}

/* Give the gallery its own dark frame while keeping every caption readable. */
.gallery{
  background:radial-gradient(circle at 88% 8%,rgba(179,149,86,.12),transparent 32%),linear-gradient(145deg,#171817,#101110)!important;
  color:#f7f5ef!important;
  border-top:1px solid rgba(179,149,86,.55);
  border-bottom:1px solid rgba(179,149,86,.55);
}
.gallery>.section-label{color:#e3ca8f!important}
.gallery-heading h2{color:#f7f5ef!important}
.gallery-heading h2 em{color:#e3ca8f!important}
.gallery-heading p{color:#ddd9ce!important}
.gallery-grid{padding:10px;border:1px solid rgba(227,202,143,.48)}
.gallery-item{border:1px solid rgba(227,202,143,.34);border-radius:2px}
.gallery-actions .gallery-less-button{background:transparent!important;color:#f7f5ef!important;border:1px solid #c7a75e!important;box-shadow:none!important}
.gallery-actions .gallery-less-button:hover{background:#c7a75e!important;color:#111!important}
@media(max-width:650px){.gallery-grid{padding:6px}}
