.scenic-page {
position: relative; overflow: clip; background: var(--paper); color: var(--ink);
}

body[data-page="scenic"] .site-menu-toggle {
width: 44px; justify-self: end;
}

body[data-page="scenic"] .site-drawer__action {
min-height: 44px;
}

.scenic-wrap {
width: var(--page-width); margin: 0 auto;
}

.scenic-sr-only {
position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); border: 0; white-space: nowrap;
}

.scenic-kicker {
margin: 0 0 12px; color: var(--forest); font-size: 13px; font-weight: 600; letter-spacing: 0; line-height: 1.5;
}

.scenic-triptych {
padding: 100px 0 108px; background: var(--paper);
}

.scenic-triptych__header {
max-width: 720px; margin: 0 auto 52px; text-align: center;
}

.scenic-triptych__header h2 {
margin: 0; font-size: 52px; font-weight: 500; letter-spacing: 0; line-height: 1.2; text-wrap: pretty;
}

.scenic-triptych__grid {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px;
}

.scenic-triptych__item {
min-width: 0; text-align: center;
}

.scenic-triptych__media {
aspect-ratio: 1.7; margin: 0 0 22px; overflow: hidden; border-radius: 6px; background: var(--paper-warm);
}

.scenic-triptych__media img {
width: 100%; height: 100%; object-fit: cover; transition: transform 420ms var(--ease);
}

.scenic-triptych__item:nth-child(3) .scenic-triptych__media img {
object-position: center 38%;
}

.scenic-triptych__item:hover .scenic-triptych__media img {
transform: scale(1.035);
}

.scenic-triptych__item h3 {
margin: 0; font-size: 22px; font-weight: 500; letter-spacing: 0; line-height: 1.35;
}

.scenic-triptych__item p {
max-width: 340px; margin: 10px auto 0; color: var(--ink-soft); font-size: 15px; line-height: 1.75; text-wrap: pretty;
}

.scenic-triptych__note {
max-width: 700px; margin: 50px auto 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 14px; line-height: 1.7; text-align: center; text-wrap: pretty;
}

.scenic-story {
position: relative; height: 400svh; overflow: clip visible; background: var(--ink); color: var(--white); isolation: isolate;
}

.scenic-story__stage {
position: sticky; top: 0; display: grid; width: 100%; height: 100svh; min-height: 720px; place-items: center; overflow: hidden; background: var(--ink);
}

.scenic-story__desktop {
display: grid; width: min(1140px, calc(100% - 96px)); height: min(650px, 70svh); grid-template-columns: minmax(0, 500px) minmax(0, 500px); justify-content: space-between; gap: 96px;
}

.scenic-story__media, .scenic-story__copy {
position: relative; min-width: 0; height: 100%;
}

.scenic-story__media {
overflow: hidden; background: var(--forest-deep);
}

.scenic-story__image {
position: absolute; inset: 0; margin: 0; clip-path: inset(50%); transition: clip-path 750ms cubic-bezier(0.76, 0, 0.24, 1); will-change: clip-path;
}

.scenic-story__image.is-revealed {
clip-path: inset(0);
}

.scenic-story__image img {
width: 100%; height: 100%; object-fit: cover;
}

.scenic-story__image:nth-child(1) img, .scenic-story__image:nth-child(2) img, .scenic-story__image:nth-child(3) img {
object-position: center;
}

.scenic-story__image:nth-child(4) img {
object-position: center 34%;
}

.scenic-story__progress {
position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; height: 4px; overflow: hidden; background: rgba(255, 255, 255, 0.16);
}

.scenic-story__progress-bar {
width: 100%; height: 100%; background: var(--white); transform: scaleX(0); transform-origin: left center;
}

.scenic-story__copy-list {
position: relative; height: 100%;
}

.scenic-story__item {
position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; opacity: 0; visibility: hidden;
}

.scenic-story__item.is-visible, .scenic-story__item.is-active {
opacity: 1; visibility: visible;
}

.scenic-story__item [data-story-text] {
will-change: opacity, transform;
}

