.site-visit { width: 100vw; margin-inline: calc(50% - 50vw); padding-block: clamp(4rem, 8vw, 8rem); background: var(--color-background); color: var(--color-primary); }.site-visit__shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 43rem; overflow: hidden; border-radius: clamp(1.25rem, 3vw, 2.5rem); background: var(--color-surface); box-shadow: 0 2rem 5rem rgba(23,54,45,.12); }.site-visit__form-panel { padding: clamp(2.2rem, 5vw, 5rem); }.site-visit__eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.35rem; color: var(--color-secondary-strong); font: 700 var(--font-size-xs)/1 var(--font-accent); letter-spacing: .18em; text-transform: uppercase; }.site-visit__eyebrow::before { width: 2.5rem; height: 1px; background: currentColor; content: ""; }.site-visit h2 { margin: 0; font: 600 clamp(3rem, 5vw, 5.5rem)/.88 var(--font-heading); letter-spacing: -.045em; }.site-visit h2 em { color: var(--color-secondary-strong); font-weight: 500; }.site-visit__lead { max-width: 31rem; margin: 1.5rem 0 2.3rem; color: var(--color-text-muted); line-height: 1.7; }.site-visit__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }.site-visit__field { display: grid; gap: .45rem; }.site-visit__field--wide { grid-column: 1 / -1; }.site-visit__field label { color: var(--color-primary); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.site-visit__field label span { color: var(--color-text-muted); font-weight: 500; text-transform: none; }.site-visit__field input, .site-visit__field textarea { width: 100%; padding: .75rem 0; border: 0; border-bottom: 1px solid rgba(29,58,50,.24); border-radius: 0; background: transparent; color: var(--color-text); outline: 0; transition: border-color var(--transition-default), box-shadow var(--transition-default); }.site-visit__field textarea { min-height: 4.4rem; resize: vertical; }.site-visit__field input:focus, .site-visit__field textarea:focus { border-color: var(--color-secondary-strong); box-shadow: 0 1px 0 var(--color-secondary-strong); }.site-visit__submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; width: 100%; margin-top: 2rem; padding: 1rem 1.3rem; border: 1px solid var(--color-primary); background: var(--color-primary); color: var(--color-surface); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background var(--transition-default), color var(--transition-default), transform var(--transition-default); }.site-visit__submit:hover, .site-visit__submit:focus-visible { background: var(--color-secondary); border-color: var(--color-secondary); color: var(--color-primary-strong); transform: translateY(-2px); }.site-visit__submit span { font-size: 1.15rem; }.site-visit__privacy { margin: 1rem 0 0; color: var(--color-text-muted); font-size: .68rem; line-height: 1.5; }.site-visit__villa { position: relative; min-height: 100%; overflow: hidden; background: var(--color-primary-strong); }.site-visit__villa > img, .site-visit__villa-shade { position: absolute; inset: 0; width: 100%; height: 100%; }.site-visit__villa > img { object-fit: cover; transition: transform 700ms cubic-bezier(.22,1,.36,1); }.site-visit__villa:hover > img { transform: scale(1.045); }.site-visit__villa-shade { background: linear-gradient(180deg, rgba(10,28,22,.06), rgba(10,28,22,.71)); pointer-events: none; }.site-visit__villa-note { position: absolute; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(4.8rem, 8vw, 6rem); left: clamp(1.5rem, 4vw, 3rem); display: grid; gap: .7rem; color: var(--color-surface); }.site-visit__villa-note span { color: var(--color-secondary); font: 700 .68rem/1 var(--font-accent); letter-spacing: .16em; text-transform: uppercase; }.site-visit__villa-note strong { max-width: 18rem; font: 600 clamp(2rem, 3.4vw, 3.5rem)/.94 var(--font-heading); }.site-visit__villa-status { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; align-items: center; gap: .55rem; margin: 0; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.27); color: rgba(255,255,255,.76); font-size: .72rem; }.site-visit__villa-status i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--color-secondary); box-shadow: 0 0 0 .3rem rgba(198,166,103,.16); }@media (max-width: 760px) { .site-visit__shell { grid-template-columns: 1fr; }.site-visit__villa { min-height: 31rem; }.site-visit__form-panel { padding: 2.25rem 1.5rem; } }@media (max-width: 420px) { .site-visit__fields { grid-template-columns: 1fr; }.site-visit__field--wide { grid-column: auto; } }
