.masthead { position: relative; z-index: 10; height: clamp(7.488rem, 11.232vw, 10.32rem); background: var(--ivory-light); }
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--header-height); padding-inline: var(--page-gutter); background: var(--ivory-light); color: var(--espresso); }
.masthead .site-header { position: absolute; inset: 0; height: 100%; background: transparent; }
.site-header.is-compact { position: fixed; inset: 0 0 auto; height: var(--header-compact); background: rgba(250, 247, 241, .94); box-shadow: 0 1px 0 rgba(44, 31, 22, .12); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); animation: headerReveal .55s var(--ease-editorial) both; }
@keyframes headerReveal { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: none; } }
.header-side { display: flex; align-items: center; gap: clamp(1.1rem, 2vw, 2.3rem); }
.header-side--left { grid-column: 1; }
.header-side--right { grid-column: 3; justify-content: flex-end; }
.masthead .site-header:not(.is-compact) .header-side { align-self: start; margin-top: clamp(1.5rem, 2.7vw, 2.5rem); }
.menu-trigger, .select-control__trigger { display: inline-flex; align-items: center; gap: .55rem; border: 0; background: transparent; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.menu-trigger { min-height: 2.75rem; padding: 0; }
.menu-trigger__dot { width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 0 currentColor; transition: box-shadow .3s; }
.menu-trigger:hover .menu-trigger__dot { box-shadow: 0 0 0 .3rem rgba(34, 21, 15, .14); }
.brand { position: absolute; left: 50%; transform: translateX(-50%); }
.brand img { height: auto; object-fit: contain; }
.masthead .site-header:not(.is-compact) .brand { top: 50%; height: 89%; aspect-ratio: 6269 / 4499; transform: translate(-50%, -50%); }
.masthead .site-header:not(.is-compact) .brand__opening { width: 100%; height: 100%; }
.brand__opening { width: clamp(3.1rem, 4vw, 4.1rem); }
.brand__sticky { display: none; width: 3.25rem; }
.site-header.is-compact .brand__opening { display: none; }
.site-header.is-compact .brand__sticky { display: block; }
.atelier-link { display: inline-flex; min-height: 2.7rem; align-items: center; padding-inline: 1.15rem; border: 1px solid currentColor; font-size: .67rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; transition: color .25s, background-color .25s; }
.atelier-link:hover { background: var(--espresso); color: var(--ivory); }
.select-control { position: relative; }
.select-control__trigger { min-width: 3.2rem; min-height: 2.75rem; justify-content: center; }
.select-control__options { position: absolute; top: calc(100% + .25rem); left: -.75rem; min-width: 5.5rem; padding-block: .45rem; border: 1px solid var(--line); background: var(--ivory-light); box-shadow: 0 1rem 2.5rem rgba(33, 21, 14, .12); color: var(--espresso); }
.select-control__options--right { right: -.75rem; left: auto; }
.select-control__options button { display: block; width: 100%; padding: .65rem 1rem; border: 0; background: transparent; color: inherit; text-align: left; font-size: .72rem; letter-spacing: .14em; cursor: pointer; }
.select-control__options button:hover, .select-control__options button:focus, .select-control__options button[aria-selected="true"] { background: var(--ivory-deep); }
.menu-open .site-header { color: var(--ivory); background: transparent; box-shadow: none; }
.menu-open .brand { opacity: 0; pointer-events: none; }
.menu-open .site-header .select-control, .menu-open .site-header .atelier-link, .menu-open .site-header .menu-trigger { visibility: hidden; }

.radial-menu { position: fixed; inset: 0; z-index: 120; display: flex; overflow: auto; flex-direction: column; padding: clamp(1.3rem, 3.4vw, 3.5rem) var(--page-gutter) 2rem; background: #1a110c; color: var(--ivory); clip-path: circle(.01rem at 0 2.75rem); visibility: hidden; transition: clip-path .85s var(--ease-editorial), visibility 0s .85s; }
.radial-menu.is-open { clip-path: circle(150vmax at 0 2.75rem); visibility: visible; transition: clip-path .85s var(--ease-editorial); }
.radial-menu__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.radial-menu__top > img { width: 2.2rem; height: 3rem; object-fit: contain; opacity: .9; }
.menu-close { position: relative; width: 3rem; height: 3rem; border: 1px solid var(--line-light); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-close span { position: absolute; left: 50%; top: 50%; width: 1rem; height: 1px; background: var(--ivory); transform: translate(-50%, -50%) rotate(45deg); }
.menu-close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }
.menu-edition { justify-self: end; font-size: .63rem; letter-spacing: .18em; }
.menu-grid { display: grid; flex: 1; grid-template-columns: repeat(4, 1fr); align-items: center; gap: clamp(1.5rem, 5vw, 6rem); padding-block: 6vh 4vh; }
.menu-grid section { align-self: stretch; padding-top: 8vh; border-top: 1px solid var(--line-light); }
.menu-grid__index { margin-bottom: clamp(2rem, 5vh, 4rem); color: var(--copper-light); font-size: .68rem; letter-spacing: .16em; }
.menu-grid h2 { margin-bottom: 2rem; color: var(--copper-light); font-size: clamp(2rem, 3.2vw, 3.8rem); }
.menu-grid a { display: block; width: fit-content; margin-block: .55rem; padding-block: .15rem; color: rgba(246, 237, 225, .76); font-size: .85rem; transition: color .2s, transform .2s; }
.menu-grid a:hover { color: var(--ivory); transform: translateX(.3rem); }
.menu-preferences { display: flex; gap: .75rem; align-items: center; margin-top: 1.5rem; }
.menu-preferences button { border: 0; background: transparent; color: var(--copper-light); font-size: .75rem; letter-spacing: .14em; cursor: pointer; }
.radial-menu__footer { border-top: 1px solid var(--line-light); padding-top: 1.25rem; color: rgba(246, 237, 225, .55); font-family: var(--font-display); font-size: 1rem; font-style: italic; }

.hero { position: relative; height: max(46rem, 100svh); min-height: 46rem; overflow: clip; background: var(--ivory-light); }
.hero__viewport { position: absolute; inset: 0; overflow: hidden; transform: scale(.985); transform-origin: center; clip-path: inset(0 var(--page-gutter)); transition: transform 1s var(--ease-editorial), clip-path 1s var(--ease-editorial); }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 2s var(--ease-editorial); }
.hero-slide.is-active { z-index: 1; opacity: 1; }
.hero-slide picture, .hero-slide img { width: 100%; height: 100%; }
.hero-slide img { object-fit: cover; object-position: center; }
.hero__wash { position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(246,241,233,.97) 0%, rgba(246,241,233,.84) 31%, rgba(246,241,233,.12) 62%, rgba(246,241,233,.02) 100%); pointer-events: none; }
.hero__content { position: absolute; z-index: 3; top: 50%; left: var(--page-gutter); width: 53vw; transform: translateY(-43%); }
.hero__content .eyebrow { margin-bottom: 1.6rem; color: var(--copper); }
.hero h1 { color: var(--espresso); font-size: clamp(4rem, 7.6vw, 8.6rem); line-height: .84; text-transform: uppercase; }
.hero__intro { max-width: 31rem; margin-top: 2rem; font-family: var(--font-display); font-size: clamp(1.12rem, 1.55vw, 1.45rem); line-height: 1.45; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin-top: 2.1rem; }
.hero-controls { position: absolute; z-index: 4; right: var(--page-gutter); bottom: 2.2rem; display: flex; gap: .65rem; align-items: center; color: var(--ivory-light); }
.hero-dots { display: flex; gap: .5rem; margin-inline: .35rem; }
.hero-dots button { width: 2rem; height: 2.75rem; padding: 0; border: 0; background: transparent; cursor: pointer; }
.hero-dots button::after { display: block; height: 1px; background: currentColor; content: ""; opacity: .4; transition: opacity .25s, transform .25s; }
.hero-dots button.is-active::after { opacity: 1; transform: scaleY(3); }
.hero__place { position: absolute; z-index: 4; left: var(--page-gutter); bottom: 2.6rem; font-size: .63rem; font-weight: 600; letter-spacing: .18em; }
.scroll-cue { position: absolute; z-index: 4; bottom: 2.2rem; left: 50%; width: 2.5rem; height: 3.5rem; transform: translateX(-50%); }
.scroll-cue::before { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: rgba(34,21,15,.4); content: ""; }
.scroll-cue span { position: absolute; bottom: 0; left: calc(50% - 3px); width: 7px; height: 7px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); }
@supports (animation-timeline: scroll()) {
  .hero__viewport { animation: heroUnfold linear both; animation-timeline: scroll(root block); animation-range: 0 58vh; }
  @keyframes heroUnfold { to { transform: scale(1); clip-path: inset(0); } }
}
.hero.hero--departing .hero__viewport { transform: scale(1); clip-path: inset(0); }

