:root {
    --paper: #f6f3ec;
    --cream: #eeeae1;
    --ink: #252421;
    --muted: #827f79;
    --line: #dad6cb;
    --olive: #333930;
    --sans: 'DM Sans', Arial, sans-serif;
    --serif: 'Italiana', 'Bodoni MT', 'Times New Roman', serif;
    --head: clamp(54px, 7.8vw, 128px);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-weight: 400;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

body.locked {
    overflow: hidden;
}

button,
a,
select,
textarea {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
}

button:focus-visible,
a:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid #a4835c;
    outline-offset: 4px;
}

img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

::selection {
    background: #aca28d;
    color: #fff;
}

.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.concept-note {
    position: fixed;
    bottom: 16px;
    right: 18px;
    z-index: 48;
    background: rgba(252, 250, 246, .93);
    border: 1px solid #d3cfc5;
    padding: 9px 12px;
    font-size: 9px;
    letter-spacing: .16em;
    color: #736f67;
    backdrop-filter: blur(10px);
    pointer-events: none;
}

.concept-note span {
    margin: 0 6px;
    color: #b9a992;
}

.eyebrow {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    line-height: 1.5;
}

.eyebrow.light {
    color: rgba(255, 255, 255, .8);
}

/* HEADER & LOGO NHỎ */
.site-header {
    height: 125px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 40;
    padding: 20px 4% 0;
    color: #fff;
    border-bottom: 0;
    transition: background .3s, color .3s, border-color .3s;
}

.site-header.header-solid {
    background: rgba(246, 243, 236, .96);
    color: var(--ink);
    backdrop-filter: blur(16px);
}

.header-left,
.header-right {
    display: flex;
    align-items: center;
    gap: 34px;
    min-width: 33.3%;
}

.header-right {
    justify-content: flex-end;
}

.header-link,
.text-button,
.currency {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .17em;
    white-space: nowrap;
}

.header-link {
    position: relative;
    display: inline-block;
    padding: 12px 0;
    font-size: 15px;
}

.header-link::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 7px;
    left: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}

.header-link[href="#home"]::after,
.header-link:hover::after,
.header-link:focus-visible::after {
    transform: scaleX(1);
}

.text-button {
    display: flex;
    align-items: center;
    gap: 15px;
}

.menu-lines {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 24px;
}

.menu-lines i {
    display: block;
    width: 24px;
    height: 1px;
    background: currentColor;
}

.menu-lines i:nth-child(2) {
    width: 16px;
}

.wordmark {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: normal;
    gap: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.wordmark img {
    display: block;
    width: clamp(130px, 13vw, 172px);
    height: auto;
    max-height: 44px;
    object-fit: contain;
    filter: invert(1);
    transition: filter .3s;
}

.site-header.header-solid .wordmark img {
    filter: none;
}

.wordmark-fallback {
    flex-direction: column;
    align-items: center;
    font-family: var(--serif);
    font-size: 32px;
    letter-spacing: .06em;
    line-height: .8;
    gap: 6px;
}

.wordmark-fallback small {
    font-family: var(--sans);
    font-size: 8px;
    letter-spacing: .38em;
}

.currency {
    display: flex;
    align-items: center;
    gap: 8px;
}

.currency-btn {
    padding: 9px 0;
    opacity: .52;
    font-size: 10px;
    letter-spacing: .1em;
}

.currency-btn.active {
    opacity: 1;
    border-bottom: 1px solid currentColor;
}

.currency>span {
    opacity: .5;
}

/* HERO */
.hero {
    height: max(690px, 100svh);
    min-height: 590px;
    position: relative;
    background: #4c4b43;
    color: #fff;
    overflow: hidden;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .95s, visibility .95s;
}

.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
}

.hero .hero-bg {
    position: absolute;
    inset: 0;
}

.hero-bg img {
    object-position: center 46%;
    filter: saturate(.65);
}

/* EDITORIAL STORIES */
.editorial-stage {
    overflow: hidden;
    padding: 0 6%;
    background: #fbf9f1;
    color: var(--ink);
}

.editorial-story {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: minmax(210px, auto) minmax(220px, auto) auto;
    gap: 20px;
    max-width: 1680px;
    min-height: 0;
    margin: 0 auto;
    padding: 105px 0 115px;
    border-bottom: 1px solid rgba(95, 88, 75, .16);
}

.editorial-art {
    min-width: 0;
    background: #eee9df;
}

.editorial-art.media-frame img {
    object-fit: contain;
    object-position: center;
}

.editorial-story__heading {
    z-index: 1;
    grid-column: 9 / 13;
    grid-row: 1;
    align-self: end;
    padding-bottom: 22px;
}

.editorial-story__heading .eyebrow {
    color: #77756e;
    font-size: 9px;
}

.editorial-story__heading h2 {
    margin: 19px 0 0;
    color: #82a7ce;
    font: italic 400 clamp(44px, 5vw, 76px)/1.1 Georgia, var(--serif);
    letter-spacing: -.045em;
}

.editorial-story__heading h2 span {
    color: #d3a7a9;
}

.editorial-story__copy {
    z-index: 1;
    grid-column: 9 / 13;
    grid-row: 2;
    max-width: 350px;
    color: #68665f;
    font-size: 14px;
    line-height: 1.75;
}

.editorial-story__copy p {
    margin: 0 0 18px;
}

.editorial-art--ether-lead {
    grid-column: 4 / 8;
    grid-row: 1 / 3;
    width: 100%;
    aspect-ratio: 1.25;
    align-self: center;
    margin-top: 10px;
}

.editorial-art--fleur-lead {
    grid-column: 1 / 4;
    grid-row: 1 / 3;
    width: 100%;
    aspect-ratio: .8;
    align-self: center;
    margin-top: 10px;
}

.editorial-art--ether-left {
    grid-column: 1 / 6;
    grid-row: 3;
    width: 100%;
    aspect-ratio: 1.25;
}

.editorial-art--ether-right {
    grid-column: 7 / 10;
    grid-row: 3;
    width: 100%;
    aspect-ratio: .8;
}

.editorial-art--fleur-left {
    grid-column: 5 / 8;
    grid-row: 3;
    width: 100%;
    aspect-ratio: .8;
}

.editorial-art--fleur-right {
    grid-column: 9 / 12;
    grid-row: 3;
    width: 100%;
    aspect-ratio: .8;
}

.editorial-heart {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    align-self: center;
    display: grid;
    place-items: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    margin-top: 10px;
    padding: 0;
    background: #fff;
    color: #e6a8b4;
    font: 400 clamp(100px, 12vw, 175px)/1 Georgia, serif;
    opacity: .9;
}

.editorial-heart span {
    transition: transform .7s cubic-bezier(.2, .65, .3, 1);
}

.editorial-heart.is-rotated span {
    transform: rotate(360deg) scale(1.06);
}

.editorial-story__note {
    grid-column: 10 / 13;
    grid-row: 3;
    align-self: end;
    margin: 0 0 30px;
    color: #88847b;
    font-size: 9px;
    letter-spacing: .2em;
}

.editorial-story--essence {
    grid-template-rows: minmax(210px, auto) minmax(220px, auto) auto;
}

.editorial-story--essence .editorial-story__heading,
.editorial-story--essence .editorial-story__copy {
    grid-column: 1 / 5;
}

.editorial-art--essence-lead {
    grid-column: 7 / 13;
    grid-row: 1 / 3;
    width: 100%;
    aspect-ratio: 1.25;
    align-self: center;
    margin-top: 20px;
}

