/* Rooms showcase: a clear path to each room page next to the booking action. */
.room-portrait .room-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; min-width: 0; margin: 0 10px 10px 0; pointer-events: auto; }
.room-portrait .room-actions .room-enquiry { margin: 0; max-width: none; }
.room-portrait .room-view { min-height: 52px; padding: 15px 22px; font-size: 14px; background: rgb(33 24 17 / 58%); border: 1px solid rgb(248 244 236 / 60%); color: var(--ivory); text-shadow: 0 1px 2px rgb(0 0 0 / 35%); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.room-portrait .room-view:hover { background: var(--ivory); border-color: var(--ivory); color: #000; }
.rooms .room-choice .room-option,
.rooms .room-choice .room-option:first-child { padding-right: 55px; }

/* Card titles flow on one line until the column runs out of room. */
.feature h2, .story-index-copy h2, .article-related h3 { text-wrap: pretty; }

/* Booking dialog: the heading starts at the top and stays on one line. */
.booking-dialog { width: 650px; padding: 38px 44px 44px; container-type: inline-size; }
.booking-heading { padding-right: 58px; }
.booking-heading h2 { max-width: none; font-size: clamp(24px, 6.1cqi, 36px); line-height: 1.15; white-space: nowrap; }
.booking-heading > p { margin-top: 10px; }
.booking-dialog form { margin-top: 26px; }
.booking-dialog .form-required { margin: 18px 0 22px; }
.booking-dialog .form-submit { margin-bottom: 2px; }
.booking-dialog .dialog-close { top: 22px; right: 22px; }

@media (min-width: 1800px) {
  .room-portrait .room-view { min-height: 60px; font-size: 16px; }
}
@media (max-width: 1250px) {
  .room-portrait .room-view, .room-portrait .room-actions .room-enquiry { padding-inline: 16px; font-size: 13px; }
}
@media (max-width: 600px) {
  .room-portrait figcaption { flex-direction: column; align-items: stretch; gap: 6px; }
  .room-portrait .room-actions { align-items: stretch; justify-content: stretch; flex-wrap: nowrap; gap: 8px; margin: 0; }
  .room-portrait .room-actions > .button { flex: 1 1 0; min-width: 0; min-height: 56px; padding: 11px 10px; font-size: 12px; }
  .rooms .room-choice .room-option,
  .rooms .room-choice .room-option:first-child { padding-left: 14px; padding-right: 30px; }
  .rooms .room-name { font-size: clamp(14px, 4.1vw, 17px); overflow-wrap: normal; hyphens: manual; }
  .rooms .room-detail-link { width: 24px; right: 3px; }
  .rooms .room-detail-link .icon { width: 22px; }
  .booking-dialog { padding: 26px 20px 28px; }
  .booking-heading { padding-right: 50px; }
  .booking-heading h2 { font-size: clamp(20px, 7.4cqi, 30px); white-space: normal; text-wrap: balance; }
  .booking-dialog .dialog-close { top: 14px; right: 14px; }
}

/* Homepage hero slides crossfade; only the active one is visible. */
.hero .hero-photo[data-hero-slide] { opacity: 0; transition: opacity 1.4s ease; }
.hero .hero-photo[data-hero-slide].is-active { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .hero .hero-photo[data-hero-slide] { transition: none; } }
.hero .hero-photo[data-hero-slide] { object-position: var(--hero-focus, 50% 55%); }
@media (max-width: 600px) { .hero .hero-photo[data-hero-slide] { object-position: var(--hero-focus, 57% 50%); } }

/* 601–1180px: dots on their own row, both room actions side by side at equal width. */
@media (min-width: 1181px) {
  /* Fixed widths, so the buttons do not shift when another room is chosen. */
  .room-portrait .room-view { min-width: 150px; }
  .room-portrait .room-actions .room-enquiry { min-width: 262px; }
}
@media (min-width: 601px) and (max-width: 1180px) {
  .room-portrait figcaption { flex-direction: column; align-items: stretch; gap: 8px; }
  .room-portrait .room-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
  .room-portrait .room-actions > .button { min-width: 0; }
}
@media (max-width: 359px) {
  .module-room-showcase .room-list { grid-template-columns: 1fr; }
}
/* Hero copy stays legible over the brighter slides at every width. */
.hero-content .hero-city, .hero-content h1, .hero-content .hero-description { text-shadow: 0 2px 14px rgb(20 14 10 / 55%); }
@media (min-width: 601px) and (max-width: 1100px) {
  .hero:has(.hero-content)::after { background: linear-gradient(90deg, rgb(28 19 13 / .62), rgb(28 19 13 / .18) 60%), linear-gradient(180deg, transparent 0 30%, rgb(0 0 0 / .35) 65%, rgb(0 0 0 / .55)); }
}
@media (max-width: 600px) {
  .hero::after { background: linear-gradient(180deg, #211811ad, #21181185 20%, #21181166 44%, #211811b3), linear-gradient(90deg, #211811a6, #21181126); }
}
.concierge > span:last-child { text-wrap: balance; }
.feature p, .hotel-story-copy p { text-wrap: pretty; }
/* Booking dialog on phones and on short laptop screens. */
@media (max-width: 600px) {
  .booking-dialog { padding: 24px 20px 40px; }
  .booking-dialog form { margin-top: 20px; }
  .booking-dialog .form-required { margin: 14px 0 18px; }
}
@media (min-width: 601px) and (max-height: 840px) {
  .booking-dialog { padding: 28px 40px 36px; }
  .booking-dialog form { margin-top: 18px; }
  .booking-dialog .form-grid { row-gap: 12px; }
  .booking-dialog textarea { min-height: 64px; height: 64px; }
  .booking-dialog .form-required { margin: 12px 0 16px; }
}

/* Guest quotes sit on the light gold used behind the feature icons. */
:root { --gold-tint: #f1e8d6; }
.testimonials { background: var(--gold-tint); padding-top: clamp(44px, 4.4vw, 72px); padding-bottom: clamp(36px, 3.6vw, 56px); }
.testimonials .testimonial-avatar { background: var(--paper); }
.testimonials .testimonial-dot:not([aria-pressed='true'])::before { background: #b3a38b; }
.testimonials .testimonial-controls { flex-wrap: wrap; }

/* Homepage rooms: the chosen room has the same gold as the buttons, no border. */
.rooms .room-option, .rooms .room-option:first-child { border: 0; }
.rooms .room-option.is-selected { background: var(--button-gold, #cba45e); }
.rooms .room-option.is-selected .room-name, .rooms .room-option.is-selected:hover .room-name { color: var(--button-ink, #000); }
.rooms .room-option.is-selected .room-description { color: var(--button-ink, #000); opacity: .82; }
.rooms .room-option.is-selected + .room-detail-link { color: var(--button-ink, #000); opacity: 1; }

/* Booking dialog: a plain close cross, not a button block. */
.booking-dialog .dialog-close { background: transparent; color: var(--ink); border-radius: 50%; width: 44px; height: 44px; }
.booking-dialog .dialog-close:hover { background: var(--canvas); color: #000; }
.booking-dialog .dialog-close .icon { width: 26px; height: 26px; stroke-width: 1.4; }

/* Guest quotes: each sets in three balanced lines, sized to fit its column. */
.testimonials .testimonial-slide { container-type: inline-size; }
.testimonials .testimonial-slide blockquote { width: 100%; }
/* Up to ~110 characters (--quote-ch 40) a quote fills 3 lines; a longer one keeps that size and takes more lines instead of shrinking. */
.testimonials .testimonial-slide blockquote p { max-width: calc(var(--quote-ch, 34) * 1ch); margin-inline: auto; font-size: min(var(--quote-size, clamp(40px, 4.6vw, 72px)), calc(185cqi / min(var(--quote-ch, 34), 40))); text-wrap: balance; }
.template-room .testimonials { --quote-size: clamp(28px, 3vw, 44px); }

/* Homepage article list: one "Browse all" button to the articles page instead of arrows (25 Sep 2026). */
.articles-browse-all { flex: none; gap: 12px; white-space: nowrap; }
.articles-browse-all .icon { width: 22px; height: 16px; flex: none; }
@media (max-width: 600px) {
  [data-module-kind="articles"] > .section-heading { flex-wrap: wrap; align-items: flex-end; row-gap: 18px; }
  [data-module-kind="articles"] > .section-heading .articles-browse-all { min-height: 44px; }
  /* Without arrows a sideways strip hides the next story, so on phones the stories stack. */
  [data-module-kind="articles"] .feature-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; overflow: visible; scroll-snap-type: none; }
  [data-module-kind="articles"] .feature-grid > .feature { flex: none; width: auto; }
}

/* Booking window (26 Sep 2026): the dates and guests on one row, then the rooms: "no preference" as a small
   option beside the legend and every room as a card with its photo, nightly price and capacity (radio buttons
   name="room"; keyboard: Tab to the group, arrows to choose); then the name, then the email and phone side by side.
   Phones: two dates per row, then guests, name, email and phone each full width; one room per row. */
.booking-dialog { width: 700px; }
/* The window itself does not scroll: the heading and form scroll inside it (.booking-body) and the × keeps the
   window's corner above them. Once the form has scrolled, a paper band behind the × (site.js: .is-scrolled)
   covers whatever passes under it, with a hairline at its edge. Specificity beats the older sticky-× rules. */
dialog.booking-dialog { --booking-pad: 38px 44px 44px; --booking-close-top: 22px; --booking-close-right: 22px; padding: 0; overflow: hidden; }
dialog.booking-dialog[open] { display: flex; flex-direction: column; }
.booking-body { flex: 0 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--booking-pad); container-type: inline-size; scroll-padding-top: calc(var(--booking-close-top) + 56px); }
dialog.booking-dialog > .dialog-close { position: absolute; top: var(--booking-close-top); right: var(--booking-close-right); z-index: 3; float: none; margin: 0; background: transparent; }
dialog.booking-dialog > .dialog-close:hover { background: var(--canvas); }
dialog.booking-dialog::before { content: ''; position: absolute; z-index: 2; inset: 0 0 auto; height: calc(var(--booking-close-top) + 48px); background: var(--paper); box-shadow: 0 1px 0 var(--line); opacity: 0; visibility: hidden; transition: opacity .16s ease, visibility 0s linear .16s; }
dialog.booking-dialog.is-scrolled::before { opacity: 1; visibility: visible; transition: opacity .16s ease; }
@media (prefers-reduced-motion: reduce) { dialog.booking-dialog::before, dialog.booking-dialog.is-scrolled::before { transition: none; } }

.booking-dialog .form-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.booking-dialog .form-grid > label { grid-column: span 2; }
.booking-dialog .form-grid > .full-width, .booking-dialog .form-grid > .booking-name { grid-column: 1 / -1; }
.booking-dialog .form-grid > .booking-contact:not(.booking-name) { grid-column: span 3; }
.booking-rooms { min-width: 0; margin: 0; padding: 0; border: 0; }
.booking-rooms > legend { float: left; padding: 0; margin: 0 0 8px; font-size: 12px; line-height: 34px; }
/* The radio buttons stay in the form (and keyboard order) but are drawn by their cards. */
.booking-dialog :is(.booking-room, .booking-room-any) input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.booking-dialog :is(.booking-room, .booking-room-any):has(input:focus-visible) { outline: 2px solid #8b6b51; outline-offset: 2px; }
/* "No preference": a compact option with a radio dot, the same gold as the gallery filters when chosen. */
.booking-dialog .booking-room-any { float: right; position: relative; display: inline-flex; flex-direction: row; align-items: center; gap: 8px; min-height: 34px; margin: 0 0 8px; padding: 6px 12px 6px 10px; font-size: 13px; font-weight: 700; line-height: 1.2; color: #3f3931; background: var(--canvas); border-radius: 3px; cursor: pointer; transition: background-color .2s ease; }
.booking-dialog .booking-room-any::before { content: ''; flex: none; width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px currentColor; }
.booking-dialog .booking-room-any:hover { background: #e9e2d6; }
.booking-dialog .booking-room-any:has(input:checked) { background: var(--button-gold, #cba45e); color: var(--button-ink, #000); }
.booking-dialog .booking-room-any:has(input:checked)::before { box-shadow: inset 0 0 0 1.5px currentColor, inset 0 0 0 4px var(--button-gold, #cba45e), inset 0 0 0 7px currentColor; }
.booking-room-list { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; container: booking-rooms / inline-size; }
.booking-dialog .booking-room { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; min-height: 58px; padding: 5px 12px 5px 8px; font-size: 13px; line-height: 1.3; color: var(--ink); background: var(--canvas); border-radius: 4px; cursor: pointer; transition: background-color .2s ease; }
.booking-dialog .booking-room:hover { background: #e9e2d6; }
.booking-room img { display: block; width: 64px; height: 48px; object-fit: cover; border-radius: 3px; background: var(--paper); }
.booking-room-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.booking-room-name { font-size: 15px; font-weight: 700; line-height: 1.25; color: #3f3931; }
/* Price and capacity: one line when every card in the list has room for both, otherwise two lines in every card.
   The secondary text is a shade darker than --muted, so it keeps 4.5:1 on the card and its hover colour. */
.booking-room-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; color: #645d54; }
.booking-room-price { white-space: nowrap; }
.booking-room-price strong { font-weight: 700; color: #3f3931; }
.booking-room:has(input:checked) .booking-room-price strong { color: inherit; }
.booking-room-capacity { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.booking-room-capacity .icon { width: 16px; height: 16px; flex: none; }
.booking-room-capacity-short { display: none; }
/* The chosen room: the same gold as the buttons and the homepage room list. */
.booking-dialog .booking-room:has(input:checked) { background: var(--button-gold, #cba45e); --icon-duo: var(--ivory, #f8f4ec); --icon-duo-opacity: .66; }
.booking-room:has(input:checked) .booking-room-name { color: var(--button-ink, #000); }
.booking-room:has(input:checked) .booking-room-meta { color: var(--button-ink, #000); opacity: .82; }
@media (prefers-reduced-motion: reduce) { .booking-dialog :is(.booking-room, .booking-room-any) { transition: none; } }
/* Desktop: one line for price and capacity needs a list at least 598px wide (the widest pair is 199px). */
@media (min-width: 601px) {
  .booking-dialog .form-grid { row-gap: 14px; }
  @container booking-rooms (min-width: 600px) { .booking-room-meta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 2px 12px; } }
}
/* Tall screens: the whole window fits at 1440×900 without scrolling. */
@media (min-width: 601px) and (min-height: 841px) {
  .booking-dialog form { margin-top: 22px; }
  .booking-dialog textarea { min-height: 64px; height: 64px; }
  .booking-dialog .form-required { margin: 14px 0 18px; }
}
@media (min-width: 601px) and (max-height: 840px) {
  dialog.booking-dialog { --booking-pad: 28px 40px 36px; }
  .booking-dialog .form-grid { row-gap: 12px; }
  .booking-dialog .booking-room { min-height: 54px; padding-block: 5px; grid-template-columns: 56px minmax(0, 1fr); }
  .booking-room img { width: 56px; height: 42px; }
  @container booking-rooms (min-width: 584px) { .booking-room-meta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 2px 12px; } }
}
/* Phones: one room per row with a smaller photo; price and capacity on one line (the text column is the list
   minus 78px; the widest pair is 199px in full words, 156px as "до 4"), the capacity without the word "guests"
   (the icon says it) where the full words do not fit, e.g. at 320px; 40px touch targets. */
@media (max-width: 600px) {
  dialog.booking-dialog { --booking-pad: 24px 20px 40px; --booking-close-top: 14px; --booking-close-right: 14px; }
  .booking-dialog .form-grid > label { grid-column: span 3; }
  .booking-dialog .form-grid > .booking-guests, .booking-dialog .form-grid > .booking-contact:not(.booking-name) { grid-column: 1 / -1; }
  .booking-dialog textarea { min-height: 72px; height: 72px; }
  .booking-rooms > legend { line-height: 40px; }
  .booking-dialog .booking-room-any { min-height: 40px; }
  .booking-room-list { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .booking-dialog .booking-room { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; min-height: 54px; padding: 6px 10px 6px 6px; }
  .booking-room img { width: 52px; height: 40px; }
  @container booking-rooms (min-width: 238px) {
    .booking-room-meta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 2px 12px; }
    .booking-room-capacity-long { display: none; }
    .booking-room-capacity-short { display: inline; }
  }
  @container booking-rooms (min-width: 282px) {
    .booking-room-capacity-long { display: inline; }
    .booking-room-capacity-short { display: none; }
  }
}
/* Landscape phones: the window's padding and × as in mobile.css. */
@media (max-width: 1100px) and (max-height: 500px) and (orientation: landscape) {
  dialog.booking-dialog { --booking-pad: 20px 28px 28px; --booking-close-top: 10px; --booking-close-right: 12px; }
}

/* Homepage rooms photo: an info icon in the top right; hover, keyboard focus or a tap shows the chosen room's
   capacity and a few features (26 Sep 2026). */
.room-portrait .room-info { position: absolute; z-index: 2; top: 16px; right: 16px; }
.room-info-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgb(248 244 236 / 60%); border-radius: 50%; background: rgb(33 24 17 / 58%); color: var(--ivory); cursor: pointer; transition: background-color .2s, color .2s; }
.room-info-toggle .icon { width: 22px; height: 22px; }
.room-info-toggle:hover, .room-info.is-open .room-info-toggle { background: var(--ivory); color: #000; }
.room-info-toggle:focus-visible { outline: 2px solid var(--ivory); outline-offset: 3px; }
.room-info-tip { position: absolute; top: calc(100% + 10px); right: 0; width: max-content; max-width: min(300px, 70vw); padding: 14px 18px; border-radius: 4px; background: var(--paper); color: var(--ink); box-shadow: 0 14px 34px rgb(24 17 12 / 26%); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.room-info:hover .room-info-tip, .room-info:focus-within .room-info-tip, .room-info.is-open .room-info-tip { opacity: 1; visibility: visible; transform: none; transition: opacity .18s ease, transform .18s ease; }
.room-info-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.35; }
.room-info-list[hidden] { display: none; }
.room-info-list li { display: flex; align-items: center; gap: 10px; }
.room-info-icon { display: grid; flex: none; place-items: center; width: 22px; height: 22px; color: var(--gold-icon); }
.room-info-icon svg { width: 22px; height: 22px; }
@media (max-width: 600px) { .room-portrait .room-info { top: 12px; right: 12px; } }
@media (prefers-reduced-motion: reduce) { .room-info-tip { transition: none; transform: none; } }

/* The info tooltip keeps hover while the pointer crosses the gap under the button. */
.room-info-tip::before { content: ''; position: absolute; inset: -12px 0 auto; height: 12px; }

/* Homepage hero: the title and the line under it match a room page's (owner, 29 Sep 2026). */
.hero-content h1 { font-size: clamp(62px, 6.8vw, 112px); line-height: 1.02; letter-spacing: -.025em; }
.hero-content .hero-description { max-width: 30ch; margin-top: 18px; font-family: var(--serif); font-weight: 700; font-size: clamp(21px, 1.7vw, 26px); line-height: 1.35; }
@media (max-width: 600px) { .hero-content h1 { font-size: clamp(44px, 14vw, 62px); } .hero-content .hero-description { max-width: 34ch; margin-top: 12px; font-size: 18px; line-height: 1.4; } }
@media (max-width: 1100px) and (max-height: 500px) and (orientation: landscape) { .hero-content .hero-description { max-width: 40ch; margin-top: 8px; font-size: 17px; line-height: 1.35; } }

/* Testimonials: a previous/next arrow on each side of the quote; on phones they sit at the ends of the dots row. */
.testimonial-stage { position: relative; max-width: 1180px; margin-inline: auto; }
.testimonial-arrow { position: absolute; top: 50%; z-index: 1; transform: translateY(-50%); }
.testimonial-arrow.previous { left: 0; }
.testimonial-arrow:not(.previous) { right: 0; }
.testimonial-arrow:hover, .testimonial-arrow.previous:hover { transform: translateY(-50%); }
@media (max-width: 600px) {
  .testimonial-arrow { top: auto; bottom: -60px; transform: none; }
  .testimonial-arrow:hover, .testimonial-arrow.previous:hover { transform: none; }
  .testimonial-arrow.previous { left: 6px; }
  .testimonial-arrow:not(.previous) { right: 6px; }
}

/* Form answers (3 Oct 2026): an error reads as an error, a confirmation as a confirmation; tonal blocks, no borders. */
.form-status:not([hidden]){display:block;margin-top:16px;padding:14px 18px;border-radius:8px;font-size:15px;line-height:1.55;background:#eef3e6;color:#2f4a22}
.form-status.is-error:not([hidden]){background:#f8e6e2;color:#8e3027;font-weight:600}

/* Sent: the form fades out and a gold tick draws itself above the hotel's answer (enquiry-form.js, celebrate()). */
.contact-form.is-leaving, .inline-reservation-form.is-leaving, #reservation-form.is-leaving { opacity: 0; transform: translateY(-8px); transition: opacity .34s ease, transform .34s ease; pointer-events: none; }
.enquiry-success { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: 44px 20px 40px; text-align: center; outline: none; }
.enquiry-success.is-sizing { overflow: hidden; transition: height .46s cubic-bezier(.2, .7, .2, 1); }
.enquiry-success-tick { width: 88px; height: 88px; fill: none; stroke: var(--button-gold, #cba45e); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.enquiry-success-tick circle { fill: transparent; stroke-dasharray: 151; stroke-dashoffset: 151; }
.enquiry-success-tick path { stroke-width: 3; stroke-dasharray: 32; stroke-dashoffset: 32; }
.enquiry-success.is-shown .enquiry-success-tick circle { animation: etar-tick-ring .62s cubic-bezier(.65, 0, .45, 1) .08s forwards, etar-tick-fill .5s ease .5s forwards; }
.enquiry-success.is-shown .enquiry-success-tick path { animation: etar-tick-ring .36s cubic-bezier(.65, 0, .45, 1) .58s forwards; }
.enquiry-success.is-shown .enquiry-success-tick { animation: etar-tick-pop .5s ease .9s both; }
.enquiry-success-message { margin: 0; max-width: 32ch; font-family: var(--serif, Georgia, serif); font-size: clamp(20px, 2.4vw, 24px); line-height: 1.5; color: var(--ink); opacity: 0; transform: translateY(8px); }
.enquiry-success-message strong { font-weight: 700; }
.enquiry-success.is-shown .enquiry-success-message { animation: etar-success-text .55s ease .62s forwards; }
@keyframes etar-tick-ring { to { stroke-dashoffset: 0; } }
@keyframes etar-tick-fill { to { fill: var(--gold-tint, #f1e8d6); } }
@keyframes etar-tick-pop { 0% { transform: scale(1); } 45% { transform: scale(1.07); } 100% { transform: scale(1); } }
@keyframes etar-success-text { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .enquiry-success-tick circle, .enquiry-success-tick path { stroke-dashoffset: 0; animation: none !important; }
  .enquiry-success-tick circle { fill: var(--gold-tint, #f1e8d6); }
  .enquiry-success-tick { animation: none !important; }
  .enquiry-success-message { opacity: 1; transform: none; animation: none !important; }
}