.manifesto { position: relative; isolation: isolate; display: grid; grid-template-columns: .65fr 1.5fr .85fr; column-gap: clamp(2rem, 6vw, 8rem); overflow: hidden; padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--ivory); }
.manifesto__mark { position: absolute; z-index: 0; top: clamp(2rem, 4vw, 4rem); left: -2vw; width: clamp(12rem, 26vw, 26rem); height: auto; opacity: .028; pointer-events: none; }
.manifesto__heading { position: relative; z-index: 1; grid-column: 2; }
.manifesto__heading .eyebrow { margin-bottom: 1.8rem; color: var(--copper); }
.manifesto h2 { font-size: var(--serif-lg); }
.manifesto__copy { position: relative; z-index: 1; grid-column: 3; align-self: end; padding-bottom: .8rem; }
.manifesto__copy > p { margin-bottom: 2rem; color: var(--muted); }
.principles { position: relative; z-index: 1; display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); margin-top: clamp(5rem, 9vw, 9rem); border-top: 1px solid var(--line); }
.principles li { min-height: 13rem; padding: 1.4rem clamp(1rem, 2.5vw, 2.5rem) 1rem 0; border-right: 1px solid var(--line); }
.principles li + li { padding-left: clamp(1rem, 2.5vw, 2.5rem); }
.principles li:last-child { border-right: 0; }
.principles span { color: var(--copper); font-size: .67rem; letter-spacing: .13em; }
.principles h3 { margin-top: 3rem; font-size: clamp(1.45rem, 2vw, 2.1rem); }
.principles p { max-width: 14rem; margin-top: 1rem; color: var(--muted); font-size: .88rem; }

