/* Hill View homepage immersive experience; deliberately scoped to .home-public / .hvi-*.
   No non-home page, booking core or cPanel credentials are modified. */
.home-public {--hvi-royal:#204081;--hvi-navy:#10264a;--hvi-gold:#c9a65c;--hvi-ivory:#f6f2e9;}
.home-public .hvi-header {position:absolute!important;z-index:85!important;top:0;left:0;right:0;background:transparent!important;box-shadow:none!important;font-family:Arial,Helvetica,sans-serif;}
.home-public .hvi-header-line {height:clamp(87px,12vh,112px);width:100%;padding:0 clamp(20px,3.1vw,58px);display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);align-items:start;padding-top:clamp(14px,2.2vh,23px);gap:12px;}
.home-public .hvi-header button {border-radius:0;cursor:pointer;letter-spacing:.16em;color:white;font-family:Arial,Helvetica,sans-serif;font-weight:700;}
.home-public .hvi-header-menu {display:inline-flex;align-items:center;gap:12px;justify-self:start;background:none;border:0;padding:7px 0;font-size:10px;text-shadow:0 1px 8px rgba(0,0,0,.25);min-height:40px;}
.home-public .hvi-menu-lines {width:22px;display:grid;gap:6px;}.home-public .hvi-menu-lines span {display:block;width:22px;height:1px;background:currentColor;}.home-public .hvi-menu-lines span:last-child {width:14px;}
.home-public .hvi-header-brand {display:flex;flex-direction:column;align-items:center;gap:3px;justify-self:center;color:#fff;text-decoration:none;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.3);min-width:150px;}
.home-public .hvi-header-brand img {width:clamp(47px,5.3vh,65px);height:clamp(47px,5.3vh,65px);object-fit:contain;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));}
.home-public .hvi-header-brand>span {display:grid;gap:3px;}.home-public .hvi-header-brand strong {font:400 clamp(20px,2vw,28px)/.99 Georgia,'Times New Roman',serif;letter-spacing:.14em;white-space:nowrap;}.home-public .hvi-header-brand small {font:700 8px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.34em;}
.home-public .hvi-header-reserve {display:flex;justify-self:end;align-items:center;justify-content:center;min-width:100px;min-height:38px;margin-top:0;background:rgba(0,0,0,.06);border:1px solid rgba(255,255,255,.9);padding:10px 16px;font-size:10px;transition:background .2s,color .2s;}
.home-public .hvi-header-reserve:hover,.home-public .hvi-header-reserve:focus-visible {background:white;color:var(--hvi-navy);}
/* Full first viewport: no overlap from legacy floating booking form or old hero paddings */
.home-public main {position:relative;}
.home-public .hv-public-hero.hvi-hero {position:relative!important;z-index:1!important;display:block!important;box-sizing:border-box;overflow:hidden!important;min-height:600px!important;height:100svh!important;max-height:none!important;background:var(--hvi-navy);color:white;isolation:isolate;}
.home-public .hvi-hero .hvi-media {position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:hidden;}
.home-public .hvi-hero .hvi-poster {position:absolute;inset:0;z-index:0;background-size:cover;background-position:center center;filter:saturate(.82) contrast(1.08);transform:scale(1.03);}
.home-public .hvi-hero .hvi-youtube {position:absolute!important;inset:0!important;width:100%;height:100%;z-index:1!important;opacity:0;transition:opacity 1.2s ease;pointer-events:none;overflow:hidden;}
.home-public .hvi-hero .hvi-youtube.is-playing {opacity:1;}
.home-public .hvi-hero .hvi-youtube>div,#hvHeroYoutubePlayer,#hvHeroYoutubePlayer iframe {position:absolute!important;top:50%!important;left:50%!important;width:max(100vw,177.7778vh)!important;height:max(100vh,56.25vw)!important;min-width:100%;min-height:100%;transform:translate(-50%,-50%)!important;border:0;pointer-events:none;}
.home-public .hvi-hero .hvi-video {position:absolute!important;inset:0;min-width:100%;min-height:100%;width:100%;height:100%;object-fit:cover;}
.home-public .hvi-hero .hv-hero-carousel,.home-public .hvi-hero .hv-hero-slide {position:absolute;inset:0;width:100%;height:100%;}
.home-public .hvi-hero .hvi-shade {position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important;background:linear-gradient(180deg,rgba(6,17,28,.52) 0%,rgba(9,18,27,.11) 27%,rgba(8,14,26,.36) 72%,rgba(9,19,33,.53) 100%)!important;opacity:1!important;}
.home-public .hvi-hero-center {position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(165px,24vh,240px) 22px 145px;box-sizing:border-box;width:100%;color:white;}
.home-public .hvi-hero-eyebrow {margin:0 0 clamp(15px,3vh,30px);font:700 clamp(9px,.76vw,12px)/1.5 Arial,Helvetica,sans-serif;letter-spacing:.28em;color:#fff;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.3);}
.home-public .hvi-hero-center h1 {margin:0;max-width:min(1250px,94vw);color:#fff;font:400 clamp(53px,7.2vw,132px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-.053em;text-wrap:balance;text-shadow:0 6px 32px rgba(0,0,0,.23);}
.home-public .hvi-hero-subline {margin:clamp(23px,4vh,40px) auto 0;max-width:780px;color:rgba(255,255,255,.94);font:400 clamp(10px,1.02vw,15px)/1.7 Arial,Helvetica,sans-serif;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.32);}
.home-public .hvi-scroll-cue {position:absolute;z-index:6;bottom:clamp(16px,4vh,40px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:white;cursor:pointer;text-shadow:0 2px 10px rgba(0,0,0,.45);font-family:Arial,Helvetica,sans-serif;}
.home-public .hvi-scroll-title {font:400 clamp(18px,2.25vw,34px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:.03em;}
.home-public .hvi-scroll-small {font-size:9px;letter-spacing:.22em;}.home-public .hvi-scroll-cue svg {margin-top:3px;transition:transform .2s}.home-public .hvi-scroll-cue:hover svg {transform:translateY(5px)}
.home-public .hvi-hero+section {padding-top:clamp(68px,7.2vw,108px)!important;}
/* Modal & immersive navigation overlay */
.hvi-overlay[hidden] {display:none!important;}
.hvi-overlay {position:fixed;inset:0;z-index:9000;box-sizing:border-box;}
body.hvi-overlay-open {overflow:hidden!important;}
.hvi-overlay :focus-visible,.hvi-header :focus-visible {outline:2px solid var(--hvi-gold,#c9a65c);outline-offset:4px;}
.hvi-menu-overlay {overflow-y:auto;background:#233960;color:#fff;}
.hvi-menu-shell {min-height:100svh;display:flex;flex-direction:column;background:linear-gradient(125deg,#264276,#182c52);}
.hvi-menu-top {min-height:88px;max-width:1560px;width:100%;box-sizing:border-box;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:15px clamp(24px,4vw,68px);border-bottom:1px solid rgba(255,255,255,.18);}
.hvi-menu-top button {background:none;color:white;border:0;cursor:pointer;letter-spacing:.12em;}.hvi-menu-close {justify-self:start;display:flex;flex-direction:column;align-items:center;min-width:35px;font-size:28px;line-height:1;}.hvi-menu-close small {font:700 8px/1.3 Arial,sans-serif;letter-spacing:.16em;}
.hvi-menu-brand {display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;font:400 25px/1 Georgia,serif;letter-spacing:.10em;}.hvi-menu-brand img {width:43px;height:43px;object-fit:contain;}.hvi-menu-brand span {display:grid;gap:5px;white-space:nowrap}.hvi-menu-brand small {font:700 7px Arial,sans-serif;letter-spacing:.35em;}
.hvi-menu-reserve {justify-self:end;padding:10px 20px!important;border:1px solid rgba(255,255,255,.78)!important;font-size:9px!important;letter-spacing:.16em;}
.hvi-menu-body {width:100%;max-width:1500px;flex:1;box-sizing:border-box;margin:auto;display:grid;grid-template-columns:1fr 1fr;}
.hvi-menu-links {padding:clamp(60px,9vh,110px) clamp(20px,4vw,58px) 90px clamp(25px,5vw,90px);display:flex;flex-direction:column;gap:clamp(11px,2vh,25px);border-right:1px solid rgba(255,255,255,.18)}
.hvi-menu-links a {display:grid;grid-template-columns:35px 1fr 25px;gap:16px;align-items:baseline;text-decoration:none;color:#fff!important;font:400 clamp(26px,3.1vw,52px)/1.13 Georgia,'Times New Roman',serif;transition:color .2s,transform .2s;letter-spacing:-.02em;}.hvi-menu-links a span {font:700 9px Arial,sans-serif;color:#e3c58a;letter-spacing:.13em;}.hvi-menu-links a b {font:400 19px Arial,sans-serif;color:#e3c58a;}.hvi-menu-links a:hover {color:#ebd8ae!important;transform:translateX(6px)}
.hvi-menu-sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.hvi-menu-feature {padding:clamp(60px,9vh,110px) clamp(26px,6.5vw,100px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;}
.hvi-menu-kicker {font:700 10px/1.4 Arial,sans-serif;letter-spacing:.24em;color:#dfc58c!important;margin:0 0 20px!important;}.hvi-menu-feature h3 {margin:0;color:#fff;font:400 clamp(38px,4vw,69px)/1.14 Georgia,'Times New Roman',serif;letter-spacing:-.025em;position:relative;z-index:1;}.hvi-menu-feature>p:not(.hvi-menu-kicker) {position:relative;z-index:1;max-width:405px;font:400 15px/1.9 Arial,sans-serif;color:rgba(255,255,255,.75);margin:27px 0 31px;}
.hvi-menu-feature-links {position:relative;z-index:1;display:grid;gap:22px;}.hvi-menu-feature-links a {display:flex;justify-content:space-between;min-width:235px;gap:16px;color:#e4c98d;text-decoration:none;padding-bottom:9px;border-bottom:1px solid rgba(228,201,141,.5);font:700 10px Arial,sans-serif;letter-spacing:.14em;}
.hvi-menu-monogram {position:absolute;font:400 500px/.9 Georgia,serif;right:-12px;bottom:-76px;color:rgba(218,180,107,.065);pointer-events:none;}
.hvi-menu-bottom {background:rgba(7,24,46,.46);min-height:140px;display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;padding:33px max(25px,calc((100vw - 1390px)/2));box-sizing:border-box;align-items:start;}
.hvi-menu-bottom>div {display:grid;gap:8px}.hvi-menu-bottom strong {font:700 10px Arial,sans-serif;letter-spacing:.12em;color:#dfc58c;}.hvi-menu-bottom span,.hvi-menu-bottom a {font:400 12px/1.7 Arial,sans-serif;color:rgba(255,255,255,.86);text-decoration:none;}.hvi-menu-bottom-book {justify-self:end;display:flex;gap:12px;align-items:center;border-bottom:1px solid #dfc58c;}
/* Reservation overlay follows NIHI's centered white card; room/venue tabs replace multiple resort sites. */
.hvi-reserve-overlay {display:grid;place-items:center;padding:24px;overflow-y:auto;}
.hvi-overlay-shade {position:absolute;inset:0;background:rgba(6,17,29,.72);backdrop-filter:blur(11px);}
.hvi-reserve-panel {position:relative;z-index:1;box-sizing:border-box;width:min(100%,550px);max-height:calc(100dvh - 48px);overflow-y:auto;background:#fff;border-radius:2px;padding:clamp(24px,2.3vw,40px);box-shadow:0 32px 110px rgba(0,0,0,.35);color:#1e2a3c;}
.hvi-dialog-close {position:absolute;top:17px;right:20px;border:0;background:none;color:#172a4c;font:300 35px/1 Arial,sans-serif;cursor:pointer;}
.hvi-dialog-eyebrow {font:700 9px/1.2 Arial,sans-serif;letter-spacing:.22em;color:#947443!important;margin:0 0 10px!important;}.hvi-reserve-panel h2 {font:400 clamp(39px,3vw,52px)/1.1 Georgia,serif;color:#152943;margin:0 0 24px;}
.hvi-field-caption,.hvi-form-grid label span {font:700 9px Arial,sans-serif;letter-spacing:.15em;color:#80848c;display:block;margin-bottom:11px;}
.hvi-reservation-tabs {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:26px;}
.hvi-reservation-type {position:relative;display:flex;flex-direction:column;gap:0;align-items:stretch;border:0;background:#e8e5df;color:#fff;text-align:left;cursor:pointer;overflow:hidden;padding:0;min-height:135px;box-shadow:none;}
.hvi-tile-art {position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 20% 25%,#5b7db5,#1b3261 75%);}.hvi-tile-art.event-art {background:radial-gradient(circle at 60% 12%,#ae905b,#3d557d 70%);}.hvi-tile-art>span {font:400 97px Georgia,serif;color:rgba(255,255,255,.11)}
.hvi-reservation-type::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,16,34,.8));}.hvi-reservation-type.active {outline:2px solid #bd9a55;outline-offset:-2px;}
.hvi-tile-label {z-index:1;margin-top:auto;position:relative;display:grid;gap:5px;padding:12px 11px;color:white;}.hvi-tile-label strong {font:700 10px/1.2 Arial,sans-serif;letter-spacing:.08em}.hvi-tile-label small {font:400 10px Arial,sans-serif;opacity:.84;}.hvi-type-radio {position:absolute;top:9px;left:9px;width:13px;height:13px;border:1px solid #fff;border-radius:50%;z-index:2;}.hvi-reservation-type.active .hvi-type-radio:after {content:'';position:absolute;inset:3px;border-radius:50%;background:white;}
.hvi-reservation-search .hvi-form.hv-search-panel {display:none!important;box-shadow:none!important;padding:0!important;min-height:0!important;margin:0!important;background:none!important;border:0!important;transform:none!important;}
.hvi-reservation-search .hvi-form.hv-search-panel.active:not([hidden]) {display:block!important;animation:none!important;}
.hvi-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:25px 15px;}.hvi-form-grid label {display:block;min-width:0;border-bottom:1px solid #1e2e42;padding:0 0 7px;}.hvi-form-grid label.hvi-full-row {grid-column:1/-1;}.hvi-form-grid label span {margin:0 0 7px;}.hvi-form-grid input,.hvi-form-grid select {width:100%;height:31px;box-sizing:border-box;border:0;border-radius:0;outline:none;color:#1e2a3c;font:400 13px Arial,sans-serif;background:transparent;padding:0 3px 0 0;min-width:0;}
.hvi-form-grid label:focus-within {border-color:#bd9a55;}
.hvi-search-submit {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:26px!important;padding:17px 20px!important;min-height:47px!important;border:0!important;background:#1a376b!important;color:#fff!important;font:700 10px/1.1 Arial,sans-serif!important;letter-spacing:.18em!important;cursor:pointer!important;}
.hvi-search-submit:hover {background:#2f518b!important;}
.hvi-reserve-assistance {margin:17px 0 0!important;text-align:center;color:#717b86;font:400 12px Arial,sans-serif;}.hvi-reserve-assistance a {color:#244276;font-weight:700;text-decoration:none;}
@media(max-width:760px){.home-public .hvi-header-line {grid-template-columns:minmax(60px,1fr) auto minmax(60px,1fr);padding:13px 18px 0;min-height:85px;}.home-public .hvi-header-brand img {width:41px;height:41px}.home-public .hvi-header-brand strong {font-size:17px;}.home-public .hvi-header-brand small {font-size:6px;letter-spacing:.26em}.home-public .hvi-header-reserve {min-width:70px;padding:8px 9px;min-height:32px;font-size:8px;}.home-public .hvi-header-menu {gap:5px;font-size:8px;padding:0;}.home-public .hvi-menu-lines {width:17px;gap:5px}.home-public .hvi-menu-lines span {width:17px}.home-public .hvi-menu-lines span:last-child {width:10px}.home-public .hv-public-hero.hvi-hero {min-height:540px!important;height:100svh!important;height:100dvh!important}.home-public .hvi-hero-center {padding:110px 17px 120px}.home-public .hvi-hero-center h1 {font-size:clamp(44px,10.3vw,77px);max-width:95vw}.home-public .hvi-hero-eyebrow {font-size:8px;letter-spacing:.21em}.home-public .hvi-hero-subline {font-size:10px;line-height:1.7;letter-spacing:.1em;max-width:350px}.home-public .hvi-scroll-cue {bottom:27px}.home-public .hvi-scroll-title {font-size:20px}.hvi-menu-body {display:flex;flex-direction:column}.hvi-menu-links {padding:40px 25px 36px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.hvi-menu-links a {font-size:clamp(25px,6.4vw,40px)}.hvi-menu-feature {padding:32px 25px 60px}.hvi-menu-feature h3 {font-size:40px}.hvi-menu-top {padding:12px 17px}.hvi-menu-brand {font-size:17px}.hvi-menu-brand img {width:31px;height:31px}.hvi-menu-bottom {grid-template-columns:1fr 1fr;padding:23px;gap:20px}.hvi-menu-bottom-book {grid-column:1/-1;justify-self:start}.hvi-reserve-panel {padding:27px 20px}.hvi-reservation-type {min-height:120px}.hvi-tile-label strong {font-size:8px}}
@media(max-width:360px){.home-public .hvi-header-brand strong {font-size:14px}.home-public .hvi-header-brand img {width:37px;height:37px}.hvi-menu-brand span {font-size:15px}.hvi-menu-bottom {grid-template-columns:1fr}.hvi-menu-bottom-book {grid-column:auto}.hvi-reservation-type {min-height:112px}}
@media(prefers-reduced-motion:reduce){.home-public .hvi-hero .hvi-youtube {display:none!important;}.home-public .hvi-hero .hvi-poster {transform:none!important;}.home-public .hvi-scroll-cue svg {transition:none!important;}.hvi-menu-links a {transition:none;}}
