:root{--ink:#102b36;--navy:#102d39;--deep:#092e39;--teal:#146d77;--aqua:#9ed4cf;--mist:#eaf3ef;--cream:#f6f3e9;--paper:#fffcf5;--orange:#ef8c35;--yellow:#f4d86c;--line:rgba(16,43,54,.16);--serif:"Noto Serif TC","Source Han Serif TC","Songti TC","PMingLiU",serif;--sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans}
*,*::before,*::after{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.6}button,a{touch-action:manipulation}button{font:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%}img{display:block}::selection{background:#f1d478;color:var(--ink)}:focus-visible{outline:3px solid #e9a74a;outline-offset:3px}.page-wrap{width:min(1380px,calc(100% - 7.4vw));margin-inline:auto}.section-pad{padding:clamp(84px,10vw,154px) 0}.skip-link{position:absolute;left:12px;top:-100px;z-index:1000;padding:12px 18px;background:white;color:#102b36}.skip-link:focus{top:12px}.preview-ribbon{position:relative;z-index:10;display:flex;justify-content:center;align-items:center;gap:9px;padding:7px 15px;background:#efd06f;color:#1b3037;text-align:center;font-size:11px;font-weight:800;letter-spacing:.06em}.preview-dot{width:7px;height:7px;border-radius:50%;background:#d36730}
.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:94px;padding:15px max(3.7vw,24px);background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{position:relative;display:block;width:40px;height:39px;border:2px solid var(--teal);border-radius:50% 50% 10px 10px;overflow:hidden;transform:rotate(-8deg)}.brand-mark span{position:absolute;bottom:-4px;width:2px;background:var(--teal);transform-origin:bottom}.brand-mark span:nth-child(1){height:28px;left:12px;transform:rotate(30deg)}.brand-mark span:nth-child(2){height:35px;left:21px;transform:rotate(-4deg)}.brand-mark span:nth-child(3){height:24px;left:27px;transform:rotate(-34deg)}.brand-copy{display:flex;flex-direction:column;line-height:1.2}.brand-copy strong{font-size:21px;letter-spacing:.08em}.brand-copy small{margin-top:5px;color:var(--teal);font-size:9px;font-weight:900;letter-spacing:.19em}.primary-nav{display:flex;gap:clamp(18px,2.4vw,43px);align-items:center}.primary-nav a{font-size:13px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.primary-nav a:hover,.header-link:hover{color:var(--teal)}.header-link{font-size:13px;font-weight:900;white-space:nowrap;border-bottom:2px solid var(--ink);padding-bottom:5px}.header-link span{margin-left:10px}.kicker,.eyebrow{margin:0;color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.25em;text-transform:uppercase}.kicker span{color:#9caab0;margin-left:8px}.kicker-light{color:#a3d4d1}.kicker-light span{color:#9bb8b9}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}em{font-style:normal}
.hero{position:relative;isolation:isolate;min-height:740px;min-height:min(840px,88vh);color:white;overflow:hidden;background:#0b4853}.hero-image{position:absolute;inset:0;background-image:url("./media/plover-cove.jpg");background-size:cover;background-position:center 47%;transform:scale(1.03);filter:saturate(.75)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,42,53,.96) 0%,rgba(6,54,64,.84) 41%,rgba(5,40,49,.18) 82%),linear-gradient(0deg,rgba(3,27,35,.52),transparent 40%)}.hero-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:40px;min-height:690px;min-height:min(790px,82vh)}.hero-copy{max-width:760px;padding:78px 0 85px}.hero .eyebrow{display:flex;align-items:center;gap:14px;color:#b8dbd7;margin-bottom:40px}.eyebrow-line{height:1px;width:44px;background:#b8dbd7}.hero h1{font-family:var(--serif);font-size:clamp(52px,6.3vw,104px);font-weight:800;letter-spacing:-.055em;line-height:1.12;margin:0 0 28px}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:#e6cf73}.hero-tagline{font-size:clamp(17px,1.8vw,26px);font-weight:700;letter-spacing:.12em;margin-bottom:24px}.hero-intro{max-width:580px;color:#e0e9e6;font-size:17px;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 22px;min-width:205px;font-weight:900;font-size:14px;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-bright{background:#eac85d;color:#17333c}.button-bright:hover{background:#f4d978}.text-link{font-size:14px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}.text-link span{margin-left:12px}.hero-side{display:flex;flex-direction:column;align-items:flex-end;text-align:right;justify-self:end;gap:22px;padding-top:140px}.side-label{writing-mode:vertical-rl;font-size:13px;letter-spacing:.3em;color:#d6e6df}.side-big{font-size:49px;font-family:var(--serif);font-weight:700;white-space:nowrap}.side-big span{font-size:22px;opacity:.45}.side-note{font-size:13px;line-height:1.9;color:#d4e0dd}.hero-bottom{position:relative;display:flex;align-items:center;gap:24px;padding-bottom:28px;color:#dfebea;font-size:10px;font-weight:800;letter-spacing:.18em}.hero-bottom span:last-child{margin-left:auto}.scroll-arrow{display:grid;place-items:center;width:35px;height:35px;border:1px solid #d4e8e4;border-radius:50%;font-size:20px}
.about-section{background:var(--paper)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,150px)}.section-heading h2,.journey-intro h2,.moment-section h2,.join-heading h2,.support-section h2{font-family:var(--serif);font-size:clamp(40px,4.7vw,70px);letter-spacing:-.055em;font-weight:800;margin:29px 0 0}.section-heading h2 em,.journey-intro h2 em,.moment-section h2 em{color:var(--teal)}.about-content{padding-top:27px}.lead{font-family:var(--serif);font-size:clamp(21px,2.15vw,29px);font-weight:700;line-height:1.85;letter-spacing:.025em}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:54px;padding-top:27px;border-top:1px solid var(--line)}.fact{display:flex;flex-direction:column;gap:2px}.fact-icon{font-size:22px;color:var(--teal);line-height:1}.fact-label{font-size:12px;color:#71838a;margin-top:8px}.fact strong{font-size:16px}.goal-section{background:var(--navy);color:white;padding:70px 0}.goal-layout{display:grid;grid-template-columns:.83fr 1.17fr;align-items:center;gap:70px}.goal-title h2{font-family:var(--serif);font-size:clamp(35px,3.8vw,56px);letter-spacing:-.05em;margin:22px 0 0}.goal-info{padding-left:60px;border-left:1px solid rgba(255,255,255,.18)}.goal-label{display:block;color:#aec9c8;font-size:14px}.goal-value{display:flex;align-items:baseline;gap:5px;font-size:clamp(42px,5.8vw,88px);font-weight:900;line-height:1.1;margin:13px 0 26px;letter-spacing:-.06em;color:#f1dc8b}.goal-value small{font-size:27px;letter-spacing:0}.goal-value span{font-size:48px}.progress-track{height:11px;background:#57737a;overflow:hidden}.progress-placeholder{display:block;height:100%;width:100%;background:repeating-linear-gradient(90deg,rgba(225,240,233,.37),rgba(225,240,233,.37) 10px,transparent 10px,transparent 20px)}.goal-footnote{color:#b7c8c8;font-size:12px;margin:13px 0 0}
.journey-intro{background:var(--mist)}.journey-intro-layout{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:90px}.journey-intro h2{margin-bottom:0}.journey-intro-layout>p{max-width:480px;font-size:17px;line-height:2;color:#546b70;margin-bottom:8px}.routes-section{background:var(--mist);padding:0 0 clamp(80px,11vw,150px)}.routes-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:clamp(30px,5vw,82px);align-items:start}.route-column{display:grid;gap:20px}.route-card{position:relative;padding:clamp(27px,3.8vw,52px);background:var(--paper);border:2px solid transparent;box-shadow:0 20px 40px rgba(16,43,54,.035);transition:border .2s,box-shadow .2s,transform .2s}.route-card.active{border-color:var(--orange);box-shadow:0 18px 42px rgba(17,72,79,.1);transform:translateY(-2px)}.route-top{display:flex;align-items:center;justify-content:space-between}.route-number{font-size:44px;font-weight:900;line-height:1;color:#b7c8c7;letter-spacing:-.06em}.route-card.active .route-number{color:var(--orange)}.route-grade{border-radius:50px;padding:6px 12px;font-size:11px;font-weight:900;letter-spacing:.09em}.easy{background:#e3f2eb;color:#296f62}.medium{background:#f8e0c2;color:#9b5721}.hard{background:#f1e0b7;color:#735517}.route-card h3{font-family:var(--serif);font-size:clamp(31px,3vw,45px);letter-spacing:-.055em;margin:28px 0 14px}.route-card h3 em{color:var(--teal)}.route-direction{font-size:15px;color:#61747a;letter-spacing:.05em}.route-direction span{color:var(--orange);margin:0 5px}.route-metrics{display:flex;gap:44px;padding:21px 0;margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route-metrics>span{display:flex;flex-direction:column;gap:5px}.route-metrics strong{font-size:27px;line-height:1.2}.route-metrics strong small{font-size:12px;margin-left:3px}.route-metrics>span>small{font-size:11px;color:#74878a}.route-target{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:22px}.route-target span{color:#647980;font-size:12px}.route-target strong{font-size:20px;color:var(--teal);white-space:nowrap}.terrain-warning{display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;padding:11px 14px;background:#fcf1db;color:#794d1d;font-size:12px;line-height:1.75}.terrain-warning span{font-size:14px}.route-card details{font-size:12px;color:#63787c;margin:20px 0 24px}.route-card details summary{cursor:pointer;color:var(--teal);font-weight:800}.route-card details p{margin:8px 0 0;line-height:1.9}.route-view{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid var(--line);padding:20px 0 0;background:none;color:var(--ink);font-size:13px;font-weight:900;text-align:left;cursor:pointer}.route-view:hover{color:var(--teal)}.route-view span{font-size:20px;line-height:1}.map-sticky{position:sticky;top:20px}.map-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:5px 0 22px}.map-header h2{font-family:var(--serif);font-size:clamp(29px,3vw,42px);letter-spacing:-.055em;margin:13px 0 0}.map-draft{font-size:11px;color:#6a7e82;white-space:nowrap}.map-visual{position:relative;overflow:hidden;background:#bcd9d2;aspect-ratio:2060/3068;max-height:min(75vh,810px);min-height:550px}.map-art{position:relative;width:100%;height:100%;overflow:hidden}.map-base,.map-route{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.map-route{pointer-events:none;transition:opacity .35s}.map-visual[data-route="1"] .map-route-one{opacity:1}.map-visual[data-route="1"] .map-route-two,.map-visual[data-route="1"] .map-route-three{opacity:.1}.map-visual[data-route="2"] .map-route-one{opacity:.38}.map-visual[data-route="2"] .map-route-two{opacity:1}.map-visual[data-route="2"] .map-route-three{opacity:.1}.map-visual[data-route="3"] .map-route-one,.map-visual[data-route="3"] .map-route-two{opacity:.08}.map-visual[data-route="3"] .map-route-three{opacity:1}.map-pin{position:absolute;z-index:2;display:grid;place-items:center;width:31px;height:31px;border:3px solid white;border-radius:50%;background:#e2903f;color:#143942;font-size:12px;font-weight:900;box-shadow:0 3px 15px #173a4b75;cursor:pointer;transition:transform .2s}.map-pin:hover,.map-pin:focus-visible{transform:scale(1.2)}.pin-start{left:74%;top:85%;background:#b8d9d2}.pin-bride{left:77%;top:38%}.pin-summit{left:59%;top:69%;background:#d78a39}.pin-finish{left:34%;top:12%;background:#f4d86c}.map-caption{position:absolute;z-index:1;bottom:18px;left:18px;background:rgba(255,252,245,.93);color:#49666c;padding:6px 9px;font-size:10px;font-weight:800}.video-intro{position:absolute;inset:0;z-index:4;background:var(--deep);transition:opacity .55s,visibility .55s}.video-intro video{width:100%;height:100%;object-fit:cover}.video-intro::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,34,42,.88),rgba(5,34,42,.25) 50%,transparent);pointer-events:none}.video-intro.hidden{opacity:0;visibility:hidden;pointer-events:none}.video-overlay{position:absolute;z-index:2;bottom:12%;left:8%;right:8%;display:flex;flex-wrap:wrap;gap:11px;align-items:center}.video-overlay>span{width:100%;font-family:var(--serif);font-size:clamp(25px,3vw,42px);font-weight:800;color:white;line-height:1.3}.video-control,.video-skip{border:1px solid rgba(255,255,255,.75);padding:12px 15px;background:#f4d86c;color:#12303b;font-size:12px;font-weight:900;cursor:pointer}.video-control span{margin-left:14px}.video-skip{background:rgba(8,46,58,.6);color:white}.video-control:hover,.video-skip:hover{filter:brightness(1.07)}.map-tools{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:13px;font-size:12px;color:#597176}.map-tools button{border:0;border-bottom:1px solid var(--teal);background:none;color:var(--teal);font-size:11px;font-weight:900;cursor:pointer}.place-card{display:grid;grid-template-columns:102px 1fr;gap:19px;margin-top:22px;padding:15px;background:var(--paper);border:1px solid var(--line)}.place-card img{width:102px;height:112px;object-fit:cover}.place-overline{font-size:10px;color:var(--teal);font-weight:900;letter-spacing:.12em}.place-card h3{font-family:var(--serif);font-size:22px;margin:4px 0 6px}.place-card p{font-size:11px;line-height:1.7;margin-bottom:5px}.place-disclaimer{display:block;color:#819092;font-size:9px;line-height:1.4}
.moment-section{background:var(--paper)}.moment-top{display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:80px}.moment-top p:last-child{font-size:16px;color:#5d7479;line-height:1.9;margin:0}.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:52px}.moment-grid figure{margin:0;overflow:hidden;background:#e8eee7}.moment-grid img{width:100%;height:clamp(230px,26vw,355px);object-fit:cover;transition:transform .45s}.moment-grid figure:hover img{transform:scale(1.04)}.moment-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:20px 19px}.moment-grid figcaption span{font-size:10px;letter-spacing:.12em;color:#6b858a}.moment-grid figcaption strong{font-size:15px}.join-section{background:#164c57;color:white}.join-heading{max-width:830px}.join-heading h2{margin:21px 0}.join-heading em{color:#efdc8e}.join-heading>p:last-child{color:#d3e5e0;font-size:16px}.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.join-card{position:relative;overflow:hidden;padding:clamp(30px,4vw,54px);min-height:300px;display:flex;flex-direction:column;align-items:flex-start;background:#f6f3e9;color:var(--ink)}.join-register{background:#c7dfd8}.join-index{font-size:10px;letter-spacing:.16em;font-weight:900;color:#57777d}.join-icon{position:absolute;right:35px;top:28px;font-size:58px;line-height:1;color:var(--teal)}.join-card h3{font-family:var(--serif);font-size:clamp(27px,2.8vw,40px);margin:55px 0 12px}.join-card p{font-size:14px;color:#5d7478;max-width:390px}.inactive-button{display:flex;justify-content:space-between;gap:25px;align-items:center;width:100%;margin-top:auto;border-top:1px solid rgba(16,43,54,.2);padding-top:18px;font-size:12px;font-weight:900;color:#657b7e;cursor:not-allowed}.inactive-button span{font-size:20px}.support-section{padding:clamp(75px,9vw,130px) 0;background:#e5eee8}.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.support-section h2{margin:24px 0 0}.support-section h2 em{color:var(--teal)}.support-layout>div:nth-child(2)>p{max-width:530px;font-size:17px;line-height:1.9;color:#536e72}.support-tiles{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.support-tiles span{padding:13px 17px;border:1px solid rgba(20,109,119,.32);color:var(--teal);font-size:12px;font-weight:900}.site-footer{background:#0e303b;color:#ceddd9;padding:36px 0}.footer-layout{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;line-height:1.7}.footer-brand{font-size:18px;font-weight:900;color:white}.footer-brand small{display:block;font-size:9px;letter-spacing:.17em;color:#9bc2bf}.footer-layout a{font-size:11px;font-weight:900;color:white;border-bottom:1px solid white;padding-bottom:3px}
@media(max-width:1100px){.site-header{gap:18px}.primary-nav{gap:15px}.primary-nav a{font-size:12px}.hero-content{grid-template-columns:1fr 130px}.hero-side{opacity:.8}.routes-layout{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:30px}.map-draft{display:none}.route-metrics{gap:22px}}
@media(max-width:800px){.page-wrap{width:min(100% - 40px,620px)}.section-pad{padding:84px 0}.site-header{min-height:76px;padding:12px 20px;flex-wrap:wrap}.brand-copy strong{font-size:18px}.brand-mark{width:34px;height:33px}.primary-nav{order:3;overflow-x:auto;width:100%;padding:8px 0 0;justify-content:space-between;gap:20px}.header-link{font-size:12px}.hero,.hero-content{min-height:660px}.hero-content{display:block}.hero-copy{padding:92px 0 55px}.hero h1{font-size:clamp(45px,10vw,70px)}.hero-side{display:none}.hero-intro{font-size:15px}.about-grid,.goal-layout,.journey-intro-layout,.moment-top,.support-layout{grid-template-columns:1fr;gap:35px}.goal-info{padding:25px 0 0;border:0;border-top:1px solid rgba(255,255,255,.18)}.facts-grid{margin-top:35px}.routes-layout{display:flex;flex-direction:column}.route-column,.map-column{width:100%}.map-sticky{position:static}.map-visual{max-height:none;min-height:0;aspect-ratio:2060/3068}.map-header{margin-top:60px}.moment-grid{gap:9px}.moment-grid figcaption{display:block;padding:13px}.moment-grid figcaption strong{display:block}.join-grid{gap:12px}.join-card{min-height:310px}.footer-layout{flex-wrap:wrap}}
@media(max-width:580px){.preview-ribbon{font-size:9px;line-height:1.4}.page-wrap{width:calc(100% - 32px)}.site-header{padding:12px 16px}.primary-nav{justify-content:flex-start;gap:22px;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.primary-nav a{flex-shrink:0}.header-link{display:none}.hero,.hero-content{min-height:640px}.hero-image{background-position:56% center}.hero-shade{background:linear-gradient(90deg,rgba(4,42,53,.94),rgba(4,42,53,.66)),linear-gradient(0deg,rgba(3,27,35,.5),transparent 40%)}.hero .eyebrow{margin-bottom:29px}.hero-copy{padding:78px 0 45px}.hero h1{font-size:49px}.hero-tagline{font-size:16px}.hero-intro{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-bottom span:first-child{font-size:8px}.hero-bottom span:last-child{font-size:8px}.about-section,.journey-intro,.moment-section,.join-section{padding:80px 0}.section-heading h2,.journey-intro h2,.moment-section h2,.join-heading h2,.support-section h2{font-size:41px}.lead{font-size:20px}.facts-grid{grid-template-columns:1fr 1fr;gap:25px}.goal-section{padding:60px 0}.goal-title h2{font-size:37px}.goal-value{font-size:56px}.goal-value small{font-size:18px}.goal-value span{font-size:34px}.journey-intro-layout>p{font-size:14px}.route-card{padding:28px}.route-card h3{font-size:35px}.route-metrics strong{font-size:23px}.map-header{display:block}.map-draft{display:block;margin-top:10px}.map-visual{width:100%}.map-pin{width:25px;height:25px;font-size:10px}.video-overlay{bottom:8%;left:5%;right:5%}.video-overlay>span{font-size:25px}.video-control,.video-skip{font-size:10px;padding:9px}.map-tools{display:block}.map-tools button{margin-top:7px;padding:0}.place-card{grid-template-columns:80px 1fr;gap:11px;padding:10px}.place-card img{width:80px;height:100px}.place-card h3{font-size:18px}.moment-grid{grid-template-columns:1fr;gap:17px;margin-top:38px}.moment-grid img{height:250px}.moment-grid figcaption{display:flex;padding:14px}.join-grid{grid-template-columns:1fr}.join-card{min-height:280px}.support-section{padding:75px 0}.footer-layout{display:block}.footer-layout>div{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.preview-link{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:auto;border-top:1px solid rgba(16,43,54,.2);padding:17px 0 6px;color:var(--teal);font-size:13px;font-weight:900}.preview-link:hover{text-decoration:underline}.preview-link span{font-size:20px}.preview-status{font-size:11px;color:#62797d}.participant-review-entry{margin:29px 0 0}.participant-review-entry .button{max-width:100%;white-space:normal}

.preview-link.is-disabled{cursor:default;opacity:.82}.preview-link.is-disabled:hover{text-decoration:none}.participant-review-entry{color:#d6e8e5;font-size:13px}

/* The poster, route overlays and hotspots share the same 2060:3068 coordinate space. */
.map-visual{min-height:0;max-height:none}
.map-visual .map-route{pointer-events:none;filter:drop-shadow(0 0 5px rgba(255,255,255,.95))}
.map-visual[data-route="1"] .map-route-one,.map-visual[data-route="2"] .map-route-two,.map-visual[data-route="3"] .map-route-three{opacity:1}
.map-visual[data-route="1"] .map-route-two,.map-visual[data-route="1"] .map-route-three,.map-visual[data-route="2"] .map-route-one,.map-visual[data-route="2"] .map-route-three,.map-visual[data-route="3"] .map-route-one,.map-visual[data-route="3"] .map-route-two{opacity:0}
.map-hotspot-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.map-hotspot{position:absolute;left:var(--hotspot-x);top:var(--hotspot-y);width:var(--hotspot-w);height:var(--hotspot-h);min-height:28px;padding:0;transform:translate(-50%,-50%);border:0;border-radius:999px;background:transparent;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.map-hotspot:hover,.map-hotspot:focus,.map-hotspot.is-selected{background:transparent;outline:2px solid #df8738;outline-offset:1px}
.map-hotspot:focus-visible{background:transparent;outline:3px solid #f4d86c;outline-offset:2px}
@keyframes map-hotspot-cue{0%,100%{outline:2px solid transparent;box-shadow:0 0 0 0 transparent;transform:translate(-50%,-50%)}35%,65%{outline:2px solid #f4d87a;outline-offset:2px;box-shadow:0 0 0 5px #fffdf880;transform:translate(-50%,calc(-50% - 3px))}}
.map-visual.is-map-visible .map-hotspot:not(.is-selected){animation:map-hotspot-cue 1.25s ease-in-out 1}
.map-visual.is-map-visible .map-hotspot:nth-child(3n + 2){animation-delay:.12s}
.map-visual.is-map-visible .map-hotspot:nth-child(3n + 3){animation-delay:.24s}
@media(prefers-reduced-motion:reduce){.map-visual.is-map-visible .map-hotspot{animation:none}}
.map-location-pin{position:absolute;z-index:2;left:var(--pin-x);top:var(--pin-y);width:32px;height:42px;padding:0;transform:translate(-50%,-100%);border:0;background:transparent!important;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.map-location-pin:hover,.map-location-pin:focus,.map-location-pin.is-selected{background:transparent!important;box-shadow:none!important}
.map-location-pin img{position:absolute;left:50%;bottom:0;display:block;width:18px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 1px 2px rgba(255,255,255,.9));transition:width .18s ease}
.map-location-pin:hover img,.map-location-pin.is-selected img{width:22px}
.map-location-pin:focus-visible{outline:2px solid #f4d86c;outline-offset:1px;border-radius:5px}
.map-place-strip{display:flex;gap:8px;overflow-x:auto;padding:15px 0 5px;scrollbar-width:thin}
.map-place-strip button{flex:none;border:1px solid #a6c1bb;border-radius:999px;padding:7px 12px;background:#fffdf8;color:#26545b;font-size:11px;font-weight:800;cursor:pointer}
.map-place-strip button:hover,.map-place-strip button:focus-visible,.map-place-strip button.is-selected{border-color:#c47528;background:#f8e6c5;color:#173b43}
.map-detail-panel[hidden],.map-detail-backdrop[hidden],.map-detail-panel img[hidden]{display:none!important}

/* Keep the first route's highlight clear of the printed finish marker. */
.map-visual .map-route-one{
  -webkit-mask-image:radial-gradient(ellipse 3.1% 2.1% at 75.8% 37.8%,transparent 96%,#000 100%);
  mask-image:radial-gradient(ellipse 3.1% 2.1% at 75.8% 37.8%,transparent 96%,#000 100%);
}

/* The video poster is extracted from its first frame, so loading has no scene jump. */
.video-intro{background:#173c49 url("./media/mountain-aerial-poster.jpg") center/cover no-repeat}
.map-detail-panel{position:fixed;z-index:2002;top:50%;right:clamp(12px,3vw,48px);width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto;transform:translateY(-50%);border:1px solid #afc4bd;border-radius:15px;padding:25px;background:#fffcf5;box-shadow:0 18px 60px #102b3659;overscroll-behavior:contain}
.map-detail-panel:focus{outline:none}
.map-detail-close{position:sticky;top:0;float:right;display:grid;place-items:center;width:38px;height:38px;margin:-10px -10px 0 12px;padding:0;border:1px solid #b1c8c2;border-radius:50%;background:#fff;color:#20464f;font-size:0;line-height:1;cursor:pointer}
.map-detail-close::before,.map-detail-close::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;border-radius:2px;background:currentColor;transform-origin:center;pointer-events:none}
.map-detail-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.map-detail-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.map-detail-close:hover,.map-detail-close:focus{background:#fff}
.map-detail-gallery[hidden]{display:none!important}
.map-detail-photo{position:relative;margin-top:21px}
.map-detail-photo[hidden]{display:none!important}
.map-detail-panel .map-detail-photo img{margin:0}
.map-detail-gallery{position:absolute;right:8px;bottom:8px;display:flex;gap:5px;margin:0;padding:4px;border-radius:999px;background:#fffcf5e8;box-shadow:0 1px 8px #102b3633}
.map-detail-gallery button{display:grid;place-items:center;width:27px;height:27px;border:1px solid #a6c1bb;border-radius:50%;padding:0;background:#fff;color:#26545b;font-size:11px;font-weight:800;cursor:pointer}
.map-detail-gallery button:hover,.map-detail-gallery button:focus-visible,.map-detail-gallery button[aria-pressed="true"]{border-color:#c47528;background:#f8e6c5;color:#173b43}
.map-detail-kicker{display:block;margin:5px 0 14px;color:#267474;font-size:11px;font-weight:900;letter-spacing:.11em}
.map-detail-panel h2{clear:both;margin:0 0 12px;color:#173b43;font-family:var(--serif);font-size:clamp(28px,3vw,38px);line-height:1.2}
.map-detail-panel p{margin:0;color:#45626a;font-size:14px;line-height:1.85}
.map-detail-panel img{display:block;width:100%;max-height:225px;margin:21px 0 0;object-fit:cover;border-radius:7px}
.map-detail-panel .map-detail-disclaimer{margin-top:21px;padding-top:14px;border-top:1px solid #d4e0da;color:#637f82;font-size:11px}
.map-detail-backdrop{display:none}
@media(max-height:520px) and (min-width:701px){.map-detail-panel{top:8px;right:8px;max-height:calc(100dvh - 16px);transform:none}}
@media(max-width:800px){
  .map-visual.is-map-visible{height:auto;min-height:0;aspect-ratio:2060/3068;overflow:hidden}
  .map-visual.is-map-visible .map-art{width:100%;height:auto;aspect-ratio:2060/3068}
  .map-draft{display:block;white-space:normal}
}
@media(max-width:700px){
  .map-detail-backdrop:not([hidden]){position:fixed;z-index:2001;inset:0;display:block;background:rgba(8,37,46,.42)}
  .map-detail-panel{top:0;right:0;bottom:0;width:min(92vw,390px);height:100dvh;max-height:none;transform:none;border-radius:16px 0 0 16px;padding:24px}
  body.map-detail-open{overflow:hidden}
}

/* Approved 2027 campaign copy: keep the longer introduction readable on all screens. */
.campaign-copy{margin-top:24px}
.campaign-copy p{margin:0 0 1.15em;color:#526b70;font-size:15px;line-height:2}
.join-heading .uat-availability-note{margin-top:22px;padding:13px 18px;border-left:3px solid #efdc8e;background:rgba(255,255,255,.08);font-size:13px;line-height:1.8}
.staff-walk-copy p{max-width:570px;margin:0 0 1.15em;font-size:16px;line-height:1.95;color:#536e72}
.staff-walk-copy .campaign-contact{margin-top:22px;font-weight:800;color:#164c57}
.campaign-contact a{color:#125e69;text-decoration:underline;text-underline-offset:4px}
