.contact-wrap{display:grid;grid-template-columns:1.2fr 1fr;min-height:calc(100vh - 80px);margin-top:80px}
.contact-form{padding:80px 64px;background:var(--bg);border-right:1px solid var(--line)}
.contact-info{padding:80px 64px;background:var(--bg-soft);position:relative;overflow:hidden}
.contact-info::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(10,130,189,0.18) 0%,transparent 70%);pointer-events:none}

.form-eyebrow{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;display:flex;align-items:center;gap:12px}
.form-eyebrow::before{content:"";width:32px;height:1px;background:var(--accent)}
.form-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,7vw,96px);line-height:0.9;letter-spacing:-0.005em;margin-bottom:24px}
.form-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:var(--accent)}
.form-lead{font-size:16px;color:var(--ink-mute);line-height:1.7;margin-bottom:48px;max-width:520px}
.form-error{padding:14px 18px;margin-bottom:32px;background:rgba(229,162,60,0.10);border:1px solid rgba(229,162,60,0.4);border-left:3px solid var(--warn);border-radius:6px;font-size:14px;color:var(--ink);line-height:1.55}
.form-error a{color:var(--accent);border-bottom:1px solid var(--accent)}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:0.22em;color:var(--ink-mute)}
.field label .req{color:var(--accent)}
.field input,.field select,.field textarea{font-family:'Inter',sans-serif;font-size:16px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 0;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}
.field textarea{resize:vertical;min-height:80px}
.field select{background:transparent;color:var(--ink);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230A82BD' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;padding-right:24px}
.field select option{background:var(--bg)}

/* === Date-picker custom === */
.dp-field{position:relative}
.dp-input{font-family:'Inter',sans-serif;font-size:16px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 28px 10px 0;cursor:pointer;width:100%;letter-spacing:0.02em;transition:border-color .2s}
.dp-input:focus{outline:none;border-bottom-color:var(--accent)}
.dp-input::placeholder{color:var(--ink-mute);text-transform:lowercase;letter-spacing:0.05em}
.dp-ico{position:absolute;right:4px;bottom:12px;color:var(--accent);font-size:14px;pointer-events:none;opacity:0.7;transition:opacity .15s}
.dp-field:focus-within .dp-ico,.dp-field.open .dp-ico{opacity:1}

.dp-popover{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 50px rgba(10,29,48,0.15);padding:20px;z-index:50}
.dp-popover[hidden]{display:none}

.dp-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:16px}
.dp-head .dp-nav{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}
.dp-head .dp-nav:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.dp-head .dp-nav:disabled{opacity:0.3;cursor:not-allowed}
.dp-head .dp-nav:disabled:hover{background:transparent;border-color:var(--line);color:var(--ink)}
.dp-head .dp-title{text-align:center;font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.05em;color:var(--ink);text-transform:uppercase}
.dp-head .dp-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:var(--accent);font-size:0.9em;margin-left:6px;text-transform:none;letter-spacing:0}

.dp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:6px}
.dp-week div{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:0.15em;color:var(--ink-mute);text-align:center;padding:6px 0}

.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:13px;color:var(--ink);border-radius:50%;cursor:pointer;border:1px solid transparent;background:transparent;transition:all .12s;padding:0}
.dp-day:hover:not(:disabled):not(.dp-selected){background:var(--accent-soft);color:var(--accent)}
.dp-day.dp-muted{color:var(--ink-mute);opacity:0.45}
.dp-day.dp-muted:hover:not(:disabled):not(.dp-selected){opacity:1}
.dp-day.dp-today{border-color:var(--accent);font-weight:600}
.dp-day.dp-selected{background:var(--accent);color:#fff;font-weight:600}
.dp-day:disabled{opacity:0.25;cursor:not-allowed;text-decoration:line-through}
.dp-day:focus{outline:none;box-shadow:0 0 0 2px var(--accent-soft)}

.dp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.dp-foot button{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:0.2em;color:var(--accent);background:transparent;border:none;cursor:pointer;padding:4px 8px;transition:opacity .15s}
.dp-foot button:hover{opacity:0.7}
.dp-foot button.dp-close{color:var(--ink-mute)}

@media(max-width:520px){
  .dp-popover{width:calc(100vw - 48px);left:50%;transform:translateX(-50%);max-width:340px}
}

.checks{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.check{font-family:'Inter',sans-serif;font-size:13px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--ink);transition:all .15s;user-select:none}
.check.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}
.check:hover:not(.on){border-color:var(--ink)}

.submit-row{display:flex;align-items:center;justify-content:space-between;margin-top:48px;padding-top:32px;border-top:1px solid var(--line);grid-column:1/-1}
.legal{font-size:12px;color:var(--ink-mute);max-width:360px;line-height:1.5}
.legal a{color:var(--accent);border-bottom:1px solid transparent}
.legal a:hover{border-bottom-color:var(--accent)}
.submit-btn{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.15em;background:var(--accent);color:#fff;padding:18px 36px;border-radius:999px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:14px;transition:all .2s}
.submit-btn:hover{background:var(--accent-deep);transform:translateX(4px)}

/* CONTACT INFO SIDE */
.info-block{margin-bottom:48px;position:relative;z-index:2}
.info-block h4{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:0.3em;color:var(--ink-mute);margin-bottom:14px}
.info-block .big{font-family:'Bebas Neue',sans-serif;font-size:42px;line-height:1;letter-spacing:-0.005em;color:var(--ink);margin-bottom:6px}
.info-block .big.email{font-family:'Inter',sans-serif;font-size:22px;font-weight:600;letter-spacing:0}
.info-block .accent-dot{color:var(--accent)}
.info-block p{font-size:14px;color:var(--ink-mute);line-height:1.6}
.info-block .addr{margin-top:10px}
.info-block .addr small{color:var(--ink-mute);font-size:13px}

.social-row{display:flex;gap:12px;margin-top:16px}
.social-row a{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}
.social-row a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

.quote{margin-top:64px;padding:32px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);position:relative;z-index:2;box-shadow:0 4px 12px rgba(10,29,48,0.06)}
.quote-mark{font-family:'Fraunces',serif;font-style:italic;font-size:80px;line-height:0.6;color:var(--accent);position:absolute;top:8px;left:20px}
.quote p{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:18px;color:var(--ink);line-height:1.6;margin:24px 0 16px;padding-left:36px}
.quote .author{font-size:13px;color:var(--ink-mute);letter-spacing:0.1em;padding-left:36px}

@media(max-width:1024px){
  .contact-wrap{grid-template-columns:1fr}
  .contact-form,.contact-info{padding:48px 24px}
  .form-grid{grid-template-columns:1fr}
  .submit-row{flex-direction:column;gap:24px;align-items:flex-start}
}
@media(max-width:520px){
  .check{padding:12px 18px;min-height:44px;display:inline-flex;align-items:center}
  .checks{gap:8px}
  .social-row{gap:16px}
  .submit-btn{width:100%;justify-content:center;padding:18px 24px}
  .info-block .big{font-size:32px}
  .info-block .big.email{font-size:18px;word-break:break-word}
}