.folio-section { padding-block: var(--section-space); background: var(--espresso); color: var(--ivory); }
.section-heading { display: grid; grid-template-columns: 1.5fr .65fr; gap: 8vw; align-items: end; margin-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.section-heading .eyebrow { margin-bottom: 1.5rem; color: var(--copper-light); }
.section-heading h2 { font-size: var(--serif-lg); }
.section-heading > p { max-width: 28rem; padding-bottom: .65rem; color: rgba(246,237,225,.62); }
.editorial-track, .destination-track { display: flex; gap: clamp(1rem, 3vw, 3.5rem); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.editorial-track::-webkit-scrollbar, .destination-track::-webkit-scrollbar { display: none; }
.editorial-track { padding: 0 var(--page-gutter) 1rem; }
.folio-panel { display: grid; flex: 0 0 min(77vw, 66rem); grid-template-columns: 1.35fr .65fr; min-height: min(66vh, 43rem); scroll-snap-align: center; }
.folio-panel figure { overflow: hidden; }
.folio-panel img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-editorial); }
.folio-panel:hover img { transform: scale(1.025); }
.folio-panel > div { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem, 4vw, 4.5rem); border: 1px solid var(--line-light); border-left: 0; }
.folio-panel span { color: var(--copper-light); font-size: .65rem; letter-spacing: .15em; }
.folio-panel h3 { margin-top: auto; font-size: clamp(2.5rem, 5vw, 5.5rem); }
.folio-panel p { margin-top: 1.5rem; color: rgba(246,237,225,.62); }
.folio-panel--landscape { grid-template-columns: .72fr 1.28fr; }
.folio-panel--landscape figure { order: 2; }
.folio-panel--landscape > div { border-right: 0; border-left: 1px solid var(--line-light); }
.track-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 2rem; color: rgba(246,237,225,.6); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.track-controls > div { display: flex; gap: .75rem; color: var(--ivory); }

