/* =========================================================
   AOR CRM & Forms — Frontend Design System
   v1.3.1
   Matches the All Over Removalist light-site design language.
   ========================================================= */

:root{
  --aor-orange:#f05a28;
  --aor-orange-dark:#d94718;
  --aor-ink:#1d2521;
  --aor-text:#58615c;
  --aor-paper:#fffdf8;
  --aor-cream:#f5f1e8;
  --aor-soft:#eef0ec;
  --aor-sage:#687a70;
  --aor-line:#dfdfd8;
  --aor-display:"Barlow Condensed",sans-serif;
  --aor-body:"IBM Plex Sans",sans-serif;
}

/* Elementor wrapper hardening for the Homepage Quote widget.
   Prevents flex/stretch/min-height rules from leaving a large empty block
   under the rendered CTA. */
.elementor-widget-aor_home_quote,
.elementor-widget-aor_home_quote > .elementor-widget-container{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  align-self:flex-start!important;
  flex-grow:0!important;
  flex-basis:auto!important;
}

.elementor-widget-aor_home_quote > .elementor-widget-container{
  display:block!important;
  overflow:visible!important;
}

/* Added only by the frontend script when an otherwise-empty Elementor
   container is measurably taller than the CTA itself. */
.e-con.aor-hq-auto-height-parent,
.elementor-column.aor-hq-auto-height-parent,
.elementor-section.aor-hq-auto-height-parent{
  min-height:0!important;
  height:auto!important;
}

.aor-home-quote,
.aor-contact-page,
.aor-popup,
.aor-lead-form,
.aor-popup-trigger{
  box-sizing:border-box;
  font-family:var(--aor-body);
  color:var(--aor-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.aor-home-quote *,
.aor-contact-page *,
.aor-popup *,
.aor-lead-form *,
.aor-popup-trigger *,
.aor-home-quote *::before,
.aor-home-quote *::after,
.aor-contact-page *::before,
.aor-contact-page *::after,
.aor-popup *::before,
.aor-popup *::after,
.aor-lead-form *::before,
.aor-lead-form *::after{
  box-sizing:border-box;
}

.aor-home-quote h1,.aor-home-quote h2,.aor-home-quote h3,
.aor-contact-page h1,.aor-contact-page h2,.aor-contact-page h3,
.aor-popup h1,.aor-popup h2,.aor-popup h3{
  font-family:var(--aor-display);
}

.aor-honeypot{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* =========================================================
   UNIVERSAL AOR FORM
   ========================================================= */

.aor-lead-form{
  width:100%;
  margin:0;
  font-family:var(--aor-body)!important;
}

.aor-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px;
}

.aor-field{min-width:0}
.aor-field-full{grid-column:1/-1}

.aor-field label{
  display:block;
  margin:0 0 8px;
  color:var(--aor-ink);
  font-family:var(--aor-body)!important;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
}

.aor-required{color:var(--aor-orange);margin-left:3px}
.aor-control-wrap{position:relative;display:block;min-width:0}

.aor-control-icon{
  position:absolute;
  left:15px;
  top:50%;
  z-index:3;
  width:18px;
  transform:translateY(-50%);
  color:var(--aor-orange);
  font-size:14px;
  text-align:center;
  pointer-events:none;
}

.aor-field-type-textarea .aor-control-icon{top:18px;transform:none}

.aor-lead-form input:not([type="radio"]):not([type="checkbox"]),
.aor-lead-form select,
.aor-lead-form textarea{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border:1px solid var(--aor-line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--aor-ink)!important;
  box-shadow:none!important;
  font-family:var(--aor-body)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  outline:none!important;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease!important;
}

.aor-lead-form input:not([type="radio"]):not([type="checkbox"]),
.aor-lead-form select{
  height:56px!important;
  min-height:56px!important;
  padding:0 48px 0 44px!important;
}

.aor-lead-form textarea{
  min-height:96px!important;
  padding:15px 15px 15px 44px!important;
  resize:vertical!important;
}

.aor-lead-form input:not([type="radio"]):not([type="checkbox"])::placeholder,
.aor-lead-form textarea::placeholder{
  color:#858d88!important;
  opacity:1!important;
}

.aor-lead-form input:not([type="radio"]):not([type="checkbox"]):focus,
.aor-lead-form select:focus,
.aor-lead-form textarea:focus{
  border-color:rgba(240,90,40,.72)!important;
  box-shadow:0 0 0 3px rgba(240,90,40,.09)!important;
  transform:translateY(-1px)!important;
}

/* Native select hardening — prevents clipped labels in Elementor/themes. */
.aor-lead-form select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  overflow:visible!important;
  text-indent:0!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  line-height:normal!important;
  padding-top:0!important;
  padding-bottom:0!important;
  padding-right:48px!important;
}

.aor-lead-form select option{
  color:var(--aor-ink)!important;
  background:#fff!important;
  font-family:var(--aor-body)!important;
  font-size:14px!important;
  line-height:1.5!important;
  white-space:normal!important;
  padding:10px!important;
}

.aor-select-chevron{
  position:absolute;
  right:16px;
  top:50%;
  z-index:4;
  transform:translateY(-50%);
  color:#909893;
  font-size:11px;
  pointer-events:none;
}

.aor-field-type-radio .aor-control-icon,
.aor-field-type-checkbox .aor-control-icon{display:none}

.aor-choice-group{
  display:flex;
  flex-wrap:wrap;
  gap:9px 12px;
  min-height:56px;
  padding:10px 12px;
  border:1px solid var(--aor-line);
  background:#fff;
}

.aor-choice{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  margin:0!important;
  color:var(--aor-ink)!important;
  font-family:var(--aor-body)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.4!important;
  cursor:pointer;
}

.aor-choice input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}

