/* Contact page — warm, aligned, photography-led */

.contact-page{
  background:#1a1410;
}

.contact-page .site-header.transparent .brand img{
  filter:none;
}

.contact-stage{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  padding:120px 0 80px;
}

.contact-stage-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
}

.contact-stage-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(105deg, rgba(18,12,8,.88) 0%, rgba(18,12,8,.62) 42%, rgba(18,12,8,.28) 72%, rgba(18,12,8,.18) 100%),
    linear-gradient(180deg, rgba(12,10,8,.35) 0%, transparent 28%, rgba(12,10,8,.45) 100%);
}

.contact-stage-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,460px);
  gap:64px;
  align-items:center;
  width:min(1180px, calc(100% - 64px));
}

.contact-welcome{
  max-width:560px;
}

.contact-welcome h1{
  font:700 clamp(36px, 5.4vw, 58px)/.95 "Playfair Display", Georgia, serif;
  letter-spacing:-.035em;
  margin:18px 0 22px;
  max-width:12ch;
}

.contact-welcome h1 em{
  color:var(--gold);
  font-style:italic;
}

.contact-welcome > p{
  margin:0 0 32px;
  max-width:480px;
  font:300 17px/1.75 Inter, Arial, sans-serif;
  color:rgba(255,255,255,.82);
}

.contact-chips{
  display:grid;
  gap:12px;
  max-width:420px;
}

.chip{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
  color:#fff;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.chip:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.14);
  border-color:rgba(169,140,38,.55);
}

.chip-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(169,140,38,.18);
  color:#e4c56a;
}

.chip-icon svg{
  width:22px;
  height:22px;
}

.chip small{
  display:block;
  font:600 10px/1 Inter, Arial, sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
  margin-bottom:4px;
}

.chip strong{
  display:block;
  font:500 14px/1.3 Inter, Arial, sans-serif;
  word-break:break-word;
}

.chip-whatsapp{
  border-color:rgba(169,140,38,.45);
}

.contact-panel{
  background:rgba(255,252,247,.96);
  color:var(--ink);
  border-radius:24px;
  padding:32px 32px 28px;
  box-shadow:0 28px 70px rgba(10,8,6,.28);
  border:1px solid rgba(255,255,255,.55);
}

.contact-panel .form-heading h3{
  font:600 30px/1.15 "Playfair Display", Georgia, serif;
  margin:8px 0 8px;
  color:var(--ink);
}

.contact-panel .muted{
  margin:0 0 22px;
  font:400 14px/1.6 Inter, Arial, sans-serif;
  color:#6b645b;
}

.contact-panel .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.contact-panel label{
  display:block;
  margin-bottom:14px;
  font:600 11px/1.4 Inter, Arial, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5c564d;
}

.contact-panel .required{color:var(--gold)}
.contact-panel .optional{
  text-transform:none;
  letter-spacing:0;
  font-weight:400;
  color:#8a8378;
}

.contact-panel input,
.contact-panel textarea{
  display:block;
  width:100%;
  margin-top:7px;
  padding:13px 14px;
  border:1px solid #e4ddd3;
  border-radius:12px;
  background:#fff;
  font:400 15px/1.4 Inter, Arial, sans-serif;
  color:var(--ink);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.contact-panel textarea{resize:vertical; min-height:120px}

.phone-input-group {
  display: flex;
  gap: 8px;
  margin-top: 7px;
  height: 50px;
}
.phone-input-group select {
  width: 120px;
  border: 1px solid #e4ddd3;
  border-radius: 12px;
  padding: 13px 14px;
  background: #fff;
  font: 400 15px/1.4 Inter, Arial, sans-serif;
  color: var(--ink);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
  height: 50px !important;
  box-sizing: border-box !important;
  cursor: pointer;
  flex-shrink: 0;
}
.phone-input-group select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(169,140,38,.16);
}
.phone-input-group input {
  margin-top: 0 !important;
  height: 50px !important;
  box-sizing: border-box !important;
}

