/* AH Movers Dubai - premium fullwidth design system for ah- classes.
   v1.5.0 light scheme: white / #f7f9f7 sections, slate text (#1a202c /
   #2d3748 / #4a5568), Deep Teal #0b5d5b primary, deep petrol #063f3d and
   #042c2b for the top bar, CTA band and dark accents, brass #c79a3d used
   sparingly (eyebrow labels, hover borders, footer headings, small rules),
   teal tint #e8f3f1 for chips and soft bands. Lightweight, no webfonts. */

:root{
  --ah-petrol:#063f3d;
  --ah-petrol-deep:#042c2b;
  --ah-petrol-2:#0a524e;
  --ah-petrol-3:#12706a;
  --ah-brass:#c79a3d;
  --ah-brass-light:#d9b264;
  --ah-brass-dark:#a98534;
  --ah-ink:#1a202c;
  --ah-body:#2d3748;
  --ah-teal:#0b5d5b;
  --ah-teal-dark:#084744;
  --ah-tint:#e8f3f1;
  --ah-footer-bg:#07211f;
  --ah-footer-bottom:#04150f;
  --ah-muted:#4a5568;
  --ah-bg:#ffffff;
  --ah-bg-alt:#f7f9f7;
  --ah-bg-alt-2:#e8f3f1;
  --ah-border:#e3eae5;
  --ah-border-strong:#c3d2cc;
  --ah-radius:14px;
  --ah-radius-small:12px;
  --ah-shadow-card:0 1px 3px rgba(16,24,40,.06);
  --ah-shadow-card-hover:0 2px 6px rgba(16,24,40,.07),0 14px 30px rgba(16,24,40,.08);
  --ah-shadow-panel:0 18px 44px rgba(16,24,40,.12);
  --ah-shadow:var(--ah-shadow-card);
  --ah-wa:#1fa855;
  --ah-wa-dark:#178a46;
  --ah-content:1560px;
  --ah-gutter:clamp(20px,4vw,64px);
  /* Inline padding that centres a 1560px layout while keeping a safe gutter. */
  --ah-wide-pad:max(var(--ah-gutter),calc((100vw - var(--ah-content)) / 2 + var(--ah-gutter)));
  --global-content-width-size:1600px;
  --global-content-narrow-width-size:920px;
  --global-content-edge-padding:var(--ah-gutter);
}

html,
body{
  overflow-x:clip;
}

@supports not (overflow:clip){
  html,
  body{overflow-x:hidden}
}

body{
  --global-content-width-size:1600px;
  --global-content-narrow-width-size:920px;
  --global-content-edge-padding:var(--ah-gutter);
}

::selection{
  background:rgba(11,93,91,.16);
  color:var(--ah-petrol);
}

/* -------------------------------------------------------------------------
 * Kadence wide/fullwidth layout shell
 * ---------------------------------------------------------------------- */

body .site-container,
body .content-container,
body .site-header .site-container,
body .site-footer .site-container{
  width:100%;
  max-width:min(1600px,100%) !important;
  margin-right:auto;
  margin-left:auto;
  padding-right:var(--ah-gutter) !important;
  padding-left:var(--ah-gutter) !important;
  box-sizing:border-box;
}

body .site-main,
body .entry-content,
body .single-content{
  width:100%;
  max-width:none;
  min-width:0;
}

body.page .entry-content-wrap,
body.page .entry-content{
  padding-top:0;
  padding-bottom:0;
}

/* Long-form blog copy remains readable even though the page shell is wide. */
body.single-post .single-content{
  padding-right:var(--ah-gutter);
  padding-left:var(--ah-gutter);
  box-sizing:border-box;
}

body.single-post .single-content > p,
body.single-post .single-content > h2,
body.single-post .single-content > h3,
body.single-post .single-content > ul,
body.single-post .single-content > ol,
body.single-post .single-content > blockquote{
  width:min(920px,100%);
  margin-right:auto;
  margin-left:auto;
}

/* -------------------------------------------------------------------------
 * Kadence header, navigation and footer finish
 * ---------------------------------------------------------------------- */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 0 rgba(6,63,61,.07),0 14px 38px rgba(6,63,61,.08);
}

body.admin-bar .site-header{top:32px}

.site-header .site-branding a,
.site-header .site-title{
  letter-spacing:-.02em;
}

.site-header .main-navigation a,
.site-header .header-navigation a,
.site-header .primary-menu-container a{
  position:relative;
}

.site-header .main-navigation .menu > li > a::after,
.site-header .header-navigation .menu > li > a::after,
.site-header .primary-menu-container > ul > li > a::after{
  content:"";
  position:absolute;
  right:14px;
  bottom:5px;
  left:14px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ah-brass),var(--ah-brass-light));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}

