:root{--ink:#181817;--coal:#242321;--gold:#bda879;--gold-dark:#8d784f;--paper:#f7f5f0;--muted:#6f6a60;--line:#dcd6c9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;letter-spacing:-.04em}h1{font-size:clamp(3.7rem,8vw,8rem)}h2{font-size:clamp(2.7rem,5vw,5rem)}h3{font-size:1.25rem}h1 em,h2 em{color:var(--gold);font-weight:400}p{max-width:62ch}.skip-link{position:absolute;left:-100vw;top:1rem;z-index:100;background:#fff;padding:1rem}.skip-link:focus{left:1rem}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.85rem 1.7rem;border:1px solid var(--gold);border-radius:3rem;background:var(--gold);color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s}.button:hover{background:#d0bc8e;transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button-small{min-height:42px;padding:.65rem 1.25rem}.text-link{border-bottom:1px solid var(--gold);font-weight:700}.eyebrow{font-size:.73rem;letter-spacing:.25em;font-weight:700;color:var(--gold-dark);text-transform:uppercase}.section{padding:clamp(5rem,9vw,9rem) max(5vw,calc((100vw - 1320px)/2));scroll-margin-top:90px}.section-heading{margin-bottom:3rem}.section-heading>p:last-child{color:var(--muted)}.topbar{height:36px;background:#77766f;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.topbar div{display:flex;gap:1.5rem}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:2rem;justify-content:space-between;min-height:84px;padding:0 5vw;background:var(--ink);color:#fff;border-bottom:1px solid #4a4842}.brand-lockup{display:flex;flex-direction:column;min-width:205px;line-height:1}.brand-lockup span{font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.04em}.brand-lockup em{font-family:Georgia,serif;font-size:1.25rem;color:var(--gold);margin:.2rem 0 0 3.7rem}.desktop-nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem)}.desktop-nav a,.mobile-nav a{font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;transition:color .2s}.desktop-nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:0;color:#fff;width:40px;height:40px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:9px 0}.mobile-nav{display:none}.hero-slider{position:relative;isolation:isolate;min-height:min(760px,calc(100dvh - 120px));background:#0f0f0e;color:white;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 5vw 9rem}.hero-backdrop{position:absolute;inset:0;z-index:-2;background:url('../photos/gallery-retouched/hero-flower.webp') center 43%/cover;filter:brightness(.34) saturate(.6);animation:heroBreath 14s ease-in-out infinite alternate}.hero-slider:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,12,12,.7),rgba(12,12,12,.18) 50%,rgba(12,12,12,.7)),linear-gradient(0deg,#111 0%,transparent 45%)}.hero-content{text-align:center;max-width:1050px}.hero-content .eyebrow{color:#d5c8aa}.hero-content h1{margin:.6rem auto 1rem;text-wrap:balance}.hero-content>p:not(.eyebrow){margin:0 auto 1.6rem;color:#ebe8e1;font-size:1.1rem}.hero-strip{position:absolute;bottom:-40px;left:3vw;right:3vw;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;transform:rotate(-1deg)}.hero-strip img{width:100%;height:140px;object-fit:cover;border:3px solid #2e2d2a;border-radius:12px;transition:transform .3s}.hero-strip img:nth-child(even){transform:translateY(12px)}.hero-strip img:hover{transform:translateY(-9px)}.hero-scroll{position:absolute;bottom:8.5rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.promo-ribbon{background:#e8e0ce}.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.promo-card{padding:2rem;background:#f8f5ec}.promo-card strong{font:italic 2.5rem Georgia;color:var(--gold-dark)}.promo-card a{border-bottom:1px solid}.about-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,8vw,8rem)}.about-photo img{width:100%;height:620px;object-fit:cover;border-radius:50% 50% 2px 2px}.about-sheet{padding:2rem 0}.about-sheet p:not(.eyebrow){color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.feature-grid article{background:#eae5da;padding-bottom:2rem}.feature-grid article img{width:100%;height:420px;object-fit:cover}.feature-grid article h3,.feature-grid article a{margin-left:2rem}.feature-grid article h3{margin-top:1.5rem}.feature-grid.three{grid-template-columns:repeat(3,1fr)}.feature-grid.three img{width:100%;height:440px;object-fit:cover}.services{background:var(--coal);color:#fff}.services .eyebrow,.services h2 em{color:var(--gold)}.services .section-heading>p:last-child{color:#c9c4b9}.service-browser{display:grid;grid-template-columns:240px 1fr;border-top:1px solid #59564d}.service-categories{padding:2rem 1.5rem 2rem 0;border-right:1px solid #59564d}.service-categories>p{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.service-category-list{display:flex;flex-direction:column;align-items:stretch;gap:.3rem}.service-category-list button{display:flex;align-items:center;gap:.7rem;text-align:left;border:0;background:transparent;color:#d4d0c6;padding:.65rem 0}.service-category-list button.active,.service-category-list button:hover{color:var(--gold)}.service-category-list button small{margin-left:auto}.service-category-list button span{font-size:.7rem}.service-panel{padding:2rem 0 1rem 2.5rem;min-width:0}.service-panel-heading{display:flex;gap:2rem;justify-content:space-between;align-items:start}.service-panel-heading span{color:var(--gold);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.service-panel-heading h3{font:2.4rem Georgia;margin:.4rem 0}.service-panel-heading p{font-size:.9rem;color:#c9c4b9}.service-search-bar{margin:1rem 0 2rem}.service-search-bar label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.service-search-bar input{display:block;width:100%;max-width:500px;margin-top:.5rem;background:#34332f;color:#fff;border:1px solid #69655b;padding:.8rem 1rem}.service-api-row{display:grid;grid-template-columns:35px 1fr auto 20px;gap:1rem;align-items:start;padding:1.2rem 0;border-top:1px solid #57534a}.service-api-row:hover{color:var(--gold)}.service-api-number,.service-api-meta small{font-size:.75rem;color:#b5ad9b}.service-api-copy h4{margin:0;font:1.3rem Georgia}.service-api-copy p{color:#bdb6a9;font-size:.85rem;margin:.3rem 0}.service-api-category{color:var(--gold)}.service-api-meta{display:flex;flex-direction:column;text-align:right}.service-api-price s{color:#aaa}.service-api-price strong{display:block;white-space:nowrap}.service-api-empty,.service-api-retry,.service-api-booking{color:#fff}.special-care{background:#ede9e1}.staff-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem}.staff-card{padding:1.5rem;background:#ebe7df}.staff-avatar{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#d7c9ad;color:#5e543f;font-size:2rem;overflow:hidden;margin-bottom:1.5rem}.staff-avatar img{height:100%;width:100%;object-fit:cover}.staff-card p{color:var(--muted);min-height:3.5em}.staff-card .button{font-size:.62rem}.self-care,.gift-card,.review-invitation{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw}.self-care img,.review-invitation img{height:540px;width:100%;object-fit:cover}.self-care{background:#ece7dd}.gift-card{background:#1b1b1a;color:white}.gift-card img{width:100%;height:450px;object-fit:cover}.gift-card p:not(.eyebrow){color:#d8d3c9}.gift-card .eyebrow{color:#cdbb97}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery-open{border:0;padding:0;background:#ddd;overflow:hidden;aspect-ratio:4/5}.gallery-open img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-open:hover img{transform:scale(1.05)}.gallery-actions{text-align:center;margin-top:3rem}.gallery-actions .button{margin:.3rem}.happy-visit{text-align:center;background:#d7cfbd}.happy-visit>*{margin-left:auto;margin-right:auto}.happy-visit p:not(.eyebrow){color:#47443e}.review-invitation{background:#efece5}.contact{background:#242321;color:#fff}.contact .eyebrow{color:var(--gold)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.contact-grid h3{font-family:Georgia;font-size:1.8rem;margin:0 0 .5rem}.contact-grid a:not(.button){display:block;color:#dfd6c2;margin-bottom:2rem}.contact-grid .button{margin-top:.5rem}.hours-list{list-style:none;padding:0;margin:0}.hours-list li{display:flex;justify-content:space-between;border-bottom:1px solid #5b584f;padding:.4rem 0;gap:1rem}.hours-list b{font-weight:400;color:#d1c6ae}.map-card{margin-top:3rem}.map-card iframe{border:0;width:100%;height:320px;background:#ddd}.map-card a{display:inline-block;margin-top:1rem;color:var(--gold)}.site-footer{background:#141413;color:#e8e4dc;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:5rem 5vw 2rem}.site-footer nav,.site-footer>div:nth-of-type(2){display:flex;flex-direction:column;gap:.6rem}.site-footer small{grid-column:1/-1;border-top:1px solid #3b3934;padding-top:1.5rem}.mobile-actions{position:fixed;bottom:1.1rem;right:1.1rem;z-index:60;display:flex;gap:.4rem}.mobile-actions a{background:#171715;color:#fff;padding:.8rem 1rem;border:1px solid #8c816a;border-radius:2rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.mobile-actions .gift-float{background:var(--gold);color:#161614}.booking-policy,.gallery-lightbox{border:1px solid var(--gold);border-radius:12px;padding:2.5rem;background:#f7f5f0;color:var(--ink);max-width:min(94vw,550px);box-shadow:0 20px 80px #0008}.booking-policy::backdrop,.gallery-lightbox::backdrop{background:#000b}.booking-policy h2{font-size:2.5rem}.booking-policy label{display:block;margin:1.5rem 0}.booking-policy label a{text-decoration:underline}.booking-policy [aria-disabled=true]{opacity:.5;pointer-events:none}.dialog-close{position:absolute;right:1rem;top:.7rem;border:0;background:none;font-size:2rem}.gallery-lightbox{max-width:min(96vw,1100px);max-height:96dvh;padding:1rem;text-align:center;background:#171717;color:#fff}.gallery-lightbox img{max-height:78dvh;width:auto;margin:auto}.gallery-lightbox div{display:flex;justify-content:space-between;gap:2rem;margin-top:.6rem}.gallery-lightbox button:not(.dialog-close){background:none;color:white;border:0}
@keyframes heroBreath{from{transform:scale(1)}to{transform:scale(1.05)}}@media(max-width:980px){.desktop-nav,.site-header>.button{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-nav{display:flex;position:fixed;z-index:49;top:84px;right:0;width:min(380px,100vw);height:calc(100dvh - 84px);padding:2rem;background:var(--ink);color:#fff;flex-direction:column;gap:1.5rem;transform:translateX(105%);transition:transform .35s}.mobile-nav.open{transform:translateX(0)}.service-browser{grid-template-columns:1fr}.service-categories{border-right:0;border-bottom:1px solid #59564d;padding:1rem 0}.service-category-list{flex-direction:row;overflow-x:auto;gap:1.5rem}.service-category-list button{white-space:nowrap}.service-panel{padding:2rem 0}.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.topbar{display:none}.site-header{min-height:72px}.mobile-nav{top:72px;height:calc(100dvh - 72px)}.section{padding:5rem 6vw}.hero-slider{min-height:690px;padding:4rem 6vw 10rem}.hero-content h1{font-size:clamp(3.6rem,14vw,5.3rem)}.hero-strip{gap:.35rem;left:2vw;right:2vw;bottom:-15px}.hero-strip img{height:110px}.hero-scroll{bottom:8rem}.about-story,.self-care,.gift-card,.review-invitation,.contact-grid{grid-template-columns:1fr;gap:2rem}.about-photo img{height:420px}.feature-grid,.feature-grid.three{grid-template-columns:1fr 1fr;gap:.6rem}.feature-grid article img,.feature-grid.three img{height:260px}.feature-grid article h3,.feature-grid article a{margin-left:1rem}.feature-grid.three img:last-child{display:none}.self-care img,.review-invitation img{height:380px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.service-panel-heading{display:block}.service-api-row{grid-template-columns:25px 1fr auto;gap:.5rem}.service-api-row>b{display:none}.site-footer{grid-template-columns:1fr 1fr;padding-bottom:7rem}.site-footer>div:first-child{grid-column:1/-1}.mobile-actions{left:.4rem;right:.4rem;bottom:.4rem}.mobile-actions a{flex:1;text-align:center;padding:.75rem .3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.brand-lockup{min-width:120px}.brand-lockup img{width:94px;height:64px;object-fit:cover;object-position:center;border:1px solid #4b463d}.about-photo img{object-position:center 32%}
.legal-page{max-width:1000px;margin:auto;min-height:65dvh}.legal-page h1{font-size:clamp(3rem,6vw,5rem)}.legal-page p{font-size:1.1rem;line-height:1.8}.legal-page .text-link{color:var(--gold-dark)}
.service-browser,.service-categories,.service-panel{min-width:0}.service-category-list{max-width:100%;min-width:0}.services{overflow:hidden}@media(max-width:980px){.service-browser{grid-template-columns:minmax(0,1fr)}.service-categories{overflow:hidden}.service-category-list{width:100%;overflow-x:auto}}
.hero-backdrop{animation:heroSlideOne 18s ease-in-out infinite}.hero-backdrop-two{background-image:url('../photos/brand/whitby-nails.webp');opacity:0;animation-name:heroSlideTwo}.hero-backdrop-three{background-image:url('../photos/gallery-retouched/670404773_18101211422311961_983561540019251158_n.webp');opacity:0;animation-name:heroSlideThree}@keyframes heroSlideOne{0%,25%{opacity:1;transform:scale(1)}34%,91%{opacity:0;transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}@keyframes heroSlideTwo{0%,25%{opacity:0;transform:scale(1.04)}34%,58%{opacity:1;transform:scale(1)}67%,100%{opacity:0;transform:scale(1.04)}}@keyframes heroSlideThree{0%,58%{opacity:0;transform:scale(1.04)}67%,91%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.hero-backdrop{animation:none}.hero-backdrop:not(:first-child){display:none}}
.about-photo img{height:min(72vw,740px);object-fit:contain;object-position:center;border-radius:2px;background:#e4e0d8}@media(max-width:680px){.about-photo img{height:auto;max-height:680px;width:100%}}
.brand-lockup{min-width:150px}.brand-lockup img{width:150px;height:70px;object-fit:cover;object-position:center}@media(max-width:680px){.brand-lockup,.brand-lockup img{min-width:130px;width:130px}.brand-lockup img{height:62px}}

/* Video-led hero with a continuous portfolio slide. */
.hero-slider{background:#171513 url('../photos/brand/whitby-nails.webp') center/cover;padding-bottom:12rem}
.self-care img{height:auto;object-fit:contain}
.hero-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.43) saturate(.7)}
.hero-slider::before{background:linear-gradient(90deg,rgba(10,9,8,.55),rgba(10,9,8,.15) 50%,rgba(10,9,8,.55)),linear-gradient(0deg,rgba(10,9,8,.78),transparent 55%)}
.hero-content{position:relative;z-index:1}
.hero-strip{left:0;right:0;bottom:0;display:block;overflow:hidden;transform:none;padding:1rem 0 .5rem}
.hero-strip-track{display:flex;width:max-content;gap:.8rem;animation:heroPortfolio 36s linear infinite;will-change:transform}
.hero-strip-track img{flex:0 0 clamp(145px,18vw,230px);width:clamp(145px,18vw,230px);height:150px;object-fit:cover;border:2px solid #4f453a;border-radius:9px;transform:none!important}
.hero-strip:hover .hero-strip-track{animation-play-state:paused}
.hero-scroll{bottom:12.5rem}
@keyframes heroPortfolio{to{transform:translateX(-50%)}}

/* Keep the API menu categories in view while the menu itself is in view. */
.services{overflow:visible}
.service-browser{align-items:start}
.service-categories{position:sticky;top:98px;align-self:start;max-height:calc(100dvh - 108px);overflow-y:auto;z-index:3;background:var(--coal)}
.service-browser{scroll-margin-top:104px}
.service-category-list button{width:100%}

/* Review excerpts and map identity. */
.happy-visit{text-align:left;background:#e5dfd2}
.happy-visit .section-heading{text-align:center}
.happy-visit .section-heading>p:last-child{max-width:62ch;margin-inline:auto}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1320px;margin:auto}
.review-card{display:flex;flex-direction:column;min-height:240px;padding:1.7rem;background:#f8f5ef;border-top:2px solid var(--gold);text-align:left}
.review-card .review-stars{color:#997b3e;letter-spacing:.18em;font-size:1rem}
.review-card p{margin:1.15rem 0 auto;color:#3b3731;line-height:1.55}
.review-card strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:400;margin-top:1.5rem}
.review-card small{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.happy-visit .review-more{display:flex;width:max-content;margin:2.5rem auto 0}
.map-card{position:relative;overflow:hidden;background:#ddd}
.map-card iframe{display:block;height:390px}
.map-overlay{position:absolute;left:1.2rem;bottom:1.2rem;max-width:min(340px,calc(100% - 2.4rem));display:flex;flex-direction:column;gap:.4rem;background:#f7f5f0;color:var(--ink);padding:1.1rem 1.3rem;box-shadow:0 12px 36px #0003}
.map-overlay strong{font:1.25rem Georgia,serif}
.map-overlay span{font-size:.82rem;line-height:1.4}
.map-overlay a{margin:0;color:var(--gold-dark);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:980px){
  .service-browser{display:block;scroll-margin-top:155px}
  .service-categories{position:sticky;top:84px;max-height:none;overflow:visible;padding:.65rem 0;background:var(--coal);border-right:0;border-bottom:1px solid #59564d}
  .service-categories>p{margin:0 0 .2rem}
  .service-category-list{display:flex;flex-direction:row;gap:1.1rem;overflow-x:auto;scrollbar-width:thin}
  .service-category-list button{flex:0 0 auto;width:auto;white-space:nowrap;padding:.4rem 0}
  .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .hero-slider{min-height:690px;padding-bottom:11rem}
  .hero-strip-track img{flex-basis:155px;width:155px;height:110px}
  .hero-scroll{bottom:10rem}
  .service-categories{top:72px}
  .review-grid{grid-template-columns:1fr}
  .review-card{min-height:190px}
  .map-card iframe{height:380px}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}
  .hero-strip-track{animation:none}
  .hero-strip:hover .hero-strip-track{animation:none}
}

/* Editorial team directory: the names and portrait availability stay API-driven. */
.staff-section{background:#f1eee7}
.staff-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(3rem,7vw,8rem);align-items:start;max-width:1320px;margin:auto}
.staff-intro{position:sticky;top:110px;align-self:start}
.staff-intro h2{max-width:9ch;margin:.7rem 0 1.5rem}
.staff-intro>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;max-width:34ch}
.staff-feature{position:relative;margin:2.5rem 0 0;overflow:hidden;background:#e1d9cc}
.staff-feature img{width:100%;height:clamp(220px,22vw,280px);object-fit:cover;object-position:center 45%}
.staff-feature figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.3rem 1.2rem .85rem;background:linear-gradient(transparent,#1119);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.staff-roster-heading{display:flex;justify-content:space-between;gap:1rem;padding:0 .35rem 1.1rem;border-bottom:2px solid var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.16em;color:var(--gold-dark)}
.staff-list{display:block}
.staff-list .staff-empty{padding:2rem .35rem;color:var(--muted)}
.staff-card{display:grid;grid-template-columns:28px 64px minmax(0,1fr) 74px;gap:1rem;align-items:center;min-height:104px;padding:1.1rem .35rem;background:transparent;border-bottom:1px solid #d8d0c3;transition:background .25s,padding .25s}
.staff-card:hover{background:#e8e2d6;padding-inline:.8rem}
.staff-number{align-self:start;padding-top:.3rem;color:#9d8963;font-size:.72rem;font-weight:700;letter-spacing:.08em}
.staff-avatar{width:64px;height:64px;margin:0;border-radius:50%;background:#ded3bf;color:#5d513d;font-size:1rem;overflow:hidden}
.staff-avatar svg{width:38px;height:38px}
.staff-avatar img{width:100%;height:100%;object-fit:cover}
.staff-copy{min-width:0}
.staff-copy h3{margin:0 0 .15rem;font:400 clamp(1.3rem,2vw,1.7rem)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.025em}
.staff-copy p{min-height:0;margin:0;color:var(--muted);font-size:.78rem;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.staff-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-bottom:1px solid var(--gold-dark);color:#5b4e35;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .2s,border-color .2s}
.staff-book:hover{color:var(--ink);border-color:var(--ink)}
@media(max-width:980px){
  .staff-layout{display:block}
  .staff-intro{position:static}
  .staff-intro h2{max-width:13ch}
  .staff-feature img{height:290px}
  .staff-roster{margin-top:3rem}
}
@media(max-width:680px){
  .staff-intro h2{font-size:clamp(2.9rem,12vw,4rem)}
  .staff-feature{margin-top:2rem}
  .staff-feature img{height:230px}
  .staff-roster{margin-top:2.4rem}
  .staff-roster-heading{font-size:.56rem;letter-spacing:.12em}
  .staff-card{grid-template-columns:18px 54px minmax(0,1fr) 58px;gap:.55rem;min-height:90px;padding:1rem 0}
  .staff-card:hover{padding-inline:.3rem}
  .staff-avatar{width:54px;height:54px}
  .staff-avatar svg{width:32px;height:32px}
  .staff-copy h3{font-size:1.18rem}
  .staff-copy p{font-size:.7rem}
  .staff-book{font-size:.6rem}
}
.gallery-actions .button[hidden]{display:none}

/* Dark mat for the blue-hour storefront portrait. */
.about-photo{padding:clamp(.5rem,1.2vw,.9rem);background:#1c1a17;border:1px solid #6f5b3e;box-shadow:0 18px 48px rgba(22,20,17,.2)}
.about-photo img{height:auto;max-height:none;object-fit:initial;background:#1c1a17}

/* Hero: a framed moving nail portfolio and a short gold splash on the headline. */
.hero-slider{min-height:clamp(720px,calc(100svh - 120px),920px);padding:4rem 5vw 18.5rem;background-position:center 42%}
.hero-slider::before{background:linear-gradient(90deg,rgba(10,9,8,.62),rgba(10,9,8,.23) 50%,rgba(10,9,8,.62)),linear-gradient(0deg,#12100e 0%,rgba(18,16,14,.72) 18%,transparent 61%)}
.hero-content{transform:translateY(-.5rem)}
.hero-content .eyebrow{animation:heroTextRise .7s both .12s}
.hero-content h1{margin:.4rem auto 1.15rem;line-height:1.04;letter-spacing:-.055em}
.hero-title-lead{display:inline-block;animation:heroTextRise .85s cubic-bezier(.2,.8,.2,1) both .22s}
.hero-splash-word{position:relative;display:inline-block;isolation:isolate;animation:heroTextRise .9s cubic-bezier(.2,.8,.2,1) both .43s}
.hero-splash-word em{position:relative;z-index:1;color:#dec99b;text-shadow:0 2px 22px rgba(211,174,103,.22)}
.hero-splash-ring{position:absolute;z-index:0;left:-5%;top:13%;width:112%;height:77%;border:1.5px solid rgba(237,205,143,.82);border-radius:50%;transform:rotate(-10deg) scale(.48);opacity:0;pointer-events:none;animation:heroSplashRing 6s cubic-bezier(.15,.6,.25,1) .85s infinite}
.hero-splash-ring::after{content:"";position:absolute;inset:-9px 6px 4px -4px;border-top:1px solid rgba(244,216,166,.58);border-right:1px solid transparent;border-radius:50%;transform:rotate(7deg)}
.hero-splash-spark{position:absolute;left:4%;top:5%;width:5px;height:5px;border-radius:50%;background:#f0d5a5;box-shadow:24px -13px 0 -1px #e8c78c,86px -25px 0 -1px #e8c78c,150px 6px 0 -1px #e8c78c;pointer-events:none;opacity:0;animation:heroSplashSpark 6s ease-out .8s infinite}
.hero-splash-spark::before,.hero-splash-spark::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#efd4a0}
.hero-splash-spark::before{left:14px;top:70px;box-shadow:40px 24px 0 -1px #e8c78c,120px 11px 0 -1px #e8c78c}
.hero-splash-spark::after{left:210px;top:42px;box-shadow:42px -28px 0 -1px #e8c78c,72px 26px 0 -1px #e8c78c}
.hero-content>p:not(.eyebrow){animation:heroTextRise .8s both .62s}
.hero-content>.button{animation:heroTextRise .8s both .77s}
.hero-strip{left:0;right:0;bottom:0;z-index:2;padding:0 0 .8rem;overflow:hidden;background:linear-gradient(0deg,rgba(13,12,11,.83),rgba(13,12,11,.4) 80%,transparent)}
.hero-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 max(5vw,calc((100vw - 1320px)/2)) .8rem;padding:.75rem 0 .55rem;border-top:1px solid rgba(223,203,161,.58);color:#e1d4b8;font-size:.62rem;font-weight:700;letter-spacing:.23em;white-space:nowrap}
.hero-strip-heading span:last-child{color:#b7aa90;font-weight:400;letter-spacing:.17em}
.hero-strip-track{gap:.85rem;animation:heroPortfolio 46s linear infinite}
.hero-strip-card{position:relative;flex:0 0 clamp(195px,19vw,270px);height:173px;margin:0;overflow:hidden;border:1px solid rgba(210,183,128,.66);background:#24211d;box-shadow:0 7px 22px #0005;transform:translateY(0);transition:border-color .3s,transform .4s}
.hero-strip-card:nth-child(3n+2){transform:translateY(11px)}
.hero-strip-card:nth-child(3n){transform:translateY(5px)}
.hero-strip-card:hover{border-color:#edcf96;transform:translateY(-5px)}
.hero-strip-track .hero-strip-card img{width:100%;height:100%;object-fit:cover;object-position:center;border:0;border-radius:0;filter:saturate(.82) contrast(1.05);transform:scale(1.001)!important;transition:transform .55s,filter .55s}
.hero-strip-card:hover img{transform:scale(1.07)!important;filter:saturate(1) contrast(1.03)}
.hero-strip-card::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(8,8,8,.77));pointer-events:none}
.hero-strip-card figcaption{position:absolute;z-index:1;left:1rem;right:1rem;bottom:.8rem;display:flex;align-items:baseline;gap:.75rem;color:#fff;font:italic 1.08rem Georgia,serif;white-space:nowrap}
.hero-strip-card figcaption span{color:#d7bc83;font:700 .58rem Arial,sans-serif;letter-spacing:.12em}
.hero-scroll{bottom:16rem;left:50%;transform:translateX(-50%);color:#e2d6c0;white-space:nowrap}
.hero-strip:hover .hero-strip-track,.hero-strip:focus-within .hero-strip-track{animation-play-state:paused}
@keyframes heroTextRise{from{opacity:0;transform:translateY(22px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes heroSplashRing{0%{opacity:0;transform:rotate(-10deg) scale(.48)}5%{opacity:.85}17%{opacity:.55}24%,100%{opacity:0;transform:rotate(-10deg) scale(1.2)}}
@keyframes heroSplashSpark{0%{opacity:0;transform:translateY(12px) scale(.5)}5%{opacity:1}20%,100%{opacity:0;transform:translateY(-13px) scale(1.25)}}
@media(max-width:980px){
  .hero-strip{padding-bottom:5rem}
  .hero-scroll{bottom:21rem}
}
@media(max-width:680px){
  .hero-slider{min-height:760px;padding:4.5rem 6vw 15.5rem}
  .hero-content{transform:translateY(-.4rem)}
  .hero-content h1{font-size:clamp(3.45rem,13.4vw,5.1rem)}
  .hero-title-lead,.hero-splash-word{display:block}
  .hero-splash-ring{left:4%;width:92%}
  .hero-strip{padding-bottom:7rem}
  .hero-strip-heading{margin-inline:6vw;font-size:.54rem;letter-spacing:.17em}
  .hero-strip-heading span:last-child{display:none}
  .hero-strip-track{gap:.6rem;animation-duration:35s}
  .hero-strip-card{flex-basis:178px;height:142px}
  .hero-strip-card figcaption{font-size:.98rem;bottom:.6rem;left:.7rem}
  .hero-scroll{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-content .eyebrow,.hero-title-lead,.hero-splash-word,.hero-content>p:not(.eyebrow),.hero-content>.button{animation:none}
  .hero-splash-ring,.hero-splash-spark{display:none}
  .hero-strip-track{animation:none}
  .hero-strip-card,.hero-strip-track .hero-strip-card img{transition:none}
}

/* The supplied film is portrait footage: show its composition in an editorial frame. */
.hero-slider{align-items:flex-start;padding-bottom:17.5rem;background:radial-gradient(circle at 79% 39%,#413426 0%,#211c17 27%,#151310 70%)}
.hero-slider::before{background:linear-gradient(90deg,rgba(8,8,7,.28),transparent 52%),repeating-linear-gradient(90deg,transparent 0,transparent 99px,rgba(218,184,120,.035) 100px)}
.hero-film{position:absolute;z-index:0;top:clamp(1.5rem,3vw,3rem);right:max(6vw,calc((100vw - 1320px)/2));height:calc(100% - 12rem);max-height:590px;aspect-ratio:2/3;overflow:visible;background:#231c19 url('../photos/brand/whitby-nails.webp') center/cover;border:1px solid rgba(210,185,136,.72);box-shadow:0 30px 70px #0008}
.hero-film::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid rgba(204,174,115,.5);pointer-events:none}
.hero-film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.25),transparent 25%,transparent 62%,rgba(8,7,6,.55));pointer-events:none}
.hero-film .hero-video{position:absolute;inset:0;z-index:auto;display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.8)}
.hero-film-index,.hero-film-mark{position:absolute;z-index:1;left:1.2rem;color:#ead6ad;font-size:.57rem;font-weight:700;letter-spacing:.2em;white-space:nowrap}
.hero-film-index{top:1.1rem}
.hero-film-mark{bottom:8rem}
.hero-content{align-self:flex-start;width:min(52%,650px);max-width:650px;text-align:left;transform:translateY(-.8rem)}
.hero-content h1{font-size:clamp(4.5rem,7.2vw,7.4rem);text-wrap:initial}
.hero-title-lead,.hero-splash-word{display:block;width:max-content;max-width:100%}
.hero-content>p:not(.eyebrow){margin-left:0;margin-right:0;max-width:35ch}
.hero-scroll{left:5vw;transform:none}
@media(max-width:980px){
  .hero-slider{align-items:center;background:#181512;padding-bottom:18.5rem}
  .hero-slider::before{background:radial-gradient(circle at 50% 37%,transparent 0%,rgba(9,8,7,.2) 68%,rgba(9,8,7,.65) 100%)}
  .hero-film{top:1.5rem;left:50%;right:auto;transform:translateX(-50%);width:min(57vw,440px);height:calc(100% - 11rem);max-height:600px;aspect-ratio:auto}
  .hero-film-index,.hero-film-mark{display:none}
  .hero-film .hero-video{filter:brightness(.52) saturate(.72)}
  .hero-film::after{background:linear-gradient(180deg,rgba(8,7,6,.5),rgba(8,7,6,.2) 45%,rgba(8,7,6,.65))}
  .hero-content{align-self:center;width:auto;max-width:730px;text-align:center;transform:translateY(-.5rem)}
  .hero-content h1{font-size:clamp(4.2rem,9vw,6.6rem)}
  .hero-title-lead,.hero-splash-word{display:inline-block}
  .hero-content>p:not(.eyebrow){margin-inline:auto;max-width:45ch}
  .hero-scroll{left:50%;transform:translateX(-50%)}
}
@media(max-width:680px){
  .hero-slider{padding:4.5rem 6vw 15.5rem}
  .hero-film{top:1.1rem;width:calc(100% - 36px);height:calc(100% - 11.5rem);max-height:none}
  .hero-film::before{inset:-7px 7px 7px -7px}
  .hero-film-index,.hero-film-mark{display:none}
  .hero-content h1{font-size:clamp(3.45rem,13.4vw,5.1rem)}
  .hero-title-lead,.hero-splash-word{display:block;width:auto}
}
@media(prefers-reduced-motion:reduce){.hero-film .hero-video{display:none}}

/* Highlight the current day in the salon's own time zone. */
.hours-list li.is-today{margin:.25rem -.75rem;padding:.7rem .75rem;border-left:3px solid #d4b977;border-bottom-color:#8c7650;background:#3b3428;border-radius:0 4px 4px 0}
.hours-list li.is-today span{color:#fff;font-weight:700}
.hours-list li.is-today b{color:#f4ddb0;font-weight:700;text-align:right}
.hours-list .today-badge{display:inline-block;margin-left:.65rem;padding:.08rem .38rem;border:1px solid #bca370;border-radius:2px;color:#e5d0a1;font-size:.57rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}

/* Blend the portrait film into the desktop hero without enlarging its footage. */
@media(min-width:981px){
  .hero-film{top:0;right:0;width:65%;height:100%;max-height:none;aspect-ratio:auto;overflow:hidden;border:0;border-radius:0;box-shadow:none;background:none}
  .hero-film::before{display:none}
  .hero-film::after{z-index:1;background:linear-gradient(90deg,#151310 22%,transparent 37%,transparent 65%,#151310 80%),linear-gradient(0deg,#151310 0%,transparent 31%,transparent 81%,#151310 100%)}
  .hero-film .hero-video{left:50%;right:auto;width:auto;max-width:none;height:100%;object-fit:contain;object-position:center;transform:translateX(-50%);filter:brightness(.65) saturate(.78)}
  .hero-film-index,.hero-film-mark{display:none}
}