.editorial-art--essence-left {
    grid-column: 1 / 6;
    grid-row: 3;
    width: 100%;
    aspect-ratio: 1.25;
}

.editorial-art--essence-right {
    grid-column: 8 / 11;
    grid-row: 3;
    width: 100%;
    aspect-ratio: .8;
}

.editorial-flower {
    position: absolute;
    right: 7%;
    bottom: 17%;
    z-index: 2;
    width: clamp(95px, 11vw, 155px);
    aspect-ratio: 1;
    padding: 0;
    overflow: hidden;
    border: 5px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    background: #eee9df;
    box-shadow: 0 8px 26px rgba(37, 36, 33, .14);
    cursor: pointer;
}

.editorial-flower img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #eee9df;
    transition: transform .8s cubic-bezier(.2, .65, .3, 1);
}

.editorial-flower.is-spun img {
    transform: rotate(360deg) scale(1.08);
}

@keyframes editorial-spin {
    to { transform: rotate(360deg); }
}

/* SECTIONS */
.manifesto {
    text-align: center;
    padding: 160px 20px 150px;
    min-height: 560px;
}

.manifesto h2 {
    font: 400 clamp(45px, 7.1vw, 104px)/1.14 var(--serif);
    letter-spacing: -.038em;
    margin: 32px 0 26px;
}

.manifesto h2 em,
.feature-copy h2 em,
.editorial-copy h2 em,
.about-copy h2 em,
.quote-band em,
.footer-headline em,
.contact-content h2 em {
    font-family: Georgia, serif;
    font-weight: 400;
}

.manifesto p {
    font: 16px/1.85 Georgia, serif;
    color: #666157;
    max-width: 550px;
    margin: 0 auto;
}

.tiny-ornament {
    font-size: 22px;
    margin-top: 40px;
    color: #8d877b;
}

.feature {
    display: grid;
    grid-template-columns: 55% 45%;
    min-height: 795px;
    background: #e5e0d6;
}

.feature-image {
    height: 795px;
}

.feature-copy {
    position: relative;
    padding: 12% 13% 12% 14%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.feature-copy h2 {
    font: 400 clamp(60px, 6.4vw, 112px)/1.03 var(--serif);
    letter-spacing: -.035em;
    margin: 35px 0 29px;
}

.short-rule {
    width: 45px;
    height: 1px;
    background: #9b9384;
    margin-bottom: 22px;
}

.feature-copy p {
    font: 16px/1.9 Georgia, serif;
    max-width: 375px;
    color: #5e5a51;
    margin: 0 0 33px;
}

.inline-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 52px;
    padding: 13px 0;
    border-bottom: 1px solid currentColor;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .16em;
    width: max-content;
    max-width: 100%;
    transition: gap .2s;
}

.inline-link:hover {
    gap: 63px;
}

.inline-link span {
    font-size: 16px;
}

.feature-side-note {
    position: absolute;
    right: 20px;
    bottom: 25px;
    writing-mode: vertical-rl;
    font-size: 9px;
    letter-spacing: .15em;
    color: #888076;
}

.collections-section {
    padding: 148px 5% 155px;
}

.section-top {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 58px;
}

.section-top h2 {
    font: 400 clamp(60px, 8.1vw, 125px)/.95 var(--serif);
    letter-spacing: -.035em;
    margin: 25px 0 0;
}

.period {
    color: #8f826e;
}

.section-top p {
    font: 16px/1.8 Georgia, serif;
    color: #716b60;
    max-width: 300px;
    margin: 0 4px 4px 0;
}

.collection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.collection-card {
    text-align: left;
    padding: 0;
    position: relative;
    display: block;
}

.collection-image {
    height: clamp(340px, 44vw, 670px);
    overflow: hidden;
}

.collection-image img {
    transition: transform 1.1s cubic-bezier(.25, .46, .45, .94);
    filter: saturate(.68);
}

.collection-card:hover img {
    transform: scale(1.06);
}

.collection-num {
    display: block;
    font-size: 10px;
    color: #827b6f;
    letter-spacing: .17em;
    margin-top: 22px;
}

.collection-name {
    display: block;
    font: 400 clamp(40px, 4.3vw, 75px)/1.1 var(--serif);
    margin-top: 10px;
}

.collection-action {
    display: block;
    font-size: 9px;
    letter-spacing: .15em;
    margin-top: 19px;
    border-bottom: 1px solid #77736c;
    width: max-content;
    padding-bottom: 10px;
}

.editorial-section {
    background: #eae6dc;
    padding: 125px 6% 145px;
}

.editorial-label {
    text-align: center;
    margin-bottom: 74px;
}

.editorial-mosaic {
    display: grid;
    grid-template-columns: 49% 18% 1fr;
    gap: 22px;
    align-items: center;
}

.editorial-one {
    height: 660px;
}

.editorial-two {
    height: 405px;
    align-self: start;
    margin-top: 55px;
}

.editorial-copy {
    padding: 0 7%;
    align-self: center;
}

.editorial-copy>span {
    font-size: 10px;
    letter-spacing: .18em;
}

.editorial-copy h2 {
    font: 400 clamp(49px, 5.1vw, 83px)/1.08 var(--serif);
    letter-spacing: -.035em;
    margin: 35px 0;
}

.editorial-copy p {
    font: 15px/1.7 Georgia, serif;
    color: #767066;
    margin-bottom: 35px;
}

.gallery-section {
    padding: 145px 5% 140px;
}

.gallery-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 18px;
    margin-bottom: 38px;
}

.tabs {
    display: flex;
    gap: 33px;
    flex-wrap: wrap;
}

.filter-tab {
    font-size: 10px;
    letter-spacing: .16em;
    padding: 10px 0;
    opacity: .48;
    position: relative;
}

.filter-tab.active {
    opacity: 1;
}

.filter-tab.active:after {
    content: '';
    height: 1px;
    background: #393731;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.collection-select-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 10px;
    letter-spacing: .16em;
    white-space: nowrap;
}

.collection-select-wrap select {
    appearance: none;
    border: 0;
    background: transparent;
    outline: none;
    font-size: 10px;
    letter-spacing: .07em;
    cursor: pointer;
    max-width: 160px;
    color: #46433f;
}

.collection-select-wrap>span {
    font-size: 18px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 54px;
    min-height: 320px;
}

.product-card {
    min-width: 0;
    display: block;
    padding: 0;
    text-align: left;
}

.product-image {
    height: auto;
    aspect-ratio: .70;
    overflow: hidden;
    position: relative;
    background: #e5dfd4;
}

.product-image img {
    transition: transform .8s ease, filter .4s;
    filter: saturate(.6);
}

.product-card:hover img {
    transform: scale(1.05);
    filter: saturate(.85);
}

.product-image .view-mark {
    position: absolute;
    right: 13px;
    bottom: 13px;
    background: rgba(248, 246, 241, .95);
    width: 37px;
    height: 37px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    opacity: 0;
    transform: translateY(6px);
    transition: .25s;
}

.product-card:hover .view-mark,
.product-card:focus-visible .view-mark {
    opacity: 1;
    transform: translateY(0);
}

.product-label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    margin-top: 16px;
}

.product-label strong {
    font-weight: 400;
    font: 25px/1.15 var(--serif);
}

.product-label span {
    font-size: 9px;
    color: #817b71;
    letter-spacing: .11em;
}

.product-price {
    font-size: 12px;
    letter-spacing: .04em;
    margin-top: 9px;
    color: #665f55;
}

