/* VibeCurb Full-Bleed Subject. See HERO-DESIGN-READ.md for project overrides. */
.viewing-actions{flex-direction:column;align-items:flex-start;gap:16px}
/* Shared, centered post-hero navigation on every page. */
.botanical-nav{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 34px;min-height:80px;padding:14px max(28px,6vw);background:#193f32;color:#f7f1e5;border-block:1px solid #ad9360}
.botanical-nav::before,.botanical-nav::after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('assets/brand/botanical.svg') no-repeat -28px 45%;background-size:145px auto;opacity:.45}
.botanical-nav::after{transform:scaleX(-1)}
.botanical-nav a{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;text-align:center;color:inherit;font-size:.9375rem;font-weight:550;line-height:1.5;letter-spacing:.045em;text-decoration:underline;text-decoration-color:#d9bd83;text-underline-offset:5px;text-decoration-thickness:1px}
.botanical-nav a+a::before{content:'';position:absolute;left:-20px;top:calc(50% - 3px);width:8px;height:5px;background:#c8ac74;border-radius:8px 0 8px 0;transform:rotate(-35deg)}
.botanical-nav a:hover{color:#fff7e4;text-decoration-color:currentColor;text-decoration-thickness:2px}
.botanical-nav a:focus-visible{outline:2px solid #e2c58a;outline-offset:3px}
@media(max-width:640px){.botanical-nav{gap:4px 20px;padding:12px 22px;min-height:80px}.botanical-nav a{font-size:.875rem;letter-spacing:.025em;padding-inline:3px}.botanical-nav a+a::before{display:none}.botanical-nav::before,.botanical-nav::after{background-size:100px auto;opacity:.3}}
/* Mirror the existing botanical at the right edge, behind navigation controls. */
.site-header::after{content:'';position:absolute;inset:0;pointer-events:none;background:url('assets/brand/botanical.svg') no-repeat -35px 38%;background-size:105px auto;opacity:.2;transform:scaleX(-1)}
.site-header .header-inner{z-index:1}
@media(max-width:640px){.site-header::after{background-size:75px auto;opacity:.15}}
.site-header .brand{flex-shrink:0;flex-direction:row;align-items:center;gap:8px;line-height:1;color:#1e5b44}.brand-emblem{width:90px;height:auto;flex:none}.brand .brand-wordmark{font:800 28px/1 'Bodoni Moda',Georgia,serif;letter-spacing:-.055em;text-transform:uppercase;margin:0}.brand .brand-subtitle{display:block;font:500 8px/1.4 var(--body);letter-spacing:.21em;text-transform:uppercase;margin-top:7px}.site-header .header-inner{padding-top:12px;padding-bottom:12px;position:relative}.site-header::before{content:'';position:absolute;inset:0;pointer-events:none;background:url('assets/brand/botanical.svg') no-repeat -35px 38%;background-size:105px auto;opacity:.2}.site-header .brand,.site-header nav,.header-action{position:relative}.site-footer{position:relative;isolation:isolate;overflow:hidden}.site-footer::before{content:'';position:absolute;z-index:-1;right:-45px;bottom:-70px;width:290px;height:470px;background:url('assets/brand/botanical.svg') center/contain no-repeat;opacity:.45;pointer-events:none}.site-footer .brand{align-items:center;width:205px;color:#f4efe6}.site-footer .brand-emblem{width:155px;margin-bottom:14px}.site-footer .brand-wordmark{font-size:30px}.site-footer .brand-subtitle{text-align:center;font-size:9px}.footer-bottom{position:relative}
@media(min-width:901px) and (max-width:1150px){.site-header .brand-emblem{width:68px}.site-header .brand-wordmark{font-size:24px}.site-header .brand{gap:5px}}
@media(max-width:900px){.site-header .header-inner{padding-top:9px;padding-bottom:0;row-gap:8px}.site-header .brand-emblem{width:76px}.site-header .brand-wordmark{font-size:26px}}
@media(max-width:640px){.site-header .brand{gap:4px}.site-header .brand-emblem{width:54px}.site-header .brand-wordmark{font-size:19px}.site-header .brand-subtitle{font-size:6px;letter-spacing:.16em;margin-top:5px}.site-footer::before{width:230px;right:-80px;opacity:.3}.site-footer .brand{width:190px}.site-header::before{background-size:75px auto;opacity:.15}}
@media(max-width:360px){.site-header .brand{gap:3px}.site-header .brand-emblem{width:48px}.site-header .brand-wordmark{font-size:17px}.site-header .header-inner{column-gap:8px}}
@font-face{font-family:'Bodoni Moda';src:url('assets/fonts/bodonimoda.woff2') format('woff2'),url('assets/fonts/bodonimoda.ttf') format('truetype');font-weight:400 900;font-display:swap}
.site-footer .brand .brand-wordmark{font-size:30px;line-height:1;letter-spacing:-.045em;margin-top:0}.site-footer::before{right:-110px;opacity:.25}
/* Dark-surface BudgetPixel variant: black blends away without erasing pale facets. */
.site-footer .brand{width:220px}
.site-footer .brand-emblem{width:200px;mix-blend-mode:screen;margin-bottom:18px}
.site-footer .brand .brand-wordmark{font-size:34px}
@font-face{font-family:'Bodoni Moda';src:url('assets/fonts/bodonimoda-italic.woff2') format('woff2'),url('assets/fonts/bodonimoda-italic.ttf') format('truetype');font-weight:400 900;font-style:italic;font-display:swap}
.image-hero{position:relative;isolation:isolate;overflow:hidden;background:#ded8cc;color:#fffaf0;min-height:620px;height:min(720px,calc(100svh - 126px));display:flex;flex-direction:column;padding:25px var(--gutter) 30px}
.hero-image{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.image-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(20,18,15,.39),transparent 38%,transparent 45%,rgba(20,18,15,.84) 100%)}
.hero-topline{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #c2a772;padding-top:15px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;line-height:1.5}
.hero-title-block{position:relative;margin-top:35px}.image-hero h1{font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(64px,8.7vw,142px);line-height:.98;letter-spacing:-.045em;font-weight:400;max-width:16ch;text-wrap:balance}.image-hero h1 em{font-weight:400}.image-hero .eyebrow{color:inherit;font-size:11px;margin-bottom:15px;letter-spacing:.2em}.hero-bottom{position:relative;margin-top:auto;padding-top:25px;display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:end}.hero-statement{font:400 clamp(31px,3.8vw,60px)/1.05 'Bodoni Moda',Georgia,serif;letter-spacing:-.03em;max-width:24ch}.hero-description{font-size:18px;line-height:1.5;max-width:43ch}.hero-statement+.hero-description{margin-top:17px;font-size:15px;max-width:49ch}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:230px}.hero-actions .button{background:#fffaf0;border-color:#fffaf0;color:#14120f;min-height:48px;font-size:14px;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s cubic-bezier(.16,1,.3,1)}.hero-actions .button:hover{background:#e9e1d0;transform:translateY(-2px)}.hero-actions .button:active{transform:scale(.98)}.hero-actions .text-link{font-size:14px;color:#fffaf0}.hero-actions .text-link:hover{color:#fff}.hero-caption{grid-column:1/-1;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #b99a64;padding-top:15px;line-height:1.5}
.hero-home .hero-title-block{text-align:center;margin-top:24px}.hero-home h1{max-width:none;font-size:clamp(90px,15.4vw,240px);line-height:.87;letter-spacing:-.07em}.hero-signature{text-transform:uppercase;letter-spacing:.38em;font-size:10px;margin-top:22px}.hero-home .hero-image img{object-position:50% 54%}.hero-home .hero-description{max-width:54ch}.hero-home .hero-bottom{gap:18px 50px}
.hero-services .hero-title-block{margin-top:auto;padding-top:50px}.hero-services .hero-bottom{margin-top:0}.hero-services .hero-image img{object-position:50% 48%}.hero-services::after{background:linear-gradient(180deg,rgba(20,18,15,.33),transparent 23%,rgba(20,18,15,.13) 45%,rgba(20,18,15,.87) 100%)}
.hero-spaces .hero-title-block{margin-top:auto;padding-top:50px}.hero-spaces h1{font-size:clamp(60px,7.8vw,124px);max-width:20ch}.hero-spaces .hero-bottom{margin-top:0}.hero-spaces .hero-image img{object-position:50% 58%}.hero-spaces::after{background:linear-gradient(180deg,rgba(20,18,15,.37),transparent 30%,rgba(20,18,15,.1) 42%,rgba(20,18,15,.88) 100%)}
.hero-artists{height:min(720px,calc(100svh - 126px));min-height:650px}.hero-artists .hero-image img{object-position:center 40%}.hero-artists .hero-title-block{margin-top:15px;color:#14120f;text-align:center}.hero-artists .hero-title-block .eyebrow{margin-bottom:7px}.hero-artists h1{max-width:none;font-size:clamp(60px,8vw,120px)}.hero-artists .hero-topline{color:#14120f}.hero-artists::after{background:linear-gradient(180deg,rgba(246,242,233,.15),transparent 23%,transparent 63%,rgba(20,18,15,.86))}.hero-artists .hero-bottom{padding-top:0}.hero-artists .hero-description{max-width:35ch}.hero-artists .hero-caption{font-size:9px}
.hero-visit .hero-image img{object-position:center 36%}.hero-visit .hero-title-block{margin-top:auto;padding-top:60px}.hero-visit .hero-bottom{margin-top:0}.hero-visit::after{background:linear-gradient(180deg,rgba(20,18,15,.4),transparent 30%,rgba(20,18,15,.1) 46%,rgba(20,18,15,.9) 100%)}
.site-footer{background:#14120f}.footer-bottom{border-top-color:#746346}
.hero-artists .hero-image img{object-position:center 15%}
.hero-home::after{background:linear-gradient(180deg,rgba(20,18,15,.52),rgba(20,18,15,.32) 37%,transparent 50%,rgba(20,18,15,.84) 100%)}
.image-hero:not(.hero-artists) .hero-topline{position:relative;text-shadow:0 1px 3px #14120f}
.hero-visit .hero-image img{object-position:center 65%}
@keyframes hero-room-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){.image-hero:not(.hero-artists) .hero-image img{animation:hero-room-settle 4s cubic-bezier(.16,1,.3,1) both}}
@media(max-width:900px){.image-hero{min-height:580px;height:calc(100svh - 160px);max-height:730px;padding-top:20px}.hero-topline{font-size:9px}.hero-topline span:last-child{display:none}.hero-home h1{font-size:16vw}.hero-statement{font-size:42px}.hero-description{font-size:17px}.hero-bottom{gap:20px 25px}.hero-actions{min-width:205px}.hero-artists{min-height:580px}.hero-artists .hero-image img{object-fit:contain;object-position:center 35%;background:#e3e4df}.hero-artists::after{background:linear-gradient(180deg,rgba(246,242,233,.3),transparent 35%,transparent 55%,rgba(20,18,15,.9))}.hero-artists h1{font-size:10vw}}
@media(max-width:640px){.image-hero{padding:18px 22px 22px;min-height:575px;height:calc(100svh - 142px);max-height:680px}.hero-topline{font-size:9px;padding-top:11px;letter-spacing:.13em}.hero-title-block{margin-top:28px}.image-hero h1{font-size:clamp(54px,13.6vw,82px);line-height:1.02;letter-spacing:-.055em}.image-hero .eyebrow{font-size:9px;margin-bottom:13px}.hero-bottom{grid-template-columns:1fr;gap:18px;padding-top:20px}.hero-description{font-size:16px;line-height:1.5;max-width:35ch}.hero-actions{min-width:0;align-items:flex-start;gap:10px}.hero-actions .button{min-height:48px;padding:12px 20px;font-size:14px}.hero-caption{font-size:8px;padding-top:12px;letter-spacing:.1em}.hero-home .hero-title-block{margin-top:29px}.hero-home h1{font-size:18vw;line-height:.9;letter-spacing:-.07em}.hero-signature{font-size:8px;margin-top:17px;letter-spacing:.3em}.hero-home .hero-image img{object-position:43% center}.hero-home .hero-statement{font-size:34px;max-width:19ch}.hero-home .hero-description{font-size:14px;margin-top:13px;max-width:32ch}.hero-home .hero-actions{display:grid;grid-template-columns:max-content max-content;justify-content:start;align-items:center;gap:10px 20px}.hero-home .hero-actions .button{grid-column:1/-1;justify-self:start;font-size:13px;padding-inline:14px}.hero-home .hero-actions .text-link{font-size:13px;gap:10px}.hero-home .hero-bottom{gap:16px}.hero-home::after{background:linear-gradient(180deg,rgba(20,18,15,.46),transparent 34%,transparent 40%,rgba(20,18,15,.9) 100%)}.hero-services .hero-title-block,.hero-spaces .hero-title-block,.hero-visit .hero-title-block{padding-top:80px;margin-top:auto}.hero-services .hero-image img{object-position:57% center}.hero-spaces .hero-image img{object-position:46% center}.hero-spaces h1{font-size:clamp(49px,12.5vw,72px)}.hero-visit .hero-image img{object-position:center 28%}.hero-artists{height:auto;min-height:0;max-height:none;background:#eeece5;color:#14120f}.hero-artists .hero-topline{font-size:8px}.hero-artists .hero-title-block{margin-top:23px}.hero-artists .hero-title-block .eyebrow{margin-bottom:9px}.hero-artists h1{font-size:12.8vw}.hero-artists .hero-image{position:relative;inset:auto;z-index:auto;order:1;flex:none;aspect-ratio:3/2;width:calc(100% + 44px);margin:20px -22px 0;background:#eeece5}.hero-artists .hero-image img{object-fit:contain;object-position:center;height:100%}.hero-artists::after{display:none}.hero-artists .hero-description{font-size:16px;max-width:36ch}.hero-artists .hero-actions .button{background:#14120f;color:#fffaf0;border-color:#14120f}.hero-artists .hero-bottom{order:2;gap:13px;margin-top:0;padding-top:24px}.hero-artists .hero-caption{font-size:8px}.hero-artists .hero-actions .button:hover{background:#314e3e}}
@media(max-width:360px){.hero-home .hero-statement{font-size:30px}.hero-home .hero-description{font-size:13px}.hero-home .hero-actions{gap:8px 14px}.hero-home .hero-actions .button{font-size:12px;padding-inline:12px}.hero-home .hero-actions .text-link{font-size:12px}.hero-home .hero-bottom{gap:12px}.hero-spaces h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.image-hero .hero-image img{animation:none!important;transform:none!important}.hero-actions .button{transition:none;transform:none}}
/* Shared legibility treatment, with separate shading for the home masthead. */
.hero-services::after,.hero-visit::after{background:linear-gradient(90deg,rgba(20,18,15,.58),rgba(20,18,15,.46) 38%,transparent 78%),linear-gradient(180deg,rgba(20,18,15,var(--hero-top-shade,.62)),rgba(20,18,15,.22) 18%,rgba(20,18,15,.12) 35%,rgba(20,18,15,.52) 64%,rgba(20,18,15,.9) 100%)}
.hero-home::after{background:linear-gradient(180deg,rgba(20,18,15,.62),rgba(20,18,15,.60) 48%,rgba(20,18,15,.64) 66%,rgba(20,18,15,.9) 100%)}
.hero-spaces::after{background:linear-gradient(90deg,rgba(20,18,15,.58),rgba(20,18,15,.46) 52%,transparent 90%),linear-gradient(180deg,rgba(20,18,15,.85),rgba(20,18,15,.22) 18%,rgba(20,18,15,.32) 35%,rgba(20,18,15,.58) 64%,rgba(20,18,15,.9) 100%)}
.hero-visit{--hero-top-shade:.7}
.image-hero:not(.hero-artists) h1,.image-hero:not(.hero-artists) h1 em,.hero-home .hero-statement{font-weight:500}
.image-hero:not(.hero-artists) .hero-title-block,.image-hero:not(.hero-artists) .hero-description,.hero-home .hero-statement{text-shadow:0 2px 12px rgba(20,18,15,.2)}
@media(max-width:640px){.hero-services::after,.hero-spaces::after,.hero-visit::after{background:linear-gradient(180deg,rgba(20,18,15,.65),rgba(20,18,15,.15) 20%,rgba(20,18,15,.57) 36%,rgba(20,18,15,.65) 60%,rgba(20,18,15,.9) 100%)}.hero-home::after{background:linear-gradient(180deg,rgba(20,18,15,.62),rgba(20,18,15,.52) 23%,rgba(20,18,15,.22) 34%,rgba(20,18,15,.6) 48%,rgba(20,18,15,.9) 100%)}.hero-artists .hero-actions .text-link{color:#14120f}.hero-artists .hero-actions .text-link:hover{color:#314e3e}}
@media(max-width:640px){.hero-spaces::after{background:linear-gradient(180deg,rgba(20,18,15,.74) 8%,rgba(20,18,15,.15) 20%,rgba(20,18,15,.61) 30%,rgba(20,18,15,.65) 60%,rgba(20,18,15,.9) 100%)}}

/* Keep the small top-right label readable over the updated salon photograph. */
.hero-services{--hero-top-shade:.88}

/* Interior replaces the group portrait; protect the dark heading over the photograph. */
@media(min-width:641px){.hero-artists .hero-image img{object-fit:cover;object-position:center}.hero-artists::after{background:linear-gradient(180deg,rgba(246,242,233,.95),rgba(246,242,233,.9) 26%,transparent 45%,rgba(20,18,15,.72) 70%,rgba(20,18,15,.94) 100%)}}
