/* Warm travel: cream ground, terracotta and teal accents, rounded images, repeating-gradient grain. Hotel layout: horizontal .h-cards. Hero: full-bleed photo with grounded title and scrim. Images: seven on home, zero on supporting pages. */
:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--cream:#f7f1e7;--paper:#fffaf2;--sand:#e9ddca;--ink:#263b37;--muted:#58645b;--teal:#174b45;--terracotta:#a84029;--line:#cabeab;--dark-muted:#d3ded6;--white:#fff;--focus:#82331f;--radius:20px;--width:1120px;--cookie-space:320px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--s24)}
body{margin:0;padding-bottom:var(--cookie-space);background-color:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}
[hidden]{display:none!important}
img{display:block;max-width:100%}
svg{display:block;flex-shrink:0}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:var(--teal);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
button{border:1px solid transparent}
h1,h2,h3,p{overflow-wrap:anywhere}
h1,h2,h3{margin:0;font-weight:750;line-height:1.15;letter-spacing:-.025em}
h1{font-size:clamp(2.25rem,6vw,4.5rem)}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.5rem}
p{margin:0}
ul{margin:0;padding-left:var(--s24)}
li+li{margin-top:var(--s8)}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.container{width:calc(100% - var(--s32));max-width:var(--width);margin-inline:auto}
.grain{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(92,67,39,.025) 3px,rgba(92,67,39,.025) 4px)}
.warm-panel{background-color:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}
.pill{display:inline-flex;align-items:center;gap:var(--s8);border:1px solid var(--line);border-radius:999px;padding:var(--s4) var(--s12);background-color:var(--cream);color:var(--ink);font-size:.8125rem;line-height:1.6}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:var(--s8);left:var(--s16);z-index:100;padding:var(--s8) var(--s16);transform:translateY(-180%);background-color:var(--white);color:var(--ink);border-radius:8px}
.skip-link:focus{transform:translateY(0)}
.site-header{position:relative;z-index:30;background-color:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s16);height:52px}
.header-row>*{min-width:0}
.brand{display:flex;align-items:center;gap:var(--s8);min-width:0;flex-shrink:1;overflow-wrap:anywhere;color:var(--teal);font-size:.9375rem;font-weight:800;line-height:1.2;text-decoration:none}
.brand svg{width:28px;height:28px;fill:var(--teal)}
.desktop-nav{display:none}
.desktop-nav a{font-size:.9375rem;font-weight:650;white-space:nowrap;text-decoration:none}
.header-cta{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s8);min-height:44px;padding:var(--s8) var(--s16);border:1px solid var(--terracotta);border-radius:999px;background-color:var(--terracotta);color:var(--white);font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
.button:hover{background-color:#8c3320;color:var(--white);border-color:#8c3320}
.button:focus-visible{outline-color:var(--focus)}
.menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;padding:var(--s8);border:1px solid var(--line);border-radius:8px;background-color:var(--paper);color:var(--ink)}
.menu-toggle svg{width:22px;height:22px;stroke:currentColor}
.mobile-menu{position:fixed;inset:52px 0 0;z-index:25;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;padding:var(--s32) var(--s24);background-color:var(--teal);color:var(--white)}
.mobile-menu nav{display:flex;flex-direction:column;gap:var(--s24);margin-block:auto}
.mobile-menu a{color:var(--white);font-size:1.25rem;overflow-wrap:anywhere;text-decoration:none}
.mobile-menu .button{align-self:flex-start;white-space:nowrap}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible{outline-color:#ffd5aa}
.hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:440px;background-color:var(--teal);color:var(--white)}
.hero-image{position:absolute;inset:0;z-index:-2;background-color:var(--sand)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,rgba(13,36,31,.06),rgba(13,36,31,.55))}
.hero-content{padding-block:var(--s64)}
.hero-title{width:fit-content;max-width:780px;padding:var(--s24);border-radius:var(--radius);background-color:rgba(20,57,50,.96);color:var(--white)}
.hero-title p{margin-top:var(--s16);max-width:58ch;font-size:1.0625rem;color:#f2eee4}
.home-content{padding-top:var(--s64);padding-bottom:var(--s64)}
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s16)}
.filter-bar>*{min-width:0}
.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--s8)}
.filter-buttons>*{min-width:0}
.filter-button{min-height:44px;padding:var(--s8) var(--s16);border:1px solid var(--line);border-radius:999px;background-color:var(--paper);color:var(--ink);font-weight:650}
.filter-button:hover{border-color:var(--teal)}
.filter-button[aria-pressed="true"]{border-color:var(--teal);background-color:var(--teal);color:var(--white)}
.result-count{color:var(--muted);font-size:.9375rem}
.disclosure{margin-top:var(--s24);margin-bottom:var(--s16);color:var(--muted);font-size:.875rem}
.listing-title{margin-bottom:var(--s24);font-size:1.125rem;letter-spacing:0}
.h-cards{display:grid;gap:var(--s24)}
.h-cards>*{min-width:0}
.hotel-card{display:flex;flex-direction:column;padding:var(--s16);gap:var(--s24)}
.hotel-card>*{min-width:0}
.hotel-image{position:relative;aspect-ratio:16/10;margin:0;border-radius:16px;overflow:hidden;background-color:var(--sand)}
.hotel-image img{width:100%;height:100%;object-fit:cover}
.hotel-details{display:flex;flex-direction:column;gap:var(--s16)}
.hotel-heading h3{font-size:clamp(1.3rem,2.4vw,1.65rem)}
.hotel-area{margin-top:var(--s4);color:var(--muted);font-size:.9375rem}
.facilities{display:flex;flex-wrap:wrap;gap:var(--s8);padding:0;list-style:none}
.facilities>*{min-width:0}
.facilities li+li{margin-top:0}
.facilities svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card-headline{font-size:1rem;font-weight:750}
.card-description{margin-top:var(--s4);color:var(--muted);font-size:.9375rem}
.card-bottom{display:flex;justify-content:flex-end;align-items:flex-end;gap:var(--s16);margin-top:auto;padding-top:var(--s8)}
.card-bottom>*{min-width:0}
.card-bottom .button{font-size:.9375rem}
.support{margin-top:var(--s64);padding:var(--s24)}
.support h2{max-width:26ch}
.support-copy{margin-top:var(--s24)}
.support-copy p+p{margin-top:var(--s16)}
.support-copy p{max-width:76ch}
.faq{margin-top:var(--s64)}
.faq h2{margin-bottom:var(--s24)}
.faq details{border-top:1px solid var(--line);padding-block:var(--s16)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700;padding-right:var(--s16);overflow-wrap:anywhere}
.faq details p{max-width:75ch;margin-top:var(--s12);color:var(--muted)}
.document{padding-block:var(--s64)}
.document-heading{max-width:820px;margin-bottom:var(--s40)}
.document-heading p{margin-top:var(--s16);color:var(--muted);font-size:1.125rem}
.prose{max-width:820px}
.prose section+section{margin-top:var(--s40)}
.prose h2{margin-bottom:var(--s16);font-size:1.5rem}
.prose p+p{margin-top:var(--s16)}
.prose ul{margin-top:var(--s16)}
.prose a{font-weight:650}
.about-note{margin-top:var(--s40);padding:var(--s24)}
.about-note p{margin-top:var(--s12)}
.contact-grid{display:grid;gap:var(--s32);align-items:start}
.contact-grid>*{min-width:0}
.contact-form{padding:var(--s24)}
.form-field+.form-field{margin-top:var(--s24)}
.form-field label{display:block;margin-bottom:var(--s8);font-weight:700}
.form-field input,.form-field textarea{width:100%;min-width:0;padding:var(--s12);border:1px solid #8a9184;border-radius:8px;background-color:var(--white);color:var(--ink)}
.form-field input{min-height:48px}
.form-field textarea{min-height:180px;resize:vertical}
.form-field [aria-invalid="true"]{border:2px solid #9b281c}
.field-error{margin-top:var(--s8);color:#922516;font-size:.875rem}
.form-note{margin-top:var(--s24);color:var(--muted);font-size:.875rem}
.form-actions{margin-top:var(--s24)}
.form-status{margin-top:var(--s16);padding:var(--s16);border:1px solid var(--line);border-radius:8px;background-color:var(--cream);color:var(--ink)}
.contact-details{padding:var(--s24)}
.contact-details h2{font-size:1.375rem;margin-bottom:var(--s16)}
.contact-details p+p{margin-top:var(--s16)}
.contact-details address{font-style:normal;margin-top:var(--s16);overflow-wrap:anywhere}
.email-text{overflow-wrap:anywhere}
.table-scroll{max-width:100%;overflow-x:auto;margin-block:var(--s24);border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:.875rem}
caption{text-align:left;padding:var(--s16);font-weight:700;background-color:var(--paper);color:var(--ink)}
th,td{text-align:left;vertical-align:top;padding:var(--s16);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
th{background-color:var(--sand);color:var(--ink)}
tr:last-child td{border-bottom:0}
.site-footer{padding-block:var(--s40);background-color:var(--teal);color:var(--white)}
.footer-grid{display:grid;gap:var(--s32)}
.footer-grid>*{min-width:0}
.footer-brand{font-size:1.125rem;font-weight:800}
.footer-company{margin-top:var(--s12);font-weight:650}
.footer-address{margin-top:var(--s8);font-style:normal;color:var(--dark-muted);font-size:.875rem;overflow-wrap:anywhere}
.footer-email{margin-top:var(--s8);color:var(--dark-muted);font-size:.875rem;overflow-wrap:anywhere}
.footer-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--s12) var(--s24)}
.footer-links>*{min-width:0}
.footer-links a{color:var(--white);font-size:.875rem}
.footer-bottom{margin-top:var(--s32);padding-top:var(--s24);border-top:1px solid #6d9188}
.footer-bottom p{color:var(--dark-muted);font-size:.8125rem}
.footer-bottom p+p{margin-top:var(--s8)}
.cookie-banner{position:fixed;inset:auto 0 0;z-index:50;max-height:75vh;overflow-y:auto;padding-block:var(--s16);border-top:1px solid #648079;background-color:#173b35;color:var(--white)}
.cookie-content{display:flex;flex-direction:column;gap:var(--s16)}
.cookie-content>*{min-width:0}
.cookie-content>p{font-size:.875rem}
.cookie-buttons{display:flex;flex-wrap:wrap;gap:var(--s8)}
.cookie-buttons>*{min-width:0}
.cookie-buttons button,.cookie-preferences button{min-height:44px;padding:var(--s8) var(--s16);border:1px solid #a8bdb1;border-radius:8px;background-color:var(--paper);color:var(--ink);font-weight:650;font-size:.875rem}
.cookie-buttons button:hover,.cookie-preferences button:hover{background-color:var(--sand);color:var(--ink)}
.cookie-preferences{padding:var(--s16);border:1px solid #648079;border-radius:8px}
.cookie-preferences h2{font-size:1.125rem}
.cookie-preferences p{margin-top:var(--s8);font-size:.875rem;color:var(--dark-muted)}
.cookie-preferences button{margin-top:var(--s16)}
.cookie-settings{padding:0;border:0;background-color:transparent;color:var(--white);font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
noscript p{margin-top:var(--s16);padding:var(--s16);border:1px solid var(--line);background-color:var(--paper);color:var(--ink)}
@media(min-width:400px){
.brand{font-size:1.0625rem}
.hero-title{padding:var(--s32)}
}
@media(max-width:479px){
.cookie-buttons{flex-direction:column}
.cookie-buttons button{width:100%}
.contact-form,.contact-details,.support{padding:var(--s16)}
.card-bottom .button{width:100%}
}
@media(min-width:480px){
.hotel-card{padding:var(--s24)}
.cookie-buttons button{flex:1 1 auto}
}
@media(min-width:768px){
.container{width:calc(100% - var(--s64))}
.header-row{height:64px;gap:var(--s24)}
.brand{flex-shrink:0;white-space:nowrap;font-size:1.0625rem}
.desktop-nav{display:flex;gap:var(--s24);margin-left:auto}
.header-cta{display:inline-flex;flex-shrink:0;white-space:nowrap;font-size:.875rem}
.menu-toggle{display:none}
.hero{min-height:480px}
.hero-content{padding-block:var(--s64)}
.hotel-card{flex-direction:row;align-items:stretch}
.hotel-image{flex:0 0 38%;aspect-ratio:4/3;min-height:280px}
.hotel-details{flex:1}
.support{padding:var(--s40)}
.contact-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cookie-buttons{justify-content:flex-end}
.cookie-buttons button{flex:0 1 auto}
}
@media(min-width:1024px){
.brand{font-size:1.1875rem}
.hero{min-height:520px}
.hotel-card{gap:var(--s32)}
.hotel-details{padding-block:var(--s8)}
.support-copy{columns:2;column-gap:var(--s32)}
.support-copy p{break-inside:avoid}
.footer-links{justify-content:flex-end}
}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}