/* BHP Hair & Tribute / v1.4 Signature Motion.
   Intentional luxury motion, scoped to the SiteKit; reduced-motion safe.
   Visual edits never modify source photographs, faces or body shape. */
:root{--sig-ease:cubic-bezier(.19,1,.22,1);--sig-border:#b08e6240}

/* A true two-level desktop masthead leaves room for a readable ONE-LINE wordmark,
   without reducing, overlapping, or deleting any of the eight navigation choices. */
@media(min-width:1141px){
 .bhps-header .bhps-wrap{width:min(100% - 84px,1540px)}
 .bhps-header-inner{height:auto;min-height:145px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:83px 62px;column-gap:28px;row-gap:0;align-items:center}
 .bhps-logo{grid-column:1;grid-row:1;min-width:0;max-width:100%;width:max-content;gap:18px;align-self:center}
 .bhps-logo-monogram{width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:#fffaf174;box-shadow:inset 0 0 0 5px #f5ebda}
 .bhps-logo-monogram svg{width:43px;height:43px}
 .bhps-logo-text{gap:6px;max-width:none;min-width:0}
 .bhps-logo-text strong{display:block;width:max-content;max-width:none;white-space:nowrap;font:600 clamp(31px,2.4vw,38px)/1.06 var(--lux-display);letter-spacing:-.05em}
 .bhps-logo-text small{display:block;max-width:none;white-space:nowrap;font-size:10.5px;letter-spacing:.17em;line-height:1.25;color:#765f46}
 .bhps-header-actions{grid-column:2;grid-row:1;justify-self:end;gap:16px;align-self:center}
 .bhps-icon-button{width:45px;height:45px;border-radius:50%;border:1px solid #cbbba5;display:grid;place-items:center;transition:background .3s,border-color .3s}
 .bhps-icon-button:hover{background:#eee4d5;border-color:#af9069}
 .bhps-book-button{min-width:242px;max-width:unset;min-height:51px;padding:16px 20px;font-size:12px;letter-spacing:.045em;justify-content:space-between}
 .bhps-nav{grid-column:1/-1;grid-row:2;width:100%;height:100%;align-self:stretch;justify-self:stretch;justify-content:center;gap:clamp(17px,2.35vw,39px);border-top:1px solid var(--sig-border);margin:0;display:flex;flex:unset}
 .bhps-nav>a,.bhps-nav-dropdown>a{font-size:clamp(14px,1.1vw,16px)!important;letter-spacing:0;font-weight:700;min-height:60px}
 .bhps-nav a[aria-current]{color:#966840}
 .bhps-nav-dropdown .bhps-mega{top:100%;box-shadow:0 30px 70px #17120b30}
 .bhps-nav-dropdown .bhps-mini-menu{top:100%}
 .bhps-nav>a::after,.bhps-nav-dropdown>a::after{bottom:10px;height:2px;border-radius:3px}
 .bhps-header.is-scrolled .bhps-header-inner{grid-template-rows:74px 54px;min-height:128px}
 .bhps-header.is-scrolled .bhps-nav>a,.bhps-header.is-scrolled .bhps-nav-dropdown>a{min-height:52px}
}
@media(min-width:1141px) and (max-width:1250px){
 .bhps-header .bhps-wrap{width:calc(100% - 46px)}
 .bhps-nav{gap:clamp(11px,1.75vw,23px)}
 .bhps-nav>a,.bhps-nav-dropdown>a{font-size:14px!important}
 .bhps-logo-text strong{font-size:32px}
 .bhps-book-button{min-width:211px}
}
@media(min-width:651px) and (max-width:1140px){
 .bhps-logo{gap:14px!important;max-width:calc(100% - 282px)!important}
 .bhps-logo-text strong{font-size:clamp(25px,2.9vw,33px)!important;line-height:1.05;white-space:nowrap;max-width:none}
 .bhps-logo-text small{font-size:9.5px;letter-spacing:.1em}
 .bhps-logo-monogram{width:47px;flex:0 0 47px}
}
@media(max-width:650px){
 .bhps-header-inner{height:82px;min-height:82px}
 .bhps-logo{gap:8px!important;max-width:calc(100% - 96px)!important}
 .bhps-logo-text{gap:5px;min-width:0}
 .bhps-logo-text strong{font:600 clamp(15px,4.65vw,20px)/1.035 var(--lux-display)!important;max-width:100%;white-space:normal;letter-spacing:-.045em}
 .bhps-logo-text small{font-size:clamp(7.5px,2vw,9px)!important;line-height:1.16;letter-spacing:.04em;max-width:100%;white-space:normal}
 .bhps-logo-monogram{width:34px;height:36px;flex:0 0 34px}
 .bhps-header-actions{gap:5px}
 .bhps-icon-button{min-width:35px}
}

/* Letter-by-letter cinematic assembly: first initial is oversized and settles;
   subsequent characters step into place. Text is visible as normal when JS is absent. */
.bhps-signature-name{position:relative;isolation:isolate}
.bhps-brand-word{display:inline-block;white-space:nowrap}
.bhps-brand-glyph{display:inline-block;position:relative;transform-origin:50% 75%;will-change:opacity,transform}
.bhps-logo-text small{transition:color .45s,letter-spacing .6s}
.bhps-logo:hover .bhps-logo-text small{color:#9d6c3b;letter-spacing:.19em}
@keyframes bhps-initial-form{
  0%{opacity:1;transform:translateY(-.36em) scale(3) rotate(-7deg);filter:blur(0)}
  25%{opacity:1;filter:blur(0)}
  72%{opacity:1;transform:translateY(-.12em) scale(1.45) rotate(-2deg)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:none}
}
@keyframes bhps-letter-form{
  0%{opacity:0;transform:translate3d(.22em,.65em,0) scale(1.6) rotate(5deg);filter:blur(3px)}
  65%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes bhps-caption-arrive{from{opacity:0;transform:translateY(6px);letter-spacing:.38em}to{opacity:1;transform:none}}
@keyframes bhps-line-trace{from{stroke-dashoffset:125;opacity:.5}to{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .bhps-signature-name.bhps-brand-ready .bhps-brand-glyph{animation:bhps-letter-form .68s var(--sig-ease) both;animation-delay:var(--lag)}
 .bhps-signature-name.bhps-brand-ready .bhps-brand-glyph.bhps-brand-first{animation:bhps-initial-form 1.05s cubic-bezier(.22,.7,.2,1) both;animation-delay:0ms;z-index:2}
 .bhps-logo:has(.bhps-brand-ready) .bhps-logo-descriptor{animation:bhps-caption-arrive 1s var(--sig-ease) .9s both}
 .bhps-logo-monogram svg path{stroke-dasharray:125;animation:bhps-line-trace 2.1s ease-out both}
 .bhps-logo-monogram::after{content:'✦';position:absolute;top:-9px;right:-7px;font:14px Georgia;color:#b08b60;animation:bhps-signature-star 5s linear infinite}
}
@keyframes bhps-signature-star{0%,100%{transform:rotate(0) scale(.7);opacity:.5}50%{transform:rotate(90deg) scale(1.1);opacity:1}}

/* Editorial typography choreography: section headings reveal word-by-word,
   while the final consultation headline borrows the signature letter treatment. */
.bhps-word-clip{display:inline-block;overflow:hidden;vertical-align:-.07em;padding:.11em .035em .085em;margin:-.11em -.035em -.085em;white-space:nowrap}
.bhps-motion-word{display:inline-block;transform:none;opacity:1}
.bhps-type-enter:not(.bhps-type-visible) .bhps-motion-word{transform:translateY(115%) rotate(3deg);opacity:0}
@keyframes bhps-type-rise{from{opacity:0;transform:translateY(112%) rotate(3deg);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes bhps-letter-wave{from{opacity:0;transform:translateY(.65em) scale(1.7);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(prefers-reduced-motion:no-preference){
 .bhps-type-enter.bhps-type-visible .bhps-motion-word{animation:bhps-type-rise .88s var(--sig-ease) both;animation-delay:var(--lag)}
 .bhps-signature-secondary.bhps-type-visible .bhps-brand-glyph{animation:bhps-letter-wave .72s var(--sig-ease) both;animation-delay:var(--lag)}
 .bhps-signature-secondary:not(.bhps-type-visible) .bhps-brand-glyph{opacity:0}
}

/* More dimensional, less boxed. The restrained gradients subtly breathe on scroll;
   the cards reveal in staggered waves without hiding content from no-JS visitors. */
.bhps-intro{position:relative;isolation:isolate;overflow:hidden}
.bhps-intro::after{content:'';position:absolute;right:-8%;top:-35%;width:50vw;height:50vw;min-width:340px;min-height:340px;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,#d5b78d26 0%,#d8bc9920 25%,transparent 67%);animation:bhps-ambient-breathe 16s ease-in-out infinite alternate}
.bhps-intro-grid{position:relative}
.bhps-intro-grid::before{content:'✳';position:absolute;right:0;top:-40px;font:clamp(65px,9vw,160px)/1 Georgia;color:#bea17a1f;animation:bhps-signature-star 21s linear infinite;pointer-events:none}
.bhps-collections{position:relative}
.bhps-collection{transition:translate .8s var(--sig-ease),transform .6s var(--sig-ease),border-radius .8s var(--sig-ease),filter .8s;box-shadow:0 28px 60px #0708072a}
.bhps-collection:hover{border-radius:46px 7px 85px 7px}
.bhps-collection-stage:hover{border-radius:9px 76px 7px 56px}
.bhps-collection img{transition:transform 1.4s var(--sig-ease),filter .9s}
.bhps-service-card,.bhps-blog-feature,.bhps-plan{transition:translate .8s var(--sig-ease),transform .55s var(--sig-ease),box-shadow .55s,opacity .85s}
.bhps-service-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid transparent;transition:border-color .4s}
.bhps-service-card:hover::after{border-color:#d9b990c9}
.bhps-service-card-image img{transform:scale(1.015);transition:transform 1.25s var(--sig-ease),filter .7s}
.bhps-service-card:hover .bhps-service-card-image img{transform:scale(1.095) translateY(-.8%)}
.bhps-service-card .bhps-circle-arrow{transition:transform .55s var(--sig-ease),background .3s}
.bhps-service-card:hover .bhps-circle-arrow{transform:rotate(45deg) scale(1.11)}
.bhps-video-card,.bhps-gallery-tile{transition:translate .85s var(--sig-ease),opacity .85s,box-shadow .55s}
.bhps-gallery-tile:hover{box-shadow:0 19px 42px #100e0b36}
.bhps-blog-feature:hover{box-shadow:0 28px 62px #20140829}
.bhps-plan{isolation:isolate}
.bhps-plan::after{content:'';position:absolute;inset:-120% auto -120% -80%;width:42%;background:linear-gradient(90deg,transparent,#dfc4a02d,transparent);transform:rotate(19deg);transition:left .95s;pointer-events:none}
.bhps-plan:hover::after{left:150%}
.bhps-entrance-pending{opacity:0;translate:0 42px}
.bhps-entrance-pending.bhps-in-view{opacity:1;translate:0 0;transition-delay:var(--stagger,0ms)}
@keyframes bhps-ambient-breathe{from{transform:translate(-3%,-1%) scale(.93);opacity:.5}to{transform:translate(3%,3%) scale(1.15);opacity:1}}

/* CTAs that feel crafted and reactive, not like ordinary block buttons. */
.bhps-btn-gold,.bhps-book-button{isolation:isolate;box-shadow:0 11px 27px #80634430;translate:var(--mag-x,0px) var(--mag-y,0px)}
.bhps-btn-gold::after,.bhps-book-button::after{content:'';position:absolute;inset:3px;pointer-events:none;border:1px solid #fff9e144;border-radius:inherit;opacity:.7;transition:inset .4s,opacity .4s}
.bhps-btn-gold:hover::after,.bhps-book-button:hover::after{inset:6px;opacity:1}
.bhps-btn-gold span:last-child,.bhps-book-button span:last-child{display:inline-block;transition:transform .45s var(--sig-ease)}
.bhps-btn-gold:hover span:last-child,.bhps-book-button:hover span:last-child{transform:translate(4px,-4px) rotate(7deg)}
.bhps-final-cta{background-image:radial-gradient(ellipse at 85% 10%,#f1dab615,transparent 55%),linear-gradient(135deg,#151613,#252018);position:relative;isolation:isolate}
.bhps-final-cta::before{content:'';width:460px;height:460px;position:absolute;right:-220px;top:-190px;border:1px solid #c9a37540;border-radius:50%;box-shadow:0 0 0 65px #c9a37509,0 0 0 130px #c9a37507;pointer-events:none;animation:bhps-ambient-breathe 17s alternate infinite}
.bhps-final-cta h2{position:relative;z-index:1}
@media(hover:hover) and (pointer:fine){.bhps-btn-gold,.bhps-book-button{transition:translate .17s linear,transform .35s var(--sig-ease),border-radius .38s,box-shadow .4s}}
@media(max-width:1140px){
 .bhps-header-inner{display:flex}
 .bhps-logo-text strong{width:auto}
 .bhps-book-button{max-width:none}
}
@media(max-width:650px){
 .bhps-intro::after{width:400px;height:400px;right:-220px;top:-100px}
 .bhps-collection,.bhps-collection-stage{box-shadow:0 16px 30px #0708071f}
 .bhps-signature-name .bhps-brand-glyph{will-change:auto}
 .bhps-final-cta::before{width:310px;height:310px;right:-210px}
}
@media(prefers-reduced-motion:reduce){
 .bhps-brand-glyph,.bhps-motion-word{transform:none!important;opacity:1!important;filter:none!important;animation:none!important}
 .bhps-entrance-pending{translate:0 0!important;opacity:1!important}
 .bhps-intro::after,.bhps-intro-grid::before,.bhps-logo-monogram::after,.bhps-final-cta::before{animation:none!important}
 .bhps-btn-gold,.bhps-book-button{translate:none!important}
}
