:root {
    color-scheme: light;
    --plum: #322043;
    --plum-deep: #21142d;
    --paper: #f8f2eb;
    --white: #fffaf4;
    --ink: #2b2032;
    --amber: #efbb74;
    --blue: #48668b;
    --lilac: #eee5ef;
    --gold: #8a4a1e;
    --gold-hover: #693414;
    --text-dark: var(--ink);
    --text-body: #584f60;
    --text-muted: #665b6c;
    --primary: var(--plum);
    --border-color: #ded2da;
    --font-heading: 'Cormorant Garamond', Garamond, Georgia, serif;
    --font-body: Montserrat, system-ui, sans-serif;
    --radius-md: 0;
    --radius-lg: 0;
    --radius-full: 0;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 144px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 15px/1.75 var(--font-body); }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
a, button, input, select, textarea { outline-offset: 5px; }
:focus-visible { outline: 2px solid var(--blue); }
h1, h2, h3 { font-family: var(--font-heading); font-weight: 500; line-height: .99; margin: 0; }
h2 { font-size: clamp(42px, 6vw, 86px); letter-spacing: -.035em; }
h3 { font-size: clamp(26px, 3vw, 36px); }
h1 em, h2 em { font-weight: 400; }
p { margin: 0; }
.wrap, .footer-wrap { width: min(1320px, calc(100% - clamp(36px, 8vw, 128px))); margin-inline: auto; }
.section-pad { padding-block: clamp(58px, 8vw, 122px); }

.eyebrow, .eyebrow-text, .hero-tagline, .masthead-note, .header-enquiry, .hero-index, .breadcrumb, .atelier-grid figcaption, .footer-grid h2 {
    font: 600 10px/1.6 var(--font-body);
    letter-spacing: .19em;
    text-transform: uppercase;
}
.eyebrow, .eyebrow-text, .hero-tagline { display: block; color: var(--gold); margin-bottom: 16px; }

.skip-link { position: fixed; left: 12px; top: 12px; z-index: 10; transform: translateY(-160%); background: var(--white); padding: 12px; }
.skip-link:focus { transform: translateY(0); }
.maison-header { background: var(--white); color: var(--plum); position: sticky; top: 0; z-index: 2; }
.header-masthead { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 88px; }
.masthead-note { color: var(--text-body); }
.wordmark { display: block; width: fit-content; }
.wordmark img { width: 116px; mix-blend-mode: multiply; }
.header-enquiry { justify-self: end; padding: 10px 0; }
.header-enquiry span { margin-left: 8px; color: var(--gold); }
.maison-navigation { display: flex; justify-content: center; gap: clamp(16px, 3.5vw, 55px); background: var(--plum-deep); }
.maison-navigation a { position: relative; padding: 12px 0; color: #f3ecdf; font-size: 10px; font-weight: 600; line-height: 18px; letter-spacing: .14em; text-transform: uppercase; }
.maison-navigation a:hover, .maison-navigation a[aria-current] { color: var(--amber); }
.maison-navigation a[aria-current]::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--amber); }
.maison-mobile-burger { display: none; }

@media (min-width: 721px) {
    html:has(.maison-header.is-compact) { scroll-padding-top: 78px; }
    .maison-header.is-compact {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: clamp(12px, 2vw, 30px);
        height: 64px;
        /* Keep the original 88px masthead + 42px nav space in the page flow. */
        margin-bottom: 66px;
        padding-inline: max(clamp(18px, 4vw, 64px), calc((100% - 1320px) / 2));
        box-shadow: 0 4px 14px #21142d18;
    }
    .maison-header.is-compact .header-masthead { display: contents; }
    .maison-header.is-compact .masthead-note,
    .maison-header.is-compact .header-enquiry { display: none; }
    .maison-header.is-compact .wordmark img { width: clamp(72px, 8vw, 92px); }
    .maison-header.is-compact .maison-navigation {
        align-self: stretch;
        justify-content: flex-end;
        gap: clamp(9px, 2vw, 30px);
        background: transparent;
    }
    .maison-header.is-compact .maison-navigation a {
        display: flex;
        align-items: center;
        padding: 0;
        color: var(--plum);
        letter-spacing: .08em;
    }
    .maison-header.is-compact .maison-navigation a:hover,
    .maison-header.is-compact .maison-navigation a[aria-current] { color: var(--gold); }
    .maison-header.is-compact .maison-navigation a[aria-current]::after { background: var(--gold); }
}

