/* Hill View v1.9.10.21: one coherent identity across home + all public pages.
   Home's commissioned immersive hero remains intact; functional forms retain usable scale. */
.public-body.hv-unified {
 --hvu-navy:#071d33;--hvu-blue:#183b70;--hvu-gold:#bd9c58;--hvu-paper:#f9f9f8;
 --hv-chrome-navy:var(--hvu-navy);--hv-chrome-gold:var(--hvu-gold);--catalog-navy:var(--hvu-navy);--catalog-blue:var(--hvu-blue);
 --hv-gold:var(--hvu-gold);--hv-gold-2:var(--hvu-gold);--hv-navy:var(--hvu-navy);--hv-cream:#f7f5f0;--hv-line:#e7e3db;
 background:var(--hvu-paper);font-family:Arial,Helvetica,sans-serif;color:#1c2835;
}
.hv-unified :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--hvu-gold)!important;outline-offset:3px}
.hv-unified .hv-global-header.hvi-header{position:fixed!important;top:0;left:0;right:0;z-index:850!important;background:transparent!important;box-shadow:none!important;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;font-family:Arial,Helvetica,sans-serif}
.hv-unified .hvi-header-line{height:82px;min-height:0;padding:9px clamp(17px,2vw,35px) 0;align-items:start;box-sizing:border-box;display:grid;grid-template-columns:minmax(85px,1fr) auto minmax(85px,1fr);gap:12px;transition:height .3s ease,padding .3s ease}
.hv-unified .hvi-header button,.hv-unified .hvi-header .hvi-header-reserve{border-radius:0;cursor:pointer;color:white;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.16em}
.hv-unified .hvi-header-menu{display:inline-flex;align-items:center;gap:7px;justify-self:start;background:none;border:0;padding:4px 0;min-height:31px;font-size:9px;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hv-unified .hvi-menu-lines{width:22px;display:grid;gap:6px}.hv-unified .hvi-menu-lines span{display:block;width:22px;height:1px;background:currentColor}.hv-unified .hvi-menu-lines span:last-child{width:14px}
.hv-unified .hvi-header-brand{display:flex;flex-direction:column;align-items:center;gap:1px;justify-self:center;color:white;text-decoration:none;text-align:center;min-width:150px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hv-unified .hvi-header-brand img{display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 1px 7px rgba(0,0,0,.2));transition:width .3s ease,height .3s ease}
.hv-unified .hvi-header-brand>span{display:grid;gap:3px}.hv-unified .hvi-header-brand strong{font:400 22px/.99 Georgia,'Times New Roman',serif;letter-spacing:.14em;white-space:nowrap}.hv-unified .hvi-header-brand small{font:700 7px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.34em}
.hv-unified .hvi-header-reserve{display:flex;justify-self:end;align-items:center;justify-content:center;min-width:85px;min-height:32px;margin:0;padding:7px 12px;font-size:9px;background:transparent;border:1px solid rgba(255,255,255,.9);text-decoration:none}
.hv-unified .hvi-header-reserve:hover,.hv-unified .hvi-header-reserve:focus-visible{background:#fff;color:var(--hvu-navy)!important}
.hv-unified .hvi-header.hve-header-stuck{background:rgba(7,26,36,.88)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.13)!important}
.hv-unified .hve-header-stuck .hvi-header-line{height:51px;padding:6px clamp(17px,2vw,35px) 5px;align-items:center}
.hv-unified .hve-header-stuck .hvi-header-brand img{width:36px;height:36px}.hv-unified .hve-header-stuck .hvi-header-brand>span{display:none}
.hv-unified .hve-header-stuck .hvi-header-menu{padding:0}.hv-unified .hve-header-stuck .hvi-header-reserve{min-height:29px}
/* Modal palette is shared with the home; original modal CSS comes from immersive stylesheet. */
.hv-unified .hvi-menu-overlay{background:var(--hvu-navy)}
.hv-unified .hvi-menu-shell{background:linear-gradient(125deg,var(--hvu-blue),var(--hvu-navy))}
.hv-unified .hvi-menu-links a[aria-current="page"]{color:#ead4a5!important}
.hv-unified .hvi-menu-links a[aria-current="page"] b{color:#fff}
.hv-unified .hvi-reserve-panel{border-top:4px solid var(--hvu-gold)}
/* All inner page banners use the same photographed, cinematic language as the home.
   Existing search and listing hero images remain page-specific and editable. */
.hv-unified:not(.home-public) .hvu-main{margin:0!important;padding:0!important;min-width:0}
.hv-unified:not(.home-public) :is(.hv-catalog-masthead,.hv-product-hero,.hv-booking-hero,.hvu-generic-hero){height:clamp(460px, var(--hvu-inner-hero-height,75svh), 920px)!important;min-height:0!important;width:100%;position:relative;overflow:hidden;isolation:isolate;background:var(--hvu-navy);color:#fff}
.hv-unified:not(.home-public) :is(.hv-catalog-masthead,.hv-product-hero,.hv-booking-hero,.hvu-generic-hero) :is(.hv-catalog-bg,.hv-product-hero-bg,.hv-booking-hero-bg,.hvu-generic-hero-bg){background-size:cover;background-position:center;transform:scale(1.015)}
.hv-unified:not(.home-public) .hv-catalog-bg{background-position:var(--catalog-x,50%) var(--catalog-y,50%)}
.hv-unified:not(.home-public) :is(.hv-catalog-shade,.hv-product-hero-shade){background:linear-gradient(180deg,rgba(2,16,30,calc(var(--hvu-inner-hero-overlay,.42)*.90)) 0%,rgba(3,15,29,.10) 38%,rgba(3,15,29,calc(var(--hvu-inner-hero-overlay,.42)*1.13)) 100%)}
.hv-unified:not(.home-public) .hv-catalog-title{bottom:auto;top:52%;transform:translate(-50%,-50%);width:min(1000px,calc(100% - 40px))}
.hv-unified:not(.home-public) .hv-catalog-title span,.hv-unified:not(.home-public) .hv-product-hero-copy>span,.hv-unified .hvu-generic-hero-copy span{color:#f2dfb5;font-size:clamp(9px,.8vw,12px);font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.hv-unified:not(.home-public) .hv-catalog-title h1,.hv-unified:not(.home-public) .hv-product-hero-copy h1,.hv-unified .hvu-generic-hero-copy h1{font:400 clamp(48px,6.3vw,110px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.043em;color:#fff;text-shadow:0 7px 28px rgba(0,0,0,.2);margin:17px auto 13px;max-width:1150px;text-wrap:balance}
.hv-unified:not(.home-public) .hv-catalog-title p{font-size:clamp(12px,1.25vw,16px);letter-spacing:.06em;line-height:1.7;color:rgba(255,255,255,.94)}
.hv-unified:not(.home-public) .hv-product-hero-copy{inset:0;text-align:center;align-items:center;justify-content:center;padding:95px 20px 30px}
.hv-unified:not(.home-public) .hv-product-hero-copy nav{color:#f6eee0;font-size:11px;flex-wrap:wrap;justify-content:center}
.hv-unified:not(.home-public) .hv-booking-hero,.hv-unified:not(.home-public) .hv-booking-hero[class]{height:clamp(280px,43svh,490px)!important}
.hv-unified:not(.home-public) .hv-booking-hero .hv-product-hero-copy h1{font-size:clamp(38px,5vw,68px)}
.hv-unified:not(.home-public) .hvu-generic-hero{background-image:linear-gradient(180deg,rgba(2,16,30,.48),rgba(3,15,29,.16) 38%,rgba(3,15,29,.62)),var(--hvu-generic-image);background-size:cover;background-position:center}
.hv-unified .hvu-generic-hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:100px 20px 36px;box-sizing:border-box}
.hv-unified:not(.home-public) .hvu-generic-hero.hvu-compact{height:clamp(220px,30svh,360px)!important}
.hv-unified:not(.home-public) .hvu-generic-hero.hvu-compact h1{font-size:clamp(32px,4vw,58px)}
.hv-unified:not(.home-public) .hv-catalog-masthead+.hv-search-dock{border-radius:0;box-shadow:0 4px 20px rgba(7,29,51,.055)}
.hv-unified:not(.home-public) .hv-search-dock button,.hv-unified .hv-filter-apply,.hv-unified .hv-card-action,.hv-unified .hv-offers-actions a:first-child{background:var(--hvu-blue);color:#fff;border-color:var(--hvu-blue)}
.hv-unified:not(.home-public) .hv-search-dock-tabs a.active{color:var(--hvu-blue);border-color:var(--hvu-gold)}
.hv-unified:not(.home-public) :is(.hv-listing-card,.hv-filter-panel,.hv-reservation-card,.hv-offer-editorial-card,.hv-offer-detail-main){border-color:#e7e3db;box-shadow:0 13px 36px rgba(7,29,51,.06)}
.hv-unified:not(.home-public) :is(.hv-listing-main h2,.hv-product-title-row h2,.hv-offer-editorial-body h2,.hv-section-heading h2){color:var(--hvu-navy)}
.hv-unified .hv-footer-links a:hover,.hv-unified .hve-footer a:hover{color:#e1c98c}
/* Shared commissioned home footer design. No unverified fixed room/venue counts. */
.hv-unified .hve-footer{background:var(--hvu-navy);color:#f7f4eb;margin:0;padding:0 0 35px;font-family:Arial,Helvetica,sans-serif}
.hv-unified .hve-footer-highlights{padding:47px 24px 50px;border-bottom:1px solid rgba(255,255,255,.14);text-align:center}
.hv-unified .hve-footer-highlights>span{font:700 10px/1.3 Arial,sans-serif;letter-spacing:.17em;color:#d9bd7f}
.hv-unified .hve-footer-main{max-width:1370px;margin:0 auto;padding:68px 27px 55px;display:grid;grid-template-columns:1.2fr 1.3fr 1fr 1fr;gap:clamp(28px,4vw,72px);box-sizing:border-box}
.hv-unified .hve-footer-brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:#e0c487;font:400 clamp(20px,2vw,32px)/1.08 Georgia,'Times New Roman',serif;white-space:nowrap}
.hv-unified .hve-footer-brand img{width:64px;height:64px;object-fit:contain}.hv-unified .hve-footer-brand small{font:700 10px Arial,sans-serif;letter-spacing:.2em}
.hv-unified .hve-footer-main h2{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#e4c98d;margin:0 0 17px;text-transform:uppercase}
.hv-unified .hve-footer-main p{font:400 12px/1.8 Arial,sans-serif;color:#d2d7db;margin:0 0 12px}
.hv-unified .hve-footer-main a:not(.hve-footer-brand){display:block;font:400 12px/1.8 Arial,sans-serif;text-decoration:none;color:#f3f6f5;margin:0 0 10px;overflow-wrap:anywhere}
.hv-unified .hve-footer-main .hvu-footer-cta{display:inline-block!important;margin-top:19px!important;padding-bottom:7px;border-bottom:1px solid var(--hvu-gold);color:#efd9a7!important;letter-spacing:.13em;font-size:10px!important;font-weight:700!important}
.hv-unified .hve-footer-bottom{max-width:1370px;margin:0 auto;padding:25px 27px 30px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:.08em;color:#b7c6d6;box-sizing:border-box}
.hv-unified .hve-footer-bottom a{color:#d9c08a;text-decoration:none}
.hv-unified .hvu-footer-newsletter{display:grid;gap:12px;width:min(440px,100%);margin:25px auto 0;color:#e8eef3}.hv-unified .hvu-footer-newsletter label{font:400 clamp(22px,2.3vw,34px)/1.2 Georgia,serif}.hv-unified .hvu-footer-newsletter>div{display:grid;grid-template-columns:1fr auto;gap:8px}.hv-unified .hvu-footer-newsletter input{min-width:0;padding:10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:0;color:#11253a;background:#fff}.hv-unified .hvu-footer-newsletter button{padding:12px 17px;background:var(--hvu-gold);color:var(--hvu-navy);border:0;font:700 10px Arial,sans-serif;cursor:pointer;letter-spacing:.1em}
/* Shared fixed below-hero contact/directions/share bar. */
.hv-unified .hve-quicklinks{position:fixed;z-index:890;left:50%;bottom:0;transform:translateX(-50%) translateY(110%);background:rgba(8,22,26,.84);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);display:flex;align-items:center;justify-content:center;gap:20px;min-width:0;max-width:calc(100vw - 20px);padding:14px 21px;box-sizing:border-box;border-radius:3px 3px 0 0;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.hv-unified .hve-quicklinks.hve-quicklinks-visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.hv-unified.hvi-overlay-open .hve-quicklinks{opacity:0;pointer-events:none}
.hv-unified .hve-quicklinks a,.hv-unified .hve-quicklinks button{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#fff;text-decoration:none;font:700 9px Arial,sans-serif;letter-spacing:.09em;border:0;background:none;cursor:pointer;padding:0}
.hv-unified .hve-quicklinks svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hv-unified .hve-share-status{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);background:#112d42;color:white;font-size:11px;white-space:nowrap}.hv-unified .hve-share-status:not(:empty){padding:7px 12px;border-radius:3px}
@media(max-width:1050px){.hv-unified .hve-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .hv-unified .hvi-header-line{height:76px;min-height:0;align-items:start;padding:8px 13px;grid-template-columns:minmax(65px,1fr) auto minmax(65px,1fr);gap:4px}
 .hv-unified .hvi-header-brand img{width:43px;height:43px}.hv-unified .hvi-header-brand strong{font-size:17px}.hv-unified .hvi-header-brand small{font-size:6px}
 .hv-unified .hvi-header-menu{gap:5px;font-size:8px}.hv-unified .hvi-header-reserve{min-width:70px;padding:8px 9px;min-height:32px;font-size:8px}
 .hv-unified .hvi-header.hve-header-stuck .hvi-header-line{height:48px;padding:5px 15px}.hv-unified .hvi-header.hve-header-stuck .hvi-header-brand img{width:35px;height:35px}
 .hv-unified:not(.home-public) :is(.hv-catalog-masthead,.hv-product-hero,.hvu-generic-hero){height:clamp(415px,74svh,790px)!important}
 .hv-unified:not(.home-public) .hv-booking-hero{height:clamp(240px,34svh,350px)!important}
 .hv-unified:not(.home-public) :is(.hv-catalog-title h1,.hv-product-hero-copy h1,.hvu-generic-hero-copy h1){font-size:clamp(42px,10vw,75px);line-height:1.04}
 .hv-unified:not(.home-public) .hv-product-hero-copy{padding-top:120px}
 .hv-unified .hve-footer-main{grid-template-columns:1fr 1fr;padding:50px 21px;gap:35px 20px}.hv-unified .hve-footer-brand{grid-column:1/-1}.hv-unified .hve-footer-details{grid-column:1/-1}.hv-unified .hve-footer-bottom{padding:25px 22px;line-height:1.5}
 .hv-unified .hve-quicklinks{gap:13px;padding:13px 14px;width:max-content;max-width:calc(100vw - 10px)}.hv-unified .hve-quicklinks a,.hv-unified .hve-quicklinks button{font-size:8px;letter-spacing:.03em}
}
@media(max-width:380px){.hv-unified .hvi-header-brand strong{font-size:14px}.hv-unified .hvi-header-brand img{width:37px;height:37px}.hv-unified .hve-quicklinks{gap:8px}.hv-unified .hve-quicklinks a,.hv-unified .hve-quicklinks button{font-size:7px}}
@media(prefers-reduced-motion:reduce){.hv-unified .hvi-header,.hv-unified .hve-quicklinks{transition:none!important}}

/* Editor-controlled transparent or solid initial treatment; nav contrast preserved. */
.hv-unified[data-hvu-transparent="0"] .hv-global-header.hvi-header:not(.hve-header-stuck){background:var(--hvu-navy)!important;box-shadow:0 1px 0 rgba(255,255,255,.13)!important}
.hv-unified:not(.home-public) .hvu-main>:first-child:not(.hvu-generic-hero):not(.hv-catalog-masthead):not(.hv-product-hero):not(.hv-booking-hero){scroll-margin-top:80px}
.hv-unified:not(.home-public) :is(.hv-listing-card,.hv-offer-editorial-card,.hv-checkout-card,.hv-review-card,.hv-reservation-card){background:#fff}
.hv-unified:not(.home-public) :is(.hv-listing-card a,.hv-breadcrumbs a,.hv-offer-detail-main a,.hv-product-main a):not([class*="btn"]):hover{color:var(--hvu-blue)}

/* Public password and authentication screens use the shared brand without oversized hero. */
.auth-body.hv-unified{background:var(--hvu-paper);padding-top:72px;margin:0;min-height:100svh}
.auth-body.hv-unified .auth-shell{min-height:max(560px,calc(100svh - 72px));border:0}
.auth-body.hv-unified .auth-brand-panel{background:linear-gradient(145deg,rgba(6,21,34,.86),rgba(11,40,63,.73)),url('/assets/hv-home/property-exterior.webp') center / cover!important}
.auth-body.hv-unified .auth-brand-panel .eyebrow{color:#e5c996}
.auth-body.hv-unified .auth-form-panel{background:var(--hvu-paper)}
.auth-body.hv-unified .hve-quicklinks{display:none}
@media(max-width:760px){.auth-body.hv-unified{padding-top:65px}.auth-body.hv-unified .auth-shell{min-height:auto}.auth-body.hv-unified .auth-brand-panel{min-height:240px}}

/* Checkout and payment pages remain concise: retain a safe offset under the fixed header. */
.hv-unified:not(.home-public) .hvu-main.hvu-main-no-hero{padding-top:86px!important}
.hv-unified .hvu-generic-display{font:400 clamp(48px,6.3vw,110px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.043em;color:#fff;text-shadow:0 7px 28px rgba(0,0,0,.2);margin:17px auto 13px;max-width:1150px;text-wrap:balance}
.hv-unified .hvu-generic-hero.hvu-compact .hvu-generic-display{font-size:clamp(32px,4vw,58px)}
@media(max-width:760px){.hv-unified:not(.home-public) .hvu-main.hvu-main-no-hero{padding-top:73px!important}.hv-unified .hvu-generic-display{font-size:clamp(42px,10vw,75px)}}
