/* MIRAUD: an editorial scale, quiet surfaces and botanical character. */
:root {
  --miraud-content: 1180px;
  --miraud-gutter: clamp(24px, 5vw, 80px);
  --miraud-section-space: clamp(76px, 8vw, 120px);
  --miraud-mauve: #76586f;
}
body { line-height: 1.75; }
h1, h2, h3 { text-wrap: balance; font-weight: 400; }
h1 { font-size: clamp(3.7rem, 6.5vw, 6.5rem); line-height: 1.02; letter-spacing: -.035em; }
h2 { font-size: clamp(2.7rem, 4.2vw, 4.6rem); line-height: 1.08; letter-spacing: -.025em; }
h3 { font-size: clamp(1.9rem, 2.6vw, 2.5rem); line-height: 1.12; }
.eyebrow { font-size: .69rem; letter-spacing: .17em; line-height: 1.6; margin-bottom: 1.4rem; }
main > section { scroll-margin-top: 108px; }
.button, .text-link { font-size: .7rem; letter-spacing: .12em; line-height: 1.6; }
.button { min-height: 52px; padding: .95rem 1.5rem; }
.text-link { min-height: 44px; padding: .6rem 0; }
/* Constant header geometry avoids scroll-triggered layout shifts. */
.site-header, .site-header.is-compact, body:not(.home) .site-header {
  min-height: 96px; background: rgba(251,248,245,.98); color: var(--miraud-aubergine);
  border-bottom: 1px solid var(--miraud-line); box-shadow: none; transition: none;
}
.site-header__inner, .site-header.is-compact .site-header__inner, body:not(.home) .site-header__inner {
  width: min(calc(100% - 2 * var(--miraud-gutter)), var(--miraud-content));
  min-height: 96px; border: 0; transition: none; gap: 40px;
}
.brand-logo--compact, .site-header.is-compact .brand-logo--compact, body:not(.home) .brand-logo--compact {
  position: relative; left: auto; width: 170px; height: 60px; overflow: hidden; opacity: 1; visibility: visible;
}
.brand-logo--compact img { width: 100%; height: auto; }
.site-navigation, .site-header.is-compact .site-navigation, body:not(.home) .site-navigation {
  width: auto; margin-left: auto; display: flex; gap: 2rem; transform: none; transition: none;
}
.site-nav--left .site-nav__list, .site-nav--right .site-nav__list { padding: 0; gap: 2rem; }
.site-nav a, .site-header.is-compact .site-nav a { opacity: 1; }
.site-nav { font-size: .68rem; letter-spacing: .12em; }
.hero { min-height: 640px; min-height: min(760px, calc(100svh - 96px)); background: var(--miraud-ivory); display: flex; align-items: center; }
.hero__image { background: none; transform: none; animation: none; }
.hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__shade { background: linear-gradient(90deg, rgba(251,248,245,.35), transparent 65%); }
.hero__content { width: min(calc(100% - 2 * var(--miraud-gutter)), var(--miraud-content)); padding: 100px 0 120px; }
.hero__content h1 { max-width: 570px; margin-bottom: 1.6rem; }
.hero__intro { max-width: 410px; font-size: 1rem; color: var(--miraud-charcoal); margin-bottom: 2rem; }
.hero__scroll { left: var(--miraud-gutter); transform: none; flex-direction: row; bottom: 30px; }
.hero__scroll::after { width: 36px; height: 1px; }
.manifesto { padding: var(--miraud-section-space) var(--miraud-gutter); }
.manifesto h2 { max-width: 770px; margin: 0 auto 1.8rem; }
.manifesto > p:last-child { max-width: 630px; font-size: 1rem; color: var(--miraud-charcoal); }
.signature { min-height: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); background: var(--miraud-pearl); }
.signature__art { min-height: 520px; padding: 48px; background: #e9e0e7; }
.signature__art img { width: min(100%, 560px); }
.signature__copy { padding: clamp(56px,6vw,90px) clamp(32px,5vw,80px); min-height: 0; background: #f2ecef; }
.signature__copy h2 { margin-bottom: 1.6rem; }
.signature__lead { font-size: 1rem; color: var(--miraud-charcoal); }
.signature__notes { margin-bottom: 1.5rem; }
.signature__notes li { text-transform: none; letter-spacing: .01em; font-size: .86rem; }
.ritual-editorial { width: min(calc(100% - 2 * var(--miraud-gutter)), var(--miraud-content)); padding: var(--miraud-section-space) 0; grid-template-columns: 1fr 1fr; gap: clamp(40px,8vw,120px); align-items: center; }
.ritual-editorial__copy { max-width: 480px; font-size: 1rem; }
.ritual-editorial__copy p { color: var(--miraud-charcoal); }
.details { background: #f3eeef; }
.details__heading, .details__grid { width: min(calc(100% - 2 * var(--miraud-gutter)), var(--miraud-content)); }
.details__heading { padding: var(--miraud-section-space) 0 48px; }
.details__grid { padding-bottom: var(--miraud-section-space); }
.details__grid article { padding-top: 32px; }
.details__grid span { margin-bottom: 32px; }
.details__grid p { font-size: .95rem; color: var(--miraud-charcoal); }
.world { padding: var(--miraud-section-space) var(--miraud-gutter); }
.world__inner { width: min(100%, var(--miraud-content)); }
.world h2 { max-width: 780px; margin-bottom: 48px; }
.world__copy { max-width: 760px; gap: 40px; font-size: 1rem; color: #e5dce3; }
.invitation { padding: var(--miraud-section-space) var(--miraud-gutter); }
.invitation h2 { max-width: 700px; }
.invitation > p:not(.eyebrow) { max-width: 520px; color: var(--miraud-charcoal); font-size: 1rem; }
.site-footer { padding: 52px var(--miraud-gutter) 28px; background: var(--miraud-pearl); color: var(--miraud-charcoal); }
.site-footer__top, .site-footer__bottom { width: min(100%,var(--miraud-content)); }
.site-footer__top { min-height: 104px; align-items: center; }
.brand-logo--footer { width: 190px; height: 70px; overflow: hidden; }
.brand-logo--footer img { width: 100%; height: auto; }
.site-footer__top p { margin: 0; color: var(--miraud-aubergine); font-size: 1.4rem; }
.site-footer__bottom { border-top-color: var(--miraud-line); }
.site-footer small { color: #655363; font-size: .67rem; }
/* Shared content templates use the same reading scale as the homepage. */
.entry__content { line-height: 1.8; }
.entry__content h2 { font-size: clamp(2rem,3.5vw,3.2rem); margin-top: 1.5em; }
.entry__content h3 { font-size: clamp(1.6rem,2.5vw,2.3rem); }
.entry__content a { text-underline-offset: .22em; }
@media (max-width: 980px) {
  .site-header, .site-header.is-compact, body:not(.home) .site-header,
  .site-header__inner, .site-header.is-compact .site-header__inner, body:not(.home) .site-header__inner { min-height: 80px; }
  .brand-logo--compact { width: 145px; }
  .js .menu-toggle { top: 50%; width: 44px; height: 44px; justify-content: center; padding: 12px; }
  .js .site-navigation, .js .site-header.is-compact .site-navigation, .js body:not(.home) .site-navigation {
    display: none; top: 80px; width: 100%; min-height: 0; max-height: calc(100svh - 80px); overflow-y: auto;
    margin: 0; padding: 28px; background: var(--miraud-ivory); border: 1px solid var(--miraud-line); color: var(--miraud-aubergine);
  }
  .js .site-navigation.is-open { display: block; }
  .site-nav a { display: inline-block; padding: 12px 0; }
  .site-nav__list { flex-direction: column; gap: 4px !important; align-items: flex-start; }
  .site-nav + .site-nav { margin-top: 4px; }
  .hero__content h1 { max-width: 480px; }
  .signature { grid-template-columns: 1fr 1fr; }
  .signature__art { min-height: 0; padding: 24px; }
  .signature__copy { padding: 64px 32px; }
  .ritual-editorial { grid-template-columns: 1fr 1fr; gap: 40px; }
  html:not(.js) .site-header__inner { flex-wrap: wrap; padding: 12px 0; gap: 12px; }
  html:not(.js) .site-navigation { width: 100%; }
  html:not(.js) .site-nav__list { flex-direction: row; gap: 16px !important; }
}
@media (max-width: 720px) {
  body { font-size: 16px; }
  h1 { font-size: clamp(3.2rem,12vw,4.5rem); }
  h2 { font-size: clamp(2.5rem,9vw,3.5rem); }
  .hero { min-height: 0; display: block; padding-bottom: 280px; }
  .hero__content { padding: 64px 0 32px; }
  .hero__intro { max-width: 400px; }
  .hero__image { top: auto; height: 300px; }
  .hero__image img { object-position: right center; }
  .hero__shade { background: linear-gradient(180deg,var(--miraud-ivory) 0%, transparent 40%); top: auto; height: 300px; }
  .hero__scroll { display: none; }
  .signature, .ritual-editorial { grid-template-columns: 1fr; }
  .signature__art { min-height: 300px; padding: 0 24px; }
  .signature__art img { width: min(100%,380px); }
  .signature__copy { padding: 64px var(--miraud-gutter); }
  .ritual-editorial { gap: 32px; }
  .ritual-editorial__copy { max-width: none; margin: 0; }
  .details__heading { padding-bottom: 32px; }
  .details__grid article, .details__grid article + article { padding: 28px 0; }
  .details__grid span { margin-bottom: 20px; }
  .details__grid p { max-width: none; }
  .world__copy { grid-template-columns: 1fr; gap: 24px; }
  .site-footer__top { min-height: 0; padding-bottom: 28px; align-items: flex-start; gap: 8px; }
  .site-footer__top p { font-size: 1.25rem; }
  .site-footer__bottom { gap: 24px; }
  .footer-nav__list { flex-wrap: wrap; }
}

.footer-nav__list { color: var(--miraud-aubergine); }
.footer-nav__list a { display: inline-block; padding: 10px 0; }
.footer-nav__list a:hover { color: #76586f; }
.content-shell { width: min(calc(100% - 2 * var(--miraud-gutter)), 920px); padding: var(--miraud-section-space) 0; }
@media (max-width: 980px) {
  .js .site-header.is-compact .site-navigation.is-open,
  .js body:not(.home) .site-navigation.is-open { display: block; }
}

/* Ceremonial header: the flow spacer stays fixed as the header contracts. */
.header-stage { height: 164px; }
body:not(.home) .header-stage { height: 82px; }
.site-header {
  position: fixed; inset: 0 0 auto; min-height: 164px;
  background: var(--miraud-aubergine); color: var(--miraud-ivory);
  border-bottom: 0; transition: min-height 280ms ease, background-color 240ms ease;
}
.site-header__inner {
  width: min(calc(100% - 2 * var(--miraud-gutter)), 1320px);
  min-height: 164px; transition: min-height 280ms ease;
}
.brand-logo--ceremonial {
  position: absolute; left: 50%; top: -86px; width: clamp(350px,30vw,430px);
  transform: translateX(-50%); opacity: 1; visibility: visible;
  /* Trim the transparent top/bottom canvas from the link hit area. */
  clip-path: inset(21% 0 23%);
  transition: opacity 180ms ease, transform 280ms ease, visibility 180ms ease;
}
.brand-logo--ceremonial img { width: 100%; height: auto; }
.site-header .brand-logo--compact {
  position: absolute; left: 0; width: 150px; height: 60px;
  opacity: 0; visibility: hidden; transition: opacity 180ms ease, visibility 180ms ease;
}
.site-header .site-navigation {
  width: 100%; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  transform: translateY(49px);
}
.site-header .site-nav--left .site-nav__list { justify-content: flex-end; padding-right: clamp(190px,17vw,235px); }
.site-header .site-nav--right .site-nav__list { justify-content: flex-start; padding-left: clamp(190px,17vw,235px); }
.site-header .site-nav__list { gap: clamp(24px,2.8vw,42px); }
.site-header .site-nav a { color: inherit; opacity: .84; }
.site-header .site-nav a:hover, .site-header .site-nav a:focus-visible { opacity: 1; }
.site-header.is-compact, body:not(.home) .site-header {
  min-height: 82px; background: rgba(251,248,245,.98); color: var(--miraud-aubergine);
  border-bottom: 1px solid var(--miraud-line); box-shadow: 0 6px 24px rgba(43,9,52,.04);
}
.site-header.is-compact .site-header__inner, body:not(.home) .site-header__inner { min-height: 82px; }
.site-header.is-compact .brand-logo--ceremonial, body:not(.home) .brand-logo--ceremonial {
  opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(-12px) scale(.94);
}
.site-header.is-compact .brand-logo--compact, body:not(.home) .site-header .brand-logo--compact {
  position: absolute; left: 0; opacity: 1; visibility: visible; width: 150px;
}
.site-header.is-compact .site-navigation, body:not(.home) .site-header .site-navigation {
  display: flex; width: auto; margin-left: auto; gap: 32px; transform: none;
}
.site-header.is-compact .site-nav__list, body:not(.home) .site-header .site-nav__list { padding: 0; }
.home .hero { min-height: min(760px, calc(100svh - 164px)); }
@media (max-width: 980px) {
  .header-stage { height: 132px; }
  body:not(.home) .header-stage { height: 78px; }
  .site-header, .site-header__inner { min-height: 132px; }
  .brand-logo--ceremonial { top: calc(8px - min(15.96vw,71.4px)); width: min(76vw,340px); }
  .site-header.is-compact, body:not(.home) .site-header,
  .site-header.is-compact .site-header__inner, body:not(.home) .site-header__inner { min-height: 78px; }
  .js .site-header .menu-toggle { top: 98px; }
  .js .site-header.is-compact .menu-toggle, .js body:not(.home) .site-header .menu-toggle { top: 39px; }
  .js .site-header .site-navigation,
  .js .site-header.is-compact .site-navigation,
  .js body:not(.home) .site-header .site-navigation {
    display: none; position: absolute; top: 132px; width: 100%; margin: 0;
    transform: none; max-height: calc(100svh - 178px); overflow-y: auto;
    padding: 72px 28px 28px; background: var(--miraud-aubergine); color: var(--miraud-ivory);
    border: 0;
  }
  .js .site-header.is-compact .site-navigation, .js body:not(.home) .site-header .site-navigation {
    top: 78px; padding-top: 28px; background: var(--miraud-ivory); color: var(--miraud-aubergine);
    max-height: calc(100svh - 124px);
  }
  .js .site-header .site-navigation.is-open,
  .js .site-header.is-compact .site-navigation.is-open,
  .js body:not(.home) .site-header .site-navigation.is-open { display: block; }
  .site-header .site-nav--left .site-nav__list, .site-header .site-nav--right .site-nav__list { padding: 0; }
  html:not(.js) .header-stage { height: auto; }
  html:not(.js) .site-header { position: relative; }
  html:not(.js) .site-header__inner { padding-top: 180px; }
  html:not(.js) .site-header .site-navigation { display: flex; flex-wrap: wrap; transform: none; gap: 16px; }
}
@media (max-width: 720px) {
  .home .hero { min-height: 0; }
  .hero__content { padding-top: 88px; }
}

/* First mirror: native finish/view controls, progressively enhanced with :has. */
.first-mirror { padding: var(--miraud-section-space) var(--miraud-gutter); background: #f2ecef; }
.first-mirror__layout { max-width: var(--miraud-content); margin: auto; display: grid; grid-template-columns: 1.05fr 1fr; grid-template-rows: auto 1fr; column-gap: clamp(32px,6vw,88px); }
.first-mirror__intro { grid-column: 2; grid-row: 1; padding-top: 24px; }
.first-mirror__intro h2 { margin-bottom: 12px; }
.first-mirror__intro > p:not(.eyebrow) { max-width: 480px; }
.first-mirror__edition { color: var(--miraud-aubergine); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 24px; }
.first-mirror__choices { grid-column: 2; grid-row: 2; }
.first-mirror__gallery { grid-column: 1; grid-row: 1 / 3; min-width: 0; }
.mirror-frame { margin: 0 0 24px; }
.mirror-frame img { width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; background: #f3e9dd; }
.mirror-frame figcaption { font-size: .75rem; color: var(--miraud-aubergine); padding: 12px 0; letter-spacing: .05em; }
.mirror-options { margin: 24px 0; padding: 0; border: 0; min-width: 0; }
.mirror-options legend { margin-bottom: 14px; font-size: .78rem; font-weight: 600; color: var(--miraud-aubergine); }
.mirror-options__row { display: flex; flex-wrap: wrap; gap: 12px; }
.mirror-option, .mirror-view { position: relative; display: flex; align-items: center; gap: 9px; cursor: pointer; font-size: .76rem; min-height: 44px; }
.mirror-option { flex-direction: column; padding: 8px; }
.mirror-swatch { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(43,9,52,.2); }
.mirror-swatch--aubergine { background: #2b0934; }
.mirror-swatch--ivory { background: #f5eee3; }
.mirror-swatch--mauve { background: #86687f; }
.mirror-view { padding: 10px 16px; border: 1px solid var(--miraud-line); }
.first-mirror__note { font-size: .78rem; line-height: 1.65; color: #655363; max-width: 430px; }
.first-mirror__features { max-width: var(--miraud-content); margin: clamp(48px,6vw,80px) auto 0; padding-top: 40px; border-top: 1px solid var(--miraud-line); display: grid; grid-template-columns: 1fr 2fr; gap: 48px; }
.first-mirror__feature-heading h3 { margin-bottom: 20px; }
.mirror-features { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 36px; margin: 0; }
.mirror-features dt { font-weight: 600; color: var(--miraud-aubergine); font-size: .87rem; margin-bottom: 9px; }
.mirror-features dd { margin: 0; font-size: .88rem; line-height: 1.75; }
@supports selector(:has(*)) {
  .mirror-frame { display: none; margin: 0; }
  .mirror-option input, .mirror-view input { position: absolute; width: 1px; height: 1px; opacity: 0; }
  .mirror-option:has(input:checked) .mirror-swatch { outline: 1px solid var(--miraud-aubergine); outline-offset: 4px; }
  .mirror-option:has(input:checked) { font-weight: 600; }
  .mirror-option:has(input:focus-visible), .mirror-view:has(input:focus-visible) { outline: 2px solid var(--miraud-aubergine); outline-offset: 3px; }
  .mirror-view:has(input:checked) { background: var(--miraud-aubergine); color: var(--miraud-ivory); border-color: var(--miraud-aubergine); }
  .first-mirror:has(input[name="mirror-finish"][value="aubergine"]:checked):has(input[name="mirror-view"][value="front"]:checked) .mirror-frame--aubergine-front { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="aubergine"]:checked):has(input[name="mirror-view"][value="rear"]:checked) .mirror-frame--aubergine-rear { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="ivory"]:checked):has(input[name="mirror-view"][value="front"]:checked) .mirror-frame--ivory-front { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="ivory"]:checked):has(input[name="mirror-view"][value="rear"]:checked) .mirror-frame--ivory-rear { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="mauve"]:checked):has(input[name="mirror-view"][value="front"]:checked) .mirror-frame--mauve-front { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="mauve"]:checked):has(input[name="mirror-view"][value="rear"]:checked) .mirror-frame--mauve-rear { display: block; }
}
@media (max-width: 980px) {
  .first-mirror__features { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 720px) {
  .first-mirror__layout { grid-template-columns: 1fr; gap: 24px; }
  .first-mirror__intro, .first-mirror__choices, .first-mirror__gallery { grid-column: 1; grid-row: auto; }
  .first-mirror__intro { padding-top: 0; }
  .first-mirror__gallery { max-width: 460px; width: 100%; justify-self: center; }
  .mirror-features { grid-template-columns: 1fr; gap: 24px; }
  .mirror-options { margin: 16px 0; }
}

/* Softer botanical atmosphere; keep live text and controls at full contrast. */
.hero__image { opacity: .55; }
.mirror-swatch--signature { background: #2b0934; border: 3px solid #c5a46a; box-shadow: inset 0 0 0 2px #2b0934; }
.mirror-signature-description { font-size: .9rem; max-width: 480px; line-height: 1.75; }
/* Without :has all edition information and labelled images remain available. */
.first-mirror__edition .mirror-signature-copy { display: block; }
@supports selector(:has(*)) {
  .first-mirror .mirror-signature-copy { display: none; }
  .first-mirror:has(input[name="mirror-finish"][value="signature"]:checked) .mirror-signature-copy { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="signature"]:checked) .mirror-essential-copy { display: none; }
  .first-mirror:has(input[name="mirror-finish"][value="signature"]:checked):has(input[name="mirror-view"][value="front"]:checked) .mirror-frame--signature-front { display: block; }
  .first-mirror:has(input[name="mirror-finish"][value="signature"]:checked):has(input[name="mirror-view"][value="rear"]:checked) .mirror-frame--signature-rear { display: block; }
}

/* Text-only hero until the next visual campaign. No reserved mobile image space. */
.home .hero { min-height: 0; padding-bottom: 0; background: var(--miraud-ivory); }
.hero__content { padding: clamp(100px,10vw,150px) 0 clamp(88px,8vw,120px); }
.hero__content h1 { max-width: 820px; font-size: clamp(3.4rem,6.5vw,6.5rem); line-height: 1.04; }
.hero__intro { max-width: 540px; margin-bottom: 30px; }
.hero__scroll { bottom: 28px; }
/* A shared editorial rhythm, including content and legal pages. */
:root { --miraud-section-space: clamp(72px,7.5vw,112px); }
h2 { line-height: 1.1; }
.eyebrow { margin-bottom: 20px; }
.manifesto { border-top: 1px solid var(--miraud-line); }
.manifesto > p:last-child, .world__copy { line-height: 1.8; }
.ritual-editorial__copy p { margin-top: 20px; }
.details__grid h3 { margin-bottom: 16px; }
.first-mirror__intro { padding-top: 12px; }
.first-mirror__intro > p:not(.eyebrow):not(.first-mirror__edition) { margin: 0 0 24px; line-height: 1.8; }
.mirror-options legend, .first-mirror__edition { letter-spacing: .08em; }
.mirror-option { font-size: .8rem; }
.mirror-features dt { font-size: .9rem; }
.mirror-features dd { font-size: .92rem; }
.site-footer__bottom { flex-wrap: wrap; gap: 20px 32px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.legal-nav a { padding: 10px 0; font-size: .72rem; text-decoration-thickness: 1px; text-underline-offset: 4px; }
/* Integer resting geometry avoids fractional resampling of the supplied master. */
.brand-logo--ceremonial { width: 400px; top: -80px; left: calc(50% - 200px); transform: none; transition: opacity 180ms ease, visibility 180ms ease; }
.site-header.is-compact .brand-logo--ceremonial, body:not(.home) .brand-logo--ceremonial { transform: none; }
.legal-content { max-width: 780px; }
.legal-content h1 { font-size: clamp(2.8rem,5vw,4.8rem); overflow-wrap: anywhere; }
.legal-content h2 { font-size: clamp(1.8rem,3vw,2.6rem); margin: 44px 0 16px; }
.legal-content h3 { font-size: 1.6rem; margin: 28px 0 12px; }
.legal-content p, .legal-content li, .legal-content dd { font-size: .96rem; line-height: 1.8; }
.legal-content a { overflow-wrap: anywhere; text-underline-offset: 4px; }
.legal-content dt { font-weight: 600; margin-top: 18px; }
.legal-content dd { margin: 4px 0 16px; }
.legal-draft { padding: 20px 24px; border-left: 2px solid var(--miraud-gold); background: var(--miraud-pearl); font-size: .9rem; }
.legal-content [lang="de"] { margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--miraud-line); }
@media (max-width: 980px) {
  .brand-logo--ceremonial { width: 320px; left: calc(50% - 160px); top: -60px; }
}
@media (max-width: 720px) {
  .hero__content { padding: 96px 0 64px; }
  .hero__content h1 { font-size: clamp(3rem,11.5vw,4.5rem); }
  .first-mirror__intro { padding-top: 0; }
  .first-mirror__features { gap: 28px; }
  .legal-nav { gap: 8px 20px; }
}
@media (max-width: 400px) {
  .brand-logo--ceremonial { width: 260px; left: calc(50% - 130px); top: -44px; }
}

/* Contact: calm, labelled fields with generous touch targets. */
.contact-panel { max-width: 720px; margin: 40px auto 0; text-align: left; }
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form label { display: block; font-size: .82rem; font-weight: 600; margin: 0 0 10px; color: var(--miraud-aubergine); }
.contact-form input:not([type="hidden"]), .contact-form textarea { width: 100%; min-height: 50px; border: 1px solid var(--miraud-line); border-radius: 0; background: #fffdfa; color: var(--miraud-charcoal); font: inherit; font-size: 1rem; padding: 13px 16px; margin-bottom: 24px; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible { outline: 2px solid var(--miraud-mauve); outline-offset: 3px; }
.contact-form button { cursor: pointer; font-family: var(--miraud-sans); }
.contact-form__privacy, .contact-form__alternative { font-size: .8rem; line-height: 1.7; margin: 0 0 24px; color: #655363; }
.contact-form__alternative { margin-top: 20px; }
.contact-form a { text-underline-offset: 4px; }
.contact-feedback { padding: 18px 22px; background: var(--miraud-pearl); border-left: 2px solid var(--miraud-gold); font-size: .95rem; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) { .contact-form__row { grid-template-columns: 1fr; gap: 0; } }
