.nomadic-detail { overflow: clip; background: var(--ivory); color: var(--charcoal); }
.nomadic-detail__shell { width: min(100% - 2.5rem, 1230px); margin-inline: auto; }
.nomadic-detail h2 { max-width: 690px; margin: .65rem 0 1.35rem; font-family: var(--font-serif); font-size: clamp(2.8rem, 4.7vw, 4.55rem); font-weight: 400; line-height: 1.07; letter-spacing: -.045em; }
.nomadic-detail h3 { font-family: var(--font-serif); font-weight: 400; }
.nomadic-detail p { margin-top: 0; }
.nomadic-detail__eyebrow { margin-bottom: 1.25rem; color: var(--clay); font: 650 .7rem/1.4 var(--font-sans); letter-spacing: .17em; text-transform: uppercase; }
.nomadic-detail__lead { max-width: 520px; font: 400 clamp(1.18rem, 1.6vw, 1.5rem)/1.53 var(--font-serif); }
.nomadic-detail__text-link { display: inline-flex; align-items: center; gap: 1.2rem; width: fit-content; min-height: 44px; border-bottom: 1px solid currentColor; color: var(--charcoal); font-size: .75rem; font-weight: 650; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; transition: gap .25s ease, color .25s ease; }
.nomadic-detail__text-link:hover, .nomadic-detail__text-link:focus-visible { gap: 1.6rem; color: var(--clay); }
.nomadic-detail__intro { display: grid; grid-template-columns: minmax(0, .89fr) minmax(0, 1.11fr); align-items: center; gap: clamp(3rem, 8vw, 8.5rem); padding-block: clamp(5rem, 8vw, 8.5rem); }
.nomadic-detail__intro-copy > p:not(.nomadic-detail__eyebrow):not(.nomadic-detail__lead) { max-width: 480px; color: #5a5a51; }
.nomadic-detail__intro-copy .nomadic-detail__text-link { margin-top: 1rem; }
.nomadic-detail__intro-photo { margin: 0; }
.nomadic-detail__intro-photo img { display: block; width: 100%; height: clamp(420px, 48vw, 640px); object-fit: cover; object-position: center; border-radius: 2px; }
.nomadic-detail__intro-photo figcaption { margin-top: .8rem; color: var(--taupe); font-size: .7rem; letter-spacing: .1em; text-align: end; text-transform: uppercase; }
.nomadic-detail__inside { padding-block: clamp(5rem, 8vw, 8.5rem); background: #e9e3d8; }
.nomadic-detail__inside-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.nomadic-detail__inside-photos { display: grid; grid-template-columns: 1fr .37fr; align-items: end; gap: 14px; }
.nomadic-detail__inside-photos img { display: block; width: 100%; object-fit: cover; }
.nomadic-detail__inside-main { aspect-ratio: 4/5; }
.nomadic-detail__inside-detail { aspect-ratio: 3/4; margin-bottom: 1.5rem; }
.nomadic-detail__inside-copy > p:not(.nomadic-detail__eyebrow):not(.nomadic-detail__note) { max-width: 475px; font-size: 1.08rem; }
.nomadic-detail__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.35rem; margin-top: 1.75rem; padding: 1.3rem 1.4rem; border: 1px solid rgba(41,42,37,.08); border-radius: 18px; background: rgba(255,255,255,.88); }
.nomadic-detail__facts > div { position: relative; display: grid; grid-template-columns: 1.4rem minmax(0, 1fr); align-content: start; gap: .25rem .65rem; min-width: 0; padding: 0; border: 0; background: transparent; }
.nomadic-detail__facts > div::before { grid-column: 1; grid-row: 1 / span 2; align-self: center; color: #a86e4c; content: '✓'; font: 700 1.2rem/1 var(--font-sans); }
.nomadic-detail__facts span { grid-column: 2; color: #a86e4c; font: 700 clamp(.78rem, .9vw, .9rem)/1.25 var(--font-serif); letter-spacing: .06em; text-transform: uppercase; }
.nomadic-detail__facts strong { grid-column: 2; color: #5b5148; font: 400 clamp(.84rem, .95vw, .95rem)/1.4 var(--font-sans); }
.nomadic-detail__note { grid-column: 1 / -1; max-width: none; margin: 0; padding-top: .85rem; border-top: 1px solid var(--line); color: #706d63; font-size: .75rem; line-height: 1.55; }
.nomadic-detail__gallery, .nomadic-detail__practical, .nomadic-detail__faq { padding-block: clamp(5rem, 8vw, 8rem); }
.nomadic-detail__section-head { display: grid; grid-template-columns: 1.1fr .65fr; align-items: end; gap: 3rem; margin-bottom: 2.3rem; }
.nomadic-detail__section-head h2 { margin-bottom: 0; }
.nomadic-detail__section-head > p { max-width: 350px; margin-bottom: .35rem; color: #68675f; }
.nomadic-detail__filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.5rem; }
.nomadic-detail__filters button { min-height: 43px; padding: .6rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--charcoal); font: 600 .71rem/1.2 var(--font-sans); letter-spacing: .04em; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.nomadic-detail__filters button:hover, .nomadic-detail__filters button[aria-pressed="true"] { border-color: var(--charcoal); background: var(--charcoal); color: var(--ivory); }
.nomadic-detail__photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nomadic-detail__photo { position: relative; display: block; overflow: hidden; width: 100%; padding: 0; border: 0; background: var(--sand); cursor: zoom-in; aspect-ratio: 4/3; }
.nomadic-detail__photo[hidden] { display: none; }
.nomadic-detail__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease-luxury); }
.nomadic-detail__photo:hover img, .nomadic-detail__photo:focus-visible img { transform: scale(1.055); }
.nomadic-detail__photo-label { position: absolute; inset: auto .75rem .75rem; display: flex; align-items: center; justify-content: space-between; padding: .65rem .85rem; background: rgba(251,250,246,.93); color: var(--charcoal); font-size: .71rem; font-weight: 650; letter-spacing: .06em; text-align: start; text-transform: uppercase; }
.nomadic-detail__lightbox { position: fixed; inset: 0; width: min(1100px, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 1rem; border: 0; background: var(--ivory); color: var(--charcoal); box-shadow: 0 24px 80px #1118; }
.nomadic-detail__lightbox::backdrop { background: rgba(13,15,12,.86); }
.nomadic-detail__lightbox-top, .nomadic-detail__lightbox-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nomadic-detail__lightbox-top { padding-bottom: .65rem; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nomadic-detail__lightbox button { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: inherit; font-size: 1.45rem; cursor: pointer; }
.nomadic-detail__lightbox > img { display: block; width: 100%; max-height: calc(100dvh - 10.5rem); object-fit: contain; background: #e7e0d4; }
.nomadic-detail__lightbox-bottom { padding-top: .7rem; }
.nomadic-detail__lightbox-bottom p { max-width: 75%; margin: 0; font-size: .83rem; }
.nomadic-detail__lightbox-bottom > div { display: flex; gap: .5rem; }
.nomadic-detail__amenities { padding-block: clamp(5rem, 8vw, 8rem); background: #eae4d9; }
.nomadic-detail__amenity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.nomadic-detail__amenity-card { min-height: 250px; padding: 1.5rem; border: 1px solid rgba(41,42,37,.13); background: rgba(251,250,246,.67); }
.nomadic-detail__amenity-symbol { display: block; margin-bottom: 1.6rem; color: var(--clay); font: 2rem/1 var(--font-serif); }
.nomadic-detail__amenity-card h3 { margin: 0 0 1rem; font-size: 1.5rem; }
.nomadic-detail__amenity-card ul { margin: 0; padding: 0; list-style: none; }
.nomadic-detail__amenity-card li { padding: .48rem 0; border-top: 1px solid var(--line); color: #5f6058; font-size: .88rem; }
.nomadic-detail__dining { display: grid; grid-template-columns: 1fr .88fr; align-items: center; gap: clamp(3rem, 8vw, 8.5rem); padding-block: clamp(5rem, 8vw, 8rem); }
.nomadic-detail__dining-photos { position: relative; margin: 0; }
.nomadic-detail__dining-photos img { display: block; width: 100%; aspect-ratio: 5/4; object-fit: cover; }
.nomadic-detail__dining-photos figcaption { position: absolute; inset: auto 12px 12px auto; max-width: calc(100% - 24px); padding: 8px 10px; background: rgba(29,27,22,.7); color: #fff; font-size: .68rem; line-height: 1.4; text-align: end; }
.nomadic-detail__dining-copy p:not(.nomadic-detail__eyebrow) { max-width: 455px; }
.nomadic-detail__dining-includes { display: grid; gap: .25rem; margin-block: 1.8rem; padding-block: 1.1rem; border-block: 1px solid var(--line); font-size: .85rem; }
.nomadic-detail__dining-includes strong { font-weight: 650; }
.nomadic-detail__dining-includes span { color: #6d6c63; }
.nomadic-detail__life { padding-block: clamp(5rem, 8vw, 8rem); background: #34372e; color: var(--ivory); }
.nomadic-detail__life .nomadic-detail__eyebrow { color: #d2a98c; }
.nomadic-detail__life-heading { max-width: 650px; margin-bottom: 2.5rem; }
.nomadic-detail__life-heading > p:last-child { max-width: 510px; color: #dad9d0; }
.nomadic-detail__life-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; }
.nomadic-detail__life-grid figure { margin: 0; }
.nomadic-detail__life-grid img { display: block; width: 100%; height: clamp(300px, 35vw, 490px); object-fit: cover; }
.nomadic-detail__life-grid figcaption { margin-top: .8rem; color: #ccc9bd; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.nomadic-detail__practical-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 2rem; margin: 0; border-top: 1px solid var(--line); }
.nomadic-detail__practical-grid > div { padding: 1.3rem 0 1.6rem; border-bottom: 1px solid var(--line); }
.nomadic-detail__practical-grid dt { margin-bottom: .6rem; color: var(--clay); font-size: .7rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.nomadic-detail__practical-grid dd { margin: 0; font: 400 1.17rem/1.4 var(--font-serif); }
.nomadic-detail__location { padding-block: clamp(4rem, 7vw, 7rem); background: #ded6c6; }
.nomadic-detail__location-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; }
.nomadic-detail__location-grid > div:first-child > p:not(.nomadic-detail__eyebrow) { max-width: 490px; }
.nomadic-detail__location-art { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 290px; padding: 2rem; border: 1px solid rgba(41,42,37,.27); background: radial-gradient(circle at 62% 53%, transparent 0 7%, rgba(130,105,76,.13) 7.2% 7.6%, transparent 8% 22%, rgba(130,105,76,.13) 22.2% 22.5%, transparent 23% 40%, rgba(130,105,76,.13) 40.2% 40.5%, transparent 41%); color: #5a574c; font-size: .75rem; font-weight: 650; letter-spacing: .18em; }
.nomadic-detail__location-art i { position: absolute; top: 49%; left: 60%; width: 14px; height: 14px; border: 3px solid var(--ivory); border-radius: 50%; background: var(--clay); box-shadow: 0 0 0 4px var(--clay); }
.nomadic-detail__location-art strong { align-self: end; font-weight: 650; }
.nomadic-detail__faq { display: grid; grid-template-columns: .65fr 1fr; gap: clamp(3rem, 8vw, 8rem); }
.nomadic-detail__faq-list { border-top: 1px solid var(--line); }
.nomadic-detail__faq-list details { border-bottom: 1px solid var(--line); }
.nomadic-detail__faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; font: 400 1.2rem/1.3 var(--font-serif); cursor: pointer; list-style: none; }
.nomadic-detail__faq-list summary::-webkit-details-marker { display: none; }
.nomadic-detail__faq-list summary span { font: 300 1.5rem/1 var(--font-sans); transition: transform .2s; }
.nomadic-detail__faq-list details[open] summary span { transform: rotate(45deg); }
.nomadic-detail__faq-list details p { max-width: 620px; margin: 0 0 1.3rem; color: #626158; }
.nomadic-detail__closing { position: relative; display: grid; place-items: center; min-height: 440px; padding: 5rem 1.25rem; color: #fff; text-align: center; }
.nomadic-detail__closing-image, .nomadic-detail__closing-image::after { position: absolute; inset: 0; }
.nomadic-detail__closing-image { background: center 55% / cover url('/images/camp-life-15.webp'); }
.nomadic-detail__closing-image::after { content: ''; background: rgba(17,19,16,.5); }
.nomadic-detail__closing-content { position: relative; z-index: 1; }
.nomadic-detail__closing .nomadic-detail__eyebrow { color: #f3d9c4; }
.nomadic-detail__closing h2 { margin-inline: auto; }
.nomadic-detail__closing p:not(.nomadic-detail__eyebrow) { max-width: 480px; margin-inline: auto; }
.nomadic-detail__closing-link { display: inline-flex; align-items: center; justify-content: center; gap: 1.7rem; min-height: 48px; margin-top: 1rem; padding: .7rem 1.3rem; border: 1px solid #fff; color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: background .25s, color .25s; }
.nomadic-detail__closing-link:hover, .nomadic-detail__closing-link:focus-visible { background: #fff; color: var(--charcoal); }
@media (max-width: 1050px) { .nomadic-detail__intro, .nomadic-detail__inside-grid, .nomadic-detail__dining { gap: 3rem; } .nomadic-detail__facts { gap: .9rem 1rem; padding: 1.15rem; } .nomadic-detail__amenity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nomadic-detail__amenity-card { min-height: 0; } }
@media (max-width: 767px) { .nomadic-detail__shell { width: min(100% - 2rem, 600px); } .nomadic-detail h2 { font-size: clamp(2.55rem, 10vw, 3.5rem); } .nomadic-detail__intro, .nomadic-detail__inside-grid, .nomadic-detail__dining, .nomadic-detail__location-grid, .nomadic-detail__faq, .nomadic-detail__section-head { grid-template-columns: 1fr; gap: 2rem; } .nomadic-detail__intro { padding-top: 4rem; } .nomadic-detail__intro-photo img { height: auto; aspect-ratio: 4/5; } .nomadic-detail__inside-photos { grid-template-columns: 1fr .34fr; } .nomadic-detail__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem .9rem; margin-top: 1.5rem; padding: 1.1rem; border-radius: 16px; } .nomadic-detail__facts > div { grid-template-columns: 1.2rem minmax(0, 1fr); gap: .25rem .45rem; } .nomadic-detail__facts > div::before { font-size: 1.1rem; } .nomadic-detail__note { margin-top: .1rem; padding-top: .75rem; } .nomadic-detail__section-head { margin-bottom: 1.7rem; } .nomadic-detail__photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; } .nomadic-detail__photo { aspect-ratio: 1/1; } .nomadic-detail__photo-label { inset: auto .4rem .4rem; padding: .4rem .55rem; font-size: .58rem; } .nomadic-detail__life-grid { grid-template-columns: 1fr; } .nomadic-detail__life-grid img { height: auto; aspect-ratio: 4/3; } .nomadic-detail__life-grid figure:last-child img { aspect-ratio: 4/3; } .nomadic-detail__practical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; } .nomadic-detail__location-art { min-height: 230px; } .nomadic-detail__faq { gap: .5rem; } }
@media (max-width: 480px) { .nomadic-detail__amenity-grid { grid-template-columns: 1fr; } .nomadic-detail__amenity-card { padding: 1.2rem; } .nomadic-detail__amenity-symbol { margin-bottom: .8rem; } .nomadic-detail__practical-grid { grid-template-columns: 1fr; } .nomadic-detail__filters { flex-wrap: nowrap; overflow-x: auto; margin-right: -1rem; padding-right: 1rem; scrollbar-width: thin; } .nomadic-detail__filters button { flex: 0 0 auto; } .nomadic-detail__lightbox { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); padding: .65rem; } .nomadic-detail__lightbox > img { max-height: calc(100dvh - 9rem); } }
@media (prefers-reduced-motion: reduce) { .nomadic-detail *, .nomadic-detail *::before, .nomadic-detail *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; } }