.scenic-story__eyebrow {
margin: 0; color: var(--white); font-size: 44px; font-weight: 500; letter-spacing: 0; line-height: 1.15; text-wrap: pretty;
}

.scenic-story__summary {
max-width: 500px; margin: 18px 0 0; color: rgba(255, 255, 255, 0.66); font-size: 15px; line-height: 1.6; text-wrap: pretty;
}

.scenic-story__detail {
display: grid; gap: 30px;
}

.scenic-story__number {
display: inline-flex; width: max-content; min-width: 40px; min-height: 36px; align-items: center; justify-content: center; padding: 6px 9px; background: rgba(255, 255, 255, 0.1); color: var(--white); font-size: 14px; line-height: 1;
}

.scenic-story__item h3 {
margin: 0; color: var(--white); font-size: 48px; font-weight: 500; letter-spacing: 0; line-height: 1.15; text-wrap: pretty;
}

.scenic-story__item h3 + p {
max-width: 500px; margin: 18px 0 0; color: rgba(255, 255, 255, 0.68); font-size: 15px; line-height: 1.75; text-wrap: pretty;
}

.scenic-story__mobile {
display: none;
}

.scenic-belief {
position: relative; padding-top: 112px; overflow: hidden; background: var(--paper);
}

.scenic-belief__inner {
position: relative; z-index: 1; width: var(--page-width); margin: 0 auto;
}

.scenic-belief__label {
margin: 0; color: var(--ink-soft); font-size: 17px; line-height: 1.5;
}

.scenic-belief h2 {
margin: 4px 0 0; font-size: 48px; font-weight: 500; letter-spacing: 0; line-height: 1.3; text-wrap: pretty;
}

.scenic-belief__text {
display: grid; grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr); gap: 100px; margin-top: 24px; padding-top: 40px; border-top: 1px solid var(--line);
}

.scenic-belief__lead {
margin: 0; font-size: 30px; font-weight: 500; line-height: 1.55; text-wrap: pretty;
}

.scenic-belief__body {
color: var(--ink-soft); font-size: 16px; line-height: 1.9; text-wrap: pretty;
}

.scenic-belief__body p {
margin: 0;
}

.scenic-belief__body p + p {
margin-top: 1.5em;
}

.scenic-belief__media {
position: relative; z-index: 1; height: 540px; margin: 100px 0 0; overflow: hidden; background: var(--paper-warm);
}

.scenic-belief__media img {
width: 100%; height: 100%; object-fit: cover; object-position: center;
}

.is-scenic-reveal-ready [data-scenic-reveal] {
filter: blur(8px); opacity: 0; transition: filter 1600ms var(--ease), opacity 800ms ease; will-change: filter, opacity;
}

.is-scenic-reveal-ready [data-scenic-reveal].is-visible {
filter: blur(0); opacity: 1;
}

.scenic-faq {
padding: 116px 0 124px; background: var(--white);
}

.scenic-faq__grid {
display: grid; grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr); gap: 96px; align-items: start;
}

.scenic-faq__heading {
position: sticky; top: 124px;
}

.scenic-faq__heading h2 {
max-width: 430px; margin: 0; font-size: 42px; font-weight: 500; letter-spacing: 0; line-height: 1.25; text-wrap: pretty;
}

.scenic-faq__list {
min-width: 0; border-top: 1px solid var(--line);
}

.scenic-faq__item {
border-bottom: 1px solid var(--line);
}

.scenic-faq__item summary {
display: flex; min-height: 84px; align-items: center; justify-content: space-between; gap: 22px; padding: 22px 0; cursor: pointer; list-style: none; user-select: none;
}

.scenic-faq__item summary::-webkit-details-marker {
display: none;
}

.scenic-faq__item summary:focus-visible {
outline: 2px solid var(--forest); outline-offset: 5px;
}

.scenic-faq__item h3 {
margin: 0; font-size: 18px; font-weight: 500; letter-spacing: 0; line-height: 1.55; text-wrap: pretty;
}