.gallery-end {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 55px;
    font-size: 10px;
    letter-spacing: .18em;
    color: #777269;
}

.gallery-end .inline-link {
    color: #2c2a26;
}

.empty-grid {
    grid-column: 1 / -1;
    padding: 85px 20px;
    text-align: center;
    font: 21px/1.7 Georgia, serif;
    color: #655f55;
}

.empty-grid button {
    display: block;
    margin: 20px auto;
    border-bottom: 1px solid;
    font-size: 10px;
    letter-spacing: .15em;
}

.quote-band {
    min-height: 520px;
    background: var(--olive);
    color: #faf8f2;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 60px 25px;
}

.quote-band p {
    font: 400 clamp(52px, 7.1vw, 108px)/1.2 var(--serif);
    letter-spacing: -.035em;
    margin: 28px 0 20px;
}

.quote-band .star {
    font-size: 23px;
    color: #d4cabb;
}

.about-section {
    display: grid;
    grid-template-columns: 50% 50%;
    min-height: 750px;
}

.about-image {
    height: 750px;
}

.about-copy {
    padding: 13% 13%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-copy h2 {
    font: 400 clamp(59px, 7.2vw, 111px)/1.08 var(--serif);
    margin: 33px 0 28px;
    letter-spacing: -.04em;
}

.about-copy p {
    font: 16px/1.85 Georgia, serif;
    color: #6f685e;
    max-width: 410px;
}

.about-copy .inline-link {
    margin-top: 27px;
}

/* FOOTER & LOGO NHỎ DƯỚI FOOTER */
.site-footer {
    background: #e7e2d8;
    padding: 100px 5% 40px;
}

.footer-overline {
    font-size: 10px;
    letter-spacing: .2em;
    margin-bottom: 20px;
}

.footer-headline {
    font: 400 clamp(70px, 11vw, 176px)/1 var(--serif);
    letter-spacing: -.05em;
    padding: 0;
    text-align: left;
}

.footer-underline {
    height: 1px;
    background: #b8b1a3;
    margin: 42px 0 62px;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    line-height: normal;
    white-space: nowrap;
}

.footer-logo img {
    display: block;
    width: clamp(110px, 12vw, 145px);
    height: auto;
    max-height: 36px;
    object-fit: contain;
}

.footer-logo-fallback {
    font: 32px/1 var(--serif);
    letter-spacing: .03em;
}

.footer-logo-fallback small {
    font: 10px var(--sans);
    letter-spacing: .12em;
}

.footer-links {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.footer-links a,
.footer-links button,
.footer-bottom>span {
    font-size: 10px;
    letter-spacing: .12em;
}

.media-frame {
    background: #d1c7b8;
    position: relative;
    overflow: hidden;
}

.media-frame img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
}

.reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity .9s, transform .9s;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.delay-1 {
    transition-delay: .12s;
}

.delay-2 {
    transition-delay: .22s;
}

/* OVERLAYS */
.overlay {
    position: fixed;
    z-index: 70;
    inset: 0;
    background: var(--paper);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s, visibility .35s;
    overflow-y: auto;
}

.overlay.open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.overlay-top,
.product-dialog-top {
    height: 96px;
    padding: 0 5%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}

.overlay-close {
    font-size: 10px;
    letter-spacing: .15em;
    display: flex;
    align-items: center;
    gap: 15px;
}

.overlay-close>span {
    font: 29px/1 var(--serif);
}

.menu-layout {
    display: grid;
    grid-template-columns: 66% 34%;
    min-height: calc(100svh - 96px);
}

.menu-content {
    padding: 6% 8%;
}

.menu-preamble {
    font-size: 10px;
    letter-spacing: .18em;
    margin-bottom: 30px;
    color: #817e76;
}

.menu-collection {
    border-bottom: 1px solid var(--line);
    padding: 16px 0 22px;
}

.menu-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.menu-name {
    font: 400 clamp(47px, 6vw, 100px)/1.2 var(--serif);
    letter-spacing: -.03em;
    white-space: nowrap;
    text-align: left;
}

.menu-name>span {
    font: 11px var(--sans);
    letter-spacing: .14em;
    margin-right: 25px;
    vertical-align: middle;
    color: #898477;
}

.menu-name:hover {
    font-style: italic;
}

.menu-sub {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    min-width: 130px;
}

.menu-sub button {
    font-size: 10px;
    letter-spacing: .14em;
    white-space: nowrap;
}

.menu-sub button:hover,
.menu-plain a:hover,
.menu-plain button:hover {
    color: #99876e;
}

.menu-plain {
    display: flex;
    gap: 35px;
    flex-wrap: wrap;
    padding-top: 45px;
    font-size: 11px;
    letter-spacing: .13em;
}

.menu-art {
    min-height: 640px;
}

.menu-art:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 75%, rgba(0, 0, 0, .4));
}

.menu-art>div {
    position: absolute;
    bottom: 26px;
    left: 24px;
    right: 24px;
    color: white;
    z-index: 1;
    font-size: 11px;
    letter-spacing: .16em;
    display: flex;
    justify-content: space-between;
}

.menu-art>div span {
    font-size: 10px;
}

.product-page {
    background: #f7f4ed;
}

.product-page-top {
    height: 73px;
    padding: 0 5%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    font-size: 10px;
    letter-spacing: .16em;
}

.product-dialog-body {
    display: grid;
    grid-template-columns: 57% 43%;
    min-height: calc(100svh - 73px);
}

.product-photo-panel {
    padding: 25px 6% 23px 8%;
    display: flex;
    flex-direction: column;
    background: #ece7de;
    min-height: 680px;
}

.detail-photo {
    width: 100%;
    flex: 1;
    min-height: 420px;
}

.detail-photo img {
    object-position: center 35%;
}

.photo-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: 14px;
}

.detail-thumbs {
    display: flex;
    gap: 9px;
}

.detail-thumb {
    padding: 0;
    border: 1px solid transparent;
    width: 51px;
    height: 66px;
    overflow: hidden;
    position: relative;
}

.detail-thumb.active {
    border: 1px solid #48443a;
}

.detail-thumb img {
    object-fit: cover;
}

.photo-arrows {
    display: flex;
    gap: 16px;
    align-items: center;
}

.photo-arrows button {
    font-size: 19px;
}

.photo-arrows span {
    font-size: 10px;
    letter-spacing: .12em;
}

.product-details {
    padding: 12% 12% 7%;
    display: flex;
    flex-direction: column;
}

.product-details h1 {
    font: 400 clamp(58px, 6vw, 95px)/1 var(--serif);
    margin: 23px 0 16px;
}

.detail-code {
    font-size: 10px;
    letter-spacing: .13em;
    color: #746f65;
}

.detail-code span {
    margin-left: 15px;
    color: #36332f;
}

.detail-rule {
    height: 1px;
    background: var(--line);
    margin: 35px 0;
}

.detail-description {
    font: 16px/1.9 Georgia, serif;
    color: #625c54;
    max-width: 390px;
    margin: 0 0 38px;
}

.detail-price-label {
    font-size: 10px;
    letter-spacing: .15em;
}

.detail-price-label span {
    color: #a09a91;
}

.detail-price {
    font: 36px/1.1 var(--serif);
    margin-top: 12px;
}

.detail-note {
    font-size: 10px;
    line-height: 1.6;
    color: #888175;
    margin: 15px 0 28px;
    max-width: 380px;
}

