/* Warm, photograph-led refinement of the supplied homepage reference. */
.hero{height:590px;border-radius:0 0 64px 64px}
.hero-content{padding-top:174px;padding-left:28px}
.hero-welcome{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:5px;color:#dfba79;margin-bottom:18px}
.hero h1{font-size:clamp(44px,4.7vw,68px)}
.hero-tagline{font-size:23px}.hero-tagline em{font-size:38px}
.hero-overlay{background:linear-gradient(90deg,#141513c9, #16161355 48%,transparent 78%),linear-gradient(180deg,#17141045,transparent 35%,#21191130)}
.hero-note{bottom:88px;right:6%}
.primary-features{transform:translateY(-27px);padding:23px 12px;border-radius:9px;background:#fffefc}
.page-body{background-color:#fcfbf8}
.about{padding-top:15px;padding-bottom:44px}
.about-photo>img{height:345px}.quote-card{bottom:24px;padding:26px;font-size:25px}
.section-title h2{margin-bottom:10px}.hospitality{position:relative;padding-bottom:34px}
.collection-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;color:#8c806f;font-size:11px}
.collection-toolbar>div{display:flex;gap:8px}.collection-arrow{width:31px;height:31px;border:1px solid #dfcaa7;border-radius:50%;background:#fffaf1;color:#a87531}
.collection-arrow:hover{background:#c49752;color:white}
.hotel-grid,.dining-cards{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d8bd8f #f1ede5;padding-bottom:8px}
.hotel-grid .photo-card,.dining-cards .photo-card{scroll-snap-align:start;min-width:0;border-radius:7px}
.hotel-grid .photo-card>img{height:190px;object-position:center 55%}
.hotel-grid .card-caption{background:#fff;min-height:66px;padding:13px 38px 13px 13px}
.hotel-grid .card-caption h3{font-size:13px}.hotel-grid .card-caption p{font-size:10px;line-height:1.4}
.restaurant{padding-top:10px;padding-bottom:35px}
.restaurant-intro{gap:44px;grid-template-columns:1fr 1.1fr}
.restaurant-photo>img:first-child{height:365px;object-position:center;object-fit:cover}
.restaurant-photo{box-shadow:0 8px 28px #44332112}
.restaurant-intro .button-row{gap:12px;flex-wrap:wrap}.restaurant-intro .button{font-size:12px;padding:12px 18px}
.outline-warm{border:1px solid #c9a66f;background:transparent;color:#9b6a2e}
.dining-cards{margin-top:24px}.dining-cards .photo-card{position:relative;background:#3e3023}
.dining-cards .photo-card>img{height:185px;object-position:center!important}
.dining-cards .card-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#14120edb);padding:34px 36px 14px 14px;min-height:80px;color:white}
.dining-cards h3{font-size:13px}.dining-cards .card-caption p{color:#eee6d9;font-size:10px}
.dining-cards .round-arrow{top:auto;bottom:19px;right:12px;background:#c49752cb}
.gallery-section{padding:18px 0 40px}
.gallery-section .title-row{display:flex;flex-direction:column;gap:16px;align-items:center;margin-bottom:22px;text-align:center}
.gallery-section h2{font-size:42px;margin:0 0 9px}.gallery-section .title-row p{font-size:12px;margin:0}
.gallery-filters{justify-content:center;gap:12px}.gallery-filters button{padding:10px 22px}
.gallery-rail{grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-rail>a{position:relative;border:0;border-radius:7px;background:#312c24;box-shadow:none}
.gallery-rail .g-photo{aspect-ratio:1.55}.gallery-rail .g-photo i{display:none}
.gallery-rail .g-cap{position:absolute;inset:auto 0 0;padding:30px 34px 13px 13px;font-size:0;background:linear-gradient(transparent,#16130fdc)}
.gallery-rail .g-cap b{font:600 12px var(--sans);margin:0;color:white}
.gallery-rail .g-cap:after{content:'↗';position:absolute;right:12px;bottom:11px;display:grid;place-items:center;background:#c49752aa;color:white;width:21px;height:21px;border-radius:50%;font-size:12px}
.gallery-rail>a:hover{transform:translateY(-3px)}
.amenities{padding-bottom:30px}.amenity-grid .feature{padding:21px 6px}.amenity-grid .feature small{font-size:10px;color:#8b8276}
.events{padding-bottom:30px}.event-photo>img{border-radius:7px}
.testimonials{padding-bottom:35px}.review-grid blockquote{border-radius:7px;box-shadow:0 5px 20px #513f2510}
.bottom-cta{padding:32px 0}.bottom-cta h2{font-size:32px}
.site-footer{background:linear-gradient(110deg,#faf7f0,#efe6d7);color:#40362a;border-top:2px solid #c49752}
.footer-topline{color:#987137;border-color:#dccdb666;padding:18px 0}
.footer-topline a{color:#796344}.footer-grid{padding:30px 0;gap:40px}
.footer-brand img{width:200px}.footer-brand p{color:#786d5c;font-size:12px;line-height:1.65}
.footer-brand-note{color:#aa8450}.footer-grid h3{color:#332a1e}
.footer-links a,.footer-links button{color:#796a56!important;font-size:12px}
.footer-links a:hover,.footer-links button:hover{color:#a87531!important}
.social-links button{background:#292620;color:white;border:0}
.footer-contact-card{background:#fffaf1;border:1px solid #e8d8be;box-shadow:0 7px 24px #82603909;border-radius:8px;padding:23px}
.footer-contact-card h3{color:#332a1e}.footer-contact-card .eyebrow{color:#a87531}
.footer-contact-card p,.open-hours{color:#83745e}
.footer-contact-card p>.icon,.footer-contact-card .footer-contact .icon{color:#b28643}
.footer-contact-card .footer-contact{color:#725a37;border-color:#e5d7c1}
.copyright{border-color:#dcccaf;color:#968165}
@media(min-width:1600px){.hero{height:680px}.hero-content{padding-top:210px}}
@media(max-width:1000px){.hero{height:570px}.hero-content{padding-top:160px}.hotel-grid,.dining-cards{grid-auto-columns:calc((100% - 32px)/3)}.restaurant-intro{gap:27px}.restaurant-photo>img:first-child{height:320px}.gallery-section h2{font-size:36px}.footer-grid{gap:25px}}
@media(max-width:600px){.hero{height:565px;border-radius:0 0 28px 28px}.hero-content{padding:155px 12px 0}.hero-welcome{font-size:10px;letter-spacing:3px}.hero h1{font-size:43px}.hero-tagline{font-size:16px}.hero-tagline em{font-size:29px}.primary-features{padding:19px 6px}.about{padding-bottom:28px}.hotel-grid,.dining-cards{grid-auto-columns:76%;gap:12px}.hotel-grid .photo-card>img{height:195px}.hotel-grid .card-caption h3{font-size:14px}.hotel-grid .card-caption p{font-size:11px}.restaurant-intro{grid-template-columns:1fr;gap:23px}.restaurant-photo>img:first-child{height:auto;aspect-ratio:1.5}.dining-cards .photo-card>img{height:185px}.gallery-rail{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-section .title-row{align-items:center}.gallery-section h2{font-size:33px}.gallery-filters{gap:3px;justify-content:center}.gallery-filters button{font-size:10px;padding:8px 11px}.gallery-rail .g-photo{aspect-ratio:1.2}.gallery-rail .g-cap b{font-size:10px}.gallery-rail .g-cap{padding-left:9px}.footer-brand img{width:160px}.footer-contact-card{padding:22px}.bottom-cta h2{font-size:27px}.amenity-grid .feature{padding:17px 4px}}
@media(prefers-reduced-motion:reduce){.hotel-grid,.dining-cards{scroll-behavior:auto}.gallery-rail img,.gallery-rail>a{transition:none}}

/* Two complete rows: no horizontal scroller on either collection. */
.hotel-grid,.dining-cards{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;scroll-snap-type:none;gap:22px 18px;padding-bottom:0}
.hotel-grid .photo-card,.dining-cards .photo-card{box-shadow:0 5px 20px #5b42200b;border:1px solid #eae2d5;transition:box-shadow .25s}
.hotel-grid .photo-card:hover,.dining-cards .photo-card:hover{box-shadow:0 9px 26px #5b42201a}
.hotel-grid .photo-card>img{height:auto;aspect-ratio:1.5}
.hotel-grid .card-caption{padding:16px 40px 16px 15px;min-height:75px}
.hospitality .section-title{margin-bottom:28px}
.hospitality{padding-bottom:48px}
.restaurant{padding:42px 0 38px;background:linear-gradient(135deg,#f5eddf8a,#fffdfa 55%,#f4eada77);border-block:1px solid #e9dcc64d}
.dining-heading{margin-bottom:35px}.dining-heading h2{font-size:43px}.dining-heading h2 em{color:#a77836;font-weight:400}
.dining-heading .eyebrow{color:#a16d30}.dining-heading>p{color:#786f62}
.restaurant-intro{background:#fffdf9;padding:28px;border:1px solid #e9dfcf;border-radius:15px;box-shadow:0 13px 40px #74552e08;gap:40px}
.restaurant-intro .split-copy{padding:8px 8px 8px 12px}
.restaurant-intro .split-copy h2{font-size:40px;line-height:1.08}
.restaurant-intro .split-copy>p{line-height:1.7;color:#706457}
.restaurant-photo{border-radius:10px;isolation:isolate}
.restaurant-photo>img:first-child{height:390px;object-position:center}
.restaurant-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#1e180ebd);pointer-events:none}
.restaurant-photo-label{position:absolute;z-index:1;left:24px;bottom:23px;color:#fff8ed}
.restaurant-photo-label>span{display:block;color:#f0cea0;font-size:9px;letter-spacing:2.5px;margin-bottom:9px}
.restaurant-photo-label strong{font:400 27px/1.13 var(--serif)}
.restaurant-photo .photo-plus{z-index:2;right:22px;bottom:25px;width:34px;height:34px;font-size:23px}
.dining-cards{margin-top:28px}.dining-cards .photo-card>img{height:auto;aspect-ratio:1.5}
.dining-cards .card-caption{position:relative;inset:auto;min-height:74px;background:#fffdf9;color:#342a1d;padding:15px 38px 14px 14px}
.dining-cards .card-caption p{color:#7b6d59;line-height:1.4;margin-top:5px;max-width:100%}
.dining-cards .round-arrow{bottom:25px;background:#bd8a41}
.site-footer{background:#f1e9db;color:#382f23;border-top:3px solid #b68b4c}
.footer-topline{color:#876631;border-bottom:1px solid #d9c9ae}
.footer-grid h3{color:#342b20}.footer-brand p{color:#635846}
.footer-brand-note{color:#866636}.footer-links a,.footer-links button{color:#62533f!important}
.footer-links h3:after{background:#b68b4c}
.footer-contact-card{background:#e5d6bc;border-color:#d6bf98;box-shadow:none}
.footer-contact-card h3{color:#342b20}.footer-contact-card .eyebrow{color:#795825}
.footer-contact-card p,.footer-contact-card .open-hours{color:#66543a}
.footer-contact-card .footer-contact{color:#4e3e29;border-color:#cbb594}
.footer-contact-card p>.icon,.footer-contact-card .footer-contact .icon,.footer-contact-card .footer-contact>span{color:#8b6228}
.social-links button{background:#3c3123;color:#f9f2e5}.social-links button:hover{background:#94703e}
.copyright{border-color:#d5c4a9;color:#78674d}
@media(max-width:1000px){.hotel-grid,.dining-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-intro{gap:22px;padding:22px}.restaurant-intro .split-copy{padding:0}.restaurant-intro .split-copy h2{font-size:32px}.restaurant-photo>img:first-child{height:370px}}
@media(max-width:600px){.hotel-grid,.dining-cards{gap:14px 11px}.hotel-grid .photo-card>img,.dining-cards .photo-card>img{aspect-ratio:1.15;height:auto}.hotel-grid .card-caption,.dining-cards .card-caption{padding:12px 10px 30px;min-height:99px}.hotel-grid .card-caption h3,.dining-cards .card-caption h3{font-size:12px;line-height:1.25}.hotel-grid .card-caption p,.dining-cards .card-caption p{font-size:10px;line-height:1.4}.hotel-grid .round-arrow,.dining-cards .round-arrow{top:auto;bottom:9px;right:10px;width:18px;height:18px;font-size:12px}.hospitality{padding-bottom:28px}.restaurant{padding-block:28px}.dining-heading{margin-bottom:24px}.dining-heading h2{font-size:32px}.dining-heading h2 em{display:block;margin-top:5px}.dining-heading>p{font-size:12px}.restaurant-intro{padding:20px 15px;gap:22px;border-radius:10px}.restaurant-intro .split-copy h2{font-size:32px}.restaurant-photo>img:first-child{height:290px;aspect-ratio:auto}.restaurant-photo-label{left:17px;bottom:20px}.restaurant-photo-label strong{font-size:24px}.restaurant-photo-label>span{font-size:8px}.restaurant-intro .button{font-size:11px;padding:11px 12px}.dining-cards{margin-top:22px}}
