.page-contact{
  --wine:#8E1838;
  --wine-soft:#F7DCE0;
  --ink:#2A1620;
  --muted:#6E6672;
  background:linear-gradient(170deg,#FDF7F7 0%, #FFFFFF 52%, #FBEFF0 100%);
}
.page-contact .nav{
  background:rgba(255,253,253,.93);
  backdrop-filter:blur(8px);
}
.page-contact :focus-visible{outline-color:var(--wine)}

.contact-page{
  position:relative;
  max-width:1400px;
  margin:0 auto;
  padding:clamp(26px,4vw,58px) var(--pad) clamp(40px,6vw,86px);
}
.contact-bloom{
  position:absolute; right:0; top:0; z-index:0; pointer-events:none;
  width:min(26%,380px); aspect-ratio:400/266;
  background:url("/images/contact/bloom.webp") right top/contain no-repeat;
  opacity:.9;
}

.cc-head{position:relative; z-index:1; text-align:center; max-width:640px; margin:0 auto clamp(24px,3.6vw,46px)}
.cc-head .eyebrow{font-weight:500; color:var(--wine); letter-spacing:.2em; font-size:11.5px}
.cc-head h1{margin:10px 0 12px; font-size:clamp(34px,5vw,64px); text-transform:none; letter-spacing:0}
.cc-head p{margin:0; font-size:clamp(14px,1.5vw,17px); color:var(--muted)}

.cc-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  gap:clamp(24px,3.4vw,56px); align-items:center;
}

.env{position:relative; margin:0}
.env > img{width:100%; height:auto; display:block}

.cc-form h2{margin:0 0 clamp(16px,2.2vw,26px); font-size:clamp(21px,2.4vw,30px); text-transform:none; letter-spacing:0}
.cc-fgrid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,1.8vw,22px)}
.cc-field{margin-bottom:clamp(14px,1.8vw,20px)}
.cc-field label{
  display:block; margin-bottom:8px;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink);
}
.cc-field input,
.cc-field select,
.cc-field textarea{
  width:100%; padding:14px 16px; border:1px solid rgba(120,60,75,.14); border-radius:7px;
  background:#fff; color:var(--ink); font:inherit; font-size:15px; transition:border-color .3s;
}
.cc-field textarea{min-height:104px; resize:vertical}
.cc-field input:focus,
.cc-field select:focus,
.cc-field textarea:focus{outline:none; border-color:var(--wine)}
.cc-field input::placeholder,
.cc-field textarea::placeholder{color:#A79FA9}
.cc-agree{
  display:flex; align-items:center; gap:12px;
  margin:clamp(6px,1vw,12px) 0 clamp(16px,2.2vw,24px);
  font-size:14px; color:var(--text);
}
.cc-agree input{width:17px; height:17px; accent-color:var(--wine); flex:none}
.cc-agree a{color:var(--wine); border-bottom:1px solid rgba(142,24,56,.45)}
.cc-send{
  width:100%; display:flex; align-items:center; justify-content:center; gap:14px;
  padding:17px; border-radius:7px; background:var(--espresso); color:var(--cream);
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; transition:background .3s;
}
.cc-send:hover{background:#231D24}
.cc-reply{margin:clamp(12px,1.6vw,18px) 0 0; font-size:13.5px; color:var(--muted)}
.cc-notice{
  margin:clamp(12px,1.6vw,18px) 0 0; padding:12px 16px; border-radius:7px;
  background:var(--wine-soft); color:#6E1129; font-size:13.5px;
}
.cc-notice[hidden]{display:none}
.cc-hp{
  position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden;
}

@media (max-width:1000px){
  .cc-grid{grid-template-columns:1fr}
  .contact-bloom{width:min(44%,260px); opacity:.7}
}
@media (max-width:760px){
  .cc-fgrid{grid-template-columns:1fr}
}