.dark-button {
    background: #30332d;
    color: white;
    min-height: 58px;
    padding: 17px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-size: 10px;
    letter-spacing: .14em;
    max-width: 450px;
    transition: background .25s;
}

.dark-button:hover {
    background: #5f6558;
}

.dark-button span {
    font-size: 16px;
}

.detail-bottom {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    margin-top: auto;
    padding-top: 70px;
}

.detail-bottom button {
    font-size: 10px;
    letter-spacing: .13em;
    border-bottom: 1px solid #aeaaa2;
    padding-bottom: 9px;
}

.contact-overlay {
    background: #e8e3d9;
}

.contact-content {
    max-width: 840px;
    margin: 5% auto 7%;
    padding: 0 30px;
}

.contact-content h2 {
    font: 400 clamp(80px, 11vw, 156px)/1.05 var(--serif);
    letter-spacing: -.045em;
    margin: 24px 0;
}

.contact-content p {
    font: 16px/1.9 Georgia, serif;
    max-width: 530px;
    color: #696259;
}

.contact-content label {
    display: block;
    margin-top: 35px;
    margin-bottom: 11px;
    font-size: 10px;
    letter-spacing: .16em;
}

.contact-content textarea {
    width: 100%;
    resize: vertical;
    background: #f4f0e9;
    border: 1px solid #cbc4b9;
    border-radius: 0;
    color: var(--ink);
    padding: 16px;
    font-size: 14px;
    line-height: 1.7;
}

.contact-content .dark-button {
    margin-top: 14px;
    width: 210px;
}

.contact-foot {
    font-size: 10px;
    letter-spacing: .17em;
    margin-top: 45px;
    color: #827d74;
}

.copy-feedback {
    font-size: 12px !important;
}

