:root {
  --navy:#0a1628; --navy-mid:#112240; --navy-light:#1a3560;
  --gold:#c9a84c; --gold-light:#e8c97a; --cream:#faf6ee;
}

.clg-estimate-wrap *,
.clg-estimate-wrap *::before,
.clg-estimate-wrap *::after { box-sizing:border-box; }

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

.clg-estimate-inner {
  max-width:1200px;
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:1.55fr 1fr;
  gap:5rem;
  align-items:start;
}

.clg-estimate-wrap .gold-rule { display:block; width:60px; height:1px; background:var(--gold); margin-bottom:1.2rem; }
.clg-estimate-wrap .lbl { font-size:.6rem; letter-spacing:.35em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; display:block; }
.clg-estimate-wrap .reveal { opacity:1; transform:none; }
.clg-estimate-wrap .step-progress { display:flex; align-items:center; gap:0; margin-bottom:3rem; }
.clg-estimate-wrap .sp-step { display:flex; align-items:center; gap:.75rem; flex:1; }
.clg-estimate-wrap .sp-step:last-child { flex:0; }
.clg-estimate-wrap .sp-circle {
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(201,168,76,.3);
  display:flex; align-items:center; justify-content:center;
  font-family: 'Montserrat', sans-serif; font-size:1rem; color:rgba(250,246,238,.35);
  flex-shrink:0; background:var(--navy-mid);
  transition:border-color .4s, background .4s, color .4s;
  position:relative; z-index:1;
}
.clg-estimate-wrap .sp-step.active .sp-circle { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.1); }
.clg-estimate-wrap .sp-step.done .sp-circle { border-color:var(--gold); color:var(--navy); background:var(--gold); font-size:.8rem; }
.clg-estimate-wrap .sp-label { font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(250,246,238,.35); transition:color .4s; white-space:nowrap; }
.clg-estimate-wrap .sp-step.active .sp-label { color:var(--gold); }
.clg-estimate-wrap .sp-step.done .sp-label { color:rgba(250,246,238,.6); }
.clg-estimate-wrap .sp-line { flex:1; height:1px; background:rgba(201,168,76,.15); margin:0 .5rem; transition:background .4s; }
.clg-estimate-wrap .sp-line.done { background:rgba(201,168,76,.5); }
.clg-estimate-wrap .form-panel { display:none; }
.clg-estimate-wrap .form-panel.active { display:block; animation:panel-in .5s ease; }
@keyframes panel-in { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

.clg-estimate-wrap .field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(201,168,76,.12); margin-bottom:1px; }
.clg-estimate-wrap .field-grid.full { grid-template-columns:1fr; }
.clg-estimate-wrap .field-group { background:var(--navy-mid); padding:1.5rem 1.8rem 1.1rem; position:relative; transition:background .3s; }
.clg-estimate-wrap .field-group:focus-within { background:rgba(26,53,96,.7); }
.clg-estimate-wrap .field-label { font-size:.58rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:.5rem; }
.clg-estimate-wrap .field-input,
.clg-estimate-wrap .field-select,
.clg-estimate-wrap .field-textarea {
  width:100%; background:transparent; border:none; outline:none;
  color:var(--cream); font-family:'Open Sans',sans-serif; font-weight:400;
  font-size:.85rem; letter-spacing:.02em; line-height:1.6;
  padding-bottom:.4rem; border-bottom:1px solid rgba(201,168,76,.2); transition:border-color .3s;
}
.clg-estimate-wrap .field-input:focus,
.clg-estimate-wrap .field-select:focus,
.clg-estimate-wrap .field-textarea:focus { border-bottom-color:var(--gold); }
.clg-estimate-wrap .field-input::placeholder,
.clg-estimate-wrap .field-textarea::placeholder { color:rgba(250,246,238,.25); }
.clg-estimate-wrap .field-select { cursor:pointer; }
.clg-estimate-wrap .field-select option { background:var(--navy-mid); color:var(--cream); }
.clg-estimate-wrap .field-textarea { resize:none; height:100px; }

