:root{
  --ink:#20231f; --ink-2:#353a34; --sand:#f2eee6; --paper:#fbfaf7; --white:#fff;
  --accent:#a89573; --line:rgba(32,35,31,.14); --radius:18px; --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;width:100%} button,a{font:inherit} a{color:inherit;text-decoration:none} button{cursor:pointer}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin:0 auto}.narrow{max-width:820px}.center{text-align:center}.section{padding:110px 0}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 34px;color:#fff;transition:background .25s ease,color .25s ease,padding .25s ease,box-shadow .25s ease}
.site-header.scrolled{color:var(--ink);background:rgba(251,250,247,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding-top:15px;padding-bottom:15px}
.brand{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.08em}.brand-main{font-weight:700;font-size:15px}.brand-sub{font-size:9px;opacity:.72;margin-top:5px;letter-spacing:.18em}
.site-nav{display:flex;align-items:center;gap:27px;font-size:14px}.site-nav a{opacity:.86}.site-nav a:hover{opacity:1}
.nav-booking,.footer-book{border:1px solid currentColor;color:inherit;background:transparent;padding:10px 16px;border-radius:999px}.nav-booking:hover{background:rgba(255,255,255,.12)}.site-header.scrolled .nav-booking:hover{background:var(--sand)}
.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:24px;height:1.5px;background:currentColor;margin:6px 0}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;color:#fff;background:url("../images/hero.webp") center center/cover no-repeat}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,12,.72) 0%,rgba(12,16,12,.50) 33%,rgba(12,16,12,.10) 65%,rgba(12,16,12,.05) 100%),linear-gradient(0deg,rgba(8,10,8,.25),transparent 45%)}
.hero-content{position:relative;z-index:2;width:min(720px,calc(100% - 48px));margin-left:max(7vw,32px);padding-top:70px}
.eyebrow{margin:0 0 20px;font-size:12px;letter-spacing:.20em;font-weight:700}.eyebrow.dark{color:#746d61}
.hero h1{margin:0;font-size:clamp(56px,7.4vw,112px);line-height:.92;letter-spacing:-.055em;font-weight:650}
.hero-copy{max-width:610px;font-size:clamp(18px,1.8vw,24px);line-height:1.5;margin:30px 0 0;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{border-radius:999px;padding:14px 22px;border:1px solid transparent;font-weight:600;transition:transform .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px)}
.btn-light{background:#fff;color:var(--ink)}.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.65)}.btn-dark{background:var(--ink);color:#fff;padding:15px 24px}
.scroll-hint{position:absolute;z-index:2;left:50%;bottom:26px;transform:translateX(-50%);width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.48);border-radius:50%}
.intro{background:var(--sand)}.intro h2,.travel-copy h2,.about-copy h2,.booking-cta h2{margin:0;font-size:clamp(42px,5vw,72px);line-height:1.03;letter-spacing:-.045em;font-weight:600}
.lead{font-size:clamp(23px,2.4vw,34px);line-height:1.45;color:var(--ink-2);margin:28px 0 0}.lead-small{font-size:20px;line-height:1.55;color:var(--ink-2)}
.pillars{background:var(--paper)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillar{padding:34px 32px 42px;min-height:360px;border-right:1px solid var(--line);display:flex;flex-direction:column}.pillar:last-child{border-right:0}.pillar-no{font-size:12px;letter-spacing:.14em;color:#877e70}
.pillar h3{font-size:30px;letter-spacing:-.025em;margin:44px 0 14px}.pillar p{margin:0;color:#555b53}.text-link{margin-top:auto;padding:28px 0 0;border:0;background:none;font-weight:650;text-align:left;color:var(--ink)}
.travel-feature{background:#fff}.travel-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}.travel-copy p:not(.eyebrow){font-size:18px;color:#555b53;margin-top:24px}
.travel-collage{display:grid;grid-template-columns:1.3fr .75fr;gap:16px;align-items:end}.photo{margin:0;border-radius:var(--radius);overflow:hidden}.photo-large img{aspect-ratio:4/5;object-fit:cover}.photo-small{margin-bottom:-58px}.photo-small img{aspect-ratio:4/5;object-fit:cover}
.statement{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden;color:#fff}.statement>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.statement-overlay{position:absolute;inset:0;background:linear-gradient(rgba(8,12,10,.42),rgba(8,12,10,.62))}
.statement-copy{position:relative;z-index:2;max-width:960px;padding:40px;text-align:center}.statement-copy p{font-size:20px;margin:0 0 14px;color:rgba(255,255,255,.85)}.statement-copy h2{margin:0;font-size:clamp(42px,5.8vw,82px);line-height:1.02;letter-spacing:-.045em;font-weight:600}
.about{background:var(--sand)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}.about-photo{position:relative}.about-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.about-photo-label{position:absolute;left:18px;bottom:18px;background:rgba(251,250,247,.92);backdrop-filter:blur(10px);padding:10px 14px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.12em}
.about-copy>p{color:#555b53}.credentials{display:grid;grid-template-columns:repeat(2,1fr);margin-top:38px;border-top:1px solid var(--line)}.credentials div{padding:18px 0;border-bottom:1px solid var(--line)}.credentials div:nth-child(odd){padding-right:20px}.credentials strong,.credentials span{display:block}.credentials strong{font-size:15px}.credentials span{font-size:13px;color:#777167;margin-top:2px}
.booking-cta{background:#fff}.booking-cta .lead-small{max-width:650px;margin:22px auto 30px}
.site-footer{background:#1f231f;color:#f6f4ee;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr auto;gap:40px;align-items:start}.footer-brand,.footer-sub{display:block}.footer-brand{font-weight:700;letter-spacing:.08em}.footer-sub{font-size:12px;margin-top:5px;color:rgba(255,255,255,.58)}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,.72)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.5)}
.timify-modal{border:0;padding:0;width:min(1020px,94vw);height:min(860px,92vh);border-radius:18px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.35);background:#fff}.timify-modal::backdrop{background:rgba(10,12,10,.72);backdrop-filter:blur(4px)}
.timify-panel{height:100%;display:flex;flex-direction:column}.timify-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 18px 14px 22px;border-bottom:1px solid #e7e4dd}.timify-head strong,.timify-head span{display:block}.timify-head span{font-size:12px;color:#777;margin-top:2px}
.timify-close{width:40px;height:40px;border:0;background:#f1efe9;border-radius:50%;font-size:25px;line-height:1}.timify-frame-wrap{flex:1;min-height:0}.timify-frame-wrap iframe{border:0;width:100%;height:100%;display:block}
.timify-fallback{flex:0 0 auto;padding:10px 18px;text-align:center;font-size:12px;color:#666;border-top:1px solid #eee}.timify-fallback a{text-decoration:underline}
@media (max-width:900px){
  .site-header{padding:18px 20px}
  .nav-toggle{display:block;position:relative;z-index:80;color:inherit}
  .nav-toggle span{transition:transform .22s ease,opacity .22s ease;transform-origin:center}
  .nav-toggle.active span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .nav-toggle.active span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .site-nav{
    position:fixed;inset:0;width:100vw;height:100dvh;min-height:100vh;
    background:rgba(251,250,247,.985);color:var(--ink);
    padding:104px 28px 40px;display:flex;flex-direction:column;align-items:stretch;
    justify-content:flex-start;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateY(-105%);opacity:0;visibility:hidden;
    transition:transform .28s ease,opacity .22s ease,visibility .28s;
    z-index:70;box-shadow:none
  }
  .site-nav.open{transform:translateY(0);opacity:1;visibility:visible}
  .site-nav a,.site-nav .nav-booking{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    min-height:58px;padding:14px 0;border:0;border-bottom:1px solid var(--line);
    border-radius:0;background:transparent;color:var(--ink);font-size:20px;
    font-weight:550;text-align:left;opacity:1
  }
  .site-nav .nav-booking{
    margin-top:18px;justify-content:center;min-height:52px;border:1px solid var(--ink);
    border-radius:999px;padding:12px 18px;font-size:16px;font-weight:650
  }
  body.menu-open{overflow:hidden;touch-action:none}
  .pillar-grid{grid-template-columns:1fr}
  .pillar{border-right:0;border-bottom:1px solid var(--line);min-height:0}
  .pillar:last-child{border-bottom:0}
  .travel-grid,.about-grid{grid-template-columns:1fr;gap:42px}
  .travel-collage{max-width:680px}
  .about-photo{max-width:680px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
}
@media (max-width:640px){
  .wrap{width:min(100% - 32px,var(--wrap))}.section{padding:78px 0}.hero{min-height:88svh;background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(10,13,10,.82) 0%,rgba(10,13,10,.56) 58%,rgba(10,13,10,.25) 100%),linear-gradient(0deg,rgba(8,10,8,.25),transparent 45%)}
  .hero-content{width:calc(100% - 32px);margin-left:16px;padding-top:100px}.hero h1{font-size:clamp(50px,17vw,78px)}.hero-copy{font-size:18px}.hero-actions{gap:9px}.btn{width:100%;text-align:center}.scroll-hint{display:none}
  .intro h2,.travel-copy h2,.about-copy h2,.booking-cta h2{font-size:42px}.lead{font-size:24px}.pillar{padding:28px 10px}.travel-collage{grid-template-columns:1fr 1fr;gap:10px}.photo-small{margin-bottom:-28px}.statement{min-height:62vh}.statement-copy{padding:24px}.credentials{grid-template-columns:1fr}.credentials div:nth-child(odd){padding-right:0}.footer-bottom{flex-direction:column;gap:5px}.timify-modal{width:96vw;height:94vh;border-radius:14px}
}
