/* Hotel additions only. Shared site palette, navigation and typography are preserved. */
@font-face{font-family:Jost;src:url("../fonts/hotel-coverage/Jost.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Jost;src:url("../fonts/hotel-coverage/Jost-Semibold.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/hotel-coverage/Playfair.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.hotel-page .eyebrow{color:#80631c}
.hotel-skip{position:absolute;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--bone);padding:12px 20px}
.hotel-skip:focus{top:12px}
.hotel-page :focus-visible{outline:3px solid #80631c;outline-offset:4px}
.hotel-hero{background:var(--cream);padding:72px 0 65px}
.hotel-hero__grid{display:grid;grid-template-columns:1.18fr 1fr;gap:52px;align-items:center}
.hotel-hero h1{font-size:clamp(2.5rem,4vw,4.1rem);line-height:1.12}
.hotel-hero h2{font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1.17;margin:24px 0}
.hotel-hero .lead{font-size:1.13rem}
.hotel-hero figure{margin:0}
.hotel-hero figure img{width:100%;height:530px;object-fit:cover}
.hotel-hero figcaption{font-size:.82rem;margin-top:10px;color:var(--ink-80)}
.hotel-page .btn-row{align-items:center;gap:18px}
.hotel-text-link,.hotel-resource-links a,.hotel-portfolio-links a{font-size:.98rem;text-underline-offset:4px}
.hotel-section{padding:76px 0}
.hotel-section--cream{background:var(--cream)}
.hotel-section-head{max-width:770px;margin-bottom:38px}
.hotel-section h2{font-size:clamp(1.9rem,3.1vw,2.7rem);line-height:1.18}
.hotel-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hotel-package{display:flex;flex-direction:column;padding:28px;border:1px solid #d2c7ae;background:var(--bone)}
.hotel-package__head{min-height:100px}
.hotel-package h3{font-size:1.8rem;line-height:1.18}
.hotel-price{font-family:"Playfair Display",serif;font-size:2.8rem;line-height:1.15;margin-top:8px}
.hotel-price span{font-family:Jost,sans-serif;font-size:.85rem;display:block;margin-top:8px}
.hotel-hosting{font-size:.97rem;font-weight:600;min-height:3.3em;margin-top:16px}
.hotel-package__copy{flex:1;font-size:1rem}
.hotel-package__copy ul{padding-left:1.15em}
.hotel-package__copy li{margin:6px 0}
.hotel-package .btn{margin-top:20px;text-align:center;justify-content:center;font-size:.73rem;padding:15px 12px;letter-spacing:.08em}
.hotel-resource-links{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:28px}
.hotel-two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}
.hotel-two-col>div>p{max-width:64ch}
.hotel-shared ul{list-style:none;margin:0;padding:0}
.hotel-shared li{margin-bottom:20px}
.hotel-portfolio-links{display:grid;gap:12px;margin-top:30px}
.hotel-guarantee{font-family:"Playfair Display",serif;font-size:1.6rem;line-height:1.3}
.hotel-prose p:first-child{margin-top:0}
.hotel-workflow ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;counter-reset:steps}
.hotel-workflow li{counter-increment:steps}
.hotel-workflow li::before{content:"0" counter(steps);display:block;font-family:"Playfair Display",serif;font-size:2rem;color:#80631c;margin-bottom:10px}
.hotel-workflow strong{display:block}
.hotel-faq details{border-top:1px solid #cfc5af;padding:19px 0}
.hotel-faq details:last-child{border-bottom:1px solid #cfc5af}
.hotel-faq summary{font-size:1.1rem;font-weight:600;cursor:pointer;line-height:1.4}
.hotel-faq p{margin-bottom:0}
.hotel-request-note{border-left:3px solid var(--gold-deep);padding:14px 20px;background:var(--bone);max-width:850px;margin-bottom:30px}
.hotel-request-form{max-width:850px}
.hotel-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.hotel-fields .field{margin:0}
.hotel-fields label{display:block;color:var(--ink);font-size:1rem;letter-spacing:0;text-transform:none;line-height:1.4;margin-bottom:8px}
.hotel-fields input,.hotel-fields select,.hotel-fields textarea,.hotel-request-output textarea{font:inherit;width:100%;color:var(--ink);background:var(--bone);border:1px solid #a89e89;padding:11px 12px;border-radius:0;line-height:1.45;min-width:0}
.hotel-fields textarea{resize:vertical}
.hotel-field--wide{grid-column:1/-1}
.hotel-request-form button{margin-top:10px}
.hotel-small{font-size:.9rem}
.hotel-request-output{max-width:850px;margin-top:32px;padding:26px;background:var(--bone);border:1px solid #baab8e}
.hotel-request-output[hidden]{display:none}
.hotel-request-output h3{font-size:1.7rem}
.hotel-request-output label{display:block;margin-bottom:10px}
.hotel-request-output textarea{background:white;resize:vertical;font-size:.95rem}
#hotel-eligibility{color:#7c3419}
.hotel-terms h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.14}
.hotel-terms__body{max-width:850px}
.hotel-terms__body h2{font-size:1.7rem;line-height:1.25;margin:40px 0 18px;scroll-margin-top:110px}
.hotel-terms__body h2:first-child{margin-top:0}
.hotel-contact{margin-top:40px;padding-top:24px;border-top:1px solid #cfc5af}
.hotel-page #request,.hotel-page #packages{scroll-margin-top:100px}
@media(max-width:1050px){
  .hotel-hero__grid{gap:30px}.hotel-hero figure img{height:480px}
  .hotel-package{padding:22px}.hotel-packages{gap:16px}.hotel-two-col{gap:40px}
}
@media(max-width:800px){
  .hotel-hero{padding:46px 0}.hotel-hero__grid{grid-template-columns:1fr}
  .hotel-hero figure img{height:320px}.hotel-section{padding:50px 0}
  .hotel-packages{grid-template-columns:1fr}.hotel-package__head{min-height:0}
  .hotel-hosting{min-height:0}.hotel-price span{display:inline;font-size:.85rem}
  .hotel-package .btn{align-self:flex-start}
  .hotel-two-col{grid-template-columns:1fr;gap:30px}
  .hotel-workflow ul{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .hotel-fields{grid-template-columns:1fr}.hotel-field--wide{grid-column:auto}
  .hotel-workflow ul{grid-template-columns:1fr;gap:20px}
  .hotel-workflow li{padding-left:46px;position:relative}
  .hotel-workflow li::before{position:absolute;left:0;top:0}
  .hotel-request-output{padding:18px}.hotel-request-output .btn-row{display:grid}
  .hotel-request-output .btn{width:100%}
  .hotel-hero figure img{height:270px}.hotel-price{font-size:2.6rem}
  .hotel-page .btn-row{gap:16px}
}
