/* ===== 02-fv6VnQvZ_n.html ===== */
body .elementor .psi-ghl-block.psi-ghl-block-fv6VnQvZ_n{padding:0px 5px 0px 5px;margin:30px 0px 10px 0px;font-family:Inter, sans-serif;font-size:16px;line-height:normal;font-weight:400;color:rgb(0, 0, 0)}
@media (max-width: 767px){body .elementor .psi-ghl-block.psi-ghl-block-fv6VnQvZ_n{padding:0px 0px 0px 0px;margin:30px 0px 10px 0px;font-family:Inter, sans-serif;font-size:16px;line-height:normal;font-weight:400;color:rgb(0, 0, 0)}}
:root:root:root .cq-section{
      --navy:#0B1F3E;
      --navy-2:#132B52;
      --sky:#1CA7EC;
      --sky-pale:#E7F6FE;
      --text-body:#4A5C74;
      --line:#E4E9F0;
      font-family:'Inter','Segoe UI',Arial,sans-serif;
      max-width:900px;
      margin:0 auto;
      padding:40px 16px 60px;
      box-sizing:border-box;
      position:relative;
    }
:root:root:root .cq-section *{ box-sizing:border-box; }
:root:root:root .cq-card{
      background:#fff;
      border-radius:20px;
      padding:28px 28px 32px;
      box-shadow:0 20px 50px rgba(11,31,62,0.18);
    }
:root:root:root .cq-badges{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:20px;
      margin-bottom:22px;
      padding-bottom:18px;
      border-bottom:1px solid var(--line);
    }
:root:root:root .cq-badge{
      display:flex;
      align-items:center;
      gap:6px;
      font-size:0.72rem;
      font-weight:700;
      color:var(--navy);
      white-space:nowrap;
    }
:root:root:root .cq-badge svg{ flex:none; }
:root:root:root .cq-logo-wrap{ display:flex; justify-content:center; margin-bottom:16px; }
:root:root:root .cq-logo{ height:64px; width:auto; }
:root:root:root .cq-logo-fallback{
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      font-size:1.3rem;
      color:var(--navy);
      letter-spacing:0.5px;
    }
:root:root:root .cq-logo-fallback .cq-shield{
      width:44px; height:50px; flex:none;
    }
:root:root:root .cq-logo-fallback :where(small,[data-psi-tag="small"]):not(psi-x){
      display:block;
      font-size:0.55rem;
      font-weight:700;
      color:var(--sky);
      letter-spacing:1.5px;
    }
:root:root:root .cq-title{
      text-align:center;
      font-size:1.9rem;
      font-weight:900;
      color:var(--navy);
      margin:0 0 8px;
      letter-spacing:-0.5px;
    }
:root:root:root .cq-title .cq-accent{ color:var(--sky); }
:root:root:root .cq-subtitle{
      text-align:center;
      color:var(--text-body);
      font-size:0.95rem;
      margin:0 0 26px;
    }
:root:root:root .cq-steps{
      display:flex;
      align-items:flex-start;
      justify-content:center;
      gap:0;
      margin-bottom:28px;
    }
:root:root:root .cq-step{
      display:flex;
      flex-direction:column;
      align-items:center;
      width:150px;
      text-align:center;
    }
:root:root:root .cq-step-num{
      width:30px; height:30px;
      border-radius:50%;
      background:var(--sky);
      color:#fff;
      font-weight:800;
      font-size:0.85rem;
      display:flex; align-items:center; justify-content:center;
      margin-bottom:8px;
    }
:root:root:root .cq-step-icon{ margin-bottom:6px; }
:root:root:root .cq-step-title{ font-weight:800; font-size:0.78rem; color:var(--navy); }
:root:root:root .cq-step-desc{ font-size:0.7rem; color:var(--text-body); margin-top:2px; line-height:1.3; }
:root:root:root .cq-step-line{
      flex:1;
      height:2px;
      background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 12px);
      margin-top:15px;
      max-width:60px;
    }
:root:root:root .cq-sqft-box{
      border:1px solid var(--line);
      border-radius:12px;
      padding:16px 18px;
      margin-bottom:20px;
    }
