/* Extend the supplied studio palette/type; no new visual theme or animation dependency. */
.turn .rv { opacity: 1 !important; transform: none !important; }
.form .phone { grid-column: 1 / -1; }
.form .phone .row { grid-template-columns: 1fr 1fr; align-items: start; }
.form .phone select { width: 100%; min-width: 0; }
.form .phone input { min-width: 0; }
.form .field-error { display: block; margin-top: 8px; color: #ffaf98; font: 400 13px/1.5 var(--sans); }
.form .field-error:empty { display: none; }
.form .field-hint { margin: 10px 0 0; color: var(--mute); font: 400 12px/1.5 var(--sans); }
.form [aria-invalid="true"] { border-color: #ffaf98; }
.form .privacy-check { display: flex; gap: 12px; align-items: start; text-transform: none; letter-spacing: 0; font: 400 14px/1.6 var(--sans); }
.form .privacy-check input { appearance: auto; border: initial; padding: 0; width: 20px; height: 20px; margin-top: 2px; flex: 0 0 20px; accent-color: #ff4a26; }
.form a, .privacy-dialog a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.form .honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form #formStatus { margin: 24px 0 0; min-height: 1.5em; color: var(--ink); font: 400 15px/1.6 var(--sans); text-align: center; }
.form button:focus-visible, .form input:focus-visible, .form select:focus-visible, .privacy-dialog :focus-visible, #privacySettings:focus-visible { outline: 2px solid #f6f1ea; outline-offset: 5px; }
.form #newEnquiry, .form #editedEnquiry { margin: 18px auto 0; display: block; }
.form #newEnquiry[hidden], [hidden] { display: none !important; }
.privacy-link, .privacy-dialog button, .form #newEnquiry, .form #editedEnquiry { min-height: 44px; border: 1px solid #b7aba1; padding: 10px 16px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.privacy-dialog { box-sizing: border-box; max-width: min(540px, calc(100% - 32px)); border: 1px solid #b7aba1; padding: 28px; background: #150906; color: #f6f1ea; font: 400 16px/1.6 "Helvetica Neue", Arial, sans-serif; }
.privacy-dialog::backdrop { background: rgb(0 0 0 / .75); }
.privacy-dialog h2 { font: 400 34px/1.1 "Instrument Serif", Georgia, serif; margin: 0 0 18px; }
.privacy-dialog label { display: flex; gap: 12px; margin: 16px 0; }
.privacy-dialog input { width: 20px; accent-color: #ff4a26; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.consent-banner { position: fixed; z-index: 100; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: min(520px, calc(100% - 32px)); box-sizing: border-box; padding: 20px; border: 1px solid #705247; border-top: 2px solid #f03e15; background: #150906; color: #f6f1ea; box-shadow: 0 12px 48px rgb(0 0 0 / .32); font: 400 13px/1.55 "Helvetica Neue", Arial, sans-serif; }
.consent-banner h2 { margin: 0 0 8px; font: 400 27px/1.1 "Instrument Serif", Georgia, serif; }
.consent-banner p { margin: 0; color: #d0bdb0; }
.consent-banner a { color: #f6f1ea; text-underline-offset: 3px; }
.consent-banner__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.consent-banner button { min-height: 44px; padding: 9px 6px; border: 1px solid #f6f1ea; background: #f6f1ea; color: #150906; font: 500 13px/1.3 "Helvetica Neue", Arial, sans-serif; cursor: pointer; }
.consent-banner #consent-customize { background: transparent; color: #f6f1ea; border-color: #b7aba1; }
.consent-banner :focus-visible { outline: 2px solid #f6f1ea; outline-offset: 4px; }
/* Reserve space below the footer so its controls can scroll clear of the banner. */
body.consent-pending { padding-bottom: 230px; }
@media (max-width: 600px) { .consent-banner { padding: 16px; } body.consent-pending { padding-bottom: 270px; } }
@media (max-width: 600px) { .form .phone .row { grid-template-columns: 1fr; gap: 18px; } }
