/* Valley Fest — family.css: the /family landing page. The colourful 2026 landing-page design, placed inside the
   main site's shell (rail nav, topbar, More menu, footer). Everything is fp-prefixed so nothing touches site components. */
.fp{--fp-forest:#1b6e24;--fp-deep:#0d3d10;--fp-moss:#2a6b2e;--fp-sage:#5cb85c;--fp-mist:#b8e6b8;--fp-gold:#ffe000;--fp-amber:#ff9900;--fp-cream:#f9f5e7;--fp-bark:#1f2a1f;--fp-warm:#fffbe6;--fp-pink:#ff3fa4;
  margin:calc(-1 * var(--topbar-h,76px)) -24px 0;overflow:hidden;background:var(--fp-cream);color:var(--fp-bark);isolation:isolate;font-family:var(--body)}
@media (max-width:900px){.fp{margin-left:-14px;margin-right:-14px}}
.fp *{box-sizing:border-box}
.fp img{max-width:100%;height:auto;display:block}
.fp a{color:inherit}
.fp h1,.fp h2,.fp h3,.fp h4{margin:0}
.fp .fp-on-dark{color:#fff}.fp .fp-on-dark em{color:var(--fp-gold)}.fp .fp-on-light{color:var(--fp-forest)}.fp .fp-on-light em{color:var(--fp-amber)}
/* hero */
.fp-hero{position:relative;min-height:min(92svh,860px);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:calc(var(--topbar-h,76px) + 24px) 24px 56px}
.fp-hero-bg{position:absolute;inset:0;background:var(--fp-deep) url('https://iili.io/CnAor21.png') center/cover no-repeat}
.fp-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,61,16,.12) 0%,rgba(13,61,16,.08) 30%,rgba(13,61,16,.78) 68%,rgba(13,61,16,.97) 100%)}
.fp-hero-content{position:relative;z-index:2;max-width:960px;width:100%;display:flex;flex-direction:column;align-items:center}
.fp-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,224,0,.14);border:1px solid rgba(255,224,0,.55);color:var(--fp-gold);font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.45rem 1rem;border-radius:999px;margin-bottom:18px}
.fp-dot{width:7px;height:7px;border-radius:50%;background:var(--fp-gold);animation:fp-pulse 2s infinite}
.fp-logo{width:min(440px,70vw);height:auto;margin:0 auto 14px;filter:drop-shadow(0 8px 36px rgba(0,0,0,.45))}
.fp-title{font-size:clamp(28px,4.8vw,56px);line-height:1.05;color:#fff;margin-bottom:22px;text-shadow:0 6px 30px rgba(0,0,0,.4);letter-spacing:.01em}
.fp-title em{font-style:normal;color:var(--fp-gold)}
.fp-stats{display:flex;justify-content:center;width:100%;max-width:640px;background:rgba(5,30,8,.74);border:1px solid rgba(255,224,0,.3);border-radius:18px;overflow:hidden;margin-bottom:24px;backdrop-filter:blur(6px)}
.fp-stats div{flex:1;padding:14px 8px;border-right:1px solid rgba(184,230,184,.2)}.fp-stats div:last-child{border-right:none}
.fp-stats b{display:block;font-family:var(--body);font-weight:700;font-size:clamp(22px,2.6vw,30px);color:var(--fp-gold);line-height:1}
.fp-stats span{display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fp-mist);margin-top:5px}
.fp-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.fp-ctas-left{justify-content:flex-start}
.fp-btn-gold,.fp-btn-green,.fp-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:15px 30px;font-family:var(--body);font-size:15px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;line-height:1.1}
.fp-btn-gold{background:linear-gradient(90deg,var(--fp-gold),var(--fp-amber));color:var(--fp-deep) !important;box-shadow:0 10px 30px rgba(255,200,0,.3)}
.fp-btn-gold:hover,.fp-btn-gold:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,153,0,.42)}
.fp-btn-green{background:var(--fp-forest);color:#fff !important}.fp-btn-green:hover,.fp-btn-green:focus-visible{background:var(--fp-deep);transform:translateY(-2px)}
.fp-btn-outline{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.55)}.fp-btn-outline:hover,.fp-btn-outline:focus-visible{border-color:var(--fp-gold);color:var(--fp-gold);transform:translateY(-2px)}
.fp-btn-outline-dark{color:var(--fp-forest) !important;border-color:var(--fp-forest)}
/* marquee + countdown */
.fp-marquee{background:var(--fp-gold);padding:12px 0;overflow:hidden;white-space:nowrap}
.fp-marquee-in{display:inline-flex;gap:2.4rem;align-items:center;animation:fp-marquee 32s linear infinite}
.fp-marquee-in span{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fp-deep)}.fp-marquee-in i{font-style:normal;color:var(--fp-forest);opacity:.6}
.fp-countdown{background:var(--fp-deep);padding:26px 24px;display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;border-bottom:1px solid rgba(255,224,0,.12)}
.fp-cd-label{font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--fp-gold)}
.fp-cd-units{display:flex}
.fp-cd-unit{display:flex;flex-direction:column;align-items:center;padding:0 1.6rem;border-right:1px solid rgba(184,230,184,.2)}.fp-cd-unit:last-child{border-right:none}
.fp-cd-num{font-family:var(--body);font-weight:700;font-size:2.6rem;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.fp-cd-l{font-size:10.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--fp-sage);margin-top:4px}
/* shared */
.fp-tag{font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--fp-gold);display:flex;align-items:center;gap:.6rem;margin-bottom:14px}
.fp-tag::before{content:'';display:block;width:24px;height:2px;background:currentColor}
.fp-tag-amber{color:var(--fp-amber)}
.fp-h2{font-size:clamp(28px,3.6vw,46px);line-height:1.08}
.fp-h2 em{font-style:normal}
.fp-on-dark{color:#fff}.fp-on-dark em{color:var(--fp-gold)}
.fp-on-light{color:var(--fp-forest)}.fp-on-light em{color:var(--fp-amber)}
/* intro */
.fp-intro{background:var(--fp-forest);padding:5rem 3rem;display:grid;grid-template-columns:1fr 1.7fr;gap:3.5rem;align-items:start}
.fp-intro-left{position:sticky;top:100px}
.fp-intro-right p{font-size:17px;line-height:1.8;color:var(--fp-mist);margin:0 0 1.2rem}.fp-intro-right p strong{color:#fff}
.fp-quote{margin:0 0 1.3rem;border-left:4px solid var(--fp-gold);padding:1rem 1.4rem;background:rgba(255,224,0,.07);border-radius:0 14px 14px 0}
.fp-quote p{font-size:18px;color:#fff;line-height:1.6;font-weight:600;font-style:italic;margin:0}
.fp-quote cite{display:block;font-style:normal;font-size:12px;color:var(--fp-mist);margin-top:.5rem;letter-spacing:.06em;text-transform:uppercase}
/* gallery */
.fp-go{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--fp-deep)}
.fp-go img{width:100%;aspect-ratio:1/1;object-fit:cover}
.fp-collage{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:4px;background:var(--fp-deep)}
.fp-collage img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
@media (hover:hover){.fp-collage img:hover{transform:scale(1.05)}}
/* kids */
.fp-kids{background:linear-gradient(135deg,var(--fp-amber),#ff6a00);padding:2.8rem 2rem;text-align:center}
.fp-kids-title{font-size:clamp(30px,3.6vw,46px);color:#fff;line-height:1.1;margin-bottom:.5rem}
.fp-kids-sub{font-size:17px;color:rgba(255,255,255,.93);max-width:740px;margin:0 auto;line-height:1.7}
/* packages */
.fp-packages{background:var(--fp-cream);padding:5rem 2.5rem}
.fp-pack-head{text-align:center;margin-bottom:2.8rem}
.fp-packs{display:grid;grid-template-columns:1.25fr 1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
.fp-pack{background:var(--fp-deep);border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(13,61,16,.22);color:#fff;display:flex;flex-direction:column;position:relative}
.fp-pack-light{background:#fff;color:var(--fp-bark);box-shadow:0 20px 50px rgba(13,61,16,.12);border:1px solid rgba(42,107,46,.15)}
.fp-pack-top{padding:2.4rem 2.4rem 1.6rem;background:linear-gradient(135deg,#072309,var(--fp-forest))}
.fp-pack-light .fp-pack-top{background:var(--fp-warm)}
.fp-pack-badge{position:absolute;top:18px;right:18px;background:var(--fp-pink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px}
.fp-pack-tag{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--fp-gold);margin-bottom:.5rem;padding-right:140px}
.fp-pack-light .fp-pack-tag{color:var(--fp-amber);padding-right:0}
.fp-pack-name{font-size:clamp(30px,3.6vw,46px);line-height:1;color:#fff}.fp-pack-light .fp-pack-name{color:var(--fp-forest)}
.fp-pack-desc{font-size:16px;color:var(--fp-mist);margin:.7rem 0 0;line-height:1.65}.fp-pack-light .fp-pack-desc{color:var(--fp-moss)}
.fp-price{font-family:var(--body);font-weight:700;letter-spacing:-.01em;font-size:clamp(44px,5vw,62px);color:var(--fp-gold);line-height:1;margin-top:1.2rem}
.fp-price small{display:block;font-family:var(--body);font-size:13px;font-weight:700;color:var(--fp-mist);letter-spacing:.04em;margin-top:6px}
.fp-price-sm{font-size:clamp(28px,3vw,40px);color:var(--fp-forest)}.fp-price-sm small{color:var(--fp-moss)}
.fp-pack-body{padding:1.6rem 2.4rem 2.4rem;display:flex;flex-direction:column;gap:1.4rem;flex:1}
.fp-features h4{font-size:11.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--fp-gold);margin-bottom:.8rem}
.fp-pack-light .fp-features h4{color:var(--fp-amber)}
.fp-features ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.fp-features li{display:flex;gap:.6rem;font-size:15.5px;line-height:1.45;color:var(--fp-mist)}.fp-pack-light .fp-features li{color:var(--fp-bark)}
.fp-features li b{color:var(--fp-gold);flex:none}.fp-pack-light .fp-features li b{color:var(--fp-forest)}
.fp-pack-cta{margin-top:auto;display:grid;gap:.7rem}
.fp-pack-note{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--fp-sage);background:rgba(255,255,255,.05);border:1px solid rgba(184,230,184,.18);border-radius:10px;padding:.6rem}
.fp-pack-light .fp-pack-note{background:var(--fp-warm);border-color:rgba(42,107,46,.15);color:var(--fp-moss)}
.fp-fine{text-align:center;font-size:14px;color:var(--fp-moss);margin:1.4rem auto 0;max-width:800px;line-height:1.6}
/* splits */
.fp-split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;padding:5rem 3rem}
.fp-wellness{background:var(--fp-deep);color:#fff}.fp-dining{background:#fff}
.fp-split .fp-h2{margin:.4rem 0 1rem}
.fp-split p{font-size:17px;line-height:1.8;margin:0 0 1rem}.fp-wellness p{color:var(--fp-mist)}.fp-dining p{color:var(--fp-moss)}
.fp-split ul{list-style:none;margin:1rem 0 1.6rem;padding:0;display:grid;gap:.6rem}
.fp-split li{display:flex;gap:.6rem;align-items:flex-start;font-size:16px}
.fp-split li b{color:var(--fp-gold);flex:none}.fp-dining li b{color:var(--fp-amber)}
.fp-pic{border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.fp-pic img{width:100%;height:100%;object-fit:cover}
/* what's on */
.fp-on{background:var(--fp-cream);padding:5rem 3rem}
.fp-on-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.6rem}
.fp-card{background:#fff;border:1px solid rgba(42,107,46,.14);border-radius:18px;padding:1.8rem;transition:transform .25s,box-shadow .25s}
.fp-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(13,61,16,.12)}
.fp-ico{font-size:2rem;display:block;margin-bottom:.6rem}
.fp-card-t{font-size:21px;color:var(--fp-forest);margin-bottom:.4rem}
.fp-card p{font-size:15px;color:var(--fp-moss);line-height:1.65;margin:0}
/* pillars */
.fp-pillars{background:var(--fp-forest);padding:4.5rem 3rem;color:#fff}
.fp-pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(184,230,184,.18);border-radius:18px;overflow:hidden;margin-top:2.4rem}
.fp-pillar{background:var(--fp-deep);padding:2.2rem 1.4rem;text-align:center}
.fp-pillar b{display:block;font-family:var(--body);font-weight:700;font-size:3rem;color:var(--fp-gold);line-height:1}
.fp-pillar span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-sage);margin-top:.4rem}
/* final */
.fp-final{background:var(--fp-cream);padding:6rem 2rem;text-align:center}
.fp-final-title{font-size:clamp(34px,5vw,64px);color:var(--fp-forest);line-height:1.02;margin:.4rem 0 1.3rem}
.fp-final-title em{font-style:normal;color:var(--fp-amber)}
.fp-final-sub{font-size:17px;color:var(--fp-moss);line-height:1.8;margin:0 auto 2.2rem;max-width:700px}
.fp-final-note{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fp-sage);margin-top:1.2rem}
/* here */
.fp-here{background:#fff;padding:4.5rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.fp-here .fp-h2{margin:.3rem 0 1rem}
.fp-here p{color:var(--fp-moss);line-height:1.8;margin:0 0 1rem;font-size:17px}
.fp-here address{font-style:normal;font-weight:800;color:var(--fp-bark);margin-bottom:1.4rem}
.fp-map{border-radius:22px;overflow:hidden;border:1px solid rgba(42,107,46,.15);aspect-ratio:4/3;background:var(--fp-warm)}
.fp-map iframe{width:100%;height:100%;border:0;display:block}
@keyframes fp-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}
@keyframes fp-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fp-marquee-in,.fp-dot{animation:none}.fp-card,.fp-collage img,.fp-btn-gold,.fp-btn-green,.fp-btn-outline{transition:none}}
/* responsive */
@media (max-width:960px){
  .fp-intro{grid-template-columns:1fr;padding:3.5rem 1.4rem;gap:2rem}.fp-intro-left{position:static}
  .fp-collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .fp-packages{padding:3.5rem 1.2rem}.fp-packs{grid-template-columns:1fr}
  .fp-pack-top,.fp-pack-body{padding-left:1.5rem;padding-right:1.5rem}.fp-pack-tag{padding-right:120px}
  .fp-split{grid-template-columns:1fr;padding:3.5rem 1.4rem;gap:1.8rem}.fp-split .fp-pic{aspect-ratio:4/3;order:-1}
  .fp-on{padding:3.5rem 1.4rem}.fp-on-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .fp-pillars{padding:3.5rem 1.4rem}.fp-pillars-grid{grid-template-columns:1fr 1fr}
  .fp-final{padding:4.5rem 1.4rem}
  .fp-here{padding:3.5rem 1.4rem;grid-template-columns:1fr}
}
@media (max-width:640px){
  .fp-hero{min-height:auto;padding:calc(var(--topbar-h,76px) + 24px) 16px 36px}
  .fp-logo{width:min(300px,78vw)}
  .fp-title{font-size:clamp(28px,9vw,40px)}
  .fp-stats{flex-wrap:wrap}.fp-stats div{flex:1 1 50%;border-bottom:1px solid rgba(184,230,184,.2)}.fp-stats div:nth-child(2n){border-right:none}
  .fp-ctas{flex-direction:column;align-items:stretch;width:100%;max-width:340px}
  .fp-cd-unit{padding:0 .8rem}.fp-cd-num{font-size:2rem}
  .fp-collage{grid-auto-rows:150px}
  .fp-on-grid{grid-template-columns:1fr}
  .fp-pack-badge{position:static;display:inline-block;margin-bottom:10px}.fp-pack-tag{padding-right:0}
}