.hero, .page-intro { position: relative; isolation: isolate; color: var(--white); background: var(--plum); }
.hero-media, .hero-media img, .page-intro-media, .hero::after, .page-intro::after { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media, .page-intro-media { z-index: -2; }
.hero-media img, .page-intro-media { object-fit: cover; object-position: center; }
.hero::after, .page-intro::after { content: ''; z-index: -1; }
.hero::after { background: linear-gradient(90deg, #21142df5 0%, #2c1a37e8 24%, #2c1a3775 52%, #2c1a3718 100%), linear-gradient(0deg, #21142dae, transparent 28%); }
.hero-layout { min-height: clamp(590px, calc(100svh - 132px), 850px); display: grid; grid-template-rows: 1fr auto; align-items: center; }
.hero-copy { max-width: min(660px, 64%); padding-block: 58px 40px; }
.hero .eyebrow, .page-intro .eyebrow, .atelier-feature .eyebrow { color: var(--amber); }
.hero h1 { font-size: clamp(48px, 6.25vw, 94px); line-height: .88; letter-spacing: -.045em; margin: 18px 0 22px; text-wrap: balance; }
.hero h1 em { color: var(--amber); font-weight: 600; }
.hero-subheading { max-width: 52ch; margin-bottom: 10px; color: var(--amber); font-weight: 700; }
.hero-description { max-width: 54ch; color: #f3ecdf; }
.actions { display: flex; gap: 14px 24px; align-items: center; flex-wrap: wrap; margin-top: 28px; }
.btn, .button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; border: 1px solid transparent; min-height: 48px; padding: 10px 20px; font: 700 10px/1.45 var(--font-body); text-transform: uppercase; letter-spacing: .105em; text-align: center; transition: background-color .2s, color .2s, border-color .2s; }
.btn-gold, .button-gold { background: var(--amber); color: var(--plum-deep); }
.btn-gold:hover, .button-gold:hover { background: #f4dcb1; }
.btn-dark, .btn-wa, .button-wa { color: var(--white); background: var(--plum); }
.btn-dark:hover, .btn-wa:hover, .button-wa:hover { background: #4a325f; }
.btn-outline-dark { border-color: #89738c; color: var(--plum); }
.btn-outline-dark:hover { color: var(--white); background: var(--plum); border-color: var(--plum); }
.btn-outline-light { color: var(--white); border-color: #fffaf480; background: #21142d66; }
.btn-outline-light:hover { color: var(--plum-deep); background: var(--white); border-color: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 600; padding: 7px 0; border-bottom: 1px solid currentColor; }
.text-link:hover { color: var(--amber); }
.hero-index { display: flex; align-items: center; justify-content: space-between; padding-block: 19px; border-top: 1px solid #f8f2eb4d; color: #f3e5cd; }
.hero-index a { display: inline-flex; align-items: center; gap: 12px; }
.hero-index a span { font-size: 17px; line-height: 1; }

.material-band { border-bottom: 1px solid var(--border-color); }
.material-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: center; }
.material-grid > span { padding: 16px 8px; color: var(--text-body); font-size: 10px; text-transform: uppercase; letter-spacing: .11em; }
.material-grid > span + span { border-left: 1px solid var(--border-color); }
.material-grid strong { display: block; color: var(--ink); font: 600 clamp(23px, 3vw, 37px)/1.15 var(--font-heading); text-transform: none; letter-spacing: 0; }

.chapter-heading { display: grid; grid-template-columns: 1fr minmax(230px, 310px); gap: 18px; align-items: end; margin-bottom: 38px; }
.chapter-heading > p { color: var(--text-body); max-width: 34ch; }
.chapter-heading em, .partnership em { color: var(--gold); }
.editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
.editorial-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--white); border: 1px solid var(--border-color); }
.editorial-detail::after { content: ''; position: absolute; inset: 0; }
.editorial-detail:hover { color: var(--gold); }
.editorial-quote { position: relative; flex: none; padding-inline: clamp(8px, 2vw, 20px); gap: 6px; }
.editorial-media { position: relative; overflow: hidden; aspect-ratio: 1.4; background: var(--lilac); }
.editorial-media img, .creation-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.editorial-card:has(.editorial-detail:hover) img, .creation-card:hover img { transform: scale(1.04); }
.creation-tag { position: absolute; z-index: 1; top: 14px; left: 14px; background: var(--paper); color: var(--plum); padding: 6px 10px; }
.editorial-caption { flex: 1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 16px; padding: clamp(12px, 2vw, 24px); }
.editorial-copy { flex: 1; min-width: 0; }
.editorial-caption p { color: var(--text-body); font-size: 12px; margin-top: 5px; }
.round-arrow { flex: none; border-radius: 50%; border: 1px solid var(--blue); width: 42px; height: 42px; display: grid; place-items: center; transition: background-color .2s, color .2s; }
.section-end { text-align: center; margin-top: 34px; }
.catalogue-actions { justify-content: center; }

.atelier-story { background: var(--lilac); }
.story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 6vw, 92px); align-items: center; }
.story-grid h2 { font-size: clamp(42px, 5.8vw, 83px); }
.story-grid em { color: var(--gold); }
.story-copy > p:not(.eyebrow) { max-width: 50ch; margin: 20px 0; color: var(--text-body); }
.story-copy .text-link:hover { color: var(--gold-hover); }
.story-image { margin: 0; }
.story-image img { width: 100%; aspect-ratio: 1.3; object-fit: cover; }
.story-image figcaption { border-bottom: 1px solid var(--border-color); padding: 10px 0; color: var(--gold); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

.process-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.process-list li { border-top: 1px solid var(--border-color); padding: 18px clamp(10px, 2vw, 24px) 0; }
.process-list li + li { border-left: 1px solid var(--border-color); }
.process-list h3 { margin: 10px 0 8px; }
.process-list p, .questions-list p { color: var(--text-body); font-size: 14px; }

.team-preview { background: var(--lilac); }
.team-slider, .team-grid { display: grid; gap: clamp(12px, 2vw, 24px); }
.team-slider { grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * clamp(12px, 2vw, 24px)) / 4); overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 0 12px; }
.team-slider .team-card { scroll-snap-align: start; }
.team-slider .team-card:focus-visible { outline-offset: -3px; }
.team-card { display: block; min-width: 0; background: var(--white); border: 1px solid var(--border-color); scroll-margin-top: 20px; }
.team-card img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.team-card:is(a):hover, .team-card:target { border-color: var(--gold); }
.team-caption { padding: 14px 16px; }
.team-caption p { margin-top: 4px; color: var(--text-body); font-size: 12px; }
.team-caption .team-summary { margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--border-color); line-height: 1.5; }
.team-slider-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
.team-slider-controls:not([hidden]) { display: flex; gap: 8px; }
.team-slider-controls button { background: var(--white); }
.team-slider-controls button:hover:not([aria-disabled="true"]) { background: var(--plum); color: var(--white); }
.team-slider-controls button[aria-disabled="true"] { opacity: .5; cursor: default; }
.team-cover { background: var(--plum-deep); color: var(--white); }
.team-cover-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 6vw, 88px); align-items: center; padding-block: clamp(42px, 6vw, 88px); }
.team-cover .eyebrow, .team-cover h1 em { color: var(--amber); }
.team-cover h1 { font-size: clamp(56px, 7.6vw, 120px); letter-spacing: -.055em; }
.team-cover-copy > p:not(.eyebrow) { max-width: 46ch; margin: 20px 0 25px; color: #eee3f0; }
.team-cover-photos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .76fr); align-items: end; gap: 12px; margin: 0; }
.team-cover-photos img { width: 100%; border: 1px solid #efbb7466; }
.team-cover-photos img:nth-child(2) { margin-bottom: 18%; }
.team-cover-photos figcaption { grid-column: 1 / -1; border-top: 1px solid #efbb7466; padding-top: 10px; color: var(--amber); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.team-index { background: var(--lilac); padding-block: 22px; }
.team-index .eyebrow { margin-bottom: 10px; }
.team-index ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.team-index a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 12px; border: 1px solid #b29db4; font-size: 12px; font-weight: 600; }
.team-index a span { color: var(--gold); }
.team-index a:hover { background: var(--white); }
.team-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 3vw, 34px); }
.team-department { background: var(--white); border-top: 2px solid var(--gold); padding: clamp(16px, 3vw, 34px); scroll-margin-top: 20px; }
.team-department-heading { margin-bottom: 20px; }
.team-department-heading p { color: var(--text-body); font-size: 14px; margin-top: 10px; }
.team-department h2 { font-size: clamp(30px, 3.6vw, 52px); }
.team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team-grid .team-card:only-child { grid-column: 1 / -1; width: min(100%, 300px); }
.team-grid .team-card:target { outline: 2px solid var(--gold); outline-offset: 3px; }