.toast {
    z-index: 100;
    position: fixed;
    bottom: 28px;
    left: 50%;
    transform: translate(-50%, 30px);
    background: #2e312c;
    color: #fff;
    padding: 13px 23px;
    font-size: 12px;
    letter-spacing: .04em;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

.toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

@media (max-width: 1100px) {
    .editorial-story {
        grid-template-rows: minmax(180px, auto) minmax(190px, auto) auto;
        gap: 16px;
    }

    .editorial-mosaic {
        grid-template-columns: 50% 25% 1fr;
        gap: 18px;
    }

    .editorial-one {
        height: 540px;
    }

    .editorial-two {
        height: 310px;
    }

    .editorial-copy {
        padding: 0;
    }

    .editorial-copy h2 {
        font-size: 50px;
    }

    .menu-line {
        display: block;
    }

    .menu-sub {
        flex-direction: row;
        margin: 12px 0 5px 45px;
        flex-wrap: wrap;
    }

    .menu-name {
        font-size: 70px;
    }

    .feature-image {
        height: 690px;
    }

    .feature {
        min-height: 690px;
    }

    .feature-copy {
        padding-left: 10%;
        padding-right: 8%;
    }

    .about-copy {
        padding: 12% 9%;
    }
}

@media (max-width: 760px) {
    .editorial-stage {
        padding: 0 6%;
    }

    /* Boutique collection and appointment flow */
    [hidden] {
        display: none !important;
    }

    .site-header {
        position: absolute;
        color: #fff;
        padding-top: 0;
    }

    .header-left {
        gap: clamp(18px, 3vw, 42px);
    }

    .header-right {
        justify-content: flex-end;
    }

    .nav-dropdown {
        position: relative;
    }

    .nav-dropdown-menu {
        position: absolute;
        top: 100%;
        left: -18px;
        z-index: 45;
        display: none;
        min-width: 210px;
        padding: 14px 18px;
        background: rgba(246, 243, 236, .98);
        color: var(--ink);
        box-shadow: 0 12px 30px rgba(20, 20, 18, .12);
    }

    .nav-dropdown:hover .nav-dropdown-menu,
    .nav-dropdown:focus-within .nav-dropdown-menu,
    .nav-dropdown.is-open .nav-dropdown-menu {
        display: grid;
    }

    .nav-dropdown-menu button,
    .nav-dropdown-menu a {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        padding: 11px 0;
        text-align: left;
        font-size: 10px;
        letter-spacing: .14em;
    }

    .nav-dropdown-menu span {
        color: var(--muted);
    }

    .brand-intro {
        display: grid;
        grid-template-columns: 55% 45%;
        min-height: 580px;
        background: #e9e5dc;
    }

    .brand-intro-image {
        min-height: 580px;
    }

    .brand-intro-copy {
        align-self: center;
        padding: 9% 12%;
    }

    .brand-intro-copy h1,
    .page-heading h1 {
        margin: 24px 0;
        font: 400 clamp(58px, 7vw, 104px)/1.02 var(--serif);
        letter-spacing: -.04em;
    }

    .brand-intro-copy h1 em,
    .page-heading h1 span {
        color: #8d877b;
        font-weight: 400;
    }

    .brand-intro-copy p,
    .page-heading p {
        max-width: 420px;
        color: #696259;
        font: 16px/1.85 Georgia, serif;
    }

    .brand-intro-copy .inline-link {
        margin-top: 25px;
        background: transparent;
    }

    .collections-page {
        min-height: 72vh;
        padding: 145px 5% 130px;
    }

    .page-heading {
        margin: 0 auto 55px;
        max-width: 900px;
        text-align: center;
    }

    .page-heading h1 {
        font-size: clamp(65px, 9vw, 128px);
    }

    .page-heading p {
        margin: 0 auto;
    }

    .collection-products {
        min-height: 75vh;
        padding-top: 125px;
    }

    .back-link {
        margin-bottom: 48px;
        padding-bottom: 8px;
        border-bottom: 1px solid currentColor;
        font-size: 10px;
        letter-spacing: .15em;
    }

    .product-card {
        display: block;
        width: 100%;
        text-align: left;
    }

    .product-card .product-image {
        display: block;
        width: 100%;
    }

    .product-card .product-price {
        display: block;
    }

    .product-card .product-label {
        display: flex;
    }

    .product-card .view-mark {
        display: flex;
    }

    .contact-content {
        max-width: 960px;
    }

    .contact-content h2 {
        margin: 25px 0;
        font-size: clamp(58px, 8vw, 102px);
    }

    .appointment-form {
        margin-top: 34px;
    }

    .form-fields {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }

    .appointment-form label {
        display: block;
        margin: 0 0 22px;
        font: 22px/1.3 var(--serif);
    }

    .appointment-form label>span {
        color: #cc6d69;
    }

    .appointment-form input,
    .appointment-form textarea {
        display: block;
        width: 100%;
        margin-top: 12px;
        padding: 16px 18px;
        border: 1px solid #c8c3bb;
        border-radius: 12px;
        background: #f8f6f1;
        color: var(--ink);
        font: 15px/1.5 var(--sans);
    }

    .appointment-form input {
        min-height: 62px;
    }

    .appointment-form textarea {
        min-height: 175px;
        resize: vertical;
    }

    .appointment-form input::placeholder,
    .appointment-form textarea::placeholder {
        color: #aaa59d;
    }

    .appointment-form .dark-button {
        min-width: 150px;
        justify-content: center;
    }

    .form-note {
        font-size: 12px !important;
    }

    .contact-foot {
        overflow-wrap: anywhere;
    }

    @media (max-width: 760px) {
        .site-header {
            height: 75px;
            padding: 0 5%;
        }

        .header-left,
        .header-right {
            min-width: 0;
        }

        .header-left {
            gap: 14px;
        }

        .header-link {
            font-size: 9px;
            letter-spacing: .1em;
        }

        .nav-dropdown-menu {
            left: 0;
            min-width: 175px;
        }

        .wordmark img {
            width: clamp(80px, 23vw, 112px);
        }

        .currency {
            gap: 5px;
        }

        .currency-btn {
            font-size: 9px;
        }

        .brand-intro {
            grid-template-columns: 1fr;
        }

        .brand-intro-image {
            min-height: 0;
            height: 75vw;
            max-height: 540px;
        }

        .brand-intro-copy {
            padding: 70px 8%;
        }

        .collections-page {
            padding: 105px 5% 90px;
        }

        .collection-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .collection-card:last-child {
            grid-column: auto;
            width: auto;
            margin: 0;
        }

        .collection-name {
            font-size: clamp(28px, 7vw, 48px);
        }

        .collection-products {
            padding-top: 100px;
        }

        .form-fields {
            grid-template-columns: 1fr;
            gap: 0;
        }

        .appointment-form label {
            font-size: 20px;
        }
    }

    @media (max-width: 420px) {
        .header-left {
            gap: 8px;
        }

        .header-link {
            font-size: 8px;
            letter-spacing: .06em;
        }

        .wordmark img {
            width: 76px;
        }

        .currency-btn {
            font-size: 8px;
        }
    }

    .editorial-story,
    .editorial-story--essence {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
        gap: 14px;
        min-height: 0;
        padding: 76px 0 88px;
    }

    .editorial-story__heading,
    .editorial-story--essence .editorial-story__heading {
        grid-column: 1 / -1;
        grid-row: auto;
        order: 1;
        padding: 0 0 8px;
    }

    .editorial-story__heading h2 {
        font-size: clamp(48px, 13vw, 72px);
    }

    .editorial-story__copy,
    .editorial-story--essence .editorial-story__copy {
        grid-column: 1 / -1;
        grid-row: auto;
        order: 2;
        max-width: 440px;
        font-size: 13px;
    }

    .editorial-art--ether-lead,
    .editorial-art--fleur-lead,
    .editorial-art--essence-lead {
        grid-column: 1 / -1;
        grid-row: auto;
        order: 3;
        height: auto;
        margin: 12px 0;
    }

    .editorial-art--ether-left,
    .editorial-art--fleur-left,
    .editorial-art--essence-left {
        grid-column: 1 / 2;
        grid-row: auto;
        order: 4;
        height: auto;
        align-self: stretch;
    }

    .editorial-art--ether-right,
    .editorial-art--fleur-right,
    .editorial-art--essence-right {
        grid-column: 2 / 3;
        grid-row: auto;
        order: 5;
        height: auto;
        margin: 0;
    }

    .editorial-heart {
        position: absolute;
        top: 27%;
        right: 3%;
        width: 86px;
        height: 86px;
        margin: 0;
        font-size: 58px;
    }

    .editorial-flower {
        right: 3%;
        bottom: 10%;
        width: 92px;
        border-width: 3px;
    }

    .editorial-story__note {
        grid-column: 1 / -1;
        grid-row: auto;
        order: 6;
        margin: 10px 0 0;
    }

    .concept-note {
        font-size: 7px;
        bottom: 8px;
        right: 8px;
        padding: 7px;
    }

    .site-header {
        height: 70px;
        padding: 0 5%;
    }

    .header-left,
    .header-right {
        min-width: 0;
        gap: 0;
    }

    .desktop-only {
        display: none !important;
    }

    .menu-trigger {
        display: flex;
        font-size: 10px;
        gap: 9px;
    }

    .menu-lines {
        width: 20px;
    }

    .menu-lines i {
        width: 20px;
    }

    .wordmark img {
        width: clamp(100px, 30vw, 132px);
        max-height: 33px;
    }

    .footer-logo img {
        width: clamp(95px, 28vw, 120px);
        max-height: 30px;
    }

    .currency-btn {
        font-size: 9px;
    }

    .currency {
        gap: 5px;
    }

    .gallery-currency {
        align-self: flex-end;
    }

    .hero {
        height: 92svh;
        min-height: 560px;
    }

    .manifesto {
        padding: 100px 5% 105px;
        min-height: 0;
    }

    .manifesto h2 {
        font-size: clamp(45px, 9.4vw, 70px);
    }

    .manifesto p {
        font-size: 14px;
    }

    .feature {
        grid-template-columns: 1fr;
    }

    .feature-image {
        height: 560px;
    }

    .feature-copy {
        padding: 90px 8% 110px;
    }

    .feature-copy h2 {
        font-size: 75px;
        margin-top: 22px;
    }

    .feature-copy p {
        font-size: 15px;
    }

    .collections-section,
    .gallery-section {
        padding: 100px 5%;
    }

    .section-top {
        align-items: start;
        display: block;
        margin-bottom: 35px;
    }

    .section-top h2 {
        font-size: 73px;
    }

    .section-top p {
        font-size: 14px;
        margin-top: 25px;
    }

    .collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .collection-card:last-child {
        grid-column: 1 / -1;
        width: 72%;
        margin: 25px auto 0;
    }

    .collection-image {
        height: auto;
        aspect-ratio: .72;
    }

    .collection-name {
        font-size: 49px;
    }

    .editorial-section {
        padding: 95px 5%;
    }

    .editorial-label {
        margin-bottom: 35px;
    }

    .editorial-mosaic {
        grid-template-columns: 65% 1fr;
        gap: 13px;
    }

    .editorial-one {
        height: 450px;
    }

    .editorial-two {
        height: 270px;
        margin-top: 45px;
    }

    .editorial-copy {
        grid-column: 1 / -1;
        padding: 40px 10px 10px;
        text-align: center;
    }

    .editorial-copy h2 {
        font-size: 65px;
    }

    .editorial-copy .inline-link {
        margin: auto;
    }

    .gallery-toolbar {
        align-items: start;
        flex-direction: column;
        gap: 22px;
    }

    .tabs {
        gap: 19px;
    }

    .filter-tab {
        font-size: 9px;
    }

    .collection-select-wrap {
        font-size: 9px;
    }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 12px;
    }

    .product-label strong {
        font-size: 23px;
    }

    .product-label span {
        font-size: 8px;
    }

    .product-price {
        font-size: 11px;
    }

    .quote-band {
        min-height: 380px;
    }

    .about-section {
        grid-template-columns: 1fr;
    }

    .about-image {
        height: 530px;
    }

    .about-copy {
        padding: 90px 8%;
    }

    .about-copy h2 {
        font-size: 85px;
    }

    .site-footer {
        padding: 75px 6% 28px;
    }

    .footer-headline {
        font-size: clamp(62px, 12vw, 92px);
    }

    .footer-bottom {
        align-items: start;
        flex-wrap: wrap;
    }

    .footer-links {
        order: 3;
        width: 100%;
        gap: 20px;
    }

    .menu-layout {
        grid-template-columns: 1fr;
    }

    .menu-art {
        display: none;
    }

    .overlay-top {
        height: 72px;
    }

    .menu-content {
        padding: 45px 7%;
    }

    .menu-name {
        font-size: clamp(53px, 11vw, 82px);
    }

    .menu-name>span {
        margin-right: 12px;
    }

    .menu-sub {
        margin-left: 5px;
        gap: 14px;
    }

    .menu-sub button {
        font-size: 9px;
    }

    .menu-plain {
        padding-top: 36px;
        gap: 18px;
    }

    .product-dialog-body {
        grid-template-columns: 1fr;
    }

    .product-photo-panel {
        min-height: 0;
        padding: 15px 4% 17px;
    }

    .detail-photo {
        height: 480px;
        min-height: 0;
        flex: none;
    }

    .product-details {
        padding: 65px 7% 50px;
    }

    .product-details h1 {
        font-size: 76px;
    }

    .detail-bottom {
        padding-top: 55px;
    }

    .contact-content {
        margin: 70px auto 80px;
    }

    .contact-content h2 {
        font-size: clamp(66px, 12vw, 110px);
    }

    .about-copy p,
    .contact-content p {
        font-size: 15px;
    }
}

