:root{--ink:#20312a;--muted:#63736c;--paper:#f7faf7;--sage:#e8f0e9;--mist:#eef5f0;--line:#d6e0d8;--forest:#2f5848;--deep:#19382e;--gold:#b08a50;--white:#fff;--max:1240px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;background:transparent}.progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .08s linear}.site-header{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px clamp(22px,5vw,72px);color:#fff}.logo{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.13em}.logo-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-family:var(--serif);font-size:13px;letter-spacing:0}.nav{display:flex;gap:34px;font-size:13px;font-weight:700}.nav a,.nav-cta{opacity:.9;transition:opacity .2s,transform .2s}.nav a:hover,.nav-cta:hover{opacity:1;transform:translateY(-1px)}.nav-cta{border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:5px;font-size:13px}.menu-button,.mobile-nav{display:none}.hero{position:relative;min-height:820px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);align-items:center;gap:5vw;padding:140px clamp(22px,7vw,110px) 90px;background:linear-gradient(135deg,#244f42 0%,#4f7566 45%,#a7c0b1 100%);color:#fff}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(255,255,255,.14),transparent 26%),linear-gradient(160deg,rgba(13,45,35,.58),rgba(37,80,65,.2) 55%,rgba(255,255,255,.04));pointer-events:none}.hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-190px;height:330px;background:var(--paper);border-radius:50% 50% 0 0/30% 30% 0 0}.hero-copy,.hero-photo,.scroll-cue{position:relative;z-index:2}.hero-copy{max-width:620px}.kicker{margin:0 0 16px;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--forest)}.hero .kicker{color:rgba(255,255,255,.72)}h1,h2{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.045em;margin:0}h1{font-size:clamp(64px,8vw,116px)}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-text{max-width:530px;margin:28px 0 34px;font-size:18px;color:rgba(255,255,255,.82)}.hero-buttons{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;gap:24px;padding:14px 19px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(22,52,41,.18)}.button.primary{background:#fff;color:var(--deep)}.button.dark{background:var(--deep);color:#fff}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:5px}.hero-photo{justify-self:end;width:min(100%,560px)}.image-wrap{position:relative;height:620px;overflow:hidden;border-radius:180px 180px 14px 14px;box-shadow:0 35px 80px rgba(11,37,29,.25);border:8px solid rgba(255,255,255,.18)}.image-wrap img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.image-wrap:hover img{transform:scale(1.035)}.image-tag{position:absolute;bottom:18px;left:18px;right:18px;padding:15px 17px;background:rgba(24,50,42,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em}.image-tag span{color:rgba(255,255,255,.7)}.hero-stamp{position:absolute;left:-45px;bottom:50px;width:120px;height:120px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:10px;line-height:1.3;letter-spacing:.12em;background:rgba(31,71,57,.65);backdrop-filter:blur(8px);transform:rotate(-12deg)}.hero-stamp small{font-size:8px;color:#d9c39b}.scroll-cue{position:absolute;left:clamp(22px,7vw,110px);bottom:75px;font-size:10px;letter-spacing:.16em;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:10px}.scroll-cue span{display:block;width:34px;height:1px;background:rgba(255,255,255,.55)}.section{width:min(calc(100% - 44px),var(--max));margin-inline:auto}.intro{padding:125px 0 100px}.section-index{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:800;margin-bottom:50px}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw}.intro h2,.section-heading h2{font-size:clamp(48px,6vw,78px)}.intro-copy{max-width:510px;color:var(--muted);font-size:17px}.intro-copy p{margin:0 0 22px}.journey-index{padding:50px 0 130px}.section-heading{display:grid;grid-template-columns:1fr .55fr;gap:8vw;align-items:end;margin-bottom:55px}.section-heading>p{color:var(--muted);font-size:15px;max-width:420px;margin:0}.index-list{border-top:1px solid var(--line)}.index-row{display:grid;grid-template-columns:70px 1fr 280px 35px;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.index-row:hover{padding-left:14px;padding-right:14px;background:#eef4ef}.index-row span{font-size:11px;color:var(--gold);font-weight:800}.index-row strong{font-family:var(--serif);font-weight:500;font-size:28px}.index-row small{color:var(--muted);font-size:12px}.index-row i{font-size:21px;font-style:normal;text-align:right}.destination-section{padding:110px 0 120px;background:#edf4ee;border-top:1px solid var(--line)}.destination-section.alt{background:#f8faf8}.destination-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:58px}.chapter{font-size:10px;color:var(--gold);font-weight:800;letter-spacing:.18em}.destination-header h2{font-size:clamp(58px,7vw,96px);margin-top:14px}.destination-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:360px}.destination-meta span{font-size:9px;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.55)}.destination-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);gap:8vw;align-items:center}.destination-feature.reverse{grid-template-columns:minmax(300px,.72fr) minmax(0,1.1fr)}.destination-feature.reverse .feature-image{order:2}.destination-feature.reverse .destination-story{order:1}.feature-image{height:auto;margin:0;overflow:hidden;border-radius:10px;box-shadow:0 22px 55px rgba(35,65,52,.13);background:#dfeae1}.feature-image img{height:650px;transition:transform .9s}.gallery-photo{height:300px;margin:0;overflow:hidden;border-radius:8px;background:#dfeae1}.gallery-photo img{height:100%;transition:transform .7s}.gallery-photo:hover img{transform:scale(1.025)}.feature-image:hover img{transform:scale(1.025)}.feature-image figcaption{font-size:11px;color:var(--muted);padding-top:10px}.destination-story{max-width:520px}.destination-story .kicker{margin-bottom:20px}.lead{font-family:var(--serif);font-size:28px;line-height:1.28;color:var(--ink);margin:0 0 25px}.destination-story>p:not(.kicker):not(.lead){color:var(--muted);font-size:15px;margin:0 0 19px}.story-facts{display:flex;gap:32px;border-top:1px solid var(--line);margin-top:32px;padding-top:20px;color:var(--muted);font-size:12px}.story-facts span{display:grid;gap:3px}.story-facts b{font-size:9px;letter-spacing:.13em;color:var(--gold)}.gallery{margin-top:65px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-bottom:20px}.gallery-heading span{font-size:10px;font-weight:800;letter-spacing:.17em;color:var(--forest)}.gallery-heading small{font-size:11px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:15px}.empty-photo,.empty-feature{position:relative;overflow:hidden;background:linear-gradient(145deg,#d9e7dc,#eef4ef 48%,#c8d8cc);border:1px solid #d2dfd5}.empty-photo:before,.empty-feature:before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 45%,rgba(71,111,91,.15) 45.2%,rgba(71,111,91,.15) 53%,transparent 53.2%),linear-gradient(25deg,transparent 56%,rgba(255,255,255,.55) 56.2%,rgba(255,255,255,.55) 62%,transparent 62.2%)}.empty-photo:after,.empty-feature:after{content:"";position:absolute;width:58px;height:58px;border:1px solid rgba(45,79,64,.18);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.gallery .empty-photo{height:300px;border-radius:8px}.gallery .portrait{height:380px;margin-top:35px}.empty-feature{height:650px;border-radius:10px}.future{padding:120px 0}.future-card{background:linear-gradient(135deg,#dfece2,#f5f8f5);border:1px solid var(--line);padding:70px clamp(25px,6vw,80px);display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:50px;border-radius:16px}.future-mark{font-family:var(--serif);font-size:42px;color:var(--gold)}.future-card h2{font-size:clamp(50px,5vw,70px);margin-bottom:20px}.future-card p:not(.kicker){max-width:590px;color:var(--muted);margin:0}.about{padding:90px 0 130px;display:grid;grid-template-columns:260px 1fr .7fr;gap:6vw;align-items:center}.about-photo{height:330px;border-radius:140px 140px 10px 10px;background:linear-gradient(160deg,#c6d9ca,#7e9d8a);display:grid;place-items:center;box-shadow:0 20px 50px rgba(40,73,56,.12)}.about-initials{font-family:var(--serif);font-size:54px;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.5);border-radius:50%;width:120px;height:120px;display:grid;place-items:center}.about-copy h2{font-size:clamp(52px,6vw,76px);margin-bottom:24px}.about-copy p:not(.kicker){color:var(--muted);font-size:16px;max-width:510px}.about-facts{border-left:1px solid var(--line);padding-left:35px}.about-facts div{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--line)}.about-facts b{font-size:9px;letter-spacing:.15em;color:var(--gold)}.about-facts span{font-size:14px}.contact{padding:20px 0 120px}.contact-card{background:var(--deep);color:#fff;padding:90px clamp(25px,8vw,110px);border-radius:16px;position:relative;overflow:hidden}.contact-card:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-130px;bottom:-180px}.contact-card .kicker{color:#b9d0c1}.contact-card h2{font-size:clamp(60px,7vw,100px);margin-bottom:26px}.contact-card>p:not(.kicker){color:rgba(255,255,255,.7);max-width:530px}.email{display:inline-block;margin-top:22px;font-family:var(--serif);font-size:clamp(22px,3vw,34px);border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:8px}.socials{display:flex;gap:25px;margin-top:42px}.socials a{font-size:12px;color:rgba(255,255,255,.72)}.footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(22px,5vw,72px);font-size:10px;letter-spacing:.1em;color:var(--muted);border-top:1px solid var(--line)}.footer a{color:var(--forest)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}@media(max-width:900px){.nav,.nav-cta{display:none}.menu-button{display:block;border:0;background:rgba(255,255,255,.12);color:#fff;width:42px;height:42px;border-radius:50%;font-size:18px}.mobile-nav{display:none;position:absolute;z-index:30;top:75px;right:22px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 15px 40px rgba(20,50,35,.16)}.mobile-nav.open{display:grid}.mobile-nav a{padding:10px 16px;font-size:13px;font-weight:700}.hero{grid-template-columns:1fr;min-height:900px;padding-top:120px}.hero-copy{max-width:680px}.hero-photo{width:min(78%,520px);justify-self:center;margin-top:20px}.image-wrap{height:430px}.hero-stamp{left:-25px;bottom:25px;width:95px;height:95px;font-size:8px}.intro-grid,.section-heading{grid-template-columns:1fr;gap:25px}.destination-header{align-items:start;gap:25px;flex-direction:column}.destination-meta{justify-content:flex-start}.destination-feature,.destination-feature.reverse{grid-template-columns:1fr;gap:45px}.destination-feature.reverse .feature-image,.destination-feature.reverse .destination-story{order:initial}.feature-image img,.empty-feature{height:520px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .landscape:last-child{grid-column:1/-1}.future-card{grid-template-columns:1fr;gap:20px}.about{grid-template-columns:200px 1fr}.about-facts{grid-column:2}.about-photo{height:260px}.index-row{grid-template-columns:50px 1fr 30px}.index-row small{display:none}}
@media(max-width:620px){body{font-size:15px}.site-header{padding:20px 18px}.logo-text{display:none}.hero{min-height:820px;padding:105px 20px 75px}.hero:after{bottom:-220px}.hero h1{font-size:clamp(55px,16vw,78px)}.hero-text{font-size:16px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:18px}.hero-photo{width:92%}.image-wrap{height:390px;border-radius:120px 120px 12px 12px}.scroll-cue{left:20px;bottom:42px}.section{width:min(calc(100% - 36px),var(--max))}.intro{padding:90px 0 75px}.intro h2,.section-heading h2{font-size:47px}.journey-index{padding:30px 0 90px}.index-row{grid-template-columns:38px 1fr 25px;padding:20px 0}.index-row strong{font-size:22px}.destination-section{padding:80px 0 90px}.destination-header h2{font-size:58px}.destination-feature{gap:35px}.feature-image img,.empty-feature{height:420px}.lead{font-size:24px}.gallery{margin-top:45px}.gallery-grid{grid-template-columns:1fr}.gallery .portrait{height:300px;margin-top:0}.gallery .empty-photo{height:270px}.gallery-grid .landscape:last-child{grid-column:auto}.future{padding:80px 0}.future-card{padding:50px 28px}.future-card h2{font-size:50px}.about{padding:70px 0 90px;grid-template-columns:1fr;gap:35px}.about-photo{width:190px;height:250px}.about-facts{grid-column:auto;border-left:0;border-top:1px solid var(--line);padding:10px 0 0}.contact{padding-bottom:80px}.contact-card{padding:60px 25px}.contact-card h2{font-size:60px}.email{font-size:20px;word-break:break-word}.footer{flex-direction:column;gap:10px}.hero-stamp{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.image-wrap img,.feature-image img{transition:none}}

/* Gallery additions */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .65s ease,opacity .35s ease,transform .45s ease}.gallery-grid.open{max-height:5000px;opacity:1;transform:none}.gallery-photo{height:260px;margin:0;overflow:hidden;border-radius:8px;background:#dfeae1;cursor:pointer}.gallery-photo img{height:100%;transition:transform .45s,opacity .25s;opacity:0}.gallery-photo img.loaded{opacity:1}.gallery-photo:hover img{transform:scale(1.025)}.gallery-toggle{display:flex;align-items:center;gap:10px;margin:24px auto 0;border:1px solid var(--deep);border-radius:999px;padding:11px 18px;background:transparent;color:var(--deep);font-size:11px;font-weight:800;letter-spacing:.06em}.gallery-toggle:hover{background:var(--deep);color:#fff}.gallery-toggle span{opacity:.55}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(7,12,10,.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}.lightbox.active{opacity:1;visibility:visible;pointer-events:auto}.lightbox figure{width:min(92vw,1400px);height:90vh;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{width:auto;height:auto;max-width:90vw;max-height:82vh;object-fit:contain}.lightbox figcaption{width:100%;display:flex;justify-content:space-between;color:rgba(255,255,255,.8);font-size:11px;margin-top:10px}.lightbox-close,.lightbox-nav{position:absolute;border:0;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:28px;display:grid;place-items:center}.lightbox-close{right:20px;top:20px}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.2)}
@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:7px}.gallery-photo{height:180px}.lightbox{padding:10px}.lightbox figure{height:85vh}.lightbox figure img{max-width:96vw;max-height:75vh}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-close{right:10px;top:10px}}
/* Floating View Less button — only active when gallery is open *//* Scroll to top button */
.scroll-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 900;

  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border: 1px solid var(--line);
  border-radius: 50%;

  background: var(--paper);
  color: var(--deep);

  font-size: 20px;
  font-weight: 500;

  cursor: pointer;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(12px);

  transition:
    opacity .25s ease,
    visibility .25s ease,
    transform .25s ease,
    background .2s ease,
    color .2s ease;

  box-shadow: 0 8px 25px rgba(25, 56, 46, 0.16);
}

