@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/playfair-display-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/playfair-display-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--sand:#f6efe4;--sand2:#ece1cf;--ink:#1d2a2e;--teal:#0f5f63;--teal2:#0a4447;--coral:#d9634a;--mute:#6b7a7c;--line:#d9cdb8}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--sand);color:var(--ink);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.18}
h1{font-size:clamp(2.2rem,5.6vw,4.2rem)}h2{font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:.4em}h3{font-size:1.35rem}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
section{padding:80px 0}.alt{background:var(--sand2)}.pt{padding-top:130px}
.draft{background:#1d2a2e;color:#fff;text-align:center;font-size:.78rem;letter-spacing:.1em;padding:5px;text-transform:uppercase;position:relative;z-index:30}
nav{position:fixed;top:26px;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 28px;color:#fff;transition:.3s;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,0))}
nav.solid{background:rgba(246,239,228,.97);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:1.2rem;white-space:nowrap}.logo img{border-radius:50%}
nav ul{display:flex;gap:18px;list-style:none;font-size:.88rem;letter-spacing:.02em}nav ul a,.btn.sm{white-space:nowrap}nav ul a{text-decoration:none;opacity:.92}nav ul a:hover,nav ul a.on{color:var(--coral);opacity:1}
.right{display:flex;align-items:center;gap:14px}.langs{display:flex;gap:8px;font-size:.78rem;letter-spacing:.08em}.langs a{text-decoration:none;opacity:.7}.langs a.on{opacity:1;font-weight:700;border-bottom:1px solid currentColor}
.burger{display:none;background:none;border:0;color:inherit;font-size:1.6rem;cursor:pointer}
.btn{display:inline-block;background:var(--coral);color:#fff;padding:14px 30px;border-radius:3px;text-decoration:none;font-weight:600;letter-spacing:.04em;font-size:.95rem;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#c24f37}.btn.sm{padding:9px 18px;font-size:.82rem}
.eyebrow{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-weight:600}
.hero{position:relative;min-height:min(92vh,820px);display:flex;align-items:flex-end;color:#fff;background:var(--teal2) center/cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,32,.6) 0,rgba(5,30,32,.3) 55%,rgba(5,30,32,.05) 100%),linear-gradient(to top,rgba(5,30,32,.75) 0,rgba(5,30,32,.05) 62%)}.hero h1,.hero .lead,.hero .eyebrow{text-shadow:0 2px 16px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.5)}
.hero .wrap{position:relative;z-index:2;padding-bottom:120px;width:100%}.hero .lead{max-width:600px;font-size:1.2rem;font-weight:400;margin:16px 0 26px}
.bar{position:relative;z-index:5;margin-top:-52px}
.bar form{background:#fff;display:grid;grid-template-columns:repeat(3,1fr) auto;box-shadow:0 20px 50px rgba(15,50,52,.18);border-radius:4px;overflow:hidden}
.bar label{padding:14px 22px;border-right:1px solid var(--line);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;flex-direction:column;gap:3px}
.bar input,.bar select{border:0;font:inherit;font-size:1rem;color:var(--ink);background:none;outline:0}.bar .btn{border-radius:0;margin:0}
.props{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.prop h3{margin-bottom:8px;color:var(--teal)}.prop p{color:var(--mute)}
.lead2{max-width:640px;color:var(--mute);margin-bottom:34px;font-size:1.05rem}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rc,.tc{text-decoration:none;display:block}.rc img,.tc img{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:3px;margin-bottom:14px}
.rc h3,.tc h3{margin-bottom:6px}.rc p,.tc p{color:var(--mute);font-size:.95rem}.rc span{display:inline-block;margin-top:10px;color:var(--coral);font-weight:600;font-size:.9rem}
.more{margin-top:30px}.more a:not(.btn){color:var(--teal);font-weight:600;text-decoration:none;border-bottom:1px solid var(--teal)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gal a{overflow:hidden;border-radius:3px;display:block;aspect-ratio:4/3;background:var(--sand2)}.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gal a:hover img{transform:scale(1.05)}
.gall{grid-template-columns:repeat(4,1fr)}.gr{grid-template-columns:repeat(3,1fr)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.step i{font-style:normal;display:inline-flex;width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;align-items:center;justify-content:center;font-weight:700;margin-bottom:12px}.step p{color:var(--mute)}
.final{background:var(--teal2) center/cover;color:#fff;text-align:center;position:relative}.final::after{content:"";position:absolute;inset:0;background:rgba(5,30,32,.6)}.final .wrap{position:relative;z-index:2}.final p{margin:10px 0 24px;opacity:.95}
.h1s{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:12px}
.room{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;align-items:start;padding:36px 0;border-top:1px solid var(--line)}
.room h2{font-size:2.2rem}.room p{color:var(--mute);margin:8px 0 14px}.room ul{padding-left:18px;margin-bottom:22px}.room li{margin:4px 0}
.gh{margin:46px 0 18px;font-size:1.7rem}.noimg{aspect-ratio:4/3;border-radius:3px;margin-bottom:14px;background:linear-gradient(135deg,var(--teal) 0,var(--teal2) 100%)}
.todo{background:#fff3ee;border-left:4px solid var(--coral);padding:10px 14px;margin-top:18px;font-size:.88rem;color:var(--ink)}
.jhead{padding-bottom:20px}.citysel{display:flex;flex-direction:column;gap:5px;max-width:260px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.citysel select{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;padding:11px 14px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink)}
.story{position:relative}.js .story{height:560vh}.stage{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;max-width:1180px;margin:0 auto;padding:0 20px}
.js .stage{position:sticky;top:0;height:100vh;padding-top:96px;padding-bottom:20px;align-items:center}
.mapbox{position:relative;background:#0a3a3d;border-radius:6px;overflow:hidden;height:min(76vh,720px);box-shadow:0 20px 50px rgba(15,50,52,.25)}#map{width:100%;height:100%;display:block}
.overtag{position:absolute;left:14px;top:12px;color:#fff;font-size:1rem;font-weight:600;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.6)}.kmtag{position:absolute;left:14px;bottom:12px;color:#cfe3e2;font-size:.85rem;letter-spacing:.04em}
.steps2{position:relative;min-height:260px}.js .steps2 .stp{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(14px);transition:.5s;pointer-events:none}.js .steps2 .stp.on{opacity:1;transform:none;pointer-events:auto}
.steps2 .stp{margin-bottom:28px}.steps2 i{font-style:normal;display:inline-flex;width:42px;height:42px;border-radius:50%;background:var(--coral);color:#fff;align-items:center;justify-content:center;font-weight:700;margin-bottom:12px}
.steps2 h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}.steps2 p{color:var(--mute);font-size:1.05rem}
.prog{display:none}.js .prog{display:block;position:absolute;left:0;bottom:-34px;width:100%;height:3px;background:var(--line)}.prog b{display:block;height:100%;width:0;background:var(--coral)}
.para{position:relative}.js .para{height:640vh}.pstage{position:relative}
.ps{position:relative;display:flex;height:70vh;background:#0a3a3d}.pi{flex:1;background:center/cover;min-width:0}
.js .pstage{position:sticky;top:0;height:100vh;overflow:hidden;background:#0a3a3d}.js .ps{position:absolute;inset:0;height:auto;opacity:0}.js .pi{will-change:transform}
.ps::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,30,32,.7),rgba(5,30,32,0) 45%);pointer-events:none}
.pcap{position:absolute;left:0;right:0;bottom:0;padding:0 28px 12vh;z-index:2;text-align:center;color:#fff}
.pcap span{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(2rem,6vw,4.6rem);line-height:1.1;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.pcta{display:none}.js .pcta{display:block;position:absolute;left:0;right:0;bottom:4vh;text-align:center;z-index:3;opacity:0;pointer-events:none;transition:opacity .4s}.js .pcta.on{opacity:1;pointer-events:auto}
.pk{padding-left:20px;margin:0 0 24px}.pk li{margin:6px 0}
.note{color:var(--mute);font-size:.9rem;margin-top:26px}
.legal h2{font-size:1.25rem;margin:28px 0 8px}.legal p{margin:0 0 10px}
.soc{padding:34px 0 10px;text-align:center}.soc h2{margin-bottom:6px}.soc p{color:var(--mute);margin:0 auto 18px;max-width:560px}.sis{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.si{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:40px;background:var(--teal);color:#fff;text-decoration:none;font-weight:600}.si svg{width:24px;height:24px}.si:hover{background:var(--coral)}.socf{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}.socf p{margin:0 0 10px}.socf .sis{justify-content:flex-start}.socf .si{background:rgba(255,255,255,.12);padding:8px 14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.split p{margin:0 0 14px;color:var(--ink)}.split .sign{font-style:italic;color:var(--teal);margin-top:6px}
.tmeta{margin:-2px 0 8px;color:var(--mute);font-size:.9rem}.tmeta b{color:var(--coral);font-size:1.05rem}
.rmeta{color:var(--mute);font-size:.92rem;margin:4px 0 2px}.rfrom{margin:2px 0 12px;color:var(--teal)}.rfrom b{font-size:1.25rem;color:var(--coral)}
.pt2{border-collapse:collapse;margin:14px 0 18px;font-size:.92rem;min-width:260px}.pt2 th,.pt2 td{padding:6px 14px 6px 0;border-bottom:1px solid var(--line);text-align:left}.pt2 th{color:var(--mute);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.pt2 td:last-child{font-weight:600}
.room.nophoto{grid-template-columns:1fr}.morep{padding:36px 0;border-top:1px solid var(--line)}.morep h2{margin-bottom:16px}
form label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}
form input[type=text],form input[type=email],form input[type=date],form select,form textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
fieldset{border:0;margin-bottom:16px}legend{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.chks{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
form label.chk{flex-direction:row;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink);margin:0}
.consent{margin:18px 0}.consent a{color:var(--teal)}.hp{position:absolute;left:-9999px}.st{margin-top:14px;font-weight:600}
footer{background:var(--teal2);color:#cfe3e2;padding:40px 0;font-size:.9rem}.fc{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}.fc b{color:#fff}.fl{display:flex;gap:18px;flex-wrap:wrap}.fl a{text-decoration:none;opacity:.85}.cr{opacity:.7}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:flex;align-items:center;justify-content:center}#lb[hidden]{display:none}#lb img{max-width:94vw;max-height:92vh;object-fit:contain}#lb button{position:absolute;top:14px;right:22px;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}
@media(max-width:900px){.js .para{height:560vh}.ps{height:60vh}.stage{grid-template-columns:1fr}.js .stage{padding-top:84px;gap:10px;align-items:start}.mapbox{height:46vh}.js .story{height:520vh}.steps2{min-height:220px}nav ul{display:none}.burger{display:block}nav.open ul{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--sand);color:var(--ink);padding:16px 28px;gap:12px;box-shadow:0 8px 20px rgba(0,0,0,.1)}
.logo span{display:none}.props,.cards3,.steps{grid-template-columns:1fr}.cards4{grid-template-columns:1fr 1fr}.gal,.gall,.gr{grid-template-columns:1fr 1fr}.room{grid-template-columns:1fr;gap:20px}.split{grid-template-columns:1fr;gap:24px}.split.rev img{order:2}
.bar form{grid-template-columns:1fr}.bar label{border-right:0;border-bottom:1px solid var(--line)}.bar input,.bar select{width:100%}.bar .btn{padding:16px}nav .btn.sm{display:none}.row2,.row3,.chks{grid-template-columns:1fr}section{padding:56px 0}.hero .wrap{padding-bottom:90px}}
