*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,sans-serif;background:#132d22;color:#fff;overflow-x:hidden}.hero{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:linear-gradient(#6e7f82 0%,#a89982 35%,#d8b77f 58%,#254433 100%)}.hero:after{content:"";position:absolute;inset:0;z-index:8;background:linear-gradient(rgba(5,18,13,.12),rgba(4,18,12,.58));pointer-events:none}.sun{position:absolute;z-index:1;top:18%;left:50%;width:110px;height:110px;transform:translateX(-50%);border-radius:50%;background:rgba(255,217,151,.82);box-shadow:0 0 75px 28px rgba(255,199,108,.36)}.mountain{position:absolute;left:-10%;width:120%;bottom:10%;height:60%;clip-path:polygon(0 100%,0 82%,8% 68%,18% 76%,29% 40%,39% 63%,51% 13%,63% 64%,75% 30%,87% 70%,100% 49%,100% 100%)}.m1{z-index:2;bottom:23%;background:#7e908c;opacity:.62;transform:scale(1.08)}.m2{z-index:3;background:#50695f}.m3{z-index:4;height:42%;bottom:0;background:#1c382a;clip-path:polygon(0 100%,0 56%,12% 18%,24% 61%,39% 13%,50% 68%,64% 8%,77% 62%,90% 23%,100% 44%,100% 100%)}.trees{position:absolute;z-index:5;bottom:-2%;width:44%;height:58%;background:#102d20;clip-path:polygon(0 100%,0 79%,7% 79%,12% 52%,17% 79%,23% 79%,29% 34%,35% 79%,42% 79%,49% 20%,56% 79%,62% 79%,68% 42%,74% 79%,81% 79%,87% 28%,93% 79%,100% 79%,100% 100%)}.left{left:0}.right{right:0;transform:scaleX(-1)}.fog{position:absolute;z-index:6;width:78vw;height:150px;border-radius:50%;filter:blur(28px);background:rgba(255,255,255,.14);animation:drift 20s linear infinite}.f1{top:20%;left:-85%}.f2{top:52%;left:-95%;animation-delay:-9s}@keyframes drift{to{transform:translateX(230vw)}}.bears{position:absolute;z-index:7;bottom:6%;width:min(430px,72vw);color:#0b1712}.content{position:relative;z-index:10;width:min(920px,calc(100% - 34px));text-align:center;padding:42px 20px 90px;animation:reveal 1.2s ease both}@keyframes reveal{from{opacity:0;transform:translateY(24px)}}.badge{width:126px;margin:0 auto 22px;padding:14px 12px 16px;border:2px solid #c49a5a;border-radius:52% 52% 46% 46%/24% 24% 62% 62%;background:rgba(18,46,34,.86);box-shadow:0 0 0 5px rgba(239,227,202,.12),0 16px 35px rgba(0,0,0,.24)}.badge>*{display:block}.badge strong{font:700 20px "Cormorant Garamond",serif;letter-spacing:.12em}.badge span{font-size:10px;letter-spacing:.22em}.badge small,.badge em{font-size:8px;letter-spacing:.16em;color:#c49a5a;font-style:normal}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700}.content h1{margin:0;font:700 clamp(68px,10vw,126px)/.84 "Cormorant Garamond",serif;text-shadow:0 10px 30px rgba(0,0,0,.38)}.content h1 i{font-style:italic;font-weight:500;color:#efe3ca}.date{margin:24px 0 4px;font:600 clamp(25px,3vw,38px) "Cormorant Garamond",serif}.place{text-transform:uppercase;letter-spacing:.18em;font-size:11px}.countdown{display:grid;grid-template-columns:repeat(4,minmax(66px,110px));justify-content:center;margin:30px auto 0;border:1px solid rgba(239,227,202,.32);background:rgba(8,28,19,.48);backdrop-filter:blur(8px)}.countdown div{padding:14px 9px;border-right:1px solid rgba(239,227,202,.22)}.countdown div:last-child{border:0}.countdown b{display:block;font:700 clamp(31px,4vw,46px)/1 "Cormorant Garamond",serif}.countdown span{font-size:8px;text-transform:uppercase;letter-spacing:.14em}#enter{margin-top:26px;padding:16px 25px;border:1px solid rgba(255,255,255,.25);background:linear-gradient(#d5ab69,#bb8a47);color:#173526;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.24)}.sound{display:block;margin:14px auto 0;border:0;background:transparent;color:rgba(255,255,255,.78);font-size:10px;text-decoration:underline;cursor:pointer}#leaves{position:absolute;inset:0;z-index:9;pointer-events:none;overflow:hidden}.leaf{position:absolute;top:-40px;opacity:.62;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),112vh,0) rotate(660deg)}}.dark{color:#4b3225}@media(max-width:700px){.badge{width:106px}.content h1{font-size:clamp(58px,17vw,88px)}.countdown{grid-template-columns:repeat(4,minmax(58px,1fr));width:min(100%,390px)}.countdown div{padding:12px 4px}.countdown b{font-size:30px}.bears{bottom:8%;width:min(360px,78vw)}.trees{width:52%}.sun{width:82px;height:82px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* VERSION 0.2 — TRAILHEAD */
.trailhead{
  min-height:115vh;
  position:relative;
  display:block;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(#b8b39c 0%,#8c9a82 42%,#274735 100%);
  color:#fff;
}
.trailhead:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(12,35,25,.03),rgba(7,28,19,.55));
}
.trailhead-sky{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 72% 16%,rgba(255,223,166,.46),transparent 24%),
    linear-gradient(to bottom,rgba(255,255,255,.1),transparent 50%);
}
.trailhead-mountain{
  position:absolute;
  left:-8%;
  width:116%;
  clip-path:polygon(0 100%,0 72%,12% 53%,21% 67%,34% 25%,45% 65%,57% 15%,69% 68%,82% 34%,91% 62%,100% 48%,100% 100%);
}
.trailhead-mountain.far{
  z-index:1;
  bottom:28%;
  height:58%;
  background:#6e8075;
  opacity:.55;
}
.trailhead-mountain.near{
  z-index:2;
  bottom:10%;
  height:53%;
  background:#355848;
  opacity:.92;
  transform:scale(1.05);
}
.forest-depth{
  position:absolute;
  left:-2%;
  width:104%;
  bottom:0;
  clip-path:polygon(
    0 100%,0 80%,3% 80%,5% 48%,7% 80%,11% 80%,14% 36%,17% 80%,
    21% 80%,24% 54%,27% 80%,31% 80%,35% 25%,39% 80%,43% 80%,
    47% 42%,50% 80%,54% 80%,58% 30%,62% 80%,66% 80%,70% 47%,
    73% 80%,77% 80%,81% 23%,85% 80%,89% 80%,93% 40%,96% 80%,
    100% 80%,100% 100%
  );
}
.forest-back{z-index:2;height:58%;background:#244535;opacity:.72}
.forest-front{z-index:3;height:47%;background:#0d2a1d}
.trail-path{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:-8%;
  width:46%;
  height:72%;
  transform:translateX(-50%);
  background:linear-gradient(to bottom,rgba(192,169,122,.25),#a48255 65%,#725234);
  clip-path:polygon(45% 0,58% 0,70% 28%,62% 50%,82% 76%,100% 100%,0 100%,25% 72%,44% 50%,35% 29%);
  opacity:.93;
}
.park-nav{
  position:absolute;
  z-index:9;
  top:24px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:9px;
  padding:8px;
  border:1px solid rgba(239,227,202,.28);
  background:rgba(8,31,21,.62);
  backdrop-filter:blur(9px);
}
.park-nav a{
  padding:10px 13px;
  color:#f6efdf;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
  font-weight:700;
}
.park-nav a.active,.park-nav a:hover{background:#c49a5a;color:#173526}
.trailhead-inner{
  position:relative;
  z-index:8;
  width:min(1120px,calc(100% - 38px));
  min-height:115vh;
  margin:auto;
  padding:125px 0 120px;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:70px;
  align-items:center;
}
.entrance-sign{
  position:relative;
  padding:40px 42px 44px;
  text-align:center;
  background:
    linear-gradient(rgba(78,49,31,.12),rgba(36,22,14,.16)),
    repeating-linear-gradient(0deg,#6f482e 0,#6f482e 29px,#795037 30px,#795037 32px);
  border:10px solid #3e291c;
  box-shadow:
    0 0 0 4px #b99158,
    18px 23px 45px rgba(0,0,0,.36);
  transform:rotate(-1.5deg);
}
.entrance-sign:before,.entrance-sign:after{
  content:"";
  position:absolute;
  bottom:-145px;
  width:28px;
  height:145px;
  background:#3e291c;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.04);
}
.entrance-sign:before{left:58px}
.entrance-sign:after{right:58px}
.entrance-sign span,.entrance-sign strong{display:block}
.sign-top{
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
  color:#ead9b6;
}
.entrance-sign strong{
  font:700 clamp(46px,5.2vw,74px)/.9 "Cormorant Garamond",serif;
  color:#fff6e6;
  text-shadow:0 3px 0 rgba(0,0,0,.28);
}
.sign-subtitle{
  margin-top:18px;
  font:600 26px "Cormorant Garamond",serif;
  font-style:italic;
  color:#efd7ab;
}
.sign-date{
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid rgba(239,215,171,.4);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:10px;
  color:#f1dfbd;
}
.trailhead-copy{
  padding:44px;
  background:rgba(12,38,27,.79);
  border-left:6px solid #c49a5a;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}
.trailhead-copy h2{
  margin:8px 0 20px;
  font:700 clamp(52px,6vw,82px)/.9 "Cormorant Garamond",serif;
}
.trailhead-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#eef2ed}
.trail-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:28px 0 5px;
  border-top:1px solid rgba(255,255,255,.2);
  border-bottom:1px solid rgba(255,255,255,.2);
}
.trail-facts div{padding:18px 12px;border-right:1px solid rgba(255,255,255,.18)}
.trail-facts div:last-child{border:0}
.trail-facts span,.trail-facts strong{display:block}
.trail-facts span{
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:8px;
  color:#d6c49f;
}
.trail-facts strong{font:600 18px "Cormorant Garamond",serif}
.wood-button{
  margin-top:24px;
  padding:16px 24px;
  border:2px solid #3d291d;
  background:
    linear-gradient(rgba(255,255,255,.08),rgba(0,0,0,.14)),
    #9a6b40;
  color:#fff7e8;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 9px 0 #4b3225,0 16px 24px rgba(0,0,0,.24);
  transition:.22s ease;
}
.wood-button:hover{transform:translateY(-2px);box-shadow:0 11px 0 #4b3225,0 20px 30px rgba(0,0,0,.28)}
.trail-marker-card{
  position:absolute;
  z-index:10;
  right:3%;
  bottom:9%;
  width:220px;
  padding:23px;
  background:#e8d8b8;
  color:#243a2e;
  border:7px solid #765036;
  box-shadow:10px 13px 30px rgba(0,0,0,.27);
  transform:rotate(3deg);
}
.trail-marker-card span,.trail-marker-card strong,.trail-marker-card i{display:block}
.marker-distance{text-transform:uppercase;letter-spacing:.17em;font-size:8px;font-weight:700}
.trail-marker-card strong{margin:7px 0 2px;font:700 29px "Cormorant Garamond",serif}
.trail-marker-card>span:not(.marker-distance){font-size:11px}
.trail-marker-card i{margin-top:13px;font-size:11px;font-style:normal;font-weight:700;color:#8a5a37}
.paw-prints{
  position:absolute;
  z-index:7;
  left:50%;
  bottom:13%;
  transform:translateX(-50%) rotate(-10deg);
  display:flex;
  gap:48px;
  opacity:.5;
}
.paw-prints span{display:block;font-size:24px;transform:rotate(18deg)}
.paw-prints span:nth-child(2){transform:translateY(-28px) rotate(18deg)}
.paw-prints span:nth-child(3){transform:translateY(-55px) rotate(18deg)}
.coming-soon{
  min-height:78vh;
  display:grid;
  place-content:center;
  text-align:center;
  padding:80px 24px;
  background:#efe3ca;
  color:#132d22;
}
.coming-soon h2{
  margin:8px 0 18px;
  font:700 clamp(54px,8vw,88px)/.95 "Cormorant Garamond",serif;
}
.coming-soon p{max-width:660px;line-height:1.8}
.reveal-on-scroll{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .9s ease,transform .9s ease;
}
.reveal-on-scroll.visible{opacity:1;transform:none}
@media(max-width:850px){
  .park-nav{top:12px;width:calc(100% - 24px);overflow-x:auto;justify-content:flex-start}
  .park-nav a{white-space:nowrap}
  .trailhead-inner{grid-template-columns:1fr;gap:52px;padding-top:105px}
  .entrance-sign{margin:0 auto;width:min(620px,100%)}
  .entrance-sign:before,.entrance-sign:after{display:none}
  .trailhead-copy{width:min(680px,100%);margin:auto}
  .trail-marker-card{position:relative;right:auto;bottom:auto;margin:-15px auto 0}
  .trail-path{width:78%}
}
@media(max-width:600px){
  .trailhead-inner{width:min(100% - 24px,1120px)}
  .entrance-sign{padding:30px 20px 34px;border-width:7px}
  .sign-subtitle{font-size:21px}
  .trailhead-copy{padding:30px 22px}
  .trail-facts{grid-template-columns:1fr}
  .trail-facts div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .trail-facts div:last-child{border-bottom:0}
  .paw-prints{display:none}
}

/* VERSION 0.3 — BEAR MEADOW / OUR STORY */
.bear-meadow{
  position:relative;
  min-height:145vh;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:linear-gradient(#bfc6b3 0%,#94a68c 36%,#41654d 70%,#173827 100%);
}
.bear-meadow:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(13,36,25,.04),rgba(8,30,20,.48)),
    radial-gradient(circle at center,transparent 35%,rgba(8,25,18,.2));
}
.meadow-sky{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 28% 16%,rgba(255,228,172,.54),transparent 23%),
    linear-gradient(to bottom,rgba(255,255,255,.1),transparent 48%);
}
.meadow-mountains{
  position:absolute;
  left:-8%;
  width:116%;
  clip-path:polygon(0 100%,0 74%,11% 56%,21% 68%,33% 30%,43% 65%,55% 19%,67% 69%,80% 39%,91% 65%,100% 50%,100% 100%);
}
.meadow-mountains.far{
  z-index:1;
  bottom:31%;
  height:52%;
  background:#778d7e;
  opacity:.48;
}
.meadow-mountains.near{
  z-index:2;
  bottom:19%;
  height:48%;
  background:#456b55;
  opacity:.88;
  transform:scale(1.05);
}
.meadow-pines{
  position:absolute;
  z-index:3;
  left:-1%;
  bottom:0;
  width:102%;
  height:52%;
  background:#214632;
  clip-path:polygon(
    0 100%,0 80%,4% 80%,7% 47%,10% 80%,15% 80%,18% 35%,22% 80%,
    27% 80%,30% 55%,34% 80%,39% 80%,43% 28%,47% 80%,52% 80%,
    56% 42%,60% 80%,65% 80%,69% 30%,73% 80%,78% 80%,82% 51%,
    86% 80%,91% 80%,95% 37%,98% 80%,100% 80%,100% 100%
  );
}
.meadow-grass{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  height:31%;
  background:
    linear-gradient(rgba(17,57,38,.7),rgba(10,42,28,.95)),
    repeating-linear-gradient(81deg,transparent 0 17px,rgba(196,177,106,.12) 18px 19px);
  clip-path:polygon(0 14%,8% 9%,17% 15%,25% 6%,34% 13%,44% 4%,52% 12%,63% 5%,73% 14%,83% 7%,91% 13%,100% 8%,100% 100%,0 100%);
}
.story-nav{top:22px}
.bear-meadow-inner{
  position:relative;
  z-index:8;
  width:min(1160px,calc(100% - 40px));
  margin:auto;
  padding:130px 0 165px;
}
.story-heading{
  width:min(750px,100%);
  margin:0 auto 65px;
  text-align:center;
}
.story-heading h2{
  margin:5px 0 18px;
  font:700 clamp(72px,9vw,120px)/.82 "Cormorant Garamond",serif;
  text-shadow:0 8px 26px rgba(0,0,0,.23);
}
.story-heading>p:not(.eyebrow){
  max-width:620px;
  margin:auto;
  font-size:15px;
  line-height:1.8;
  color:#f1f4ef;
}
.story-layout{
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:70px;
  align-items:center;
}
.story-journal{
  position:relative;
  padding:48px 48px 42px 58px;
  color:#263a2e;
  background:
    linear-gradient(rgba(255,252,241,.9),rgba(238,225,194,.95)),
    repeating-linear-gradient(0deg,transparent 0 31px,rgba(92,111,91,.1) 32px);
  border:1px solid #ad9873;
  box-shadow:18px 24px 50px rgba(0,0,0,.33);
  transform:rotate(-.7deg);
}
.story-journal:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:27px;
  width:1px;
  background:rgba(155,86,67,.28);
}
.journal-pin{
  position:absolute;
  top:-10px;
  left:50%;
  width:24px;
  height:24px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#a36c3f;
  box-shadow:0 4px 8px rgba(0,0,0,.3),inset 0 3px 3px rgba(255,255,255,.28);
}
.story-intro{
  margin:0 0 28px;
  font:600 20px/1.55 "Cormorant Garamond",serif;
  color:#425245;
}
.story-timeline{
  position:relative;
  display:grid;
  gap:10px;
}
.story-timeline:before{
  content:"";
  position:absolute;
  top:25px;
  bottom:25px;
  left:26px;
  width:2px;
  background:#aa8859;
}
.timeline-stop{
  position:relative;
  display:grid;
  grid-template-columns:55px 1fr;
  gap:17px;
  padding:13px 0;
}
.timeline-number{
  position:relative;
  z-index:2;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff8e9;
  background:#31543f;
  border:4px solid #d6bd8d;
  font:700 17px "Cormorant Garamond",serif;
}
.timeline-stop small{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:8px;
  font-weight:700;
  color:#956b3f;
}
.timeline-stop h3{
  margin:2px 0 4px;
  font:700 29px "Cormorant Garamond",serif;
}
.timeline-stop p{
  margin:0;
  font-size:12px;
  line-height:1.65;
  color:#59645b;
}
.story-photos{
  position:relative;
  min-height:690px;
}
.story-photo{
  position:absolute;
  margin:0;
  padding:13px 13px 35px;
  width:69%;
  background:#f7f1e5;
  box-shadow:0 18px 45px rgba(0,0,0,.36);
}
.story-photo .photo-placeholder{
  aspect-ratio:4/3;
  display:grid;
  place-content:center;
  text-align:center;
  color:#45584a;
  background:
    linear-gradient(rgba(203,213,194,.68),rgba(111,139,112,.72)),
    repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 2px,transparent 3px 12px);
}
.photo-placeholder span{
  display:block;
  font:700 22px "Cormorant Garamond",serif;
}
.photo-placeholder small{
  display:block;
  margin-top:5px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:7px;
}
.story-photo figcaption{
  padding-top:12px;
  text-align:center;
  color:#3e453f;
  font:600 18px "Cormorant Garamond",serif;
  font-style:italic;
}
.photo-a{top:0;left:2%;transform:rotate(-6deg)}
.photo-b{top:205px;right:1%;transform:rotate(6deg);z-index:2}
.photo-c{bottom:0;left:7%;transform:rotate(-2deg);z-index:3}
.meadow-trail-sign{
  width:275px;
  margin:78px 6% 0 auto;
  padding:25px 30px;
  color:#f8efdd;
  text-align:center;
  background:
    linear-gradient(rgba(255,255,255,.06),rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg,#6f492f 0,#6f492f 25px,#795139 26px,#795139 28px);
  border:7px solid #3d281b;
  box-shadow:12px 14px 28px rgba(0,0,0,.3);
  transform:rotate(2deg);
}
.meadow-trail-sign span,
.meadow-trail-sign strong,
.meadow-trail-sign small,
.meadow-trail-sign i{display:block}
.meadow-trail-sign span{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:8px;
}
.meadow-trail-sign strong{
  margin:6px 0 2px;
  font:700 31px "Cormorant Garamond",serif;
}
.meadow-trail-sign small{font-size:10px;color:#ead8b8}
.meadow-trail-sign i{
  margin-top:12px;
  font-size:10px;
  font-style:normal;
  color:#d8ae6d;
}
.story-button{
  display:block;
  margin:31px auto 0;
}
.meadow-bears{
  position:absolute;
  z-index:6;
  right:7%;
  bottom:8%;
  width:180px;
  height:100px;
  opacity:.78;
}
.bear{
  position:absolute;
  display:block;
  border-radius:48% 52% 44% 44%;
  background:#071c12;
}
.bear:before{
  content:"";
  position:absolute;
  border-radius:50%;
  background:#071c12;
}
.bear:after{
  content:"";
  position:absolute;
  bottom:-20%;
  left:18%;
  width:15%;
  height:43%;
  border-radius:6px;
  background:#071c12;
  box-shadow:58px 0 #071c12;
}
.bear-large{right:0;bottom:0;width:105px;height:60px}
.bear-large:before{left:-25px;top:-8px;width:45px;height:42px}
.bear-small{left:0;bottom:3px;width:62px;height:37px}
.bear-small:before{left:-16px;top:-5px;width:29px;height:27px}
.bear-small:after{box-shadow:34px 0 #071c12}
.meadow-flowers{
  position:absolute;
  z-index:6;
  left:5%;
  bottom:8%;
  display:flex;
  gap:70px;
  color:#d8b365;
  opacity:.72;
}
.meadow-flowers span:nth-child(even){transform:translateY(-24px)}
@media(max-width:900px){
  .story-layout{grid-template-columns:1fr;gap:60px}
  .story-journal{width:min(720px,100%);margin:auto}
  .story-photos{width:min(680px,100%);margin:auto}
  .meadow-trail-sign{margin:55px auto 0}
  .meadow-bears{right:3%}
}
@media(max-width:610px){
  .bear-meadow-inner{width:min(100% - 24px,1160px);padding-top:110px}
  .story-heading{margin-bottom:42px}
  .story-journal{padding:38px 22px 32px 42px}
  .story-journal:before{left:20px}
  .story-intro{font-size:18px}
  .timeline-stop{grid-template-columns:47px 1fr;gap:12px}
  .timeline-number{width:46px;height:46px}
  .story-timeline:before{left:22px}
  .timeline-stop h3{font-size:25px}
  .story-photos{min-height:590px}
  .story-photo{width:78%}
  .photo-b{top:180px}
  .meadow-bears,.meadow-flowers{display:none}
}

/* VERSION 0.4 — CONCEPT BOARD HOMEPAGE */
.concept-hero{
  min-height:78vh;
  position:relative;
  display:block;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(rgba(6,18,13,.08),rgba(5,17,12,.18)),
    url("assets/hero-scene.jpg") center center/cover no-repeat;
}
.concept-hero:after{display:none}
.concept-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,20,14,.42),transparent 42%,rgba(5,20,14,.08)),
    linear-gradient(to bottom,rgba(4,13,10,.5),transparent 22%,transparent 72%,rgba(3,14,9,.55));
}
.hero-nav{
  position:absolute;
  z-index:20;
  top:0;
  left:0;
  right:0;
  min-height:74px;
  display:grid;
  grid-template-columns:105px 1fr 105px;
  align-items:center;
  gap:18px;
  padding:10px 26px;
  background:linear-gradient(rgba(8,18,14,.8),rgba(8,18,14,.18));
}
.hero-nav nav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:22px;
}
.hero-nav nav a,.nav-countdown{
  color:#f6ead4;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
  font-weight:700;
  text-shadow:0 2px 5px rgba(0,0,0,.5);
}
.hero-nav nav a:hover{color:#d9ad68}
.hero-mini-badge{
  width:66px;
  height:70px;
  display:grid;
  align-content:center;
  justify-items:center;
  color:#f4e8d1;
  text-decoration:none;
  background:#173727;
  border:2px solid #c79b56;
  border-radius:45% 45% 50% 50% / 20% 20% 68% 68%;
  box-shadow:0 7px 14px rgba(0,0,0,.35),inset 0 0 0 3px rgba(255,255,255,.05);
}
.hero-mini-badge small{font-size:6px;color:#cda662}
.hero-mini-badge strong{font:700 13px "Cormorant Garamond",serif;letter-spacing:.12em}
.hero-mini-badge span{font-size:6px;letter-spacing:.16em}
.hero-mini-badge em{font-size:6px;font-style:normal;color:#d3aa66}
.nav-countdown{text-align:right}
.nav-countdown span{color:#d5a758;font-size:14px}
.mobile-nav-toggle{display:none}
.concept-sign-wrap{
  position:relative;
  z-index:15;
  width:min(620px,48vw);
  padding-top:145px;
  margin-left:5.3vw;
  text-align:center;
}
.concept-sign{
  position:relative;
  padding:46px 42px 43px;
  color:#fff2dc;
  background:
    linear-gradient(rgba(255,255,255,.06),rgba(0,0,0,.18)),
    repeating-linear-gradient(0deg,#563a28 0,#563a28 35px,#64442f 36px,#64442f 39px);
  border:11px solid #2f231b;
  outline:3px solid #8a785c;
  box-shadow:0 22px 50px rgba(0,0,0,.5),inset 0 0 30px rgba(0,0,0,.36);
  clip-path:polygon(8% 0,42% 0,50% 6%,58% 0,92% 0,100% 8%,100% 92%,92% 100%,8% 100%,0 92%,0 8%);
}
.concept-sign:before,.concept-sign:after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  top:18px;
  background:#a59577;
  box-shadow:0 0 0 3px #31241b,inset 0 2px 2px rgba(255,255,255,.35);
}
.concept-sign:before{left:22px}
.concept-sign:after{right:22px}
.sign-mountain{
  display:block;
  margin-bottom:3px;
  font-size:23px;
  color:#cdb387;
  transform:scaleX(2.3);
}
.concept-sign h1{
  margin:0;
  font:700 clamp(45px,5.8vw,82px)/.96 "Cormorant Garamond",serif;
  text-transform:uppercase;
  letter-spacing:.01em;
  text-shadow:0 4px 0 rgba(0,0,0,.35);
}
.concept-sign h1 i{
  font-style:normal;
  color:#cfb68a;
}
.concept-date{
  margin:20px 0 0;
  padding:15px 0;
  border-top:1px solid rgba(239,219,180,.4);
  border-bottom:1px solid rgba(239,219,180,.4);
  font:600 clamp(19px,2.1vw,29px) "Cormorant Garamond",serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.concept-subtitle{
  margin:18px 0 0;
  font:600 clamp(20px,2vw,30px) "Cormorant Garamond",serif;
  font-style:italic;
  color:#ead6af;
}
.enter-park-button{
  margin-top:35px;
  border:0;
  color:#fff7e7;
  background:transparent;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  text-shadow:0 2px 6px rgba(0,0,0,.7);
}
.enter-park-button span{
  display:block;
  margin-top:4px;
  font-size:23px;
  animation:bounce 1.5s infinite;
}
.hero-live-countdown{
  position:absolute;
  z-index:17;
  top:88px;
  right:28px;
  display:grid;
  grid-template-columns:repeat(4,60px);
  border:1px solid rgba(232,215,182,.34);
  background:rgba(7,25,17,.55);
  backdrop-filter:blur(7px);
}
.hero-live-countdown div{
  padding:9px 5px;
  text-align:center;
  border-right:1px solid rgba(232,215,182,.22);
}
.hero-live-countdown div:last-child{border-right:0}
.hero-live-countdown b{
  display:block;
  font:700 22px "Cormorant Garamond",serif;
}
.hero-live-countdown span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:6px;
}
.concept-sound{
  position:absolute;
  z-index:17;
  right:28px;
  bottom:20px;
  border:0;
  color:rgba(255,255,255,.76);
  background:rgba(5,20,13,.46);
  padding:8px 10px;
  font-size:8px;
  text-decoration:underline;
  cursor:pointer;
}
.destination-deck{
  position:relative;
  z-index:30;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  min-height:43vh;
  margin-top:-2px;
  background:#071a11;
  border-top:3px solid #b99158;
  border-bottom:5px solid #213f2d;
}
.destination-card{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:55px 17px 30px;
  overflow:hidden;
  color:#fff3dd;
  text-decoration:none;
  text-align:center;
  border-right:1px solid rgba(223,196,147,.25);
  background-position:center;
  background-size:cover;
  transition:transform .35s ease,filter .35s ease;
}
.destination-card:last-child{border-right:0}
.destination-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(6,21,14,.12),rgba(5,18,12,.44) 45%,rgba(4,16,10,.86));
}
.destination-card:hover{
  transform:translateY(-7px);
  filter:brightness(1.08);
  z-index:3;
}
.trail-card{background-image:url("assets/panel-trailhead.jpg")}
.story-card{background-image:url("assets/panel-story.jpg")}
.gallery-card{background-image:url("assets/panel-gallery.jpg")}
.rsvp-card{background-image:url("assets/panel-rsvp.jpg")}
.campfire-card{background-image:url("assets/panel-campfire.jpg")}
.destination-tab{
  position:absolute;
  z-index:3;
  top:0;
  left:50%;
  min-width:75%;
  transform:translate(-50%,-2px);
  padding:7px 10px 9px;
  color:#2b332c;
  background:#efe1c4;
  border:2px solid #76543a;
  font:700 clamp(12px,1.2vw,17px) "Cormorant Garamond",serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 5px 12px rgba(0,0,0,.3);
}
.destination-content{
  position:relative;
  z-index:2;
  width:100%;
}
.destination-content p{
  margin:0;
  font:600 clamp(15px,1.5vw,22px) "Cormorant Garamond",serif;
  font-style:italic;
}
.destination-content h2{
  margin:5px 0 20px;
  font:700 clamp(23px,2.2vw,35px)/.95 "Cormorant Garamond",serif;
}
.card-action{
  display:inline-block;
  padding:10px 15px;
  color:#f6e9d0;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.12)),
    #70472d;
  border:2px solid #38271d;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:8px;
  font-weight:800;
  box-shadow:0 6px 0 #312017,0 12px 18px rgba(0,0,0,.25);
}
@media(max-width:980px){
  .hero-nav{grid-template-columns:80px 1fr 70px;padding-inline:15px}
  .hero-nav nav{gap:12px}
  .concept-sign-wrap{width:min(620px,64vw);margin-left:4vw}
  .destination-deck{grid-template-columns:repeat(3,1fr)}
  .destination-card{min-height:390px}
  .destination-card:nth-child(3){border-right:0}
}
@media(max-width:720px){
  .concept-hero{min-height:92vh;background-position:62% center}
  .hero-nav{grid-template-columns:70px 1fr 48px}
  .hero-nav nav{
    display:none;
    position:absolute;
    top:76px;
    left:12px;
    right:12px;
    padding:18px;
    flex-direction:column;
    background:rgba(7,26,17,.96);
    border:1px solid rgba(239,221,186,.25);
  }
  .hero-nav nav.open{display:flex}
  .mobile-nav-toggle{
    display:block;
    justify-self:end;
    border:0;
    background:transparent;
    color:#fff1da;
    font-size:24px;
  }
  .nav-countdown{display:none}
  .concept-sign-wrap{
    width:calc(100% - 34px);
    margin:0 auto;
    padding-top:126px;
  }
  .concept-sign{padding:35px 21px 32px;border-width:8px}
  .hero-live-countdown{
    top:auto;
    right:50%;
    bottom:66px;
    transform:translateX(50%);
    grid-template-columns:repeat(4,58px);
  }
  .concept-sound{right:12px;bottom:12px}
  .destination-deck{grid-template-columns:1fr}
  .destination-card{
    min-height:380px;
    border-right:0;
    border-bottom:1px solid rgba(223,196,147,.25);
  }
}

/* VERSION 0.6 — INTEGRATED HERO */
.concept-sign-wrap,
.concept-sign{
  display:none!important;
}
.integrated-hero-copy{
  position:relative;
  z-index:15;
  width:min(520px,42vw);
  margin-left:8vw;
  padding-top:150px;
  text-align:center;
  color:#f7ead2;
  text-shadow:
    0 3px 8px rgba(0,0,0,.72),
    0 10px 28px rgba(0,0,0,.45);
}
.integrated-kicker{
  margin:0 0 6px;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:10px;
  font-weight:800;
  color:#d6b173;
}
.integrated-hero-copy h1{
  margin:0;
  font:700 clamp(44px,5.4vw,76px)/.92 "Cormorant Garamond",serif;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.integrated-names{
  margin:10px 0 2px;
  font:700 clamp(36px,4.2vw,62px)/.95 "Cormorant Garamond",serif;
}
.integrated-date{
  margin:15px 0 0;
  font:600 clamp(18px,1.8vw,26px) "Cormorant Garamond",serif;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.integrated-subtitle{
  margin:8px 0 0;
  font:600 clamp(18px,1.7vw,25px) "Cormorant Garamond",serif;
  font-style:italic;
  color:#ead7b3;
}
.trail-post-button{
  margin-top:28px;
  min-width:170px;
  padding:14px 20px 12px;
  border:2px solid #3d291d;
  color:#fff1d5;
  background:
    linear-gradient(rgba(255,255,255,.06),rgba(0,0,0,.15)),
    repeating-linear-gradient(0deg,#6d472e 0,#6d472e 17px,#765039 18px,#765039 20px);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  box-shadow:
    0 8px 0 #352319,
    0 15px 25px rgba(0,0,0,.35);
  transition:.25s ease;
}
.trail-post-button:hover{
  transform:translateY(-2px);
  box-shadow:
    0 10px 0 #352319,
    0 20px 30px rgba(0,0,0,.42);
}
.trail-post-button span{
  display:block;
  margin-top:4px;
  font-size:21px;
  animation:bounce 1.5s infinite;
}
.concept-overlay{
  background:
    linear-gradient(90deg,rgba(5,20,14,.2),transparent 42%,rgba(5,20,14,.06)),
    linear-gradient(to bottom,rgba(4,13,10,.5),transparent 22%,transparent 72%,rgba(3,14,9,.55));
}
@media(max-width:900px){
  .integrated-hero-copy{
    width:min(620px,60vw);
    margin-left:4vw;
  }
}
@media(max-width:720px){
  .integrated-hero-copy{
    width:calc(100% - 34px);
    margin:0 auto;
    padding-top:130px;
  }
  .integrated-hero-copy h1{font-size:48px}
  .integrated-names{font-size:42px}
  .hero-live-countdown{
    bottom:62px;
  }
}

/* VERSION 0.7 — SUMMIT OVERLOOK / WEDDING DAY */
.summit-overlook{
  position:relative;
  min-height:150vh;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:linear-gradient(#d1c6aa 0%,#a7aa92 34%,#5f735f 64%,#203e2e 100%);
}
.summit-overlook:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(9,31,21,.02),rgba(7,26,18,.5)),
    radial-gradient(circle at center,transparent 34%,rgba(7,24,17,.17));
}
.summit-sky{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 68% 14%,rgba(255,225,167,.58),transparent 22%),
    linear-gradient(to bottom,rgba(255,255,255,.12),transparent 50%);
}
.summit-range{
  position:absolute;
  left:-8%;
  width:116%;
  clip-path:polygon(0 100%,0 74%,10% 58%,21% 68%,34% 29%,45% 66%,57% 18%,69% 69%,81% 36%,92% 64%,100% 49%,100% 100%);
}
.summit-back{
  z-index:1;
  bottom:35%;
  height:48%;
  background:#879486;
  opacity:.48;
}
.summit-mid{
  z-index:2;
  bottom:20%;
  height:50%;
  background:#58705f;
  opacity:.88;
}
.summit-front{
  z-index:3;
  bottom:0;
  height:44%;
  background:#234735;
  clip-path:polygon(0 100%,0 62%,12% 29%,22% 61%,35% 22%,48% 68%,62% 18%,74% 64%,88% 31%,100% 54%,100% 100%);
}
.summit-pines{
  position:absolute;
  z-index:4;
  left:-1%;
  bottom:0;
  width:102%;
  height:43%;
  background:#153725;
  clip-path:polygon(
    0 100%,0 82%,4% 82%,7% 50%,10% 82%,15% 82%,19% 35%,23% 82%,
    28% 82%,31% 56%,35% 82%,40% 82%,44% 30%,48% 82%,53% 82%,
    57% 45%,61% 82%,66% 82%,70% 31%,74% 82%,79% 82%,83% 54%,
    87% 82%,92% 82%,96% 38%,99% 82%,100% 82%,100% 100%
  );
}
.summit-light{
  position:absolute;
  z-index:2;
  top:5%;
  right:3%;
  width:48%;
  height:55%;
  background:conic-gradient(from 205deg at 62% 0%,transparent 0 12deg,rgba(255,231,184,.2) 20deg,transparent 31deg,rgba(255,231,184,.14) 43deg,transparent 55deg);
  filter:blur(12px);
  opacity:.55;
}
.summit-nav{top:22px}
.summit-inner{
  position:relative;
  z-index:8;
  width:min(1160px,calc(100% - 40px));
  margin:auto;
  padding:130px 0 170px;
}
.summit-heading{
  width:min(760px,100%);
  margin:0 auto 62px;
  text-align:center;
}
.summit-heading h2{
  margin:4px 0 18px;
  font:700 clamp(68px,8.5vw,112px)/.84 "Cormorant Garamond",serif;
  text-shadow:0 8px 25px rgba(0,0,0,.22);
}
.summit-heading>p:not(.eyebrow){
  max-width:650px;
  margin:auto;
  font-size:15px;
  line-height:1.8;
  color:#f2f4ef;
}
.summit-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:58px;
  align-items:start;
}
.overlook-board{
  padding:0 36px 34px;
  color:#f9efdb;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.14)),
    repeating-linear-gradient(0deg,#65432d 0,#65432d 33px,#6e4932 34px,#6e4932 37px);
  border:9px solid #3b281c;
  box-shadow:16px 22px 45px rgba(0,0,0,.34);
}
.board-header{
  margin:0 -36px 24px;
  padding:22px 25px;
  text-align:center;
  background:#173b2a;
  border-bottom:4px solid #c69a58;
}
.board-header span,.board-header strong{display:block}
.board-header span{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:8px;
  color:#d7b475;
}
.board-header strong{
  margin-top:4px;
  font:700 34px "Cormorant Garamond",serif;
}
.detail-row{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:16px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid rgba(240,220,184,.24);
}
.detail-row:last-of-type{border-bottom:0}
.detail-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d0a15b;
  color:#183728;
  font:700 17px "Cormorant Garamond",serif;
  border:4px solid rgba(255,255,255,.18);
}
.detail-row small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:8px;
  color:#d7b475;
}
.detail-row h3{
  margin:3px 0 2px;
  font:700 27px "Cormorant Garamond",serif;
}
.detail-row p{
  margin:0;
  font-size:11px;
  line-height:1.6;
  color:#eadfc9;
}
.summit-map-button{
  display:block;
  width:max-content;
  margin:25px auto 0;
  padding:13px 18px;
  color:#173526;
  background:#d2a45e;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:9px;
  font-weight:800;
  box-shadow:0 7px 0 #4b3225;
}
.day-timeline{
  padding:38px 34px 33px;
  color:#24382c;
  background:rgba(241,231,208,.96);
  border:1px solid #b7a47e;
  box-shadow:14px 19px 40px rgba(0,0,0,.3);
  transform:rotate(.6deg);
}
.timeline-title{
  padding-bottom:18px;
  margin-bottom:8px;
  text-align:center;
  border-bottom:1px solid #b9a478;
}
.timeline-title span{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:8px;
  font-weight:700;
  color:#95693c;
}
.timeline-title h3{
  margin:3px 0 0;
  font:700 36px "Cormorant Garamond",serif;
}
.day-stop{
  position:relative;
  display:grid;
  grid-template-columns:90px 1fr;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid rgba(83,93,80,.18);
}
.day-stop:last-child{border-bottom:0}
.day-stop time{
  font:700 18px "Cormorant Garamond",serif;
  color:#9a6b3d;
}
.day-stop h4{
  margin:0 0 4px;
  font:700 26px "Cormorant Garamond",serif;
}
.day-stop p{
  margin:0;
  font-size:11px;
  line-height:1.65;
  color:#5a655b;
}
.placeholder-stop{opacity:.76}
.summit-notes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:48px;
}
.summit-note{
  padding:28px;
  background:rgba(14,46,31,.8);
  border-top:5px solid #c49a5a;
  box-shadow:0 15px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(6px);
}
.summit-note span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
  color:#d7b475;
}
.summit-note h3{
  margin:5px 0 8px;
  font:700 29px "Cormorant Garamond",serif;
}
.summit-note p{
  margin:0;
  font-size:11px;
  line-height:1.7;
  color:#e4ebe5;
}
.summit-next{
  width:270px;
  margin:58px auto 0;
  padding:24px 28px;
  text-align:center;
  color:#f8eed9;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg,#6d472f 0,#6d472f 25px,#775039 26px,#775039 29px);
  border:7px solid #3c281b;
  box-shadow:12px 14px 28px rgba(0,0,0,.3);
  transform:rotate(-1.5deg);
}
.summit-next span,.summit-next strong,.summit-next small,.summit-next i{display:block}
.summit-next span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
}
.summit-next strong{
  margin:5px 0 2px;
  font:700 32px "Cormorant Garamond",serif;
}
.summit-next small{font-size:10px;color:#e2cfad}
.summit-next i{
  margin-top:11px;
  font-size:10px;
  font-style:normal;
  color:#d5aa68;
}
.summit-button{
  display:block;
  margin:30px auto 0;
}
@media(max-width:900px){
  .summit-grid{grid-template-columns:1fr}
  .overlook-board,.day-timeline{width:min(720px,100%);margin:auto}
  .summit-notes{grid-template-columns:1fr}
}
@media(max-width:610px){
  .summit-inner{width:min(100% - 24px,1160px);padding-top:110px}
  .overlook-board{padding:0 22px 28px}
  .board-header{margin:0 -22px 20px}
  .detail-row{grid-template-columns:48px 1fr;gap:12px}
  .detail-icon{width:42px;height:42px}
  .detail-row h3{font-size:23px}
  .day-timeline{padding:30px 22px}
  .day-stop{grid-template-columns:1fr;gap:6px}
}

/* VERSION 0.8 — RANGER STATION RSVP */
.ranger-station{
  position:relative;
  min-height:165vh;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:
    linear-gradient(rgba(8,26,18,.74),rgba(5,19,13,.94)),
    repeating-linear-gradient(90deg,#4d3527 0,#4d3527 104px,#38271f 105px,#38271f 110px);
}
.ranger-wall{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.38;
  background:
    repeating-linear-gradient(0deg,transparent 0 72px,rgba(255,255,255,.05) 73px,transparent 75px),
    linear-gradient(90deg,rgba(0,0,0,.3),transparent 25%,transparent 75%,rgba(0,0,0,.3));
}
.ranger-window{
  position:absolute;
  z-index:1;
  top:12%;
  right:5%;
  width:34%;
  height:34%;
  border:14px solid #2e2119;
  box-shadow:0 0 0 5px #7a573b,0 20px 50px rgba(0,0,0,.5);
  background:
    linear-gradient(rgba(24,56,40,.28),rgba(9,31,21,.48)),
    radial-gradient(circle at 58% 18%,rgba(255,226,167,.58),transparent 24%),
    linear-gradient(#9ca998 0%,#55705c 52%,#173a28 100%);
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}
.ranger-window:before,
.ranger-window:after{
  content:"";
  position:absolute;
  background:#2e2119;
}
.ranger-window:before{left:49%;top:0;bottom:0;width:8px}
.ranger-window:after{top:49%;left:0;right:0;height:8px}
.lantern-glow{
  position:absolute;
  z-index:2;
  top:34%;
  left:8%;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(239,170,77,.18);
  box-shadow:0 0 80px 35px rgba(239,170,77,.18);
  filter:blur(8px);
  animation:lanternPulse 3s ease-in-out infinite alternate;
}
@keyframes lanternPulse{
  from{opacity:.65;transform:scale(.96)}
  to{opacity:1;transform:scale(1.04)}
}
.ranger-nav{top:22px}
.ranger-inner{
  position:relative;
  z-index:8;
  width:min(1160px,calc(100% - 40px));
  margin:auto;
  padding:130px 0 180px;
}
.ranger-heading{
  width:min(760px,100%);
  margin:0 auto 58px;
  text-align:center;
}
.ranger-heading h2{
  margin:4px 0 17px;
  font:700 clamp(68px,8.5vw,112px)/.84 "Cormorant Garamond",serif;
  text-shadow:0 8px 26px rgba(0,0,0,.35);
}
.ranger-heading>p:not(.eyebrow){
  max-width:630px;
  margin:auto;
  font-size:15px;
  line-height:1.8;
  color:#eef1ec;
}
.ranger-desk{
  display:grid;
  grid-template-columns:.66fr 1.34fr;
  gap:42px;
  align-items:start;
}
.ranger-sign{
  position:sticky;
  top:110px;
  padding:35px 30px;
  text-align:center;
  color:#f9efd9;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.13)),
    repeating-linear-gradient(0deg,#67432c 0,#67432c 30px,#714b33 31px,#714b33 34px);
  border:8px solid #33231a;
  box-shadow:13px 17px 35px rgba(0,0,0,.38);
  transform:rotate(-1.4deg);
}
.ranger-sign>span{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:8px;
  color:#d8b276;
}
.ranger-sign>strong{
  display:block;
  margin:8px 0 12px;
  font:700 72px/.8 "Cormorant Garamond",serif;
}
.ranger-sign>p{
  margin:0;
  font:600 22px "Cormorant Garamond",serif;
  font-style:italic;
  color:#ead9b9;
}
.ranger-contact{
  display:grid;
  gap:5px;
  margin-top:27px;
  padding-top:22px;
  border-top:1px solid rgba(239,220,183,.34);
}
.ranger-contact small{
  margin-top:8px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:7px;
  color:#d8b276;
}
.ranger-contact b{
  font:700 22px "Cormorant Garamond",serif;
}
.guestbook{
  position:relative;
  padding:48px 46px 42px 62px;
  color:#28392f;
  background:
    linear-gradient(rgba(255,253,244,.96),rgba(237,225,199,.97)),
    repeating-linear-gradient(0deg,transparent 0 34px,rgba(88,108,89,.11) 35px);
  border:1px solid #af9973;
  box-shadow:18px 24px 55px rgba(0,0,0,.42);
  transform:rotate(.3deg);
}
.guestbook:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:34px;
  width:1px;
  background:rgba(156,83,64,.28);
}
.guestbook-binding{
  position:absolute;
  left:-14px;
  top:30px;
  bottom:30px;
  width:26px;
  border-radius:10px;
  background:repeating-linear-gradient(0deg,#8a6343 0 24px,#3f2b20 25px 34px);
  box-shadow:4px 0 10px rgba(0,0,0,.28);
}
.hidden-field{display:none}
.form-intro{
  text-align:center;
  margin-bottom:28px;
}
.form-intro span{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:8px;
  font-weight:700;
  color:#96693d;
}
.form-intro h3{
  margin:5px 0 0;
  font:700 43px "Cormorant Garamond",serif;
}
.rsvp-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:19px;
}
.rsvp-form-grid label{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:9px;
  font-weight:800;
  color:#4f5b52;
}
.rsvp-form-grid input,
.rsvp-form-grid select,
.rsvp-form-grid textarea{
  width:100%;
  margin-top:7px;
  padding:13px 12px;
  border:1px solid #9d8b6b;
  border-radius:0;
  color:#24372c;
  background:rgba(255,253,246,.88);
  font:500 13px Montserrat,sans-serif;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.rsvp-form-grid textarea{resize:vertical}
.rsvp-form-grid input:focus,
.rsvp-form-grid select:focus,
.rsvp-form-grid textarea:focus{
  border-color:#315640;
  box-shadow:0 0 0 3px rgba(49,86,64,.13);
}
.full-width{grid-column:1/-1}
.rsvp-confirmation{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:22px;
  font-size:11px;
  line-height:1.5;
  color:#4b5a50;
}
.rsvp-confirmation input{
  margin-top:2px;
  accent-color:#315640;
}
.submit-rsvp{
  display:block;
  margin:28px auto 0;
  padding:16px 24px;
  border:2px solid #3d291d;
  color:#fff4df;
  background:
    linear-gradient(rgba(255,255,255,.06),rgba(0,0,0,.14)),
    #754b31;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 0 #39261b,0 15px 26px rgba(0,0,0,.25);
  transition:.22s ease;
}
.submit-rsvp:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 0 #39261b,0 20px 31px rgba(0,0,0,.3);
}
.submission-note{
  margin:19px 0 0;
  text-align:center;
  font-size:9px;
  line-height:1.6;
  color:#70786f;
}
.ranger-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:48px;
}
.ranger-info{
  padding:27px;
  background:rgba(12,42,28,.82);
  border-top:5px solid #c49a5a;
  box-shadow:0 14px 28px rgba(0,0,0,.27);
  backdrop-filter:blur(7px);
}
.ranger-info span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
  color:#d8b376;
}
.ranger-info h3{
  margin:5px 0 8px;
  font:700 29px "Cormorant Garamond",serif;
}
.ranger-info p{
  margin:0;
  font-size:11px;
  line-height:1.7;
  color:#e3eae3;
}
.ranger-next{
  width:300px;
  margin:60px auto 0;
  padding:25px 30px;
  text-align:center;
  color:#f9eed8;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg,#6b472f 0,#6b472f 25px,#765039 26px,#765039 29px);
  border:7px solid #3b281b;
  box-shadow:12px 15px 29px rgba(0,0,0,.31);
  transform:rotate(1.3deg);
}
.ranger-next span,.ranger-next strong,.ranger-next small,.ranger-next i{display:block}
.ranger-next span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
}
.ranger-next strong{
  margin:5px 0 2px;
  font:700 31px "Cormorant Garamond",serif;
}
.ranger-next small{font-size:10px;color:#e2cfad}
.ranger-next i{
  margin-top:11px;
  font-size:10px;
  font-style:normal;
  color:#d6aa69;
}
.ranger-button{
  display:block;
  margin:30px auto 0;
}
@media(max-width:900px){
  .ranger-desk{grid-template-columns:1fr}
  .ranger-sign{
    position:relative;
    top:auto;
    width:min(520px,100%);
    margin:auto;
  }
  .guestbook{width:min(760px,100%);margin:auto}
  .ranger-info-grid{grid-template-columns:1fr}
}
@media(max-width:610px){
  .ranger-inner{width:min(100% - 24px,1160px);padding-top:110px}
  .guestbook{padding:38px 20px 34px 39px}
  .guestbook:before{left:21px}
  .guestbook-binding{left:-10px;width:20px}
  .rsvp-form-grid{grid-template-columns:1fr}
  .full-width{grid-column:auto}
  .form-intro h3{font-size:35px}
  .ranger-sign>strong{font-size:58px}
}
@media(prefers-reduced-motion:reduce){
  .lantern-glow{animation:none!important}
}

/* VERSION 0.9 — CAMPFIRE RECEPTION */
.campfire-reception{
  position:relative;
  min-height:155vh;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:linear-gradient(#17251f 0%,#0a1913 54%,#06110d 100%);
}
.campfire-reception:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 78%,rgba(233,132,52,.12),transparent 26%),
    linear-gradient(to bottom,rgba(5,15,11,.05),rgba(2,9,6,.48));
}
.night-sky{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(#fff 1px,transparent 1px),
    radial-gradient(#fff 1px,transparent 1px),
    linear-gradient(#15251e,#08140f);
  background-size:56px 56px,91px 91px,auto;
  background-position:0 0,24px 18px,0 0;
  opacity:.33;
}
.night-mountains{
  position:absolute;
  z-index:1;
  left:-7%;
  bottom:27%;
  width:114%;
  height:51%;
  background:#18352a;
  opacity:.84;
  clip-path:polygon(0 100%,0 72%,11% 52%,22% 69%,34% 31%,45% 67%,57% 18%,69% 70%,81% 39%,92% 65%,100% 50%,100% 100%);
}
.night-pines{
  position:absolute;
  z-index:3;
  left:-1%;
  bottom:0;
  width:102%;
  height:48%;
  background:#071d14;
  clip-path:polygon(
    0 100%,0 83%,4% 83%,7% 49%,10% 83%,15% 83%,19% 34%,23% 83%,
    28% 83%,31% 57%,35% 83%,40% 83%,44% 28%,48% 83%,53% 83%,
    57% 46%,61% 83%,66% 83%,70% 31%,74% 83%,79% 83%,83% 55%,
    87% 83%,92% 83%,96% 38%,99% 83%,100% 83%,100% 100%
  );
}
.string-lights{
  position:absolute;
  z-index:7;
  top:16%;
  left:8%;
  right:8%;
  height:80px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  border-top:2px solid rgba(55,38,28,.8);
  transform:rotate(-1deg);
}
.string-lights span{
  position:relative;
  width:12px;
  height:17px;
  border-radius:50% 50% 45% 45%;
  background:#f0b45c;
  box-shadow:0 0 16px 6px rgba(240,180,92,.38);
  animation:bulbGlow 2.8s ease-in-out infinite alternate;
}
.string-lights span:nth-child(even){animation-delay:-1.2s}
.string-lights span:before{
  content:"";
  position:absolute;
  left:50%;
  top:-17px;
  width:1px;
  height:18px;
  background:#3c2b22;
}
@keyframes bulbGlow{
  from{opacity:.68}
  to{opacity:1;box-shadow:0 0 22px 9px rgba(240,180,92,.5)}
}
.reception-nav{top:22px}
.reception-inner{
  position:relative;
  z-index:8;
  width:min(1160px,calc(100% - 40px));
  margin:auto;
  padding:150px 0 180px;
}
.reception-heading{
  width:min(790px,100%);
  margin:0 auto 65px;
  text-align:center;
}
.reception-heading h2{
  margin:5px 0 18px;
  font:700 clamp(66px,8vw,108px)/.86 "Cormorant Garamond",serif;
  color:#f4dfbd;
  text-shadow:0 8px 28px rgba(0,0,0,.44);
}
.reception-heading>p:not(.eyebrow){
  max-width:650px;
  margin:auto;
  font-size:15px;
  line-height:1.8;
  color:#e7ece7;
}
.reception-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}
.reception-schedule{
  padding:0 35px 32px;
  color:#f8eed9;
  background:
    linear-gradient(rgba(255,255,255,.04),rgba(0,0,0,.15)),
    repeating-linear-gradient(0deg,#60402b 0,#60402b 32px,#694730 33px,#694730 36px);
  border:9px solid #342319;
  box-shadow:16px 21px 45px rgba(0,0,0,.42);
}
.schedule-header{
  margin:0 -35px 23px;
  padding:22px 26px;
  text-align:center;
  background:#183c2a;
  border-bottom:4px solid #c49a5a;
}
.schedule-header span{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:8px;
  color:#d6ad69;
}
.schedule-header h3{
  margin:4px 0 0;
  font:700 36px "Cormorant Garamond",serif;
}
.reception-stop{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:18px;
  padding:19px 0;
  border-bottom:1px solid rgba(238,216,178,.22);
}
.reception-stop:last-child{border-bottom:0}
.reception-stop time{
  font:700 17px "Cormorant Garamond",serif;
  color:#d4a65e;
}
.reception-stop h4{
  margin:0 0 4px;
  font:700 27px "Cormorant Garamond",serif;
}
.reception-stop p{
  margin:0;
  font-size:11px;
  line-height:1.65;
  color:#eadfca;
}
.reception-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.reception-card{
  min-height:205px;
  padding:27px 24px;
  color:#26392f;
  background:rgba(239,227,202,.95);
  border-top:6px solid #9d6d3f;
  box-shadow:0 14px 31px rgba(0,0,0,.34);
}
.card-label{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
  font-weight:800;
  color:#9a683a;
}
.reception-card h3{
  margin:5px 0 9px;
  font:700 31px "Cormorant Garamond",serif;
}
.reception-card p{
  margin:0;
  font-size:11px;
  line-height:1.7;
  color:#59645b;
}
.reception-card a{
  display:inline-block;
  margin-top:15px;
  color:#315440;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.campfire-stage{
  position:relative;
  z-index:9;
  width:250px;
  height:235px;
  margin:54px auto 10px;
}
.fire-flames{
  position:absolute;
  left:50%;
  bottom:48px;
  width:120px;
  height:145px;
  transform:translateX(-50%);
}
.flame{
  position:absolute;
  bottom:0;
  left:50%;
  border-radius:50% 50% 48% 48%;
  transform:translateX(-50%) rotate(45deg);
  transform-origin:bottom center;
}
.flame-outer{
  width:100px;
  height:100px;
  background:#b54f29;
  animation:fireFlicker .9s ease-in-out infinite alternate;
}
.flame-middle{
  width:72px;
  height:72px;
  background:#e49b45;
  animation:fireFlicker .65s ease-in-out infinite alternate-reverse;
}
.flame-inner{
  width:40px;
  height:40px;
  background:#f6d37d;
  animation:fireFlicker .45s ease-in-out infinite alternate;
}
@keyframes fireFlicker{
  from{transform:translateX(-50%) rotate(42deg) scale(.92,1)}
  to{transform:translateX(-50%) rotate(47deg) scale(1.04,1.1)}
}
.fire-logs{
  position:absolute;
  left:50%;
  bottom:35px;
  width:145px;
  height:22px;
  transform:translateX(-50%);
}
.fire-logs span{
  position:absolute;
  inset:0;
  border-radius:10px;
  background:#71452f;
  box-shadow:inset 0 0 0 4px rgba(54,31,21,.35);
}
.fire-logs span:first-child{transform:rotate(13deg)}
.fire-logs span:last-child{transform:rotate(-13deg)}
.fire-sparks{
  position:absolute;
  inset:0;
}
.fire-sparks i{
  position:absolute;
  left:50%;
  bottom:130px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#efb55d;
  box-shadow:0 0 8px #efb55d;
  animation:sparkRise 2.4s linear infinite;
}
.fire-sparks i:nth-child(2){left:40%;animation-delay:-.4s}
.fire-sparks i:nth-child(3){left:58%;animation-delay:-.8s}
.fire-sparks i:nth-child(4){left:46%;animation-delay:-1.2s}
.fire-sparks i:nth-child(5){left:62%;animation-delay:-1.6s}
.fire-sparks i:nth-child(6){left:35%;animation-delay:-2s}
@keyframes sparkRise{
  from{transform:translate(0,0);opacity:1}
  to{transform:translate(22px,-105px);opacity:0}
}
.reception-note{
  width:min(560px,100%);
  margin:15px auto 0;
  padding:24px 28px;
  text-align:center;
  background:rgba(14,45,31,.82);
  border-top:5px solid #c49a5a;
  box-shadow:0 15px 30px rgba(0,0,0,.27);
}
.reception-note span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
  color:#d6ad69;
}
.reception-note strong{
  display:block;
  margin:5px 0 7px;
  font:700 31px "Cormorant Garamond",serif;
}
.reception-note p{
  margin:0;
  font-size:11px;
  line-height:1.7;
  color:#e5ebe5;
}
.reception-next{
  width:285px;
  margin:58px auto 0;
  padding:24px 29px;
  text-align:center;
  color:#f8eed9;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg,#6a4630 0,#6a4630 25px,#755039 26px,#755039 29px);
  border:7px solid #3b281b;
  box-shadow:12px 15px 29px rgba(0,0,0,.31);
  transform:rotate(-1.1deg);
}
.reception-next span,.reception-next strong,.reception-next small,.reception-next i{display:block}
.reception-next span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
}
.reception-next strong{
  margin:5px 0 2px;
  font:700 32px "Cormorant Garamond",serif;
}
.reception-next small{font-size:10px;color:#e2cfad}
.reception-next i{
  margin-top:11px;
  font-size:10px;
  font-style:normal;
  color:#d6aa69;
}
.reception-button{
  display:block;
  margin:30px auto 0;
}
@media(max-width:900px){
  .reception-grid{grid-template-columns:1fr}
  .reception-schedule,.reception-details{width:min(760px,100%);margin:auto}
}
@media(max-width:650px){
  .reception-inner{width:min(100% - 24px,1160px);padding-top:120px}
  .reception-details{grid-template-columns:1fr}
  .reception-stop{grid-template-columns:1fr;gap:6px}
  .reception-schedule{padding:0 22px 27px}
  .schedule-header{margin:0 -22px 20px}
  .string-lights{left:3%;right:3%}
}
@media(prefers-reduced-motion:reduce){
  .string-lights span,.flame,.fire-sparks i{animation:none!important}
}

/* VERSION 0.9.1 — INLINE RSVP CONFIRMATION */
.rsvp-status{
  display:none;
  margin-top:24px;
  padding:24px 22px;
  text-align:center;
  border:2px solid #315640;
  background:rgba(232,242,232,.92);
  color:#244032;
}
.rsvp-status.visible{display:block}
.rsvp-status.success{
  border-color:#315640;
  background:rgba(228,240,227,.96);
}
.rsvp-status.error{
  border-color:#9b493d;
  background:rgba(248,230,225,.96);
  color:#6f2d27;
}
.rsvp-status strong{
  display:block;
  margin-bottom:7px;
  font:700 30px "Cormorant Garamond",serif;
}
.rsvp-status p{
  margin:0;
  font-size:11px;
  line-height:1.7;
}
.submit-rsvp[disabled]{
  cursor:wait;
  opacity:.68;
  transform:none!important;
}

/* VERSION 1.0 — SCENIC LOOKOUT GALLERY */
.scenic-lookout{
  position:relative;
  min-height:150vh;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:linear-gradient(#c9c2ac 0%,#92a38f 38%,#425f4b 68%,#193626 100%);
}
.scenic-lookout:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(9,31,21,.03),rgba(7,25,18,.5)),
    radial-gradient(circle at center,transparent 34%,rgba(7,24,17,.16));
}
.lookout-sky{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 32% 15%,rgba(255,226,170,.52),transparent 23%),
    linear-gradient(to bottom,rgba(255,255,255,.1),transparent 50%);
}
.lookout-range{
  position:absolute;
  left:-8%;
  width:116%;
  clip-path:polygon(0 100%,0 74%,11% 56%,21% 68%,33% 30%,43% 65%,55% 19%,67% 69%,80% 39%,91% 65%,100% 50%,100% 100%);
}
.lookout-range.far{
  z-index:1;
  bottom:32%;
  height:50%;
  background:#7c8e80;
  opacity:.48;
}
.lookout-range.near{
  z-index:2;
  bottom:18%;
  height:49%;
  background:#486955;
  opacity:.89;
}
.lookout-pines{
  position:absolute;
  z-index:3;
  left:-1%;
  bottom:0;
  width:102%;
  height:47%;
  background:#173b29;
  clip-path:polygon(
    0 100%,0 82%,4% 82%,7% 49%,10% 82%,15% 82%,19% 35%,23% 82%,
    28% 82%,31% 57%,35% 82%,40% 82%,44% 29%,48% 82%,53% 82%,
    57% 45%,61% 82%,66% 82%,70% 31%,74% 82%,79% 82%,83% 54%,
    87% 82%,92% 82%,96% 38%,99% 82%,100% 82%,100% 100%
  );
}
.gallery-nav{top:22px}
.lookout-inner{
  position:relative;
  z-index:8;
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  padding:130px 0 180px;
}
.lookout-heading{
  width:min(760px,100%);
  margin:0 auto 58px;
  text-align:center;
}
.lookout-heading h2{
  margin:5px 0 18px;
  font:700 clamp(68px,8.5vw,112px)/.84 "Cormorant Garamond",serif;
  text-shadow:0 8px 26px rgba(0,0,0,.24);
}
.lookout-heading>p:not(.eyebrow){
  max-width:620px;
  margin:auto;
  font-size:15px;
  line-height:1.8;
  color:#eef2ed;
}
.lookout-wall{
  position:relative;
  min-height:850px;
  padding:50px;
  background:
    linear-gradient(rgba(26,48,35,.55),rgba(8,29,20,.72)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 90px,transparent 91px 95px);
  border:10px solid #3a281d;
  box-shadow:0 24px 60px rgba(0,0,0,.38);
}
.gallery-frame{
  position:absolute;
  display:block;
  margin:0;
  padding:12px 12px 35px;
  border:0;
  background:#f5efe3;
  box-shadow:0 18px 36px rgba(0,0,0,.36);
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease;
}
.gallery-frame:hover{
  z-index:5;
  transform:scale(1.04) rotate(0deg)!important;
  box-shadow:0 24px 48px rgba(0,0,0,.45);
}
.gallery-frame span{
  display:block;
  padding-top:11px;
  color:#3f4842;
  font:600 18px "Cormorant Garamond",serif;
  font-style:italic;
}
.gallery-placeholder{
  width:100%;
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  color:#43574a;
  background:
    linear-gradient(rgba(205,216,200,.72),rgba(108,137,111,.75)),
    repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 2px,transparent 3px 12px);
  font:700 24px "Cormorant Garamond",serif;
}
.frame-a{top:65px;left:6%;width:27%;transform:rotate(-5deg)}
.frame-b{top:75px;left:37%;width:25%;transform:rotate(4deg)}
.frame-c{top:55px;right:6%;width:27%;transform:rotate(-2deg)}
.frame-d{bottom:70px;left:9%;width:25%;transform:rotate(3deg)}
.frame-e{bottom:50px;left:39%;width:26%;transform:rotate(-4deg)}
.frame-f{bottom:72px;right:7%;width:25%;transform:rotate(5deg)}
.gallery-note{
  width:min(560px,100%);
  margin:46px auto 0;
  padding:25px 28px;
  text-align:center;
  background:rgba(13,43,29,.83);
  border-top:5px solid #c49a5a;
  box-shadow:0 15px 30px rgba(0,0,0,.28);
}
.gallery-note span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
  color:#d7b475;
}
.gallery-note strong{
  display:block;
  margin:5px 0 7px;
  font:700 31px "Cormorant Garamond",serif;
}
.gallery-note p{
  margin:0;
  font-size:11px;
  line-height:1.7;
  color:#e6ebe5;
}
.gallery-next{
  width:280px;
  margin:56px auto 0;
  padding:24px 28px;
  text-align:center;
  color:#f8eed9;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg,#6a4630 0,#6a4630 25px,#755039 26px,#755039 29px);
  border:7px solid #3b281b;
  box-shadow:12px 15px 29px rgba(0,0,0,.31);
  transform:rotate(1deg);
}
.gallery-next span,.gallery-next strong,.gallery-next small,.gallery-next i{display:block}
.gallery-next span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
}
.gallery-next strong{
  margin:5px 0 2px;
  font:700 32px "Cormorant Garamond",serif;
}
.gallery-next small{font-size:10px;color:#e2cfad}
.gallery-next i{
  margin-top:11px;
  font-size:10px;
  font-style:normal;
  color:#d6aa69;
}
.gallery-button{
  display:block;
  margin:30px auto 0;
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:30px;
  background:rgba(3,12,8,.93);
  backdrop-filter:blur(8px);
}
.gallery-lightbox.open{display:flex}
.lightbox-content{
  width:min(900px,82vw);
  margin:0;
  padding:16px 16px 38px;
  background:#f7f0e4;
  box-shadow:0 28px 80px rgba(0,0,0,.58);
}
.lightbox-image{
  min-height:min(68vh,640px);
  display:grid;
  place-items:center;
  color:#43574a;
  background:
    linear-gradient(rgba(205,216,200,.72),rgba(108,137,111,.75)),
    repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 2px,transparent 3px 12px);
  font:700 clamp(38px,7vw,72px) "Cormorant Garamond",serif;
}
.lightbox-content figcaption{
  padding-top:14px;
  text-align:center;
  color:#3e4741;
  font:600 24px "Cormorant Garamond",serif;
  font-style:italic;
}
.lightbox-close{
  position:absolute;
  top:18px;
  right:24px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:42px;
  cursor:pointer;
}
.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:rgba(255,255,255,.08);
  color:#fff;
  width:52px;
  height:72px;
  font-size:48px;
  cursor:pointer;
}
.lightbox-nav.previous{left:18px}
.lightbox-nav.next{right:18px}
@media(max-width:900px){
  .lookout-wall{
    min-height:auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
  .gallery-frame{
    position:relative;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    transform:none!important;
  }
}
@media(max-width:610px){
  .lookout-inner{width:min(100% - 24px,1180px);padding-top:110px}
  .lookout-wall{grid-template-columns:1fr;padding:24px}
  .lightbox-content{width:88vw}
  .lightbox-nav{width:42px;height:60px;font-size:38px}
  .lightbox-nav.previous{left:5px}
  .lightbox-nav.next{right:5px}
}

/* VERSION 1.1 — FOREST OF REMEMBRANCE */
.forest-remembrance{
  position:relative;
  min-height:150vh;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:linear-gradient(#1a2923 0%,#0d1d17 56%,#07120d 100%);
}
.forest-remembrance:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 52%,rgba(224,184,116,.08),transparent 32%),
    linear-gradient(to bottom,rgba(5,15,11,.04),rgba(3,10,7,.55));
}
.memorial-night{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.28;
  background:
    radial-gradient(#fff 1px,transparent 1px),
    radial-gradient(#fff 1px,transparent 1px);
  background-size:63px 63px,97px 97px;
  background-position:0 0,21px 19px;
}
.memorial-mountains{
  position:absolute;
  z-index:1;
  left:-8%;
  bottom:28%;
  width:116%;
  height:48%;
  background:#1b382c;
  opacity:.72;
  clip-path:polygon(0 100%,0 74%,11% 56%,21% 68%,33% 30%,43% 65%,55% 19%,67% 69%,80% 39%,91% 65%,100% 50%,100% 100%);
}
.memorial-trees{
  position:absolute;
  z-index:3;
  left:-1%;
  bottom:0;
  width:102%;
  height:50%;
  background:#081f15;
  clip-path:polygon(
    0 100%,0 83%,4% 83%,7% 49%,10% 83%,15% 83%,19% 34%,23% 83%,
    28% 83%,31% 57%,35% 83%,40% 83%,44% 28%,48% 83%,53% 83%,
    57% 46%,61% 83%,66% 83%,70% 31%,74% 83%,79% 83%,83% 55%,
    87% 83%,92% 83%,96% 38%,99% 83%,100% 83%,100% 100%
  );
}
.memorial-mist{
  position:absolute;
  z-index:4;
  left:-50%;
  width:68%;
  height:90px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  filter:blur(24px);
  animation:memorialDrift 28s linear infinite;
}
.memorial-mist.mist-a{bottom:26%;animation-delay:-8s}
.memorial-mist.mist-b{bottom:18%;opacity:.55;animation-delay:-18s}
@keyframes memorialDrift{
  to{transform:translateX(230vw)}
}
.memorial-nav{top:22px}
.memorial-inner{
  position:relative;
  z-index:8;
  width:min(1160px,calc(100% - 40px));
  margin:auto;
  padding:135px 0 180px;
}
.memorial-heading{
  width:min(760px,100%);
  margin:0 auto 60px;
  text-align:center;
}
.memorial-heading h2{
  margin:5px 0 18px;
  font:700 clamp(68px,8.5vw,112px)/.84 "Cormorant Garamond",serif;
  color:#f0dfc0;
  text-shadow:0 8px 28px rgba(0,0,0,.42);
}
.memorial-heading>p:not(.eyebrow){
  max-width:650px;
  margin:auto;
  font-size:15px;
  line-height:1.85;
  color:#e6ebe6;
}
.memorial-content{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:48px;
  align-items:start;
}
.memorial-message{
  padding:40px 36px;
  color:#f4e8d2;
  background:rgba(16,47,33,.8);
  border-left:6px solid #c59a5a;
  box-shadow:0 18px 45px rgba(0,0,0,.36);
  backdrop-filter:blur(7px);
}
.memorial-kicker{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:8px;
  font-weight:800;
  color:#d7b273;
}
.memorial-message h3{
  margin:6px 0 15px;
  font:700 42px/.95 "Cormorant Garamond",serif;
}
.memorial-message p{
  margin:0 0 15px;
  font-size:12px;
  line-height:1.8;
  color:#e3e9e3;
}
.memorial-placeholder{
  font-style:italic;
  opacity:.72;
}
.memorial-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.memory-card{
  padding:14px 14px 25px;
  text-align:center;
  color:#3f4a43;
  background:#f4eddf;
  box-shadow:0 16px 34px rgba(0,0,0,.34);
}
.memory-card:nth-child(1){transform:rotate(-2deg)}
.memory-card:nth-child(2){transform:rotate(2deg)}
.memory-card:nth-child(3){transform:rotate(-1deg)}
.memory-photo{
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
  color:#4b5e50;
  background:
    linear-gradient(rgba(204,214,200,.72),rgba(112,138,114,.72)),
    repeating-linear-gradient(135deg,rgba(255,255,255,.15) 0 2px,transparent 3px 12px);
  font:700 22px "Cormorant Garamond",serif;
}
.memory-card h3{
  margin:14px 0 4px;
  font:700 24px "Cormorant Garamond",serif;
}
.memory-card p{
  margin:0;
  font-size:9px;
  line-height:1.6;
  color:#667068;
}
.lantern-path{
  position:relative;
  height:250px;
  margin:65px auto 0;
  display:flex;
  justify-content:space-around;
  align-items:flex-end;
}
.memorial-lantern{
  position:relative;
  width:58px;
  height:88px;
  border:5px solid #5c3d29;
  background:rgba(225,163,71,.14);
  box-shadow:0 0 28px 10px rgba(225,163,71,.22);
}
.memorial-lantern:before{
  content:"";
  position:absolute;
  left:50%;
  top:-25px;
  width:34px;
  height:24px;
  transform:translateX(-50%);
  border:4px solid #5c3d29;
  border-bottom:0;
  border-radius:18px 18px 0 0;
}
.memorial-lantern i{
  position:absolute;
  left:50%;
  bottom:13px;
  width:18px;
  height:26px;
  transform:translateX(-50%);
  border-radius:50% 50% 45% 45%;
  background:#efb65c;
  box-shadow:0 0 16px 7px rgba(239,182,92,.5);
  animation:lanternFlicker 1.7s ease-in-out infinite alternate;
}
.l2{transform:translateY(-34px) scale(.9)}
.l3{transform:translateY(-70px) scale(.8)}
.l4{transform:translateY(-35px) scale(.9)}
.l5{transform:scale(.82)}
@keyframes lanternFlicker{
  from{opacity:.72;transform:translateX(-50%) scale(.92)}
  to{opacity:1;transform:translateX(-50%) scale(1.05)}
}
.memorial-quote{
  width:min(720px,100%);
  margin:20px auto 0;
  padding:30px 35px;
  text-align:center;
  color:#eadabb;
  border-top:1px solid rgba(225,201,158,.35);
  border-bottom:1px solid rgba(225,201,158,.35);
}
.memorial-quote p{
  margin:0;
  font:600 clamp(26px,3vw,38px)/1.2 "Cormorant Garamond",serif;
  font-style:italic;
}
.memorial-next{
  width:280px;
  margin:58px auto 0;
  padding:24px 28px;
  text-align:center;
  color:#f8eed9;
  background:
    linear-gradient(rgba(255,255,255,.05),rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg,#6a4630 0,#6a4630 25px,#755039 26px,#755039 29px);
  border:7px solid #3b281b;
  box-shadow:12px 15px 29px rgba(0,0,0,.31);
  transform:rotate(-1deg);
}
.memorial-next span,.memorial-next strong,.memorial-next small,.memorial-next i{display:block}
.memorial-next span{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:8px;
}
.memorial-next strong{
  margin:5px 0 2px;
  font:700 32px "Cormorant Garamond",serif;
}
.memorial-next small{font-size:10px;color:#e2cfad}
.memorial-next i{
  margin-top:11px;
  font-size:10px;
  font-style:normal;
  color:#d6aa69;
}
.memorial-button{
  display:block;
  margin:30px auto 0;
}
@media(max-width:900px){
  .memorial-content{grid-template-columns:1fr}
  .memorial-message,.memorial-cards{width:min(760px,100%);margin:auto}
}
@media(max-width:680px){
  .memorial-inner{width:min(100% - 24px,1160px);padding-top:115px}
  .memorial-cards{grid-template-columns:1fr}
  .memory-card{width:min(360px,100%);margin:auto;transform:none!important}
  .lantern-path{height:190px}
  .memorial-lantern{transform:scale(.72)!important}
}
@media(prefers-reduced-motion:reduce){
  .memorial-mist,.memorial-lantern i{animation:none!important}
}
