.home-page{--hotel-width:1280px}
.hotel-location{background:var(--ink);color:var(--surface);text-align:center;padding:.5rem 1rem;font-size:.58rem;letter-spacing:.2em}.hotel-location span{padding:0 .8rem}
.hotel-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 4.5vw;background:var(--surface)}
.hotel-brand{font-size:1.85rem;letter-spacing:.24em;text-decoration:none;line-height:1.1;display:inline-block;font-weight:400}
.hotel-brand span{display:block;font-size:.5rem;letter-spacing:.18em;margin-top:.7rem}
.hotel-nav{display:flex;gap:1.9rem}.hotel-nav a{font-size:.73rem;text-decoration:none}.hotel-nav a:hover{text-decoration:underline}
.home-page .button{font-size:.75rem;padding:1rem 1.35rem;gap:2rem;letter-spacing:.025em}
.hotel-menu{display:none}
.hotel-hero{position:relative;min-height:620px;height:73svh;max-height:830px;background:var(--ink);color:var(--surface);isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;padding:5rem 7vw 7rem;gap:2rem}
.hotel-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hotel-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#1a1c19cc,transparent 90%)}
.hotel-hero h1{font-size:clamp(3.4rem,6.6vw,6.7rem);letter-spacing:-.05em;line-height:1.06;margin:0 0 1.5rem}
.hotel-hero .eyebrow{font-size:.6rem;letter-spacing:.24em}
.hotel-hero-copy>p:not(.eyebrow){font-size:.9rem}
.hero-discover{display:inline-flex;gap:3rem;border-bottom:1px solid var(--surface);padding:.8rem 0;text-decoration:none;font-size:.7rem;margin-top:.5rem}
.hero-location{display:flex;flex-direction:column;text-align:right;gap:1rem;font-size:.8rem}.hero-location small{font-size:.55rem}
.stay-bar{position:relative;z-index:2;margin:-3rem auto 0;width:calc(100% - 10vw);max-width:var(--hotel-width);background:var(--surface);padding:1.8rem 2rem;border:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:.8rem 2rem}
.stay-heading .eyebrow{font-size:.57rem;letter-spacing:.16em}.stay-heading p{font-family:var(--heading);font-size:1.1rem;margin:.6rem 0}
#quick-stay{display:grid;grid-template-columns:1fr 1fr .65fr auto;align-items:end;gap:1rem;min-width:0}
#quick-stay label{font-size:.62rem;margin:0;text-transform:uppercase;letter-spacing:.08em}
#quick-stay input{font-size:.85rem;background:transparent;border:0;border-bottom:1px solid var(--line);padding:.7rem 0;min-width:0}
#quick-stay .button{white-space:normal;padding:1rem}
.stay-note{grid-column:2;font-size:.58rem;color:var(--muted);margin:0}
.hotel-section{padding:6.5rem 5vw;max-width:calc(var(--hotel-width) + 10vw);margin:auto}
.home-page h2{font-size:clamp(2.1rem,3.8vw,3.8rem);letter-spacing:-.045em;line-height:1.14;margin-bottom:1.6rem}
.home-page .eyebrow{font-size:.62rem;letter-spacing:.18em}
.hotel-intro{display:grid;grid-template-columns:1fr 2fr;gap:5vw;align-items:start}
.intro-label{padding-top:.4rem}.intro-label>p{font-size:.7rem;color:var(--muted)}
.intro-rule{display:block;height:1px;background:var(--primary);width:3rem;margin:2rem 0}
.intro-paragraphs{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.intro-paragraphs p{font-size:.86rem;color:var(--muted);line-height:1.8}
.editorial-link{font-size:.74rem;text-decoration:none;border-bottom:1px solid var(--primary);display:inline-flex;gap:2rem;padding:.6rem 0}
.editorial-link:hover{color:var(--primary)}
.hotel-stay{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;padding-top:0;align-items:center}
.stay-photo{margin:0;position:relative}.stay-photo img{width:100%;height:auto;aspect-ratio:5/6;object-fit:cover}
.stay-photo figcaption{font-size:.57rem;margin-top:.8rem}
.stay-copy>p:not(.eyebrow){font-size:.85rem;line-height:1.85;color:var(--muted)}
.stay-copy h2{font-size:clamp(2.4rem,4.7vw,4.8rem)}
.stay-facts{border-top:1px solid var(--line);margin:2rem 0}
.stay-facts>div{display:flex;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.stay-facts span{color:var(--primary);font-size:.65rem;padding-top:.15rem}.stay-facts p{font-size:.8rem;margin:0}.stay-facts small{display:block;color:var(--muted);font-size:.65rem;margin-top:.3rem}
.home-page .fine-print{font-size:.62rem;line-height:1.6;color:var(--muted);margin:1rem 0 0}
.hotel-services{font-size:.85rem;margin-bottom:1rem}
.hotel-table{background:var(--panel);display:grid;grid-template-columns:1fr 1.2fr;align-items:center}
.table-copy{padding:4.5rem 6vw}.table-copy>p:not(.eyebrow){font-size:.86rem;color:var(--muted);max-width:25rem;margin:0 0 1.5rem}
.hotel-table figure{margin:0;position:relative;height:100%;min-height:480px}
.hotel-table img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hotel-table figcaption{position:absolute;bottom:.6rem;right:1rem;padding:.2rem .4rem;background:var(--surface);font-size:.54rem;color:var(--ink)}
.destination-top{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem}
.destination-top>p{font-size:.8rem;color:var(--muted);margin:0 0 1.6rem}
.destination-photo{position:relative;min-height:480px;background:var(--ink);color:var(--surface);display:flex;align-items:end;padding:2.5rem;isolation:isolate}
.destination-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.destination-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1a1c19bb,transparent);z-index:-1}
.destination-photo span{font-size:.55rem;letter-spacing:.15em}
.destination-photo p{font-family:var(--heading);font-size:3.1rem;line-height:1.1;margin:.9rem 0}
.destination-photo small{position:absolute;bottom:.8rem;right:1rem;font-size:.55rem}
.destination-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:2rem}
.destination-notes article>span{font-size:.56rem;letter-spacing:.12em;color:var(--muted)}.destination-notes h3{font-size:1.4rem;margin:1.2rem 0 .8rem}
.destination-notes p{font-size:.78rem;color:var(--muted)}
.hotel-faq{padding-top:0;display:grid;grid-template-columns:1fr 1.5fr;gap:5vw}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{font-size:.86rem;list-style:none;display:flex;justify-content:space-between;gap:1.5rem;padding:1.4rem 0}
.faq-list summary:after{content:"+";font-size:1.2rem;color:var(--primary)}.faq-list details[open] summary:after{content:"−"}
.faq-list p{font-size:.8rem;color:var(--muted);padding:0 2rem 1.2rem 0;margin:0}
.hotel-inquiry{background:var(--panel);max-width:none;display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;padding:5.5rem max(5vw,calc((100vw - 1280px)/2))}
.inquiry-copy h2{font-size:clamp(2.7rem,4.6vw,4.5rem)}
.inquiry-copy>p:not(.eyebrow){font-size:.9rem;color:var(--muted)}
.inquiry-address{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.inquiry-address span{font-size:.63rem;letter-spacing:.1em}.inquiry-address p{font-size:.75rem;color:var(--muted)}
#inquiry-form{min-width:0;background:var(--surface);padding:2rem}
#inquiry-form h3{font-size:1.65rem;margin-bottom:.6rem}
#inquiry-form .form-intro{font-size:.72rem;color:var(--muted);margin-bottom:1.7rem}
#inquiry-form label{font-size:.73rem}#inquiry-form input,#inquiry-form textarea{font-size:.83rem}
#inquiry-form .availability-button{font-size:.72rem;padding:0}
#availability-result{font-size:.78rem}
#inquiry-form .small{font-size:.63rem}
#inquiry-form button[type=submit]{width:100%;justify-content:space-between}
.hotel-footer{background:var(--ink);color:var(--surface);padding:3.5rem 5vw 1.5rem}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}
.footer-top>p{font-family:var(--heading);font-size:1.5rem}
.footer-top nav{display:grid;gap:.6rem;justify-self:end}.footer-top nav a{font-size:.7rem;text-decoration:none}
.footer-bottom{border-top:1px solid var(--muted);padding-top:1.5rem;margin-top:2.5rem;display:flex;justify-content:space-between;gap:2rem;font-size:.56rem}
.home-page :is(.hotel-section,.stay-bar,.hotel-table,.hotel-inquiry)>*{min-width:0}
@media(max-width:1100px){.hotel-nav{gap:1rem}.hotel-header{gap:1rem}.hotel-brand{font-size:1.4rem}.hotel-header .button{gap:1rem}.stay-bar{grid-template-columns:1fr}.stay-heading{display:none}.stay-note{grid-column:1}.hotel-intro{grid-template-columns:1fr 2.4fr}.hotel-table figure{min-height:440px}}
@media(max-width:767px){
.hotel-location{font-size:.48rem;letter-spacing:.1em}
.hotel-header{padding:1.1rem 1.25rem;flex-wrap:wrap;gap:1rem}
.hotel-brand{font-size:1.45rem}.hotel-brand span{font-size:.46rem}
.hotel-nav{display:none}.hotel-header .button{font-size:.65rem;padding:.8rem;gap:.8rem}
.hotel-menu{display:block;width:100%;border-top:1px solid var(--line);padding-top:.5rem}
.hotel-menu summary{display:flex;justify-content:space-between;align-items:center;min-height:32px;font-size:.7rem;list-style:none}
.hotel-menu nav{display:grid;gap:.3rem;padding:.7rem 0}.hotel-menu nav a{padding:.5rem 0;font-size:.8rem}
.hotel-hero{height:auto;min-height:570px;padding:3rem 1.5rem 6rem;align-items:end}
.hotel-hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}.hotel-hero .eyebrow{font-size:.54rem}
.hotel-hero>img{object-position:58% center}.hero-location{position:absolute;bottom:4rem;right:1rem}.hero-location>span{display:none}
.hotel-hero-copy>p:not(.eyebrow){font-size:.8rem}.hero-discover{font-size:.65rem}
.stay-bar{margin:-2.5rem 1.25rem 0;width:auto;padding:1.2rem;gap:.8rem}
#quick-stay{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}#quick-stay .button{gap:.8rem;font-size:.67rem;min-height:48px}
.stay-note{font-size:.55rem}
.hotel-section{padding:4rem 1.5rem}
.hotel-intro{grid-template-columns:minmax(0,1fr);gap:1.5rem}
.intro-label>p,.intro-rule{display:none}.intro-paragraphs{grid-template-columns:minmax(0,1fr);gap:0}
.home-page h2{font-size:2.35rem}.home-page h2 br{display:none}.home-page h2{white-space:normal}
.hotel-stay{grid-template-columns:minmax(0,1fr);gap:2.2rem;padding-top:0}
.stay-photo img{aspect-ratio:5/4}
.stay-copy h2{font-size:2.8rem}.stay-facts{margin:1.5rem 0}
.hotel-table{grid-template-columns:minmax(0,1fr)}.table-copy{padding:3rem 1.5rem}
.hotel-table figure{min-height:0;height:320px;width:100%;aspect-ratio:auto}
.destination-top{display:block}.destination-top>p{margin-bottom:1.5rem}
.destination-photo{min-height:370px;padding:1.5rem}.destination-photo p{font-size:2.4rem}
.destination-notes{grid-template-columns:minmax(0,1fr);gap:1.3rem}
.destination-notes article{padding-top:1rem;border-top:1px solid var(--line)}
.hotel-faq{grid-template-columns:minmax(0,1fr);gap:1rem;padding-top:0}
.hotel-inquiry{grid-template-columns:minmax(0,1fr);gap:2rem}
.inquiry-copy h2{max-width:16rem}.inquiry-address{margin-top:1.5rem}
#inquiry-form{padding:1.25rem}
.hotel-footer{padding:3rem 1.5rem 1.5rem}.footer-top{grid-template-columns:minmax(0,1fr);gap:2rem}.footer-top nav{justify-self:start}
.footer-bottom{flex-direction:column;gap:.8rem;margin-top:2rem}
}
@media(prefers-reduced-motion:no-preference){.editorial-link span,.hero-discover span{transition:transform .2s}.editorial-link:hover span{transform:translate(2px,-2px)}.hero-discover:hover span{transform:translateY(3px)}}

