:root{--ink:#163b3c;--deep:#102e30;--cream:#f6f1e7;--sand:#e8dcc9;--orange:#cb7045;--gold:#e5b36c;--white:#fffdf8;--muted:#71827d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--ink);font-family:Arial,"Segoe UI",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}body:has(dialog[open]){overflow:hidden}
.layout{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,475px);gap:clamp(30px,5vw,95px);align-items:center;max-width:1450px;padding:30px clamp(30px,6vw,90px);margin:auto;position:relative}.layout:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 30% 22%,#2d5753 0,transparent 48%),linear-gradient(135deg,#113335,#10282a)}.editorial,.app{position:relative;z-index:1}.editorial{color:var(--white);padding:20px 0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:800;color:#e6bc7f;text-transform:uppercase;margin:0 0 46px}.sun-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold);margin-right:8px;box-shadow:0 0 0 5px #e5b36c24}.editorial h1{font:400 clamp(70px,7.2vw,125px)/.86 Georgia,serif;letter-spacing:-.08em;margin:0 0 38px}.editorial h1 em{color:var(--gold);font-weight:400}.editorial-lead{font-size:clamp(17px,1.5vw,22px);line-height:1.52;max-width:580px;color:#deebe4;margin:0}.editorial-rule{height:1px;background:#ffffff45;max-width:500px;margin:54px 0 25px}.editorial-hint{font-size:13px;line-height:2.1;color:#bdd1ca}.editorial-hint span{display:inline-block;min-width:46px;color:var(--gold);font-size:20px;font-family:Georgia,serif}.editorial-mark{font-size:10px;letter-spacing:.27em;color:#94aea5;margin-top:auto;padding-top:50px}
.app{height:min(900px,calc(100dvh - 60px));min-height:620px;background:var(--cream);border-radius:28px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 34px 100px #0007;border:1px solid #ffffff38}.app-header{height:82px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 23px 8px}.wordmark{display:flex;align-items:center;gap:10px;font:700 25px/.85 Georgia,serif;letter-spacing:-.05em}.wordmark-icon{display:grid;place-items:center;background:var(--ink);color:var(--gold);width:37px;height:37px;border-radius:11px;font:25px Arial,sans-serif}.wordmark-dot{color:var(--orange)}.wordmark small{display:block;font:800 9px Arial,sans-serif;letter-spacing:.21em;color:var(--orange);margin-top:5px}.icon-button{border:1px solid #d8d2c4;background:transparent;color:var(--ink);border-radius:50%;width:41px;height:41px;display:grid;place-items:center}.icon-button svg,.share-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.filters{display:flex;gap:8px;overflow-x:auto;flex:none;padding:7px 18px 13px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{border:1px solid #d9d0bf;background:#faf7f0;color:#65726d;border-radius:100px;white-space:nowrap;padding:10px 15px;font-size:12px;font-weight:700;transition:background .2s,color .2s}.filter.active{background:var(--ink);border-color:var(--ink);color:var(--white)}.filter span{color:var(--gold);margin-left:3px}
.stage{position:relative;flex:1;min-height:0;padding:0 17px 11px;perspective:800px}.next-shadow{position:absolute;inset:10px 29px 0;border-radius:28px;background:#d3baa0;transform:translateY(6px) rotate(2deg);box-shadow:0 8px 18px #19322c29}.tour-card{position:relative;display:block;width:100%;height:100%;border:0;padding:0;border-radius:24px;overflow:hidden;text-align:left;background:#26494a;color:#fff;box-shadow:0 17px 30px #19322c35;touch-action:pan-y;user-select:none;transform:translateX(var(--drag-x,0px)) rotate(var(--drag-rotate,0deg));transition:transform .26s cubic-bezier(.22,.8,.32,1),opacity .26s;will-change:transform}.tour-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,#061d2480 0%,transparent 35%,#0b23281a 48%,#061d24e8 100%)}.tour-card.is-out-left{transform:translateX(-120%) rotate(-9deg);opacity:0}.tour-card.is-out-right{transform:translateX(120%) rotate(9deg);opacity:0}.tour-card.is-in-left{animation:inLeft .32s ease both}.tour-card.is-in-right{animation:inRight .32s ease both}@keyframes inLeft{from{transform:translateX(26%) rotate(3deg);opacity:.55}to{transform:none;opacity:1}}@keyframes inRight{from{transform:translateX(-26%) rotate(-3deg);opacity:.55}to{transform:none;opacity:1}}.tour-card.is-opening{transform:scale(1.055);opacity:.65}.card-top{position:absolute;top:20px;left:19px;right:19px;display:flex;justify-content:space-between;align-items:start;gap:10px}.card-chip,.card-number{background:#f8f1eadd;color:var(--ink);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.08em;border-radius:100px;padding:10px 12px}.card-chip{max-width:68%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.card-number{font-size:12px;color:#334b47;white-space:nowrap}.card-bottom{position:absolute;left:24px;right:24px;bottom:23px}.card-caption{color:#f2c88a;font-size:10px;font-weight:800;letter-spacing:.2em}.card-bottom h2{font:400 clamp(36px,9.3vw,57px)/.98 Georgia,serif;letter-spacing:-.06em;margin:12px 0 8px;text-wrap:balance}.card-bottom p{font:400 18px/1.28 Georgia,serif;color:#f7e5c9;margin:0 0 24px}.card-metrics{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:750;color:#fff;border-top:1px solid #ffffff7a;padding-top:14px}.card-metrics i{width:4px;height:4px;border-radius:50%;background:var(--gold)}.card-open{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;letter-spacing:.03em;margin-top:22px;color:#ffe9c9}.card-open span{font-size:24px;font-family:Georgia,serif}
.app-footer{flex:none;height:99px;padding:15px 24px 16px}.progress-line{height:2px;background:#ddd4c5;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--orange);width:5%;transition:width .25s}.footer-row{display:flex;justify-content:space-between;align-items:center;padding-top:13px}.footer-row strong{display:block;font:400 19px Georgia,serif}.footer-row small{display:block;font-size:9px;font-weight:800;letter-spacing:.15em;color:#8a938c;margin-top:5px}.arrows{display:flex;gap:6px}.arrows button{width:43px;height:43px;border-radius:50%;border:1px solid #cfc9bb;background:transparent;color:var(--ink);font:23px Georgia,serif}.arrows button:hover,.arrows button:active{background:var(--ink);color:white}.arrows button:disabled{opacity:.28;cursor:default}
dialog{padding:0;border:0}dialog::backdrop{background:#081a1dba;backdrop-filter:blur(7px)}.detail{width:min(100%,570px);max-width:none;max-height:none;height:min(920px,calc(100dvh - 44px));margin:auto;border-radius:27px;background:var(--cream);color:var(--ink);box-shadow:0 30px 90px #0008;overflow:hidden;opacity:0;transform:scale(.94) translateY(18px);transition:opacity .28s,transform .28s}.detail[open].visible{opacity:1;transform:scale(1) translateY(0)}.detail-frame{height:100%;display:flex;flex-direction:column}.detail-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin}.detail-hero{height:260px;position:relative;background:var(--ink)}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#08202388,transparent 40%,#0820238c)}.detail-close{position:absolute;top:16px;right:17px;width:39px;height:39px;border:0;border-radius:50%;background:#fffdf8e8;color:var(--ink);font-size:28px;line-height:1}.detail-photo-caption{position:absolute;left:26px;bottom:20px;color:white;font:19px Georgia,serif;text-shadow:0 1px 5px #000}.detail-content{padding:25px 28px 45px}.detail-eyebrow,.list-eyebrow{font-size:10px;font-weight:850;letter-spacing:.19em;color:var(--orange);margin:0 0 11px}.detail-content h2{font:400 clamp(40px,8vw,62px)/.96 Georgia,serif;letter-spacing:-.065em;margin:0 0 12px}.detail-subtitle{font:400 21px/1.24 Georgia,serif;color:#b75f3d;margin:0 0 15px}.detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.detail-tags span{border:1px solid #cfbda6;border-radius:100px;padding:6px 10px;font-size:11px;font-weight:700;color:#5c6d64}.detail-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d7c8b3;border-bottom:1px solid #d7c8b3;padding:16px 0;margin-bottom:23px}.detail-facts div+div{border-left:1px solid #d7c8b3;padding-left:16px}.detail-facts small{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#87908a;margin-bottom:7px}.detail-facts strong{font:400 26px Georgia,serif;letter-spacing:-.03em}.detail-lead{font-size:16px;line-height:1.58;margin:0 0 29px;color:#304c47}.route{border-top:1px solid #d7c8b3;padding-top:22px}.route h3,.detail-note h3{font:400 27px Georgia,serif;margin:0 0 16px}.route ol{list-style:none;counter-reset:place;padding:0;margin:0 0 28px}.route li{counter-increment:place;display:grid;grid-template-columns:31px 1fr;gap:12px;padding:0 0 17px;position:relative}.route li:before{content:counter(place,decimal-leading-zero);font:italic 16px Georgia,serif;color:var(--orange);padding-top:1px}.route li:not(:last-child):after{content:"";position:absolute;left:15px;top:26px;bottom:0;width:1px;background:#d7c8b3}.route li strong{display:block;font-size:14px;margin-bottom:3px}.route li p{font-size:13px;line-height:1.48;color:#697b72;margin:0}.detail-note{padding:21px 0;border-top:1px solid #d7c8b3}.detail-note p,.detail-caveat{font-size:14px;line-height:1.52;color:#425a52;margin:0 0 9px}.detail-note .rating{font-weight:800;color:#b75f3d}.detail-caveat{padding:17px 18px;background:#eee4d4;border-radius:13px;margin:4px 0 25px}.detail-caveat:empty{display:none}.photo-credit{font-size:11px;color:#8b948e}.photo-credit a{color:inherit;text-underline-offset:2px}.detail-actions{display:flex;gap:10px;padding:13px 20px max(13px,env(safe-area-inset-bottom));background:var(--cream);box-shadow:0 -7px 28px #263c3122}.share-button{width:50px;flex:none;border-radius:12px;border:1px solid #b7c5bc;color:var(--ink);background:transparent;display:grid;place-items:center}.book-button{flex:1;background:var(--ink);color:white;text-decoration:none;border-radius:12px;min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;font-size:14px;font-weight:800}.book-button span{font-size:20px}
.list-dialog{width:min(100%,570px);height:min(870px,calc(100dvh - 40px));max-width:none;max-height:none;margin:auto;border-radius:24px;background:var(--cream);color:var(--ink);overflow:hidden}.list-head{display:flex;align-items:start;justify-content:space-between;padding:26px 24px 16px;border-bottom:1px solid #ded4c3}.list-head h2{font:400 42px/.98 Georgia,serif;letter-spacing:-.06em;margin:4px 0}.list-head button{width:39px;height:39px;border:1px solid #c9c7ba;background:transparent;border-radius:50%;font-size:26px}.list-scroll{height:calc(100% - 103px);overflow-y:auto;padding:10px 14px 25px}.list-item{width:100%;display:grid;grid-template-columns:61px 1fr auto;align-items:center;gap:13px;text-align:left;border:0;border-bottom:1px solid #ded4c3;background:none;padding:11px 8px}.list-item img{width:61px;height:64px;object-fit:cover;border-radius:8px}.list-item strong{font:400 17px/1.05 Georgia,serif;display:block;margin-bottom:5px}.list-item small{font-size:11px;color:#718079}.list-item b{font:400 18px Georgia,serif;color:var(--orange);white-space:nowrap}.toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--deep);color:white;border-radius:100px;padding:11px 18px;font-size:13px;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.noscript{color:white;text-align:center}
@media(max-width:850px){.layout{display:block;padding:0;min-height:100dvh}.layout:before,.editorial{display:none}.app{width:100%;height:100dvh;min-height:0;max-width:none;border:0;border-radius:0;box-shadow:none}.app-header{padding-top:max(14px,env(safe-area-inset-top));height:calc(73px + env(safe-area-inset-top))}.app-footer{height:calc(99px + env(safe-area-inset-bottom));padding-bottom:max(16px,env(safe-area-inset-bottom))}.detail{width:100%;height:100dvh;max-height:none;border-radius:0}.list-dialog{width:100%;height:100dvh;max-height:none;border-radius:0}}
@media(max-width:390px){.card-bottom h2{font-size:35px}.card-bottom p{font-size:16px}.card-bottom{left:20px;right:20px}.filter{padding:9px 12px}.detail-content{padding-left:22px;padding-right:22px}}
@media(max-height:700px){.app-header{height:65px}.filters{padding-bottom:9px}.app-footer{height:83px;padding-top:10px}.card-bottom h2{font-size:37px}.card-bottom p{margin-bottom:13px}.card-open{margin-top:12px}.card-top{top:15px}.detail-hero{height:210px}}

.card-open svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tour-card .card-photo{opacity:0}
.tour-card .card-photo.is-active{opacity:1}
.stage{padding-top:8px}
.tour-card.is-out-left,.tour-card.is-out-right{opacity:1}
@keyframes inLeft{from{transform:translateX(26%) rotate(3deg)}to{transform:none}}
@keyframes inRight{from{transform:translateX(-26%) rotate(-3deg)}to{transform:none}}
@media(max-width:850px){
  html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
  .layout{position:fixed;inset:0 auto auto 0;width:100%;height:var(--app-height,100dvh);min-height:0;overflow:hidden}
  .app{height:100%;min-height:0}
  .stage,.tour-card{touch-action:none}
  .filters{touch-action:pan-x;overscroll-behavior-x:contain}
  .detail-scroll,.list-scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