.measure-section { display: grid; grid-template-columns: .45fr 1.15fr .7fr; gap: clamp(2rem, 6vw, 8rem); align-items: start; padding-top: var(--section-space); padding-bottom: var(--section-space); }
.measure-section__number { color: var(--copper); font-family: var(--font-display); font-size: clamp(6rem, 14vw, 14rem); line-height: .65; }
.measure-section__copy .eyebrow { margin-bottom: 1.8rem; color: var(--copper); }
.measure-section h2 { font-size: var(--serif-lg); }
.measure-section__copy > p:not(.eyebrow) { max-width: 38rem; margin-top: 2.2rem; color: var(--muted); }
.measure-section .button { margin-top: 2.2rem; }
.measure-notes { margin-top: 3rem; border-top: 1px solid var(--line); }
.measure-notes li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding-block: 1.4rem; border-bottom: 1px solid var(--line); }
.measure-notes span { color: var(--copper); font-size: .65rem; letter-spacing: .1em; }
.measure-notes p { font-family: var(--font-display); font-size: 1.15rem; line-height: 1.35; }

.story-split { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 52rem; }
.story-split__image { min-height: 44rem; overflow: hidden; }
.story-split__image picture, .story-split__image img { width: 100%; height: 100%; }
.story-split__image img { object-fit: cover; }
.story-split__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 8vw, 9rem); background: var(--ivory-light); }
.story-split__copy .eyebrow { margin-bottom: 2rem; color: var(--copper); }
.story-split h2 { font-size: var(--serif-lg); }
.story-split__copy > p:not(.eyebrow) { max-width: 31rem; margin-top: 2rem; color: var(--muted); }
.story-split blockquote { max-width: 34rem; margin-block: 3rem; padding-left: 1.5rem; border-left: 1px solid var(--copper); font-family: var(--font-display); font-size: clamp(1.35rem, 2.2vw, 2rem); font-style: italic; line-height: 1.35; }

.services { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.services__heading { display: grid; grid-template-columns: .45fr 1.55fr; margin-bottom: clamp(4rem, 8vw, 8rem); }
.services__heading .eyebrow { color: var(--copper); }
.services h2 { font-size: var(--serif-lg); }
.service-index { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: .35fr 1.1fr 1fr auto; gap: clamp(1rem, 3vw, 4rem); align-items: center; min-height: 9rem; border-bottom: 1px solid var(--line); transition: color .3s, padding .3s; }
.service-row:hover { padding-inline: 1rem; color: var(--copper); }
.service-row > span { color: var(--copper); font-size: .66rem; letter-spacing: .14em; }
.service-row h3 { font-size: clamp(2rem, 3.4vw, 4rem); }
.service-row p { max-width: 31rem; color: var(--muted); font-size: .9rem; }
.service-row i { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-style: normal; }

.members-section { position: relative; height: clamp(42rem, 88vh, 58rem); overflow: hidden; background: #130c08; color: var(--ivory); }
.members-section__image, .members-section__image img { width: 100%; height: 100%; }
.members-section__image img { object-fit: cover; object-position: center; }
.members-section__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,7,4,.93) 0%, rgba(12,7,4,.69) 38%, rgba(12,7,4,.06) 70%), linear-gradient(0deg, rgba(12,7,4,.4), transparent 45%); }
.members-section__content { position: absolute; top: 50%; left: var(--page-gutter); width: min(36rem, 43vw); transform: translateY(-50%); }
.members-section__content.is-visible { transform: translateY(-50%); }
.members-section__content .eyebrow { margin-bottom: 1.8rem; color: var(--copper-light); }
.members-section h2 { color: var(--copper-light); font-size: var(--serif-lg); }
.members-section__content > p:not(.eyebrow) { max-width: 31rem; margin-block: 2rem; color: rgba(246,237,225,.7); }
.members-section__note { position: absolute; right: var(--page-gutter); bottom: 2.5rem; font-size: .63rem; letter-spacing: .18em; }

