/* Native fractional transforms avoid discrete crop steps in the former video. */
.cinema-media>img{transform:translate3d(0,0,0) scale(1);transform-origin:55% 46%;backface-visibility:hidden}
.cinema-media.motion-ready>img{animation:quiet-approach 20s cubic-bezier(.42,0,.58,1) infinite;animation-play-state:paused;will-change:transform}
.cinema-media.is-playing>img{animation-play-state:running}
@keyframes quiet-approach{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,0,0) scale(1.035)}}
.region-field input,.relay-field select{display:block;width:100%;min-height:48px;margin-top:9px;padding:12px 14px;border:1px solid #aebca5;border-radius:8px;background:#edf0e7;color:#20392f;font:500 13px/1.5 Manrope,sans-serif}
.region-field input::placeholder,.relay-field input::placeholder{color:#64725f;opacity:1}
.region-field input:focus-visible,.relay-field select:focus-visible,.relay-field input:focus-visible{outline:2px solid #466951;outline-offset:2px}
.dialog-inner .dialog-intro{max-width:430px}.lead-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.relay-field{font-size:12px}.relay-field>span,.relay-field small{font-weight:450;font-size:10px;color:#526356}
.relay-field small{display:block;margin-top:8px;line-height:1.75}.relay-field input{min-height:48px}
.quote-contact-fields{padding-top:8px}.quote-contact-fields .relay-field:last-child{margin-top:20px}
.contact-variant{margin-block:24px;font-size:13px}.contact-variant strong{display:block}
.contact-variant>span{display:block;margin-top:8px;font-size:10px;line-height:1.8;color:#526356}
.quote-options{margin-top:16px;font-size:11px;line-height:1.8;color:#526356}.quote-options summary{cursor:pointer;font-weight:650;color:#20392f}
.quote-options ul{margin-top:12px;padding-left:20px}.quote-options li{margin:5px 0}
.relay-phone-fallback{display:block;margin-top:20px;padding-top:18px;border-top:1px solid #c4cfbb;font-size:11px;line-height:1.8;color:#526356}
.relay-phone-fallback a{font-weight:700;color:#20392f;white-space:nowrap}.relay-reassurance{font-size:10px;color:#526356;line-height:1.8;margin-top:12px}
.form-edit{margin-top:16px}.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-size:12px}
.footer-contact button{font:inherit;font-weight:650;color:#e8efdf;background:transparent;border:0;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.closing-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.closing-actions .button{font-size:12px;padding-inline:20px}
.closing-actions .button-outline{background:#15291f;border-color:#90a58c}.mobile-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:650 14px/1.6 Manrope,sans-serif;padding:14px 0}
@media(max-width:700px){.lead-form-grid{grid-template-columns:1fr;gap:0}.dialog-inner h2{font-size:36px;line-height:1.15}.dialog-intro{max-width:100%!important}.relay-field{font-size:12px}.relay-field input,.relay-field select{font-size:16px}.contact-variant{font-size:12px}.closing-actions{display:grid;grid-template-columns:1fr;gap:10px}.closing-actions .button{width:100%;justify-content:center}.footer-contact{font-size:10px;gap:10px}.region-field input{font-size:16px}.motion-toggle{min-width:80px}}
@media(prefers-reduced-motion:reduce){.cinema-media.motion-ready>img{animation-play-state:paused}.cinema-media.is-playing>img{animation-duration:20s!important;animation-iteration-count:infinite!important;animation-play-state:running}}

.lead-form-grid.callback-only{grid-template-columns:1fr}

.base-kit-items{padding-left:20px;margin-block:26px;font-size:13px;line-height:1.9}.base-kit-items li{margin-block:8px}.legacy-anchor{display:block;height:0;scroll-margin-top:110px}

.included-statement #base-kit-open{display:flex;width:fit-content;margin-top:18px}

.finish-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:18px}.region-field select{width:100%;min-height:48px;margin-top:9px;padding:12px;background:#edf0e7;color:#20392f;border:1px solid #aebca5;border-radius:8px;font:inherit}.finish-details .extras-note{padding-top:8px}@media(max-width:700px){.finish-fields{grid-template-columns:1fr}.region-field select{font-size:16px}}

/* CJM R7.1: accessible extra option choice and numeric area (not a second checkbox). */
.extra-option{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;padding:13px 0;min-width:0}
.extra-option .extra-selector{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:12px;align-items:start;width:100%;cursor:pointer;font-size:12px;line-height:1.5}
.extra-option .extra-selector>input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--forest)}
.extra-option .extra-price{white-space:normal;font-size:12px;min-width:92px;text-align:right;font-weight:750}
.extra-option .extra-area-label{display:flex;align-items:center;gap:12px;padding:4px 0 4px 30px;font-size:12px;font-weight:600;cursor:default}
.extra-option .extra-area-label[hidden]{display:none!important}
.extra-option .extra-area-label input.extra-area{display:block;width:92px!important;height:44px!important;min-width:80px;max-width:100%;margin:0!important;border:1px solid #8aa08e;border-radius:7px;padding:8px 10px;appearance:textfield;background:#fff;color:#20392f;font:600 16px/1.3 Manrope,sans-serif;text-align:center}
.extra-option .extra-area-label input.extra-area:focus-visible{outline:2px solid #355b40;outline-offset:2px}
.relay-field .required-label{color:#8a422e;font-size:10px;font-weight:700;margin-left:5px}
.relay-field input[aria-invalid=true]{border-color:#a02d27;outline-color:#a02d27}
@media(max-width:420px){.extra-option .extra-selector{grid-template-columns:18px minmax(0,1fr);gap:8px}.extra-option .extra-price{grid-column:2;text-align:left;min-width:0}}

/* R7.2: six ready-to-buy terrace variants, no area input or extra checkbox. */
.extras-list .terrace-option{gap:12px;cursor:default}
.terrace-title{font-size:12px;line-height:1.5;font-weight:750;color:#20392f}
.terrace-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.terrace-choices .terrace-choice{display:flex;align-items:center;justify-content:center;min-width:0;min-height:50px;padding:10px 8px;text-align:center;background:#f1f4eb;border:1px solid #aebca5;border-radius:8px;color:#20392f;font:700 12px/1.45 Manrope,sans-serif;cursor:pointer;white-space:normal}
.terrace-choices .terrace-choice[aria-pressed="true"]{background:#20392f;border-color:#20392f;color:#f6f7ef}
.terrace-choices .terrace-choice:focus-visible{outline:3px solid #bf682e;outline-offset:3px}
.terrace-legacy{font-size:11px;line-height:1.65;color:#526356;margin:0}
@media(max-width:470px){.terrace-choices{grid-template-columns:1fr}.terrace-choices .terrace-choice{min-height:48px;font-size:12px}}