.segmented-control {
  display: flex;
  gap: 10px;
  margin-top: 7px;
  height: 50px;
}
.segment-option {
  flex: 1;
  margin-bottom: 0 !important;
}
.segment-option input[type="radio"] {
  display: none !important;
}
.segment-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  border: 1px solid #e4ddd3;
  border-radius: 12px;
  background: #fff;
  font: 500 14px/1.4 Inter, Arial, sans-serif;
  color: #5c564d;
  cursor: pointer;
  transition: all 0.18s ease;
  text-transform: none;
  letter-spacing: 0;
  height: 50px !important;
  box-sizing: border-box !important;
}
.segment-option input[type="radio"]:checked + .segment-button {
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
  box-shadow: 0 4px 12px rgba(169,140,38,0.2);
}
.segment-button:hover {
  border-color: var(--gold);
}

.custom-multiselect {
  position: relative;
  margin-top: 7px;
  margin-bottom: 14px;
}
.multiselect-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #e4ddd3;
  border-radius: 12px;
  background: #fff;
  font: 400 15px/1.4 Inter, Arial, sans-serif;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
  height: 50px;
}
.multiselect-trigger:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(169,140,38,.16);
}
.multiselect-trigger .chevron {
  font-size: 10px;
  color: #8a8378;
  transition: transform 0.2s ease;
}
.custom-multiselect.open .chevron {
  transform: rotate(180deg);
}
.multiselect-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e4ddd3;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
  z-index: 100;
  max-height: 240px;
  overflow-y: auto;
  padding: 8px 0;
}
.multiselect-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  margin: 0 !important;
  cursor: pointer;
  text-transform: none !important;
  font: 400 14px/1.4 Inter, Arial, sans-serif !important;
  color: var(--ink) !important;
  letter-spacing: 0 !important;
  transition: background 0.15s ease;
}
.multiselect-option:hover {
  background: #fcfbf9;
}
.multiselect-option input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: var(--gold);
  cursor: pointer;
}

.contact-panel input:focus,
.contact-panel textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(169,140,38,.16);
}

.contact-panel .form-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:6px;
}

.contact-panel .button{
  border:0;
  cursor:pointer;
  border-radius:999px;
  padding:14px 22px;
}

.form-note{
  font:400 12px/1.5 Inter, Arial, sans-serif;
  color:#8a8378;
  max-width:180px;
}

.form-result{
  margin:14px 0 0;
  font:500 13px/1.55 Inter, Arial, sans-serif;
  color:#2f6b45;
}

.detailed-contact-section {
  background: #f7f3ec;
  padding: 100px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.detailed-panel {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(169, 140, 38, 0.15);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.04);
}

.contact-map-section{
  background:#f7f3ec;
  padding:88px 0;
}

.contact-map-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:56px;
  align-items:center;
}

.contact-map-copy h2{
  font:700 clamp(36px,4.5vw,52px)/1 "Playfair Display", Georgia, serif;
  letter-spacing:-.03em;
  margin:12px 0 18px;
}

.contact-map-copy p{
  margin:0 0 22px;
  max-width:440px;
  font:300 16px/1.8 Inter, Arial, sans-serif;
  color:#555049;
}

.contact-map-copy address{
  font:500 16px/1.7 Inter, Arial, sans-serif;
  font-style:normal;
  color:var(--ink);
  margin:0 0 24px;
  padding-left:16px;
  border-left:2px solid var(--gold);
}

.contact-map-copy .button{
  border-radius:999px;
}

.contact-map-section .map-frame{
  height:420px;
  border-radius:22px;
  overflow:hidden;
  background:#e6e0d6;
  box-shadow:0 18px 40px rgba(20,16,12,.08);
}

.contact-map-section .map-frame iframe{
  width:100%;
  height:100%;
  border:0;
}

@media (max-width: 980px){
  .contact-stage{padding:108px 0 56px}
  .contact-stage-inner{
    grid-template-columns:1fr;
    gap:36px;
    width:min(100% - 40px, 680px);
  }
  .contact-welcome{max-width:none}
  .contact-chips{max-width:none}
  .contact-map-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .contact-map-section .map-frame{height:280px}
}

@media (max-width: 640px){
  .contact-stage{padding:96px 0 40px}
  .contact-welcome h1{font-size:clamp(40px,12vw,52px)}
  .contact-panel{padding:22px 18px 20px; border-radius:20px}
  .contact-panel .form-row{grid-template-columns:1fr}
  .contact-panel .form-actions .button{width:100%; justify-content:center}
  .form-note{max-width:none}
  .contact-map-section{padding:64px 0}
} 