.journal { padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--ivory-light); }
.journal__heading { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: clamp(4rem, 7vw, 7rem); }
.journal__heading .eyebrow { margin-bottom: 1.5rem; color: var(--copper); }
.journal h2 { font-size: var(--serif-lg); }
.journal-grid { display: grid; grid-template-columns: 1.15fr .85fr 1fr; gap: clamp(1rem, 2.5vw, 3rem); }
.journal-story:nth-child(2) { padding-top: 7rem; }
.journal-story figure { aspect-ratio: .95; overflow: hidden; background: var(--ivory-deep); }
.journal-story:nth-child(2) figure { aspect-ratio: 1.18; }
.journal-story img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-editorial); }
.journal-story:hover img { transform: scale(1.025); }
.journal-story p { margin-top: 1.3rem; color: var(--copper); font-size: .62rem; letter-spacing: .13em; }
.journal-story h3 { margin-block: 1rem; font-size: clamp(1.7rem, 2.6vw, 2.8rem); line-height: 1.04; }
.journal-story span { font-size: .67rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

.destinations { padding-block: var(--section-space); background: var(--espresso-soft); color: var(--ivory); }
.status-pill { display: inline-block; margin-bottom: 1.3rem; padding: .4rem .7rem; border: 1px solid var(--copper-light); color: var(--copper-light); font-size: .6rem; letter-spacing: .13em; text-transform: uppercase; }
.destination-track { padding-inline: var(--page-gutter); }
.destination-panel { position: relative; flex: 0 0 min(31rem, 72vw); aspect-ratio: .72; overflow: hidden; scroll-snap-align: center; }
.destination-panel::after { position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, rgba(14,8,5,.85)); content: ""; }
.destination-panel img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: transform 1s var(--ease-editorial), filter .5s; }
.destination-panel:hover img { transform: scale(1.03); filter: saturate(1); }
.destination-panel span, .destination-panel h3 { position: absolute; z-index: 1; left: 2rem; }
.destination-panel span { bottom: 8rem; color: var(--copper-light); font-size: .64rem; letter-spacing: .16em; }
.destination-panel h3 { bottom: 2rem; font-size: clamp(2.2rem, 4vw, 4rem); }

.site-footer { background: var(--ivory-light); color: var(--espresso); }
.footer-cta { display: grid; grid-template-columns: .55fr 1.35fr auto; gap: clamp(2.5rem, 6vw, 7rem); align-items: center; padding: clamp(5rem, 9vw, 9rem) var(--page-gutter); background: #17100c; color: var(--ivory); }
.footer-cta > img { width: min(11rem, 100%); opacity: .94; }
.footer-cta .eyebrow { margin-bottom: 1.3rem; color: var(--copper-light); }
.footer-cta h2 { font-size: clamp(2.2rem, 4.4vw, 5.2rem); line-height: .98; }
.footer-main { padding-inline: var(--page-gutter); }
.footer-identity { display: grid; grid-template-columns: 1fr 1fr auto; gap: clamp(2rem, 7vw, 8rem); align-items: center; padding-block: clamp(3.5rem, 6vw, 6rem); border-bottom: 1px solid var(--line); }
.footer-identity > img { width: min(17rem, 100%); }
.footer-identity address { font-style: normal; }
.footer-identity address .eyebrow { margin-bottom: 1rem; color: var(--copper); }
.footer-identity address a { font-family: var(--font-display); font-size: clamp(1rem, 1.5vw, 1.25rem); }
.footer-contact-details { margin-top: .85rem; color: var(--muted); font-size: .82rem; }
.footer-social { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: flex-end; }
.footer-social a { display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; opacity: 1; transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease, opacity 220ms ease; }
.footer-social a:not(.is-disabled):focus-visible { color: var(--copper); border-color: var(--copper); background-color: rgba(166, 95, 43, .07); box-shadow: 0 0 .75rem rgba(166, 95, 43, .08); opacity: 1; }
.footer-social a.is-disabled { opacity: .3; }
.footer-social svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

@media (hover: hover) and (pointer: fine) {
  .footer-social a:hover { color: var(--copper); border-color: var(--copper); background-color: rgba(166, 95, 43, .07); box-shadow: 0 0 .75rem rgba(166, 95, 43, .08); opacity: 1; }
}
.footer-nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem; padding-block: clamp(3rem, 5vw, 5rem); }
.footer-nav p { margin-bottom: 1.25rem; color: var(--copper); font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; }
.footer-nav a { display: block; width: fit-content; margin-block: .55rem; color: var(--muted); font-size: .82rem; transition: color .2s; }
.footer-nav a:hover { color: var(--espresso); }
.footer-partners { display: grid; grid-template-columns: minmax(11rem, .35fr) 1fr; gap: 3rem; align-items: center; min-height: 8rem; padding-block: 2rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.footer-partners .eyebrow { color: var(--muted); }
.footer-partners__list { display: flex; min-height: 4rem; gap: 2.5rem; align-items: center; justify-content: center; }
.footer-partners__list:empty::after { width: 100%; height: 1px; background: linear-gradient(90deg, transparent, var(--line), transparent); content: ""; }
.footer-partners__list img { width: auto; max-width: 10rem; height: 3rem; object-fit: contain; opacity: .58; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.5rem; color: var(--muted); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
