:root{--forest:#25352b;--forest-soft:#344c3c;--cream:#f8f5ef;--paper:#eee9df;--moss:#556c4b;--line:#d8d8cd}
.excursion-page{background:var(--cream);color:var(--forest)}
.excursion-page .site-header{background:rgba(28,43,34,.94);box-shadow:0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(18px)}
.excursion-page .site-header a,.excursion-page .site-header summary{color:#fff}
.excursion-page .mobile-menu-panel a{color:var(--forest)}
.excursion-page .mobile-menu-panel .mobile-booking{color:#fff}
.excursion-hero{position:relative;display:flex;align-items:flex-end;min-height:760px;background:var(--forest);overflow:hidden;color:#fff}
.excursion-hero-media{position:absolute;inset:0;display:block}
.excursion-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.excursion-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,28,20,.28),rgba(16,28,20,.22) 35%,rgba(16,28,20,.88)),linear-gradient(90deg,rgba(16,28,20,.5),transparent 72%)}
.excursion-hero-copy{position:relative;z-index:1;padding-top:190px;padding-bottom:92px}
.excursion-hero h1{max-width:900px;margin:14px 0 28px;font:400 clamp(54px,7.3vw,104px)/.98 Georgia,serif;letter-spacing:-.045em;text-wrap:balance}
.excursion-hero h1 em{display:block;color:#d3dfc4;font-weight:400}
.excursion-hero p{max-width:690px;margin:0 0 30px;color:#edf0e9;font-size:18px;line-height:1.75}
.excursion-hero .text-link{display:inline-flex;gap:16px;color:#fff;text-underline-offset:6px}
.excursion-intro-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:70px}
.excursion-intro h2,.excursion-list h2,.excursion-cta h2{margin:0 0 30px;font:400 clamp(42px,5vw,70px)/1.05 Georgia,serif;letter-spacing:-.035em;text-wrap:balance}
.excursion-intro .lead{max-width:820px;font-size:20px;line-height:1.75;color:#536057}
.trip-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.trip-legend span{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid #cad0c4;border-radius:999px;color:#536057;font-size:13px}
.trip-legend i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--forest);color:#fff;font-style:normal;font-size:10px}
.excursion-list{background:#ebece4;border-top:1px solid #d9ddd2}
.excursion-heading{margin-bottom:50px}
.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #c8cec2;border-left:1px solid #c8cec2}
.destination-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:24px;min-height:360px;padding:38px;border-right:1px solid #c8cec2;border-bottom:1px solid #c8cec2;background:rgba(248,245,239,.45);scroll-margin-top:100px;transition:background .25s ease,transform .25s ease}
.destination-card:hover{background:#f8f5ef}
.destination-featured{background:#dde2d7}
.destination-number{font:400 14px/1.4 Georgia,serif;color:#64715f;padding-top:4px}
.destination-body{display:flex;flex-direction:column;min-width:0}
.destination-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-bottom:24px;color:#687267;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.destination-meta span+span:before{content:"·";margin-right:14px}
.destination-card h3{margin:0 0 18px;font:400 clamp(27px,3vw,38px)/1.12 Georgia,serif;letter-spacing:-.025em}
.destination-card p{margin:0 0 26px;color:#5a655d;font-size:16px;line-height:1.75}
.destination-card a,.therme-note a{display:inline-flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin-top:auto;color:var(--forest);font-size:14px;font-weight:650;text-decoration:underline;text-decoration-color:#9aa596;text-underline-offset:6px}
.destination-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px 22px;margin-top:auto}
.destination-links a{margin-top:0}
.destination-photo-grid{display:grid;gap:7px;height:184px;margin:2px 0 26px;overflow:hidden;border-radius:10px;background:#cdd3c8}
.destination-photo-grid figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#b9c1b4}
.destination-photo-grid figure{cursor:zoom-in}
.destination-photo-grid figure:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.destination-photo-grid figure:before{content:"+";position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(25,42,31,.58);color:#fff;font:400 20px/1 Georgia,serif;opacity:0;transform:scale(.86);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.destination-photo-grid figure:hover:before,.destination-photo-grid figure:focus-visible:before{opacity:1;transform:scale(1)}
.destination-photo-grid picture{position:absolute;inset:0;display:block}
.destination-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.destination-photo-grid figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(15,27,19,.68));pointer-events:none}
.destination-photo-grid figcaption{position:absolute;z-index:1;left:12px;right:10px;bottom:9px;color:#fff;font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.destination-card:hover .destination-photo-grid img{transform:scale(1.025)}
.photo-pair{grid-template-columns:minmax(0,1.6fr) minmax(110px,.6fr)}
.photo-trio{grid-template-columns:minmax(0,1.35fr) minmax(105px,.65fr);grid-template-rows:1fr 1fr}
.photo-trio .photo-primary{grid-row:1 / 3}
.excursion-lightbox{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
.excursion-lightbox::backdrop{background:rgba(10,18,13,.92);backdrop-filter:blur(12px)}
.excursion-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(10,18,13,.2)}
.excursion-lightbox-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;padding:14px max(18px,env(safe-area-inset-left));background:linear-gradient(rgba(10,18,13,.72),transparent)}
.excursion-lightbox-count{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#d8dfd4}
.excursion-lightbox-close,.excursion-lightbox-arrow{display:grid;place-items:center;border:1px solid rgba(255,255,255,.46);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease}
.excursion-lightbox-close{width:46px;height:46px;border-radius:50%;font-size:27px;font-weight:300;line-height:1}
.excursion-lightbox-close:hover,.excursion-lightbox-arrow:hover{background:rgba(255,255,255,.18)}
.excursion-lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;padding:8px clamp(64px,8vw,120px)}
.excursion-lightbox-image{display:block;max-width:100%;max-height:calc(100svh - 178px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 24px 80px rgba(0,0,0,.36)}
.excursion-lightbox-arrow{position:absolute;top:50%;width:48px;height:48px;border-radius:50%;font-size:28px;transform:translateY(-50%)}
.excursion-lightbox-arrow:hover{transform:translateY(-50%) scale(1.04)}
.excursion-lightbox-prev{left:max(14px,env(safe-area-inset-left))}.excursion-lightbox-next{right:max(14px,env(safe-area-inset-right))}
.excursion-lightbox-caption{min-height:78px;margin:0;padding:14px 20px max(18px,env(safe-area-inset-bottom));text-align:center;color:#eef1eb;font-size:14px;line-height:1.5}
.excursion-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.therme-note{padding:clamp(64px,8vw,110px) 0;background:var(--forest);color:#fff}
.therme-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:clamp(40px,8vw,110px);align-items:center}
.therme-year{font:italic 400 clamp(86px,15vw,190px)/.8 Georgia,serif;color:#81917a;letter-spacing:-.07em}
.therme-note h2{margin:15px 0 24px;font:400 clamp(40px,5vw,68px)/1.04 Georgia,serif;letter-spacing:-.035em}
.therme-note p{max-width:700px;margin:0 0 26px;color:#d8dfd4;font-size:17px;line-height:1.75}
.therme-note a{color:#fff;margin-top:0;text-decoration-color:#8fa08a}
.excursion-cta-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(40px,8vw,110px);align-items:end}
.excursion-cta-inner p{margin:0 0 28px;color:#5a655d;font-size:17px;line-height:1.75}
.excursion-cta .button{background:var(--forest);color:#fff}
@media(max-width:900px){.excursion-hero{min-height:680px}.excursion-intro-grid{grid-template-columns:1fr;gap:24px}.destination-grid{grid-template-columns:1fr}.therme-layout{grid-template-columns:1fr;gap:32px}.therme-year{font-size:clamp(76px,23vw,140px)}.excursion-cta-inner{grid-template-columns:1fr;align-items:start}}
@media(max-width:600px){.excursion-hero{min-height:620px}.excursion-hero-copy{padding-top:150px;padding-bottom:62px}.excursion-hero h1{font-size:clamp(46px,13vw,66px)}.excursion-hero p{font-size:16px}.destination-card{grid-template-columns:1fr;gap:10px;min-height:0;padding:28px 22px}.destination-number{font-size:12px}.destination-meta{margin-bottom:16px}.destination-meta span+span:before{display:none}.destination-card h3{font-size:30px}.destination-photo-grid{height:170px}.destination-photo-grid figure:before{opacity:1;transform:scale(1);width:28px;height:28px}.photo-pair{grid-template-columns:minmax(0,1.45fr) minmax(92px,.55fr)}.photo-trio{grid-template-columns:minmax(0,1.25fr) minmax(90px,.75fr)}.trip-legend{align-items:flex-start;flex-direction:column}.excursion-intro h2,.excursion-list h2,.excursion-cta h2{font-size:40px}.excursion-lightbox-stage{padding:8px 12px 70px}.excursion-lightbox-image{max-height:calc(100svh - 190px)}.excursion-lightbox-arrow{top:auto;bottom:8px}.excursion-lightbox-prev{left:calc(50% - 58px)}.excursion-lightbox-next{right:calc(50% - 58px)}}
@media(prefers-reduced-motion:reduce){.destination-card,.destination-photo-grid img{transition:none}}
