:root {
  --white: #ffffff;
  --mint: #eff5f2;
  --sea: #4f8ea7;
  --sea-deep: #317b93;
  --evergreen: #274831;
  --botanical: #365c38;
  --gold: #d8c57d;
  --gold-deep: #b9954b;
  --ink: #18383a;
  --muted: #5d6d6b;
  --line: rgba(24, 56, 58, 0.16);
  --page-pad: clamp(1.25rem, 5vw, 5rem);
  --max-width: 80rem;
  --display: "DM Sans", Arial, sans-serif;
  --body: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.site-shell { width: min(calc(100% - (2 * var(--page-pad))), var(--max-width)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: 0.75rem 1rem; background: var(--ink); color: var(--white); text-decoration: none; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 20; top: 0; background: rgba(255, 255, 255, 0.93); border-bottom: 1px solid transparent; backdrop-filter: blur(12px); transition: background 180ms ease, border-color 180ms ease; }
.site-header.is-scrolled { background: rgba(255, 255, 255, 0.98); border-color: var(--line); }
.header-inner { display: flex; min-height: 5.3rem; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: 0.62rem; color: var(--ink); text-decoration: none; white-space: nowrap; }
.brand img { width: 2.15rem; height: 2.15rem; padding: 0; border: 0; background: transparent; }
.brand-name { font-family: var(--display); font-size: 1.3rem; font-weight: 500; letter-spacing: 0.012em; line-height: 1; }
.brand-divider { width: 1px; height: 1.1rem; background: var(--line); }
.brand-label { color: var(--sea-deep); font-size: 0.61rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.25rem); font-size: 0.73rem; font-weight: 600; }
.primary-nav > a { text-decoration: none; }
.primary-nav > a:not(.nav-cta):hover { color: var(--sea-deep); }
.nav-cta { padding: 0.72rem 0.95rem; border: 1px solid var(--sea-deep); color: var(--sea-deep); }
.nav-cta:hover { background: var(--sea-deep); color: var(--white); }
.nav-toggle { display: none; }

.eyebrow { display: flex; gap: 0.7rem; align-items: center; margin: 0 0 1.2rem; color: var(--muted); font-size: 0.63rem; font-weight: 600; letter-spacing: 0.13em; line-height: 1.3; text-transform: uppercase; }
.eyebrow span { color: var(--gold-deep); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: 0.012em; line-height: 1.2; text-wrap: balance; }

.hero { display: grid; grid-template-columns: minmax(19rem, 0.72fr) minmax(23rem, 1.05fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; min-height: min(47rem, calc(100vh - 5.3rem)); padding-block: clamp(4rem, 8vw, 7.5rem); }
.hero-copy { max-width: 36rem; }
.hero h1 { max-width: 36rem; margin-bottom: 1.55rem; font-size: clamp(3rem, 5vw, 5.25rem); }
.hero h1 em { color: var(--sea-deep); font-style: normal; }
.hero-intro { max-width: 33rem; margin-bottom: 2rem; color: var(--muted); font-size: clamp(0.98rem, 1.35vw, 1.1rem); line-height: 1.82; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 1.7rem; margin-bottom: 2.6rem; }
.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: 0.7rem; padding: 0.75rem 1.15rem; border: 1px solid transparent; font-size: 0.73rem; font-weight: 600; text-decoration: none; transition: transform 160ms ease, background 160ms ease, color 160ms ease; }
.button:hover { transform: translate(2px, -2px); }
.button-primary { background: var(--sea-deep); color: var(--white); }
.button-primary:hover { background: var(--ink); }
.text-link { display: inline-flex; width: fit-content; align-items: center; gap: 0.55rem; padding-bottom: 0.15rem; border-bottom: 1px solid currentColor; color: var(--ink); font-size: 0.73rem; font-weight: 600; text-decoration: none; transition: color 160ms ease, transform 160ms ease; }
.text-link:hover { color: var(--sea-deep); transform: translateX(2px); }
.hero-note { margin: 0; color: var(--muted); font-size: 0.7rem; }
.hero-note::before { display: inline-block; width: 1.6rem; height: 1px; margin: 0 0.55rem 0.24rem 0; content: ""; background: var(--gold); }
.hero-art { width: min(100%, 38rem); margin: 0; justify-self: end; border: 1px solid rgba(49, 123, 147, 0.55); background: var(--mint); box-shadow: 0 1.5rem 3.5rem rgba(24, 56, 58, 0.12); }
.hero-art img { width: 100%; height: auto; }

.problem { padding-block: clamp(5rem, 9vw, 9rem); border-top: 1px solid var(--line); }
.problem-inner { display: grid; grid-template-columns: minmax(18rem, 0.94fr) minmax(17rem, 0.62fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.problem-heading h2, .section-intro h2, .faq-heading h2 { max-width: 44rem; margin: 0; font-size: clamp(2.15rem, 3.65vw, 3.9rem); }
.problem-copy { max-width: 32rem; padding-top: 0.5rem; color: var(--muted); font-size: 0.95rem; line-height: 1.8; }
.problem-copy p + p { margin-top: 1.15rem; }
.problem-visual { margin-top: clamp(3.25rem, 6vw, 6rem); }
.problem-visual img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--mint); }
.problem-visual figcaption { display: grid; grid-template-columns: minmax(8rem, 0.35fr) minmax(18rem, 1fr); gap: 1rem 2rem; max-width: 49rem; margin-top: 1.15rem; color: var(--muted); font-size: 0.78rem; line-height: 1.65; }
.problem-visual figcaption span { color: var(--gold-deep); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.problem-visual figcaption p { margin: 0; }
.problem-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: clamp(3.25rem, 6vw, 6rem); padding-top: 1.5rem; border-top: 1px solid var(--line); }
.problem-points article { padding-right: 1.25rem; }
.problem-points span, .route-kicker span, .setting-list > article > span, .partnership-list > article > span { color: var(--gold-deep); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.12em; }
.problem-points h3 { margin: 0.55rem 0 0.45rem; font-size: 1.15rem; }
.problem-points p { margin: 0; color: var(--muted); font-size: 0.77rem; line-height: 1.65; }

.solutions { padding-block: clamp(5rem, 9vw, 9rem) 0; background: var(--mint); }
.section-intro { max-width: 47rem; }
.section-intro h2 { margin-bottom: 0; }
.route { margin-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(5rem, 9vw, 9rem); }
.route-media { margin: 0; }
.route-media.site-shell { margin-inline: auto; }
.route-media img { width: 100%; height: auto; box-shadow: 0 1.1rem 2.7rem rgba(24, 56, 58, 0.08); }
.route-copy { max-width: 46rem; }
.route-copy-retail { padding-bottom: clamp(2.25rem, 4vw, 4rem); }
.route-kicker { display: flex; gap: 0.7rem; margin: 0 0 1rem; color: var(--muted); font-size: 0.63rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.route-copy h2 { margin-bottom: 1.15rem; font-size: clamp(2rem, 3.1vw, 3.4rem); }
.route-copy > p:not(.route-note) { color: var(--muted); font-size: 0.9rem; line-height: 1.78; }
.route-copy ul { display: grid; gap: 0.68rem; margin: 1.65rem 0 1.85rem; padding: 0; list-style: none; color: var(--ink); font-size: 0.77rem; line-height: 1.62; }
.route-copy li { position: relative; padding-left: 1rem; }
.route-copy li::before { position: absolute; top: 0.62rem; left: 0; width: 0.3rem; height: 0.3rem; border-radius: 50%; content: ""; background: var(--gold-deep); }

.classic-retail-intro { display: grid; grid-template-columns: minmax(18rem, 1fr) minmax(16rem, 0.62fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: end; }
.classic-retail-intro h2 { margin-bottom: 1.15rem; font-size: clamp(2.3rem, 4vw, 4.05rem); }
.classic-retail-intro > div > p:not(.route-kicker) { max-width: 42rem; margin-bottom: 0; color: var(--muted); font-size: 0.95rem; line-height: 1.78; }
.classic-retail-statement { max-width: 25rem; margin: 0; padding: 1.1rem 0 0 1.3rem; border-left: 2px solid var(--gold); color: var(--ink); font-family: var(--display); font-size: clamp(1.12rem, 1.8vw, 1.45rem); letter-spacing: 0.012em; line-height: 1.45; }
.classic-collection-board { margin-top: clamp(3rem, 6vw, 5.5rem); }
.classic-collection-board img { width: 100%; height: auto; border: 1px solid rgba(49, 123, 147, 0.18); background: var(--white); box-shadow: 0 1rem 2.4rem rgba(24, 56, 58, 0.06); }
.classic-collection-board figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; max-width: 44rem; padding-top: 0.85rem; color: var(--muted); }
.classic-collection-board figcaption span, .classic-detail-provenance figcaption span { color: var(--gold-deep); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.classic-collection-board figcaption p { margin: 0; font-family: var(--display); font-size: 1rem; letter-spacing: 0.012em; }
.classic-retail-showcase { display: grid; grid-template-columns: minmax(17rem, 0.93fr) minmax(18rem, 1fr) minmax(12rem, 0.56fr); gap: clamp(1.25rem, 2.4vw, 2.4rem); align-items: stretch; margin-top: clamp(3rem, 6vw, 5.5rem); }
.classic-retail-showcase figure { margin: 0; }
.classic-dress-visual { align-self: stretch; background: var(--white); }
.classic-dress-visual img { width: 100%; height: 100%; min-height: 34rem; object-fit: cover; object-position: center; }
.classic-dress-feature-guide { align-self: start; background: #e6d9c6; }
.classic-dress-feature-guide img { height: auto; min-height: 0; object-fit: contain; }
.classic-dress-visual figcaption, .classic-head-visual figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding-top: 0.8rem; color: var(--muted); }
.classic-dress-visual figcaption span, .classic-head-visual figcaption span, .classic-label, .classic-retail-close blockquote span { color: var(--gold-deep); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.classic-dress-visual figcaption p, .classic-head-visual figcaption p { margin: 0; font-family: var(--display); font-size: 1rem; letter-spacing: 0.012em; }
.classic-retail-journey { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 3.3vw, 3rem); border: 1px solid rgba(49, 123, 147, 0.28); background: rgba(255, 255, 255, 0.74); }
.classic-label { margin: 0 0 1rem; }
.classic-retail-journey h3 { max-width: 27rem; margin: 0 0 1rem; font-size: clamp(1.65rem, 2.45vw, 2.35rem); }
.classic-retail-journey > p:not(.classic-label) { margin: 0; color: var(--muted); font-size: 0.82rem; line-height: 1.72; }
.classic-retail-steps { display: grid; gap: 0.85rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.classic-retail-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: 0.65rem; padding-top: 0.82rem; border-top: 1px solid var(--line); }
.classic-retail-steps span { color: var(--gold-deep); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.11em; }
.classic-retail-steps strong { display: block; margin-bottom: 0.15rem; font-size: 0.78rem; }
.classic-retail-steps p { margin: 0; color: var(--muted); font-size: 0.7rem; line-height: 1.58; }
.classic-head-visual { display: flex; flex-direction: column; justify-content: end; }
.classic-head-visual img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 52% center; }
.classic-head-visual figcaption { display: block; }
.classic-head-visual figcaption span { display: block; margin-bottom: 0.25rem; }
.classic-retail-close { display: grid; grid-template-columns: minmax(16rem, 0.75fr) minmax(18rem, 0.85fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: center; margin-top: clamp(3rem, 6vw, 5.5rem); padding-top: clamp(2rem, 4vw, 3.5rem); border-top: 1px solid var(--line); }
.classic-retail-close blockquote { margin: 0; }
.classic-retail-close blockquote span { display: block; margin-bottom: 0.75rem; }
.classic-retail-close blockquote p { max-width: 27rem; margin: 0; font-family: var(--display); font-size: clamp(1.55rem, 2.5vw, 2.5rem); letter-spacing: 0.012em; line-height: 1.3; }
.classic-retail-close > div > p { max-width: 35rem; margin-bottom: 1.25rem; color: var(--muted); font-size: 0.84rem; line-height: 1.75; }
.classic-retail-close > div > .classic-range-line { max-width: 38rem; margin-top: -0.3rem; color: var(--ink); font-size: 0.72rem; line-height: 1.72; }
.classic-range-line strong { color: var(--sea-deep); font-size: 0.61rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.classic-detail-provenance { display: grid; grid-template-columns: minmax(18rem, 1.35fr) minmax(16rem, 0.65fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; margin-top: clamp(3rem, 6vw, 5.5rem); padding-top: clamp(2.25rem, 4vw, 3.75rem); border-top: 1px solid var(--line); }
.classic-detail-provenance img { width: 100%; height: auto; border: 1px solid rgba(49, 123, 147, 0.18); }
.classic-detail-provenance figcaption h3 { max-width: 23rem; margin: 0.7rem 0 0; font-size: clamp(1.45rem, 2.25vw, 2.15rem); }
.classic-detail-provenance figcaption p { max-width: 22rem; margin: 0.75rem 0 0; color: var(--muted); font-size: 0.84rem; line-height: 1.75; }
.route-operational { display: block; margin-top: 0; padding-block: clamp(5rem, 9vw, 8rem); background: linear-gradient(135deg, #246e86 0%, var(--sea-deep) 50%, var(--sea) 100%); color: var(--white); }
.route-copy-operational { padding-bottom: clamp(2.25rem, 4vw, 4rem); }
.route-copy-light h2 { color: var(--white); }
.route-kicker-light { color: rgba(255, 255, 255, 0.72); }
.route-kicker-light span { color: var(--gold); }
.route-copy-light > p:not(.route-note) { color: rgba(255, 255, 255, 0.76); }
.wear-list { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 1.6rem; }
.wear-list span { padding: 0.4rem 0.58rem; border: 1px solid rgba(216, 197, 125, 0.62); color: #fbf4d6; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.05em; }
.route-note { max-width: 27rem; margin: 1.4rem 0 0; color: #f4dfa0; font-size: 0.72rem; line-height: 1.6; }
.operational-cta { margin-top: 1.6rem; }
.route-media-operational img { box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.24); }
.route-media-operational figcaption { margin-top: 0.75rem; color: rgba(255, 255, 255, 0.66); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; }

.settings { padding-block: clamp(5rem, 9vw, 9rem); }
.section-intro-slim { max-width: 50rem; }
.section-intro-slim > p:not(.eyebrow) { max-width: 36rem; margin: 1.15rem 0 0; color: var(--muted); font-size: 0.9rem; }
.setting-list { border-top: 1px solid var(--line); margin-top: 3rem; }
.setting-list > article { display: grid; grid-template-columns: 4rem minmax(10rem, 0.65fr) minmax(16rem, 1.05fr); gap: 1.3rem; align-items: baseline; padding: 1.65rem 0; border-bottom: 1px solid var(--line); }
.setting-list h3 { margin: 0; font-size: clamp(1.35rem, 2.3vw, 2.2rem); }
.setting-list p { max-width: 33rem; margin: 0; color: var(--muted); font-size: 0.82rem; }

.esg { padding-block: clamp(5rem, 9vw, 9rem); background: #f3f8f9; }
.esg-inner { display: grid; grid-template-columns: minmax(18rem, 0.9fr) minmax(18rem, 0.72fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.esg-copy h2 { max-width: 43rem; margin-bottom: 1.35rem; font-size: clamp(2.15rem, 3.65vw, 3.9rem); }
.esg-copy > p:not(.eyebrow) { max-width: 40rem; color: var(--muted); font-size: 0.9rem; line-height: 1.8; }
.esg-copy > p + p { margin-top: 1rem; }
.esg-benchmark { max-width: 41rem; margin-top: 2rem; padding: 1.35rem 1.45rem 1.25rem; border-top: 2px solid var(--gold); background: rgba(255, 255, 255, 0.76); }
.esg-benchmark-label { margin: 0 0 0.55rem; color: var(--gold-deep); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.esg-benchmark h3 { max-width: 26rem; margin: 0; font-size: clamp(1.22rem, 1.9vw, 1.65rem); }
.esg-benchmark dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1.3rem; margin: 1.15rem 0 0; }
.esg-benchmark dl div { display: flex; justify-content: space-between; gap: 0.6rem; padding-top: 0.55rem; border-top: 1px solid var(--line); }
.esg-benchmark dt { color: var(--muted); font-size: 0.66rem; line-height: 1.45; }
.esg-benchmark dd { margin: 0; color: var(--sea-deep); font-family: var(--display); font-size: 1.06rem; letter-spacing: 0.012em; white-space: nowrap; }
.esg-benchmark-note { max-width: 35rem; margin: 1rem 0 0; color: var(--muted); font-size: 0.67rem; line-height: 1.6; }
.esg-points { border-top: 1px solid rgba(49, 123, 147, 0.38); }
.esg-points article { display: grid; grid-template-columns: 2.7rem 1fr; column-gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid rgba(49, 123, 147, 0.38); }
.esg-points span { grid-row: span 2; color: var(--gold-deep); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.11em; }
.esg-points h3 { margin: 0 0 0.25rem; font-size: 1.12rem; }
.esg-points p { margin: 0; color: var(--muted); font-size: 0.75rem; line-height: 1.65; }
.esg-cta { margin-top: 1.35rem; }

.partnerships { padding-block: clamp(5rem, 8vw, 8rem); border-top: 1px solid var(--line); }
.partnership-list { margin-top: 3rem; border-top: 1px solid var(--line); }
.partnership-list > article { display: grid; grid-template-columns: 4rem minmax(14rem, 0.8fr) minmax(14rem, 1fr) auto; gap: 1.3rem; align-items: start; padding: 1.55rem 0; border-bottom: 1px solid var(--line); }
.partnership-list h3 { margin: 0; font-size: clamp(1.18rem, 1.9vw, 1.7rem); }
.partnership-list p { margin: 0; color: var(--muted); font-size: 0.78rem; line-height: 1.65; }
.partnership-list a { display: inline-flex; width: fit-content; min-width: 5.9rem; min-height: 2.7rem; align-items: center; justify-content: center; justify-self: end; gap: 0.38rem; padding: 0.55rem 0.72rem; border: 1px solid var(--sea-deep); color: var(--sea-deep); font-size: 0.68rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background 160ms ease, color 160ms ease, transform 160ms ease; }
.partnership-list a:hover { background: var(--sea-deep); color: var(--white); transform: translate(2px, -2px); }
.partnership-list a b { font-size: 0.86rem; font-weight: 400; }

.faq { display: grid; grid-template-columns: minmax(14rem, 0.62fr) minmax(21rem, 1.1fr); gap: clamp(3rem, 9vw, 10rem); padding-block: clamp(5rem, 8vw, 8rem); border-top: 1px solid var(--line); }
.faq-list { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; font-size: 0.86rem; font-weight: 600; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { color: var(--sea-deep); font-size: 1.35rem; font-weight: 400; transition: transform 160ms ease; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details > div { max-width: 40rem; padding: 0 2rem 1.3rem 0; color: var(--muted); font-size: 0.8rem; line-height: 1.7; }
.faq details p { margin: 0; }

.future-links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; align-items: center; padding-block: 1.25rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 0.67rem; }
.future-links p { margin: 0 0.4rem 0 0; color: var(--ink); font-size: 0.61rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.future-links a { text-decoration: none; }
.future-links a:hover { color: var(--sea-deep); }
.future-links span { color: var(--gold-deep); }

.enquire { margin-top: clamp(5rem, 8vw, 8rem); padding-block: clamp(4rem, 7vw, 6.5rem); background: linear-gradient(135deg, #246e86 0%, var(--sea-deep) 50%, var(--sea) 100%); color: var(--white); }
.enquire-inner { display: grid; grid-template-columns: minmax(18rem, 1fr) minmax(16rem, 0.5fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; }
.eyebrow-light { color: rgba(255, 255, 255, 0.68); }
.eyebrow-light span { color: var(--gold); }
.enquire h2 { max-width: 37rem; margin-bottom: 1.25rem; font-size: clamp(2.35rem, 4vw, 4.2rem); color: var(--white); }
.enquire-inner > div > p:not(.eyebrow):not(.form-note) { max-width: 36rem; color: rgba(255, 255, 255, 0.76); font-size: 0.9rem; line-height: 1.78; }
.button-light { margin-top: 0.65rem; background: var(--white); color: var(--ink); }
.button-light:hover { background: var(--gold); }
.form-note { max-width: 34rem; margin: 1.35rem 0 0; color: rgba(255, 255, 255, 0.62); font-size: 0.68rem; line-height: 1.6; }
.enquiry-preview { padding: 1.35rem; border-top: 1px solid rgba(216, 197, 125, 0.72); border-bottom: 1px solid rgba(216, 197, 125, 0.72); }
.enquiry-preview > p { margin: 0 0 0.9rem; color: #f4dfa0; font-size: 0.6rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.enquiry-preview dl { margin: 0; }
.enquiry-preview dl div { display: grid; grid-template-columns: 2rem 1fr; padding: 0.62rem 0; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.enquiry-preview dt { color: var(--gold); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.1em; }
.enquiry-preview dd { margin: 0; color: var(--white); font-family: var(--display); font-size: 1.08rem; font-weight: 400; letter-spacing: 0.012em; line-height: 1.3; }
.enquiry-preview small { display: block; margin-top: 1rem; color: rgba(255, 255, 255, 0.55); font-size: 0.61rem; }

.site-footer { padding-block: 2rem; background: var(--white); }
.footer-inner { display: flex; flex-wrap: wrap; gap: 0.8rem 2rem; align-items: center; justify-content: space-between; color: var(--muted); font-size: 0.68rem; }
.footer-inner p { margin: 0; }
:focus-visible { outline: 2px solid var(--sea-deep); outline-offset: 4px; }

@media (max-width: 900px) {
  .hero { grid-template-columns: minmax(16rem, 0.76fr) minmax(17rem, 1fr); gap: 2.25rem; }
  .problem-inner, .esg-inner { gap: 3rem; }
  .faq { gap: 3rem; }
}
@media (max-width: 720px) {
  .header-inner { min-height: 4.7rem; }
  .brand-label, .brand-divider { display: none; }
  .nav-toggle { position: relative; z-index: 22; display: grid; width: 2.65rem; height: 2.65rem; place-content: center; gap: 0.32rem; padding: 0.55rem; border: 1px solid var(--ink); background: var(--white); }
  .nav-toggle span:not(.sr-only) { display: block; width: 0.85rem; height: 1px; background: var(--ink); transition: transform 180ms ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(0.16rem) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-0.16rem) rotate(-45deg); }
  .primary-nav { position: fixed; z-index: 21; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.55rem; padding: 5.7rem var(--page-pad) 3rem; background: var(--white); font-family: var(--display); font-size: 2rem; font-weight: 400; letter-spacing: 0.012em; line-height: 1.2; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-0.5rem); transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms; }
  .primary-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity 180ms ease, transform 180ms ease; }
  .nav-cta { margin-top: 0.6rem; padding: 0; border: 0; }
  body.menu-open { overflow: hidden; }
  .hero, .problem-inner, .classic-retail-intro, .classic-retail-showcase, .classic-retail-close, .classic-detail-provenance, .esg-inner, .faq, .enquire-inner { grid-template-columns: 1fr; }
  .hero { min-height: auto; gap: 2.75rem; padding-block: 3.5rem 4rem; }
  .hero h1 { max-width: 22rem; font-size: clamp(2.6rem, 12.7vw, 3.8rem); line-height: 1.21; }
  .hero-art { width: 100%; max-width: 29rem; justify-self: start; }
  .problem { padding-block: 4.5rem; }
  .problem-points { grid-template-columns: 1fr; gap: 1.45rem; }
  .problem-points article { padding-right: 0; }
  .problem-visual figcaption { grid-template-columns: 1fr; gap: 0.35rem; }
  .solutions { padding-top: 4.5rem; }
  .route { padding-bottom: 4.5rem; }
  .route-copy h2 { font-size: clamp(2rem, 9vw, 2.85rem); }
  .classic-retail-showcase { gap: 2rem; margin-top: 3rem; }
  .classic-collection-board { margin-top: 3.5rem; }
  .classic-collection-board figcaption { display: block; }
  .classic-collection-board figcaption span { display: block; margin-bottom: 0.3rem; }
  .classic-dress-visual img { min-height: auto; aspect-ratio: 1; }
  .classic-head-visual { width: min(100%, 21rem); }
  .classic-retail-close { gap: 1.5rem; margin-top: 3.5rem; }
  .classic-detail-provenance { gap: 1.1rem; margin-top: 3.5rem; }
  .esg-benchmark dl { grid-template-columns: 1fr; }
  .setting-list > article { grid-template-columns: 2.5rem 1fr; gap: 0.55rem 1rem; }
  .setting-list > article > p { grid-column: 2; }
  .esg { padding-block: 4.5rem; }
  .partnership-list > article { grid-template-columns: 2.5rem 1fr auto; gap: 0.65rem 0.8rem; }
  .partnership-list > article > div { grid-column: 2; }
  .partnership-list > article > a { grid-column: 3; grid-row: 1; }
  .partnership-list > article > div p { margin-top: 0.38rem; }
  .faq { gap: 2.3rem; }
  .faq details > div { padding-right: 0.75rem; }
  .future-links { display: grid; grid-template-columns: 1fr; gap: 0.4rem; }
  .enquire { margin-top: 4.5rem; }
  .enquiry-preview { max-width: 29rem; }
  .footer-inner { display: grid; grid-template-columns: 1fr; gap: 0.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