.aor-choice>span{
  position:relative;
  width:18px;
  height:18px;
  flex:0 0 18px;
  border:1px solid #cdd2ce;
  background:#fff;
}

.aor-choice-radio .aor-choice>span{border-radius:50%}
.aor-choice input:checked+span{border-color:var(--aor-orange);background:#fff0ea}
.aor-choice input:checked+span:after{content:"";position:absolute;inset:4px;background:var(--aor-orange)}
.aor-choice-radio .aor-choice input:checked+span:after{border-radius:50%}
.aor-choice strong{font:inherit!important;color:inherit!important}

.aor-submit-button,
.aor-popup-trigger{
  border:0!important;
  border-radius:0!important;
  cursor:pointer;
  font-family:var(--aor-body)!important;
}

.aor-submit-button{
  min-height:60px;
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:7px 7px 7px 23px;
  background:var(--aor-orange);
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  transition:background .25s ease,transform .25s ease;
}

.aor-submit-button:hover{background:var(--aor-orange-dark);transform:translateY(-2px)}
.aor-submit-button:disabled{opacity:.72;cursor:wait}

.aor-submit-icon{
  width:45px;
  height:45px;
  flex:0 0 45px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--aor-orange);
}

.aor-submit-button.is-loading .aor-submit-icon i{animation:aorSpin .8s linear infinite}
.aor-submit-button.is-loading .aor-submit-icon i:before{content:"\f110"}

.aor-form-response{
  display:none;
  margin:17px 0 0;
  padding:12px 14px;
  font-family:var(--aor-body)!important;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  align-items:flex-start;
  gap:9px;
}

.aor-form-response.is-success,.aor-form-response.is-error{display:flex}
.aor-form-response.is-success{background:#edf5ef;color:#356345;border:1px solid #d5e7d9}
.aor-form-response.is-error{background:#fff0ed;color:#9b3d28;border:1px solid #f3d0c7}

.aor-form-style-card{
  padding:28px;
  background:var(--aor-cream);
  border:1px solid #e3dfd6;
}
.aor-form-style-card .aor-submit-button{width:100%}
.aor-form-style-bare{padding:0;background:transparent;border:0}

/* =========================================================
   HOMEPAGE QUOTE CTA
   ========================================================= */

.aor-home-quote{
  position:relative;
  display:block!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  background:var(--aor-paper);
  color:var(--aor-ink);
  isolation:isolate;
  font-family:var(--aor-body)!important;
  container-type:inline-size;
  container-name:aor-home-quote;
}

.aor-home-quote .aor8-bg-word{
  position:absolute;
  right:-60px;
  top:18px;
  z-index:-1;
  color:rgba(29,37,33,.024);
  font-family:var(--aor-display)!important;
  font-size:210px;
  font-weight:800;
  line-height:.8;
  letter-spacing:-.055em;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

.aor-home-quote .aor8-container{
  width:min(1480px,calc(100% - 80px));
  margin:0 auto;
  padding:92px 0 68px;
  display:grid;
  grid-template-columns:var(--aor-hq-columns,minmax(0,1.02fr) minmax(0,.98fr));
  gap:72px;
  align-items:center;
}

.aor-home-quote .aor8-visual{
  position:relative;
  min-width:0;
  min-height:0;
  padding:0 0 38px;
}

.aor-home-quote .aor8-image{
  position:relative;
  width:100%;
  height:650px;
  overflow:hidden;
  background:#e5e8e4;
  box-shadow:0 28px 65px rgba(29,37,33,.12);
}

.aor-home-quote.aor8-no-image-shadow .aor8-image{box-shadow:none}

.aor-home-quote .aor8-image>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.035);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}

.aor-home-quote.aor-visible .aor8-image>img{transform:scale(1)}

.aor-home-quote .aor8-image-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(18,24,21,.03) 20%,rgba(18,24,21,.1) 55%,rgba(18,24,21,.58) 100%);
}

