/* Complete homepage footer, scoped to the About Us destination footer.
   Source: https://rvr.rvbtsystem.com/ — assets/site.css?v=73 (2026-09-17).
   Local resets prevent the letter concept's typography and plain-footer rules
   from replacing the original footer's appearance. */
@font-face{font-family:"ITC Galliard";src:url("fonts/itc-galliard-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Frutiger";src:url("fonts/neue-frutiger-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.site-footer[data-sec="90-footer"] {
  --paper:#f7f5ef;--paper-deep:#eee9de;--paper-cool:#f1f1eb;
  --pine:#1d392f;--pine-deep:#12271f;--pine-soft:#315347;
  --slate:#5d6964;--slate-light:#8e9893;--ochre:#b86e3f;
  --ochre-deep:#925331;--white:#fffdf8;--hair:rgba(29,57,47,.16);
  --display:"ITC Galliard",Georgia,serif;
  --body:"Neue Frutiger","Helvetica Neue",Arial,sans-serif;
  --wrap:1320px;--pad:clamp(22px,5vw,68px);--ease:cubic-bezier(.16,1,.3,1);
  border-top:0;font-family:var(--body);font-size:17px;font-weight:400;
  line-height:1.68;letter-spacing:normal;color:var(--slate);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.site-footer[data-sec="90-footer"]::after,
.site-footer[data-sec="90-footer"] .site-footer__blend,
.site-footer[data-sec="90-footer"] .site-footer__tree {display:block}
.site-footer[data-sec="90-footer"]>.wrap {
  width:min(100%,var(--wrap));margin-inline:auto;padding-inline:var(--pad);
}
.site-footer[data-sec="90-footer"] .site-footer__tagline {
  font-weight:400;letter-spacing:normal;
}
.site-footer[data-sec="90-footer"] .site-footer__partners {margin-top:0}
.site-footer[data-sec="90-footer"] .pill {
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:50px;padding:13px 25px;border:0;border-radius:999px;
  font-family:var(--body);font-size:.91rem;font-weight:400;line-height:1.1;
  letter-spacing:.02em;white-space:nowrap;
  transition:color .24s var(--ease),background-color .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease);
}
.site-footer[data-sec="90-footer"] .pill--outline {
  color:var(--pine);background:transparent;box-shadow:inset 0 0 0 1px rgba(29,57,47,.5);
}
.site-footer[data-sec="90-footer"] .pill--outline:not(.pill--disabled):hover {
  color:var(--white);background:var(--pine);
}
.site-footer[data-sec="90-footer"] :focus-visible {
  outline:3px solid #e7a678;outline-offset:4px;
}
@media(max-width:620px){
  .site-footer[data-sec="90-footer"] {--pad:22px;font-size:16px}
}

/* Original footer layout, artwork layers, social states and breakpoints. */
.site-footer[data-sec="90-footer"] { --above: var(--paper-cool); --above-rgb: 241,241,235; position: relative; margin-top: 100px; padding: clamp(78px, 8vw, 112px) 0px 100px; background: url("img/grain.png?v=2") repeat, linear-gradient(rgb(241, 241, 235) 0%, rgb(241, 241, 235) 18%, rgb(241, 241, 235) 21%, rgb(241, 241, 235) 24%, rgb(242, 242, 236) 27%, rgb(243, 242, 236) 30%, rgb(244, 243, 237) 33%, rgb(245, 244, 238) 36%, rgb(246, 244, 238) 39%, rgb(247, 245, 239) 42%, rgb(247, 245, 239) 48%, rgb(246, 244, 238) 54%, rgb(246, 243, 236) 57%, rgb(244, 241, 234) 60%, rgb(242, 239, 230) 63%, rgb(241, 237, 227) 66%, rgb(239, 235, 225) 69%, rgb(239, 234, 223) 72%, rgb(238, 233, 222) 78%, rgb(238, 232, 221) 84.6%, rgb(237, 230, 218) 89%, rgb(236, 229, 215) 93.4%, rgb(236, 228, 214) 100%); background-blend-mode: soft-light, normal; isolation: isolate; }
.site-footer[data-sec="90-footer"]::after { content: ""; position: absolute; inset: auto 0px 0px; z-index: 0; height: clamp(430px, 45vw, 650px); background: url("img/sierra-band.webp") center bottom / cover no-repeat; opacity: 0.45; filter: saturate(0.88) contrast(0.97); pointer-events: none; -webkit-mask-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.01) 2.5%, rgba(0, 0, 0, 0.06) 5%, rgba(0, 0, 0, 0.16) 7.5%, rgba(0, 0, 0, 0.32) 10%, rgba(0, 0, 0, 0.5) 12.5%, rgba(0, 0, 0, 0.68) 15%, rgba(0, 0, 0, 0.84) 17.5%, rgba(0, 0, 0, 0.94) 20%, rgba(0, 0, 0, 0.99) 22.5%, rgb(0, 0, 0) 25%); mask-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.01) 2.5%, rgba(0, 0, 0, 0.06) 5%, rgba(0, 0, 0, 0.16) 7.5%, rgba(0, 0, 0, 0.32) 10%, rgba(0, 0, 0, 0.5) 12.5%, rgba(0, 0, 0, 0.68) 15%, rgba(0, 0, 0, 0.84) 17.5%, rgba(0, 0, 0, 0.94) 20%, rgba(0, 0, 0, 0.99) 22.5%, rgb(0, 0, 0) 25%); }
.site-footer[data-sec="90-footer"]::before { content: ""; position: absolute; inset: auto 0px 0px; z-index: 2; height: 100%; background: linear-gradient(90deg, rgba(247, 245, 239, 0.12) 0%, rgba(247, 245, 239, 0.12) 5%, rgba(247, 245, 239, 0.55) 10%, rgba(247, 245, 239, 0.8) 17%, rgba(247, 245, 239, 0.84) 50%, rgba(247, 245, 239, 0.72) 83%, rgba(247, 245, 239, 0.4) 90%, rgba(247, 245, 239, 0.08) 95%, rgba(247, 245, 239, 0.08) 100%); pointer-events: none; -webkit-mask-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.01) 2%, rgba(0, 0, 0, 0.06) 4%, rgba(0, 0, 0, 0.16) 6%, rgba(0, 0, 0, 0.32) 8%, rgba(0, 0, 0, 0.5) 10%, rgba(0, 0, 0, 0.68) 12%, rgba(0, 0, 0, 0.84) 14%, rgba(0, 0, 0, 0.94) 16%, rgba(0, 0, 0, 0.99) 18%, rgb(0, 0, 0) 20%); mask-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.01) 2%, rgba(0, 0, 0, 0.06) 4%, rgba(0, 0, 0, 0.16) 6%, rgba(0, 0, 0, 0.32) 8%, rgba(0, 0, 0, 0.5) 10%, rgba(0, 0, 0, 0.68) 12%, rgba(0, 0, 0, 0.84) 14%, rgba(0, 0, 0, 0.94) 16%, rgba(0, 0, 0, 0.99) 18%, rgb(0, 0, 0) 20%); }
.site-footer[data-sec="90-footer"] .site-footer__blend { position: absolute; left: 0px; right: 0px; top: -140px; height: 480px; z-index: 1; pointer-events: none; background: linear-gradient(rgb(241, 241, 235) 0%, rgb(241, 241, 235) 28%, rgba(241, 241, 235, 0.99) 35.2%, rgba(241, 241, 235, 0.94) 42.4%, rgba(241, 241, 235, 0.84) 49.6%, rgba(241, 241, 235, 0.68) 56.8%, rgba(241, 241, 235, 0.5) 64%, rgba(241, 241, 235, 0.32) 71.2%, rgba(241, 241, 235, 0.16) 78.4%, rgba(241, 241, 235, 0.06) 85.6%, rgba(241, 241, 235, 0.01) 92.8%, rgba(241, 241, 235, 0) 100%); }
.site-footer[data-sec="90-footer"] .site-footer__tree { position: absolute; right: 0px; bottom: 0px; z-index: 1; height: calc(740px + clamp(430px, 45vw, 650px)); width: calc((740px + clamp(430px, 45vw, 650px)) * 0.431); background: url("img/footer-spruce4.webp") left bottom / auto 100% no-repeat; opacity: 0.6; filter: saturate(0.9) contrast(0.98); pointer-events: none; }
.site-footer[data-sec="90-footer"] > .wrap { position: relative; z-index: 3; }
.site-footer[data-sec="90-footer"] .site-footer__brand { display: grid; grid-template-columns: auto minmax(260px, 1fr) auto; align-items: center; gap: clamp(28px, 5vw, 72px); padding-bottom: 54px; margin-bottom: 50px; border-bottom: 1px solid var(--hair); }
.site-footer[data-sec="90-footer"] .site-footer__logo { display: block; width: clamp(118px, 10vw, 144px); filter: drop-shadow(rgba(29, 57, 47, 0.15) 0px 12px 24px); }
.site-footer[data-sec="90-footer"] .site-footer__logo img { display: block; width: 100%; height: auto; }
.site-footer[data-sec="90-footer"] .site-footer__brand-copy { max-width: 480px; }
.site-footer[data-sec="90-footer"] .site-footer__tagline { margin-bottom: 7px; font-family: var(--display); font-size: clamp(1.75rem, 2.5vw, 2.35rem); line-height: 1.05; color: var(--pine); }
.site-footer[data-sec="90-footer"] .site-footer__brand-copy > p:not(.site-footer__tagline) { font-size: 0.92rem; line-height: 1.58; color: rgb(70, 84, 77); }
.site-footer[data-sec="90-footer"] .site-footer__brand-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; }
.site-footer[data-sec="90-footer"] .social-links { display: flex; align-items: center; gap: 18px; }
.site-footer[data-sec="90-footer"] .social-links a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--pine); font-size: 0.78rem; }
.site-footer[data-sec="90-footer"] .social-links__icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(29, 57, 47, 0.32); border-radius: 50%; color: var(--pine); background: rgba(255, 253, 248, 0.55); box-shadow: rgba(29, 57, 47, 0.07) 0px 8px 20px; transition: color .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease); }
.site-footer[data-sec="90-footer"] .social-links__icon svg { width: 19px; height: 19px; }
.site-footer[data-sec="90-footer"] .social-links a:hover .social-links__icon { color: var(--white); background: var(--pine); border-color: var(--pine); }
.site-footer[data-sec="90-footer"] .site-footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: clamp(30px, 5vw, 72px); margin-bottom: 58px; }
.site-footer[data-sec="90-footer"] .site-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer[data-sec="90-footer"] .site-footer__column h2 { margin-bottom: 8px; font-family: var(--body); font-size: 0.69rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pine); }
.site-footer[data-sec="90-footer"] .site-footer__column a, .site-footer[data-sec="90-footer"] .site-footer__column > span, .site-footer[data-sec="90-footer"] .site-footer__column p, .site-footer[data-sec="90-footer"] .site-footer__column address { font-size: 0.84rem; line-height: 1.55; color: rgb(70, 84, 77); }
.site-footer[data-sec="90-footer"] .site-footer__column a { display: inline-flex; align-items: center; min-height: 34px; }
.site-footer[data-sec="90-footer"] .site-footer__column a { color: var(--pine); }
.site-footer[data-sec="90-footer"] .site-footer__column a { min-width: 44px; }
.site-footer[data-sec="90-footer"] .site-footer__column > span { color: rgba(93, 105, 100, 0.64); cursor: not-allowed; }
.site-footer[data-sec="90-footer"] .site-footer__column a, .site-footer[data-sec="90-footer"] .site-footer__column address { overflow-wrap: anywhere; }
.site-footer[data-sec="90-footer"] .site-footer__partners { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 30px; padding: 28px 0px; border-top: 1px solid rgba(29, 57, 47, 0.18); border-bottom: 1px solid rgba(29, 57, 47, 0.18); }
.site-footer[data-sec="90-footer"] .site-footer__partner { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.site-footer[data-sec="90-footer"] .site-footer__partner > span { font-size: 0.62rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgb(35, 45, 39); }
.site-footer[data-sec="90-footer"] .site-footer__partner > img { width: auto; max-height: 38px; }
.site-footer[data-sec="90-footer"] .site-footer__partner--sam { flex-direction: row; align-items: center; justify-content: center; gap: 13px; }
.site-footer[data-sec="90-footer"] .site-footer__partner--sam > img { height: 74px; max-height: none; filter: drop-shadow(rgba(29, 57, 47, 0.35) 0px 0px 1px) drop-shadow(rgba(29, 57, 47, 0.12) 0px 6px 12px); }
.site-footer[data-sec="90-footer"] .site-footer__partner--sam > span { font-family: var(--display); font-size: 1.05rem; line-height: 1.05; letter-spacing: 0px; text-transform: none; color: var(--pine); }
.site-footer[data-sec="90-footer"] .site-footer__partner--sam b { display: block; font-weight: 400; }
.site-footer[data-sec="90-footer"] .site-footer__partner--right { align-items: flex-end; text-align: right; }
.site-footer[data-sec="90-footer"] .site-footer__partner--right > img { max-height: 34px; }
.site-footer[data-sec="90-footer"] .site-footer__legal { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 25px; font-size: 0.72rem; color: rgb(51, 65, 58); }
.site-footer[data-sec="90-footer"] .site-footer__legal > div { display: flex; gap: 18px; }
.site-footer[data-sec="90-footer"] .site-footer__legal > div span { cursor: not-allowed; }
.site-footer[data-sec="90-footer"] .site-footer__legal a { display: inline-flex; align-items: center; min-height: 36px; color: var(--pine); }
@media (max-width: 1080px) {
  .site-footer[data-sec="90-footer"] .site-footer__brand { grid-template-columns: auto 1fr; }
  .site-footer[data-sec="90-footer"] .site-footer__brand-actions { grid-column: 2; align-items: flex-start; }
}
@media (max-width: 860px) {
  .site-footer[data-sec="90-footer"] .site-footer__grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 620px) {
  .site-footer[data-sec="90-footer"] { padding: 70px 0px 86px; }
  .site-footer[data-sec="90-footer"]::after { height: 560px; }
  .site-footer[data-sec="90-footer"]::after { background-position: 57% bottom; opacity: 0.42; }
  .site-footer[data-sec="90-footer"] .site-footer__tree { height: 900px; opacity: 0.52; }
  .site-footer[data-sec="90-footer"] .site-footer__brand { grid-template-columns: 1fr; justify-items: start; gap: 24px; padding-bottom: 42px; margin-bottom: 42px; }
  .site-footer[data-sec="90-footer"] .site-footer__logo { width: 118px; }
  .site-footer[data-sec="90-footer"] .site-footer__brand-actions { grid-column: auto; align-items: flex-start; width: 100%; }
  .site-footer[data-sec="90-footer"] .social-links { flex-wrap: wrap; gap: 12px; }
  .site-footer[data-sec="90-footer"] .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .site-footer[data-sec="90-footer"] .site-footer__column:nth-child(n+3) { grid-column: 1 / 3; padding-top: 28px; border-top: 1px solid var(--hair); }
  .site-footer[data-sec="90-footer"] .site-footer__partners { grid-template-columns: 1fr; gap: 25px; }
  .site-footer[data-sec="90-footer"] .site-footer__partner--sam { justify-content: flex-start; }
  .site-footer[data-sec="90-footer"] .site-footer__partner--right { align-items: flex-start; text-align: left; }
  .site-footer[data-sec="90-footer"] .site-footer__legal { align-items: flex-start; flex-direction: column; }
  .site-footer[data-sec="90-footer"] .site-footer__legal > div { flex-wrap: wrap; }
}

/* Booking cream -> footer paper, using the fade-effect.md overlay recipe.
   The page gap already matches the booking's exact warm RGB. Begin its veil
   at the footer edge and dissolve it with quintic easing over a broad run.
   The tree and footer content keep their original layer order and positions. */
/* Keep horizontal artwork clipped, while the closing card's shadow can
   dissolve vertically through the existing gap instead of ending in a line. */
.c12 main:has(> .bk) {overflow-x:clip;overflow-y:visible}
.c12 main:has(> .bk) + .site-footer[data-sec="90-footer"] .site-footer__blend {
  --booking-footer-run:clamp(260px,26vw,380px);
  top:0;
  height:var(--booking-footer-run);
  background:linear-gradient(to bottom,
    rgba(244,240,230,1) 0px,
    rgba(244,240,230,.99144) calc(.1 * var(--booking-footer-run)),
    rgba(244,240,230,.94208) calc(.2 * var(--booking-footer-run)),
    rgba(244,240,230,.83692) calc(.3 * var(--booking-footer-run)),
    rgba(244,240,230,.68256) calc(.4 * var(--booking-footer-run)),
    rgba(244,240,230,.5) calc(.5 * var(--booking-footer-run)),
    rgba(244,240,230,.31744) calc(.6 * var(--booking-footer-run)),
    rgba(244,240,230,.16308) calc(.7 * var(--booking-footer-run)),
    rgba(244,240,230,.05792) calc(.8 * var(--booking-footer-run)),
    rgba(244,240,230,.00856) calc(.9 * var(--booking-footer-run)),
    rgba(244,240,230,0) var(--booking-footer-run));
}
