:root {
  --ink:#1f2520; --muted:#657066; --paper:#f7f3ea; --white:#fffdf8;
  --olive:#687159; --olive-dark:#364237; --warm:#c46f3d; --line:#ded8ca;
  --shadow:0 24px 70px rgba(31,37,32,.13); --radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--white);color:var(--ink);line-height:1.6} img{display:block;width:100%} a{color:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:0 auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1160px)/2));background:rgba(24,30,25,.82);color:white;backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:1.35rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--warm);color:white;font:700 .85rem/1 system-ui;letter-spacing:.08em}.mainnav{margin-left:auto;display:flex;align-items:center;gap:26px}.mainnav a{text-decoration:none;font-size:.96rem;color:rgba(255,255,255,.9)}.mainnav a:hover{color:white}.nav-contact{padding:10px 16px;border:1px solid rgba(255,255,255,.45);border-radius:999px}.menu-toggle{display:none;margin-left:auto;border:0;color:white;background:none;font-size:1.6rem;cursor:pointer}
.hero{position:relative;min-height:92vh;display:grid;align-items:end;overflow:hidden;background:#2f3a31;color:white}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);filter:saturate(.92)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,27,21,.82) 0%,rgba(19,27,21,.55) 47%,rgba(19,27,21,.18) 100%),linear-gradient(0deg,rgba(19,27,21,.55),transparent 58%)}.hero-content{position:relative;z-index:2;padding-bottom:11vh;max-width:1160px}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:#f4d7bd}.eyebrow.warm{color:var(--warm)}.eyebrow.light{color:#e7d9c2}.hero h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.025em}.hero h1{margin:0 0 18px;font-size:clamp(3.8rem,9vw,8rem);line-height:.88}.hero-copy{max-width:720px;margin:0;font-size:clamp(1.08rem,2vw,1.35rem);color:rgba(255,255,255,.92)}.hero-actions{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:750;text-decoration:none;transition:.2s ease}.button.primary{background:var(--warm);color:white;box-shadow:0 10px 30px rgba(0,0,0,.18)}.button.primary:hover{transform:translateY(-2px);filter:brightness(1.05)}.button.ghost{color:white;border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.06)}.button.ghost:hover{background:rgba(255,255,255,.14)}.scroll-hint{position:absolute;z-index:2;left:50%;bottom:26px;color:white;text-decoration:none;font-size:1.5rem;opacity:.8;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(6px)}}
.section{padding:100px 0}.section-tight{padding:30px 0 100px}h2{margin:0;font-size:clamp(2.25rem,5vw,4.7rem);line-height:1.02}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.intro-text{font-size:1.08rem;color:var(--muted)}.intro-text p:first-child{margin-top:6px}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fact{padding:30px 22px;text-align:center;border-right:1px solid var(--line)}.fact:last-child{border-right:0}.fact strong{display:block;font-family:Georgia,serif;font-size:2.2rem;color:var(--olive-dark);line-height:1}.fact span{display:block;margin-top:7px;color:var(--muted);font-size:.9rem}
.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.photo{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.photo.tall img{height:680px;object-fit:cover}.feature-copy p{color:var(--muted);font-size:1.07rem}.mini-photo{width:78%;margin-top:28px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.mini-photo img{aspect-ratio:1.7/1;object-fit:cover}.soft{background:var(--paper)}.amenities{margin-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.amenity{display:flex;gap:18px;padding:24px;background:rgba(255,255,255,.62);border:1px solid rgba(107,103,88,.14);border-radius:18px}.amenity>span{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#ece4d8;color:var(--warm);font-weight:800;font-size:1.05rem}.amenity strong{display:block;margin-bottom:4px}.amenity p{margin:0;color:var(--muted);font-size:.93rem}
.gallery-section{background:#fff}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end}.section-heading>p{max-width:430px;color:var(--muted);margin:0 0 6px}.gallery-intro{margin-bottom:30px}.gallery-jumps{position:sticky;z-index:10;top:88px;display:flex;gap:8px;overflow:auto;padding:10px 0 16px;background:rgba(255,253,248,.94);backdrop-filter:blur(10px)}.gallery-jumps a{white-space:nowrap;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.88rem;font-weight:700;background:white}.gallery-jumps a:hover{border-color:var(--warm);color:var(--warm)}.album{padding-top:86px;scroll-margin-top:95px}.album-heading{display:grid;grid-template-columns:60px 1fr;gap:18px;align-items:start;margin-bottom:28px;border-top:1px solid var(--line);padding-top:24px}.album-heading>p{margin:5px 0 0;color:var(--warm);font-weight:800;letter-spacing:.12em}.album-heading h3{font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:0 0 8px}.album-heading span{color:var(--muted)}
.photo-wall{columns:3 260px;column-gap:14px}.photo-wall figure{break-inside:avoid;margin:0 0 14px;overflow:hidden;border-radius:16px;background:#eee}.photo-button{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in}.photo-wall img{width:100%;height:auto;transition:transform .35s ease,filter .35s ease}.photo-wall figure:hover img{transform:scale(1.018);filter:brightness(.97)}.terrace-label{display:inline-flex;margin:6px 0 18px;padding:8px 13px;border-radius:999px;background:var(--olive-dark);color:white;font-size:.86rem;font-weight:800}.terrace-label.lower{margin-top:34px;background:var(--warm)}
.location{background:var(--olive-dark);color:white}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.location p{color:rgba(255,255,255,.78);font-size:1.06rem}.harbor-card{margin:30px 0 0;overflow:hidden;border-radius:18px;background:white;color:var(--ink)}.harbor-card img{aspect-ratio:1.7/1;object-fit:cover}.harbor-card figcaption{padding:9px 14px;font-size:.85rem;font-weight:700}.distances{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16)}.distances div{padding:23px 12px 23px 0;border-bottom:1px solid rgba(255,255,255,.16)}.distances strong{display:block;color:#f4cfab;font-family:Georgia,serif;font-size:1.8rem}.distances span{color:rgba(255,255,255,.84)}
.contact{background:var(--white)}.contact-card{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center;padding:54px 58px;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);background:#fff}.contact-card p{max-width:650px;color:var(--muted)}.contact-action{text-align:center}.button.dark{background:var(--olive-dark)}.contact-action small{display:block;margin-top:10px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:.9rem}.footer-inner{display:flex;justify-content:space-between;gap:20px}
.lightbox{width:min(94vw,1180px);height:min(92vh,900px);padding:0;border:0;border-radius:18px;background:#111;box-shadow:0 30px 100px rgba(0,0,0,.5);overflow:hidden}.lightbox::backdrop{background:rgba(10,12,10,.86);backdrop-filter:blur(5px)}.lightbox img{width:100%;height:calc(100% - 46px);object-fit:contain;background:#111}.lightbox p{height:46px;margin:0;display:flex;align-items:center;justify-content:center;color:#eee;font-size:.9rem}.lightbox-close{position:absolute;z-index:2;right:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:white;font-size:1.8rem;cursor:pointer}
@media(max-width:900px){.site-header{height:68px}.menu-toggle{display:block}.mainnav{display:none;position:absolute;top:68px;left:14px;right:14px;padding:18px;flex-direction:column;align-items:stretch;gap:6px;background:rgba(32,40,33,.98);border-radius:16px;box-shadow:var(--shadow)}.mainnav.open{display:flex}.mainnav a{padding:12px 10px}.nav-contact{border:0;border-radius:8px;background:rgba(255,255,255,.08)}.hero{min-height:86vh}.hero-shade{background:linear-gradient(0deg,rgba(19,27,21,.84),rgba(19,27,21,.26))}.hero-content{padding-bottom:90px}.section{padding:72px 0}.section-tight{padding:0 0 72px}.split,.feature-grid,.location-grid{grid-template-columns:1fr;gap:38px}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.photo.tall img{height:520px}.feature-copy{order:-1}.mini-photo{width:100%}.amenities{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:18px}.gallery-jumps{top:70px}.album{padding-top:66px}.photo-wall{columns:2 220px}.contact-card{grid-template-columns:1fr;gap:28px;padding:38px 28px}.contact-action{text-align:left}.footer-inner{display:block}.footer-inner div+div{margin-top:6px}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}.brand{font-size:1.18rem}.brand-mark{width:34px;height:34px}.hero h1{font-size:3.75rem}.hero-copy{font-size:1.03rem}.hero-actions{display:grid}.button{width:100%}.facts{margin-top:45px}.fact{padding:24px 8px}.fact strong{font-size:1.75rem}.photo.tall img{height:420px}.album-heading{grid-template-columns:42px 1fr;gap:8px}.album-heading h3{font-size:2.15rem}.photo-wall{columns:1}.distances{grid-template-columns:1fr}.contact-card{border-radius:20px}.lightbox{width:96vw;height:86vh;border-radius:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