.aor-home-quote .aor8-image-top{
  position:absolute;
  left:22px;
  top:22px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:13px;
  max-width:calc(100% - 44px);
  min-width:0;
  padding:13px 15px;
  background:rgba(255,255,255,.95);
  box-shadow:0 12px 30px rgba(0,0,0,.1);
  backdrop-filter:blur(8px);
}

.aor-home-quote .aor8-image-icon{
  width:43px;
  height:43px;
  flex:0 0 43px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--aor-orange);
  color:#fff;
}

.aor-home-quote .aor8-image-top>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.aor-home-quote .aor8-image-top small{
  color:#7f8883;
  font-family:var(--aor-body)!important;
  font-size:10px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.1em;
  white-space:normal;
  overflow-wrap:anywhere;
}
.aor-home-quote .aor8-image-top strong{
  color:var(--aor-ink);
  font-family:var(--aor-body)!important;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  white-space:normal;
  overflow-wrap:anywhere;
}

.aor-home-quote .aor8-image-bottom{
  position:absolute;
  left:25px;
  right:25px;
  bottom:26px;
  z-index:5;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  color:#fff;
}

.aor-home-quote .aor8-image-bottom>span{
  color:rgba(255,255,255,.82);
  font-family:var(--aor-body)!important;
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
}

.aor-home-quote .aor8-image-route{position:relative;height:42px}
.aor-home-quote .aor8-image-route::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0,rgba(255,255,255,.75) 7px,transparent 7px,transparent 14px);
}
.aor-home-quote .aor8-image-route>i{
  position:absolute;
  top:50%;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--aor-orange);
  transform:translateY(-50%);
}
.aor-home-quote .aor8-image-route>i:first-child{left:0}
.aor-home-quote .aor8-image-route>i:last-child{right:0}

.aor-home-quote .aor8-truck{
  position:absolute;
  left:4%;
  top:50%;
  width:38px;
  height:38px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--aor-orange);
  color:#fff;
  transform:translate(-50%,-50%);
  animation:aorTruckMove 6s ease-in-out infinite;
}

.aor-home-quote .aor8-price-card{
  position:absolute;
  right:16px;
  bottom:0;
  z-index:8;
  width:196px;
  padding:18px;
  background:var(--aor-orange);
  color:#fff;
  box-shadow:0 22px 48px rgba(240,90,40,.2);
}
.aor-home-quote .aor8-price-card>small{
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.76);
  font-family:var(--aor-body)!important;
  font-size:10px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.1em;
}
.aor-home-quote .aor8-price-card>div{display:flex;align-items:flex-end;gap:9px;min-width:0}
.aor-home-quote .aor8-price-card strong{
  color:#fff;
  font-family:var(--aor-display)!important;
  font-size:45px;
  font-weight:700;
  line-height:.85;
  letter-spacing:-.02em;
}
.aor-home-quote .aor8-price-card div span{
  padding-bottom:2px;
  color:rgba(255,255,255,.82);
  font-family:var(--aor-body)!important;
  font-size:12px;
  font-weight:500;
  line-height:1.25;
  white-space:normal;
}