.site-header .main-navigation .menu > li > a:hover::after,
.site-header .main-navigation .menu > li > a:focus-visible::after,
.site-header .header-navigation .menu > li > a:hover::after,
.site-header .header-navigation .menu > li > a:focus-visible::after,
.site-header .primary-menu-container > ul > li.current-menu-item > a::after,
.site-header .primary-menu-container > ul > li.current_page_item > a::after{
  transform:scaleX(1);
}

.site-header .sub-menu,
.site-header .primary-menu-container .sub-menu{
  overflow:hidden;
  border:1px solid rgba(6,63,61,.09);
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 55px rgba(6,63,61,.18);
}

.site-header .sub-menu a{
  transition:background-color .18s ease,color .18s ease;
}

.site-header .sub-menu a:hover,
.site-header .sub-menu a:focus-visible{
  background:var(--ah-bg-alt);
  color:var(--ah-teal);
}

.site-footer{
  margin-top:0;
  background:var(--ah-footer-bg);
  color:#b9c6bd;
}

.site-footer .site-footer-row-container,
.site-footer .site-top-footer-wrap,
.site-footer .site-middle-footer-wrap,
.site-footer .site-bottom-footer-wrap,
.site-footer .footer-widget-area{
  background:transparent;
}

.site-footer a{
  color:#b9c6bd;
  text-decoration-color:rgba(199,154,61,.55);
  text-underline-offset:3px;
}

.site-footer a:hover,
.site-footer a:focus-visible{
  color:#fff;
}

/* -------------------------------------------------------------------------
 * Shared AH layout
 * ---------------------------------------------------------------------- */

.ah-hero,
.ah-hero *,
.ah-section,
.ah-section *,
.ah-cta-band,
.ah-cta-band *,
.ah-form,
.ah-form *,
.ah-float,
.ah-float *{
  box-sizing:border-box;
}

.ah-section{
  width:100%;
  max-width:var(--ah-content);
  margin:0 auto;
  padding:clamp(56px,7vw,104px) var(--ah-gutter);
  background:var(--ah-bg);
}

.ah-section h2{
  max-width:900px;
  margin:0 0 22px;
  color:var(--ah-ink);
  font-size:clamp(1.85rem,3.4vw,2.75rem);
  line-height:1.14;
  letter-spacing:-.025em;
}

.ah-section h2::after{
  content:"";
  display:block;
  width:58px;
  height:4px;
  margin-top:16px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ah-brass),var(--ah-brass-light));
}

.ah-section p{
  margin:0 0 16px;
  color:var(--ah-body);
  font-size:1.025rem;
  line-height:1.72;
}

.ah-section > p{
  max-width:880px;
}

.ah-section a:not(.ah-btn):not(.ah-card-link){
  color:var(--ah-teal);
  font-weight:650;
  text-decoration-color:rgba(199,154,61,.65);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.ah-section a:not(.ah-btn):not(.ah-card-link):hover{
  color:var(--ah-teal-dark);
}

/* Every band-like template section reaches the real viewport edge. */
.ah-hero,
.ah-section-alt,
.ah-quote-section,
.ah-cta-band{
  width:100vw;
  max-width:100vw;
  margin-right:calc(50% - 50vw) !important;
  margin-left:calc(50% - 50vw) !important;
}

.ah-section-alt{
  border-top:1px solid rgba(11,93,91,.05);
  border-bottom:1px solid rgba(11,93,91,.05);
  background:var(--ah-bg-alt);
  padding-right:var(--ah-wide-pad);
  padding-left:var(--ah-wide-pad);
}

.ah-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 16px;
  padding:7px 12px;
  border:1px solid rgba(11,93,91,.22);
  border-radius:999px;
  background:var(--ah-tint);
  color:var(--ah-petrol);
  font-size:.76rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ah-eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ah-teal);
  box-shadow:0 0 0 4px rgba(11,93,91,.12);
}

/* Section eyebrow (v1.5.0): a plain brass label above the H2 - no pill.
   The pill form above is used in heroes only. */
.ah-section .ah-eyebrow{
  margin:0 0 10px;
  padding:0;
  border:none;
  background:none;
  color:var(--ah-brass);
}

.ah-section .ah-eyebrow::before{
  width:26px;
  height:2px;
  border-radius:2px;
  background:var(--ah-brass);
  box-shadow:none;
}

/* -------------------------------------------------------------------------
 * Hero
 * ---------------------------------------------------------------------- */

.ah-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(64px,8vw,110px) var(--ah-wide-pad);
  background:
    radial-gradient(circle at 88% 0%,rgba(199,154,61,.12),transparent 34%),
    radial-gradient(circle at 6% 110%,rgba(11,93,91,.10),transparent 40%),
    linear-gradient(120deg,#eef6f4 0%,var(--ah-tint) 55%,#fbfdfc 100%);
  background-color:#e8f3f1;
  color:var(--ah-body);
}