.scenic-faq__arrow {
position: relative; width: 44px; height: 44px; flex: 0 0 44px;
}

.scenic-faq__arrow::before {
position: absolute; top: 15px; left: 16px; width: 9px; height: 9px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); content: ""; transform: rotate(45deg); transition: transform 280ms var(--ease);
}

.scenic-faq__item[open] .scenic-faq__arrow::before {
transform: translateY(5px) rotate(225deg);
}

.scenic-faq__answer {
max-width: 690px; margin-top: -8px; padding: 0 66px 28px 0; color: var(--ink-soft); font-size: 15px; line-height: 1.8; text-wrap: pretty;
}

.scenic-faq__answer p {
margin: 0;
}

.scenic-faq__answer a {
display: inline-flex; min-height: 44px; align-items: center; gap: 10px; margin-top: 14px; color: var(--forest); font-weight: 600;
}

.scenic-faq__answer a span {
transition: transform 180ms var(--ease);
}

.scenic-faq__answer a:hover span, .scenic-faq__answer a:focus-visible span {
transform: translateX(4px);
}

.scenic-faq__answer a:focus-visible {
outline: 2px solid var(--forest); outline-offset: 4px;
}

@media (max-width: 1120px) {
.scenic-triptych__grid {
gap: 24px;
}

.scenic-story__desktop {
width: min(920px, calc(100% - 56px)); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 52px;
}

.scenic-story__eyebrow {
font-size: 36px;
}

.scenic-story__item h3 {
font-size: 42px;
}

.scenic-belief__text, .scenic-faq__grid {
gap: 64px;
}
}

@media (max-width: 820px) {
.scenic-triptych {
padding: 76px 0 92px;
}

.scenic-triptych__header h2 {
font-size: 44px;
}

.scenic-triptych__grid {
gap: 18px;
}

.scenic-triptych__media {
aspect-ratio: 1.35;
}

.scenic-triptych__item h3 {
font-size: 20px;
}

.scenic-story__desktop {
width: calc(100% - 48px); gap: 32px;
}

.scenic-story__eyebrow {
font-size: 31px;
}

.scenic-story__item h3 {
font-size: 36px;
}

.scenic-belief__text {
grid-template-columns: 1fr; gap: 22px;
}

.scenic-faq__grid {
grid-template-columns: 1fr; gap: 42px;
}

.scenic-faq__heading {
position: static;
}
}

