
:root{--ink:#1d2926;--sage:#718276;--deep:#203d39;--sand:#f3eee5;--cream:#fbf8f2;--line:#d9ded8}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 Arial,sans-serif}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.06;margin:0}p{margin:0 0 1.1em}.hero{min-height:94vh;display:flex;align-items:flex-end;padding:7vw;color:white;background:linear-gradient(0deg,rgba(7,18,16,.68),rgba(7,18,16,.05) 60%),var(--hero) center/cover}.hero h1{font-size:clamp(56px,8vw,118px)}.hero .sub{font:clamp(20px,2.2vw,29px)/1.4 Georgia,serif;margin:20px 0}.meta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.pill{padding:9px 15px;border:1px solid #ffffff88;border-radius:99px;background:#0002}.btn{display:inline-block;padding:14px 23px;border-radius:99px;background:white;color:var(--deep);font-weight:bold;text-decoration:none}.section{padding:92px 7vw}.wrap{max-width:1180px;margin:auto}.k{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);font-weight:bold;margin-bottom:17px}h2{font-size:clamp(38px,5vw,68px);margin-bottom:28px}.lead{font:clamp(23px,3vw,37px)/1.36 Georgia,serif}.two{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.photo{width:100%;display:block;object-fit:cover}.portrait{aspect-ratio:4/5}.wide{aspect-ratio:16/10}.quote{padding:85px 7vw;background:var(--deep);color:white}.quote p{max-width:1100px;margin:auto;font:clamp(32px,4.3vw,62px)/1.2 Georgia,serif}.masters{background:#edf0ec}.mg{display:grid;grid-template-columns:1fr 1fr;gap:24px}.master{background:white;padding:22px}.master img{width:100%;height:470px;object-fit:cover}.master h3{font-size:37px;margin:20px 0 5px}.role{color:var(--sage);text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-bottom:18px}.states{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.state img{width:100%;aspect-ratio:4/3;object-fit:cover}.state h3{font-size:28px;margin:14px 0 8px}.gallery{display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:10px;margin-top:40px}.gallery img{width:100%;height:100%;min-height:270px;object-fit:cover}.gallery img:first-child{grid-row:span 2;min-height:550px}.details{background:var(--sand)}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.fact{background:var(--cream);padding:28px 22px}.fact b{display:block;font:27px Georgia,serif;margin-bottom:7px}.cta{padding:100px 7vw;text-align:center;background:var(--deep);color:white}.cta h2{max-width:900px;margin:0 auto 25px}.cta p{max-width:720px;margin:0 auto 30px;color:#ffffffc8}footer{padding:25px;background:#142724;color:#ffffff99;text-align:center;font-size:13px}@media(max-width:820px){.section{padding:68px 6vw}.two,.mg{grid-template-columns:1fr}.states{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-column:span 2;grid-row:auto;min-height:350px}.facts{grid-template-columns:1fr 1fr}.master img{height:auto;aspect-ratio:4/5}}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
.lang-switch{position:fixed;z-index:1000;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:flex;gap:3px;padding:4px;border-radius:999px;background:rgba(16,36,32,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 30px #0002}
.lang-switch .lang-link{border:0;background:transparent;color:#fff;padding:8px 9px;border-radius:999px;font:600 11px/1 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
.lang-switch .lang-link.active{background:#fff;color:var(--deep)}
@media(max-width:820px){
 body{font-size:16px;line-height:1.58}
 .hero{min-height:100svh;padding:96px 6vw 46px;background-position:center center}
 .hero h1{font-size:clamp(48px,16vw,72px);line-height:.98;max-width:9ch}
 .hero .sub{font-size:clamp(19px,5.4vw,24px);margin:16px 0;max-width:18ch}
 .meta{gap:8px;margin:20px 0}.pill{font-size:13px;padding:7px 11px}
 .btn{padding:13px 19px}
 .section{padding:62px 6vw}.quote{padding:64px 6vw}.cta{padding:74px 6vw}
 h2{font-size:clamp(36px,10vw,50px);line-height:1.04;margin-bottom:22px}
 .lead{font-size:clamp(21px,6vw,28px)}
 .two,.mg,.states{grid-template-columns:1fr;gap:28px}
 .master{padding:16px}.master h3{font-size:31px}
 .state h3{font-size:25px}
 .gallery{grid-template-columns:1fr;gap:8px}
 .gallery img,.gallery img:first-child{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3}
 .facts{grid-template-columns:1fr}
 .fact{padding:22px 18px}.fact b{font-size:24px}
 .photo.portrait{aspect-ratio:4/5}.photo.wide{aspect-ratio:4/3}
 .quote p{font-size:clamp(30px,8vw,44px)}
}
@media(min-width:821px) and (max-width:1100px){
 .section{padding:78px 6vw}.two{gap:38px}.master img{height:410px}.facts{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
 .hero{padding-left:5vw;padding-right:5vw}
 .section,.quote,.cta{padding-left:5vw;padding-right:5vw}
 .lang-switch{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}
}

.price-fact{grid-column:1/-1;text-align:center;border:1px solid rgba(16,36,32,.14);background:rgba(255,255,255,.72)}
.price-fact b{font-size:clamp(24px,3vw,34px);letter-spacing:-.02em}
@media(max-width:820px){.price-fact{grid-column:auto;padding:26px 18px}.price-fact b{font-size:27px}}

.price-details{padding:24px 26px;border-radius:18px;background:rgba(255,255,255,.58);border:1px solid rgba(16,36,32,.10)}
.price-details h3{font-size:20px;margin:0 0 10px;color:var(--deep)}
.price-details p{margin:0;line-height:1.7}
@media(max-width:820px){.price-details{padding:21px 18px}.price-details h3{font-size:19px}}

.flight-help-note{grid-column:1/-1;margin:2px 0 0;text-align:center;font-size:15px;opacity:.78;letter-spacing:.01em}
@media(max-width:820px){.flight-help-note{font-size:14px;line-height:1.55;padding:0 8px}}

.roadtrip-copy{margin-top:16px}
.roadtrip-fact span{display:block;margin-top:6px}

/* CSP-safe replacements for former inline styles */
.hero{--hero:url('/images/image-01.webp')}
.hero .hero-k{color:#fff}
.section.bg-white{background:#fff}
.section.bg-soft{background:#edf0ec}
.cta .cta-k{color:rgba(255,255,255,.6)}
/* 404 page */
body.error-page{margin:0;min-height:100vh;display:grid;place-items:center;background:#f3efe7;color:#243b36;font-family:Georgia,serif}
.error-page main{text-align:center;max-width:620px;padding:40px 24px}.error-page h1{font-size:64px;margin:0 0 8px}.error-page p{font:18px/1.6 Arial,sans-serif;color:#56645f}
.error-page a{display:inline-block;margin-top:18px;padding:13px 22px;border:1px solid #243b36;border-radius:999px;color:#243b36;text-decoration:none;font:600 14px Arial,sans-serif}

.lang-switch .lang-link{text-decoration:none;}