.ah-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    repeating-linear-gradient(135deg,rgba(6,63,61,.045) 0,rgba(6,63,61,.045) 1px,transparent 1px,transparent 19px),
    radial-gradient(circle at 18% 18%,rgba(6,63,61,.07) 0 1px,transparent 1.5px);
  background-size:auto,26px 26px;
  pointer-events:none;
}

.ah-hero::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  height:5px;
  background:linear-gradient(90deg,var(--ah-brass-dark),var(--ah-brass),var(--ah-brass-light));
  pointer-events:none;
}

.ah-hero-small{
  padding-top:clamp(56px,7vw,88px);
  padding-bottom:clamp(56px,7vw,88px);
}

.ah-hero-inner{
  position:relative;
  z-index:1;
  width:min(780px,100%);
  max-width:780px;
  margin:0;
}

.ah-hero h1{
  max-width:920px;
  margin:0 0 20px;
  color:#14231b;
  font-size:clamp(2.35rem,5.4vw,4.65rem);
  line-height:1.04;
  letter-spacing:-.035em;
}

.ah-hero-small h1{
  font-size:clamp(2.05rem,4.2vw,3.45rem);
}

/* Hero photo background (v1.5.0): the page photo sits under a LIGHT
   scrim and the hero text is dark, so the headline can never blend
   into the image. Without the ah-hero-bg class the hero keeps the
   plain tinted gradient look above. */
.ah-hero{
  display:flex;
  align-items:center;
  min-height:clamp(320px,36vw,440px);
}

.ah-hero-bg{
  background-color:#e8f3f1;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.ah-hero-bg::before{
  z-index:0;
  background:linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 48%,rgba(255,255,255,.45) 100%);
}

.ah-hero-bg::after{
  z-index:0;
}

.ah-hero-sub{
  max-width:780px;
  margin:0 0 28px;
  color:#2d3748;
  font-size:clamp(1.03rem,1.55vw,1.22rem);
  line-height:1.68;
}

.ah-hero-contact{
  margin:18px 0 0;
  color:#2d3748;
  font-weight:650;
}

.ah-hero a{
  color:var(--ah-teal);
}

.ah-hero .ah-contact-link{
  color:var(--ah-teal-dark);
  text-decoration-color:rgba(11,93,91,.45);
  text-underline-offset:3px;
}

.ah-placeholder{
  display:inline-block;
  padding:2px 8px;
  border:1px dashed var(--ah-brass-dark);
  border-radius:6px;
  background:#f7ecd4;
  color:#7a5b00;
  font-weight:700;
}

/* -------------------------------------------------------------------------
 * Buttons and calls to action
 * ---------------------------------------------------------------------- */

.ah-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  align-items:center;
}

.ah-btn{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:13px 27px;
  border:2px solid transparent;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(6,63,61,.14);
  font-size:1rem;
  font-weight:800;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}

.ah-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(6,63,61,.2);
}

.ah-btn:active{transform:translateY(0)}

.ah-btn-primary{
  background:var(--ah-teal);
  color:#fff;
  box-shadow:0 12px 28px rgba(11,93,91,.26);
}

.ah-btn-primary:hover{
  background:var(--ah-teal-dark);
  color:#fff;
}