@media (max-width: 640px) {
.scenic-triptych {
padding: 76px 0 72px;
}

.scenic-triptych__header {
margin-bottom: 38px;
}

.scenic-triptych__header h2 {
font-size: 36px;
}

.scenic-triptych__grid {
grid-template-columns: 1fr; gap: 40px;
}

.scenic-triptych__media {
aspect-ratio: 1.8; margin-bottom: 17px;
}

.scenic-triptych__note {
margin-top: 40px;
}

.scenic-story {
height: auto; overflow: hidden;
}

.scenic-story__stage {
position: relative; display: block; height: auto; min-height: 0; overflow: visible; padding: 88px 0 90px;
}

.scenic-story__desktop {
display: none;
}

.scenic-story__mobile {
display: block; width: 100%;
}

.scenic-story__mobile-intro {
padding: 0 20px;
}

.scenic-story__mobile-intro .scenic-story__eyebrow {
font-size: 14px; line-height: 1.5;
}

.scenic-story__mobile-title {
max-width: 340px; margin: 8px 0 0; color: var(--white); font-size: 42px; font-weight: 500; line-height: 1.18; text-wrap: pretty;
}

.scenic-story__mobile-lead {
max-width: 350px; margin: 18px 0 0; color: rgba(255, 255, 255, 0.66); font-size: 15px; line-height: 1.7; text-wrap: pretty;
}

.scenic-story__rail {
display: flex; gap: 16px; margin-top: 52px; padding: 0 20px 14px; overflow: auto hidden; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
}

.scenic-story__rail:focus-visible {
outline: 2px solid var(--white); outline-offset: -4px;
}

.scenic-story__card {
display: flex; flex: 0 0 min(310px, calc(100vw - 64px)); min-width: 0; flex-direction: column; padding-bottom: 4px; border-bottom: 1px solid rgba(255, 255, 255, 0.22); scroll-snap-align: start;
}

.scenic-story__card-media {
aspect-ratio: 1.3; margin: 0 0 22px; overflow: hidden; border-radius: 6px; background: var(--forest-deep);
}

.scenic-story__card-media img {
width: 100%; height: 100%; object-fit: cover;
}

.scenic-story__card:nth-child(4) .scenic-story__card-media img {
object-position: center 34%;
}

.scenic-story__card h3 {
margin: 22px 0 0; color: var(--white); font-size: 31px; font-weight: 500; line-height: 1.2; text-wrap: pretty;
}

.scenic-story__card > p {
margin: 16px 0 22px; color: rgba(255, 255, 255, 0.68); font-size: 15px; line-height: 1.7; text-wrap: pretty;
}

.scenic-belief {
padding-top: 78px;
}

.scenic-belief h2 {
margin-top: 8px; font-size: 36px;
}

.scenic-belief__text {
margin-top: 20px; padding-top: 24px;
}

.scenic-belief__lead {
font-size: 23px;
}

.scenic-belief__body {
font-size: 15px;
}

.scenic-belief__media {
height: 360px; margin-top: 68px;
}

.scenic-faq {
padding: 78px 0 84px;
}

.scenic-faq__heading h2 {
font-size: 34px;
}

.scenic-faq__item summary {
min-height: 76px; gap: 12px; padding: 18px 0;
}

.scenic-faq__item h3 {
font-size: 16px;
}

.scenic-faq__answer {
padding-right: 0; font-size: 14px;
}
}

@media (prefers-reduced-motion: reduce) {
.scenic-triptych__item:hover .scenic-triptych__media img {
transform: none;
}

.scenic-story {
height: auto; overflow: hidden;
}

.scenic-story__stage {
position: relative; display: block; height: auto; min-height: 0; overflow: visible; padding: 96px 0;
}

.scenic-story__desktop {
display: none;
}

.scenic-story__mobile {
display: block;
}

.scenic-story__mobile-intro {
width: var(--page-width); margin: 0 auto;
}

.scenic-story__mobile-intro .scenic-story__eyebrow {
font-size: 14px; line-height: 1.5;
}

.scenic-story__mobile-title {
margin: 8px 0 0; color: var(--white); font-size: 42px; font-weight: 500; line-height: 1.2;
}

.scenic-story__mobile-lead {
max-width: 600px; margin: 18px 0 0; color: rgba(255, 255, 255, 0.68); line-height: 1.75;
}

.scenic-story__rail {
display: grid; width: var(--page-width); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 52px auto 0; padding: 0; overflow: visible; scroll-snap-type: none;
}

.scenic-story__card {
display: flex; min-width: 0; flex-direction: column; padding-bottom: 26px; border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.scenic-story__card-media {
aspect-ratio: 1.45; margin: 0 0 22px; overflow: hidden; border-radius: 6px;
}

.scenic-story__card-media img {
width: 100%; height: 100%; object-fit: cover;
}

.scenic-story__card h3 {
margin: 22px 0 0; color: var(--white); font-size: 30px; font-weight: 500; line-height: 1.25;
}

.scenic-story__card > p {
margin: 14px 0 0; color: rgba(255, 255, 255, 0.68); line-height: 1.75;
}

.is-scenic-reveal-ready [data-scenic-reveal] {
filter: none; opacity: 1; transition: none;
}
}

@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
.scenic-story__stage {
padding: 82px 0;
}

.scenic-story__mobile-intro {
width: auto; margin: 0; padding: 0 20px;
}

.scenic-story__mobile-title {
font-size: 36px;
}

.scenic-story__rail {
width: auto; grid-template-columns: 1fr; margin: 44px 20px 0;
}
}
