@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Open+Sans:wght@300;400;500;600;700&display=swap');

.clg-contact-section{
  --navy:#0a1628;
  --navy-mid:#112240;
  --navy-light:#1a3560;
  --gold:#c9a84c;
  --gold-light:#e8c97a;
  --cream:#faf6ee;
  color:var(--cream);
  font-family:'Open Sans',sans-serif;
  font-weight:300;
}

.clg-contact-section *,
.clg-contact-section *::before,
.clg-contact-section *::after{box-sizing:border-box}

.clg-contact-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);
  gap:2rem;
  align-items:start;
}

.clg-contact-form-col,
.clg-contact-section .contact-sidebar{
  min-width:0;
}

.clg-contact-section .gold-rule{
  display:block;
  width:60px;
  height:1px;
  background:var(--gold);
  margin:0 0 1.2rem;
}

.clg-contact-section .lbl{
  display:block;
  font-size:.62rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1rem;
}

.clg-contact-section .h2{
  margin:0 0 2rem;
  font-family: 'Montserrat', sans-serif;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:.98;
  letter-spacing:.01em;
  color:var(--cream);
}

.clg-contact-section .h2 em{
  font-style:italic;
  color:var(--gold);
}

.clg-contact-form-wrap{
  color:var(--cream);
  font-family:'Open Sans',sans-serif;
  font-weight:300;
}

.clg-contact-form-wrap .contact-form{display:flex;flex-direction:column;gap:0;margin:0}
.clg-contact-form-wrap .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(201,168,76,.12);margin-bottom:1px}
.clg-contact-form-wrap .form-row.full{grid-template-columns:1fr}
.clg-contact-form-wrap .form-group{
  background:var(--navy-mid);
  padding:1.5rem 1.8rem 1rem;
  position:relative;
  transition:background .3s;
}
.clg-contact-form-wrap .form-group:focus-within{background:rgba(26,53,96,.6)}
.clg-contact-form-wrap .form-label{
  font-size:.58rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--gold);
  display:block;
  margin-bottom:.5rem;
}
.clg-contact-form-wrap .form-input,
.clg-contact-form-wrap .form-select,
.clg-contact-form-wrap .form-textarea{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  box-shadow:none;
  color:var(--cream);
  font-family:'Open Sans',sans-serif;
  font-weight:300;
  font-size:.85rem;
  letter-spacing:.02em;
  line-height:1.6;
  padding:.2rem 0 .5rem;
  border-bottom:1px solid rgba(201,168,76,.2);
  transition:border-color .3s;
  border-radius:0;
}
.clg-contact-form-wrap .form-input:focus,
.clg-contact-form-wrap .form-select:focus,
.clg-contact-form-wrap .form-textarea:focus{border-bottom-color:var(--gold)}
.clg-contact-form-wrap .form-input::placeholder,
.clg-contact-form-wrap .form-textarea::placeholder{color:rgba(250,246,238,.42)}
.clg-contact-form-wrap .form-textarea{resize:vertical;min-height:120px}
.clg-contact-form-wrap .form-select{cursor:pointer}
.clg-contact-form-wrap .form-select option{background:var(--navy-mid);color:var(--cream)}
.clg-contact-form-wrap .services-check-group{background:var(--navy-mid);padding:1.5rem 1.8rem;margin-bottom:1px}
.clg-contact-form-wrap .services-check-label{
  font-size:.58rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--gold);
  display:block;
  margin-bottom:1rem;
}
.clg-contact-form-wrap .check-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.clg-contact-form-wrap .check-opt{display:flex;align-items:center;gap:.75rem;cursor:pointer}
.clg-contact-form-wrap .check-opt input[type=checkbox]{
  appearance:none;
  -webkit-appearance:none;
  width:16px;height:16px;
  border:1px solid rgba(201,168,76,.35);
  background:transparent;
  flex-shrink:0;
  position:relative;
  cursor:pointer;
  transition:border-color .3s,background .3s;
  border-radius:0;
  margin:0;
}
.clg-contact-form-wrap .check-opt input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}
.clg-contact-form-wrap .check-opt input[type=checkbox]:checked::after{
  content:'✓';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-52%);
  color:var(--navy);
  font-size:.65rem;
  font-weight:700;
}
.clg-contact-form-wrap .check-opt span{font-size:.75rem;color:rgba(250,246,238,.65);letter-spacing:.04em}
.clg-contact-form-wrap .form-submit{margin-top:1px}
.clg-contact-form-wrap .btn-primary{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--navy);
  padding:1rem 2.5rem;
  font-size:.7rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:700;
  transition:transform .3s, box-shadow .3s, opacity .3s;
  box-shadow:0 4px 30px rgba(201,168,76,.3);
  display:block;
  border:none;
  cursor:pointer;
  font-family:'Open Sans',sans-serif;
  width:100%;
  border-radius:0;
}
.clg-contact-form-wrap .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 40px rgba(201,168,76,.45);
}
.clg-contact-form-wrap .btn-primary:disabled{
  cursor:default;
  opacity:1;
  transform:none;
  background:linear-gradient(135deg,#4a7c59,#6ba378);
  color:#fff;
  box-shadow:none;
}
.clg-contact-form-wrap .form-note{
  font-size:.65rem;
  color:rgba(250,246,238,.35);
  letter-spacing:.05em;
  text-align:center;
  margin-top:1rem;
}
.clg-contact-alert{
  margin:0 0 1rem;
  padding:1rem 1.25rem;
  border:1px solid rgba(201,168,76,.2);
  font-family:'Open Sans',sans-serif;
}
.clg-contact-alert p{margin:0 0 .35rem}
.clg-contact-alert p:last-child{margin-bottom:0}
.clg-contact-alert--error{
  background:rgba(90,20,20,.28);
  color:#ffe8e8;
  border-color:rgba(255,120,120,.25);
}
.clg-contact-alert--success{
  background:rgba(74,124,89,.25);
  color:#edf8f0;
  border-color:rgba(107,163,120,.35);
}
.clg-contact-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.clg-contact-section .contact-sidebar{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.clg-contact-section .sidebar-block{
  background:linear-gradient(180deg,rgba(17,34,64,.88),rgba(10,22,40,.94));
  border:1px solid rgba(201,168,76,.14);
  padding:1.4rem 1.35rem;
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}

.clg-contact-section .sb-title{
  margin:0 0 .8rem;
  font-family: 'Montserrat', sans-serif;
  font-size:1.55rem;
  line-height:1.05;
  color:var(--cream);
}

.clg-contact-section .sb-body{
  margin:0;
  font-size:.82rem;
  line-height:1.8;
  color:rgba(250,246,238,.72);
}

.clg-contact-section .sb-body--small{
  margin-top:1rem;
  font-size:.72rem;
}

.clg-contact-section .sb-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:1rem;
  color:var(--gold);
  text-decoration:none;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}

.clg-contact-section .sb-link:hover{color:var(--gold-light)}

.clg-contact-section .hours-grid{display:flex;flex-direction:column;gap:.7rem}
.clg-contact-section .hours-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.7rem;
  border-bottom:1px solid rgba(201,168,76,.08);
}
.clg-contact-section .hours-row:last-child{padding-bottom:0;border-bottom:none}
.clg-contact-section .hours-day{
  font-size:.74rem;
  color:rgba(250,246,238,.72);
}
.clg-contact-section .hours-time{
  font-size:.72rem;
  text-align:right;
  letter-spacing:.08em;
  color:rgba(250,246,238,.75);
}
.clg-contact-section .hours-time.available{color:var(--gold)}
.clg-contact-section .hours-time--muted{color:rgba(250,246,238,.35)}