.ah-btn-whatsapp{
  background:linear-gradient(135deg,#25D366,#1FAF57 55%,#128C4B);
  color:#fff;
  box-shadow:0 12px 28px rgba(31,175,87,.28);
}

.ah-btn-whatsapp:hover{
  background:linear-gradient(135deg,#1FAF57,#128C4B);
  color:#fff;
}

.ah-btn-disabled{
  border-color:#c3d2cc;
  background:rgba(255,255,255,.75);
  box-shadow:none;
  color:#4a5568;
}

.ah-btn-large{
  min-height:56px;
  padding:15px 36px;
  font-size:1.05rem;
}

.ah-btn:focus-visible,
.ah-card-link:focus-visible,
.ah-faq-item summary:focus-visible{
  outline:3px solid rgba(199,154,61,.55);
  outline-offset:3px;
}

/* -------------------------------------------------------------------------
 * Grids and cards
 * ---------------------------------------------------------------------- */

.ah-grid{
  display:grid;
  gap:clamp(18px,2vw,28px);
  margin-top:12px;
}

.ah-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ah-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.ah-card{
  position:relative;
  overflow:hidden;
  height:100%;
  padding:clamp(24px,2.4vw,34px);
  border:1px solid var(--ah-border);
  border-radius:var(--ah-radius);
  background:#fff;
  box-shadow:var(--ah-shadow-card);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.ah-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:4px;
  background:linear-gradient(90deg,var(--ah-petrol),var(--ah-brass));
  opacity:0;
  transition:opacity .22s ease;
}

.ah-card:hover{
  transform:translateY(-5px);
  border-color:var(--ah-brass);
  box-shadow:var(--ah-shadow-card-hover);
}

.ah-card:hover::before{opacity:1}

.ah-card h3{
  margin:0 0 11px;
  color:var(--ah-ink);
  font-size:clamp(1.12rem,1.45vw,1.3rem);
  line-height:1.3;
  letter-spacing:-.012em;
}

.ah-card h3 a{
  color:var(--ah-ink);
  text-decoration:none;
}

.ah-card h3 a:hover{color:var(--ah-teal)}

.ah-card p{
  margin:0 0 13px;
  color:var(--ah-muted);
  font-size:.99rem;
  line-height:1.65;
}

.ah-card-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-bottom:2px solid var(--ah-brass);
  color:var(--ah-teal);
  font-weight:800;
  text-decoration:none;
}

.ah-card-link::after{
  content:"\2192";
  transition:transform .2s ease;
}

.ah-card-link:hover::after{transform:translateX(3px)}

/* -------------------------------------------------------------------------
 * Lists, areas and process
 * ---------------------------------------------------------------------- */

.ah-check-list,
.ah-area-list,
.ah-related-list,
.ah-contact-list{
  margin:0;
  padding:0;
  list-style:none;
}

.ah-check-list li{
  position:relative;
  padding:8px 0 8px 38px;
  color:var(--ah-ink);
  line-height:1.65;
}

.ah-check-list li::before{
  content:"\2713";
  position:absolute;
  top:7px;
  left:0;
  display:flex;
  width:25px;
  height:25px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--ah-tint);
  box-shadow:none;
  color:var(--ah-teal);
  font-size:.82rem;
  font-weight:900;
}

.ah-area-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.ah-area-list li{
  padding:14px 16px;
  border:1px solid var(--ah-border);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 6px 18px rgba(6,63,61,.05);
  color:var(--ah-petrol);
  font-weight:700;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.ah-area-list li:hover{
  transform:translateY(-2px);
  border-color:rgba(199,154,61,.55);
  box-shadow:var(--ah-shadow-card);
}

.ah-related-list li{padding:7px 0}
.ah-related-list a{font-weight:700}

.ah-contact-list li{
  padding:8px 0;
  color:var(--ah-ink);
  line-height:1.65;
}

.ah-contact-link{
  color:var(--ah-teal);
  font-weight:750;
}

.ah-process{
  display:grid;
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}

.ah-process-step{
  display:flex;
  gap:19px;
  align-items:flex-start;
  padding:clamp(21px,2.4vw,30px);
  border:1px solid var(--ah-border);
  border-radius:var(--ah-radius);
  background:linear-gradient(180deg,#fff,#fbfdfc);
  box-shadow:var(--ah-shadow-card);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.ah-process-step:hover{
  transform:translateY(-3px);
  border-color:rgba(199,154,61,.5);
  box-shadow:var(--ah-shadow-card-hover);
}

.ah-process-num{
  display:flex;
  flex:0 0 48px;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border:3px solid rgba(11,93,91,.16);
  border-radius:50%;
  background:var(--ah-teal);
  color:#fff;
  font-size:1.16rem;
  font-weight:900;
}

.ah-process-step h3{
  margin:0 0 7px;
  color:var(--ah-ink);
  font-size:1.1rem;
}

.ah-process-step p{
  margin:0;
  color:var(--ah-muted);
}

/* -------------------------------------------------------------------------
 * FAQ
 * ---------------------------------------------------------------------- */

.ah-faq-list{
  display:grid;
  gap:12px;
}

.ah-faq-item{
  overflow:hidden;
  padding:0 22px;
  border:1px solid var(--ah-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(6,63,61,.045);
  transition:border-color .2s ease,box-shadow .2s ease;
}

.ah-faq-item:hover,
.ah-faq-item[open]{
  border-color:rgba(11,93,91,.4);
  box-shadow:var(--ah-shadow-card);
}

.ah-faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 0;
  color:var(--ah-ink);
  font-weight:800;
  line-height:1.45;
  list-style:none;
  cursor:pointer;
}

.ah-faq-item summary::-webkit-details-marker{display:none}

.ah-faq-item summary::after{
  content:"+";
  display:flex;
  flex:0 0 30px;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--ah-bg-alt-2);
  color:var(--ah-petrol);
  font-size:1.25rem;
  font-weight:800;
  transition:transform .2s ease,background-color .2s ease,color .2s ease;
}

.ah-faq-item[open] summary::after{
  background:var(--ah-teal);
  color:#fff;
  transform:rotate(45deg);
}

.ah-faq-answer{
  border-top:1px solid var(--ah-border);
}

.ah-faq-answer p{
  margin:0;
  padding:15px 0 18px;
  color:var(--ah-muted);
}

/* -------------------------------------------------------------------------
 * Final CTA band and quote section/form
 * ---------------------------------------------------------------------- */

.ah-cta-band{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(64px,8vw,110px) var(--ah-wide-pad);
  background:
    radial-gradient(circle at 12% 0%,rgba(199,154,61,.17),transparent 32%),
    radial-gradient(circle at 88% 110%,rgba(46,140,132,.2),transparent 38%),
    linear-gradient(140deg,var(--ah-petrol-deep),var(--ah-petrol) 55%,var(--ah-petrol-2));
  color:#fff;
  text-align:center;
}

.ah-cta-band::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.026) 0,rgba(255,255,255,.026) 1px,transparent 1px,transparent 19px);
  pointer-events:none;
}