/* Local character: mineral strata and material palette, not traditional symbols. */
.hotel-location{background:var(--primary);padding:.65rem 1rem}
.hotel-header{border-bottom:3px double var(--line)}
.hotel-brand{color:var(--primary)}
.hotel-hero-copy .eyebrow{border-left:2px solid var(--surface);padding-left:1rem}
.hotel-hero h1{font-style:italic;letter-spacing:-.045em}
.stay-bar{border-top:4px solid var(--primary)}
.hotel-intro{padding-bottom:3rem}
.hotel-intro h2{color:var(--primary)}
.puna-lines{display:block;width:150px;height:auto;color:var(--primary);margin:1.4rem 0}
.puna-materials{max-width:1280px;margin:0 auto 4rem;width:90%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:3px double var(--line);padding:1.5rem 0;gap:1.5rem}
.puna-materials>span{font-size:.7rem;letter-spacing:.2em;color:var(--primary)}
.puna-materials small{display:block;font-family:var(--heading);font-size:.95rem;letter-spacing:0;color:var(--muted);margin-top:.45rem}
.stay-photo{padding:0 0 0 1rem;border-left:3px double var(--primary)}
.hotel-table{background:var(--primary);color:var(--surface);position:relative}
.table-copy{position:relative}
.table-copy:before{content:"";display:block;width:4rem;height:9px;border-top:1px solid var(--line);border-bottom:3px double var(--line);margin-bottom:2rem}
.table-copy>p:not(.eyebrow){color:var(--surface)}
.hotel-table .editorial-link{border-color:var(--surface)}
.hotel-table .editorial-link:hover{color:var(--surface);text-decoration:underline}
.hotel-table :focus-visible{outline-color:var(--surface)}
.destination-top h2{color:var(--primary)}
.destination-notes article{border-top:3px double var(--line);padding-top:1.25rem}
.hotel-inquiry{border-top:8px double var(--line)}
.hotel-footer{border-top:6px solid var(--primary)}
.hotel-footer .hotel-brand{color:var(--surface)}
@media(max-width:767px){
.hotel-intro{padding-bottom:2rem}
.puna-lines{width:110px;margin:1rem 0 0}
.puna-materials{width:auto;margin:0 1.5rem 2.5rem;gap:1rem;padding:1rem 0}
.puna-materials>span{font-size:.58rem;letter-spacing:.1em}
.puna-materials small{font-size:.72rem;line-height:1.4}
.stay-photo{padding-left:.7rem}
}

.site-lines{white-space:pre-line}
.hero-location{max-width:calc(100% - 2rem)}
.destination-photo small{left:1rem;white-space:normal;text-align:right}