.clg-estimate-wrap .service-tiles { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:rgba(201,168,76,.12); margin-bottom:1px; }
.clg-estimate-wrap .svc-tile,
.clg-estimate-wrap .prop-tile,
.clg-estimate-wrap .tl-tile,
.clg-estimate-wrap .bgt-tile {
  background:var(--navy-mid);
  border:2px solid transparent;
  transition:background .3s, border-color .3s;
}
.clg-estimate-wrap .svc-tile { padding:2rem 1.5rem; text-align:center; cursor:pointer; position:relative; user-select:none; }
.clg-estimate-wrap .svc-tile:hover,
.clg-estimate-wrap .prop-tile:hover,
.clg-estimate-wrap .tl-tile:hover,
.clg-estimate-wrap .bgt-tile:hover { background:rgba(26,53,96,.7); }
.clg-estimate-wrap .svc-tile.selected,
.clg-estimate-wrap .prop-tile.selected,
.clg-estimate-wrap .tl-tile.selected,
.clg-estimate-wrap .bgt-tile.selected { background:rgba(201,168,76,.1); border-color:var(--gold); }
.clg-estimate-wrap .svc-tile.selected::after { content:'✓'; position:absolute; top:.6rem; right:.8rem; font-size:.7rem; color:var(--gold); }
.clg-estimate-wrap .svc-icon { font-size:1.8rem; display:block; margin-bottom:.8rem; }
.clg-estimate-wrap .svc-name,
.clg-estimate-wrap .step-title,
.clg-estimate-wrap .tl-tile-head,
.clg-estimate-wrap .bgt-range,
.clg-estimate-wrap .sc-title,
.clg-estimate-wrap .cc-title,
.clg-estimate-wrap .st-text,
.clg-estimate-wrap .success-title,
.clg-estimate-wrap .clg-summary-title { font-family: 'Montserrat', sans-serif; }
.clg-estimate-wrap .svc-name { font-size:1.1rem; color:var(--cream); margin-bottom:.4rem; }
.clg-estimate-wrap .svc-sub { font-size:.68rem; color:rgba(250,246,238,.4); line-height:1.6; }

.clg-estimate-wrap .prop-tiles { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(201,168,76,.12); margin-bottom:1px; }
.clg-estimate-wrap .prop-tile { padding:1.5rem 1.8rem; display:flex; align-items:center; gap:1rem; cursor:pointer; }
.clg-estimate-wrap .prop-tile.selected .ptile-check { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.clg-estimate-wrap .ptile-check { width:20px; height:20px; border:1px solid rgba(201,168,76,.35); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.6rem; color:transparent; transition:background .3s, color .3s; }
.clg-estimate-wrap .ptile-check::after { content:'✓'; }
.clg-estimate-wrap .ptile-text { font-size:.78rem; color:rgba(250,246,238,.7); letter-spacing:.04em; }

.clg-estimate-wrap .timeline-tiles { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(201,168,76,.12); margin-bottom:1px; }
.clg-estimate-wrap .tl-tile { padding:1.5rem 1.8rem; cursor:pointer; }
.clg-estimate-wrap .tl-tile-head { font-size:1.1rem; color:var(--cream); margin-bottom:.2rem; }
.clg-estimate-wrap .tl-tile-sub { font-size:.7rem; color:rgba(250,246,238,.4); }

.clg-estimate-wrap .budget-tiles { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(201,168,76,.12); margin-bottom:1px; }
.clg-estimate-wrap .bgt-tile { padding:1.5rem 1.2rem; text-align:center; cursor:pointer; }
.clg-estimate-wrap .bgt-range { font-size:1.1rem; color:var(--cream); margin-bottom:.2rem; display:block; }
.clg-estimate-wrap .bgt-label { font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(250,246,238,.4); }

.clg-estimate-wrap .step-nav { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; gap:1rem; }
.clg-estimate-wrap .btn-next,
.clg-estimate-wrap .btn-back,
.clg-estimate-wrap .clg-edit-btn {
  cursor:pointer;
  font-family:'Open Sans',sans-serif;
}
.clg-estimate-wrap .btn-next {
  background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:var(--navy); padding:.9rem 2.5rem;
  font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; font-weight:700; border:none;
  transition:transform .3s,box-shadow .3s; box-shadow:0 4px 30px rgba(201,168,76,.3); display:flex; align-items:center; gap:.6rem;
}
.clg-estimate-wrap .btn-next:hover { transform:translateY(-2px); box-shadow:0 8px 40px rgba(201,168,76,.45); }
.clg-estimate-wrap .btn-next::after { content:'→'; }
.clg-estimate-wrap .btn-next[disabled] { opacity:.7; cursor:not-allowed; transform:none; }
.clg-estimate-wrap .btn-back {
  background:transparent; border:1px solid rgba(201,168,76,.25); color:rgba(250,246,238,.5); padding:.9rem 1.8rem;
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; transition:border-color .3s,color .3s; display:flex; align-items:center; gap:.6rem;
}
.clg-estimate-wrap .btn-back::before { content:'←'; }
.clg-estimate-wrap .btn-back:hover { border-color:var(--gold); color:var(--cream); }
.clg-estimate-wrap .step-counter { font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(250,246,238,.3); }
.clg-estimate-wrap .step-label-block { margin-bottom:2rem; }
.clg-estimate-wrap .step-num { font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:.4rem; display:block; }
.clg-estimate-wrap .step-title { font-size:1.8rem; color:var(--cream); margin-bottom:.4rem; font-weight:300; }
.clg-estimate-wrap .step-title em { font-style:italic; color:var(--gold-light); }
.clg-estimate-wrap .step-desc { font-size:.78rem; color:rgba(250,246,238,.5); line-height:1.7; }
.clg-estimate-wrap .clg-section-cap { font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);padding:1.2rem 1.8rem .8rem;background:var(--navy-mid);border-bottom:1px solid rgba(201,168,76,.1); }