[hidden] {
    display: none !important;
}

.header-left {
    gap: clamp(20px, 3vw, 42px);
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: -18px;
    z-index: 45;
    display: grid;
    min-width: 220px;
    padding: 14px 20px;
    background: rgba(246, 243, 236, .98);
    color: var(--ink);
    box-shadow: 0 12px 30px rgba(20, 20, 18, .12);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown-menu button,
.nav-dropdown-menu a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    text-align: left;
    font-size: 10px;
    letter-spacing: .14em;
}

.nav-dropdown-menu span {
    color: var(--muted);
}

.brand-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    min-height: max(760px, 100svh);
    background: #e9e5dc;
}

.brand-intro-image {
    min-height: max(760px, 100svh);
}

.brand-intro-image img {
    object-position: center 38%;
}

.brand-intro-copy {
    align-self: center;
    max-width: 760px;
    padding: clamp(56px, 8vw, 140px);
}

.brand-intro-copy h1 {
    margin: 30px 0;
    font: 400 clamp(72px, 8vw, 132px)/.98 var(--serif);
    letter-spacing: -.05em;
}

.brand-intro-copy h1 em {
    color: #8d877b;
    font-weight: 400;
}

.brand-intro-copy p {
    max-width: 430px;
    color: #696259;
    font: 17px/1.9 Georgia, serif;
}

.brand-intro-copy .inline-link {
    margin-top: 30px;
    background: transparent;
}

@media (max-width: 760px) {
    .header-left {
        gap: 14px;
    }

    .nav-dropdown-menu {
        left: 0;
        min-width: 185px;
    }

    .brand-intro {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 54svh) minmax(46svh, auto);
        min-height: 100svh;
    }

    .brand-intro-image {
        min-height: 0;
        height: auto;
    }

    .brand-intro-copy {
        padding: clamp(34px, 7vh, 60px) 8%;
    }

    .brand-intro-copy h1 {
        margin: 18px 0;
        font-size: clamp(56px, 12vw, 88px);
    }

    .brand-intro-copy p {
        font-size: 15px;
    }
}

@media (max-width: 420px) {
    .header-left {
        gap: 8px;
    }

    .header-link {
        font-size: 8px;
        letter-spacing: .06em;
    }

    .wordmark img {
        width: 76px;
    }

    .currency-btn {
        font-size: 8px;
    }

    .brand-intro {
        grid-template-rows: minmax(0, 50svh) minmax(50svh, auto);
    }
}

.editorial-page {
    min-height: 100vh;
    padding: 125px 5% 0;
    background: var(--paper);
}

.editorial-back {
    margin-bottom: 30px;
}

.editorial-page-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    min-height: min(720px, 74vw);
    background: #e9e5dc;
}

.editorial-page-image {
    min-height: 560px;
    background: #d6cec1;
}

.editorial-page-intro {
    align-self: center;
    padding: clamp(42px, 7vw, 110px);
}

.editorial-page-intro h1 {
    margin: 28px 0;
    font: 400 clamp(58px, 7vw, 104px)/1.02 var(--serif);
    letter-spacing: -.045em;
}

.editorial-page-intro p,
.editorial-content-copy p,
.editorial-page-cta p,
.contact-channel p {
    color: #696259;
    font: 16px/1.9 Georgia, serif;
}

.editorial-page-intro p {
    max-width: 510px;
}

.editorial-page-sections {
    max-width: 1440px;
    margin: 0 auto;
}

.editorial-content-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
    align-items: center;
    gap: clamp(32px, 7vw, 110px);
    padding: clamp(80px, 10vw, 150px) 2%;
    border-bottom: 1px solid var(--line);
}

.editorial-content-row--reverse {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
}

.editorial-content-row--reverse .editorial-content-image {
    order: 2;
}

.editorial-content-image {
    min-height: 520px;
    aspect-ratio: .88;
    background: #e5dfd4;
}

.editorial-content-copy {
    max-width: 600px;
    padding: 30px 8%;
}

.editorial-content-copy h2,
.contact-channel h2 {
    margin: 0 0 25px;
    font: 400 clamp(38px, 5vw, 70px)/1.08 var(--serif);
    letter-spacing: -.03em;
}

.editorial-content-row--text {
    display: block;
    max-width: 940px;
    margin: 0 auto;
}

.editorial-content-row--text .editorial-content-copy {
    padding: 20px 4%;
}

.editorial-content-copy p {
    max-width: 600px;
}

.editorial-contact-channels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1px;
    margin: 0 auto;
    background: var(--line);
    border: 1px solid var(--line);
}

.contact-channel {
    min-height: 215px;
    padding: clamp(26px, 4vw, 55px);
    background: #f2efe8;
}

.contact-channel h2 {
    margin-bottom: 20px;
    font-size: clamp(27px, 3vw, 38px);
}