.trade-questions { background: var(--white); }
.trade-questions .story-grid { align-items: start; }
.questions-list { border-top: 1px solid var(--border-color); }
.questions-list details { border-bottom: 1px solid var(--border-color); }
.questions-list summary { cursor: pointer; padding: 16px 0; font: 600 clamp(22px, 2.4vw, 30px)/1.15 var(--font-heading); }
.questions-list summary::marker { color: var(--gold); }
.questions-list p { padding-bottom: 16px; }
.questions-list p a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }

.atelier-feature { background: var(--plum); color: var(--white); padding-block: clamp(52px, 7vw, 102px); }
.atelier-grid, .grow-banner-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 80px); }
.atelier-grid figure { margin: 0; }
.atelier-grid video { width: 100%; background: #000; }
.atelier-grid figcaption { color: var(--amber); margin-top: 12px; }
.atelier-copy p:not(.eyebrow) { color: #eee3f0; max-width: 43ch; margin: 22px 0; }
.atelier-copy em { color: var(--amber); }
.partnership { text-align: center; background: var(--lilac); }
.partnership p:not(.eyebrow) { margin: 20px auto 0; max-width: 54ch; color: var(--text-body); }
.partnership .actions { justify-content: center; }

.page-intro { min-height: clamp(360px, 53vh, 610px); display: grid; align-items: center; }
.page-intro::after { background: linear-gradient(90deg, #21142df5, #21142db8 47%, #21142d46); }
.page-intro-content { padding-block: 56px; }
.breadcrumb { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; color: #f1e6d1; }
.breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.page-intro h1 { font-size: clamp(48px, 6.7vw, 108px); letter-spacing: -.045em; max-width: 14ch; }
.intro-copy { margin-top: 18px; color: #f1ebe0; max-width: 61ch; }
.center-heading-block { text-align: center; margin: 0 auto 36px; max-width: 790px; }
.center-heading-block h2, .grow-banner-content h2, .rfq-card-main h2 { font-size: clamp(36px, 4.7vw, 66px); }
.center-heading-block p, .grow-banner-content p { color: var(--text-body); }
.heading-divider { width: 48px; height: 1px; background: var(--gold); margin: 16px auto; }

.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 3vw, 34px); }
.journal-card { display: grid; grid-template-rows: auto 1fr; background: var(--white); border: 1px solid var(--border-color); }
.journal-card:hover { border-color: var(--gold); }
.journal-card-image { aspect-ratio: 4 / 3; background: var(--lilac); overflow: hidden; }
.journal-card-image img, .journal-article-layout img { width: 100%; height: 100%; object-fit: cover; }
.journal-card-copy { display: flex; flex-direction: column; padding: clamp(16px, 2.5vw, 30px); }
.journal-card-copy .eyebrow { margin-bottom: 10px; }
.journal-card-copy p:not(.eyebrow) { margin: 12px 0 20px; color: var(--text-body); }
.journal-read { margin-top: auto; color: var(--gold); font-weight: 700; font-size: 12px; }
.journal-article-hero { padding-block: clamp(36px, 6vw, 86px); background: var(--plum-deep); color: var(--white); }
.journal-article-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 72px); }
.journal-article-layout h1, .journal-prose h1 { font-size: clamp(42px, 6vw, 86px); letter-spacing: -.04em; }
.journal-article-layout img { height: auto; aspect-ratio: 5 / 4; border: 1px solid #efbb7466; }
.journal-back { display: inline-block; margin-bottom: 24px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.journal-article-hero .eyebrow, .journal-back { color: var(--amber); }
.journal-prose { max-width: 760px; }
.journal-prose section + section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border-color); }
.journal-prose h2 { font-size: clamp(28px, 4vw, 46px); }
.journal-prose section p { margin-top: 12px; color: var(--text-body); }
.journal-prose .journal-takeaway { background: var(--lilac); border-top: 2px solid var(--gold); padding: clamp(16px, 4vw, 32px); }
.journal-prose .journal-takeaway .eyebrow { margin-top: 0; color: var(--gold); }

.inner-guide { background: var(--lilac); }
.inner-guide h2, .inner-feature h2 { font-size: clamp(38px, 5vw, 68px); }
.inner-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 24px); margin-top: 26px; }
.journal-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inner-guide-card { background: var(--white); border-top: 2px solid var(--gold); padding: clamp(16px, 3vw, 32px); }
.inner-guide-card p:not(.eyebrow) { color: var(--text-body); margin-top: 10px; }
.inner-guide-card .journal-read { display: inline-block; margin-top: 16px; }
a.inner-guide-card:hover h3 { color: var(--gold); }
.inner-feature { background: var(--plum-deep); color: var(--white); }
.inner-feature-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(22px, 5vw, 70px); }
.inner-feature-layout img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid #efbb7466; }
.inner-feature .eyebrow { color: var(--amber); }
.inner-feature-copy { margin: 16px 0 22px; color: #eee3f0; max-width: 54ch; }

.grow-banner-content p { margin-block: 15px; }
.grow-banner-section { background: var(--lilac); }
.grow-checks-list { padding-left: 0; list-style: none; color: var(--text-body); }
.grow-checks-list li { margin-bottom: 9px; }
.tick { color: var(--gold); margin-right: 6px; }

.creations-grid, .services-five-grid, .steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.steps-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.creation-card, .service-premium-card, .procurement-panel, .contact-card-sidebar, .rfq-card-main { background: var(--white); border: 1px solid var(--border-color); }
.creation-media { position: relative; overflow: hidden; aspect-ratio: 1.35; }
.creation-tag { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.creation-info, .service-premium-card { padding: clamp(18px, 3vw, 30px); }
.creation-info p, .service-premium-card p { margin-top: 10px; color: var(--text-body); }
.creation-info > div:last-child { flex-wrap: wrap; }
.creation-moq { display: grid; gap: 5px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border-color); color: var(--gold); font-size: 11px; font-weight: 600; }
.procurement-panel { padding: clamp(20px, 4vw, 44px); margin-top: 50px; }

.contact-layout { display: grid; grid-template-columns: minmax(245px, .75fr) minmax(0, 1.65fr); gap: 20px; align-items: start; }
.contact-card-sidebar, .rfq-card-main { padding: clamp(20px, 3vw, 40px); overflow-wrap: anywhere; }
.contact-card-sidebar h3, .rfq-card-main h2 { margin-bottom: 14px; }
.sidebar-info-group { padding: 13px 0; border-top: 1px solid var(--border-color); }
.sidebar-info-group > strong { display: block; color: var(--gold); font-size: 11px; }
.form-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
#rfq label { display: grid; gap: 5px; font-size: 12px; font-weight: 600; }
#rfq input, #rfq select, #rfq textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #a38da5; background: #fffdf9; border-radius: 0; font-weight: 400; }
#rfq textarea { resize: vertical; }

.luxury-footer { background: var(--white); color: var(--text-body); border-top: 1px solid var(--border-color); padding: clamp(42px, 6vw, 80px) 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.15fr; gap: clamp(22px, 4vw, 56px); font-size: 12px; }
.footer-grid h2 { color: var(--plum); margin-bottom: 14px; }
.footer-wordmark { margin-bottom: 16px; }
.footer-purity-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.footer-purity-badges span { color: var(--blue); border: 1px solid var(--border-color); padding: 3px 6px; font-size: 8px; letter-spacing: .07em; }
.footer-links-box a { display: block; margin-bottom: 7px; }
.footer-contact-box address { font-style: normal; }
.footer-contact-box { overflow-wrap: anywhere; }
.footer-direct-contacts { margin-block: 10px; }
.footer-grid a:hover { color: var(--gold-hover); text-decoration: underline; }
.footer-wa-btn { color: var(--gold); }
.footer-enquiry { margin: 4px 0 10px; }
.contact-quick-enquiry { width: 100%; margin-bottom: 8px; }
.footer-contact-box .footer-wa-btn { display: block; }
.enquiry-dialog {
    width: min(610px, calc(100% - 28px));
    max-height: calc(100dvh - 28px);
    padding: clamp(18px, 4vw, 38px);
    border: 1px solid var(--border-color);
    background: var(--white);
    color: var(--ink);
    overflow: auto;
}
.enquiry-dialog::backdrop { background: #21142dc9; }
.enquiry-dialog h2 { font-size: clamp(36px, 5vw, 56px); padding-right: 28px; }
.enquiry-dialog > p:not(.eyebrow) { color: var(--text-body); margin-top: 10px; }
.enquiry-close { position: absolute; top: 10px; right: 10px; }
.enquiry-close button { width: 44px; height: 44px; border: 0; background: transparent; font-size: 28px; }
.enquiry-form { margin-top: 20px; }
.enquiry-materials { margin-top: 12px; }
.office-address { font-style: normal; line-height: 1.6; }
.office-address span { display: block; }
.team-introduction { max-width: 900px; }
.team-introduction h2 { font-size: clamp(36px, 5vw, 60px); }
.team-introduction > p:not(.eyebrow) { color: var(--text-body); margin-top: 16px; }
.loose-stone-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.loose-stone-grid article { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.loose-stone-grid article .btn { margin-top: auto; }
.enquiry-form label { display: grid; gap: 5px; font-size: 12px; font-weight: 600; }
.enquiry-form > label + label { margin-top: 12px; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid #a38da5; background: #fffdf9; border-radius: 0; font-weight: 400; }
.enquiry-form textarea { resize: vertical; }
.enquiry-form .actions { margin-top: 18px; }
.enquiry-form .text-link:hover { color: var(--gold); }
.enquiry-form button:disabled { opacity: .65; cursor: wait; }
.enquiry-status { font-size: 13px; overflow-wrap: anywhere; }
.enquiry-status:empty { display: none; }
.floating-whatsapp {
    position: fixed;
    z-index: 3;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 16px;
    border: 1px solid #ffffff42;
    border-radius: 999px;
    background: #146445;
    color: #fff;
    box-shadow: 0 5px 20px #21142d33;
    font-size: 12px;
    font-weight: 700;
}
.floating-whatsapp:hover { background: #0c5035; }
.footer-bottom-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 15px 0; border-top: 1px solid var(--border-color); margin-top: 32px; font-size: 10px; }

@media (max-width: 920px) {
    .loose-stone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-grid, .creations-grid, .services-five-grid, .steps-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contact-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    html { scroll-padding-top: 82px; }
    .inner-guide-grid, .inner-feature-layout { grid-template-columns: 1fr; }
    .journal-article-layout { grid-template-columns: 1fr; }
    .header-masthead { min-height: 70px; }
    .wordmark img { width: 88px; }
    .masthead-note, .header-enquiry { display: none; }
    .header-masthead .wordmark { grid-column: 2; }
    .maison-mobile-burger { display: grid; justify-items: center; align-content: center; gap: 6px; width: 44px; height: 44px; background: transparent; border: 1px solid var(--border-color); justify-self: end; }
    .maison-mobile-burger span { width: 19px; height: 1px; background: var(--plum); }
    .maison-navigation { display: none; position: absolute; inset: 100% 0 auto; background: var(--plum-deep); padding: 10px 18px 18px; max-height: calc(100dvh - 70px); overflow-y: auto; }
    .maison-navigation.is-open { display: grid; gap: 0; justify-content: stretch; }
    .maison-navigation a { border-bottom: 1px solid #efbb7438; }
    .maison-navigation a[aria-current]::after { right: auto; width: 26px; }
    .hero-layout { min-height: clamp(550px, calc(100svh - 70px), 740px); align-items: end; }
    .hero::after { background: linear-gradient(0deg, #21142d 0%, #21142dec 27%, #21142d75 57%, #21142d11 86%); }
    .hero h1 { font-size: clamp(39px, 8.6vw, 62px); margin: 14px 0 16px; }
    .hero-copy { max-width: 100%; padding-block: 128px 28px; }
    .hero-subheading { font-size: 13px; }
    .hero-description, .intro-copy { font-size: 13px; }
    .hero-index { padding-block: 13px; }
    .hero .actions { margin-top: 18px; }
    .chapter-heading, .atelier-grid, .story-grid, .grow-banner-grid, .steps-grid:not(.steps-grid-four) { grid-template-columns: 1fr; }
    .process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
    .process-list li:nth-child(odd) { border-left: 0; }
    .team-slider { grid-auto-columns: 45%; }
    .team-cover-layout, .team-directory { grid-template-columns: 1fr; }
    .team-slider-controls .round-arrow { width: 42px; height: 42px; font-size: 15px; }
    .chapter-heading { margin-bottom: 24px; }
    .editorial-grid { gap: 18px 12px; }
    .editorial-media { aspect-ratio: .95; }
    .editorial-caption { flex-direction: column; align-items: stretch; gap: 10px; padding: 10px; }
    .editorial-quote { min-height: 42px; padding-inline: 5px; font-size: 9px; }
    .editorial-caption h3 { font-size: 25px; }
    .editorial-caption p { font-size: 10px; }
    .round-arrow { width: 27px; height: 27px; font-size: 12px; }
    .page-intro::after { background: linear-gradient(90deg, #21142deb, #21142d92); }
}

@media (max-width: 460px) {
    .material-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .material-grid > span:nth-child(odd) { border-left: 0; }
    .material-grid > span:nth-child(n+3) { border-top: 1px solid var(--border-color); }
    .journal-grid { grid-template-columns: 1fr; }
    .floating-whatsapp { width: 48px; padding: 0; }
    .floating-whatsapp span { display: none; }
    .creations-grid, .services-five-grid, .steps-grid-four, .form-two-col, .footer-grid { grid-template-columns: 1fr; }
    .material-grid > span { font-size: 8px; }
    .material-grid strong { font-size: 22px; }
    .hero .actions { gap: 8px 16px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
}