.clg-estimate-wrap .clg-summary-card { border:1px solid rgba(201,168,76,.2); background:var(--navy-mid); margin-bottom:1px; }
.clg-estimate-wrap .clg-summary-head { padding:1.5rem 2rem; border-bottom:1px solid rgba(201,168,76,.1); display:flex; justify-content:space-between; align-items:center; }
.clg-estimate-wrap .clg-summary-title { font-size:1.2rem; color:var(--cream); }
.clg-estimate-wrap .clg-edit-btn { background:none; border:none; color:rgba(201,168,76,.6); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; }
.clg-estimate-wrap .clg-summary-body { padding:1.5rem 2rem; display:flex; flex-direction:column; gap:.8rem; }
.clg-estimate-wrap .clg-summary-row { display:flex; justify-content:space-between; gap:1.5rem; padding:.4rem 0; border-bottom:1px solid rgba(201,168,76,.06); }
.clg-estimate-wrap .clg-summary-row-label { font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(201,168,76,.55); flex-shrink:0; }
.clg-estimate-wrap .clg-summary-row-value { font-size:.78rem; color:rgba(250,246,238,.75); text-align:right; }
.clg-estimate-wrap .clg-consent-note { background:rgba(201,168,76,.04); border:1px solid rgba(201,168,76,.1); padding:1.2rem 1.8rem; margin-bottom:1px; font-size:.72rem; color:rgba(250,246,238,.45); line-height:1.7; }
.clg-estimate-wrap .clg-error { display:none; margin:1rem 0 0; padding:1rem 1.25rem; border:1px solid rgba(255,120,120,.4); color:#ffd7d7; background:rgba(128,0,0,.15); font-size:.8rem; }
.clg-estimate-wrap .clg-error.active { display:block; }
.clg-estimate-wrap .clg-hp { position:absolute !important; left:-9999px !important; }

.clg-estimate-wrap .success-screen { display:none; text-align:center; padding:4rem 2rem; }
.clg-estimate-wrap .success-screen.active { display:block; animation:panel-in .7s ease; }
.clg-estimate-wrap .success-icon { font-size:4rem; display:block; margin-bottom:1.5rem; }
.clg-estimate-wrap .success-title { font-size:2.8rem; font-weight:300; line-height:1.15; margin-bottom:1rem; }
.clg-estimate-wrap .success-title em { font-style:italic; color:var(--gold-light); }
.clg-estimate-wrap .success-body { font-size:.82rem; line-height:1.9; color:rgba(250,246,238,.6); max-width:460px; margin:0 auto 2rem; }
.clg-estimate-wrap .success-steps { display:flex; flex-direction:column; gap:1rem; max-width:440px; margin:0 auto 2.5rem; text-align:left; }
.clg-estimate-wrap .ss-item { display:flex; gap:1.2rem; align-items:flex-start; }
.clg-estimate-wrap .ss-num { width:28px; height:28px; border:1px solid rgba(201,168,76,.4); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); flex-shrink:0; font-family: 'Montserrat', sans-serif; font-size:.9rem; }
.clg-estimate-wrap .ss-text { font-size:.78rem; color:rgba(250,246,238,.6); line-height:1.7; padding-top:.1rem; }