.aor-home-quote .aor8-crew-card{
  position:absolute;
  left:18px;
  top:108px;
  z-index:8;
  display:flex;
  align-items:center;
  gap:12px;
  width:min(210px,calc(100% - 36px));
  min-width:0;
  padding:13px 15px;
  background:var(--aor-cream);
  color:var(--aor-ink);
  border:1px solid #e2ded5;
  box-shadow:0 17px 35px rgba(29,37,33,.1);
  animation:aorFloat 3.4s ease-in-out infinite alternate;
}
.aor-home-quote .aor8-crew-card>span{
  width:41px;
  height:41px;
  flex:0 0 41px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--aor-orange);
}
.aor-home-quote .aor8-crew-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.aor-home-quote .aor8-crew-card small{
  color:#858e89;
  font-family:var(--aor-body)!important;
  font-size:10px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.09em;
}
.aor-home-quote .aor8-crew-card strong{
  color:var(--aor-ink);
  font-family:var(--aor-body)!important;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
}

.aor-home-quote .aor8-content{max-width:720px;min-width:0}

.aor-home-quote .aor8-eyebrow{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:20px;
  color:var(--aor-sage);
  font-family:var(--aor-body)!important;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.aor-home-quote .aor8-eyebrow-line{width:43px;height:2px;flex:0 0 43px;background:var(--aor-orange)}

.aor-home-quote .aor8-title{
  margin:0;
  color:var(--aor-ink);
  font-family:var(--aor-display)!important;
  font-size:clamp(58px,4.65vw,78px);
  font-weight:700;
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;
  overflow-wrap:normal;
  word-break:normal;
}
.aor-home-quote .aor8-title-line{display:block;overflow:hidden;padding-bottom:.045em}
.aor-home-quote .aor8-orange{color:var(--aor-orange)}

.aor-home-quote .aor8-intro{
  max-width:600px;
  margin:24px 0 28px;
  color:var(--aor-text);
  font-family:var(--aor-body)!important;
  font-size:18px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:0;
}

.aor-home-quote .aor8-live-form{
  padding:26px;
  background:var(--aor-cream);
  border:1px solid #e3dfd6;
}
.aor-home-quote .aor8-live-form .aor-submit-button{width:100%}

.aor-home-quote .aor8-secondary-actions{display:flex;align-items:center;margin-top:22px}
.aor-home-quote .aor8-phone{display:flex;align-items:center;gap:11px;color:var(--aor-ink);text-decoration:none;font-family:var(--aor-body)!important}
.aor-home-quote .aor8-phone-icon{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--aor-cream);color:var(--aor-orange);transition:.3s}
.aor-home-quote .aor8-phone:hover .aor8-phone-icon{background:var(--aor-orange);color:#fff;transform:rotate(-8deg)}
.aor-home-quote .aor8-phone>span:last-child{display:flex;flex-direction:column;gap:3px}
.aor-home-quote .aor8-phone small{color:#87908a;font-size:10px;font-weight:700;line-height:1.25;letter-spacing:.09em}
.aor-home-quote .aor8-phone strong{color:var(--aor-ink);font-size:15px;font-weight:700;line-height:1.3}

.aor-home-quote .aor8-trust{display:flex;align-items:center;flex-wrap:wrap;gap:11px 23px;margin-top:22px;padding-top:20px;border-top:1px solid var(--aor-line)}
.aor-home-quote .aor8-trust>span{display:inline-flex;align-items:center;gap:8px;color:#67716b;font-family:var(--aor-body)!important;font-size:13px;font-weight:500;line-height:1.4}
.aor-home-quote .aor8-trust i{width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e7f0e9;color:#4e8160;font-size:10px}

.aor-home-quote .aor8-bottom{width:100%;background:var(--aor-cream);border-top:1px solid var(--aor-line)}
.aor-home-quote .aor8-bottom-inner{width:min(1480px,calc(100% - 80px));min-height:112px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:35px}
.aor-home-quote .aor8-bottom-copy{display:flex;align-items:center;gap:16px}
.aor-home-quote .aor8-bottom-copy>span{width:52px;height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:center;background:var(--aor-orange);color:#fff;font-size:18px}
.aor-home-quote .aor8-bottom-copy>div{display:flex;flex-direction:column;gap:4px}
.aor-home-quote .aor8-bottom-copy small{color:var(--aor-sage);font-family:var(--aor-body)!important;font-size:11px;font-weight:700;line-height:1.25;letter-spacing:.09em}
.aor-home-quote .aor8-bottom-copy strong{color:var(--aor-ink);font-family:var(--aor-display)!important;font-size:28px;font-weight:600;line-height:1.05}
.aor-home-quote .aor8-bottom-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 20px;border:0;border-radius:0;background:var(--aor-orange);color:#fff;font-family:var(--aor-body)!important;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;transition:.25s}
.aor-home-quote .aor8-bottom-button:hover{background:var(--aor-orange-dark);transform:translateY(-2px)}

/* Tight section ending: no inherited margins/min-heights after the CTA. */
.aor-home-quote .aor8-container,
.aor-home-quote .aor8-bottom,
.aor-home-quote .aor8-bottom-inner{
  height:auto!important;
  max-height:none!important;
}
.aor-home-quote .aor8-container{min-height:0!important;}
.aor-home-quote .aor8-bottom{margin:0!important;padding:0!important;}
.aor-home-quote .aor8-bottom-inner{margin-top:0!important;margin-bottom:0!important;}
.aor-home-quote > :last-child{margin-bottom:0!important;}

/* =========================================================
   CONTACT PAGE
   ========================================================= */

.aor-contact-page{
  width:100%;
  background:var(--aor-paper);
  color:var(--aor-ink);
  overflow:hidden;
  font-family:var(--aor-body)!important;
}

.aor-contact-shell{width:min(1480px,calc(100% - 80px));margin:0 auto;padding:78px 0 100px}
.aor-contact-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);align-items:center;gap:72px;margin-bottom:60px}
.aor-contact-copy{max-width:690px}
.aor-contact-eyebrow{display:flex;align-items:center;gap:12px;color:var(--aor-sage);font-family:var(--aor-body)!important;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.09em;text-transform:uppercase}
.aor-contact-eyebrow>span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--aor-orange);color:#fff}
.aor-contact-copy h1{margin:22px 0 20px;color:var(--aor-ink);font-family:var(--aor-display)!important;font-size:clamp(58px,5vw,82px);font-weight:700;line-height:.9;letter-spacing:-.04em;text-transform:uppercase}
.aor-contact-copy p{max-width:590px;margin:0;color:var(--aor-text);font-family:var(--aor-body)!important;font-size:18px;font-weight:400;line-height:1.7}

.aor-contact-image{position:relative;height:500px;overflow:hidden;box-shadow:0 28px 62px rgba(29,37,33,.11)}
.aor-contact-image img{width:100%;height:100%;display:block;object-fit:cover}
.aor-contact-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,25,22,.62) 100%)}
.aor-contact-image-caption{position:absolute;left:24px;bottom:22px;z-index:2;display:flex;align-items:center;gap:11px;color:#fff;font-family:var(--aor-body)!important;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.09em}
.aor-contact-image-caption i{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--aor-orange)}

