@import url('/assets/fonts.css');

/* GLOBAL DESIGN SYSTEM — typography and spacing are defined only here. */
:root{
 --white:#fff;--cream:#fefcf5;--ink:#28251f;--muted:#59564f;--gold:#8a553a;--gold-hover:#73452f;--gold-soft:#f2ebe5;--gold-ink:#8a553a;--line:#dedbd2;
 --serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;
 --type-h1:5rem;--type-h2:3rem;--type-h3:2rem;--type-h4:1.5rem;--type-h5:1.25rem;--type-h6:1.125rem;
 --type-body:1.125rem;--type-button:var(--type-body);--type-menu:var(--type-body);
 --leading-heading:1.12;--leading-body:1.6;--leading-control:1.35;
 --space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;
 --section-space:var(--space-6);--hero-space:var(--space-6);--gutter:3rem;--card-space:var(--space-3);
 --button-y:.75rem;--button-x:1.5rem;--menu-item-y:.625rem;--menu-item-x:.75rem;
 --radius:6px;--radius-panel:16px;--content-width:1240px;--header-offset:156px;--nav-height:96px;--nav-glass:rgba(255,255,255,.04);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset)}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body)}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover,a:focus{text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:500;line-height:var(--leading-heading);letter-spacing:-.02em}h1{font-size:var(--type-h1)}h2{font-size:var(--type-h2)}h3{font-size:var(--type-h3)}h4{font-size:var(--type-h4)}h5{font-size:var(--type-h5)}h6{font-size:var(--type-h6)}