.clg-contact-section .quick-links{display:flex;flex-direction:column;gap:.7rem}
.clg-contact-section .quick-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.9rem 1rem;
  text-decoration:none;
  color:rgba(250,246,238,.78);
  background:rgba(255,255,255,.02);
  border:1px solid rgba(201,168,76,.1);
  transition:transform .25s, border-color .25s, background .25s, color .25s;
  font-size:.78rem;
  line-height:1.5;
}
.clg-contact-section .quick-link:hover{
  transform:translateY(-2px);
  border-color:rgba(201,168,76,.35);
  background:rgba(201,168,76,.05);
  color:var(--cream);
}
.clg-contact-section .quick-link-arrow{color:var(--gold);font-size:1rem;flex-shrink:0}

@media (max-width: 992px){
  .clg-contact-main-grid{grid-template-columns:1fr;gap:1.5rem}
}

@media (max-width: 768px){
  .clg-contact-form-wrap .form-row{grid-template-columns:1fr}
  .clg-contact-form-wrap .check-options{grid-template-columns:1fr}
  .clg-contact-form-wrap .form-group,
  .clg-contact-form-wrap .services-check-group{padding:1.2rem 1.2rem .9rem}
  .clg-contact-section .sidebar-block{padding:1.2rem 1.1rem}
  .clg-contact-section .hours-row{flex-direction:column;gap:.25rem}
  .clg-contact-section .hours-time{text-align:left}
}