.ah-cta-band > *{
  position:relative;
  z-index:1;
  max-width:940px;
  margin-right:auto;
  margin-left:auto;
}

.ah-cta-band h2{
  margin-top:0;
  margin-bottom:14px;
  color:#fff;
  font-size:clamp(1.85rem,3.6vw,2.8rem);
  line-height:1.15;
  letter-spacing:-.025em;
}

.ah-cta-band p{
  margin-bottom:27px;
  color:#d7e4e1;
  font-size:1.06rem;
  line-height:1.65;
}

.ah-cta-band .ah-cta-row{justify-content:center}

.ah-quote-section{
  padding-right:var(--ah-wide-pad);
  padding-left:var(--ah-wide-pad);
  border-top:1px solid rgba(6,63,61,.05);
  border-bottom:1px solid rgba(6,63,61,.05);
  background:linear-gradient(180deg,#f2f8f6,var(--ah-tint));
}

.ah-quote-section > p{
  max-width:820px;
}

.ah-form{
  width:100%;
  max-width:940px;
  margin:26px auto 0;
  padding:clamp(25px,3.4vw,42px);
  border:1px solid rgba(6,63,61,.1);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--ah-shadow-panel);
}

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

.ah-field{margin:0 0 17px}

.ah-field label{
  display:block;
  margin-bottom:7px;
  color:var(--ah-petrol);
  font-size:.94rem;
  font-weight:800;
}