.clg-estimate-wrap .sidebar { display:flex; flex-direction:column; gap:2rem; position:sticky; top:2rem; }
.clg-estimate-wrap .sidebar-card { border:1px solid rgba(201,168,76,.15); transition:border-color .3s; }
.clg-estimate-wrap .sidebar-card:hover { border-color:rgba(201,168,76,.3); }
.clg-estimate-wrap .sc-top { height:3px; background:linear-gradient(to right,var(--gold),var(--gold-light)); }
.clg-estimate-wrap .sc-body { padding:2rem; }
.clg-estimate-wrap .sc-title { font-size:1.25rem; color:var(--cream); margin-bottom:.8rem; }
.clg-estimate-wrap .sc-steps { display:flex; flex-direction:column; gap:0; }
.clg-estimate-wrap .scs-item { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(201,168,76,.07); }
.clg-estimate-wrap .scs-item:last-child { border-bottom:none; padding-bottom:0; }
.clg-estimate-wrap .scs-dot { width:28px; height:28px; border:1px solid rgba(201,168,76,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.75rem; flex-shrink:0; margin-top:.05rem; }
.clg-estimate-wrap .scs-content h5 { font-size:1rem; color:rgba(250,246,238,.8); margin-bottom:.2rem; font-weight:600; }
.clg-estimate-wrap .scs-content p { font-size:.85rem; line-height:1.65; color:rgba(250,246,238,.42); }
.clg-estimate-wrap .contact-card { background:linear-gradient(135deg,var(--navy-mid),rgba(26,53,96,.4)); padding:2rem; }
.clg-estimate-wrap .cc-title { font-size:1.1rem; color:var(--cream); margin-bottom:1.2rem; }
.clg-estimate-wrap .cc-item { display:flex; align-items:center; gap:1rem; padding:.9rem 0; border-bottom:1px solid rgba(201,168,76,.07); }
.clg-estimate-wrap .cc-item:last-child { border-bottom:none; padding-bottom:0; }
.clg-estimate-wrap .cc-icon { font-size:1.1rem; flex-shrink:0; }
.clg-estimate-wrap .cc-link { text-decoration:none; font-size:.8rem; color:rgba(250,246,238,.65); transition:color .3s; display:flex; flex-direction:column; }
.clg-estimate-wrap .cc-link:hover { color:var(--gold); }
.clg-estimate-wrap .cc-link-lbl { font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(201,168,76,.5); margin-bottom:.15rem; }
.clg-estimate-wrap .sidebar-testimonial { padding:2rem; border:1px solid rgba(201,168,76,.12); position:relative; overflow:hidden; }
.clg-estimate-wrap .sidebar-testimonial::before { content:'"'; position:absolute; top:-1rem; left:1.2rem; font-family: 'Montserrat', sans-serif; font-size:6rem; color:var(--gold); opacity:.1; line-height:1; pointer-events:none; }
.clg-estimate-wrap .st-text { font-size:1.05rem; font-style:italic; line-height:1.65; color:rgba(250,246,238,.75); margin-bottom:1rem; position:relative; }
.clg-estimate-wrap .st-attr { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.clg-estimate-wrap .st-loc { font-size:.62rem; color:rgba(250,246,238,.3); margin-top:.2rem; letter-spacing:.06em; }

@media (max-width: 1100px) {
  .clg-estimate-inner { grid-template-columns:1fr; gap:3rem; }
  .clg-estimate-wrap .sidebar { position:static; }
}

@media (max-width: 768px) {
  .clg-estimate-wrap .step-progress { gap:.3rem; }
  .clg-estimate-wrap .sp-label { display:none; }
  .clg-estimate-wrap .service-tiles,
  .clg-estimate-wrap .field-grid,
  .clg-estimate-wrap .prop-tiles,
  .clg-estimate-wrap .timeline-tiles,
  .clg-estimate-wrap .budget-tiles { grid-template-columns:1fr; }
  .clg-estimate-wrap .step-nav { flex-wrap:wrap; }
  .clg-estimate-wrap .step-counter { order:3; width:100%; text-align:center; }
  .clg-estimate-wrap .clg-summary-row { flex-direction:column; gap:.35rem; }
  .clg-estimate-wrap .clg-summary-row-value { text-align:left; }
}