p,small,li,label,cite,.eyebrow,.tag,.duration,.breadcrumb,.address,.amount,.price,.booking-note{font-size:var(--type-body)}small{font-size:var(--type-body)}p{color:var(--muted)}em{font-weight:inherit;color:inherit}strong{font-weight:600}blockquote{margin:0}cite{font-style:normal}ul{margin:0;padding-left:var(--space-3)}
.container{width:min(var(--content-width),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section-space)}.section-flush-top{padding-top:0}.surface-cream{background:var(--cream)}.eyebrow{display:block;font-family:var(--sans);font-weight:500;line-height:var(--leading-control);color:var(--muted);margin-bottom:var(--space-2)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section-head p{margin-top:var(--space-2)}.section-head .textlink{flex-shrink:0}.tag{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--white);border-radius:var(--radius)}
.btn,.textlink{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:var(--button-y) var(--button-x);font-family:var(--sans);font-size:var(--type-button);font-weight:500;line-height:var(--leading-control);border:1px solid var(--gold);border-radius:var(--radius);background:var(--gold);color:var(--white);transition:background .18s,color .18s,border-color .18s}
.btn:hover,.textlink:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--white)}
.skip{position:fixed;top:-100px;left:var(--gutter);z-index:100;background:var(--white);padding:var(--space-2)}.skip:focus{top:var(--space-2)}.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}
/* Desktop utility and primary navigation stick as one unit. */
.site-header{position:sticky;top:0;z-index:50;background:var(--white);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 2px 12px #28251f0a;transition:background .2s,box-shadow .2s}.site-header.is-scrolled{background:var(--white);box-shadow:0 4px 18px #28251f14}.header-shell:has(~main .hero-fullscreen){margin-bottom:calc(-1 * var(--nav-height))}.topline{background:var(--ink);color:var(--white);padding-block:var(--space-1)}.topline>.container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.toplinks{display:flex;gap:var(--space-3)}.toplinks a,.menu-button,.navlinks>a{font-family:var(--sans);font-size:var(--type-menu);font-weight:500;line-height:var(--leading-control)}.toplinks a:hover{color:var(--gold-soft)}
.socials{display:flex;align-items:center;gap:var(--space-2)}.socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius)}.socials img{width:22px;height:22px;object-fit:contain}.header-socials img{filter:brightness(0) invert(1)}.header-socials a{width:28px;height:28px}.header-socials a:hover{background:var(--gold)}.header-socials a:hover img{filter:brightness(0) invert(1)}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2);min-height:96px}.wordmark{display:inline-flex;flex-shrink:0;position:relative}.wordmark:after{content:"";position:absolute;inset:0;background:var(--gold);-webkit-mask:url("/assets/rastore-logo.png") center/contain no-repeat;mask:url("/assets/rastore-logo.png") center/contain no-repeat;pointer-events:none}.wordmark img{opacity:0}.wordmark img{width:64px;height:64px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.navlinks>a:hover{color:inherit;background:transparent}.nav-group{position:static}.menu-button{display:flex;gap:var(--space-1);align-items:center;background:none;border:0;padding:var(--space-2) 0;white-space:nowrap}.menu-plus{width:10px;height:10px;object-fit:contain;transition:transform .18s}.menu-button[aria-expanded=true] .menu-plus{transform:rotate(45deg)}.nav>.btn{white-space:nowrap}.mobile-toggle{display:none;background:none;border:0;padding:var(--space-1)}.ui-menu{width:28px;height:28px;object-fit:contain}.mobile-nav{display:none}
/* Contained cream menus with white service tiles and gold icon medallions. */
.nav-dropdown{position:absolute;left:50%;top:calc(100% - 2px);transform:translateX(-50%);width:min(920px,calc(100vw - var(--gutter)*2));display:grid;grid-template-columns:1fr;gap:var(--space-3);padding:var(--card-space);border:0;border-radius:var(--radius-panel);background:var(--white);box-shadow:0 18px 48px #28251f29}.nav-dropdown[hidden]{display:none}.dropdown-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.dropdown-heading>.spa-icon{width:48px;height:48px;opacity:.55}.dropdown-services{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.dropdown-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--menu-item-y) var(--menu-item-x);font-size:var(--type-menu);font-weight:500;line-height:var(--leading-control);border-radius:var(--radius);background:var(--white);transition:background .18s,box-shadow .18s}.dropdown-link:hover,.dropdown-link:focus-visible{background:var(--white);color:var(--ink);box-shadow:0 4px 16px #28251f14}.menu-icon-tile{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;background:transparent}.dropdown-link .service-icon{width:44px;height:44px;object-fit:contain}.locations-dropdown{grid-template-columns:1fr 1fr}.dropdown-location{padding:var(--space-2);border-radius:var(--radius);background:var(--white);transition:background .18s}.dropdown-location:hover{background:var(--white);box-shadow:0 4px 16px #28251f14}.dropdown-location img{width:100%;height:160px;border-radius:var(--radius)}.dropdown-location h3{margin-top:var(--space-2)}.dropdown-location p{margin-top:var(--space-1)}.heading-accent{color:var(--gold-ink)}
/* Compact full-width video hero. */
.hero-fullscreen{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;padding-block:var(--hero-space);padding-top:calc(var(--hero-space) + var(--nav-height));padding-bottom:calc(var(--hero-space) + var(--space-2));overflow:hidden;background:var(--ink)}.hero-background-video{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-2;background:rgba(22,19,15,.48)}.hero-content{text-align:center}.hero-copy{max-width:1000px;margin-inline:auto}.hero h1{color:var(--white)}.hero h1>span,.hero h1>em{display:block}.hero h1>em{color:var(--white)}.hero-copy>p{max-width:650px;margin:var(--space-3) auto;color:var(--white)}.hero-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-2)}/* All section and card spacing uses the global scale. */
.benefits{background:var(--cream);padding-block:var(--space-4)}.benefits>.container{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.benefit{display:flex;align-items:flex-start;gap:var(--space-2)}.benefit .spa-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0}.benefit p{margin-top:var(--space-1)}.about-intro{display:grid;grid-template-columns:.8fr 1fr .4fr;align-items:center;gap:var(--space-4)}.about-photo{width:100%;height:340px;border-radius:var(--radius)}.about-copy p{margin-block:var(--space-3)}.about-numbers{display:grid;gap:var(--space-3)}.about-numbers strong{display:block;font-family:var(--serif);font-size:var(--type-h3);line-height:var(--leading-heading);font-weight:500}.about-numbers span{display:block;margin-top:var(--space-1)}
.filter-tabs{display:flex;gap:var(--space-1);overflow:auto;margin-bottom:var(--space-4);padding-bottom:var(--space-1)}.filter-tabs button{background:var(--gold);color:var(--white);border:1px solid var(--gold);border-radius:var(--radius);padding:var(--button-y) var(--button-x);font-size:var(--type-button);font-weight:500;line-height:var(--leading-control);white-space:nowrap}.filter-tabs button.active,.filter-tabs button:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--white)}.filter-tabs button.active{box-shadow:inset 0 0 0 2px var(--white)}.cards,.directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.service-card{display:block;min-width:0}.service-card[hidden]{display:none}.card-image{position:relative;overflow:hidden;border-radius:var(--radius)}.card-image>img{height:240px;width:100%;transition:transform .3s}.service-card:hover .card-image>img{transform:scale(1.025)}.card-image .tag{position:absolute;top:var(--space-2);left:var(--space-2);max-width:calc(100% - var(--space-4))}.card-copy{display:flex;align-items:flex-start;gap:var(--space-2);padding-top:var(--space-3)}.card-copy .service-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0}.card-copy p{margin-top:var(--space-1)}.locations-section{background:var(--white)}.locations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.location-card{background:var(--cream);border-radius:var(--radius);overflow:hidden}.location-card>img{width:100%;height:320px}.location-body{padding:var(--card-space)}.location-body p{margin-top:var(--space-2)}.location-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-3)}.location-actions a{overflow-wrap:anywhere}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.package{background:var(--white);border-radius:var(--radius);overflow:hidden}.package>img{height:260px;width:100%}.package-body{padding:var(--card-space)}.package-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.price{font-weight:600;white-space:nowrap}.package p{margin-top:var(--space-2)}.package ul{margin-block:var(--space-3)}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.review{padding:var(--card-space);background:var(--cream);border-radius:var(--radius)}.review .quote{font-family:var(--serif);font-size:var(--type-h2);line-height:1;color:var(--gold)}.review blockquote{font-family:var(--serif);font-size:var(--type-h4);line-height:var(--leading-body);margin-bottom:var(--space-3)}.review cite{font-weight:500}.gift-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--section-space)}.gift-media{position:relative;overflow:hidden;min-height:360px}.gift-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}.gift-copy{padding:var(--space-4);align-self:center}.gift-copy p{margin-block:var(--space-3)}
.site-footer{background:var(--white);padding-block:var(--space-5) var(--space-3);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.25fr;gap:var(--space-4)}.footer-brand .wordmark img{width:88px;height:88px}.footer-brand p{margin-block:var(--space-3)}.footer-grid h3{margin-bottom:var(--space-3)}.footer-grid ul{list-style:none;padding:0}.footer-grid li{margin-bottom:var(--space-2);color:var(--muted)}.footer-grid a:hover{color:var(--ink)}.footer-grid a{overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);margin-top:var(--space-4);border-top:1px solid var(--line);color:var(--muted)}
/* Interior pages retain the same global type roles. */
.breadcrumb{margin-top:var(--space-3);color:var(--muted)}.page-hero{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:var(--space-5);padding-block:var(--section-space)}.page-hero>img{width:100%;height:420px;border-radius:var(--radius)}.page-hero p{margin-block:var(--space-3);max-width:650px}.page-hero.text-only{display:block;max-width:900px;margin-inline:auto;text-align:center}.page-hero.text-only p{margin-inline:auto}.page-service-icon{width:64px;height:64px;object-fit:contain;margin-bottom:var(--space-3)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5);padding-bottom:var(--section-space)}.content-layout h2{margin-bottom:var(--space-3)}.options{border-top:1px solid var(--line)}.option{padding-block:var(--space-3);border-bottom:1px solid var(--line)}.option-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.amount{white-space:nowrap;text-align:right}.duration{display:block;margin-top:var(--space-1);color:var(--muted)}.option p{margin-top:var(--space-2)}.side-panel{position:sticky;top:calc(var(--header-offset) + var(--space-3));align-self:start;background:var(--cream);border-radius:var(--radius);padding:var(--card-space);overflow-wrap:anywhere}.side-panel p{margin-block:var(--space-3)}.side-panel .btn,.side-panel .textlink{display:flex;margin-top:var(--space-2)}.notes{margin-top:var(--space-3);color:var(--muted)}.notes li{margin-bottom:var(--space-1)}.related{padding-block:var(--section-space);border-top:1px solid var(--line)}.related>h2{margin-bottom:var(--space-4)}.location-services{grid-template-columns:repeat(2,1fr)}.hours>div{display:flex;justify-content:space-between;gap:var(--space-2);padding-block:var(--space-1);border-bottom:1px solid var(--line)}.story{max-width:900px;margin:0 auto var(--section-space)}.story p{margin-top:var(--space-3)}.owner{display:grid;grid-template-columns:.8fr 1fr;gap:var(--space-5);align-items:center;margin-bottom:var(--section-space)}.owner>img{width:100%;height:480px;object-position:50% 30%;border-radius:var(--radius)}.owner p{margin-top:var(--space-3)}.owner .textlink{margin-top:var(--space-3)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--section-space)}.contact-block,.simple-panel{padding:var(--space-4);background:var(--cream);border-radius:var(--radius);overflow-wrap:anywhere}.contact-block p,.simple-panel p{margin-block:var(--space-3)}.simple-panel{margin-bottom:var(--section-space)}.faq-list{max-width:900px;margin:0 auto var(--section-space)}.faq-list details{padding-block:var(--space-3);border-bottom:1px solid var(--line)}.faq-list summary{font-family:var(--serif);font-size:var(--type-h4);line-height:var(--leading-heading);list-style:none;position:relative;padding-right:var(--space-4);cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'';position:absolute;right:0;top:0;width:24px;height:24px;background:url('/assets/icons/plus.png') center/contain no-repeat}.faq-list details[open] summary:after{background-image:url('/assets/icons/minus.png')}.faq-list p{margin-top:var(--space-3)}.inquiry-form{margin-top:var(--space-5)}.inquiry-form>p{margin-bottom:var(--space-3)}.inquiry-form label{display:block;margin-bottom:var(--space-3)}input,textarea,select{display:block;width:100%;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:var(--button-y) var(--button-x);margin-top:var(--space-1)}textarea{min-height:150px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.status-text{margin-top:var(--space-2)}.search-wrap{margin-bottom:var(--space-3)}.empty-state{padding-block:var(--space-4)}img[src="/assets/wellness-exterior.png"]{object-position:50% 67%}
@media(max-width:1200px){
 :root{--gutter:2rem;--header-offset:96px}.topline,.navlinks{display:none}.mobile-toggle{display:block;margin-left:auto}.nav-dropdown{display:none!important}.mobile-nav.open{display:block;position:absolute;top:100%;left:var(--gutter);right:var(--gutter);max-height:calc(100dvh - var(--header-offset) - var(--space-2));overflow:auto;padding:var(--card-space);background:var(--white);border-radius:0 0 var(--radius-panel) var(--radius-panel);box-shadow:0 16px 32px #28251f26}.mobile-nav details{padding-block:var(--space-1)}.mobile-nav summary{list-style:none;font-size:var(--type-menu);font-weight:500;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding-block:var(--space-1)}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:'';width:16px;height:16px;background:url('/assets/icons/plus.png') center/contain no-repeat}.mobile-nav details[open]>summary:after{background-image:url('/assets/icons/minus.png')}.mobile-nav details a{display:flex;align-items:center;gap:var(--space-2);padding:var(--menu-item-y) var(--menu-item-x);font-size:var(--type-menu);border-radius:var(--radius)}.mobile-nav details a:hover{background:var(--white);box-shadow:0 4px 16px #28251f14}.mobile-nav .service-icon{width:32px;height:32px;object-fit:contain}.mobile-nav>a{display:block;padding:var(--menu-item-y) 0;font-size:var(--type-menu)}.benefits>.container{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.about-intro{grid-template-columns:1fr 1fr}.about-numbers{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.cards,.directory-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.content-layout{grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-4)}
}
@media(max-width:700px){
 :root{--type-h1:2.75rem;--type-h2:2.25rem;--type-h3:1.75rem;--type-h4:1.5rem;--type-h5:1.25rem;--type-h6:1.125rem;--gutter:1.25rem;--section-space:var(--space-5);--hero-space:var(--space-5);--header-offset:88px;--nav-height:88px}
 .nav{min-height:88px;padding-block:var(--space-2);gap:var(--space-2)}.wordmark img{width:56px;height:56px}.nav>.btn{padding-inline:var(--space-2)}.hero-copy>p{max-width:500px}.hero-actions{flex-direction:column;align-items:stretch;max-width:300px;margin-inline:auto}.benefits>.container{grid-template-columns:1fr}.benefit{align-items:center}.section-head{align-items:flex-start;flex-direction:column}.about-intro,.page-hero,.content-layout,.owner,.contact-grid,.gift-banner,.locations-grid,.package-grid,.reviews{grid-template-columns:1fr}.about-numbers{grid-template-columns:1fr;gap:var(--space-3)}.about-photo{height:280px}.page-hero{gap:var(--space-4)}.page-hero>img{height:300px}.cards,.directory-grid,.location-services{grid-template-columns:1fr}.card-copy .service-icon{width:44px;height:44px}.card-image>img{height:260px}.location-card>img{height:260px}.option-head{flex-direction:column;gap:var(--space-2)}.amount{text-align:left;white-space:normal}.side-panel{position:static}.gift-media{height:250px;min-height:0}.gift-copy{padding:var(--card-space)}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:var(--space-2)}.form-row{grid-template-columns:1fr;gap:0}.contact-block,.simple-panel{padding:var(--card-space)}.owner>img{height:360px}.filter-tabs{flex-wrap:wrap;overflow:visible}.filter-tabs button{flex-grow:1}.package-top{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}



.header-shell:has(~main .hero-fullscreen) .site-header:not(.is-scrolled){background:var(--nav-glass)}
.header-shell:has(~main .hero-fullscreen) .site-header:not(.is-scrolled) .nav{color:var(--white)}
.header-shell:has(~main .hero-fullscreen) .site-header:not(.is-scrolled) .wordmark:after{background:var(--white)}
.header-shell:has(~main .hero-fullscreen) .site-header:not(.is-scrolled) .menu-plus,.header-shell:has(~main .hero-fullscreen) .site-header:not(.is-scrolled) .ui-menu{filter:brightness(0) invert(1)}
.nav-dropdown,.mobile-nav{color:var(--ink)}

.site-header .nav{transition:min-height .2s,padding .2s}.site-header .wordmark img{transition:width .2s,height .2s}.site-header.is-scrolled .nav{min-height:72px;padding-block:var(--space-1)}.site-header.is-scrolled .wordmark img{width:48px;height:48px}
@media(prefers-reduced-motion:reduce){.site-header .nav,.site-header .wordmark img{transition:none}}

/* Homepage service categories: outlined idle tabs, bronze selection. */
.service-section .filter-tabs button{background:transparent;color:var(--gold);border-color:var(--gold);box-shadow:none}.service-section .filter-tabs button:hover{background:var(--gold-soft);color:var(--gold)}.service-section .filter-tabs button.active,.service-section .filter-tabs button.active:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}


/* Fine irregular grain only; no stripes, sheen or gradients. */
:root{--button-grain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.92%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%22linear%22%20slope%3D%22.16%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23n%29%22%2F%3E%3C%2Fsvg%3E")}
.btn,.textlink,.filter-tabs button.active,.service-section .filter-tabs button.active{background-image:var(--button-grain);background-color:var(--gold);box-shadow:none;text-shadow:none}
.btn:hover,.textlink:hover{background-image:var(--button-grain);background-color:var(--gold-hover)}
.service-section .filter-tabs button:not(.active):hover{background:var(--gold-soft);color:var(--gold);box-shadow:none}

.menu-item-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.menu-item-title{font-weight:500;white-space:nowrap}.menu-item-description{font-size:var(--type-body);font-weight:400;color:var(--muted);white-space:nowrap}.dropdown-link{padding:var(--space-2);gap:var(--space-2)}

/* Soft bronze flow layered beneath the existing irregular grain. */
:root{--bronze-flow:linear-gradient(115deg,#7d4d34 0%,#8a553a 24%,#9d6b47 48%,#8a553a 73%,#794931 100%)}
.btn,.textlink,.filter-tabs button.active,.service-section .filter-tabs button.active{background-image:var(--button-grain),var(--bronze-flow);background-size:160px 160px,180% 100%;background-position:0 0,30% 50%;transition:background-position .65s ease,border-color .2s,color .2s}
.btn:hover,.textlink:hover,.filter-tabs button.active:hover,.service-section .filter-tabs button.active:hover{background-image:var(--button-grain),var(--bronze-flow);background-position:0 0,75% 50%}
@media(prefers-reduced-motion:reduce){.btn,.textlink,.filter-tabs button.active,.service-section .filter-tabs button.active{transition:none}}

.booking-embed{padding-top:0;scroll-margin-top:var(--header-offset)}.booking-widget-panel{width:100%;min-width:0;background:var(--white);border:0;padding:0}.booking-widget-panel .vagaro{width:100%;max-width:100%;padding:0;border:0;margin:0 auto;text-align:center}.booking-widget-panel .vagaro>a{font-family:var(--sans);font-size:var(--type-body);color:var(--muted);text-decoration:none}.booking-widget-panel iframe{max-width:100%;border:0}.booking-widget-fallback{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}

/* Override the provider’s 840px embedded frame cap; leave popup widgets alone. */
.booking-embed .vagaro-embedded-widget,.booking-embed .vagaro-embedded-widget .vagaro-iframe,.booking-embed .vagaro-embedded-widget iframe{width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;box-sizing:border-box}.booking-embed .vagaro-embedded-widget iframe{display:block}.booking-embed .vagaro-embedded-widget .vagaro-footer{width:100%!important;max-width:none!important;box-sizing:border-box}

/* Fit Vagaro’s internal 1060px content canvas to our wider desktop section. */
.booking-embed .vagaro-embedded-widget iframe{width:100%!important;zoom:var(--booking-scale,1)}

/* Preserve the complete Jasper Dermatology logo supplied for this service. */
img[src="/assets/dermatology-treatment.jpg"]{object-fit:contain;background:var(--white)}

img[src="/assets/4d-mommies.png"]{object-fit:contain;background:var(--white)}

.side-panel .provider-logo{display:block;width:220px;max-width:100%;height:auto;margin:0 auto var(--space-3);object-fit:contain}

/* Service information uses the global type and spacing scale. */
.service-detail{margin-top:var(--space-5);min-width:0}.service-detail p+p,.service-detail ul,.service-detail .btn{margin-top:var(--space-2)}.service-detail li+li{margin-top:var(--space-1)}.service-table-wrap{max-width:100%;overflow-x:auto}.service-table{width:100%;border-collapse:collapse;font-size:var(--type-body);text-align:left}.service-table caption{font-family:var(--serif);font-size:var(--type-h2);line-height:var(--leading-heading);text-align:left;color:var(--ink);padding-bottom:var(--space-3)}.service-table th,.service-table td{padding:var(--space-2);border-bottom:1px solid var(--line);vertical-align:top}.service-table thead{background:var(--cream)}.service-table tbody th{font-weight:500}.service-table td:last-child{white-space:nowrap}.service-faqs .faq-list{margin:0;max-width:none}

.service-provider-photo{width:280px;max-width:100%;height:auto;border-radius:var(--radius);margin-top:var(--space-3)}.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.service-gallery figure{margin:0}.service-gallery img{width:100%;height:auto;object-fit:contain}.service-gallery figcaption{font-size:var(--type-body);margin-top:var(--space-1)}.service-testimonial{padding-block:var(--space-3);border-bottom:1px solid var(--line)}.service-testimonial cite{display:block;margin-top:var(--space-2)}@media(max-width:700px){.service-gallery{grid-template-columns:1fr}.service-gallery img{max-width:240px}}

.booking-phone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.booking-phone-grid .simple-panel{margin-bottom:0}@media(max-width:700px){.booking-phone-grid{grid-template-columns:1fr}}

/* A stable header slot prevents resizing from changing the scroll threshold. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-duration:850ms;--utility-height:calc(var(--type-menu)*var(--leading-body) + var(--space-1)*2)}
.header-shell{position:sticky;top:0;z-index:50;height:calc(var(--nav-height) + var(--utility-height));pointer-events:none}.header-shell .site-header{position:relative;top:auto;pointer-events:auto;transition:background .35s var(--motion-ease),box-shadow .35s var(--motion-ease)}
.site-header .nav{transition:min-height .4s var(--motion-ease),padding .4s var(--motion-ease)}.site-header .wordmark img{transition:width .4s var(--motion-ease),height .4s var(--motion-ease)}
/* About stays text-only in both header states. */
.navlinks>a,.navlinks>a:hover,.navlinks>a:focus-visible{background:transparent!important;box-shadow:none;color:inherit}
@media(max-width:1200px){:root{--utility-height:0px}}
@media(prefers-reduced-motion:no-preference){
 .reveal-ready{opacity:0;transform:translateY(12px);transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
 .reveal-ready.is-visible{opacity:1;transform:none}.reveal-ready:focus-within{opacity:1;transform:none;transition-delay:0ms}
 .nav-dropdown:not([hidden]){animation:menu-enter .28s var(--motion-ease) both}
 .card-image>img{transition:transform .6s var(--motion-ease)}
 @keyframes menu-enter{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}}

/* Start hero entrances with the stylesheet, not after deferred scripts load. */
@media(prefers-reduced-motion:no-preference){
 .hero-copy>*,.page-hero.text-only>*,.page-hero>div>*,.page-hero>img{animation:content-enter 1s var(--motion-ease) both}
 .hero-copy>:nth-child(2),.page-hero.text-only>:nth-child(2),.page-hero>div>:nth-child(2){animation-delay:90ms}
 .hero-copy>:nth-child(3),.page-hero.text-only>:nth-child(3),.page-hero>div>:nth-child(3){animation-delay:180ms}
 .page-hero>div>:nth-child(n+4){animation-delay:240ms}
 .page-hero>img{animation-delay:100ms}
 @keyframes content-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
}

/* Static Google review cards, with links to the verified original reviews. */
.google-reviews .review{display:flex;flex-direction:column;background:#fff;border:1px solid #dadce0;border-radius:12px;padding:var(--card-space);box-shadow:0 2px 6px #2021240a;color:#202124;gap:var(--space-2)}
.google-review-header{display:flex;align-items:center;gap:12px}.review-avatar{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#3367d6;color:white;font-size:var(--type-body);font-weight:500}.google-reviews .review:nth-child(2) .review-avatar{background:#7b1fa2}.google-reviews .review:nth-child(3) .review-avatar{background:#00796b}.review-author{min-width:0;flex:1}.google-reviews cite{display:block;font-family:var(--sans);font-size:var(--type-body);font-style:normal;font-weight:600}.google-review-source{display:block;font-size:var(--type-body);color:#5f6368}.google-mark{width:24px;height:24px;flex-shrink:0}.google-stars{display:flex;gap:2px}.google-stars img{width:20px;height:20px}.google-reviews blockquote{flex:1;font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body);margin:0;color:#3c4043}.google-review-link{font-family:var(--sans);font-size:var(--type-body);font-weight:500;color:#1a73e8;align-self:flex-start;border-radius:20px;padding:8px 12px;margin-left:-12px;margin-top:var(--space-1);transition:background .2s}.google-review-link:hover,.google-review-link:focus-visible{background:#e8f0fe;color:#174ea6;text-decoration:none}

.policy-content{max-width:900px;margin:0 auto var(--section-space)}.policy-content h2{margin-top:var(--space-5);margin-bottom:var(--space-2)}.policy-content p+p{margin-top:var(--space-2)}.policy-content a:not(.btn){color:var(--gold);font-weight:600}.legal-links,.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.legal-links{margin-top:var(--space-4)}.footer-bottom{flex-wrap:wrap}.footer-legal{font-size:var(--type-body)}
.cookie-notice{position:fixed;z-index:100;bottom:var(--space-3);left:50%;transform:translateX(-50%);width:min(920px,calc(100% - var(--gutter)*2));background:var(--white);padding:var(--card-space);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 8px 36px #28251f26;max-height:80dvh;overflow:auto}.cookie-notice[hidden],.embed-consent[hidden]{display:none}.cookie-notice p{margin-top:var(--space-2)}.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.cookie-actions .btn{background:transparent;color:var(--gold);border:1px solid var(--gold)}.cookie-actions .btn:hover{background:var(--gold);color:var(--white)}.embed-consent{padding:var(--card-space);background:var(--cream);border-radius:var(--radius);margin-bottom:var(--space-3)}.embed-consent p{margin-block:var(--space-2)}
@media(max-width:700px){.cookie-notice{bottom:var(--space-2)}.cookie-actions .btn{width:100%}.footer-legal{gap:var(--space-2)}}

.cookie-actions [data-cookie-choice="allow"]{background-color:var(--gold);background-image:var(--button-grain),var(--bronze-flow);color:var(--white);border-color:var(--gold)}
.cookie-actions [data-cookie-choice="allow"]:hover{background-color:var(--gold-hover);background-position:0 0,75% 50%}

/* Full-screen mobile navigation with a scrollable middle and fixed shopping dock. */
.mobile-nav:not([open]){display:none}
@media(max-width:1200px){
 dialog.mobile-nav[open]{position:fixed;inset:0;display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--white);color:var(--ink);overflow:hidden;box-shadow:none}
 .mobile-nav::backdrop{background:var(--white)}
 .mobile-nav,.mobile-nav a,.mobile-nav button,.mobile-nav summary,.mobile-nav span{font-family:var(--sans);font-size:var(--type-menu);line-height:var(--leading-control);font-weight:500}
 .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-3) var(--space-2)}
 .mobile-menu-head .wordmark img{width:56px;height:56px}.mobile-menu-head .wordmark:after{background:var(--gold)!important}
 .mobile-close{display:grid;place-items:center;width:44px;height:44px;border:0;background:var(--cream);border-radius:50%;color:var(--ink)}.mobile-close img{transform:rotate(45deg)}
 .mobile-menu-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 var(--space-3) var(--space-3)}
 .mobile-nav details{padding:0}.mobile-nav summary{min-height:44px;padding:10px 0;gap:var(--space-2)}
 .mobile-service-list{padding:4px 0 8px}.mobile-nav details a{min-height:44px;padding:6px 8px;gap:12px}.mobile-nav .service-icon{width:28px;height:28px}.mobile-nav details a:hover{background:var(--cream);box-shadow:none}
 .mobile-main-links{display:flex;flex-direction:column}.mobile-main-links>a{display:flex;align-items:center;min-height:44px;padding:10px 0}.mobile-main-links .mobile-book{color:var(--gold)}
 .mobile-contact{display:grid;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2)}.mobile-contact>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.mobile-contact span{color:var(--muted)}.mobile-contact a{color:var(--gold)}.mobile-email{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
 .mobile-menu-bottom{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);background:var(--cream);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #28251f05}
 .mobile-menu-bottom a:not(.btn){min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;background:white;border-radius:12px;color:var(--gold)}.mobile-menu-bottom img{width:28px;height:28px}.mobile-menu-bottom a:not(.btn):hover{background:#f2ebe5}
}
@media(prefers-reduced-motion:no-preference){.mobile-nav[open]{animation:mobile-menu-enter .3s var(--motion-ease)}@keyframes mobile-menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}

/* A small seasonal gift tab, kept clear of the consent notice and menu. */
.holiday-gift{position:fixed;left:0;bottom:var(--space-4);z-index:45;display:flex;align-items:center;background:var(--cream);border:1px solid #e6d5c5;border-left:0;border-radius:0 16px 16px 0;box-shadow:0 4px 20px #28251f14;padding:12px 8px 12px 16px}
.holiday-gift[hidden],body:has(.cookie-notice:not([hidden])) .holiday-gift{display:none}
.holiday-gift>a{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:var(--type-body);font-weight:600}.holiday-gift>a>span{display:flex;flex-direction:column}.holiday-gift-caption{color:var(--muted);font-size:var(--type-body);font-weight:400;max-width:0;max-height:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .3s,max-height .3s,opacity .3s}
.holiday-gift:hover .holiday-gift-caption,.holiday-gift:focus-within .holiday-gift-caption{max-width:240px;max-height:32px;opacity:1}
.holiday-gift>a>img{width:32px;height:32px;object-fit:contain}.holiday-gift-close{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent}.holiday-gift-close img{transform:rotate(45deg)}
@media(max-width:700px){.holiday-gift{bottom:max(var(--space-2),env(safe-area-inset-bottom));padding:6px 0 6px 12px}.holiday-gift>a{gap:8px}.holiday-gift>a>img{width:28px;height:28px}.holiday-gift-caption{display:none}}
@media(prefers-reduced-motion:reduce){.holiday-gift-caption{transition:none}}

.holiday-gift{top:50%;bottom:auto;transform:translateY(-50%)}
@media(max-width:700px){.holiday-gift{top:50%;bottom:auto}}

/* Mobile menu shopping actions and location details. */
@media(max-width:1200px){
 .mobile-menu-bottom{grid-template-columns:1fr;gap:var(--space-1);background:var(--white)}
 .mobile-menu-bottom a:not(.btn){width:100%;min-height:52px;background:var(--ink);color:var(--white);border-radius:var(--radius)}
 .mobile-menu-bottom a:not(.btn):hover,.mobile-menu-bottom a:not(.btn):focus-visible{background:#423c33;color:var(--white)}
 .mobile-menu-bottom img{filter:brightness(0) invert(1)}
 .mobile-contact>.mobile-location{display:block}
 .mobile-location-heading{display:flex;justify-content:space-between;gap:var(--space-1);flex-wrap:wrap}
 .mobile-location address{font-family:var(--sans);font-size:var(--type-menu);font-weight:500;font-style:normal;line-height:var(--leading-control);color:var(--muted);margin-top:var(--space-1)}
 .mobile-contact{gap:var(--space-3)}
}
/* Mobile header, bottom action bar, hero and footer (Nov 2026). */
.mobile-action-bar{display:none}
@media(max-width:1200px){
 .nav>.btn{display:none}
 .mobile-toggle{margin-left:auto;margin-right:calc(var(--space-1)*-1)}
 .mobile-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);box-shadow:0 -6px 20px #28251f14}
 .mobile-action-bar .btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;width:100%;padding-inline:var(--space-2)}
 .mobile-action-bar .btn.gold{order:2}
 .mobile-action-bar img{width:24px;height:24px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .cookie-notice{bottom:calc(88px + env(safe-area-inset-bottom))!important}
 .holiday-gift{display:none!important}
 /* Mobile menu: lighter close control, larger even type, side-by-side Shop/Gift. */
 .mobile-close{width:44px;height:44px;background:none;border-radius:0}
 .mobile-close img{width:22px;height:22px}
 .mobile-nav,.mobile-nav a,.mobile-nav button,.mobile-nav summary,.mobile-nav span,.mobile-location address{font-size:1.3125rem}
 .mobile-nav details a{min-height:48px}
 .mobile-menu-bottom{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .hero-fullscreen{min-height:min(88svh,720px);background:var(--ink) url('/assets/hero-mobile-wellness.jpg') center 40%/cover no-repeat}
 .hero-fullscreen .hero-background-video{display:none}
 .hero-shade{background:rgba(22,19,15,.52)}
 .footer-explore,.footer-plan{display:none}
 .site-footer{padding-top:var(--space-4)}
 .footer-grid{gap:var(--space-3)}
}
/* Mobile menu: fit everything on one phone screen (Nov 2026). */
@media(max-width:1200px){
 .mobile-close,.mobile-close:focus,.mobile-close:focus-visible{border:0;outline:none;box-shadow:none;background:none}
 .mobile-menu-head{padding:calc(var(--space-1) + env(safe-area-inset-top)) var(--space-3) var(--space-1)}
 .mobile-menu-head .wordmark img{width:48px;height:48px}
 .mobile-nav summary,.mobile-main-links>a{min-height:44px;padding:8px 0}
 .mobile-main-links{border-bottom:1px solid var(--ink);padding-bottom:var(--space-1)}
 .mobile-contact{margin-top:var(--space-2);padding-top:0;gap:var(--space-2)}
 .mobile-location address{margin-top:4px}
 .mobile-menu-scroll{padding-bottom:var(--space-2)}
 .mobile-menu-bottom{padding:12px var(--space-3) calc(12px + env(safe-area-inset-bottom))}
 .mobile-menu-bottom a:not(.btn){min-height:48px}
}
/* Mobile menu bottom buttons match the sticky action bar (Nov 2026). */
@media(max-width:1200px){
 .mobile-menu-bottom{grid-template-columns:1fr 1fr;gap:var(--space-2);background:var(--white);border-top:1px solid var(--line);box-shadow:0 -6px 20px #28251f14;padding:12px var(--space-3) calc(12px + env(safe-area-inset-bottom))}
 .mobile-menu-bottom .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding-inline:var(--space-2);border-radius:var(--radius)}
 .mobile-menu-bottom .btn{margin:0;font-size:var(--type-button)}
}
/* Spa House location hero gallery: wider feature photo, faded thumbnail rail with arrows, auto-cycle (Nov 2026). */
.page-hero:has(>.hero-gallery){grid-template-columns:minmax(0,47.6fr) minmax(0,52.4fr)}
.hero-gallery{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:var(--space-2);height:420px}
.hero-gallery-main{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);transition:opacity .3s var(--motion-ease)}
.hero-gallery-main.is-swapping{opacity:0}
.hero-gallery-rail{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0}
.gallery-arrow{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:var(--gold);cursor:pointer}
.gallery-arrow:hover{background:var(--gold-soft)}
.hero-gallery-thumbs{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden;padding-block:28px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent)}
.gallery-thumb{flex:0 0 84px;width:84px;padding:0;border:0;background:none;border-radius:var(--radius);overflow:hidden;cursor:pointer;opacity:.75;transition:opacity .4s}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb:hover,.gallery-thumb.active{opacity:1}
.gallery-thumb.active{box-shadow:inset 0 0 0 2px var(--gold)}
@media(max-width:700px){
 .page-hero:has(>.hero-gallery){grid-template-columns:1fr}
 .hero-gallery{grid-template-columns:1fr;grid-template-rows:280px auto;height:auto}
 .hero-gallery-rail{flex-direction:row}
 .gallery-arrow{transform:rotate(-90deg)}
 .hero-gallery-thumbs{flex-direction:row;padding-block:0;padding-inline:20px;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
 .gallery-thumb{flex:0 0 72px;width:72px;height:56px}
}
@media(prefers-reduced-motion:reduce){.hero-gallery-main,.gallery-thumb{transition:none}}
@media(prefers-reduced-motion:no-preference){.page-hero>.hero-gallery{animation:content-enter 1s var(--motion-ease) both;animation-delay:100ms}}
.hero-gallery-stage{position:relative;min-width:0;height:100%;overflow:hidden;border-radius:var(--radius);background:var(--ink)}
.hero-gallery-stage>.hero-gallery-main{position:absolute;inset:0;transition:opacity .9s ease-in-out}
.hero-gallery-stage>.hero-gallery-main.is-entering{opacity:0}
@media(max-width:700px){.hero-gallery-stage{height:280px}}
@media(prefers-reduced-motion:reduce){.hero-gallery-stage>.hero-gallery-main{transition:none}}
/* Endless thumbnail loop: rail is a viewport, the JS-built track slides inside it. */
.hero-gallery-thumbs{display:block;position:relative;padding:0}
.gallery-track{display:flex;flex-direction:column;gap:var(--space-1);transition:transform .7s ease-in-out;will-change:transform}
@media(max-width:700px){.hero-gallery-thumbs{padding:0}.gallery-track{flex-direction:row}}
@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}
/* Partners page (Nov 2026). Headshots are landscape with the subject right of centre, so crop to portrait on the face. */
.partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}
.partner-card{display:flex;flex-direction:column;gap:var(--space-2)}
.partner-photo{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:62% 25%;border-radius:var(--radius);background:var(--cream)}
.partner-placeholder{position:relative;background:var(--gold-soft)}
.partner-placeholder:after{content:"";position:absolute;inset:32%;background:var(--gold);opacity:.35;-webkit-mask:url("/assets/rastore-logo.png") center/contain no-repeat;mask:url("/assets/rastore-logo.png") center/contain no-repeat}
.partner-copy h3{font-size:var(--type-h4)}
.partner-copy p{color:var(--muted);margin-top:4px}
@media(max-width:700px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-2)}.partner-copy h3{font-size:var(--type-h5)}}