:root:root:root .cq-sqft-label{
      display:flex;
      align-items:center;
      gap:8px;
      font-weight:800;
      font-size:0.85rem;
      color:var(--navy);
      margin-bottom:10px;
    }
:root:root:root .cq-sqft-row{
      display:flex;
      border:1px solid var(--line);
      border-radius:10px;
      overflow:hidden;
    }
:root:root:root .cq-sqft-row select, :root:root:root .cq-sqft-row input{
      flex:1;
      border:none;
      outline:none;
      padding:12px 14px;
      font-size:0.95rem;
      color:var(--navy);
      font-weight:600;
      background:#fff;
      cursor:pointer;
      appearance:none;
      -webkit-appearance:none;
    }
:root:root:root .cq-sqft-row input[type="number"]{ cursor:text; }
:root:root:root .cq-services-label{
      display:flex;
      align-items:center;
      gap:8px;
      font-weight:800;
      font-size:0.85rem;
      color:var(--navy);
      margin:0 0 10px;
    }
:root:root:root .cq-services-label::before{
      content:"";
      width:4px; height:16px;
      background:var(--sky);
      border-radius:2px;
    }
:root:root:root .cq-service{
      border:1px solid var(--line);
      border-radius:10px;
      margin-bottom:8px;
      overflow:hidden;
    }
:root:root:root .cq-service-row{
      display:flex;
      align-items:center;
      gap:12px;
      padding:12px 14px;
      cursor:pointer;
    }
:root:root:root .cq-service-row input[type="checkbox"]{
      width:18px; height:18px;
      accent-color:var(--sky);
      flex:none;
      cursor:pointer;
    }
:root:root:root .cq-service-icon{ flex:none; color:var(--navy); }
:root:root:root .cq-service-name{
      flex:1;
      font-weight:700;
      font-size:0.9rem;
      color:var(--navy);
    }
:root:root:root .cq-service-name :where(em,[data-psi-tag="em"]):not(psi-x){ font-style:normal; font-weight:500; color:var(--text-body); font-size:0.78rem; display:block; }
:root:root:root .cq-chevron{
      flex:none;
      transition:transform .2s ease;
      color:var(--text-body);
    }
:root:root:root .cq-service.open .cq-chevron{ transform:rotate(180deg); }
:root:root:root .cq-service-panel{
      display:none;
      padding:4px 14px 16px 44px;
      background:var(--sky-pale);
    }
:root:root:root .cq-service.open .cq-service-panel{ display:block; }
:root:root:root .cq-field-label{
      font-size:0.78rem;
      font-weight:700;
      color:var(--navy);
      margin:8px 0 6px;
      display:block;
    }
:root:root:root .cq-select, :root:root:root .cq-num{
      width:100%;
      max-width:280px;
      padding:9px 12px;
      border:1px solid var(--line);
      border-radius:8px;
      font-size:0.85rem;
      color:var(--navy);
      font-weight:600;
      background:#fff;
    }
:root:root:root .cq-dims-row{ display:flex; gap:10px; }
:root:root:root .cq-dims-row .cq-num{ max-width:130px; }
:root:root:root .cq-price-preview{
      margin-top:10px;
      font-size:0.8rem;
      font-weight:700;
      color:var(--sky);
    }
:root:root:root .cq-hint{ font-size:0.76rem; color:var(--text-body); margin:0; }
:root:root:root .cq-bottom-grid{
      display:grid;
      grid-template-columns:1fr 1.15fr;
      gap:16px;
    }
:root:root:root .cq-summary{
      background:var(--navy);
      color:#fff;
      border-radius:14px;
      padding:20px 20px 22px;
    }
:root:root:root .cq-summary-title{
      font-weight:900;
      font-size:0.95rem;
      letter-spacing:0.5px;
      margin:0 0 12px;
    }
:root:root:root .cq-subtotal-row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      font-size:0.85rem;
      color:rgba(255,255,255,0.85);
      padding-bottom:12px;
      border-bottom:1px solid rgba(255,255,255,0.14);
      margin-bottom:14px;
    }
