@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,500;1,600&display=swap');
:root{--ink:#302522;--muted:#756660;--paper:#f8f4ef;--cream:#eee5dc;--rose:#a64d61;--rose-dark:#793546;--line:#d9ccc2;--white:#fffdfb;--radius:16px;--shadow:0 18px 50px rgba(75,49,43,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65;overflow-x:hidden}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:#fff;padding:.7rem 1rem}.skip:focus{top:1rem}.site-header{height:78px;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 clamp(1rem,4vw,4rem);background:rgba(248,244,239,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(217,204,194,.75)}.brand{display:flex;align-items:center;gap:.65rem;white-space:nowrap}.brand>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--rose);border-radius:50%;font-family:'Playfair Display';font-size:1rem;color:var(--rose)}.brand strong{font-family:'Playfair Display';font-size:1.05rem;line-height:1.1}.brand i{color:var(--rose)}nav{display:flex;justify-content:center;gap:clamp(.8rem,1.6vw,1.7rem)}nav a,.text-link{font-size:.84rem;font-weight:600}nav a:hover,.text-link:hover{color:var(--rose)}.header-actions{display:flex;align-items:center;gap:1.2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.25rem;border:1px solid var(--rose);border-radius:999px;background:var(--rose);color:#fff;font-weight:600;cursor:pointer;transition:.25s;white-space:nowrap}.button:hover{background:var(--rose-dark);border-color:var(--rose-dark);transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button.small{min-height:42px;padding:.55rem 1rem}.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button.outline:hover{background:var(--ink);color:#fff}.menu-toggle{display:none}.hero{min-height:calc(100dvh - 78px);display:grid;grid-template-columns:52% 48%;align-items:stretch}.hero-copy{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,8vw,9rem);align-self:center}.kicker{color:var(--rose);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.hero h1,.section h2{font:600 clamp(3rem,6.2vw,6.7rem)/.96 'Playfair Display';letter-spacing:-.045em;margin:.6rem 0 1.6rem}.hero h1{max-width:750px}.hero h1 em{color:var(--rose);line-height:1.1;padding-bottom:.08em}.hero-copy>p:not(.kicker){font-size:1.1rem;max-width:530px;color:var(--muted)}.button-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.quiet-link{font-weight:600;padding:.6rem}.hero-image{position:relative;min-height:620px;overflow:hidden;border-radius:0 0 0 70px}.hero-image>img{width:100%;height:100%;object-position:center 49%}.hero-stamp{position:absolute;left:2rem;bottom:2rem;width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,253,251,.9);backdrop-filter:blur(10px);transform:rotate(-7deg);box-shadow:var(--shadow)}.hero-stamp span,.hero-stamp small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.hero-stamp strong{font:600 1.5rem 'Playfair Display';color:var(--rose)}.trust-strip{display:flex;justify-content:center;gap:clamp(1rem,7vw,7rem);padding:1rem;background:var(--ink);color:#fff;font-size:.77rem;letter-spacing:.1em;text-transform:uppercase}.trust-strip span+span:before{content:'•';color:var(--rose);margin-right:clamp(1rem,7vw,7rem)}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem)}.about{display:grid;grid-template-columns:minmax(300px, .8fr) 1.2fr;gap:clamp(3rem,9vw,9rem);align-items:center}.about-image{position:relative;max-width:560px}.about-image img{width:100%;aspect-ratio:4/5;border-radius:var(--radius);object-position:center}.about-image span{position:absolute;right:-2rem;bottom:2rem;background:var(--rose);color:#fff;padding:1rem 1.5rem;border-radius:var(--radius);font:600 1.1rem 'Playfair Display'}.about-copy h2,.section-heading h2,.offer h2,.booking-intro h2,.contact-card h2{font-size:clamp(2.7rem,5vw,5rem)}.about-copy>p{color:var(--muted);max-width:700px}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:2rem}.benefits span{padding:.8rem 0;border-top:1px solid var(--line);font-weight:600}.benefits span:before{content:'✓';color:var(--rose);margin-right:.5rem}.services{background:var(--cream)}.section-heading{max-width:740px;margin:0 0 3.5rem}.section-heading h2{margin-bottom:1rem}.section-heading>p:last-child{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.service-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 25px rgba(75,49,43,.06);transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card img{width:100%;aspect-ratio:4/3;object-position:center 45%}.service-card:nth-child(2) img{object-position:center 42%}.service-card-body{padding:1.3rem}.service-card h3{font:600 1.45rem 'Playfair Display';margin:0}.service-card p{font-size:.88rem;color:var(--muted);min-height:3.2em}.service-bottom{display:flex;align-items:center;justify-content:space-between}.service-bottom strong{color:var(--rose)}.service-bottom button{border:0;background:none;font-weight:600;cursor:pointer}.price-section{background:var(--white)}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.price-category{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.price-category h3{margin:0;padding:1.2rem 1.4rem;font:600 1.5rem 'Playfair Display';background:var(--cream)}.price-toggle{display:none}.price-list{padding:.5rem 1.4rem}.price-item{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.8rem 0}.price-item+.price-item{border-top:1px solid var(--line)}.price-item span{font-size:.9rem}.price-item strong{color:var(--rose)}.book-mini{border:0;background:none;text-decoration:underline;cursor:pointer;font-size:.8rem;font-weight:600}.price-note{max-width:850px;color:var(--muted);font-size:.86rem;margin:2rem 0 0}.offer{padding-top:3rem;padding-bottom:3rem}.offer-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:3rem;padding:clamp(2rem,5vw,5rem);background:var(--ink);color:#fff;border-radius:var(--radius)}.offer-card h2{margin:.4rem 0 1rem}.offer-card p{max-width:600px}.offer-card small{color:#d9ccc2}.offer-mark{width:150px;height:150px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.offer-mark strong{font:600 3rem 'Playfair Display';color:#e0a4b1}.offer-mark span{text-transform:uppercase;letter-spacing:.2em}.gallery{columns:4;column-gap:1rem}.gallery button{display:block;width:100%;padding:0;margin:0 0 1rem;border:0;background:none;cursor:zoom-in;border-radius:var(--radius);overflow:hidden}.gallery img{width:100%;aspect-ratio:4/5;transition:.35s}.gallery button:nth-child(3n) img{aspect-ratio:1}.gallery button:hover img{transform:scale(1.03)}.booking-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,7vw,7rem);background:var(--cream);align-items:start}.booking-intro{position:sticky;top:110px}.booking-intro p{color:var(--muted)}.direct{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}.direct a{display:block;margin-top:.6rem;color:var(--rose);font-weight:600}.booking{background:var(--white);border-radius:var(--radius);padding:clamp(1.3rem,4vw,3rem);box-shadow:var(--shadow)}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 3rem;counter-reset:steps}.steps li{font-size:.75rem;color:var(--muted);border-top:2px solid var(--line);padding-top:.6rem}.steps li.active{color:var(--rose);border-color:var(--rose);font-weight:600}.step-panel{display:none}.step-panel.active{display:block}.step-panel h3{font:600 2rem 'Playfair Display';margin-top:0}.category-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.5rem}.category-tabs button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:.5rem .8rem;font-size:.78rem;cursor:pointer}.category-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.booking-services{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;max-height:480px;overflow:auto;padding-right:.3rem}.booking-service{position:relative;border:1px solid var(--line);border-radius:12px;padding:1rem;text-align:left;background:#fff;cursor:pointer}.booking-service:hover,.booking-service.selected{border-color:var(--rose);background:#fff8f8}.booking-service strong{display:block}.booking-service small{color:var(--muted)}.booking-service span{display:block;color:var(--rose);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-grid label{font-size:.82rem;font-weight:600}.form-grid .wide{grid-column:1/-1}input,select,textarea{width:100%;display:block;border:1px solid #b9aaa1;border-radius:10px;padding:.8rem;background:#fff;margin-top:.35rem}input:focus,select:focus,textarea:focus{outline:3px solid rgba(166,77,97,.2);border-color:var(--rose)}.error{display:block;color:#a02b43;font-size:.75rem;min-height:1em}.check{display:flex;align-items:flex-start;gap:.7rem;margin-top:1rem;font-size:.84rem}.check input{width:auto;margin-top:.25rem}.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.back{border:0;background:none;text-decoration:underline;cursor:pointer}.form-hint{font-size:.8rem;color:var(--muted)}.summary{display:grid;gap:.7rem}.summary div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.6rem 0}.confirmation{padding:1rem;background:var(--cream);border-radius:10px;font-size:.85rem}.visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:start}.contact-card address{font-style:normal;margin:1.5rem 0}.contact-card>p{max-width:600px}.contact-card>p,.hours{color:var(--muted)}.hours{background:var(--white);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow)}.hours-head{display:flex;justify-content:space-between;align-items:center}.hours h3{font:600 1.8rem 'Playfair Display';color:var(--ink)}#open-status{font-size:.75rem;border-radius:999px;padding:.35rem .7rem;background:var(--cream);color:var(--ink);font-weight:600}#open-status.open{background:#e3efdf;color:#365932}#open-status.closing{background:#f7e7d4;color:#7b491f}.hours-row{display:flex;justify-content:space-between;padding:.55rem 0}.hours-row.today{color:var(--rose);font-weight:600}.map-section{padding:0 clamp(1.25rem,7vw,7rem) 7rem;position:relative}.map-section iframe{width:100%;height:480px;border:0;border-radius:var(--radius)}.map-section .button{position:absolute;right:calc(clamp(1.25rem,7vw,7rem) + 1.5rem);bottom:8.5rem}footer{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem;padding:5rem clamp(1.25rem,7vw,7rem) 2rem;background:var(--ink);color:#eee5dc}footer .brand>span{color:#e0a4b1;border-color:#e0a4b1}footer h3{color:#fff;font:600 1.2rem 'Playfair Display'}footer>div>a:not(.button),footer button{display:block;color:#d9ccc2;margin:.4rem 0;background:none;border:0;padding:0;cursor:pointer;text-align:left}footer .button{margin-top:1rem}.copyright{grid-column:1/-1;border-top:1px solid #574a46;padding-top:1.5rem;font-size:.78rem;color:#baa9a2}.mobile-actions{display:none}dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}dialog::backdrop{background:rgba(28,21,19,.9)}#lightbox{width:100vw;height:100dvh;color:#fff}#lightbox figure{width:min(80vw,800px);height:88dvh;margin:6dvh auto;display:grid;place-items:center}#lightbox img{max-width:100%;max-height:82dvh;border-radius:var(--radius)}#lightbox figcaption{text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next,.legal-close{position:fixed;z-index:2;border:0;background:rgba(255,255,255,.15);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer}.lightbox-close{right:2rem;top:2rem}.lightbox-prev{left:2rem;top:50%}.lightbox-next{right:2rem;top:50%}#legal{width:min(90vw,720px);background:var(--white);padding:3rem;border-radius:var(--radius);color:var(--ink)}#legal .legal-close{position:absolute;right:1rem;top:1rem;color:var(--ink);background:var(--cream)}#legal h2{font:600 2.4rem 'Playfair Display'}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){nav{display:none}.site-header{grid-template-columns:auto auto 1fr}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:none;flex-direction:column;justify-content:center;gap:5px;margin-left:auto}.menu-toggle span{width:22px;height:1px;background:var(--ink)}.menu-toggle b{position:absolute;clip:rect(0 0 0 0)}nav.open{display:flex;position:fixed;left:0;right:0;top:78px;background:var(--paper);padding:2rem;flex-direction:column;align-items:center;border-bottom:1px solid var(--line)}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{padding-bottom:64px}.site-header{height:68px;padding:0 1rem;grid-template-columns:1fr auto}.site-header .brand strong{font-size:.9rem}.site-header .brand>span{width:36px;height:36px}.menu-toggle{grid-column:2}.header-actions{display:none}nav.open{top:68px}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{padding:4rem 1.25rem 3rem}.hero h1{font-size:clamp(3.1rem,15vw,4.8rem)}.hero-image{min-height:470px;border-radius:0 0 0 40px}.hero-stamp{width:110px;height:110px;left:1rem;bottom:1rem}.trust-strip{justify-content:flex-start;overflow:auto;padding:1rem}.trust-strip span{white-space:nowrap}.trust-strip span+span:before{margin-right:1rem}.section{padding:5rem 1.25rem}.about{grid-template-columns:1fr}.about-image span{right:-.3rem}.about-copy h2,.section-heading h2,.offer h2,.booking-intro h2,.contact-card h2{font-size:3rem}.service-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;margin-right:-1.25rem;padding-right:1.25rem}.service-card{min-width:82vw;scroll-snap-align:start}.price-grid{grid-template-columns:1fr}.price-category h3{display:flex;justify-content:space-between;align-items:center}.price-toggle{display:block;border:0;background:none;font-size:1.4rem}.price-list{display:none}.price-category.open .price-list{display:block}.price-item{grid-template-columns:1fr auto}.price-item .book-mini{grid-column:1/-1;text-align:left;padding:0}.offer-card{grid-template-columns:1fr}.offer-mark{grid-row:1}.gallery{columns:2;column-gap:.65rem}.gallery button{margin-bottom:.65rem}.booking-section{grid-template-columns:1fr}.booking-intro{position:static}.booking{padding:1.2rem}.steps li{font-size:0}.steps li:before{content:counter(list-item);font-size:.75rem}.booking-services,.form-grid{grid-template-columns:1fr}.visit{grid-template-columns:1fr}.map-section{padding:0 1.25rem 5rem}.map-section iframe{height:380px}.map-section .button{position:static;margin-top:1rem;width:100%}footer{grid-template-columns:1fr 1fr;padding:4rem 1.25rem 2rem}footer .footer-brand{grid-column:1/-1}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:60;left:0;right:0;bottom:0;height:64px;background:var(--ink);color:#fff}.mobile-actions a{display:grid;place-items:center;font-size:.82rem;font-weight:600}.mobile-actions a:last-child{background:var(--rose)}.lightbox-prev{left:.6rem}.lightbox-next{right:.6rem}.lightbox-close{right:.6rem;top:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* BeeNail-inspired art direction: spacious white header, photographic hero, champagne and sage accents. */
:root{--ink:#49382f;--muted:#75655d;--paper:#fffdf9;--cream:#fbf3df;--rose:#c89a3d;--rose-dark:#9d7428;--sage:#758f79;--line:#e8dfd5;--white:#fff;--shadow:0 7px 18px rgba(73,56,47,.10)}
body{background:#fffdf9}
.site-header{height:112px;background:#fff;grid-template-columns:minmax(220px,auto) 1fr auto;padding-inline:clamp(1rem,4vw,4.5rem);border-bottom:0;box-shadow:0 2px 8px rgba(73,56,47,.07)}
.brand>span{width:62px;height:62px;border-color:var(--rose);font-size:1.3rem}
.brand strong{font-size:1.28rem}.brand i{color:var(--sage)}
nav{gap:clamp(.8rem,1.8vw,2rem)}nav a{font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}
.button{background:var(--rose);border-color:var(--rose)}.button:hover{background:var(--rose-dark);border-color:var(--rose-dark)}
.button.outline{border-color:#fff;color:#fff;background:rgba(73,56,47,.2)}.button.outline:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero{position:relative;display:block;min-height:calc(100dvh - 112px);isolation:isolate;background:#2c201c;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(35,24,20,.82) 0%,rgba(35,24,20,.5) 45%,rgba(35,24,20,.08) 78%)}
.hero-image{position:absolute;inset:0;z-index:-2;min-height:0;border-radius:0}.hero-image>img{width:100%;height:100%;object-position:center center;filter:saturate(.92)}
.hero-copy{position:relative;z-index:1;min-height:calc(100dvh - 112px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,9vw,9rem);color:#fff}
.hero h1{font-size:clamp(3.4rem,7vw,6rem);letter-spacing:-.04em;text-wrap:balance}.hero h1 em{color:#f0ca72}.hero-copy>p:not(.kicker){color:#f5eee8;max-width:570px}.hero .kicker{color:#f0ca72}.hero .quiet-link{color:#fff}
.hero-stamp{position:absolute;z-index:2;left:auto;right:clamp(1.25rem,7vw,7rem);bottom:clamp(1.5rem,5vw,4rem);background:#fff;color:var(--ink);box-shadow:0 7px 18px rgba(20,10,5,.18)}
.trust-strip{background:var(--rose);color:#fff}.trust-strip span+span:before{color:#fff}
.section{max-width:1600px;margin-inline:auto}.about{background:#fff}.about-image span{background:var(--sage)}
.kicker{color:var(--rose)}.section h2{letter-spacing:-.04em;text-wrap:balance}
.services{max-width:none;background:#fff;padding-inline:max(clamp(1.25rem,7vw,7rem),calc((100vw - 1600px)/2 + 7rem))}
.service-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.service-card{box-shadow:0 6px 8px rgba(73,56,47,.07);border:0}.service-card:hover{box-shadow:0 8px 12px rgba(73,56,47,.12)}
.service-card img{aspect-ratio:1}.service-bottom strong{color:var(--rose-dark)}
.price-section{max-width:none;background:var(--cream);padding-inline:max(clamp(1.25rem,7vw,7rem),calc((100vw - 1600px)/2 + 7rem))}.price-category{background:#fff;border:0;box-shadow:0 5px 8px rgba(73,56,47,.06)}.price-category h3{background:#fff;border-bottom:3px solid var(--rose)}
.offer-card{background:var(--sage)}.offer-card .kicker,.offer-mark strong{color:#fff}.offer-card .button{background:#fff;color:var(--ink);border-color:#fff}.offer-card small{color:#f3f6f3}
.gallery-section{max-width:none;background:#fff;padding-inline:max(clamp(1.25rem,7vw,7rem),calc((100vw - 1600px)/2 + 7rem))}.gallery img{aspect-ratio:1}.gallery button:nth-child(3n) img{aspect-ratio:1}
.booking-section{max-width:none;background:var(--cream);padding-inline:max(clamp(1.25rem,7vw,7rem),calc((100vw - 1600px)/2 + 7rem))}.booking{box-shadow:0 7px 18px rgba(73,56,47,.10)}.category-tabs button.active{background:var(--rose);border-color:var(--rose)}.booking-service:hover,.booking-service.selected{border-color:var(--rose);background:#fffaf0}.booking-service span,.direct a{color:var(--rose-dark)}
.hours{box-shadow:0 7px 18px rgba(73,56,47,.10)}#open-status.open{background:#e5eee6;color:#36593c}.hours-row.today{color:var(--sage)}
footer{background:#fff;color:var(--muted);border-top:1px solid var(--line)}footer h3{color:var(--ink)}footer .brand>span{color:var(--rose);border-color:var(--rose)}footer>div>a:not(.button),footer button{color:var(--muted)}.copyright{color:var(--muted);border-color:var(--line)}
.reveal{opacity:1;transform:none;transition:transform .7s cubic-bezier(.22,1,.36,1)}.reveal.visible{transform:none}
@media(max-width:1100px){.site-header{height:88px}.brand>span{width:50px;height:50px}nav.open{top:88px;background:#fff}}
@media(max-width:760px){.site-header{height:72px}.site-header .brand>span{width:40px;height:40px}.hero{min-height:calc(100dvh - 72px)}.hero-copy{min-height:calc(100dvh - 72px);padding:4rem 1.25rem 8rem}.hero h1{font-size:clamp(3.1rem,14vw,4.8rem)}.hero-image{min-height:0}.hero-image>img{object-position:center center}.hero:after{background:linear-gradient(90deg,rgba(35,24,20,.8),rgba(35,24,20,.28))}.hero-stamp{right:1rem;bottom:1rem;left:auto}.hero .button-row{align-items:stretch}.hero .button{width:100%}.hero .quiet-link{width:100%;text-align:center}.services,.price-section,.gallery-section,.booking-section{padding-inline:1.25rem}nav.open{top:72px}.mobile-actions a:last-child{background:var(--rose)}}

/* Popular Services carousel, matching the reference interaction while using Tring content. */
.services{background:#fffaf0;overflow:hidden}
.services-title-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:3rem}
.services-title-row .section-heading{margin:0}.services-title-row .section-heading p{margin-bottom:0}
.services-title-row h2{font-family:'DM Sans',sans-serif;font-size:clamp(2.5rem,4vw,4.2rem);font-weight:700;letter-spacing:-.04em;margin:0 0 .6rem}
.service-controls{display:flex;gap:.9rem;flex:none}
.service-controls button{width:44px;height:44px;border:0;border-radius:50%;background:var(--rose);color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease}
.service-controls button:hover{background:var(--rose-dark);transform:translateY(-2px)}.service-controls button:active{transform:translateY(1px)}
.service-grid{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 .5rem;scroll-behavior:smooth}.service-grid::-webkit-scrollbar{display:none}
.service-card{flex:0 0 calc((100% - 3rem)/3);min-width:0;scroll-snap-align:start;background:#fff;border-radius:38px 0 38px 0;box-shadow:none;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:none}.service-card img{width:100%;aspect-ratio:1.48/1;object-fit:cover;border-radius:38px 0 0 0}
.service-card-body{padding:1.3rem 1.5rem 1.15rem;display:flex;flex-direction:column;gap:2.2rem;flex:1}.service-card h3{font-family:'DM Sans',sans-serif;font-size:1.15rem;line-height:1.35;color:#14264a;margin:0;min-height:3.1rem}
.service-meta{display:flex;justify-content:space-between;align-items:end;gap:1rem;color:#14264a}.service-meta span{font-weight:700;font-size:1.05rem}.service-meta small{font-weight:400;color:#9a9fb0;margin-right:.25rem}.service-meta time{font-size:.76rem;font-weight:600;white-space:nowrap}
.service-book{width:100%;min-height:66px;border:0;background:#fff1cb;color:#53370c;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s ease}.service-book:hover{background:#f5dda0}.service-bottom{display:none}
@media(max-width:980px){.service-card{flex-basis:calc((100% - 1.5rem)/2)}}
@media(max-width:620px){.services-title-row{align-items:flex-end;margin-bottom:2rem}.services-title-row .section-heading p{display:none}.services-title-row h2{font-size:2.15rem}.service-controls button{width:40px;height:40px}.service-card{flex-basis:86%;border-radius:30px 0 30px 0}.service-card img{border-radius:30px 0 0 0}.service-card-body{gap:1.5rem;padding:1.15rem}.service-card h3{min-height:auto}.service-book{min-height:58px}}

/* Category-led Price List carousel. */
.price-section{overflow:hidden;background:#fffaf0}
.price-heading{text-align:center;max-width:720px;margin:0 auto 2.5rem}.price-heading h2{font-family:'DM Sans',sans-serif;font-size:clamp(2.7rem,4.5vw,4.5rem);font-weight:700;letter-spacing:-.04em;margin:0 0 .5rem}.price-heading p{color:var(--muted);margin:0}
.price-tabs{display:flex;align-items:stretch;gap:.35rem;overflow-x:auto;scrollbar-width:none;background:#fff1d4;padding:.55rem;margin:0 auto 4rem;max-width:1280px}.price-tabs::-webkit-scrollbar{display:none}
.price-tabs button{flex:1 0 max-content;min-height:48px;padding:.65rem 1.35rem;border:0;background:transparent;color:var(--ink);font-size:.84rem;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}.price-tabs button:hover{background:#f9e3ac}.price-tabs button.active{background:#efb938;color:#fff;font-weight:700}
.price-carousel-wrap{position:relative;max-width:1440px;margin:auto}.price-grid{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding:.25rem 0 .75rem}.price-grid::-webkit-scrollbar{display:none}
.price-service-card{flex:0 0 calc((100% - 4.5rem)/4);min-width:0;scroll-snap-align:start;background:#fff;border-radius:38px 0 38px 0;overflow:hidden;display:flex;flex-direction:column}.price-service-card img{width:100%;aspect-ratio:1.48/1;object-fit:cover;border-radius:38px 0 0 0}.price-card-body{padding:1.25rem 1.4rem 1rem;display:flex;flex-direction:column;gap:2rem;flex:1}.price-card-body h3{font-family:'DM Sans',sans-serif;font-size:1.05rem;line-height:1.4;color:#14264a;margin:0;min-height:3rem}.price-card-meta{display:flex;justify-content:space-between;align-items:end;gap:1rem;color:#14264a}.price-card-meta span{font-weight:700}.price-card-meta small{font-weight:400;color:#9a9fb0;margin-right:.25rem}.price-card-meta time{font-size:.75rem;font-weight:600;white-space:nowrap}.price-card-book{min-height:62px;border:0;background:#fff1cb;color:#53370c;font-weight:700;cursor:pointer;transition:background .2s ease}.price-card-book:hover{background:#f5dda0}
.price-arrow{position:absolute;z-index:2;top:50%;width:44px;height:44px;border:0;border-radius:50%;background:var(--rose);color:#fff;font-size:2rem;display:grid;place-items:center;cursor:pointer;transform:translateY(-50%)}.price-arrow:hover{background:var(--rose-dark)}.price-prev{left:-58px}.price-next{right:-58px}
.price-note{margin:2rem auto 0;max-width:980px;text-align:center}
@media(max-width:1200px){.price-service-card{flex-basis:calc((100% - 3rem)/3)}.price-prev{left:.5rem}.price-next{right:.5rem}}
@media(max-width:820px){.price-tabs{margin-bottom:2rem}.price-service-card{flex-basis:calc((100% - 1.5rem)/2)}}
@media(max-width:560px){.price-heading{text-align:left}.price-heading h2{font-size:2.5rem}.price-tabs{margin-inline:-1.25rem;padding-inline:1.25rem}.price-tabs button{flex-grow:0}.price-service-card{flex-basis:86%;border-radius:30px 0 30px 0}.price-service-card img{border-radius:30px 0 0 0}.price-card-body{gap:1.4rem}.price-arrow{display:none}.price-note{text-align:left}}

/* Stable About layout: fixed visual frame prevents the portrait source from stretching the section. */
.about{width:min(100%,1320px);grid-template-columns:minmax(360px,480px) minmax(0,1fr);gap:clamp(3rem,7vw,7rem);padding-block:clamp(5rem,8vw,7.5rem);padding-inline:clamp(1.25rem,5vw,4rem);align-items:center}
.about-image{width:100%;max-width:480px;height:clamp(520px,62vw,650px);aspect-ratio:auto;overflow:hidden;border-radius:var(--radius)}
.about-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 30%;border-radius:inherit}
.about-image span{z-index:1;right:1rem;bottom:1rem}.about-copy{min-width:0}.about-copy h2{font-size:clamp(3rem,5vw,4.8rem);line-height:1;letter-spacing:-.04em}.about-copy>p{font-size:1rem;line-height:1.72;text-wrap:pretty}
@media(max-width:1024px){.about{grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:3rem}.about-image{height:540px}.about-copy h2{font-size:clamp(2.7rem,5.5vw,3.8rem)}}
@media(max-width:820px){.about{grid-template-columns:1fr;max-width:680px;gap:2.5rem}.about-image{max-width:none;height:auto;aspect-ratio:4/5}.about-image img{height:100%}.about-copy h2{font-size:clamp(2.7rem,10vw,4rem)}}
@media(max-width:480px){.about{padding-block:4rem}.about-image{aspect-ratio:4/5}.about-image span{font-size:.9rem;padding:.7rem 1rem}.benefits{grid-template-columns:1fr}}

/* Balanced gallery grid: heading and artwork share one centred content rail. */
.gallery-section{width:min(100%,1440px);max-width:1440px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,4rem);background:#fff}
.gallery-section .section-heading{width:100%;max-width:none;margin-bottom:3rem}
.gallery-section .section-heading h2{font-size:clamp(3.2rem,6vw,5.8rem);line-height:1;max-width:100%;margin-bottom:0}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;columns:auto;width:100%}
.gallery button{width:100%;margin:0;aspect-ratio:1;min-width:0;border-radius:var(--radius)}
.gallery img,.gallery button:nth-child(3n) img{width:100%;height:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:820px){.gallery-section .section-heading h2{font-size:clamp(3rem,10vw,4.8rem)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}
@media(max-width:480px){.gallery-section{padding-block:4rem}.gallery-section .section-heading{margin-bottom:2rem}.gallery-section .section-heading h2{font-size:clamp(2.7rem,13vw,3.6rem)}.gallery{gap:.55rem}.gallery button{border-radius:10px}}

/* Real salon photography leads everywhere except the illustrated price cards. */
.hero{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:calc(100dvh - 112px);background:#f7f7f5;overflow:hidden}
.hero:after{content:none}
.hero-copy{grid-column:1;grid-row:1;min-height:calc(100dvh - 112px);padding:clamp(4rem,7vw,7rem) clamp(1.5rem,6vw,7rem);color:#17223f;background:#f7f7f5}
.hero-copy:before{content:"";width:52px;height:3px;margin-bottom:1.4rem;background:#c58db0}
.hero .kicker{color:#8f456f;letter-spacing:.12em}
.hero h1{max-width:700px;font-family:'DM Sans',sans-serif;font-size:clamp(3.5rem,6vw,6.4rem);font-weight:600;line-height:.94;letter-spacing:-.04em;margin:.65rem 0 1.75rem}
.hero h1 em{display:inline-block;color:#b25d8f;font-family:inherit;font-weight:500;line-height:1.08;padding-bottom:.08em}
.hero-copy>p:not(.kicker){max-width:500px;color:#5d6372;font-size:1.08rem}
.hero-image{position:relative;inset:auto;grid-column:2;grid-row:1;min-height:calc(100dvh - 112px);z-index:0;border-radius:0;overflow:hidden}
.hero-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.3);pointer-events:none}
.hero-image>img{width:100%;height:100%;object-position:center 48%;filter:none}
.hero .button.outline{border-color:#17223f;color:#17223f}
.hero .button.outline:hover{background:#17223f;color:#fff}
.hero .quiet-link{color:#17223f}
.hero-stamp{right:clamp(1rem,3vw,3rem);bottom:clamp(1rem,3vw,3rem);left:auto;width:122px;height:122px;box-shadow:0 8px 18px rgba(20,30,52,.12)}
.service-card{border-radius:14px}
.service-card img{border-radius:0;aspect-ratio:4/3}
.service-card-body{gap:1.4rem}
.gallery button{overflow:hidden;background:#ececef}
.gallery button:nth-child(1),.gallery button:nth-child(7){grid-row:span 2;aspect-ratio:auto}
.gallery img{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.gallery button:hover img{transform:scale(1.025)}
.gallery button:nth-last-child(-n+6) img{object-position:center 38%}
.gallery button:last-child img{object-position:center}

@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{grid-column:1;min-height:auto;padding:5rem clamp(1.25rem,7vw,4rem) 4rem}.hero-image{grid-column:1;grid-row:2;min-height:62dvh}.hero-stamp{bottom:1rem}.hero h1{font-size:clamp(3.2rem,11vw,5.4rem)}}
@media(max-width:620px){.hero-copy{padding-top:3.5rem}.hero h1{font-size:clamp(3rem,14vw,4.45rem)}.hero-image{min-height:58dvh}.hero .button-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero .button{width:100%;padding-inline:.8rem}.hero .quiet-link{grid-column:1/-1;width:auto;text-align:left}.hero-stamp{width:104px;height:104px}.gallery button:nth-child(1),.gallery button:nth-child(7){grid-row:auto;aspect-ratio:1}}

/* Brand artwork */
.brand{flex:0 0 auto}
.brand-logo{display:block;width:82px;height:82px;object-fit:contain}
footer .brand-logo{width:150px;height:150px}
@media(max-width:1100px){.brand-logo{width:68px;height:68px}}
@media(max-width:760px){.brand-logo{width:56px;height:56px}footer .brand-logo{width:130px;height:130px}}
.copyright{text-align:center}
.hero-stamp{transform:none;text-align:center;gap:.12rem}
.hero-stamp span,.hero-stamp strong,.hero-stamp small{display:block;width:100%;margin:0;text-align:center}
.hero-stamp span,.hero-stamp small{line-height:1.3;letter-spacing:.06em}
.hero-stamp strong{line-height:1.15}
.gallery-cta{grid-column:span 2;aspect-ratio:2/1;min-height:280px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2rem,5vw,5rem);overflow:hidden;border-radius:var(--radius);background:#17223f;color:#fff}
.gallery-cta span{color:#e1a9c9;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.gallery-cta h3{max-width:620px;margin:.5rem 0 .8rem;font-family:'DM Sans',sans-serif;font-size:clamp(2rem,3.7vw,4rem);font-weight:600;line-height:1;letter-spacing:-.035em;text-wrap:balance}
.gallery-cta p{max-width:520px;margin:0 0 1.5rem;color:#d7dae4}
.gallery-cta .button{background:#c36d9f;border-color:#c36d9f}
.gallery-cta .button:hover{background:#a85284;border-color:#a85284}
@media(max-width:620px){.gallery-cta{grid-column:1/-1;aspect-ratio:auto;min-height:330px;padding:2rem}.gallery-cta h3{font-size:clamp(2rem,9vw,3rem)}}

/* Tring Nails pink identity and reference-matched Nunito typography. */
:root{--ink:#351f2d;--muted:#705965;--paper:#fff9fc;--cream:#fdebf4;--rose:#c95f96;--rose-dark:#9d3f70;--sage:#b94e87;--line:#ecd6e2;--white:#fff;--shadow:0 8px 18px rgba(117,42,82,.10)}
html{scroll-padding-top:112px}
body,button,input,select,textarea{font-family:'Nunito',sans-serif}
.hero h1,.section h2,.about-copy h2,.section-heading h2,.offer h2,.booking-intro h2,.contact-card h2,.hours h3,.step-panel h3,#legal h2,.service-card h3,.price-card-body h3,.gallery-cta h3{font-family:'Nunito',sans-serif}
.contact-bar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.45rem clamp(1rem,4vw,4.5rem);background:var(--ink);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.015em}
.contact-bar>div{display:flex;gap:1.5rem}.contact-bar a{min-height:28px;display:inline-flex;align-items:center;gap:.45rem;transition:color .2s ease}.contact-bar a:hover{color:#f4b9d8}.contact-bar span{color:#ed8ebe;font-size:.62rem}
.site-header{background:#fff;box-shadow:0 2px 8px rgba(83,35,61,.07)}
.button,.service-controls button,.price-arrow{background:var(--rose);border-color:var(--rose)}
.button:hover,.service-controls button:hover,.price-arrow:hover{background:var(--rose-dark);border-color:var(--rose-dark)}
.hero,.hero-copy{background:#fff5fa}.hero-copy{color:var(--ink)}.hero-copy:before{background:var(--rose)}.hero .kicker,.hero h1 em{color:var(--rose-dark)}.hero-copy>p:not(.kicker){color:var(--muted)}.hero .button.outline{border-color:var(--ink);color:var(--ink)}.hero .quiet-link{color:var(--ink)}
.trust-strip{background:var(--rose-dark)}
.about-image span{background:var(--rose-dark)}
.services,.price-section,.booking-section{background:var(--paper)}
.service-card h3,.service-meta,.price-card-body h3,.price-card-meta{color:var(--ink)}
.service-book,.price-card-book{background:#f9dcea;color:#6f2850}.service-book:hover,.price-card-book:hover{background:#f2c3da}
.price-tabs{background:#f9dce9}.price-tabs button:hover{background:#f3c4da}.price-tabs button.active{background:var(--rose-dark)}
.booking-service:hover,.booking-service.selected{background:#fff4f9}.category-tabs button.active{background:var(--rose-dark);border-color:var(--rose-dark)}
.hours-row.today{color:var(--rose-dark)}#open-status.open{background:#f9dce9;color:#6f2850}
.gallery-cta{background:var(--ink)}.gallery-cta span{color:#f3b4d3}.gallery-cta .button{background:var(--rose);border-color:var(--rose)}.gallery-cta .button:hover{background:var(--rose-dark);border-color:var(--rose-dark)}
.offer{max-width:none;background:#fff;padding-block:clamp(4rem,7vw,7rem)}
.offer-card{width:min(100%,1440px);margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(230px,320px);align-items:center;gap:clamp(2rem,6vw,6rem);background:var(--rose-dark);padding:clamp(2rem,5vw,5rem);border-radius:16px}
.offer-card h2{font-size:clamp(2.7rem,5vw,5.3rem);line-height:.98;letter-spacing:-.04em}.offer-card .kicker{color:#ffd9eb}.offer-intro{font-size:1.12rem}.offer-benefits{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.5rem;margin:2rem 0}.offer-benefits p{margin:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.28)}.offer-benefits p:last-child{grid-column:1/-1}.offer-benefits strong,.offer-benefits span{display:block}.offer-benefits strong{font-size:1.05rem;margin-bottom:.25rem}.offer-benefits span{color:#fdebf4}.offer-contact a{text-decoration:underline;text-underline-offset:3px;font-weight:800}.offer-side{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.offer-mark{width:180px;height:180px;text-align:center}.offer-mark strong{font-family:'Nunito',sans-serif;color:#fff;font-size:3.4rem;line-height:1}.offer-mark span{max-width:100px;font-size:.7rem;line-height:1.3}.offer-side .button{width:100%;background:#fff;color:var(--rose-dark);border-color:#fff}.offer-side .button:hover{background:#fdebf4;color:var(--rose-dark);border-color:#fdebf4}
footer{background:#fff;color:var(--muted);border-color:var(--line)}footer h3{font-family:'Nunito',sans-serif;color:var(--ink)}
.reveal{opacity:1;transform:translateY(18px);transition:transform .7s cubic-bezier(.22,1,.36,1)}.reveal.visible{transform:none}
@media(max-width:760px){html{scroll-padding-top:72px}.contact-bar{min-height:62px;flex-direction:column;align-items:flex-start;justify-content:center;gap:.1rem;padding:.5rem 1rem;font-size:.72rem}.contact-bar>div{width:100%;justify-content:space-between;gap:.75rem}.contact-bar>div a:first-child{display:none}.offer-card{grid-template-columns:1fr}.offer-benefits{grid-template-columns:1fr}.offer-benefits p:last-child{grid-column:auto}.offer-side{align-items:flex-start}.offer-mark{width:130px;height:130px}.offer-mark strong{font-size:2.5rem}.offer-side .button{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-bar a,.gallery img{transition:none}.reveal{transform:none}}

/* BeeNail-aligned page composition: full-bleed carousel hero and horizontal gallery. */
.hero{position:relative;display:grid;place-items:center;min-height:calc(100dvh - 112px);background:var(--ink);isolation:isolate;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(35,18,30,.66),rgba(35,18,30,.24) 56%,rgba(35,18,30,.12))}
.hero-slides{position:absolute;inset:0;z-index:-2}.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.025);transition:opacity .9s ease,transform 5s cubic-bezier(.22,1,.36,1)}.hero-slides img.active{opacity:1;transform:scale(1)}.hero-slides img:nth-child(2){object-position:center 43%}.hero-slides img:nth-child(3){object-position:center 48%}.hero-slides img:nth-child(4){object-position:center 45%}
.hero-copy{position:relative;z-index:1;grid-column:auto;grid-row:auto;min-height:0;width:min(100%,1440px);display:block;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,9vw,9rem);background:transparent;color:#fff}.hero-copy:before{display:none}.hero .kicker{color:#ffd7e9}.hero h1{max-width:850px;margin:.55rem 0 1.4rem;color:#fff;font-size:clamp(3.6rem,8vw,6rem);font-weight:700;line-height:.96}.hero h1 em{color:#ffd7e9}.hero-copy>p:not(.kicker){max-width:560px;color:#fff;font-size:1.12rem;text-shadow:0 1px 8px rgba(40,18,31,.24)}.hero .button.outline{border-color:#fff;color:#fff;background:rgba(53,31,45,.24)}.hero .button.outline:hover{background:#fff;color:var(--ink)}
.hero-stamp{z-index:2;background:rgba(255,255,255,.94)}.hero-dots{position:absolute;z-index:3;left:50%;bottom:1.8rem;display:flex;gap:.65rem;transform:translateX(-50%)}.hero-dots button{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer;transition:width .25s ease,background .25s ease}.hero-dots button.active{width:30px;border-radius:999px;background:#fff}
.about{grid-template-columns:minmax(360px,1fr) minmax(0,1fr);max-width:1440px}.about-image{max-width:none;height:clamp(540px,58vw,720px)}.about-image img{object-position:center 48%}
.gallery-section{width:100%;max-width:none;padding-inline:max(clamp(1.25rem,5vw,4rem),calc((100vw - 1600px)/2 + 4rem));overflow:hidden}.gallery-title-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:3rem}.gallery-title-row .section-heading{margin:0}.gallery-title-row h2{font-size:clamp(2.8rem,5vw,4.8rem)}.gallery-controls{display:flex;gap:.9rem}.gallery-controls button{width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease}.gallery-controls button:hover{background:var(--rose-dark);transform:translateY(-2px)}
.gallery{display:flex;width:auto;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery button,.gallery button:nth-child(1),.gallery button:nth-child(7){flex:0 0 calc((100% - 6rem)/7);min-width:150px;aspect-ratio:1;grid-row:auto;scroll-snap-align:start;border-radius:0}.gallery-cta{flex:0 0 calc((200% - 5rem)/7);min-width:320px;aspect-ratio:2/1;border-radius:0}
.map-section:before{content:"Branch Location";display:block;margin:0 0 2.2rem;font-size:clamp(2.7rem,5vw,4.8rem);font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--ink)}
@media(max-width:900px){.hero{min-height:calc(100dvh - 88px);display:grid}.hero-copy{grid-column:auto;grid-row:auto;min-height:0;padding:5rem clamp(1.25rem,7vw,4rem) 7rem}.about{grid-template-columns:1fr}.about-image{height:auto}.gallery button,.gallery button:nth-child(1),.gallery button:nth-child(7){flex-basis:calc((100% - 3rem)/4);min-width:170px}.gallery-cta{flex-basis:calc((200% - 2rem)/4)}}
@media(max-width:620px){.hero{min-height:calc(100dvh - 72px)}.hero-copy{padding:4rem 1.25rem 7rem}.hero h1{font-size:clamp(3.25rem,16vw,4.5rem)}.hero-copy>p:not(.kicker){font-size:1rem}.hero .button-row{grid-template-columns:1fr}.hero-stamp{display:none}.hero-dots{bottom:1.25rem}.gallery-title-row{margin-bottom:2rem}.gallery-title-row h2{font-size:2.7rem}.gallery-controls button{width:40px;height:40px}.gallery button,.gallery button:nth-child(1),.gallery button:nth-child(7){flex-basis:calc((100% - 2rem)/3);min-width:120px}.gallery-cta{flex-basis:calc((200% - 1rem)/3);min-height:240px;padding:1.5rem}.gallery-cta h3{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.hero-slides img{transition:none;transform:none}.hero-dots button{transition:none}}

/* Tring Nails pink palette. */
:root{--ink:#351f2d;--muted:#705965;--paper:#fff9fc;--cream:#fdebf4;--rose:#c95f96;--rose-dark:#9d3f70;--sage:#b94e87;--line:#ecd6e2;--white:#fff;--shadow:0 8px 18px rgba(117,42,82,.10)}
body{background:#fff9fc;color:var(--ink)}
.contact-bar{background:var(--ink)}.contact-bar a:hover{color:#f4b9d8}.contact-bar span{color:#ed8ebe}
.site-header{box-shadow:0 2px 8px rgba(83,35,61,.07)}
.hero:after{background:linear-gradient(90deg,rgba(35,18,30,.68),rgba(35,18,30,.25) 56%,rgba(35,18,30,.1))}.hero .kicker,.hero h1 em{color:#ffd7e9}.hero-copy>p:not(.kicker){text-shadow:0 1px 8px rgba(40,18,31,.3)}.hero .button.outline{background:rgba(53,31,45,.24)}
.trust-strip{background:var(--rose-dark);color:#fff}.about-image span{background:var(--rose-dark)}
.services,.price-section,.booking-section{background:var(--paper)}
.service-book,.price-card-book{background:#f9dcea;color:#6f2850}.service-book:hover,.price-card-book:hover{background:#f2c3da}
.price-tabs{background:#f9dce9}.price-tabs button:hover{background:#f3c4da}.price-tabs button.active{background:var(--rose-dark);color:#fff}
.booking-service:hover,.booking-service.selected{background:#fff4f9}.category-tabs button.active{background:var(--rose-dark);border-color:var(--rose-dark)}
.hours-row.today{color:var(--rose-dark)}#open-status.open{background:#f9dce9;color:#6f2850}
.gallery-cta{background:var(--ink)}.gallery-cta span{color:#f3b4d3}.gallery-cta .button{background:var(--rose);border-color:var(--rose)}.gallery-cta .button:hover{background:var(--rose-dark);border-color:var(--rose-dark)}
.offer-card{background:var(--rose-dark)}.offer-card .kicker{color:#ffd9eb}.offer-benefits span{color:#fdebf4}.offer-side .button{color:var(--rose-dark)}.offer-side .button:hover{background:#fdebf4;color:var(--rose-dark);border-color:#fdebf4}
.booking-service span,.direct a{color:var(--rose-dark)}input:focus,select:focus,textarea:focus{outline-color:rgba(201,95,150,.28)}
.mobile-actions a:last-child{background:var(--rose);color:#fff}
.top-whatsapp{padding:.2rem .7rem;border-radius:999px;background:var(--rose);color:#fff}.contact-bar .top-whatsapp:hover{background:#e082b3;color:#fff}
.hero-contact{display:flex;align-items:flex-start;gap:clamp(1.5rem,4vw,3.5rem);margin-top:1.7rem}.hero-contact a{display:flex;flex-direction:column;min-height:50px;padding-left:1rem;border-left:1px solid rgba(255,255,255,.6);color:#fff;transition:color .2s ease}.hero-contact a:hover{color:#ffd7e9}.hero-contact small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-contact strong{font-size:.95rem;line-height:1.4}.hero-contact+.button-row{margin-top:1.6rem}
@media(max-width:620px){.hero-contact{flex-direction:column;gap:.7rem;margin-top:1.25rem}.hero-contact a{min-height:0}.hero-contact strong{font-size:.86rem}.hero-contact+.button-row{margin-top:1.35rem}}

/* Refined hero contact rail. */
.hero-contact{display:grid;grid-template-columns:minmax(330px,1.55fr) minmax(180px,.75fr);width:min(100%,650px);gap:0;margin-top:1.8rem;padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.38)}
.hero-contact a{position:relative;min-height:58px;padding:.1rem 1.6rem .1rem 1.15rem;border-left:0;color:#fff}
.hero-contact a:first-child:before{content:"";position:absolute;left:0;top:.25rem;bottom:.25rem;width:3px;border-radius:999px;background:var(--rose)}
.hero-contact a+a{padding-left:1.6rem;border-left:1px solid rgba(255,255,255,.32)}
.hero-contact small{margin-bottom:.12rem;color:#ffd7e9;font-size:.68rem;line-height:1.2;letter-spacing:.14em}
.hero-contact strong{font-size:1rem;font-weight:800;line-height:1.42;text-wrap:pretty}
.hero-contact a:last-child strong{white-space:nowrap;font-size:1.08rem}
.hero-contact a:hover{color:#fff}.hero-contact a:hover strong{color:#ffd7e9}
.hero-contact+.button-row{margin-top:1.45rem}
@media(max-width:700px){.hero-contact{grid-template-columns:1fr;width:min(100%,430px);gap:.75rem;padding-top:1rem}.hero-contact a{min-height:0;padding:.05rem 0 .05rem 1rem}.hero-contact a+a{padding-left:1rem;border-left:0}.hero-contact a+a:before{content:"";position:absolute;left:0;top:.25rem;bottom:.25rem;width:3px;border-radius:999px;background:rgba(255,255,255,.45)}.hero-contact strong{font-size:.9rem}.hero-contact a:last-child strong{font-size:.98rem}}

/* Student discount welcome offer. */
#student-offer{width:min(92vw,760px);overflow:hidden;background:#fff;border-radius:16px;color:var(--ink);box-shadow:0 8px 18px rgba(53,31,45,.18)}
#student-offer[open]{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr)}
#student-offer::backdrop{background:rgba(42,22,35,.72)}
.student-offer-art{display:flex;min-height:430px;flex-direction:column;align-items:center;justify-content:center;background:var(--rose-dark);color:#fff}
.student-offer-art span{font-size:clamp(4.5rem,10vw,7.5rem);font-weight:800;line-height:.82;letter-spacing:-.04em}
.student-offer-art small{margin-top:1rem;font-size:1.15rem;font-weight:800;letter-spacing:.22em}
.student-offer-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem)}
.student-offer-copy>p:first-child{margin:0;color:var(--rose-dark);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.student-offer-copy h2{margin:.55rem 0 1rem;font-size:clamp(2rem,4vw,3.25rem);font-weight:800;line-height:1;letter-spacing:-.035em;text-wrap:balance}
.student-offer-copy>p:not(:first-child){margin:.25rem 0 1rem;font-size:1.05rem}
.student-offer-copy>small{color:var(--muted);line-height:1.5}
.student-offer-copy .button{align-self:flex-start;margin-top:1.5rem}
.student-offer-close{position:absolute;z-index:1;top:.75rem;right:.75rem;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:#f9dcea;color:var(--ink);font-size:1.5rem;cursor:pointer}
.student-offer-close:hover{background:#f2c3da}
@media(max-width:620px){#student-offer{width:min(82vw,340px);max-height:82dvh;overflow-y:auto}#student-offer[open]{grid-template-columns:1fr}.student-offer-art{min-height:72px;padding:.75rem}.student-offer-art span{font-size:2.55rem}.student-offer-art small{margin-top:.15rem;font-size:.62rem}.student-offer-copy{padding:1rem}.student-offer-copy>p:first-child{font-size:.68rem}.student-offer-copy h2{margin:.3rem 0 .55rem;font-size:1.42rem;line-height:1.08}.student-offer-copy>p:not(:first-child){margin:.1rem 0 .55rem;font-size:.86rem;line-height:1.45}.student-offer-copy>small{font-size:.7rem;line-height:1.35}.student-offer-copy .button{width:100%;min-height:44px;margin-top:.8rem;padding:.5rem .85rem;font-size:.86rem}.student-offer-close{top:.4rem;right:.4rem;width:40px;height:40px;font-size:1.25rem}.mobile-actions{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){#student-offer{scroll-behavior:auto}}
