/* Transparent home masthead. Original logo stays entirely over the light half. */
:is(.home-page,.inner-page) .bru-header{display:flex;position:absolute;inset:0 0 auto;padding:20px 3vw;background:transparent;border:0;gap:0;min-height:92px}
:is(.home-page,.inner-page) .bru-header>.bru-brand{width:180px;margin-right:5vw}
:is(.home-page,.inner-page) .bru-header .bru-nav-controls{gap:30px}
.bru-header>.bru-book{display:flex;align-items:center;justify-content:space-between;margin-left:auto;gap:30px;min-width:190px;min-height:54px;padding:15px 23px;border:0;border-radius:40px;background:#f3eff1;color:#352f33;font-size:14px;font-weight:500;line-height:1.3;transition:background 220ms ease,transform 160ms var(--nav-ease)}
.bru-header>.bru-book>.book-roll{display:block;position:relative;overflow:hidden;width:auto;height:1.3em;border:0;border-radius:0;background:none;color:inherit;transition:none}
.book-roll>span{display:block;transition:transform 280ms cubic-bezier(.23,1,.32,1)}
.bru-header>.bru-book>.book-symbol{display:block;width:auto;height:auto;border:0;border-radius:0;background:none;color:inherit;font-size:23px;line-height:1;transition:transform 280ms var(--nav-ease)}
.bru-header>.bru-book:active{transform:scale(.97)}
.bru-booking{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;padding:24px 3vw 0;background:#efeded;color:#352f33;overflow:auto;isolation:isolate;animation:booking-in 300ms cubic-bezier(.23,1,.32,1)}
.bru-booking::backdrop{background:#201d2466}
.bru-booking::before{content:'';position:absolute;z-index:-1;inset:35% 0 0;pointer-events:none;background:radial-gradient(ellipse at 95% 115%,#332832 0%,#77657066 27%,transparent 56%),radial-gradient(ellipse at 60% 125%,#d8bacb 0%,transparent 55%)}
.booking-top{display:flex;align-items:center;justify-content:space-between}.booking-top .bru-brand{width:164px}
.booking-close{display:flex;align-items:center;gap:18px;background:none;border:0;color:inherit;font-size:14px;padding:0;min-height:52px}
.booking-close>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e1dadf;font-size:25px;transition:transform 220ms var(--nav-ease)}
.booking-content{width:57%;margin:22px 0 0 auto;position:relative;z-index:1}
.booking-intro{font-size:clamp(21px,1.6vw,29px);line-height:1.16;letter-spacing:-.035em;font-weight:500;color:#51474d;margin-bottom:48px;max-width:460px}
.booking-content fieldset{border:0;padding:0;margin:0 0 27px;display:flex;flex-wrap:wrap;gap:16px 24px}.booking-content legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.booking-content fieldset label{display:flex;align-items:center;gap:9px;font-size:14px;color:#51474d;min-height:36px;cursor:pointer}.booking-content input[type=radio]{appearance:none;width:23px;height:23px;border:1px solid #b6a7b0;border-radius:50%;margin:0;display:grid;place-content:center}.booking-content input[type=radio]::before{content:'';width:11px;height:11px;border-radius:50%;background:var(--pink);transform:scale(0)}.booking-content input[type=radio]:checked::before{transform:scale(1)}
.booking-fields{display:grid;grid-template-columns:1fr 1fr 72px;gap:12px}.booking-field{display:flex;flex-direction:column;border:1px solid #cfc4cb;border-radius:40px;padding:15px 26px;min-width:0;min-height:75px;justify-content:center;transition:border-color 160ms ease}
.booking-field:nth-child(1){grid-column:1}.booking-field:nth-child(2){grid-column:2/4}.booking-field>span{font-size:11px;color:#74646e;line-height:1.3;margin-bottom:5px}
.booking-field input,.booking-field textarea{font:16px/1.3 var(--sans);border:0;background:transparent;padding:0;color:#352f33;width:100%;outline:none;min-width:0;box-shadow:none;border-radius:0;resize:vertical}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#655760;opacity:1}.booking-field:focus-within{border-color:var(--pink);outline:1px solid var(--pink)}
.booking-message{grid-column:1/3}.booking-message textarea{max-height:140px}
.booking-submit{border:0;border-radius:50%;width:72px;height:72px;align-self:center;background:#a7195b;color:#fff;font-size:30px;display:grid;place-items:center;transition:transform 200ms var(--nav-ease),background 200ms ease}.booking-submit:active{transform:scale(.96)}
.booking-note{font-size:12px;line-height:1.5;color:#655760;margin-top:15px}.booking-note a{text-decoration:underline;text-underline-offset:3px}.booking-phone{display:inline-block;margin-top:18px;font-size:13px;color:#51474d}
.bru-booking h2{font:400 clamp(110px,19vw,350px)/1 var(--serif);letter-spacing:-.05em;margin:28px 0 0;white-space:nowrap;color:#30272e;pointer-events:none}.bru-booking h2 em{color:#95516f}
.bru-booking.is-closing{animation:nav-panel-out 160ms ease-out forwards}.bru-booking.nav-instant{animation:none}
.bru-booking :focus-visible{outline:2px solid var(--pink);outline-offset:5px}
@keyframes booking-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.bru-header>.bru-book:hover{background:#e7d9e1}.bru-book:hover .book-roll>span{transform:translateY(-100%)}.bru-header>.bru-book:hover>.book-symbol{transform:rotate(45deg)}.booking-close:hover>span{transform:rotate(90deg)}.booking-submit:hover{background:#802047;transform:rotate(8deg)}}
@media(min-width:761px) and (max-width:1050px){:is(.home-page,.inner-page) .bru-header>.bru-brand{width:155px;margin-right:3vw}:is(.home-page,.inner-page) .bru-header .bru-nav-controls{gap:20px}.booking-content{width:67%}.booking-intro{margin-bottom:30px}}
@media(max-width:760px){:is(.home-page,.inner-page) .bru-header{padding:18px;min-height:80px;display:grid;grid-template-columns:1fr auto;gap:16px}:is(.home-page,.inner-page) .bru-header>.bru-brand{width:128px;margin:0;grid-column:1;grid-row:1;justify-self:start}:is(.home-page,.inner-page) .bru-header .bru-nav-controls{grid-column:1;grid-row:2;margin:0}:is(.home-page,.inner-page) .bru-header .bru-nav-trigger{font-size:13px;min-height:34px}:is(.home-page,.inner-page) .bru-header .bru-nav-trigger[data-panel="bru-services"]{display:none}.bru-header>.bru-book{min-width:120px;min-height:46px;padding:12px 16px;font-size:12px;gap:16px}:is(.home-page,.inner-page) .bru-header>.bru-book{grid-column:2;grid-row:1;align-self:center}.bru-header>.bru-book>.book-symbol{width:auto;height:auto;font-size:19px}.bru-booking{padding:18px 20px 24px}.booking-top .bru-brand{width:134px}.booking-close{font-size:12px;gap:10px}.booking-close>span{width:42px;height:42px}.booking-content{width:100%;margin-top:40px}.booking-intro{font-size:24px;margin-bottom:25px}.booking-content fieldset{gap:8px 15px;margin-bottom:20px}.booking-content fieldset label{font-size:12px}.booking-fields{grid-template-columns:1fr 58px;gap:10px}.booking-field:nth-child(1),.booking-field:nth-child(2){grid-column:1/3}.booking-field{padding:13px 21px;min-height:68px}.booking-message{grid-column:1}.booking-submit{width:58px;height:58px;font-size:26px}.booking-note{font-size:12px}.bru-booking h2{font-size:22vw;margin-top:45px}.bru-booking::before{inset:50% 0 0}.booking-phone{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.bru-booking,.bru-booking.is-closing{animation:none}.book-roll>span,.bru-header>.bru-book,.bru-header>.bru-book>.book-symbol,.booking-close>span,.booking-submit{transition:none}.bru-book:hover .book-roll>span,.bru-header>.bru-book:hover>.book-symbol,.booking-close:hover>span,.booking-submit:hover{transform:none}}
.motion-paused .book-roll>span,.motion-paused .bru-header>.bru-book>.book-symbol{transition:none;transform:none!important}
@media(min-width:761px){.booking-intro{margin-bottom:32px}.booking-field{min-height:68px;padding-block:12px}.bru-booking h2{font-size:clamp(110px,17vw,330px);margin-top:12px}}

/* All routes share the home masthead; the page itself supplies the light logo surface. */
.inner-page .topline{position:fixed;right:18px;bottom:18px;z-index:60;width:38px;height:38px;border-radius:50%;padding:0;background:#efeded}
.inner-page .ribbon-track{display:none}.inner-page .motion-toggle{width:38px;height:38px;background:#efeded;color:#332e30}
.inner-page .page-intro .page-hero{padding-top:140px}
@media(max-width:760px){.inner-page .page-intro .page-hero{padding-top:155px}.inner-page .topline{bottom:86px;right:12px}}
/* Keep the complete original logo visible, with a little breathing room. */
:is(.home-page,.inner-page) .bru-header{align-items:center;overflow:visible;padding-top:22px;padding-bottom:22px}
:is(.home-page,.inner-page) .bru-header>.bru-brand{display:flex;align-items:center;flex:0 0 auto;height:auto;min-height:64px;overflow:visible;line-height:0;padding:3px 0;margin-right:clamp(48px,5.6vw,90px)}
.bru-header>.bru-brand img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2168/725;object-fit:contain;object-position:center;overflow:visible;clip-path:none}
:is(.home-page,.inner-page) .bru-header .bru-nav-controls{gap:38px;align-items:center}
@media(min-width:761px) and (max-width:1050px){:is(.home-page,.inner-page) .bru-header>.bru-brand{margin-right:36px}:is(.home-page,.inner-page) .bru-header .bru-nav-controls{gap:26px}}
@media(max-width:760px){:is(.home-page,.inner-page) .bru-header{padding:18px;row-gap:14px}:is(.home-page,.inner-page) .bru-header>.bru-brand{min-height:46px;padding:2px 0;margin:0}:is(.home-page,.inner-page) .bru-header .bru-nav-controls{gap:24px}}
