*{box-sizing:border-box}
:root{--cream:#f4f0ea;--brown:#6f4e43;--deep:#755d52;--soft:#e7dfd5;--light:#f8f5f0}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--brown);font-family:Arial,Helvetica,sans-serif;font-weight:300;line-height:1.65}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;background:rgba(244,240,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(111,78,67,.14)}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:.08em;color:inherit;text-decoration:none}
.site-header nav{display:flex;gap:23px}.site-header nav a{font-size:11px;letter-spacing:.12em;color:inherit;text-decoration:none}
.menu-toggle{display:none;border:0;background:none;font-size:11px;letter-spacing:.15em;color:var(--brown)}
.hero{min-height:88vh;display:grid;grid-template-columns:46% 54%;align-items:stretch}.photo{background-size:cover;background-position:center}
.hero-photo{min-height:700px;background-position:center 38%}.hero-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em}
.hero h1{font-size:clamp(54px,6.5vw,100px);line-height:.98;margin:0 0 30px}
.lead{max-width:680px;font-size:16px}.button{display:inline-block;margin-top:25px;padding:15px 22px;border:1px solid var(--brown);color:inherit;text-decoration:none;font-size:11px;letter-spacing:.16em;width:max-content;transition:.2s}
.button:hover{background:var(--brown);color:var(--cream)}
.section{padding:110px 7vw}.section h2,.hotel-section h2,.contact-section h2{font-size:clamp(48px,6vw,82px);line-height:.98;margin:0 0 30px}
.about-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:10vw;align-items:center}.about-copy{max-width:680px}.portrait-wrap{margin:0}.portrait-wrap img{display:block;width:100%;height:690px;object-fit:cover;object-position:center}
.services>h2{margin-bottom:45px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card img{display:block;width:100%;height:330px;object-fit:cover}.card h3{font-size:32px;margin:22px 0 0}.mini{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.card p:not(.mini){font-size:14px}.card a{font-size:10px;letter-spacing:.12em;color:inherit;text-decoration:none;border-bottom:1px solid transparent}.card a:hover{border-color:currentColor}
.hotel-section{display:grid;grid-template-columns:55% 45%;background:var(--deep);color:#f5eee8}.hotel-photo{min-height:760px}.hotel-copy{padding:8vw 6vw;align-self:center}.hotel-copy p{max-width:590px}.ghost{border-color:#f5eee8;color:#f5eee8}.ghost:hover{background:#f5eee8;color:var(--deep)}
.world{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center;background:var(--light)}.world-copy{max-width:620px}.pullquote{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.25;margin:32px 0}
.world-gallery{position:relative;min-height:720px}.world-gallery img{position:absolute;display:block;object-fit:cover;box-shadow:0 15px 45px rgba(70,45,35,.08)}
.world-a{width:54%;height:62%;left:0;top:0}.world-b{width:43%;height:45%;right:0;top:9%}.world-c{width:52%;height:43%;right:10%;bottom:0}
.contact-section{text-align:center;padding:135px 7vw}.contact-section p{max-width:700px;margin:8px auto}.contact-section .button{margin:30px auto}.contact-tags{margin-top:35px!important;font-size:11px;letter-spacing:.12em}
footer{padding:35px 5vw;border-top:1px solid rgba(111,78,67,.18);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em}
@media(max-width:980px){.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;background:var(--cream);padding:28px 5vw}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-photo{min-height:65vh}.hero-copy{padding:75px 7vw}.about-grid,.hotel-section,.world{grid-template-columns:1fr}.portrait-wrap img{height:70vh}.service-grid{grid-template-columns:1fr 1fr}.hotel-photo{min-height:70vh}.world-gallery{min-height:650px}}
@media(max-width:600px){.site-header{padding:18px 6vw}.brand{font-size:18px}.section{padding:80px 6vw}.hero h1{font-size:52px}.hero-photo{min-height:58vh}.service-grid{grid-template-columns:1fr;gap:55px}.card img{height:430px}.hotel-copy{padding:80px 7vw}.hotel-photo{min-height:60vh}.world-gallery{min-height:520px}.world-a{height:58%}.world-b{height:40%}.world-c{height:38%}.contact-section{padding:100px 7vw}footer{flex-direction:column;gap:10px}}

footer a{color:inherit;text-decoration:none}
footer a:hover{text-decoration:underline}
.legal-page{max-width:980px;margin:0 auto;padding:95px 7vw 120px}
.legal-page .legal-back{display:inline-block;margin-bottom:55px;font-size:11px;letter-spacing:.14em;color:inherit;text-decoration:none}
.legal-page .legal-back:hover{text-decoration:underline}
.legal-page h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(52px,7vw,92px);line-height:1;margin:0 0 55px;letter-spacing:-.025em}
.legal-page h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:30px;line-height:1.2;margin:48px 0 18px}
.legal-page h3{font-family:Arial,Helvetica,sans-serif;font-weight:500;font-size:17px;line-height:1.45;margin:32px 0 10px}
.legal-page p,.legal-page li{font-size:15px;line-height:1.8}
.legal-page a{color:inherit}
.legal-page .address{margin:25px 0 35px}
.legal-page .allcaps{font-size:13px;line-height:1.75;font-weight:600;letter-spacing:.02em}
.legal-footer{max-width:980px;margin:0 auto}
@media(max-width:600px){.legal-page{padding:70px 6vw 95px}.legal-page h1{font-size:50px}.legal-page h2{font-size:27px}}
