/* camp.ui.travel-atlas.v1 — a paper atlas above a whole world of flags. */
.camp-atlas{position:relative;background:#d2b38b;color:#1e493e;scroll-margin-top:0;isolation:isolate}
.atlas-stage{position:relative;min-height:800px;padding:95px 5% 75px;overflow:hidden;perspective:1600px;background:#cdb493}
.atlas-live.camp-atlas{height:380svh;min-height:2450px}.atlas-live .atlas-stage{height:100svh;min-height:660px;position:sticky;top:0;padding:0;overflow:clip}
.atlas-table{position:absolute;inset:-6% -5%;pointer-events:none;transform:translateY(var(--table-drift,0px));filter:saturate(.72);opacity:.88}
.atlas-table:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#fff2 0 1px,transparent 1px 3px);mix-blend-mode:soft-light}
.atlas-table-flag{position:absolute;left:var(--fx);top:var(--fy);width:16.8%;aspect-ratio:4/3;transform:rotate(var(--fa));box-shadow:2px 9px 12px #392c304f;z-index:var(--layer);background:#f8eddd}
.atlas-table-flag img{display:block;width:100%;height:100%;object-fit:fill}.atlas-table-flag:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#fff8,transparent 38%,#231b1c26 75%,#fff3);box-shadow:inset 0 0 0 1px #fff3}
.atlas-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#f6eedcf5 0%,#f4ebd8ed 20%,#eadac475 36%,#c3ad9225 55%,#ede4cc91 80%,#f5eddbef 100%)}
.atlas-heading{position:relative;text-align:center;z-index:12;pointer-events:none}.atlas-live .atlas-heading{position:absolute;top:90px;left:6%;right:6%}.atlas-heading .eyebrow{font-size:9px;letter-spacing:.21em;margin:0 0 13px}.atlas-heading h2{font:500 clamp(40px,4vw,62px)/1.01 var(--serif);letter-spacing:-.045em;margin:0;text-shadow:0 1px 15px #fff7eab0}.atlas-heading h2 em{color:#a45a3e}
.atlas-paper{position:relative;z-index:5;background:#f3e5c8;border-radius:2px;box-shadow:0 2px 2px #42280b33,3px 10px 12px #42280b2b,18px 30px 40px #382e3340;transform-origin:center;backface-visibility:hidden}
.atlas-world-paper{width:min(74%,980px);margin:45px auto;transform:rotate(-4deg);padding:7px}.atlas-live .atlas-world-paper{position:absolute;top:61%;left:50%;width:min(74vw,calc((100svh - 265px)*1.5),1060px);margin:0;transform:translate(-50%,-50%) rotate(-4deg);will-change:transform}
.atlas-art{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}.atlas-paper:after{content:'';position:absolute;inset:7px;pointer-events:none;background:linear-gradient(90deg,transparent 32.9%,#502e1717 33.2%,#fff5 33.5%,transparent 34%,transparent 66.1%,#502e1717 66.5%,#fff5 66.8%,transparent 67%),linear-gradient(0deg,transparent 49.6%,#2e392812 50%,#fff2 50.3%,transparent 50.7%)}
.atlas-route-layer{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);overflow:hidden}.atlas-route-ghost{fill:none;stroke:#f8ebc9;stroke-width:1.25;stroke-dasharray:3 9;opacity:.48}
.atlas-flight-path{fill:none;stroke:#fff3ce;stroke-width:2.2;stroke-linecap:round;filter:drop-shadow(0 1px 2px #2c6153)}
.atlas-map-label{fill:#fff3d5;font:600 10px sans-serif;letter-spacing:1.2px;paint-order:stroke;stroke:#305953;stroke-width:2.5px;stroke-linejoin:round}.atlas-plane-motion{filter:drop-shadow(4px 7px 3px #13373870)}
.atlas-origin-dot{fill:#fff3ce;stroke:#34685e;stroke-width:1.5}.atlas-journey{transition:opacity .25s ease}.atlas-journey.is-muted{opacity:.20}.atlas-journey.is-chosen .atlas-flight-path,.atlas-journey[data-origin="us"] .atlas-flight-path{stroke:#ffcf79;stroke-width:3}.atlas-journey.is-chosen .atlas-map-label{fill:#ffe0a4;font-size:13px}.atlas-journey.is-chosen .atlas-origin-dot{fill:#ffcf79;r:5}
.atlas-arrival-ring{fill:#fff3;stroke:#ffe8ba;stroke-width:1.6}.atlas-ph-pin{position:absolute;left:81.7%;top:49%;transform:translate(-14%,-100%) rotate(4deg);display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;background:#fff8e6;box-shadow:3px 7px 10px #152f3b33;border-radius:2px;white-space:nowrap;width:max-content;z-index:3}.atlas-ph-pin:after{content:'';position:absolute;bottom:-8px;left:19px;border-top:9px solid #fff8e6;border-left:6px solid transparent;border-right:6px solid transparent}.atlas-ph-pin img{width:39px;height:29px;object-fit:fill}.atlas-ph-pin>span{font-family:var(--serif);font-size:20px;line-height:1}.atlas-ph-pin small{display:block;font:8px/1.7 sans-serif;letter-spacing:.03em;margin-top:4px}.atlas-paper-note{position:absolute;left:6%;bottom:3.8%;font:500 23px/1 Camp Notes,cursive;color:#fff0c9;text-shadow:0 2px 3px #194943;transform:rotate(1deg)}
.atlas-local-paper{width:min(44%,500px);margin:0 auto;transform:rotate(5deg);padding:0 8px 9px}.atlas-live .atlas-local-paper{position:absolute;left:64%;top:60%;width:min(42vw,calc((100svh - 265px)*.94),500px);margin:0;opacity:0;pointer-events:none;will-change:transform,opacity;transform:translate(-50%,-40%) rotate(12deg)}
.atlas-local-heading{height:66px;padding:15px 18px 10px;position:relative;z-index:2}.atlas-local-heading>span{display:block;font-size:7px;letter-spacing:.18em;margin-bottom:7px;color:#7e785d}.atlas-local-heading>strong{font:500 27px/1 var(--serif);letter-spacing:-.02em}.atlas-local-heading em{color:#a65c3e}.atlas-luzon{display:block;width:100%;height:auto;overflow:hidden}.local-place{font:10px sans-serif;letter-spacing:1.5px;fill:#5d5e43}.local-sea{font:italic 13px Georgia,serif;letter-spacing:3px;fill:#4f8c88}.local-region{font:15px Georgia,serif;fill:#7e8b60}
.atlas-local-footer{display:flex;justify-content:space-between;gap:8px;padding:12px 10px 2px;font-size:6px;letter-spacing:.05em;color:#5e6e5a}.atlas-camp-pin{position:absolute;left:26.6%;top:47%;color:#a94e36;transform:translate(-18px,-100%) rotate(-3deg);white-space:nowrap;z-index:4;padding-bottom:20px}.atlas-camp-pin b{font:500 31px/1 Camp Notes,cursive;text-shadow:0 1px 4px #f8e9bd}.atlas-camp-pin small{display:block;font-size:7px;color:#40593d;margin-top:3px}.atlas-pin-head{position:absolute;bottom:0;left:11px;width:12px;height:12px;background:#be6644;border:3px solid #fcebc8;border-radius:50%;box-shadow:1px 3px 4px #2a453e55}.atlas-coast-note{position:absolute;left:6%;bottom:12%;font:500 27px Camp Notes,cursive;transform:rotate(-12deg);color:#527c72}
.atlas-car,.atlas-little-boat{position:absolute;left:0;top:0;z-index:4;transform-origin:center;pointer-events:none}.atlas-car{width:22px;height:38px;filter:drop-shadow(3px 4px 2px #39422970)}.atlas-little-boat{width:38px;height:46px;filter:drop-shadow(3px 4px 2px #246c6a50)}.atlas-car svg,.atlas-little-boat svg{display:block;width:100%;height:100%}
.atlas-passport-stamp{position:absolute;left:9%;bottom:17%;width:155px;height:155px;border:2px solid #a45e47aa;outline:1px solid #a45e4788;outline-offset:-8px;color:#9d513bbd;border-radius:50%;transform:rotate(-18deg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9;background:#f5e9cbda;box-shadow:3px 6px 15px #483e2920}.atlas-passport-stamp strong{font:600 27px var(--serif);letter-spacing:1px;border-top:1px solid #a45e4777;border-bottom:1px solid #a45e4777;padding:5px 0;margin:8px 0}.atlas-passport-stamp>span{font-size:6px;letter-spacing:1.1px}
.atlas-bottom{position:relative;display:flex;align-items:end;justify-content:space-between;gap:20px;z-index:12;margin-top:40px}.atlas-live .atlas-bottom{position:absolute;bottom:33px;left:7%;right:7%;margin:0}.atlas-leg{font-size:8px;letter-spacing:.2em;color:#785e40}.atlas-story-caption p{font:500 23px var(--serif);margin:6px 0 0;letter-spacing:-.02em}.atlas-story-caption p em{color:#a45c3f}.atlas-directions{display:flex;align-items:center;gap:25px;font-size:11px;min-height:44px;border-bottom:1px solid #876d4b;white-space:nowrap}.atlas-directions:hover{color:#a45c3f}.atlas-directions:focus-visible{outline:2px solid #a45c3f;outline-offset:5px}.atlas-symbols{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.atlas-in-view #camp-canopy{visibility:hidden}
@media(max-width:700px){
.atlas-live.camp-atlas{height:350svh;min-height:2100px}.atlas-live .atlas-stage{min-height:650px}.atlas-live .atlas-heading{top:102px;left:6%;right:6%}.atlas-heading .eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:16px}.atlas-heading h2{font-size:clamp(34px,9.2vw,48px);line-height:1.03}.atlas-table{inset:0 -40%;opacity:.85}.atlas-table-flag{width:23%;height:auto;aspect-ratio:4/3}.atlas-shade{background:linear-gradient(180deg,#f5ecdbf2 0%,#f5ecdbf2 24%,#eadac445 45%,#d8c4a456 70%,#f5eddbef 100%)}
.atlas-live .atlas-world-paper{top:52%;width:86vw;padding:4px}.atlas-route-layer{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}.atlas-paper:after{inset:4px}.atlas-ph-pin{gap:4px;padding:6px;left:76%;top:46%}.atlas-ph-pin img{width:23px;height:17px}.atlas-ph-pin>span{font-size:13px}.atlas-ph-pin small{font-size:5px;margin-top:2px}.atlas-ph-pin:after{left:17px;bottom:-7px}.atlas-paper-note{font-size:12px;bottom:4%}.atlas-plane-motion{filter:drop-shadow(8px 10px 3px #13373870)}
.atlas-live .atlas-local-paper{left:50%;top:55%;width:min(80vw,calc((100svh - 315px)*.9));padding:0 6px 6px}.atlas-local-heading{height:52px;padding:12px 12px 8px}.atlas-local-heading>span{font-size:6px;margin-bottom:5px}.atlas-local-heading>strong{font-size:23px}.atlas-local-footer{font-size:5px;padding:9px 5px 0}.atlas-camp-pin b{font-size:23px}.atlas-camp-pin small{font-size:5px}.atlas-camp-pin{padding-bottom:15px;left:27%}.atlas-coast-note{font-size:21px;bottom:13%}.atlas-car{width:17px;height:29px}.atlas-little-boat{width:27px;height:33px}.atlas-passport-stamp{left:7%;bottom:20%;width:105px;height:105px;outline-offset:-5px}.atlas-passport-stamp strong{font-size:17px;margin:6px 0;padding:4px 0}.atlas-passport-stamp>span{font-size:4px;letter-spacing:.6px}.atlas-live .atlas-bottom{left:7%;right:7%;bottom:35px;align-items:start;flex-direction:column;gap:10px}.atlas-leg{font-size:7px}.atlas-story-caption p{font-size:21px;line-height:1.2;max-width:290px}.atlas-directions{min-height:38px;font-size:10px;gap:20px}.atlas-stage{padding:95px 6% 45px}.atlas-world-paper{width:96%;padding:4px}.atlas-local-paper{width:80%}.atlas-bottom{flex-direction:column;align-items:start}.atlas-stage:not(.atlas-live .atlas-stage) .atlas-passport-stamp{display:none}
}
@media(max-width:360px){.atlas-live .atlas-heading{top:94px}.atlas-heading h2{font-size:31px}.atlas-live .atlas-world-paper{top:51%}.atlas-live .atlas-local-paper{top:54%;width:76vw}.atlas-live .atlas-bottom{bottom:28px}.atlas-story-caption p{font-size:19px}.atlas-passport-stamp{bottom:23%;width:90px;height:90px}.atlas-passport-stamp strong{font-size:15px}.atlas-car{width:16px;height:27px}}
@media(prefers-reduced-motion:reduce){.camp-atlas{height:auto!important;min-height:0!important}.atlas-stage{position:relative!important;height:auto!important;padding:90px 6% 55px}.atlas-heading{position:relative!important;inset:auto!important}.atlas-paper{position:relative!important;left:auto!important;top:auto!important;margin:40px auto!important;opacity:1!important;transform:none!important;width:min(90%,900px)!important}.atlas-local-paper{max-width:450px}.atlas-bottom{position:relative!important;inset:auto!important}.atlas-passport-stamp{display:none}.atlas-table{transform:none!important}.atlas-story-caption p{max-width:350px}.atlas-plane-motion{display:none}}

@media(min-width:701px){.atlas-heading h2{font-size:clamp(40px,3.65vw,60px)}.atlas-story-caption{max-width:270px}.atlas-bottom{pointer-events:none}.atlas-directions{pointer-events:auto}}

.atlas-camp-pin b,.atlas-camp-pin small{position:relative;left:-50px}
@media(max-width:700px){.atlas-camp-pin b,.atlas-camp-pin small{left:-20px}}
/* Pull the destination label inward while its pointer stays over the Philippines. */
@media(max-width:700px){.atlas-ph-pin{left:81.7%;top:49%;transform:translate(-80%,-100%) rotate(4deg)}.atlas-ph-pin:after{left:calc(80% - 6px)}}
/* Reserve a clear band for the invitation and route link below the atlas. */
@media(min-width:701px){.atlas-live .atlas-world-paper{top:55%;width:min(74vw,calc((100svh - 365px)*1.5),1060px)}}

/* A personal invitation, with one touch-friendly origin control beside the next step. */
.atlas-actions{display:flex;align-items:end;gap:30px;pointer-events:auto}
.atlas-origin-picker{display:grid;gap:4px;min-width:190px;max-width:230px;cursor:pointer}
.atlas-origin-picker>span{font-size:7px;letter-spacing:.14em;color:#6b573e}
.atlas-origin-picker select{font:500 16px/1.2 var(--serif);width:100%;min-height:44px;border:0;border-bottom:1px solid #876d4b;border-radius:0;background:transparent;color:#254d40;padding:8px 24px 8px 0;cursor:pointer}
.atlas-origin-picker select:focus-visible{outline:2px solid #995534;outline-offset:4px}
.atlas-live .atlas-bottom{align-items:end}
@media(min-width:701px){.atlas-story-caption{max-width:350px}.atlas-story-caption p{font-size:24px}}
@media(max-width:700px){
 .atlas-live.camp-atlas{height:420svh;min-height:2450px}
 .atlas-heading .eyebrow{max-width:280px;margin-left:auto;margin-right:auto;line-height:1.6}
 .atlas-actions{width:100%;gap:18px;align-items:end;justify-content:space-between}
 .atlas-origin-picker{min-width:0;flex:1;width:auto;max-width:none}.atlas-origin-picker>span{font-size:6px;letter-spacing:.08em;line-height:1.5;max-width:150px}
 .atlas-origin-picker select{font-size:16px;min-height:44px;padding-right:15px}
 .atlas-directions{font-size:9px;gap:8px;min-height:44px;white-space:normal;line-height:1.4;max-width:100px;flex:0 0 85px}
 .atlas-live .atlas-bottom{align-items:start;gap:14px;bottom:28px}.atlas-story-caption p{max-width:320px}
 .atlas-passport-stamp{bottom:25%}.atlas-plane-motion{filter:drop-shadow(4px 7px 3px #13373870)}
}
@media(max-width:360px){.atlas-actions{gap:14px}.atlas-passport-stamp{width:80px;height:80px;bottom:26%}.atlas-live .atlas-bottom{bottom:24px}.atlas-story-caption p{max-width:270px}.atlas-directions{max-width:85px}}
@media(prefers-reduced-motion:reduce){.atlas-journey{transition:none}.atlas-plane-wrap{display:none}.atlas-bottom{gap:22px}}
