/* ===== 潮汕行程总览页 · Boutique Editorial Direction ===== */
.overview-page{
  --ov-paper:#f3efe6;
  --ov-paper-light:#fbf8f1;
  --ov-ink:#29261f;
  --ov-ink-soft:#6f695f;
  --ov-brick:#aa4935;
  --ov-brick-dark:#7f3428;
  --ov-jade:#5b7169;
  --ov-line:#d8d1c4;
  --ov-night:#202a2a;
  --ov-gutter:clamp(22px,5vw,88px);
  --ov-serif:Georgia,"Noto Serif SC","Source Han Serif SC","Songti SC","STSong",serif;
  --ov-sans:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --ov-ease:cubic-bezier(.22,1,.36,1);
  background:var(--ov-paper);
  color:var(--ov-ink);
  font-family:var(--ov-sans);
  line-height:1.8;
  overflow-x:clip;
}

.overview-page *::selection{background:rgba(196,90,63,.22)}
.overview-page main{overflow:clip}
.overview-page section{padding:0}
.overview-page img{background:#ddd6c9}
.overview-page a{color:inherit}
.overview-page [id]{scroll-margin-top:92px}

.overview-page .ov-skip{
  position:fixed;left:16px;top:10px;z-index:3000;
  transform:translateY(-160%);padding:9px 14px;
  background:var(--ov-ink);color:#fff;border-radius:3px;font-weight:700;
}
.overview-page .ov-skip:focus{transform:translateY(0)}

/* navigation */
.overview-page .topbar{
  position:fixed;inset:0 0 auto;z-index:1200;
  background:linear-gradient(90deg,rgba(243,239,230,.96) 0%,rgba(243,239,230,.9) 43%,rgba(243,239,230,.58) 70%,rgba(243,239,230,.12) 100%);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(0);
  transition:background .32s ease,border-color .32s ease,backdrop-filter .32s ease;
}
.overview-page .topbar.is-scrolled{
  background:rgba(243,239,230,.94);border-color:rgba(126,115,99,.22);
  backdrop-filter:blur(16px);
}
.overview-page .topbar .in{
  width:100%;max-width:1600px;margin:0 auto;padding:0 var(--ov-gutter);
  min-height:72px;display:flex;align-items:center;gap:clamp(26px,5vw,84px);
  overflow:visible;
}
.overview-page .topbar .brand{
  display:block;
  color:var(--ov-ink);font-family:var(--ov-serif);font-size:16px;font-weight:700;
  letter-spacing:.14em;padding:21px 0;flex:0 0 auto;
}
.overview-page .topbar .brand em{color:var(--ov-brick);margin:0 .12em}
.overview-page .ov-nav-links{display:flex;align-items:center;gap:clamp(8px,1.6vw,28px)}
.overview-page .topbar a.tab{
  position:relative;color:#504b43;font-family:var(--ov-serif);font-size:14px;font-weight:500;
  padding:24px 2px 21px;border:0;letter-spacing:.03em;
}
.overview-page .topbar a.tab::after{
  content:"";position:absolute;left:2px;right:100%;bottom:15px;height:2px;background:var(--ov-brick);
  transition:right .35s var(--ov-ease);
}
.overview-page .topbar a.tab:hover,.overview-page .topbar a.tab.on{color:var(--ov-brick-dark)}
.overview-page .topbar a.tab.on::after{right:45%}

/* shared editorial typography */
.overview-page .ov-eyebrow{
  color:var(--ov-brick);font-family:var(--ov-serif);font-size:11px;font-weight:600;
  letter-spacing:.34em;line-height:1.4;text-transform:uppercase;
}
.overview-page .ov-heading{
  margin:0;font-family:var(--ov-serif);font-size:clamp(40px,4.3vw,64px);
  font-weight:500;letter-spacing:.06em;line-height:1.23;
}
.overview-page .ov-section{
  width:calc(100% - (var(--ov-gutter) * 2));max-width:1320px;margin:0 auto;
  padding:clamp(112px,12vw,180px) 0;
}
.overview-page .ov-section-heading{
  min-height:46px;border-top:1px solid var(--ov-line);padding-top:17px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
}
.overview-page .ov-section-no{
  color:#8a8277;font-family:var(--ov-serif);font-size:13px;letter-spacing:.18em;line-height:1.4;
}

/* hero */
.overview-page .ov-hero{
  position:relative;display:grid;grid-template-columns:minmax(470px,43vw) 1fr;
  min-height:clamp(720px,100svh,920px);background:var(--ov-paper);
}
.overview-page .ov-hero-copy{
  position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;
  padding:136px 48px 104px max(var(--ov-gutter),calc((100vw - 1600px)/2 + 88px));
}
.overview-page .ov-hero-copy .ov-eyebrow{margin:0 0 26px 4px;letter-spacing:.54em}
.overview-page .ov-display{
  margin:0;font-family:var(--ov-serif);font-size:clamp(64px,6.6vw,108px);font-weight:500;
  letter-spacing:.04em;line-height:1.06;
}
.overview-page .ov-display>span{display:block;white-space:nowrap}
.overview-page .ov-title-dot{color:var(--ov-brick);font-size:.54em;vertical-align:.3em;margin-left:.18em}
.overview-page .ov-hero-date{
  margin:34px 0 7px;font-family:var(--ov-serif);font-size:clamp(19px,1.6vw,27px);
  letter-spacing:.07em;font-variant-numeric:tabular-nums;
}
.overview-page .ov-hero-date i{display:inline-block;width:42px;height:1px;background:var(--ov-brick);vertical-align:middle;margin:0 12px}
.overview-page .ov-hero-route{margin:0;font-family:var(--ov-serif);font-size:17px;letter-spacing:.09em;color:#4e4941}
.overview-page .ov-hero-route b{color:var(--ov-brick);font-weight:400;margin:0 7px}
.overview-page .ov-companions{margin:9px 0 0;color:var(--ov-ink-soft);font-size:13px;letter-spacing:.08em}
.overview-page .ov-hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}
.overview-page .ov-button{
  display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:12px 25px;
  background:var(--ov-brick);color:#fff;font-family:var(--ov-serif);font-size:15px;letter-spacing:.08em;
  border-radius:3px;transition:background .22s ease,transform .22s ease;
}
.overview-page .ov-button span,.overview-page .ov-arrow-link span{transition:transform .3s var(--ov-ease)}
.overview-page .ov-button:hover{background:var(--ov-brick-dark);transform:translateY(-2px)}
.overview-page .ov-button:hover span,.overview-page .ov-arrow-link:hover span{transform:translateX(5px)}
.overview-page .ov-text-link{font-size:13px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid #aaa195;padding:8px 0 6px}
.overview-page .ov-text-link span{color:var(--ov-brick);margin-left:6px}
.overview-page .ov-hero-vertical{
  position:absolute;z-index:6;left:25px;top:43%;color:#9b9286;font-family:var(--ov-serif);
  font-size:11px;letter-spacing:.34em;line-height:2.8;writing-mode:vertical-rl;
}
.overview-page .ov-hero-media{position:relative;min-width:0;overflow:visible;background:#cfc8bc}
.overview-page .ov-hero-main-picture{position:absolute;inset:0;overflow:hidden}
.overview-page .ov-hero-main-picture img{width:100%;height:100%;object-fit:cover;object-position:57% center;filter:saturate(.82) contrast(.96);transform:translate3d(0,var(--ov-hero-shift,0),0) scale(1.025);transform-origin:center}
.overview-page .ov-hero-main-picture::after{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,31,25,.03),transparent 30%,rgba(32,25,18,.08));pointer-events:none;
}
.overview-page .ov-hero-inset{
  position:absolute;z-index:5;left:-14%;bottom:0;width:min(58%,560px);height:37%;margin:0;
  overflow:hidden;border-radius:0 47% 0 0;box-shadow:0 0 0 10px var(--ov-paper),0 24px 60px rgba(42,35,25,.2);
}
.overview-page .ov-hero-inset picture,.overview-page .ov-hero-inset img{display:block;width:100%;height:100%}
.overview-page .ov-hero-inset img{object-fit:cover;object-position:center 57%;filter:saturate(.72) contrast(.95) brightness(1.03)}
.overview-page .ov-hero-count{
  position:absolute;z-index:6;right:clamp(24px,4vw,70px);top:96px;display:flex;align-items:center;gap:10px;
  color:#fff;font-family:var(--ov-serif);font-size:14px;letter-spacing:.16em;text-shadow:0 1px 10px rgba(0,0,0,.4);
}
.overview-page .ov-hero-count i{display:block;width:32px;height:1px;background:var(--ov-brick)}
.overview-page .ov-scroll-cue{
  position:absolute;z-index:6;right:clamp(24px,4vw,70px);bottom:42px;display:flex;align-items:center;gap:12px;
  color:#fff;font-size:9px;letter-spacing:.28em;text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.overview-page .ov-scroll-cue i{position:relative;width:50px;height:1px;background:rgba(255,255,255,.55);overflow:hidden}
.overview-page .ov-scroll-cue i::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:ov-scroll-line 2.2s ease-in-out infinite}
@keyframes ov-scroll-line{50%,100%{transform:translateX(100%)}}

/* trip index */
.overview-page .ov-day-index{
  width:100%;display:grid;grid-template-columns:1.12fr repeat(3,1fr);
  background:var(--ov-paper-light);border-top:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line);
}
.overview-page .ov-day-index-title,.overview-page .ov-day-index-item{min-height:174px;padding:28px clamp(24px,3.2vw,58px)}
.overview-page .ov-day-index-title{display:flex;align-items:baseline;gap:24px}
.overview-page .ov-day-index-title strong{font-family:var(--ov-serif);font-size:clamp(72px,7vw,112px);font-weight:400;line-height:1}
.overview-page .ov-day-index-title span{color:var(--ov-brick);font-family:var(--ov-serif);font-size:18px;letter-spacing:.25em}
.overview-page .ov-day-index-item{
  position:relative;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--ov-line);
  transition:background .3s ease;
}
.overview-page .ov-day-index-item small{color:var(--ov-brick);font-family:var(--ov-serif);font-size:10px;letter-spacing:.22em}
.overview-page .ov-day-index-item strong{margin:7px 0 2px;font-family:var(--ov-serif);font-size:27px;font-weight:500;letter-spacing:.08em}
.overview-page .ov-day-index-item span{color:var(--ov-ink-soft);font-size:13px;letter-spacing:.03em}
.overview-page .ov-day-index-item i{
  position:absolute;right:30px;bottom:30px;display:grid;place-items:center;width:32px;height:32px;
  border:1px solid #bdb5a9;border-radius:50%;font-style:normal;transition:transform .35s var(--ov-ease),border-color .3s ease;
}
.overview-page .ov-day-index-item:hover{background:#f5efe5}
.overview-page .ov-day-index-item:hover i{transform:translateX(5px);border-color:var(--ov-brick)}

/* plan */
.overview-page .ov-plan-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(48px,8vw,120px);padding:70px 0 76px}
.overview-page .ov-plan-title{align-self:start}
.overview-page .ov-plan-copy{max-width:650px;padding-top:10px;color:var(--ov-ink-soft);font-size:17px}
.overview-page .ov-plan-copy p{margin:0 0 22px}
.overview-page .ov-plan-copy .ov-lead{color:var(--ov-ink);font-family:var(--ov-serif);font-size:clamp(22px,2vw,29px);line-height:1.65}
.overview-page .ov-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 52px;border-top:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line)}
.overview-page .ov-stats>div{padding:25px 22px 24px;border-left:1px solid var(--ov-line)}
.overview-page .ov-stats>div:first-child{border-left:0;padding-left:0}
.overview-page .ov-stats dt{font-family:var(--ov-serif);font-size:clamp(24px,2.2vw,35px);font-weight:500;color:var(--ov-jade);line-height:1.25}
.overview-page .ov-stats dd{margin:7px 0 0;color:var(--ov-ink-soft);font-size:12px}
.overview-page .ov-alert{border-top:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line);background:rgba(251,248,241,.45)}
.overview-page .ov-alert summary{
  list-style:none;display:grid;grid-template-columns:138px 1fr auto;align-items:center;gap:24px;
  min-height:78px;padding:14px 18px;cursor:pointer;color:#504b43;font-size:14px;
}
.overview-page .ov-alert summary::-webkit-details-marker{display:none}
.overview-page .ov-alert-date{color:var(--ov-brick);font-family:var(--ov-serif);font-size:10px;letter-spacing:.22em}
.overview-page .ov-alert-toggle{color:var(--ov-ink-soft);font-size:12px;white-space:nowrap}
.overview-page .ov-alert[open] .ov-alert-toggle{font-size:0}
.overview-page .ov-alert[open] .ov-alert-toggle::after{content:"收起 －";font-size:12px}
.overview-page .ov-alert-content{padding:8px 18px 30px 180px;color:#5d554b;font-size:14px;max-width:1020px}
.overview-page .ov-alert-content p{margin:0 0 14px}
.overview-page .ov-alert-content ol{margin:12px 0 18px;padding-left:22px}
.overview-page .ov-alert-content li{padding:4px 0}
.overview-page .ov-alert-fallback{padding-top:15px;border-top:1px dashed #c7bfb2}

/* three chapters */
.overview-page .ov-journey{max-width:1420px}
.overview-page .ov-journey-intro{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:end;padding:62px 0 30px}
.overview-page .ov-journey-intro p{max-width:390px;margin:0 0 5px;color:var(--ov-ink-soft);font-size:15px}
.overview-page .ov-journey-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:clamp(46px,7vw,110px);align-items:start}
.overview-page .ov-journey-visual{
  position:sticky;top:96px;height:calc(100vh - 126px);min-height:540px;max-height:760px;
  overflow:hidden;background:#c9c1b4;box-shadow:0 24px 70px rgba(43,36,27,.12);
}
.overview-page .ov-day-image{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .72s ease;pointer-events:none}
.overview-page .ov-day-image.is-active{opacity:1;pointer-events:auto}
.overview-page .ov-day-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(26,28,27,.72));z-index:1}
.overview-page .ov-day-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.97);transform:scale(1.035);transition:transform 1.2s var(--ov-ease)}
.overview-page .ov-day-image.is-active img{transform:scale(1)}
.overview-page .ov-day-image[data-day-image="1"] img{object-position:center 29%}
.overview-page .ov-day-image[data-day-image="2"] img{object-position:center 66%}
.overview-page .ov-day-image[data-day-image="3"] img{object-position:center 56%}
.overview-page .ov-day-image figcaption{
  position:absolute;z-index:2;left:34px;bottom:27px;color:#fff;font-family:var(--ov-serif);font-size:16px;letter-spacing:.04em;
}
.overview-page .ov-day-image figcaption span{display:block;margin-bottom:5px;color:#e9b29f;font-family:var(--ov-sans);font-size:10px;letter-spacing:.28em}
.overview-page .ov-visual-counter{
  position:absolute;z-index:4;right:25px;top:22px;color:#fff;font-family:var(--ov-serif);font-size:13px;letter-spacing:.18em;
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}
.overview-page .ov-day-chapter{
  min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:90px 0;
  border-bottom:1px solid var(--ov-line);opacity:.46;transition:opacity .45s ease;
}
.overview-page .ov-day-chapter:last-child{border-bottom:0}
.overview-page .ov-day-chapter.is-active{opacity:1}
.overview-page .ov-day-kicker{margin:0 0 20px;color:var(--ov-brick);font-family:var(--ov-serif);font-size:11px;letter-spacing:.24em}
.overview-page .ov-day-chapter h3{margin:0 0 24px;font-family:var(--ov-serif);font-size:clamp(42px,4vw,60px);font-weight:500;letter-spacing:.06em;line-height:1.22}
.overview-page .ov-day-chapter>p:not(.ov-day-kicker){margin:0;max-width:500px;color:var(--ov-ink-soft);font-size:15px}
.overview-page .ov-day-meta{display:grid;grid-template-columns:1fr 1fr;margin:34px 0;border-top:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line)}
.overview-page .ov-day-meta>div{padding:14px 12px 14px 0}
.overview-page .ov-day-meta>div+div{padding-left:18px;border-left:1px solid var(--ov-line)}
.overview-page .ov-day-meta dt{color:#91887c;font-size:10px;letter-spacing:.18em}
.overview-page .ov-day-meta dd{margin:2px 0 0;font-family:var(--ov-serif);font-size:15px}
.overview-page .ov-arrow-link{display:inline-flex;align-items:center;gap:20px;width:max-content;color:var(--ov-brick-dark);font-size:14px;font-weight:700;border-bottom:1px solid #c7a293;padding-bottom:5px}
.overview-page .ov-day-mobile-image{display:none}

/* map */
.overview-page .ov-map-section{max-width:1420px;display:grid;grid-template-columns:4fr 8fr;gap:clamp(54px,7vw,110px);align-items:start}
.overview-page .ov-map-copy{position:sticky;top:112px}
.overview-page .ov-map-copy .ov-heading{margin:54px 0 25px}
.overview-page .ov-map-copy>p{max-width:390px;color:var(--ov-ink-soft);font-size:15px}
.overview-page .ov-map-links{display:flex;flex-direction:column;margin-top:36px;border-top:1px solid var(--ov-line)}
.overview-page .ov-map-links a{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--ov-line);font-size:13px;font-weight:700}
.overview-page .ov-map-links a span{color:var(--ov-brick)}
.overview-page .ov-map-links a:hover{color:var(--ov-brick-dark)}
.overview-page .ov-map-card{margin:0;border:1px solid var(--ov-line);border-radius:2px;background:var(--ov-paper-light);box-shadow:0 24px 70px rgba(43,36,27,.1)}
.overview-page .ov-map-card .head{padding:17px 20px 13px;border-bottom:1px solid var(--ov-line)}
.overview-page .ov-map-card .head h3{font-family:var(--ov-serif);font-size:16px;font-weight:600;letter-spacing:.06em}
.overview-page .ov-map-card .head .hint{color:#756d63;font-size:12px}
.overview-page .ov-map-card .lmap{height:min(66vh,640px);min-height:520px}
.overview-page .ov-map-card .legend{padding:11px 18px;border-top:1px solid var(--ov-line);gap:22px;color:var(--ov-ink-soft);font-size:11px}
.overview-page .ov-map-card .legend span:first-child{color:var(--ov-brick)}
.overview-page .ov-map-card .legend span:last-child{color:var(--ov-jade)}
.overview-page .num-pin{background:var(--ov-brick);border-color:var(--ov-paper-light)}
.overview-page .num-pin.sea{background:var(--ov-jade)}
.overview-page .leaflet-popup-content .plink{color:var(--ov-brick-dark)}

/* practical */
.overview-page .ov-practical-title{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:end;padding:60px 0 72px}
.overview-page .ov-practical-title>p{max-width:390px;margin:0;color:var(--ov-ink-soft);font-size:15px}
.overview-page .ov-practical-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line)}
.overview-page .ov-practical-column{position:relative;min-width:0;padding:36px clamp(24px,3vw,46px) 42px}
.overview-page .ov-practical-column:first-child{padding-left:0}
.overview-page .ov-practical-column+.ov-practical-column{border-left:1px solid var(--ov-line)}
.overview-page .ov-column-no{margin:0 0 30px;color:var(--ov-brick);font-family:var(--ov-serif);font-size:10px;letter-spacing:.24em}
.overview-page .ov-route-note{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:0 0 25px;margin:0 0 25px;border-bottom:1px solid var(--ov-line)}
.overview-page .ov-route-note time{font-family:var(--ov-serif);font-size:15px;color:var(--ov-jade);font-variant-numeric:tabular-nums}
.overview-page .ov-route-note h3{margin:0 0 7px;font-family:var(--ov-serif);font-size:19px;font-weight:600}
.overview-page .ov-route-note p,.overview-page .ov-practical-column>p{margin:0;color:var(--ov-ink-soft);font-size:13px;line-height:1.8}
.overview-page .ov-micro-note{margin-top:22px!important;padding-left:13px;border-left:2px solid var(--ov-brick);font-size:12px!important}
.overview-page .ov-stay-title{margin:0 0 24px;font-family:var(--ov-serif);font-size:clamp(31px,3vw,42px);font-weight:500;line-height:1.35}
.overview-page .ov-stay-title span{font-size:.52em;color:var(--ov-ink-soft)}
.overview-page .ov-stay-list{list-style:none;margin:30px 0 42px;padding:0;border-top:1px solid var(--ov-line)}
.overview-page .ov-stay-list li{padding:13px 0;border-bottom:1px solid var(--ov-line);display:flex;justify-content:space-between;gap:15px;font-size:13px}
.overview-page .ov-stay-list b{color:var(--ov-ink-soft);font-size:11px;font-weight:500;text-align:right}
.overview-page .ov-stay-art{margin-top:auto;display:flex;align-items:center;gap:12px;color:#9e9488;font-family:var(--ov-serif);letter-spacing:.22em}
.overview-page .ov-stay-art span{font-size:24px}.overview-page .ov-stay-art i{height:1px;flex:1;background:var(--ov-line)}.overview-page .ov-stay-art small{font-size:9px}
.overview-page .ov-budget table{width:100%;border-collapse:collapse;font-size:13px}
.overview-page .ov-budget caption{text-align:left;margin:0 0 14px;font-family:var(--ov-serif);font-size:21px;color:var(--ov-ink)}
.overview-page .ov-budget th,.overview-page .ov-budget td{padding:10px 0;border-bottom:1px solid var(--ov-line);text-align:left;font-weight:400}
.overview-page .ov-budget th:last-child,.overview-page .ov-budget td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.overview-page .ov-budget thead th{color:var(--ov-ink-soft);font-size:10px;letter-spacing:.16em}
.overview-page .ov-budget tfoot th,.overview-page .ov-budget tfoot td{padding-top:17px;border-bottom:0;color:var(--ov-brick-dark);font-family:var(--ov-serif);font-size:18px;font-weight:600}

/* checklist */
.overview-page .ov-checklist{width:100%;max-width:none;padding:clamp(92px,10vw,150px) var(--ov-gutter);background:#e9e3d8}
.overview-page .ov-checklist-head,.overview-page .ov-checks{width:100%;max-width:1320px;margin-left:auto;margin-right:auto}
.overview-page .ov-checklist-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:58px}
.overview-page .ov-checklist-head .ov-heading{margin:12px 0 8px}
.overview-page .ov-checklist-head>div>p:last-child{margin:0;color:var(--ov-ink-soft);font-size:14px}
.overview-page .ov-check-progress{min-width:220px;text-align:right;font-family:var(--ov-serif)}
.overview-page .ov-check-progress strong{font-size:50px;font-weight:400;line-height:1}
.overview-page .ov-check-progress span{color:var(--ov-brick);font-size:12px;letter-spacing:.16em;margin-left:7px}
.overview-page .ov-check-progress i{display:block;width:100%;height:2px;margin-top:13px;background:#c9c0b3;overflow:hidden}
.overview-page .ov-check-progress i b{display:block;width:0;height:100%;background:var(--ov-brick);transition:width .45s var(--ov-ease)}
.overview-page .ov-checks{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-top:0}
.overview-page .ov-checks .ck{
  min-height:92px;margin:0;padding:18px 4px;border:0;border-bottom:1px solid #c9c0b3;border-radius:0;
  background:transparent;align-items:flex-start;gap:15px;
}
.overview-page .ov-checks .ck input{width:18px;height:18px;margin-top:5px;accent-color:var(--ov-brick)}
.overview-page .ov-checks .ck span{color:var(--ov-ink-soft);font-size:13px;line-height:1.65}
.overview-page .ov-checks .ck span>b{display:block;color:var(--ov-ink);font-family:var(--ov-serif);font-size:16px;font-weight:600;letter-spacing:.03em}
.overview-page .ov-checks .ck small{color:#756d62;font-size:11px}
.overview-page .ov-checks .ck.done{opacity:.55}
.overview-page .ov-checks .ck.done span{text-decoration:none;color:var(--ov-ink-soft)}
.overview-page .ov-checks .ck.done span>b{text-decoration:line-through;text-decoration-thickness:1px}

/* footer */
.overview-page .ov-footer{margin:0;padding:72px var(--ov-gutter) 54px;background:var(--ov-night);color:#c7c4bc;text-align:left;font-size:12px;line-height:1.9}
.overview-page .ov-footer>*{width:100%;max-width:1320px;margin-left:auto;margin-right:auto}
.overview-page .ov-footer-brand{margin-bottom:20px;color:#fff;font-family:var(--ov-serif);font-size:23px;letter-spacing:.12em}
.overview-page .ov-footer p{margin-top:4px;margin-bottom:0}
.overview-page .ov-footer nav{display:flex;gap:26px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13)}
.overview-page .ov-footer a{color:#fff;font-weight:700}

/* reveal and hero motion */
.overview-page.motion-ready [data-reveal]{opacity:0;transform:translateY(24px)}
.overview-page.motion-ready [data-reveal].is-visible{opacity:1;transform:none;transition:opacity .75s var(--ov-ease),transform .75s var(--ov-ease)}
.overview-page.motion-ready .ov-hero-main-picture{clip-path:inset(0 0 0 100%)}
.overview-page.motion-ready .ov-hero-inset{opacity:0;transform:translateY(26px)}
.overview-page.motion-ready .ov-hero-copy>*{opacity:0;transform:translateY(16px)}
.overview-page.motion-ready.is-ready .ov-hero-main-picture{clip-path:inset(0);transition:clip-path 1.05s var(--ov-ease)}
.overview-page.motion-ready.is-ready .ov-hero-inset{opacity:1;transform:none;transition:opacity .75s .5s var(--ov-ease),transform .75s .5s var(--ov-ease)}
.overview-page.motion-ready.is-ready .ov-hero-copy>*{opacity:1;transform:none;transition:opacity .65s var(--ov-ease),transform .65s var(--ov-ease)}
.overview-page.motion-ready.is-ready .ov-hero-copy>:nth-child(2){transition-delay:.13s}
.overview-page.motion-ready.is-ready .ov-hero-copy>:nth-child(3){transition-delay:.22s}
.overview-page.motion-ready.is-ready .ov-hero-copy>:nth-child(4){transition-delay:.28s}
.overview-page.motion-ready.is-ready .ov-hero-copy>:nth-child(5){transition-delay:.34s}
.overview-page.motion-ready.is-ready .ov-hero-copy>:nth-child(6){transition-delay:.4s}

/* focus */
.overview-page a:focus-visible,.overview-page button:focus-visible,.overview-page summary:focus-visible,.overview-page input:focus-visible{
  outline:3px solid #1e5b52;outline-offset:4px;
}

@media(max-width:1100px){
  .overview-page .ov-hero{grid-template-columns:minmax(400px,43vw) 1fr}
  .overview-page .ov-display{font-size:clamp(58px,7.5vw,82px)}
  .overview-page .ov-hero-copy{padding-left:var(--ov-gutter);padding-right:34px}
  .overview-page .ov-hero-inset{left:-10%;width:62%;height:33%}
  .overview-page .ov-day-index{grid-template-columns:.85fr repeat(3,1fr)}
  .overview-page .ov-day-index-title,.overview-page .ov-day-index-item{padding-left:24px;padding-right:24px}
  .overview-page .ov-day-index-title{gap:14px}
  .overview-page .ov-day-index-item i{right:18px}
  .overview-page .ov-journey-grid{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:50px}
  .overview-page .ov-practical-grid{grid-template-columns:1fr 1fr}
  .overview-page .ov-practical-column:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--ov-line);padding-left:0}
  .overview-page .ov-budget table{max-width:680px}
}

@media(max-width:820px){
  .overview-page .topbar{background:rgba(243,239,230,.95);border-color:rgba(126,115,99,.17);backdrop-filter:blur(14px)}
  .overview-page .topbar .in{min-height:62px;gap:20px;overflow:hidden}
  .overview-page .topbar .brand{padding:17px 0;font-size:13px}
  .overview-page .ov-nav-links{min-width:0;flex:1;overflow-x:auto;scrollbar-width:none;gap:16px}
  .overview-page .ov-nav-links::-webkit-scrollbar{display:none}
  .overview-page .topbar a.tab{padding:19px 1px 17px;font-size:13px;white-space:nowrap}
  .overview-page .topbar a.tab::after{bottom:10px}
  .overview-page .ov-hero{display:block;min-height:auto;padding-top:62px}
  .overview-page .ov-hero-copy{min-height:590px;padding:90px var(--ov-gutter) 84px;justify-content:center}
  .overview-page .ov-display{font-size:clamp(60px,12vw,86px)}
  .overview-page .ov-hero-media{height:68svh;min-height:520px}
  .overview-page .ov-hero-inset{left:var(--ov-gutter);bottom:-32px;width:55%;height:42%;box-shadow:0 0 0 8px var(--ov-paper),0 20px 46px rgba(42,35,25,.18)}
  .overview-page .ov-hero-count{top:25px}.overview-page .ov-scroll-cue{bottom:24px}
  .overview-page .ov-hero-vertical{display:none}
  .overview-page .ov-day-index{grid-template-columns:1fr 1fr;margin-top:32px}
  .overview-page .ov-day-index-title{grid-column:1/-1;min-height:130px;border-bottom:1px solid var(--ov-line)}
  .overview-page .ov-day-index-item{min-height:156px}
  .overview-page .ov-day-index-item:last-child{grid-column:1/-1;border-top:1px solid var(--ov-line)}
  .overview-page .ov-plan-grid,.overview-page .ov-journey-intro,.overview-page .ov-practical-title{grid-template-columns:1fr;gap:34px}
  .overview-page .ov-plan-copy{padding-top:0}
  .overview-page .ov-stats{grid-template-columns:1fr 1fr}
  .overview-page .ov-stats>div:nth-child(3){border-left:0;border-top:1px solid var(--ov-line);padding-left:0}
  .overview-page .ov-stats>div:nth-child(4){border-top:1px solid var(--ov-line)}
  .overview-page .ov-alert summary{grid-template-columns:110px 1fr;gap:16px}.overview-page .ov-alert-toggle{display:none}
  .overview-page .ov-alert-content{padding-left:18px}
  .overview-page .ov-journey-grid{display:block}
  .overview-page .ov-journey-visual{display:none}
  .overview-page .ov-day-chapter{min-height:auto;padding:76px 0;opacity:1}
  .overview-page .ov-day-mobile-image{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0 0 34px;filter:saturate(.78) contrast(.97)}
  .overview-page .ov-day-chapter[data-day-chapter="1"] .ov-day-mobile-image{object-position:center 28%}
  .overview-page .ov-day-chapter[data-day-chapter="2"] .ov-day-mobile-image{object-position:center 66%}
  .overview-page .ov-day-chapter[data-day-chapter="3"] .ov-day-mobile-image{object-position:center 56%}
  .overview-page .ov-map-section{grid-template-columns:1fr;gap:56px}
  .overview-page .ov-map-copy{position:static}
  .overview-page .ov-map-card .lmap{height:520px;min-height:0}
  .overview-page .ov-practical-grid{grid-template-columns:1fr}
  .overview-page .ov-practical-column,.overview-page .ov-practical-column:first-child,.overview-page .ov-practical-column:nth-child(3){grid-column:auto;padding:34px 0 42px;border-left:0;border-top:1px solid var(--ov-line)}
  .overview-page .ov-practical-column:first-child{border-top:0}
}

@media(max-width:640px){
  .overview-page{--ov-gutter:20px}
  .overview-page .topbar .in{padding:0 14px;gap:14px}
  .overview-page .topbar .brand{font-size:12px;letter-spacing:.08em}
  .overview-page .ov-nav-links{gap:14px}
  .overview-page .topbar a.tab{font-size:12px}
  .overview-page .ov-hero-copy{min-height:540px;padding-top:80px;padding-bottom:70px}
  .overview-page .ov-hero-copy .ov-eyebrow{margin-bottom:19px}
  .overview-page .ov-display{font-size:clamp(50px,14.8vw,70px);letter-spacing:.02em}
  .overview-page .ov-hero-date{margin-top:29px;font-size:19px}
  .overview-page .ov-hero-date i{width:24px;margin:0 7px}
  .overview-page .ov-hero-route{font-size:15px}
  .overview-page .ov-companions{font-size:12px}
  .overview-page .ov-hero-actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:28px}
  .overview-page .ov-button{min-height:50px;padding:10px 20px}
  .overview-page .ov-hero-media{height:61svh;min-height:460px}
  .overview-page .ov-hero-main-picture img{object-position:62% center}
  .overview-page .ov-hero-inset{width:63%;height:37%;bottom:-24px}
  .overview-page .ov-scroll-cue{display:none}
  .overview-page .ov-day-index{display:block;margin-top:24px}
  .overview-page .ov-day-index-title{min-height:122px;padding:22px 24px}
  .overview-page .ov-day-index-title strong{font-size:76px}
  .overview-page .ov-day-index-item{min-height:132px;padding:23px 68px 23px 24px;border-left:0;border-top:1px solid var(--ov-line)}
  .overview-page .ov-day-index-item:first-of-type{border-top:0}
  .overview-page .ov-day-index-item:last-child{border-top:1px solid var(--ov-line)}
  .overview-page .ov-day-index-item i{right:22px;bottom:50%;transform:translateY(50%)}
  .overview-page .ov-day-index-item:hover i{transform:translate(5px,50%)}
  .overview-page .ov-section{padding:92px 0}
  .overview-page .ov-heading{font-size:clamp(35px,10.5vw,46px)}
  .overview-page .ov-plan-grid{padding:48px 0 54px}
  .overview-page .ov-plan-copy{font-size:15px}
  .overview-page .ov-plan-copy .ov-lead{font-size:21px}
  .overview-page .ov-stats{grid-template-columns:1fr}
  .overview-page .ov-stats>div,.overview-page .ov-stats>div:first-child,.overview-page .ov-stats>div:nth-child(3){padding:18px 0;border-left:0;border-top:1px solid var(--ov-line)}
  .overview-page .ov-stats>div:first-child{border-top:0}
  .overview-page .ov-stats dt{font-size:26px}
  .overview-page .ov-alert summary{display:flex;align-items:flex-start;flex-direction:column;gap:5px;padding:18px 14px}
  .overview-page .ov-alert-content{padding:4px 14px 25px;font-size:13px}
  .overview-page .ov-journey-intro{padding-top:48px}
  .overview-page .ov-day-chapter{padding:60px 0}
  .overview-page .ov-day-chapter h3{font-size:39px}
  .overview-page .ov-map-copy .ov-heading{margin-top:42px}
  .overview-page .ov-map-card .lmap{height:400px}
  .overview-page .ov-practical-title{padding:46px 0 50px}
  .overview-page .ov-route-note{grid-template-columns:48px 1fr;gap:12px}
  .overview-page .ov-stay-list li{align-items:flex-start;flex-direction:column;gap:2px}
  .overview-page .ov-stay-list b{text-align:left}
  .overview-page .ov-checklist{padding:82px var(--ov-gutter)}
  .overview-page .ov-checklist-head{align-items:flex-start;flex-direction:column;margin-bottom:38px}
  .overview-page .ov-check-progress{width:100%;min-width:0;text-align:left}
  .overview-page .ov-checks{grid-template-columns:1fr;gap:0}
  .overview-page .ov-checks .ck{min-height:88px}
  .overview-page .ov-footer{padding-top:58px}
  .overview-page .ov-footer nav{gap:18px;flex-wrap:wrap}
}

@media(max-width:380px){
  .overview-page .topbar .brand{display:none}
  .overview-page .ov-display{font-size:48px}
  .overview-page .ov-hero-date{font-size:17px}
  .overview-page .ov-hero-main-picture img{object-position:68% center}
}

@media(prefers-reduced-motion:reduce){
  .overview-page,.overview-page *,.overview-page *::before,.overview-page *::after{
    scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;
  }
  .overview-page.motion-ready [data-reveal],.overview-page.motion-ready .ov-hero-copy>*,.overview-page.motion-ready .ov-hero-inset{
    opacity:1!important;transform:none!important;
  }
  .overview-page.motion-ready .ov-hero-main-picture{clip-path:inset(0)!important}
}