.ah-field input,
.ah-field select,
.ah-field textarea{
  width:100%;
  min-height:52px;
  padding:12px 14px;
  border:1px solid var(--ah-border-strong);
  border-radius:12px;
  background:#fbfdfc;
  box-sizing:border-box;
  color:var(--ah-ink);
  font:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.ah-field textarea{
  min-height:118px;
  resize:vertical;
}

.ah-field input:hover,
.ah-field select:hover,
.ah-field textarea:hover{
  border-color:#a7bdb9;
  background:#fff;
}

.ah-field input:focus,
.ah-field select:focus,
.ah-field textarea:focus{
  border-color:var(--ah-brass);
  background:#fff;
  outline:none;
  box-shadow:0 0 0 4px rgba(199,154,61,.18);
}

.ah-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.ah-notice{
  max-width:940px;
  margin:0 auto 19px;
  padding:16px 20px;
  border-radius:14px;
}

.ah-notice p{margin:0}
.ah-notice-success{background:#e7f7ec;border:1px solid #9fd8ae;color:#14532d}
.ah-notice-error{background:#fdecec;border:1px solid #f2b1b1;color:#7a1f1f}

/* -------------------------------------------------------------------------
 * Floating contact actions
 * ---------------------------------------------------------------------- */

.ah-float{
  position:fixed;
  right:20px;
  bottom:max(20px,env(safe-area-inset-bottom));
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

.ah-float-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 22px;
  border-radius:999px;
  box-shadow:0 14px 30px rgba(4,44,43,.28);
  font-size:.95rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,padding .2s ease;
}

.ah-float-btn svg{
  width:20px;
  height:20px;
  flex:0 0 auto;
}

.ah-float-btn:hover,
.ah-float-btn:focus-visible{
  padding-right:28px;
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(4,44,43,.32);
}

.ah-float-call{
  background:var(--ah-teal);
  color:#fff;
}

.ah-float-wa{
  background:linear-gradient(135deg,#25D366,#1FAF57 55%,#128C4B);
  color:#fff;
}

/* Gentle attention ring on the WhatsApp pill only. */
.ah-float-wa::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:0 0 0 0 rgba(37,211,102,.45);
  animation:ah-wa-pulse 2.6s ease-out infinite;
  pointer-events:none;
}

@keyframes ah-wa-pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}
  70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

/* -------------------------------------------------------------------------
 * Responsive rules
 * ---------------------------------------------------------------------- */

@media (max-width:1080px){
  .ah-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ah-area-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:900px){
  :root{
    --ah-gutter:clamp(18px,4vw,32px);
    --global-content-edge-padding:var(--ah-gutter);
  }

  .ah-section{
    padding-top:clamp(52px,9vw,76px);
    padding-bottom:clamp(52px,9vw,76px);
  }

  .ah-hero{
    padding-top:clamp(60px,11vw,88px);
    padding-bottom:clamp(60px,11vw,88px);
  }

  .ah-area-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:782px){
  body.admin-bar .site-header{top:46px}
}

@media (max-width:700px){
  .ah-form-grid{grid-template-columns:1fr}
}

@media (max-width:640px){
  :root{--ah-gutter:18px}

  .ah-section{
    padding:52px var(--ah-gutter);
  }

  .ah-section-alt,
  .ah-quote-section{
    padding-right:var(--ah-wide-pad);
    padding-left:var(--ah-wide-pad);
  }

  .ah-hero{
    padding:58px var(--ah-wide-pad);
  }

  .ah-hero-small{
    padding-top:50px;
    padding-bottom:50px;
  }

  .ah-hero{min-height:280px}

  .ah-hero h1{font-size:clamp(2.05rem,11vw,2.75rem)}
  .ah-hero-small h1{font-size:clamp(1.9rem,9vw,2.45rem)}
  .ah-hero-sub{font-size:1rem}

  .ah-grid-2,
  .ah-grid-3{grid-template-columns:1fr}

  .ah-card{padding:23px}
  .ah-area-list{grid-template-columns:repeat(2,minmax(0,1fr))}

  .ah-form{padding:22px 18px}

  .ah-btn{
    width:100%;
    text-align:center;
  }

  .ah-cta-row{
    flex-direction:column;
    align-items:stretch;
  }

  .ah-cta-band{
    padding-top:58px;
    padding-bottom:58px;
  }

  .ah-cta-band .ah-btn{width:min(100%,380px)}

  .ah-cta-band .ah-cta-row{align-items:center}

  .ah-process-step{
    gap:14px;
    padding:19px;
  }

  .ah-process-num{
    flex-basis:42px;
    width:42px;
    height:42px;
  }

  .ah-faq-item{padding:0 16px}

  /* Floating actions become a full-width bottom bar: Call | WhatsApp.
     The plugin adds body bottom padding inline (only when the buttons
     are rendered) so the bar never covers the footer text. */
  .ah-float{
    right:0;
    bottom:0;
    left:0;
    flex-direction:row;
    gap:0;
  }

  .ah-float-btn{
    flex:1 1 50%;
    justify-content:center;
    padding:15px 10px calc(15px + env(safe-area-inset-bottom));
    border-radius:0;
    box-shadow:0 -6px 20px rgba(4,44,43,.18);
    font-size:.92rem;
  }

  .ah-float-btn:hover,
  .ah-float-btn:focus-visible{
    padding-right:10px;
    transform:none;
  }

  .ah-float-wa::after{display:none}
}

@media (prefers-reduced-motion:reduce){
  .ah-btn,
  .ah-card,
  .ah-card-link::after,
  .ah-area-list li,
  .ah-process-step,
  .ah-faq-item,
  .ah-faq-item summary::after,
  .ah-float-btn,
  .site-header .main-navigation .menu > li > a::after,
  .site-header .header-navigation .menu > li > a::after,
  .site-header .primary-menu-container > ul > li > a::after{
    transition:none;
  }

  .ah-btn:hover,
  .ah-card:hover,
  .ah-area-list li:hover,
  .ah-process-step:hover,
  .ah-float-btn:hover{
    transform:none;
  }

  .ah-float-wa::after{animation:none}
}

/* -------------------------------------------------------------------------
 * Page media image (v1.2.0) - featured photo placed after the hero
 * ---------------------------------------------------------------------- */

.ah-page-media{
  max-width:var(--ah-content);
  margin:clamp(28px,4vw,52px) auto 0;
  padding-right:var(--ah-gutter);
  padding-left:var(--ah-gutter);
  box-sizing:border-box;
}

.ah-page-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:240px;
  object-fit:cover;
  border-radius:var(--ah-radius);
  box-shadow:var(--ah-shadow-panel);
}

@media (max-width:640px){
  .ah-page-media{margin-top:22px}
  .ah-page-media img{max-height:240px}
}

/* -------------------------------------------------------------------------
 * v1.3.0 - top utility bar
 * ---------------------------------------------------------------------- */

.ah-topbar{
  position:relative;
  z-index:1001;
  background:var(--ah-petrol);
  color:#fff;
  font-size:.86rem;
}

.ah-topbar-inner{
  display:flex;
  flex-wrap:wrap;
  gap:8px 26px;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:min(1600px,100%);
  margin:0 auto;
  padding:8px var(--ah-gutter);
  box-sizing:border-box;
}

.ah-topbar-tag{
  font-weight:700;
  letter-spacing:.04em;
}

.ah-topbar-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px 22px;
  align-items:center;
}