.scroll-top.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.scroll-top:hover {
  background: var(--deep);
  color: #fff;
  transform: translateY(-3px);
}

@media (max-width: 600px) {
  .scroll-top {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}
.gallery-toggle.gallery-floating {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 1000;
  margin: 0;
  box-shadow: 0 8px 25px rgba(25, 56, 46, 0.22);
}

@media (max-width: 600px) {
  .gallery-toggle.gallery-floating {
    bottom: 16px;
  }
}
.logo-mark {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.logo-mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Profile photo in header */
.logo-mark {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    padding: 0;
}

.logo-mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
}
.contact-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: inherit;
}
/* =========================================================
   LIGHT GALLERY LOADING ANIMATION
   ========================================================= */

.gallery-toggle.gallery-loading {
  pointer-events: none;
  opacity: 0.75;
}

.gallery-toggle.gallery-loading .loading-dots {
  display: inline-flex;
  gap: 3px;
  margin-left: 4px;
}

.gallery-toggle.gallery-loading .loading-dots span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  animation: galleryLoadingDot 1.2s infinite ease-in-out;
}

.gallery-toggle.gallery-loading .loading-dots span:nth-child(2) {
  animation-delay: 0.15s;
}

.gallery-toggle.gallery-loading .loading-dots span:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes galleryLoadingDot {
  0%,
  60%,
  100% {
    opacity: 0.25;
    transform: translateY(0);
  }

  30% {
    opacity: 1;
    transform: translateY(-2px);
  }
}
