/* Real photographs, paper frames and a Philippine-led welcome. */
@font-face{font-family:Camp Notes;src:url('../assets/type/camp-notes-subset.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
.camp-welcome{position:relative;padding:95px 6% 65px;background:#f3efdf;color:#204f44;text-align:center;overflow:clip}
.welcome-copy{position:relative;z-index:11;max-width:1100px;margin:auto}
.welcome-copy .eyebrow{font-size:10px;letter-spacing:.19em}
.welcome-copy h2{font-family:var(--serif);font-size:clamp(48px,4.4vw,64px);line-height:1.04;letter-spacing:-.055em;margin:23px 0}
.welcome-copy h2 em{color:#ad633e}
.welcome-copy>p:last-child{font-size:14px;line-height:1.9;max-width:490px;margin:auto}
.flag-parade{position:relative;z-index:11;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:24px;max-width:1100px;margin:50px auto 28px;padding:30px 20px 10px;list-style:none}
.flag-parade:before{content:'';position:absolute;left:0;right:0;top:15px;height:24px;border-top:1px solid #9b8a624d;border-radius:50%;pointer-events:none}
.welcome-flag{position:relative;min-width:0;align-self:start;padding-top:var(--flag-sag,0px)}
.welcome-flag:nth-child(2),.welcome-flag:nth-child(6){--flag-sag:12px}.welcome-flag:nth-child(3),.welcome-flag:nth-child(5){--flag-sag:20px}.welcome-flag:nth-child(4){--flag-sag:24px}
.flag-cloth{position:relative;aspect-ratio:4/3;max-width:126px;margin:auto;filter:drop-shadow(0 12px 9px #183a2420)}
.flag-cloth:before,.flag-cloth:after{content:'';position:absolute;top:-5px;width:5px;height:11px;border-radius:1px;background:#9b8060;z-index:1;box-shadow:1px 1px 1px #0002}.flag-cloth:before{left:4%}.flag-cloth:after{right:4%}
.flag-cloth img{display:block;width:100%;height:100%;object-fit:contain}
.cloth-ready .flag-cloth img{opacity:0}.tropical-unavailable .flag-cloth img,.reduced .flag-cloth img{opacity:1}
.welcome-flag>span{display:block;font-size:9px;font-weight:600;letter-spacing:.05em;line-height:1.5;margin-top:19px;min-height:27px}
.welcome-flag:first-child>span{color:#9a4c35}.welcome-flag:first-child>span:after{content:'OUR HOME';display:block;font-size:7px;letter-spacing:.13em;margin-top:3px}
.welcome-note{position:relative;z-index:11;font-family:Camp Notes,cursive;font-size:30px;color:#ae6847;line-height:1.2;margin:20px 0 0}
.camp-memories{position:relative;background:#e7eddf;color:#1f5146;overflow:clip}
.memory-stage{position:relative;padding:90px 5% 80px}
.memory-heading{position:relative;z-index:11;text-align:center;max-width:720px;margin:0 auto 45px}
.memory-heading .eyebrow{font-size:9px;letter-spacing:.18em}
.memory-heading h2{font:600 clamp(50px,6vw,82px)/1.03 var(--serif);letter-spacing:-.06em;margin:19px 0 16px}
.memory-heading h2 em{color:#a65d3b}
.memory-heading>p:last-child{font-size:12px;line-height:1.8}
.memory-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative;z-index:11;perspective:1400px}
.memory-card{display:block;position:relative;padding:12px 12px 17px;background:#fffdf5;box-shadow:0 3px 5px #263e3212,0 18px 28px #263e3224;transform:rotate(var(--paper-angle,0deg));color:#2c574f;border:1px solid #e5e5d9;border-radius:1px;min-width:0;backface-visibility:hidden;transform-origin:50% 65%;outline-offset:7px}
.memory-card:nth-child(1){--paper-angle:-8deg}.memory-card:nth-child(2){--paper-angle:5deg}.memory-card:nth-child(3){--paper-angle:-3deg}.memory-card:nth-child(4){--paper-angle:8deg}.memory-card:nth-child(5){--paper-angle:-5deg}
.memory-photo{display:block;aspect-ratio:1/1.07;overflow:hidden;background:#dbe5d7}
.memory-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-focus,50% 50%);transform:none;filter:none;transition:none}
.memory-caption{display:block;font:500 clamp(25px,2.1vw,34px)/1.05 Camp Notes,cursive;text-align:center;padding:14px 0 0;white-space:normal;min-height:49px}
.memory-location{display:block;font-size:6px;line-height:1.5;letter-spacing:.13em;text-align:center;margin-top:7px;text-transform:uppercase;color:#7e8d79}
.memory-card:focus-visible{outline:2px solid #a6633d;z-index:20!important}
.memory-scroll{position:relative;z-index:11;text-align:center;margin:40px auto 0;font-size:10px;color:#627767;line-height:1.8}
.memory-scroll span{display:block;font-family:Camp Notes,cursive;font-size:24px;color:#a65d3b}
.memory-all{display:inline-flex;align-items:center;min-height:44px;font-size:11px;text-underline-offset:5px;text-decoration:underline}
.memory-live .camp-memories{height:235svh;min-height:1350px}
.memory-live .memory-stage{position:sticky;top:0;height:100svh;min-height:650px;padding-top:105px;clip-path:inset(0)}
.memory-live .memory-heading{margin-bottom:0;pointer-events:none}
.memory-live .memory-cards{position:absolute;inset:0;pointer-events:none}
.memory-live .memory-card{position:absolute;top:54%;left:50%;width:21%;max-width:245px;pointer-events:auto;will-change:transform,opacity}
.memory-live .memory-card[inert]{pointer-events:none}
.memory-live .memory-scroll{position:absolute;bottom:23px;left:10%;right:10%;margin:0;pointer-events:none}
.memory-live .memory-all{pointer-events:auto}
@media(max-width:900px){.flag-parade{gap:17px;padding-left:0;padding-right:0}.memory-card{padding:9px 9px 14px}.memory-caption{font-size:27px}.memory-live .memory-card{width:25%}.camp-welcome{padding-left:5%;padding-right:5%}}
@media(max-width:700px){
 .camp-welcome{padding:80px 7% 60px}.welcome-copy .eyebrow{font-size:8px}.welcome-copy h2{font-size:clamp(40px,10.5vw,61px);margin:18px 0 21px}.welcome-copy>p:last-child{font-size:12px;line-height:1.85;max-width:330px}
 .flag-parade{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 15px;padding:15px 0 0;margin:30px auto 0;max-width:410px}.flag-parade:before{display:none}.welcome-flag{padding-top:0!important}.welcome-flag:first-child{grid-column:1/-1;width:90px;justify-self:center}.welcome-flag:nth-child(n+2){grid-column:auto}.welcome-flag:nth-child(6){grid-column:2}.flag-cloth{max-width:78px}.welcome-flag>span{font-size:8px;margin-top:11px;min-height:20px}.welcome-flag:first-child>span{min-height:26px}.welcome-note{font-size:28px;margin:28px 0 0}
 .memory-stage{padding:65px 7% 60px}.memory-heading h2{font-size:clamp(44px,12vw,68px);margin:15px 0}.memory-heading .eyebrow{font-size:8px}.memory-heading>p:last-child{font-size:11px;max-width:270px;margin:auto}.memory-cards{grid-template-columns:1fr 1fr;gap:30px 18px}.memory-card{padding:8px 8px 13px}.memory-caption{font-size:24px;min-height:42px;padding-top:12px}.memory-location{font-size:5px}.memory-photo{aspect-ratio:1}.memory-cards .memory-card:last-child{grid-column:1/-1;width:55%;justify-self:center}
 .memory-live .camp-memories{height:310svh;min-height:1650px}.memory-live .memory-stage{height:100svh;min-height:600px;padding-top:95px}.memory-live .memory-card,.memory-live .memory-cards .memory-card:last-child{width:64%;max-width:300px;top:54%;left:50%;padding:12px 12px 18px}.memory-live .memory-caption{font-size:31px;min-height:45px}.memory-live .memory-location{font-size:6px}.memory-live .memory-photo{aspect-ratio:1.04}.memory-live .memory-scroll{bottom:22px}.memory-scroll span{font-size:22px}.memory-all{font-size:10px}
}
@media(max-width:360px){.welcome-copy h2{font-size:38px}.welcome-flag>span{font-size:7px}.flag-parade{gap:22px 12px}.memory-live .memory-card,.memory-live .memory-cards .memory-card:last-child{width:67%;top:57%}.memory-live .memory-stage{padding-top:88px}.memory-heading h2{font-size:41px}.memory-live .memory-caption{font-size:28px}.memory-scroll span{font-size:20px}}
@media(max-height:700px) and (min-width:701px){.memory-live .memory-stage{padding-top:90px;min-height:600px}.memory-heading h2{font-size:58px}.memory-live .memory-card{max-width:240px;top:61%}.memory-caption{font-size:27px}}
@media(prefers-reduced-motion:reduce){.memory-card{transform:none!important;opacity:1!important}.flag-cloth img{opacity:1!important}}