.ah-topbar-links a{
  color:#eaf3f1;
  font-weight:650;
  text-decoration:none;
  transition:color .18s ease;
}

.ah-topbar-links a:hover,
.ah-topbar-links a:focus-visible{
  color:#fff;
}

.ah-topbar-links a.ah-topbar-cta{
  padding:4px 14px;
  border:1.5px solid rgba(255,255,255,.85);
  border-radius:999px;
  background:transparent;
  color:#fff;
  font-weight:800;
}

.ah-topbar-links a.ah-topbar-cta:hover,
.ah-topbar-links a.ah-topbar-cta:focus-visible{
  color:var(--ah-petrol);
  background:#fff;
}

/* -------------------------------------------------------------------------
 * v1.3.0 - header refinements (Kadence)
 * ---------------------------------------------------------------------- */

.site-header .site-title,
.site-header .site-branding .site-title{
  color:var(--ah-petrol);
  font-weight:800;
}

.site-header .site-title::after{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin-top:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ah-brass),var(--ah-brass-light));
}

.site-header .main-navigation .menu > li > a,
.site-header .header-navigation .menu > li > a,
.site-header .primary-menu-container > ul > li > a{
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
}

/* Header nav links: dark slate, teal on hover (v1.5.0). */
.site-header .main-navigation .menu > li > a,
.site-header .header-navigation .menu > li > a,
.site-header .primary-menu-container > ul > li > a{
  color:#2d3748;
}

.site-header .main-navigation .menu > li > a:hover,
.site-header .header-navigation .menu > li > a:hover,
.site-header .primary-menu-container > ul > li > a:hover{
  color:var(--ah-teal);
}

/* "Get a Free Quote" is the last primary menu item - a solid teal pill. */
.site-header .primary-menu-container > ul > li:last-child > a,
.site-header .main-navigation .menu > li:last-child > a,
.site-header .header-button,
.site-header a.header-button{
  border-radius:999px;
  background:var(--ah-teal);
  box-shadow:0 10px 24px rgba(11,93,91,.28);
  color:#fff !important;
}

.site-header .primary-menu-container > ul > li:last-child > a::after,
.site-header .main-navigation .menu > li:last-child > a::after{
  display:none;
}

.site-header .primary-menu-container > ul > li:last-child > a:hover,
.site-header .main-navigation .menu > li:last-child > a:hover{
  background:var(--ah-teal-dark);
}

/* Mobile drawer in deep petrol. */
#mobile-drawer .drawer-inner,
.mobile-drawer-content,
#mobile-drawer .mobile-navigation{
  background:var(--ah-petrol-deep);
}

#mobile-drawer a,
.mobile-navigation a{
  color:#e7efed;
}

#mobile-drawer a:hover,
.mobile-navigation a:hover{
  color:var(--ah-brass-light);
}

/* -------------------------------------------------------------------------
 * v1.3.0 - split sections (photo one side, text the other)
 * ---------------------------------------------------------------------- */

.ah-split{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(28px,4.5vw,64px);
  align-items:center;
}

.ah-split-text h2{
  max-width:none;
}

.ah-split-text h3{
  margin:26px 0 10px;
  color:var(--ah-ink);
  font-size:1.12rem;
}

.ah-split-text h3:first-of-type{
  margin-top:20px;
}

.ah-split-media{
  min-width:0;
  height:100%;
  aspect-ratio:3/2;
  max-height:400px;
}

.ah-split-media img,
img.ah-split-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  border-radius:var(--ah-radius);
  box-shadow:var(--ah-shadow-panel);
}

/* Flipped split: photo moves to the left column on desktop. */
.ah-split-flip .ah-split-media{
  order:-1;
}

@media (max-width:900px){
  .ah-split{
    grid-template-columns:1fr;
    gap:24px;
  }

  /* Photo always sits above the text once stacked. */
  .ah-split .ah-split-media{
    order:-1;
  }

  .ah-split-media{
    aspect-ratio:3/2;
    max-height:260px;
  }

  .ah-split-media img,
  img.ah-split-photo{
    height:100%;
    min-height:220px;
    max-height:260px;
  }
}

/* -------------------------------------------------------------------------
 * v1.3.0 - cards with a photo on top
 * ---------------------------------------------------------------------- */

.ah-card-media{
  display:flex;
  flex-direction:column;
  padding:0;
}

.ah-card-media-wrap{
  overflow:hidden;
  aspect-ratio:16/9;
  max-height:220px;
  background:var(--ah-bg-alt-2);
}

.ah-card-media-wrap a{
  display:block;
  height:100%;
}

.ah-card-media-wrap img,
img.ah-card-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.ah-card-media:hover .ah-card-media-wrap img{
  transform:scale(1.045);
}