.contact-channel a {
    display: inline-block;
    border-bottom: 1px solid currentColor;
    padding-bottom: 5px;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.contact-channel p {
    font-size: 14px;
}

.editorial-page-cta {
    margin: 80px -5.56% 0;
    padding: clamp(75px, 10vw, 140px) 8%;
    background: #e9e5dc;
    text-align: center;
}

.editorial-page-cta h2 {
    max-width: 850px;
    margin: 25px auto;
    font: 400 clamp(48px, 7vw, 96px)/1.08 var(--serif);
}

.editorial-page-cta p {
    max-width: 580px;
    margin: 0 auto 30px;
}

.editorial-page-cta .dark-button {
    margin: 0 auto;
}

@media (max-width: 760px) {
    .editorial-page {
        padding: 95px 5% 0;
    }

    .editorial-back {
        margin-bottom: 20px;
    }

    .editorial-page-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .editorial-page-image {
        min-height: 0;
        height: 66svh;
        max-height: 600px;
    }

    .editorial-page-intro {
        padding: 50px 8%;
    }

    .editorial-page-intro h1 {
        margin: 20px 0;
        font-size: clamp(52px, 12vw, 78px);
    }

    .editorial-page-intro p,
    .editorial-content-copy p,
    .editorial-page-cta p {
        font-size: 15px;
    }

    .editorial-content-row,
    .editorial-content-row--reverse {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 60px 0;
    }

    .editorial-content-row--reverse .editorial-content-image {
        order: 0;
    }

    .editorial-content-image {
        min-height: 0;
        aspect-ratio: .9;
    }

    .editorial-content-copy,
    .editorial-content-row--text .editorial-content-copy {
        padding: 35px 5% 10px;
    }

    .editorial-content-copy h2 {
        font-size: clamp(38px, 9vw, 56px);
    }

    .editorial-contact-channels {
        grid-template-columns: 1fr;
    }

    .contact-channel {
        min-height: 0;
    }

    .editorial-page-cta {
        margin: 60px -5.56% 0;
    }
}
/* ==============================================================
   MUSE DE MAI — EDITORIAL COLLECTION SYSTEM · November 2026
   Designed as a quiet photographic archive, not a shop grid.
   All original home, Studio, and product route behavior preserved.
   ============================================================== */
:root {
  --museum: #f5f1e9;
  --museum-ink: #25251f;
  --museum-line: #d8d2c8;
  --museum-small: 'DM Sans', sans-serif;
}
.collections-page, .collection-products { background: var(--museum); color: var(--museum-ink); }
.collections-page { padding: 152px 5vw 0; min-height: 78svh; overflow: hidden; }
.archive-intro { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(220px,.62fr); gap: 8vw; align-items: end; margin: 0 auto 88px; max-width: 1600px; }
.muse-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: #78736a; letter-spacing: .21em; font-size: 10px; font-weight: 500; line-height: 1.6; }
.muse-kicker__dot { display: inline-block; width: 7px; height: 7px; background: #a38e80; border-radius: 50%; flex-shrink: 0; }
.muse-kicker__index { margin-left: auto; color: #aaa197; }
.archive-intro h1 { margin: 23px 0 0; font: 400 clamp(70px, 9.2vw, 158px)/.9 'Italiana', Georgia,serif; letter-spacing: -.065em; }
.archive-intro h1 em, .collection-catalogue__intro h2 em, .collection-tail h2 em, .archive-outro p em { font-family: Georgia, serif; font-weight: 400; }
.archive-intro__aside { padding-bottom: 7px; }
.archive-rule { display: block; width: 56px; height: 1px; background: #968c82; margin-bottom: 24px; }
.archive-intro__aside p { font: 15px/1.9 Georgia,serif; color: #625f57; max-width: 310px; margin: 0 0 38px; }
.archive-count { color: #a7a098; font-size: 10px; font-weight: 500; letter-spacing: .2em; }
/* Index cards: full photographic spread. Works with one or many collections. */
.collections-page .collection-grid { display: flex; flex-direction: column; gap: 3px; width: calc(100% + 10vw); margin-left: -5vw; }
.collections-page .collection-card { display: grid; grid-template-columns: minmax(0, 56fr) minmax(0,44fr); width: 100%; min-height: clamp(540px, 60vw, 860px); text-align: left; background: #e8e3da; padding: 0; border: 0; cursor: pointer; }
.collections-page .collection-card--reverse { grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); }
.collections-page .collection-card--reverse .collection-image { order: 2; }
.collections-page .collection-card--reverse .collection-card__content { order: 1; }
.collections-page .collection-image { display: block; position: relative; height: 100%; min-height: 540px; overflow: hidden; background: #89877c; }
.collections-page .collection-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; filter: saturate(.83); transition: transform .9s cubic-bezier(.22,.61,.36,1), filter .9s; }
.collections-page .collection-card:hover .collection-image img, .collections-page .collection-card:focus-visible .collection-image img { transform: scale(1.04); filter: saturate(1); }
.collection-image__number { position: absolute; top: 32px; left: 34px; color: white; font-size: 12px; font-weight: 500; letter-spacing: .15em; text-shadow: 0 2px 12px #0006; }
.collection-image__missing { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 10px; letter-spacing: .18em; }
.collection-card__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 7vw, 140px); min-width: 0; background: #e8e3da; }
.collection-card__content .muse-kicker { font-size: 10px; }
.collections-page .collection-name { display: block; font: 400 clamp(70px, 7vw, 132px)/.97 'Italiana',Georgia,serif; letter-spacing: -.045em; margin: 38px 0 32px; white-space: normal; }
.collection-card__rule { display: block; width: 56px; height: 1px; background: #9e9488; margin-bottom: 30px; }
.collection-card__description { color: #6a665d; font: 16px/1.85 Georgia,serif; max-width: 380px; }
.collection-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 55px; }
.collection-card__year { font-size: 9px; letter-spacing: .18em; color: #999188; }
.collections-page .collection-action { margin: 0; padding: 0 0 12px; color: #322e2b; border-bottom: 1px solid #5e5a53; font-size: 10px; letter-spacing: .12em; transition: letter-spacing .25s; }
.collections-page .collection-card:hover .collection-action { letter-spacing: .17em; }
.archive-outro { display: flex; flex-direction: column; align-items: center; gap: 30px; text-align: center; padding: 134px 20px 145px; }
.archive-outro p { margin: 0; font: 400 clamp(58px, 6.9vw, 112px)/1.1 'Italiana', Georgia,serif; letter-spacing: -.03em; }
.archive-outro__link { font-size: 10px; letter-spacing: .16em; padding: 15px 0; border-bottom: 1px solid #4c4944; }
.archive-outro__link span { margin-left: 34px; }
/* Collection landing: mood photo, then breathable product catalogue */
.collection-products { padding: 126px 0 0; }
.collection-breadcrumb { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 0 5vw 29px; }
.collection-breadcrumb .back-link { margin: 0; border-bottom-color: #aaa59a; color: #514e48; }
.collection-breadcrumb > span { font-size: 9px; letter-spacing: .17em; color: #8c857c; }
.collection-breadcrumb > span span { padding: 0 14px; }
.collection-hero { display: grid; grid-template-columns: minmax(0,54fr) minmax(0,46fr); min-height: min(750px,76vw); background: #e8e3da; }
.collection-hero__visual { position: relative; overflow: hidden; min-height: 560px; background: #88847d; }
.collection-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; filter: saturate(.82); }
.collection-hero__corner { position: absolute; left: 30px; bottom: 26px; color: #fff; font-size: 10px; letter-spacing: .18em; text-shadow: 0 1px 9px #0007; }
.collection-hero__corner span { margin-left: 12px; }
.collection-hero__story { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(60px,8vw,150px); }
.collection-hero__eyebrow { display: flex; gap: 12px; align-items: center; font-size: 10px; letter-spacing: .2em; color: #8d8176; }
.collection-hero__story h1 { margin: 25px 0 29px; font: 400 clamp(67px,7.8vw,142px)/1.0 'Italiana',Georgia,serif; letter-spacing: -.048em; overflow-wrap: anywhere; }
.collection-hero__rule { display: block; width: 58px; height: 1px; background: #9a9288; }
.collection-hero__story p { margin: 32px 0 28px; color: #645f55; font: 16px/1.9 Georgia,serif; max-width: 420px; }
.collection-hero__explore { margin: 18px 0 70px; padding: 0 0 12px; border-bottom: 1px solid #635e56; font-size: 10px; letter-spacing: .15em; }
.collection-hero__explore span { margin-left: 25px; font-size: 17px; }
.collection-hero__signature { font: italic 15px Georgia,serif; color: #9b9389; }
.collection-catalogue { max-width: 1650px; padding: 136px 5vw 160px; margin: auto; }
.collection-catalogue__intro { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 71px; }
.collection-catalogue__intro h2 { margin: 20px 0 0; font: 400 clamp(70px,8vw,140px)/.93 'Italiana', Georgia,serif; letter-spacing: -.06em; }
.collection-catalogue__side { max-width: 300px; }
.collection-catalogue__side span { font-size: 10px; letter-spacing: .15em; color: #938a7f; }
.collection-catalogue__side p { color: #686359; font: 14px/1.9 Georgia,serif; margin: 15px 0 0; }
.collection-catalogue .product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(20px,3.2vw,65px); row-gap: clamp(76px,8vw,132px); min-height: 0; }
.collection-catalogue .product-card { display: flex; flex-direction: column; min-width: 0; padding: 0; gap: 0; }
.collection-catalogue .product-card:nth-child(even) { transform: translateY(75px); }
.collection-catalogue .product-image { display: block; width: 100%; position: relative; height: auto; aspect-ratio: .77; overflow: hidden; background: #ded7cd; }
.collection-catalogue .product-card:nth-child(even) .product-image { aspect-ratio: .79; }
.collection-catalogue .product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; filter: saturate(.88); transition: transform .8s cubic-bezier(.2,.65,.3,1), filter .8s; }
.collection-catalogue .product-card:hover .product-image img, .collection-catalogue .product-card:focus-visible .product-image img { transform: scale(1.035); filter: saturate(1); }
.product-image__edition { position: absolute; top: 25px; left: 28px; color: rgba(255,255,255,.92); font-size: 10px; letter-spacing: .2em; text-shadow: 0 1px 8px #0006; }
.product-image__hover { position: absolute; inset: auto 0 0; padding: 52px 28px 28px; font-size: 10px; letter-spacing: .16em; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.4)); text-align: right; opacity: 0; transform: translateY(15px); transition: opacity .25s,transform .25s; }
.collection-catalogue .product-card:hover .product-image__hover, .collection-catalogue .product-card:focus-visible .product-image__hover { opacity: 1; transform: translateY(0); }
.product-card__details { display: flex; justify-content: space-between; align-items: start; gap: 22px; width: 100%; padding: 23px 0 0; }
.collection-catalogue .product-label { display: flex; align-items: start; flex-direction: column; gap: 10px; margin: 0; }
.collection-catalogue .product-label strong { font: 400 clamp(28px,3vw,47px)/1.16 'Italiana',Georgia,serif; letter-spacing: -.02em; }
.collection-catalogue .product-label > span { font-size: 10px; color: #9a9185; letter-spacing: .12em; }
.product-card__pricing { flex-shrink: 0; text-align: right; padding-top: 6px; }
.collection-catalogue .product-price { display: block; font: 400 clamp(13px,1.2vw,17px)/1.4 'DM Sans',sans-serif; color: #48423a; white-space: nowrap; }
.product-price-note { display: block; font: 400 8px/1.5 'DM Sans',sans-serif; letter-spacing: .14em; margin-top: 6px; color: #948778; }
.detail-price-note { max-width: 390px; margin: 8px 0 16px; color: #8c8277; font: 13px/1.65 Georgia,serif; }
.collection-tail { text-align: center; display: flex; flex-direction: column; align-items: center; padding: 115px 24px 125px; gap: 27px; background: #e7e1d6; }
.collection-tail h2 { font: 400 clamp(60px,8vw,130px)/1.0 'Italiana',Georgia,serif; letter-spacing: -.045em; margin: 0; }
.collection-tail p { font: 16px/1.7 Georgia,serif; color: #6a625a; margin: 0; }
.collection-tail__cta { margin-top: 15px; border-bottom: 1px solid currentColor; padding: 12px 3px; font-size: 10px; letter-spacing: .15em; }
.collection-tail__cta span { margin-left: 45px; }
/* Keep visual hierarchy calm on product detail */
.product-page { background: var(--museum); }
.product-page .product-page-top { border-bottom: 1px solid var(--museum-line); }
@media (max-width: 1024px) {
  .archive-intro { gap: 5vw; margin-bottom: 60px; }
  .collections-page .collection-card { min-height: 520px; }
  .collection-card__content { padding: 55px 6vw; }
  .collections-page .collection-name { font-size: clamp(58px,7vw,90px); }
  .collection-hero__story { padding: 60px 6vw; }
  .collection-hero__story h1 { font-size: clamp(58px,7.5vw,100px); }
  .collection-hero__explore { margin-bottom: 28px; }
}
@media (max-width: 760px) {
  .collections-page { padding: 125px 5vw 0; }
  .archive-intro { grid-template-columns: 1fr; gap: 30px; margin-bottom: 53px; }
  .archive-intro h1 { font-size: clamp(65px,14vw,104px); }
  .archive-intro__aside { padding: 0; }
  .archive-intro__aside p { font-size: 14px; margin: 0 0 16px; }
  .collections-page .collection-card, .collections-page .collection-card--reverse { display: flex; flex-direction: column; min-height: 0; }
  .collections-page .collection-card--reverse .collection-image, .collections-page .collection-card--reverse .collection-card__content { order: initial; }
  .collections-page .collection-image { min-height: 0; height: 68svh; max-height: 740px; }
  .collection-card__content { min-height: 390px; padding: 55px 8vw 65px; }
  .collections-page .collection-name { margin: 26px 0; font-size: clamp(65px,13vw,110px); }
  .collection-card__footer { margin-top: 38px; }
  .archive-outro { padding: 92px 20px 100px; }
  .archive-outro p { font-size: clamp(55px,12vw,84px); }
  .collection-products { padding-top: 113px; }
  .collection-breadcrumb { padding: 0 5vw 18px; }
  .collection-breadcrumb > span { display: none; }
  .collection-hero { grid-template-columns: 1fr; }
  .collection-hero__visual { min-height: 0; height: 62svh; }
  .collection-hero__story { padding: 70px 8vw 78px; }
  .collection-hero__story h1 { margin: 20px 0; font-size: clamp(69px,13vw,112px); }
  .collection-catalogue { padding: 80px 6vw 125px; }
  .collection-catalogue__intro { flex-direction: column; align-items: flex-start; gap: 24px; margin-bottom: 44px; }
  .collection-catalogue__intro h2 { font-size: clamp(65px,14vw,100px); }
  .collection-catalogue__side { max-width: 420px; }
  .collection-catalogue .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 13px; }
  .collection-catalogue .product-card:nth-child(even) { transform: translateY(0); }
  .collection-catalogue .product-image, .collection-catalogue .product-card:nth-child(even) .product-image { aspect-ratio: .71; }
  .product-card__details { flex-direction: column; gap: 9px; padding-top: 13px; }
  .collection-catalogue .product-label strong { font-size: clamp(24px,5vw,34px); }
  .product-card__pricing { padding: 0; text-align: left; }
  .collection-catalogue .product-price { font-size: 12px; }
  .product-image__edition { top: 12px; left: 12px; font-size: 8px; }
  .product-image__hover { display: none; }
  .collection-tail { padding: 85px 20px; }
  .collection-tail h2 { font-size: clamp(58px,11vw,90px); }
}
@media (max-width: 410px) {
  .collections-page .collection-image { height: 56svh; }
  .collection-catalogue .product-grid { column-gap: 11px; }
  .collection-catalogue .product-label strong { font-size: 23px; }
  .collection-catalogue .product-price { white-space: normal; }
}
/* Product view must start BELOW the absolute global header. */
.product-page { padding-top: 125px; }
.product-page .product-page-top { min-height: 78px; height: auto; padding: 14px 5vw; }
@media (max-width:760px) { .product-page { padding-top: 116px; } .product-page .product-page-top { padding: 15px 6vw; } }
/* Close opened hover dropdown after navigating, until cursor actually leaves it. */
.nav-dropdown.is-dismissed:hover:not(.is-open) .nav-dropdown-menu { opacity: 0; visibility: hidden; pointer-events: none; }
.nav-dropdown.is-dismissed:focus-within:not(.is-open) .nav-dropdown-menu { opacity: 0; visibility: hidden; pointer-events: none; }
@media(max-width:420px) {
  .site-header .header-link { font-size: 9px; letter-spacing: .08em; }
  .site-header .currency-btn { font-size: 9px; }
}
