/* Home Layout B v3; scoped so the hero, header, inner pages and footer keep their styles. */
.home-v3 .home-section-heading h2,.home-v3 .home-visit h2{font:500 clamp(40px,4.5vw,64px)/1.08 'Playfair Display',Georgia,serif;font-style:normal;letter-spacing:-.025em;color:#F5EFE6}
.home-v3 .home-cream .home-section-heading h2,.home-v3 .home-about-card h2{color:#0E0C0B}
.home-v3 .home-section-heading .kicker{font-family:'Playfair Display',Georgia,serif;font-size:12px!important;font-weight:500;line-height:1.6;letter-spacing:.3em;text-transform:uppercase;color:#C9A96E}
.home-v3 .home-section-heading{text-align:left}
.home-v3 #home-reviews .home-section-heading{text-align:center}
.home-v3 .home-categories{padding:26px 0 35px}
.home-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-category-tile{display:block;min-width:0;text-align:center}
.category-image{aspect-ratio:4/3.4;overflow:hidden;background:#171310}
.category-image img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--motion-ease)}
.category-label{position:relative;display:inline-block;padding:19px 0 15px;font:500 15px/1.4 'Playfair Display',Georgia,serif;letter-spacing:.22em;color:#F5EFE6}
.category-label:after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:62px;height:1px;background:#C9A96E}
.home-menu-heading,.home-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}
.home-menu-heading .home-section-heading,.home-gallery-heading .home-section-heading{margin:0}
.home-v3 .home-teaser-toggle{display:flex;border:1px solid rgba(139,104,48,.35);border-radius:3px;overflow:hidden;padding:0;background:transparent;flex-shrink:0}
.home-v3 .home-teaser-toggle button{font:500 16px/1.4 'Playfair Display',Georgia,serif;min-width:100px;min-height:46px;padding:10px 20px;border-radius:0;background:transparent;color:#0E0C0B}
.home-v3 .home-teaser-toggle button[aria-pressed="true"]{background:#C9A96E;color:#0E0C0B}
.teaser-menu-rows{border-top:1px solid rgba(139,104,48,.6);padding-top:10px}
.teaser-menu-row{display:flex;align-items:baseline;gap:14px;padding:12px 0;min-width:0}
.teaser-service-name{font:500 21px/1.5 'Playfair Display',Georgia,serif;max-width:70%;flex-shrink:1}
.teaser-leader{height:1px;flex:1;min-width:12px;border-bottom:1px solid rgba(139,104,48,.32)}
.home-v3 .teaser-price .price{font:500 23px/1.35 'Playfair Display',Georgia,serif;color:#0E0C0B;white-space:nowrap}
.teaser-menu-link{margin-top:24px;color:#8B6830}
.home-gallery-heading>.text-link{align-self:flex-end;white-space:nowrap;color:#C9A96E;font-family:'Playfair Display',Georgia,serif}
.home-bento{display:grid;grid-template-columns:minmax(0,1.63fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;height:clamp(400px,40vw,560px)}
.home-bento-image{margin:0;min-width:0;min-height:0;overflow:hidden;background:#171310}
.home-bento-image img{width:100%;height:100%;object-fit:cover}
.bento-large{grid-column:1;grid-row:1/3}.bento-small{grid-column:2}
.home-visit{background:#0E0C0B;color:#F5EFE6;border-top:1px solid rgba(201,169,110,.5);border-bottom:1px solid rgba(201,169,110,.5);padding:28px 0}
.home-visit-row{display:grid;grid-template-columns:auto minmax(0,1.6fr) auto auto;align-items:center;gap:20px}
.home-v3 .home-visit h2{font-size:clamp(40px,3.5vw,54px);white-space:nowrap}
.home-visit-row>a:not(.button){display:flex;align-items:center;gap:15px;min-width:0;border-left:1px solid rgba(201,169,110,.5);padding-left:20px;min-height:46px}
.home-visit-row svg{width:20px;height:20px;color:#C9A96E}
.visit-address{font:500 12px/1.8 'Playfair Display',Georgia,serif;letter-spacing:.15em}
.visit-phone{font:500 14px/1.5 'Playfair Display',Georgia,serif;white-space:nowrap}
.home-visit-row>.button{border-radius:3px;position:relative}
.home-visit-row>.visit-phone{position:relative}.home-visit-row>.visit-phone:after{content:'';position:absolute;right:-11px;top:0;bottom:0;width:1px;background:rgba(201,169,110,.5)}
html.anim-ready .home-category-grid,html.anim-ready .home-bento{perspective:1200px}
html.anim-ready .motion-bento-left:not(.is-revealed){--entry-x:-50px;--entry-y:0px}
html.anim-ready .motion-bento-right:not(.is-revealed){--entry-x:50px;--entry-y:0px}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){.home-category-tile:hover img,.home-category-tile:focus-visible img{transform:scale(1.05)}}
@media(max-width:1279px){.home-visit-row{gap:15px}.home-visit-row>a:not(.button){gap:10px;padding-left:15px}.visit-address{font-size:11px;letter-spacing:.1em}.visit-phone{font-size:13px}.home-visit-row>.button{padding:13px 17px;gap:12px}}
@media(max-width:1023px){
 .home-visit-row{grid-template-columns:1fr;justify-items:center;gap:21px;text-align:center}
 .home-visit-row>a:not(.button){border-left:0;padding-left:0;justify-content:center;min-height:44px}.home-visit-row>.visit-phone:after{display:none}
 .visit-address{max-width:420px;font-size:13px}.visit-phone{font-size:15px}
 .home-category-grid{gap:12px}.category-label{font-size:12px;letter-spacing:.16em}
 html.anim-ready .motion-bento-left:not(.is-revealed){--entry-x:-24px}html.anim-ready .motion-bento-right:not(.is-revealed){--entry-x:24px}
}
@media(max-width:639px){
 .home-category-grid{grid-template-columns:1fr;gap:28px}.category-label{font-size:15px;letter-spacing:.22em}
 .home-v3 .home-categories{padding-top:22px}.home-menu-heading{align-items:flex-start;flex-direction:column;gap:20px}
 .home-v3 .home-teaser-toggle button{min-width:105px}.teaser-service-name{font-size:18px}.home-v3 .teaser-price .price{font-size:20px}.teaser-menu-row{gap:10px}
 .home-gallery-heading{align-items:flex-start;flex-direction:column;gap:18px}.home-gallery-heading>.text-link{align-self:flex-end}
 .home-bento{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:10px}.bento-large{grid-column:1/3;grid-row:1;aspect-ratio:4/3}.bento-small{grid-column:auto;grid-row:2;aspect-ratio:1}
}
@media(prefers-reduced-motion:reduce){.home-category-tile img,.home-category-tile:hover img,.home-category-tile:focus-visible img{transform:none!important;transition:none!important}}