:root:root:root .cq-subtotal-row :where(strong,[data-psi-tag="strong"]):not(psi-x){ color:#fff; font-size:0.95rem; }
:root:root:root .cq-summary-label{
      color:var(--sky);
      font-weight:800;
      font-size:0.78rem;
      letter-spacing:0.5px;
      margin:0 0 8px;
    }
:root:root:root .cq-empty-note{
      display:flex;
      gap:8px;
      font-size:0.78rem;
      color:rgba(255,255,255,0.75);
      line-height:1.5;
      margin-bottom:16px;
    }
:root:root:root .cq-empty-note svg{ flex:none; margin-top:2px; }
:root:root:root .cq-selected-item{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:8px;
      font-size:0.82rem;
      padding:8px 0;
      border-bottom:1px solid rgba(255,255,255,0.1);
    }
:root:root:root .cq-selected-item:last-child{ border-bottom:none; }
:root:root:root .cq-selected-item .cq-si-name{
      flex:1;
      min-width:0;
      font-weight:700;
    }
:root:root:root .cq-selected-item .cq-si-name :where(span,[data-psi-tag="span"]):not(psi-x){ display:block; font-weight:500; font-size:0.7rem; color:rgba(255,255,255,0.6); }
:root:root:root .cq-selected-item .cq-si-price{
      flex:0 0 90px;
      font-weight:800;
      color:var(--sky);
      white-space:nowrap;
      min-width:64px;
      text-align:right;
    }
:root:root:root .cq-si-remove{
      flex:0 0 16px;
      margin-left:8px;
      background:none; border:none; color:rgba(255,255,255,0.5);
      cursor:pointer; font-size:0.9rem; line-height:1; padding:0 2px;
    }
:root:root:root .cq-si-remove:hover{ color:#fff; }
:root:root:root .cq-addons{ margin-top:16px; }
:root:root:root .cq-addon-item{
      display:flex;
      align-items:center;
      gap:10px;
      background:rgba(255,255,255,0.06);
      border-radius:10px;
      padding:10px 12px;
      margin-bottom:8px;
    }
:root:root:root .cq-addon-icon{ flex:none; color:var(--sky); }
:root:root:root .cq-addon-info{ flex:1; }
:root:root:root .cq-addon-info .cq-addon-name{ font-weight:700; font-size:0.83rem; }
:root:root:root .cq-addon-info .cq-addon-save{ font-size:0.72rem; color:var(--sky); font-weight:700; }
:root:root:root .cq-addon-add{
      background:#fff;
      color:var(--navy);
      border:none;
      border-radius:7px;
      padding:6px 12px;
      font-weight:800;
      font-size:0.72rem;
      cursor:pointer;
    }
:root:root:root .cq-addon-add:hover{ background:var(--sky-pale); }
:root:root:root .cq-price-block{ text-align:center; margin:22px 0 18px; }
:root:root:root .cq-price-label{ font-weight:800; font-size:0.8rem; letter-spacing:1px; color:rgba(255,255,255,0.8); margin-bottom:4px; }
:root:root:root .cq-price-value{ font-weight:900; font-size:2.2rem; color:var(--sky); }
:root:root:root .cq-price-tax-note{ font-size:0.7rem; font-weight:600; color:rgba(255,255,255,0.55); margin-top:2px; }
:root:root:root .cq-min-charge{
      border:1px solid rgba(28,167,236,0.4);
      background:rgba(28,167,236,0.08);
      border-radius:10px;
      padding:12px 14px;
      margin-bottom:12px;
      display:none;
    }
:root:root:root .cq-min-charge.show{ display:block; }
:root:root:root .cq-min-charge-title{ color:var(--sky); font-weight:800; font-size:0.8rem; margin:0 0 4px; }
:root:root:root .cq-min-charge-desc{ font-size:0.75rem; color:rgba(255,255,255,0.8); margin:0; line-height:1.5; }
:root:root:root .cq-disclaimer{
      display:flex;
      gap:8px;
      font-size:0.7rem;
      color:rgba(255,255,255,0.6);
      line-height:1.55;
      padding-top:12px;
      border-top:1px solid rgba(255,255,255,0.1);
    }
:root:root:root .cq-disclaimer svg{ flex:none; margin-top:2px; }
:root:root:root .cq-secure{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      font-size:0.72rem;
      color:rgba(255,255,255,0.6);
      margin-top:14px;
    }
:root:root:root .cq-booking{
      border:1px solid var(--line);
      border-radius:14px;
      padding:20px;
    }
:root:root:root .cq-booking-title{
      font-weight:900;
      font-size:0.95rem;
      color:var(--navy);
      letter-spacing:0.5px;
      margin:0 0 14px;
    }
:root:root:root .cq-form-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-bottom:12px;
    }
:root:root:root .cq-form-group label{
      display:block;
      font-size:0.76rem;
      font-weight:700;
      color:var(--navy);
      margin-bottom:5px;
    }
:root:root:root .cq-input-icon{
      position:relative;
    }
:root:root:root .cq-input-icon input, :root:root:root .cq-input-icon textarea{
      width:100%;
      padding:10px 34px 10px 12px;
      border:1px solid var(--line);
      border-radius:8px;
      font-size:0.85rem;
      color:var(--navy);
      font-family:inherit;
    }
:root:root:root .cq-input-icon svg{
      position:absolute;
      right:11px; top:50%;
      transform:translateY(-50%);
      color:var(--text-body);
      pointer-events:none;
    }
:root:root:root .cq-choice-label{
      display:flex; align-items:center; gap:6px;
      font-size:0.76rem; font-weight:800; color:var(--sky);
      margin:14px 0 8px;
    }
:root:root:root .cq-booking-btn{
      width:100%;
      background:var(--sky);
      color:#fff;
      border:none;
      border-radius:10px;
      padding:14px 18px;
      font-weight:800;
      font-size:0.92rem;
      cursor:pointer;
      display:flex; align-items:center; justify-content:center; gap:8px;
      margin-top:6px;
      transition:background .2s ease;
    }
:root:root:root .cq-booking-btn:hover{ background:#1590cc; }
:root:root:root .cq-booking-note{
      text-align:center;
      font-size:0.7rem;
      color:var(--text-body);
      margin-top:10px;
      display:flex; align-items:center; justify-content:center; gap:5px;
    }
:root:root:root .cq-booking-error{
      display:none;
      background:#FDEEEE;
      border:1px solid #E5484D;
      border-radius:10px;
      padding:14px;
      font-size:0.82rem;
      font-weight:700;
      color:#B3261E;
      text-align:center;
      margin-top:12px;
    }
:root:root:root .cq-booking-error.show{ display:block; }
:root:root:root .cq-call-card{
      text-align:center;
      padding:24px 8px 6px;
    }
:root:root:root .cq-call-icon{
      width:72px; height:72px;
      border-radius:50%;
      background:var(--sky-pale);
      display:flex; align-items:center; justify-content:center;
      margin:0 auto 18px;
    }
:root:root:root .cq-call-title{
      font-weight:900;
      font-size:1.15rem;
      color:var(--navy);
      margin:0 0 10px;
    }
:root:root:root .cq-call-desc{
      font-size:0.85rem;
      color:var(--text-body);
      line-height:1.6;
      margin:0 0 20px;
      max-width:340px;
      margin-left:auto;
      margin-right:auto;
    }
:root:root:root .cq-call-confirm{
      display:none;
      padding:10px 4px 4px;
    }
:root:root:root .cq-call-confirm.show{ display:block; }
:root:root:root .cq-call-confirm svg{ margin-bottom:12px; }
:root:root:root .cq-locked{
      opacity:0.55;
      pointer-events:none;
      filter:grayscale(15%);
    }
:root:root:root .cq-summary.cq-submitted .cq-si-remove{ display:none; }
:root:root:root .cq-section:not(.cq-revealed) .cq-subtotal-row, :root:root:root .cq-section:not(.cq-revealed) .cq-price-block, :root:root:root .cq-section:not(.cq-revealed) .cq-min-charge, :root:root:root .cq-section:not(.cq-revealed) #cq-call-card{ display:none; }
:root:root:root .cq-section.cq-revealed #cq-reveal-card{ display:none; }
:root:root:root .cq-reveal-card{ text-align:center; padding:24px 8px 6px; }
:root:root:root .cq-booking-btn[disabled]{ opacity:0.7; cursor:wait; }
:root:root:root .cq-modal{
      --navy:#0B1F3E;
      --sky:#1CA7EC;
      --text-body:#4A5C74;
      --line:#E4E9F0;
      font-family:'Inter','Segoe UI',Arial,sans-serif;
      position:fixed; inset:0; z-index:99999;
      display:none; align-items:center; justify-content:center;
      padding:16px;
      background:rgba(11,31,62,0.6);
    }
:root:root:root .cq-modal.show{ display:flex; }
html.cq-modal-open{ overflow:hidden; }
:root:root:root .cq-modal-box{
      position:relative;
      width:100%; max-width:460px;
      max-height:calc(100vh - 32px); overflow-y:auto;
      box-sizing:border-box;
      background:#fff;
      border-radius:16px;
      padding:28px 24px 22px;
      box-shadow:0 24px 60px rgba(11,31,62,0.35);
    }
:root:root:root .cq-modal-close{
      position:absolute; top:10px; right:12px;
      background:none; border:none;
      font-size:1.6rem; line-height:1; color:var(--text-body);
      cursor:pointer; padding:4px 8px; border-radius:6px;
    }
:root:root:root .cq-modal-close:hover{ color:var(--navy); }
:root:root:root .cq-modal-close:focus-visible{ outline:2px solid var(--sky); }
:root:root:root .cq-modal-title{ font-weight:900; font-size:1.3rem; color:var(--navy); margin:0 0 6px; padding-right:28px; }
:root:root:root .cq-modal-desc{ font-size:0.88rem; color:var(--text-body); line-height:1.55; margin:0 0 18px; }
:root:root:root .cq-modal .cq-form-group{ margin-bottom:12px; }
:root:root:root .cq-modal .cq-form-group input{
      width:100%; box-sizing:border-box;
      padding:11px 12px;
      border:1px solid var(--line); border-radius:8px;
      font-size:0.9rem; color:var(--navy); font-family:inherit;
      background:#fff;
    }
:root:root:root .cq-modal .cq-form-group input:focus{ outline:2px solid var(--sky); outline-offset:1px; border-color:var(--sky); }
:root:root:root .cq-modal .cq-form-group input[aria-invalid="true"]{ border-color:#E5484D; }
:root:root:root .cq-field-error{ display:block; font-size:0.72rem; font-weight:600; color:#B3261E; margin-top:4px; }
:root:root:root .cq-field-error:empty{ display:none; }
:root:root:root .cq-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
:root:root:root .cq-privacy-note{ font-size:0.72rem; color:var(--text-body); line-height:1.5; margin:4px 0 6px; }
:root:root:root .cq-privacy-note a{ color:var(--sky); font-weight:700; }
:root:root:root body.elementor-editor-active .cq-section.cq-section #cq-reveal-card, :root:root:root body.elementor-editor-active .cq-section.cq-section #cq-call-card, :root:root:root body.elementor-editor-active .cq-section.cq-section .cq-price-block, :root:root:root body.elementor-editor-active .cq-section.cq-section .cq-min-charge{ display:block; }
:root:root:root body.elementor-editor-active .cq-section.cq-section .cq-subtotal-row{ display:flex; }
:root:root:root body.elementor-editor-active .cq-modal.cq-modal{ position:relative; inset:auto; z-index:auto; display:flex; padding:24px 0 0; background:none; }
@media (max-width:760px){:root:root:root .cq-bottom-grid{ grid-template-columns:1fr; }
:root:root:root .cq-form-row{ grid-template-columns:1fr; }
:root:root:root .cq-steps{ display:none; }
:root:root:root .cq-badges{ gap:12px 16px; }
:root:root:root .cq-title{ font-size:1.5rem; }

    }

  

/* ===== shared header/footer, as measured on this page ===== */
body .elementor .psi-ghl-block.psi-ghl-block-TSV5TD2vzG{padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;font-family:Inter, sans-serif;font-size:16px;line-height:normal;font-weight:400;color:rgb(0, 0, 0)}