.aor-contact-main{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);align-items:stretch;border:1px solid var(--aor-line);background:#fff}
.aor-contact-details{padding:44px;background:var(--aor-cream);border-right:1px solid var(--aor-line)}
.aor-contact-detail-intro{padding-bottom:28px;margin-bottom:8px;border-bottom:1px solid var(--aor-line)}
.aor-contact-detail-intro small,.aor-contact-form-head small{color:var(--aor-orange);font-family:var(--aor-body)!important;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.08em}
.aor-contact-detail-intro h2{margin:8px 0 0;color:var(--aor-ink);font-family:var(--aor-display)!important;font-size:36px;font-weight:600;line-height:1.02;letter-spacing:-.02em}
.aor-contact-detail{display:flex;align-items:flex-start;gap:14px;padding:22px 0;border-bottom:1px solid var(--aor-line);color:var(--aor-ink);text-decoration:none;font-family:var(--aor-body)!important}
.aor-contact-detail>span{width:43px;height:43px;flex:0 0 43px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--aor-orange)}
.aor-contact-detail>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.aor-contact-detail small{color:#87908a;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.08em}
.aor-contact-detail strong{color:var(--aor-ink);font-size:15px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.aor-contact-note{display:flex;align-items:flex-start;gap:10px;margin-top:26px;color:#62706a;font-family:var(--aor-body)!important;font-size:13px;font-weight:400;line-height:1.55}
.aor-contact-note i{color:#4e8160;margin-top:3px}

.aor-contact-form-panel{padding:46px 48px;background:#fff}
.aor-contact-form-head{margin-bottom:28px}
.aor-contact-form-head h2{margin:8px 0 8px;color:var(--aor-ink);font-family:var(--aor-display)!important;font-size:46px;font-weight:600;line-height:.96;letter-spacing:-.025em}
.aor-contact-form-head p{margin:0;color:var(--aor-text);font-family:var(--aor-body)!important;font-size:15px;line-height:1.6}
.aor-form-style-contact .aor-submit-button{margin-top:22px;min-width:240px}

/* =========================================================
   POPUP
   ========================================================= */

.aor-popup-lock{overflow:hidden!important}
.aor-popup{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;font-family:var(--aor-body)!important}
.aor-popup.is-open{opacity:1;visibility:visible;pointer-events:auto}
.aor-popup-backdrop{position:absolute;inset:0;background:rgba(20,25,22,.58);backdrop-filter:blur(5px)}
.aor-popup-dialog{position:relative;z-index:2;width:min(var(--aor-popup-width,640px),100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--aor-popup-bg,var(--aor-paper));padding:38px;border-top:5px solid var(--aor-popup-accent,var(--aor-orange));box-shadow:0 35px 90px rgba(0,0,0,.24);transform:translateY(18px) scale(.985);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.aor-popup.is-open .aor-popup-dialog{transform:none}
.aor-popup-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--aor-line);border-radius:0;background:#fff;color:var(--aor-ink);cursor:pointer}
.aor-popup-accent{display:flex;align-items:center;gap:10px;color:var(--aor-sage);font-family:var(--aor-body)!important;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.aor-popup-accent i{color:var(--aor-popup-accent,var(--aor-orange))}
.aor-popup h2{margin:13px 45px 8px 0;color:var(--aor-ink);font-family:var(--aor-display)!important;font-size:var(--aor-popup-title,46px);font-weight:700;line-height:.96;letter-spacing:-.03em;text-transform:uppercase}
.aor-popup-dialog>p{margin:0 0 24px;color:var(--aor-text);font-family:var(--aor-body)!important;font-size:15px;font-weight:400;line-height:1.6}
.aor-popup-form-slot{min-width:0}
.aor-popup-form-slot>*{max-width:100%}
.aor-form-style-popup .aor-submit-button{width:100%}

.aor-popup-trigger{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 20px;background:var(--aor-orange);color:#fff;font-size:15px;font-weight:700;line-height:1.2;transition:.25s}
.aor-popup-trigger:hover{background:var(--aor-orange-dark);transform:translateY(-2px)}

/* =========================================================
   PROGRESSIVE REVEAL
   Base state stays visible if JS fails.
   ========================================================= */

[data-aor-section] .aor-reveal,
[data-aor-section] .aor8-title-line>span{opacity:1;transform:none}
[data-aor-section].aor-ready:not(.aor-visible) .aor-reveal{opacity:0;transform:translateY(26px)}
[data-aor-section].aor-ready .aor-reveal{transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1)}
[data-aor-section].aor-visible .aor-reveal{opacity:1;transform:none}
[data-aor-section].aor-ready:not(.aor-visible) .aor8-title-line>span{opacity:0;transform:translateY(108%)}
[data-aor-section].aor-ready .aor8-title-line>span{display:block;transition:opacity .45s ease,transform .9s cubic-bezier(.16,1,.3,1)}
[data-aor-section].aor-visible .aor8-title-line>span{opacity:1;transform:none}

@keyframes aorTruckMove{0%{left:4%}44%,56%{left:50%}100%{left:96%}}
@keyframes aorFloat{from{transform:translateY(0)}to{transform:translateY(-9px)}}
@keyframes aorSpin{to{transform:rotate(360deg)}}

/* =========================================================
   RESPONSIVE
   Structural rules use !important only where required to
   prevent saved Elementor desktop CSS from leaking into
   tablet/mobile layouts. Visual controls remain editable.
   ========================================================= */

@media(max-width:1200px){
  .aor-home-quote .aor8-container{
    width:calc(100% - 50px);
    gap:50px;
    padding:82px 0 62px;
  }
  .aor-home-quote .aor8-title{font-size:clamp(54px,5vw,70px)}
  .aor-home-quote .aor8-image{height:610px}
  .aor-home-quote .aor8-bottom-inner{width:calc(100% - 50px)}
  .aor-contact-shell{width:calc(100% - 50px)}
  .aor-contact-hero{gap:50px}
  .aor-contact-main{grid-template-columns:350px 1fr}
}

@media(max-width:900px){
  .aor-home-quote .aor8-container{
    width:calc(100% - 38px)!important;
    max-width:760px!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    padding:68px 0 54px;
    gap:46px;
  }

  .aor-home-quote .aor8-content{
    order:1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .aor-home-quote .aor8-visual{
    order:2!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 34px!important;
  }

  .aor-home-quote .aor8-live-form,
  .aor-home-quote .aor-home-form,
  .aor-home-quote .aor-lead-form,
  .aor-home-quote .aor-form-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .aor-home-quote .aor8-image{
    width:100%!important;
    max-width:100%!important;
    height:540px;
  }

  .aor-home-quote .aor8-title{
    max-width:700px!important;
    font-size:clamp(50px,7vw,64px);
  }

  .aor-home-quote .aor8-intro{max-width:680px!important}
  .aor-home-quote .aor8-bottom-inner{width:calc(100% - 38px)}

  .aor-contact-shell{width:calc(100% - 38px);padding:58px 0 80px}
  .aor-contact-hero{grid-template-columns:1fr;gap:42px}
  .aor-contact-image{height:440px}
  .aor-contact-main{grid-template-columns:1fr}
  .aor-contact-details{border-right:0;border-bottom:1px solid var(--aor-line)}
}

@media(max-width:600px){
  .aor-form-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px;
  }

  .aor-field,
  .aor-field-half,
  .aor-field-full{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .aor-control-wrap{width:100%!important;max-width:100%!important;min-width:0!important}

  .aor-lead-form input:not([type="radio"]):not([type="checkbox"]),
  .aor-lead-form select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:56px!important;
    min-height:56px!important;
    padding-left:44px!important;
    padding-right:44px!important;
    line-height:1.25!important;
  }

  .aor-lead-form textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .aor-home-quote{
    overflow-x:clip!important;
  }

  .aor-home-quote .aor8-container{
    width:calc(100% - 24px)!important;
    max-width:520px!important;
    grid-template-columns:minmax(0,1fr)!important;
    padding:46px 0 38px;
    gap:34px;
  }

  .aor-home-quote .aor8-bg-word{display:none!important}

  .aor-home-quote .aor8-content{
    order:1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .aor-home-quote .aor8-title{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(38px,10.5vw,44px);
    line-height:.94;
    letter-spacing:-.025em;
  }

  .aor-home-quote .aor8-title-line,
  .aor-home-quote .aor8-title-line>span{
    width:100%!important;
    max-width:100%!important;
  }

  .aor-home-quote .aor8-intro{
    width:100%!important;
    max-width:100%!important;
    margin:18px 0 22px;
    font-size:16px;
    line-height:1.58;
  }

  .aor-home-quote .aor8-live-form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:16px;
  }

  .aor-home-quote .aor8-live-form .aor-submit-button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }

  .aor-home-quote .aor8-live-form .aor-submit-label{
    min-width:0!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
  }

  .aor-home-quote .aor8-secondary-actions{
    width:100%!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
  }

  .aor-home-quote .aor8-phone{
    min-width:0!important;
    max-width:100%!important;
  }

  .aor-home-quote .aor8-phone>span:last-child{min-width:0!important}
  .aor-home-quote .aor8-phone strong{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .aor-home-quote .aor8-trust{
    width:100%!important;
    max-width:100%!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .aor-home-quote .aor8-trust>span{
    width:100%!important;
    min-width:0!important;
  }

  .aor-home-quote .aor8-visual{
    order:2!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .aor-home-quote .aor8-image{
    width:100%!important;
    max-width:100%!important;
    height:410px;
    min-height:0!important;
  }

  .aor-home-quote .aor8-image-top{
    left:12px!important;
    top:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding:9px 10px!important;
    gap:9px!important;
  }

  .aor-home-quote .aor8-image-top>div{min-width:0!important}
  .aor-home-quote .aor8-image-icon{width:36px!important;height:36px!important;flex:0 0 36px!important}
  .aor-home-quote .aor8-image-top small{font-size:9px!important}
  .aor-home-quote .aor8-image-top strong{
    font-size:13px!important;
    line-height:1.22!important;
    overflow-wrap:anywhere!important;
  }

  .aor-home-quote .aor8-crew-card{
    left:12px!important;
    right:auto!important;
    top:72px!important;
    width:min(166px,calc(100% - 24px))!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    padding:9px 10px!important;
    gap:9px!important;
  }

  .aor-home-quote .aor8-crew-card>span{width:34px!important;height:34px!important;flex:0 0 34px!important}
  .aor-home-quote .aor8-crew-card>div{min-width:0!important}
  .aor-home-quote .aor8-crew-card small{font-size:9px!important}
  .aor-home-quote .aor8-crew-card strong{
    font-size:12px!important;
    line-height:1.2!important;
    overflow-wrap:anywhere!important;
  }

  .aor-home-quote .aor8-price-card{
    right:12px!important;
    bottom:58px!important;
    width:138px!important;
    max-width:calc(100% - 24px)!important;
    padding:11px!important;
  }

  .aor-home-quote .aor8-price-card>small{font-size:9px!important;margin-bottom:5px!important}
  .aor-home-quote .aor8-price-card>div{
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:5px 8px!important;
  }
  .aor-home-quote .aor8-price-card strong{font-size:30px!important}
  .aor-home-quote .aor8-price-card div span{font-size:10px!important;line-height:1.15!important}

  .aor-home-quote .aor8-image-bottom{
    left:14px!important;
    right:14px!important;
    bottom:12px!important;
    gap:8px!important;
  }

  .aor-home-quote .aor8-image-bottom>span{font-size:10px!important}
  .aor-home-quote .aor8-truck{width:34px!important;height:34px!important}

  .aor-home-quote .aor8-bottom-inner{
    width:calc(100% - 24px)!important;
    max-width:520px!important;
    min-height:0!important;
    padding:24px 0!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
  }

  .aor-home-quote .aor8-bottom-copy{
    width:100%!important;
    min-width:0!important;
    align-items:flex-start!important;
  }

  .aor-home-quote .aor8-bottom-copy>div{min-width:0!important}
  .aor-home-quote .aor8-bottom-copy strong{
    font-size:22px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
  }

  .aor-home-quote .aor8-bottom-button{
    width:100%!important;
    max-width:100%!important;
    min-height:56px!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .aor-contact-shell{width:calc(100% - 28px);padding:44px 0 65px}
  .aor-contact-copy h1{font-size:clamp(48px,13vw,62px);line-height:.92}
  .aor-contact-copy p{font-size:17px}
  .aor-contact-image{height:360px}
  .aor-contact-details,.aor-contact-form-panel{padding:28px 20px}
  .aor-contact-form-head h2{font-size:38px}
  .aor-form-style-contact .aor-submit-button{width:100%;min-width:0}

  .aor-popup{padding:12px}
  .aor-popup-dialog{padding:28px 18px 22px;max-height:calc(100vh - 24px)}
  .aor-popup h2{font-size:var(--aor-popup-title-mobile,36px);line-height:.98}
  .aor-popup .aor-form-grid{gap:12px}
}

@media(max-width:420px){
  .aor-home-quote .aor8-container{width:calc(100% - 20px)!important}
  .aor-home-quote .aor8-title{font-size:clamp(36px,10vw,40px)}
  .aor-home-quote .aor8-image{height:360px}
  .aor-home-quote .aor8-crew-card{top:68px!important;width:min(148px,calc(100% - 20px))!important}
  .aor-home-quote .aor8-price-card{width:124px!important;right:10px!important;bottom:54px!important;padding:9px!important}
  .aor-home-quote .aor8-price-card strong{font-size:26px!important}
  .aor-home-quote .aor8-image-bottom{left:10px!important;right:10px!important}
}

/* Elementor responsive preview can keep a desktop viewport while
   constraining the widget itself. Container queries make the CTA
   respond to its real rendered width as well. */
@container aor-home-quote (max-width:900px){
  .aor8-container{
    width:calc(100% - 38px)!important;
    max-width:760px!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  .aor8-content{
    order:1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .aor8-visual{
    order:2!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .aor8-live-form,
  .aor-home-form,
  .aor-lead-form,
  .aor-form-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

@container aor-home-quote (max-width:600px){
  .aor8-container{
    width:calc(100% - 24px)!important;
    max-width:520px!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .aor-form-grid{grid-template-columns:minmax(0,1fr)!important}
  .aor-field,
  .aor-field-half,
  .aor-field-full{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .aor8-title,
  .aor8-intro,
  .aor8-live-form,
  .aor8-visual,
  .aor8-image{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .aor8-trust{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .aor-home-quote *,
  .aor-contact-page *,
  .aor-popup *{animation:none!important;transition:none!important}
  [data-aor-section] .aor-reveal,
  [data-aor-section] .aor8-title-line>span{opacity:1!important;transform:none!important}
}
