/* JNails editorial design: ivory/blush, native layout, original brand artwork.
   Layers: sticky header 10, mobile booking 20; dialogs use browser top layer. */
@font-face{font-family:JN Serif;src:url('assets/fonts/ebgaramond.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:JN Serif;src:url('assets/fonts/ebgaramond-italic.woff2') format('woff2');font-style:italic;font-weight:400 600;font-display:swap}
@font-face{font-family:JN Sans;src:url('assets/fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{color-scheme:light;--paper:#fbf8f4;--surface:#fffdfb;--tint:#f0e1df;--pink:#ecd2d2;--ink:#302b2b;--muted:#726565;--rose:#81515c;--rose-hover:#69404a;--line:#dfd5cf;--focus:#81515c;font-family:JN Sans,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.75}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure,dl{margin:0}h1,h2{font-family:JN Serif,Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(3.25rem,5.6vw,5.6rem)}h2{font-size:clamp(2.7rem,4.8vw,4.9rem)}h1 em,h2 em{font-style:italic;font-weight:400;color:var(--rose);line-height:1.12}h3{font-size:1rem;font-weight:600;line-height:1.4}p{max-width:60ch}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline-offset:2px}[hidden]{display:none!important}.wrap{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}.section{padding-block:100px}.muted{color:var(--muted)}.small{font-size:.78rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-100px;background:var(--surface);padding:12px;z-index:30}.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.header{height:98px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}.brand img{width:68px;height:68px;object-fit:contain;background:#fff}.brand-type{font-family:JN Serif,Georgia,serif;font-size:1.95rem;line-height:1;letter-spacing:-.04em}.brand small{display:block;font-family:JN Sans,sans-serif;font-size:.52rem;font-weight:500;letter-spacing:.1em;line-height:1.4;margin-top:7px}.header nav{display:flex;gap:25px;margin-left:auto;white-space:nowrap;font-size:.73rem}.header nav a{text-decoration:none;padding-block:14px;position:relative}.header nav a::after{content:"";position:absolute;inset:auto 0 7px;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav a:hover::after,.header nav a[aria-current]::after{transform:scaleX(1)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 23px;min-height:50px;background:var(--rose);color:#fff;border:1px solid var(--rose);border-radius:2px;text-decoration:none;font-size:.76rem;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:var(--rose-hover);border-color:var(--rose-hover)}.button:active{transform:translateY(1px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--rose);background:var(--tint)}.header-book{padding:13px 17px;font-size:.68rem;min-height:44px;gap:16px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:.78rem;text-decoration:none;padding-block:10px;border-bottom:1px solid var(--line);transition:border-color .2s,color .2s}.text-link:hover{border-color:var(--rose);color:var(--rose)}.eyebrow{font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:25px;display:flex;align-items:center;gap:13px}.label-rule{height:1px;width:30px;background:var(--rose);display:inline-block}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding-block:38px 30px;min-height:595px}.hero-copy{padding-block:15px}.hero h1{max-width:9.7em;line-height:1.07}.hero-text{font-size:.92rem;line-height:1.85;max-width:37ch;color:var(--muted);margin-top:24px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px;flex-wrap:wrap}.hero-location{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.72rem;color:var(--muted);margin-top:42px}.location-dot{width:5px;height:5px;background:var(--rose);border-radius:50%}.hero-location-note{border-left:1px solid var(--line);padding-left:12px;margin-left:4px}.hero-art{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-media{position:relative;background:var(--tint);aspect-ratio:1/1.07;overflow:hidden}.hero-media>img{width:100%;height:100%;object-fit:cover}.hero-media>.hero-logo{object-fit:contain;padding:45px}.hero-art figcaption{display:flex;justify-content:space-between;gap:15px;font-size:.65rem;letter-spacing:.03em;color:var(--muted);margin-top:14px}.hero-art figcaption span:first-child{font-style:italic}.intro-line{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:20px 24px;border-bottom:1px solid var(--line);font-size:.73rem}.intro-line a{text-decoration:none}.intro-line a span{padding-left:30px}.notice{background:var(--tint);padding:18px 24px;margin-block:25px;font-size:.85rem}.services.section{padding-top:65px}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:80px;margin-bottom:52px}.section-heading .eyebrow{margin-bottom:21px}.section-description{max-width:44ch;color:var(--muted);font-size:.85rem}.section-description p+p{margin-top:14px}.section-description .text-link{margin-top:20px;color:var(--ink)}
.price-groups{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.price-group{border-bottom:1px solid var(--line);min-width:0;padding-block:4px}.price-group summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;min-height:85px;font-family:JN Serif,Georgia,serif;font-size:1.95rem;letter-spacing:-.025em;padding-right:6px}.price-group summary::-webkit-details-marker{display:none}.price-group summary::after{content:"+";font-family:JN Sans,sans-serif;font-size:1.3rem;color:var(--rose);font-weight:400}.price-group[open] summary::after{content:"−"}.price-rows{padding-bottom:24px}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;min-height:63px;padding:12px 0;border-top:1px solid var(--line)}.price-name{font-size:.8rem;overflow-wrap:anywhere}.price-name small,.service-duration{display:block;color:var(--muted);font-size:.66rem;margin-top:4px}.price-value{font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.service-book,.price-row [data-book],.price-row a,.price-row button{border:0;background:transparent;color:var(--rose);font-size:.66rem;padding:10px 0 10px 14px;min-height:44px;text-align:right;text-decoration:none;white-space:nowrap;min-width:112px}.service-book:hover,.price-row a:hover{color:var(--rose-hover);text-decoration:underline}.section-end{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:28px;color:var(--muted);font-size:.73rem}.section-end .text-link{flex-shrink:0}
.about-section{background:var(--tint)}.about{display:grid;grid-template-columns:1fr 1.05fr .28fr;gap:68px;align-items:center;padding-block:83px 90px}.about h2{font-size:clamp(2.7rem,4.4vw,4.3rem)}.about-copy{font-size:.81rem;color:#665858}.about-copy .lead{font-family:JN Serif,Georgia,serif;font-size:1.65rem;line-height:1.3;color:var(--ink);margin-bottom:22px}.about-copy p+p{margin-top:18px}.about-copy .text-link{margin-top:20px}.about-note{align-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.about-note-number{font-family:JN Serif,Georgia,serif;font-size:4.6rem;line-height:1;color:#b48c94;letter-spacing:-.1em}.about-note p{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;text-align:right}.about-note p span{color:var(--muted)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.gallery-filters button{border:1px solid transparent;border-bottom-color:var(--line);padding:10px 16px;background:transparent;color:var(--muted);font-size:.73rem;min-height:44px}.gallery-filters button[aria-pressed=true]{background:var(--rose);color:#fff;border-color:var(--rose)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px;align-items:start}.gallery-item{border:0;padding:0;background:transparent;min-width:0;text-align:left;color:var(--ink)}.gallery-item:nth-child(3n+2){margin-top:65px}.gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:filter .3s}.gallery-item:hover img{filter:brightness(.96)}.gallery-item .gallery-item-caption{display:flex;justify-content:space-between;gap:15px;font-size:.64rem;padding-top:12px}.gallery-empty{padding:52px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:18px 55px;align-items:start}.gallery-empty-title{font-family:JN Serif,Georgia,serif;font-size:2.2rem;line-height:1.15;grid-row:span 2}.gallery-empty>p:not(:first-child){font-size:.8rem;color:var(--muted)}.gallery-empty .text-link{justify-self:start}.team-section{background:#f5eeea}.team-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.team-member{padding:27px 20px 27px 0;border-bottom:1px solid var(--line);min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.team-name{font-family:JN Serif,Georgia,serif;font-size:1.9rem;font-weight:400;line-height:1.2;overflow-wrap:anywhere}.team-member button,.team-member a{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;min-height:44px;font-size:.65rem;color:var(--rose);text-decoration:none}.team-member small,.team-member p{font-size:.65rem;color:var(--muted)}.visit-note{text-align:center;padding-block:92px 100px;border-bottom:1px solid var(--line)}.visit-note .eyebrow{justify-content:center;margin-bottom:26px}.visit-note h2{font-size:clamp(2.6rem,4.3vw,4.5rem);line-height:1.13}.visit-note .button{margin-top:30px}
.contact{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:55px;padding-top:95px}.contact-title h2{font-size:clamp(2.8rem,4vw,4.1rem)}.contact-info{display:grid;gap:30px;padding-top:6px}.contact h3{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:15px}.contact address{font-style:normal;font-size:.82rem;line-height:1.8}.contact-links{display:flex;flex-direction:column;align-items:start;gap:1px;margin-top:13px}.contact-links .text-link{font-size:.69rem}.phone{font-size:1.25rem;text-decoration:none;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.contact-info .small{margin-top:9px}.contact-details{padding-top:6px}.hours{font-size:.72rem}.hours>div{display:flex;justify-content:space-between;gap:15px;padding-block:8px;border-bottom:1px solid var(--line)}.hours dd{margin:0;white-space:nowrap}.social-links{display:flex;gap:24px;font-size:.71rem;margin-block:28px 18px}.social-links a{text-decoration:none}.footer{background:var(--tint);padding-block:40px 20px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:30px;padding-bottom:35px}.footer-main .brand img{width:55px;height:55px}.footer-main .brand-type{font-size:1.7rem}.footer-main p{font-size:.67rem;line-height:1.9}.footer-main p span{color:var(--muted)}.footer-main nav{display:flex;flex-direction:column;gap:5px;font-size:.67rem}.footer-main nav a,.footer-main>a:last-child{text-decoration:none}.footer-main>a:last-child{font-size:.72rem}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d8c2c4;padding-top:18px;font-size:.6rem;color:#66585a}.footer-bottom a{text-decoration:none}.mobile-book{display:none}
/* Native dialog supplies modality, focus containment and Escape. */
#booking{border:0;background:var(--paper);color:var(--ink);padding:0;position:fixed;inset:0 0 0 auto;margin:0;width:min(620px,100%);max-width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#302b2b88}.drawer-head{display:flex;justify-content:space-between;align-items:start;padding:32px 32px 14px;gap:20px}.drawer-brand{font-size:.62rem;letter-spacing:.07em;color:var(--muted);margin-bottom:12px}.drawer-head h2{font-size:2.5rem;letter-spacing:-.035em}.close{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--paper);font-size:1.8rem;line-height:1}.close:hover{background:var(--tint)}.drawer-intro{padding:0 32px;font-size:.78rem;color:var(--muted)}.progress{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;margin:27px 32px 0;gap:7px;font-size:.58rem;color:var(--muted)}.progress li{border-top:2px solid var(--line);padding-top:8px}.progress li[aria-current=step]{border-color:var(--rose);color:var(--rose);font-weight:700}.progress li.done{border-color:var(--rose)}.drawer-content{padding:28px 32px}.drawer-contact{padding:20px 32px 25px;border-top:1px solid var(--line);font-size:.7rem;color:var(--muted)}.drawer-content h3{font-family:JN Serif,Georgia,serif;font-weight:400;font-size:1.9rem;line-height:1.2;margin-bottom:13px}.drawer-content .help{font-size:.76rem;color:var(--muted);margin-bottom:20px}.choices{display:grid;gap:10px;margin-top:22px}.choice{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:2px;color:var(--ink);line-height:1.45;min-height:60px;transition:border-color .2s,background .2s}.choice:hover{border-color:var(--rose)}.choice[aria-pressed=true]{border:2px solid var(--rose);padding:17px;background:var(--tint)}.choice strong{font-size:.84rem;font-weight:600;display:block}.choice small{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}.choice-price{font-size:.79rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.booking-summary{border-left:2px solid var(--rose);background:var(--tint);padding:14px 18px;margin-block:20px;font-size:.77rem}.booking-summary strong{font-weight:600}.booking-summary p{color:#66565a;margin-top:6px}.drawer-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:16px}.back{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 3px;color:var(--ink);font-size:.78rem;min-height:44px}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-size:.76rem;font-weight:600}.field input,.field textarea{width:100%;min-width:0;min-height:48px;padding:12px 13px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font-size:16px;line-height:1.5}.field textarea{min-height:90px;resize:vertical}.field small{color:var(--muted);font-size:.64rem}.consent{display:flex;align-items:flex-start;gap:12px;font-size:.68rem;line-height:1.7;margin-block:24px;cursor:pointer}.consent input{width:20px;height:20px;flex-shrink:0;margin:3px 0 0;accent-color:var(--rose)}.slots-area{margin-block:20px}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:300px;overflow-y:auto;padding:4px}.slot{padding:11px 8px;min-height:44px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font-size:.82rem;font-variant-numeric:tabular-nums}.slot:hover{border-color:var(--rose)}.slot[aria-pressed=true]{background:var(--rose);color:#fff;border-color:var(--rose)}.form-error{border-left:3px solid var(--rose);background:var(--tint);padding:13px 15px;color:#653d48;font-size:.76rem;margin-block:20px;overflow-wrap:anywhere}.confirmation{padding-block:16px}.confirmation h3{font-size:2.5rem}.confirmation>p{font-size:.8rem;color:var(--muted);margin-top:16px}.reference{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:600;letter-spacing:.05em;color:var(--rose)!important}.confirmation dl,.review-details{margin-top:24px}.confirmation dl>div,.review-details>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--line);padding-block:11px;font-size:.75rem}.confirmation dd,.review-details dd{margin:0;overflow-wrap:anywhere}.confirmation dt,.review-details dt{color:var(--muted)}.loading{color:var(--muted);font-size:.8rem;padding-block:15px}.preferred-staff{font-size:.75rem;background:var(--tint);padding:12px 16px;margin-block:12px}
#gallery-lightbox{width:min(950px,calc(100% - 32px));max-width:100%;max-height:94dvh;border:0;padding:26px;background:var(--paper);color:var(--ink);overflow:auto}#gallery-lightbox>.close{position:absolute;top:14px;right:14px;background:var(--paper)}#gallery-photo{width:100%;height:min(72dvh,800px);object-fit:contain;background:#eee5df}#gallery-caption{font-size:.78rem;margin-top:15px;padding-right:70px}.lightbox-navigation{display:flex;justify-content:end;gap:10px;margin-top:12px}.lightbox-navigation button{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.map-section{padding-bottom:80px}.map-preview{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#f3ebe5;padding:50px;min-height:320px;align-items:center}.map-preview h2{font-size:3.2rem}.map-preview>div>p:not(.eyebrow){font-size:.76rem;color:var(--muted);max-width:40ch}.map-preview .button{margin-top:20px;margin-right:20px}.map-preview iframe{width:100%;height:380px;border:0;grid-column:1/-1}.privacy{max-width:800px;padding-block:65px 100px}.privacy h1{font-size:3.6rem;margin-bottom:35px}.privacy h2{font-size:2rem;margin-block:35px 15px;letter-spacing:-.02em}.privacy p,.privacy li{font-size:.86rem;color:#665b5c}.privacy p+p{margin-top:18px}.privacy> .text-link{margin-top:35px}.privacy-header{display:flex;align-items:center;justify-content:space-between;padding-block:20px;border-bottom:1px solid var(--line)}
@media(min-width:1440px){.hero{gap:85px}.hero-art{padding-left:10px}}
@media(max-width:1199px){.wrap{width:calc(100% - 72px)}.header{gap:22px}.header nav{gap:20px}.brand img{width:58px;height:58px}.header-book{display:none}.hero{min-height:560px;gap:40px}.hero-location{margin-top:40px}.section-heading{gap:55px}.about{gap:40px;grid-template-columns:1fr 1.1fr}.about-note{display:none}.contact{gap:30px}.footer-main{grid-template-columns:1fr 1fr 1fr}.footer-main>a:last-child{display:none}}
@media(max-width:767px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}body{font-size:14px}.header{height:78px;gap:12px}.brand img{width:53px;height:53px}.brand-type{font-size:1.7rem}.brand small{font-size:.48rem}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:13px;margin-left:auto;min-width:75px;min-height:44px;padding:8px;background:transparent;border:0;font-size:.73rem;color:var(--ink)}.menu-toggle span{font-size:1.1rem}.header nav{display:none;position:absolute;inset:78px 0 auto;background:var(--paper);padding:20px 24px 26px;border-bottom:1px solid var(--line);font-size:.9rem;box-shadow:0 16px 24px #302b2b08}.header nav.is-open{display:flex;flex-direction:column;gap:3px}.header nav a{padding:10px;min-height:44px}.header nav a::after{display:none}.header nav a[aria-current]{color:var(--rose);font-weight:600}.hero{grid-template-columns:1fr;gap:32px;padding-block:35px 25px;min-height:0}.hero-copy{padding:0}.hero .eyebrow{font-size:.62rem;margin-bottom:21px;gap:9px}.label-rule{width:20px}.hero h1{font-size:clamp(2.8rem,12vw,4.3rem);line-height:1.05;max-width:none}.hero-text{font-size:.81rem;margin-top:20px;max-width:37ch}.hero-actions{margin-top:25px;gap:18px}.hero-actions .button{padding:14px 17px;font-size:.68rem;gap:14px}.hero-actions .text-link{font-size:.73rem;gap:14px}.hero-location{margin-top:26px;gap:8px;font-size:.69rem}.hero-location-note{display:none}.hero-art{padding:0}.hero-media{aspect-ratio:1.2/1}.hero-media>.hero-logo{padding:25px 50px}.hero-art figcaption{font-size:.63rem;margin-top:11px}.intro-line{padding-block:15px 20px;font-size:.65rem}.intro-line>a{display:none}.section{padding-block:66px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading .eyebrow{font-size:.56rem;margin-bottom:17px}h2{font-size:3.25rem}.section-description{font-size:.78rem;max-width:43ch}.section-description .small{font-size:.67rem}.price-group summary{font-size:1.65rem;min-height:71px}.price-rows{padding-bottom:12px}.price-row{grid-template-columns:minmax(0,1fr) auto;gap:0 14px;padding-block:14px;min-height:75px}.price-name{font-size:.74rem;align-self:end}.price-value{font-size:.78rem;align-self:end}.price-row .service-book,.price-row [data-book],.price-row a,.price-row button{grid-column:1/-1;justify-self:start;padding:6px 0 0;min-height:44px;font-size:.62rem;text-align:left;min-width:0}.section-end{display:block;padding-top:20px;font-size:.67rem}.section-end .text-link{margin-top:6px}.about{grid-template-columns:1fr;gap:30px;padding-block:58px 65px}.about h2{font-size:3.2rem}.about .eyebrow{font-size:.55rem;margin-bottom:19px}.about-copy{font-size:.77rem}.about-copy .lead{font-size:1.65rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.gallery-item:nth-child(3n+2){margin-top:0}.gallery-item:nth-child(2n){margin-top:34px}.gallery-item .gallery-item-caption{font-size:.58rem}.gallery-filters{gap:6px;margin-bottom:23px}.gallery-filters button{font-size:.65rem;padding:9px 11px}.gallery-empty{padding:27px;grid-template-columns:1fr;gap:16px}.gallery-empty-title{font-size:1.9rem;grid-row:auto}.gallery-empty>p:not(:first-child){font-size:.73rem}.team-list{grid-template-columns:1fr 1fr}.team-member{padding:21px 15px 21px 0;display:block}.team-name{font-size:1.65rem}.team-member button,.team-member a{display:inline-flex;margin-top:10px;font-size:.62rem;min-height:44px}.visit-note{padding-block:62px 66px}.visit-note h2{font-size:2.75rem;line-height:1.13}.visit-note .eyebrow{font-size:.55rem}.visit-note .button{margin-top:25px}.contact{grid-template-columns:1fr;gap:33px;padding-top:60px}.contact-title h2{font-size:3.25rem}.contact-info{gap:28px}.contact address{font-size:.8rem}.contact h3{font-size:.61rem}.phone{font-size:1.5rem}.contact-details{max-width:430px}.hours{font-size:.73rem}.social-links{margin-block:25px 15px}.footer{padding-block:32px 104px}.footer-main{grid-template-columns:1fr 1fr;align-items:start;gap:28px;padding-bottom:28px}.footer-main .brand img{width:47px;height:47px}.footer-main .brand-type{font-size:1.45rem}.footer-main .brand small{font-size:.42rem}.footer-main p{font-size:.6rem}.footer-main nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:15px;font-size:.61rem}.footer-bottom{flex-wrap:wrap;justify-content:start;gap:15px 23px;font-size:.56rem}.footer-bottom>a:last-child{margin-left:auto}.mobile-book{display:flex;position:fixed;z-index:20;bottom:0;inset-inline:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);gap:20px;align-items:center;justify-content:space-between}.mobile-book .button{flex:1;padding:12px 17px;font-size:.71rem;gap:25px;min-height:45px}.mobile-phone{font-size:.73rem;text-decoration:none;padding-block:10px}.drawer-head{padding:25px 22px 12px}.drawer-head h2{font-size:2.2rem}.drawer-intro{padding-inline:22px;font-size:.73rem}.progress{margin-inline:22px;font-size:.5rem;gap:5px}.drawer-content{padding:24px 22px}.drawer-contact{padding-inline:22px}.drawer-content h3{font-size:1.8rem}.drawer-content .help{font-size:.73rem}.choice{padding:14px;gap:12px}.choice[aria-pressed=true]{padding:13px}.choice strong{font-size:.77rem}.choice-price{font-size:.74rem}.choice small{font-size:.65rem}.booking-summary{padding:13px;font-size:.72rem}.slots{gap:8px;max-height:240px}.slot{font-size:.77rem;min-height:44px}.drawer-actions{gap:12px}.drawer-actions .button{padding:13px 17px;font-size:.69rem}.consent{font-size:.65rem}.confirmation dl>div,.review-details>div{grid-template-columns:65px minmax(0,1fr);gap:12px;font-size:.71rem}#gallery-lightbox{padding:16px;width:calc(100% - 20px)}#gallery-photo{height:65dvh}.privacy{padding-block:45px 80px}.privacy h1{font-size:2.9rem}.privacy-header{gap:20px}.privacy-header .text-link{font-size:.65rem}}
@media(max-width:767px){.map-section{padding-bottom:55px}.map-preview{grid-template-columns:1fr;padding:28px;gap:25px;min-height:0}.map-preview h2{font-size:2.8rem}.map-preview .button{margin-right:0}.map-preview .text-link{display:flex;justify-content:start;max-width:180px}.map-preview iframe{height:320px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:2.6rem}.hero-actions{align-items:start;gap:12px}.hero-actions .button{font-size:.64rem;padding-inline:13px}.hero-actions .text-link{font-size:.61rem;gap:8px}.hero .eyebrow{font-size:.48rem}.hero-media>.hero-logo{padding:20px 36px}.hero-art figcaption{font-size:.47rem}.progress{font-size:.46rem;margin-inline:16px;gap:4px}.drawer-head,.drawer-content,.drawer-contact{padding-inline:16px}.drawer-intro{padding-inline:16px}.drawer-head h2{font-size:2rem}.mobile-book{padding-inline:16px;gap:15px}.mobile-book .button{font-size:.66rem}.footer-main{grid-template-columns:1fr}.footer-main p{font-size:.67rem}.footer-bottom>a:last-child{margin-left:0}}
@keyframes gentle-entry{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-copy,.hero-art{animation:gentle-entry .5s ease-out both}.hero-art{animation-delay:.08s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