.ah-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:clamp(22px,2.2vw,30px);
}

.ah-card-body p:last-child{
  margin-top:auto;
  margin-bottom:0;
}

/* -------------------------------------------------------------------------
 * v1.3.0 - extended footer (injected by the plugin)
 * ---------------------------------------------------------------------- */

.ah-ext-footer{
  width:100vw;
  max-width:100vw;
  margin-right:calc(50% - 50vw);
  margin-left:calc(50% - 50vw);
  background:
    radial-gradient(circle at 90% 0%,rgba(199,154,61,.08),transparent 32%),
    var(--ah-footer-bg);
  color:#b9c6bd;
  box-sizing:border-box;
}

.ah-ext-footer *,
.ah-ext-footer *::before,
.ah-ext-footer *::after{
  box-sizing:border-box;
}

.ah-ext-footer-inner{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:clamp(26px,3.5vw,52px);
  width:100%;
  max-width:var(--ah-content);
  margin:0 auto;
  padding:clamp(40px,5vw,60px) var(--ah-gutter) clamp(30px,3.5vw,42px);
}

.ah-ext-footer-logo{
  margin:0 0 14px;
  color:#fff;
  font-size:1.5rem;
  font-weight:800;
  letter-spacing:-.02em;
}

.ah-ext-footer-logo span{
  color:var(--ah-brass-light);
}

.ah-ext-footer-col p{
  margin:0 0 14px;
  line-height:1.7;
  font-size:.98rem;
}

.ah-ext-footer-col h3{
  margin:0 0 18px;
  color:var(--ah-brass);
  font-size:1rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ah-ext-footer-col ul{
  margin:0;
  padding:0;
  list-style:none;
}

.ah-ext-footer-col li{
  padding:5px 0;
}

.ah-ext-footer-col a{
  color:#b9c6bd;
  font-size:.97rem;
  text-decoration:none;
  transition:color .18s ease,padding-left .18s ease;
}

.ah-ext-footer-col a:hover,
.ah-ext-footer-col a:focus-visible{
  color:#fff;
  padding-left:4px;
}

.ah-ext-footer-contact .ah-contact-link{
  color:var(--ah-brass-light);
  font-weight:750;
}

.ah-social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.ah-social-btn{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1.5px solid rgba(199,154,61,.65);
  border-radius:50%;
  color:var(--ah-brass-light);
  transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease;
}

.ah-social-btn:hover,
.ah-social-btn:focus-visible{
  border-color:var(--ah-brass);
  background:var(--ah-brass);
  color:#07211f;
  transform:translateY(-2px);
}

.ah-ext-footer-areas{
  max-width:34ch;
}

.ah-ext-footer-more{
  color:var(--ah-brass);
  font-weight:700;
  white-space:nowrap;
}

.ah-ext-footer-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px 30px;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:var(--ah-content);
  margin:0 auto;
  padding:22px var(--ah-gutter) 30px;
  border-top:1px solid rgba(185,198,189,.16);
  background:var(--ah-footer-bottom);
}

.ah-ext-footer-bottom p{
  margin:0;
  font-size:.92rem;
}

.ah-ext-footer-legal{
  display:flex;
  gap:24px;
}

.ah-ext-footer-legal a{
  color:#b9c6bd;
  text-decoration:none;
}

.ah-ext-footer-legal a:hover{
  color:#fff;
}

@media (max-width:1080px){
  .ah-ext-footer-inner{grid-template-columns:1fr 1fr}
}

@media (max-width:640px){
  .ah-ext-footer-inner{grid-template-columns:1fr}
  .ah-topbar-tag{display:none}
  .ah-topbar-inner{justify-content:center}
  .ah-ext-footer-bottom{justify-content:center;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  .ah-card-media-wrap img,
  .ah-social-btn,
  .ah-ext-footer-col a{
    transition:none;
  }

  .ah-card-media:hover .ah-card-media-wrap img{transform:none}
}

/* -------------------------------------------------------------------------
 * v1.5.0 - checklist grid + brass primary button on the dark CTA band
 * ---------------------------------------------------------------------- */

.ah-checklist-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 36px;
}

@media (max-width:700px){
  .ah-checklist-grid{grid-template-columns:1fr}
}

/* On the deep-petrol CTA band the primary button switches to brass so
   it keeps strong contrast against the dark background. */
.ah-cta-band .ah-btn-primary{
  background:linear-gradient(135deg,var(--ah-brass-light),var(--ah-brass));
  color:var(--ah-petrol-deep);
  box-shadow:0 12px 28px rgba(199,154,61,.3);
}

.ah-cta-band .ah-btn-primary:hover{
  background:linear-gradient(135deg,var(--ah-brass),var(--ah-brass-dark));
  color:var(--ah-petrol-deep);
}
