/*
 * Terra Pulse Contact Page Widgets
 * Scoped to the dah-tpc prefix to prevent collisions with the home-page addon,
 * themes, Elementor global classes and third-party widgets.
 */

.elementor-widget[class*="elementor-widget-dah-tpc-"]{
  width:100%;
  max-width:100%;
  margin-block-end:0!important;
  --kit-widget-spacing:0px;
}
.elementor-widget[class*="elementor-widget-dah-tpc-"]>.elementor-widget-container{
  width:100%;
  max-width:100%;
  overflow:visible;
}

.dah-tpc-scope{
  --tpc-navy:#072650;
  --tpc-green:#006f5b;
  --tpc-gold:#c79b67;
  --tpc-text:#647987;
  --tpc-line:#dfe7ea;
  --tpc-bg:#f4f8f9;
  --tpc-max:1220px;
  --tpc-shadow:0 24px 70px rgba(7,38,80,.12);
  --tpc-shadow-soft:0 14px 36px rgba(7,38,80,.07);
  direction:inherit;
  position:relative;
  width:100%;
  color:var(--tpc-navy);
  font-family:"Almarai",Tahoma,Arial,sans-serif;
  line-height:1.85;
  box-sizing:border-box;
}
.dah-tpc-scope *,
.dah-tpc-scope *:before,
.dah-tpc-scope *:after{box-sizing:border-box}
.dah-tpc-scope a{color:inherit;text-decoration:none}
.dah-tpc-scope h1,
.dah-tpc-scope h2,
.dah-tpc-scope h3,
.dah-tpc-scope p{margin:0}
.dah-tpc-scope h1,
.dah-tpc-scope h2,
.dah-tpc-scope h3{
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  letter-spacing:-.02em;
}
.dah-tpc-scope p{font-size:15px;color:var(--tpc-text)}
.dah-tpc-wrap{
  width:min(var(--tpc-max),calc(100% - 40px));
  margin-inline:auto;
}
.dah-tpc-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:var(--tpc-green);
  font-size:14px;
  font-weight:800;
}
.dah-tpc-kicker:before{
  content:"";
  width:26px;
  height:2px;
  border-radius:99px;
  background:var(--tpc-gold);
}

/* HERO */
.dah-tpc-hero{
  min-height:865px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding-top:135px;
  padding-bottom:72px;
  isolation:isolate;
  background:
    radial-gradient(circle at 10% 8%,rgba(199,155,103,.14),transparent 23%),
    radial-gradient(circle at 92% 88%,rgba(0,111,91,.09),transparent 25%),
    linear-gradient(180deg,#fbfcfd 0%,#f4f8f9 48%,#edf4f6 100%);
}
.dah-tpc-hero:before{
  content:"";
  position:absolute;
  left:-210px;
  bottom:-250px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(7,38,80,.06);
  box-shadow:
    0 0 0 76px rgba(7,38,80,.018),
    0 0 0 152px rgba(7,38,80,.011);
  pointer-events:none;
}
.dah-tpc-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.20;
  background-image:
    linear-gradient(rgba(7,38,80,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,38,80,.025) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 76%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 76%);
}
.dah-tpc-hero .dah-tpc-wrap{position:relative;z-index:2}
.dah-tpc-hero-grid{
  display:grid;
  grid-template-columns:minmax(430px,.9fr) minmax(0,1.1fr);
  gap:88px;
  align-items:center;
}
.dah-tpc-hero-copy{min-width:0;padding-inline-end:14px}
.dah-tpc-hero-copy>.dah-tpc-kicker{padding:0;border:0;background:transparent}
.dah-tpc-hero-copy>.dah-tpc-kicker:before{width:24px}
.dah-tpc-hero-title{
  max-width:700px;
  color:var(--tpc-navy);
  font-size:clamp(46px,4.8vw,68px);
  line-height:1.12;
  text-wrap:balance;
}
.dah-tpc-hero-title span{
  position:relative;
  display:inline;
  color:var(--tpc-green);
}
.dah-tpc-hero-title span:after{
  content:"";
  position:absolute;
  inset-inline-start:0;
  bottom:-8px;
  width:58%;
  height:4px;
  border-radius:999px;
  background:var(--tpc-gold);
}
.dah-tpc-hero-description{
  max-width:640px;
  margin-top:28px!important;
  color:#5f7482!important;
  font-size:17px!important;
  line-height:2!important;
}
.dah-tpc-direct-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:34px;
}
.dah-tpc-direct-card{
  min-width:0;
  min-height:82px;
  padding:16px 17px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:13px;
  align-items:center;
  border:1px solid rgba(7,38,80,.085);
  border-radius:19px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(7,38,80,.045);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.dah-tpc-direct-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,111,91,.25);
  box-shadow:0 20px 42px rgba(7,38,80,.085);
}
.dah-tpc-direct-icon{
  width:46px;
  height:46px;
  min-width:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#edf6f3;
  color:var(--tpc-green);
  font-size:19px;
  line-height:1;
}
.dah-tpc-direct-icon i{font-size:19px}
.dah-tpc-direct-icon svg{
  width:21px;
  height:21px;
  display:block;
  fill:currentColor;
}
.dah-tpc-direct-copy{min-width:0}
.dah-tpc-direct-copy small{
  display:block;
  color:#8b9aa4;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
}
.dah-tpc-direct-copy b{
  display:block;
  margin-top:3px;
  color:var(--tpc-navy);
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.dah-tpc-office-card{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:13px;
  align-items:start;
  margin-top:14px;
  padding:18px 19px;
  border:1px solid rgba(7,38,80,.08);
  border-radius:19px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(7,38,80,.04);
}
.dah-tpc-office-icon{
  background:#fbf4ec;
  color:#a8753c;
}
.dah-tpc-office-card b{
  display:block;
  color:var(--tpc-navy);
  font-size:14px;
  line-height:1.5;
}
.dah-tpc-office-card p{
  margin-top:5px;
  font-size:14px;
  line-height:1.9;
}

/* FORM */
.dah-tpc-hero-form{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(7,38,80,.07);
  border-radius:30px;
  background:#fff;
  box-shadow:
    0 38px 90px rgba(7,38,80,.145),
    0 12px 30px rgba(7,38,80,.04);
}
.dah-tpc-form-head{
  position:relative;
  overflow:hidden;
  padding:32px 34px 25px;
  border-bottom:1px solid #e7edef;
  background:
    radial-gradient(circle at 90% 0%,rgba(0,111,91,.055),transparent 32%),
    linear-gradient(180deg,#fff,#fbfcfd);
}
.dah-tpc-form-head:before{
  content:"";
  position:absolute;
  inset-inline-start:34px;
  top:0;
  width:54px;
  height:4px;
  border-radius:0 0 999px 999px;
  background:var(--tpc-gold);
}
.dah-tpc-form-head small{
  display:block;
  color:var(--tpc-green);
  font-size:14px;
  font-weight:800;
}
.dah-tpc-form-head h2{
  margin-top:7px;
  color:var(--tpc-navy);
  font-size:34px;
  line-height:1.3;
}
.dah-tpc-form-head p{
  max-width:560px;
  margin-top:8px;
  color:#70818b;
  font-size:14px;
  line-height:1.8;
}
.dah-tpc-forminator-shell{padding:29px 34px 34px}
.dah-tpc-form-placeholder{
  min-height:190px;
  padding:28px;
  border:1px dashed rgba(7,38,80,.18);
  border-radius:18px;
  display:grid;
  place-items:center;
  text-align:center;
  background:#f8fbfb;
  color:#71818b;
  font-size:14px;
}
.dah-tpc-forminator-shell .forminator-ui.forminator-custom-form{margin:0!important}
.dah-tpc-forminator-shell .forminator-row{margin-bottom:15px!important}
.dah-tpc-forminator-shell .forminator-col{padding-inline:7px!important}
.dah-tpc-forminator-shell .forminator-label{
  margin-bottom:7px!important;
  color:#4e6470!important;
  font-family:"Almarai",Tahoma,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
}
.dah-tpc-forminator-shell input.forminator-input,
.dah-tpc-forminator-shell textarea.forminator-textarea,
.dah-tpc-forminator-shell select.forminator-select2 + span .select2-selection,
.dah-tpc-forminator-shell .select2-selection{
  border:1px solid #dbe4e7!important;
  border-radius:14px!important;
  background:#f8fafb!important;
  color:var(--tpc-navy)!important;
  font-family:"Almarai",Tahoma,Arial,sans-serif!important;
  box-shadow:none!important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.dah-tpc-forminator-shell input.forminator-input{
  min-height:55px!important;
  padding:0 15px!important;
}
.dah-tpc-forminator-shell textarea.forminator-textarea{
  min-height:126px!important;
  padding:14px 15px!important;
}
.dah-tpc-forminator-shell input.forminator-input:focus,
.dah-tpc-forminator-shell textarea.forminator-textarea:focus{
  border-color:rgba(0,111,91,.46)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(0,111,91,.065)!important;
}
.dah-tpc-forminator-shell .forminator-button-submit{
  min-height:56px!important;
  padding:0 26px!important;
  border-radius:14px!important;
  background:var(--tpc-green)!important;
  color:#fff!important;
  font-family:"Almarai",Tahoma,Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:800!important;
  box-shadow:0 14px 30px rgba(0,111,91,.18)!important;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important;
}
.dah-tpc-forminator-shell .forminator-button-submit:hover{
  transform:translateY(-2px);
  background:#005d4c!important;
  box-shadow:0 18px 36px rgba(0,111,91,.22)!important;
}

/* DETAILS */
.dah-tpc-details{
  padding:30px 0;
  background:#fff;
  border-top:1px solid var(--tpc-line);
  border-bottom:1px solid var(--tpc-line);
}
.dah-tpc-details-grid{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  overflow:hidden;
  border:1px solid rgba(7,38,80,.075);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(7,38,80,.045);
}
.dah-tpc-detail-item{
  min-width:0;
  padding:20px 26px;
}
.dah-tpc-detail-item + .dah-tpc-detail-item{border-inline-start:1px solid var(--tpc-line)}
.dah-tpc-detail-item small{
  display:block;
  color:var(--tpc-green);
  font-size:13px;
  font-weight:800;
}
.dah-tpc-detail-item b{
  display:block;
  margin-top:4px;
  color:var(--tpc-navy);
  font-size:16px;
}
.dah-tpc-detail-content{
  margin-top:4px;
  color:var(--tpc-text);
  font-size:14px;
  line-height:1.9;
}
.dah-tpc-detail-content p{font-size:14px}
.dah-tpc-detail-content a{
  display:inline-block;
  color:var(--tpc-text);
  overflow-wrap:anywhere;
}
.dah-tpc-detail-content a:hover{color:var(--tpc-green)}

/* LOCATION */
.dah-tpc-location{
  padding:102px 0;
  background:linear-gradient(180deg,#f4f8f9,#eef5f6);
}
.dah-tpc-location-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:50px;
  align-items:end;
  margin-bottom:34px;
}
.dah-tpc-location-head h2{
  color:var(--tpc-navy);
  font-size:clamp(32px,3.4vw,46px);
  line-height:1.25;
}
.dah-tpc-location-head>p{
  font-size:15px;
  line-height:1.9;
}
.dah-tpc-location-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:20px;
  align-items:stretch;
}
.dah-tpc-location-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:36px;
  border:1px solid var(--tpc-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 46px rgba(7,38,80,.065);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.dah-tpc-location-card:after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  border:1px solid rgba(0,111,91,.07);
  inset:auto -105px -120px auto;
  box-shadow:0 0 0 34px rgba(0,111,91,.02);
  pointer-events:none;
}
.dah-tpc-location-card>*{position:relative;z-index:2}
.dah-tpc-location-card h2{
  color:var(--tpc-navy);
  font-size:clamp(32px,3.1vw,43px);
  line-height:1.3;
}
.dah-tpc-location-address{
  margin-top:12px!important;
  color:var(--tpc-text)!important;
  font-size:16px!important;
  line-height:1.95!important;
}
.dah-tpc-location-links{
  display:grid;
  gap:10px;
  margin-top:28px;
}
.dah-tpc-location-link{
  min-height:53px;
  padding:11px 14px;
  border:1px solid transparent;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:#f7fafb;
  color:var(--tpc-navy);
  font-size:14px;
  font-weight:800;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.dah-tpc-location-link:hover{
  border-color:rgba(0,111,91,.14);
  background:#eaf4f1;
  color:var(--tpc-green);
}
.dah-tpc-mini-icon{
  width:34px;
  height:34px;
  min-width:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#eaf4f1;
  color:var(--tpc-green);
}
.dah-tpc-mini-icon i{font-size:16px}
.dah-tpc-mini-icon svg{width:17px;height:17px;fill:currentColor}
.dah-tpc-map-shell{
  position:relative;
  min-height:530px;
  overflow:hidden;
  border:1px solid var(--tpc-line);
  border-radius:28px;
  background:#e7eef0;
  box-shadow:0 20px 52px rgba(7,38,80,.085);
}
.dah-tpc-map-shell:after{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  border:1px solid rgba(255,255,255,.44);
  border-radius:21px;
  pointer-events:none;
}
.dah-tpc-map-shell iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:530px;
  border:0;
}

/* FAQ */
.dah-tpc-faq{
  --tpc-faq-sticky-top:118px;
  overflow:visible;
  padding:106px 0 112px;
  background:
    radial-gradient(circle at 7% 14%,rgba(0,111,91,.055),transparent 22%),
    linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}
.dah-tpc-faq-grid{
  display:grid;
  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
  gap:72px;
  align-items:start;
}
.dah-tpc-faq-sticky .dah-tpc-faq-intro{
  position:sticky;
  top:var(--tpc-faq-sticky-top);
}
.dah-tpc-faq-intro{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:31px;
  border-radius:28px;
  isolation:isolate;
  color:#fff;
  background:
    radial-gradient(circle at 12% 8%,rgba(199,155,103,.16),transparent 27%),
    linear-gradient(145deg,#071f47 0%,#0a3766 62%,#07594f 120%);
  box-shadow:0 26px 64px rgba(7,38,80,.15);
}
.dah-tpc-faq-intro:before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  inset:auto -115px -135px auto;
  box-shadow:
    0 0 0 42px rgba(255,255,255,.021),
    0 0 0 84px rgba(255,255,255,.011);
  pointer-events:none;
  z-index:-1;
}
.dah-tpc-faq-intro .dah-tpc-kicker{color:#e2c59f}
.dah-tpc-faq-intro .dah-tpc-kicker:before{background:#e2c59f}
.dah-tpc-faq-intro h2{
  max-width:460px;
  color:#fff;
  font-size:clamp(33px,3vw,44px);
  line-height:1.28;
}
.dah-tpc-faq-lead{
  max-width:450px;
  margin-top:15px!important;
  color:#c4d3da!important;
  font-size:15px!important;
  line-height:2!important;
}
.dah-tpc-faq-contact{
  position:relative;
  z-index:2;
  margin-top:27px;
  padding:18px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:rgba(255,255,255,.07);
}
.dah-tpc-faq-contact b{
  display:block;
  color:#fff;
  font-size:14px;
}
.dah-tpc-faq-contact p{
  margin-top:5px;
  color:#bcd0d7!important;
  font-size:14px!important;
}
.dah-tpc-faq-contact a{
  min-height:42px;
  margin-top:14px;
  padding:0 13px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#fff;
  color:var(--tpc-navy);
  font-size:14px;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease;
}
.dah-tpc-faq-contact a:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.13);
}
.dah-tpc-faq-list{
  display:grid;
  gap:13px;
}
.dah-tpc-faq-list details{
  position:relative;
  overflow:hidden;
  margin:0;
  border:1px solid rgba(7,38,80,.095);
  border-radius:19px;
  background:#fff;
  box-shadow:0 10px 28px rgba(7,38,80,.035);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.dah-tpc-faq-list details:hover{
  transform:translateY(-2px);
  border-color:rgba(0,111,91,.20);
  box-shadow:0 17px 38px rgba(7,38,80,.06);
}
.dah-tpc-faq-list details[open]{
  transform:none;
  border-color:rgba(0,111,91,.24);
  box-shadow:0 18px 42px rgba(7,38,80,.07);
}
.dah-tpc-faq-list details:after{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--tpc-green);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .24s ease;
}
.dah-tpc-faq-list details[open]:after{transform:scaleY(1)}
.dah-tpc-faq-list summary{
  list-style:none;
  min-height:76px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  cursor:pointer;
  color:var(--tpc-navy);
  background:#fff;
}
.dah-tpc-faq-list summary::-webkit-details-marker{display:none}
.dah-tpc-faq-list summary::marker{content:""}
.dah-tpc-faq-list summary::after{content:none!important;display:none!important}
.dah-tpc-faq-list summary::before{
  content:"+";
  order:2;
  flex:0 0 42px;
  width:42px;
  height:42px;
  min-width:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#eef6f3;
  color:var(--tpc-green);
  font:800 20px/1 Arial,sans-serif;
  box-shadow:inset 0 0 0 1px rgba(0,111,91,.055);
}
.dah-tpc-faq-list details[open] summary{
  background:linear-gradient(180deg,#fff,#f8fbfc);
  border-bottom:1px solid rgba(7,38,80,.06);
}
.dah-tpc-faq-list details[open] summary::before{
  content:"−";
  background:var(--tpc-navy);
  color:#fff;
}
.dah-tpc-faq-question{
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:13px;
}
.dah-tpc-faq-number{
  flex:0 0 auto;
  color:var(--tpc-gold);
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:14px;
  font-weight:700;
}
.dah-tpc-faq-title{
  min-width:0;
  color:var(--tpc-navy);
  font-size:15px;
  font-weight:800;
  line-height:1.7;
}
.dah-tpc-faq-answer{
  position:relative;
  padding:8px 20px 22px 64px;
  color:#607783;
  font-size:14px;
  line-height:2;
}
.dah-tpc-faq-answer p{font-size:14px;line-height:2}
.dah-tpc-faq-answer:before{
  content:"";
  position:absolute;
  inset-inline-start:20px;
  top:11px;
  width:26px;
  height:1px;
  background:var(--tpc-gold);
  opacity:.75;
}

/* CTA */
.dah-tpc-cta{
  padding:0 0 96px;
  background:linear-gradient(180deg,#fbfcfd 0%,#f4f8f9 100%);
}
.dah-tpc-cta-panel{
  position:relative;
  overflow:hidden;
  min-height:174px;
  padding:38px 40px;
  border-radius:30px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:34px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 20%,rgba(199,155,103,.17),transparent 27%),
    linear-gradient(135deg,#071f47,#0a3766 58%,#07594f);
  box-shadow:0 26px 64px rgba(7,38,80,.14);
}
.dah-tpc-cta-panel:after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  inset-inline-end:-120px;
  bottom:-160px;
  box-shadow:0 0 0 48px rgba(255,255,255,.022);
  pointer-events:none;
}
.dah-tpc-cta-panel>*{position:relative;z-index:2}
.dah-tpc-cta-panel h2,
.dah-tpc-cta-panel h3,
.dah-tpc-cta-title{
  margin:0;
  color:#fff;
  font-size:27px;
  line-height:1.4;
}
.dah-tpc-cta-panel p{
  margin-top:6px;
  color:#c6d5dc!important;
  font-size:15px!important;
}
.dah-tpc-cta-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.dah-tpc-cta-btn{
  min-height:52px;
  padding:0 20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:14px;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.dah-tpc-cta-btn:hover{transform:translateY(-2px)}
.dah-tpc-cta-btn>span{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
}
.dah-tpc-cta-btn i{font-size:15px}
.dah-tpc-cta-btn svg{width:16px;height:16px;fill:currentColor}
.dah-tpc-cta-primary{
  background:#fff;
  color:var(--tpc-navy);
  box-shadow:0 12px 26px rgba(0,0,0,.11);
}
.dah-tpc-cta-secondary{
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.07);
  color:#fff;
}

/* ACCESSIBILITY */
.dah-tpc-scope a:focus-visible,
.dah-tpc-scope summary:focus-visible,
.dah-tpc-scope button:focus-visible,
.dah-tpc-scope input:focus-visible,
.dah-tpc-scope textarea:focus-visible,
.dah-tpc-scope select:focus-visible{
  outline:3px solid rgba(0,111,91,.24);
  outline-offset:3px;
}

/* TABLET */
@media(max-width:1000px){
  .dah-tpc-hero{
    min-height:auto;
    padding-top:110px;
    padding-bottom:58px;
  }
  .dah-tpc-hero-grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .dah-tpc-hero-copy{padding-inline-end:0;max-width:780px}
  .dah-tpc-hero-form{max-width:780px;width:100%}

  .dah-tpc-details-grid{grid-template-columns:1fr 1fr}
  .dah-tpc-detail-item:first-child{
    grid-column:1/-1;
    border-bottom:1px solid var(--tpc-line);
  }
  .dah-tpc-detail-item:nth-child(2){border-inline-start:0}

  .dah-tpc-location{
    padding-top:82px;
    padding-bottom:82px;
  }
  .dah-tpc-location-head,
  .dah-tpc-location-grid{
    grid-template-columns:1fr;
  }
  .dah-tpc-location-card{min-height:340px}

  .dah-tpc-faq{
    padding-top:82px;
    padding-bottom:86px;
  }
  .dah-tpc-faq-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .dah-tpc-faq-sticky .dah-tpc-faq-intro,
  .dah-tpc-faq-intro{
    position:relative;
    top:auto;
  }
  .dah-tpc-faq-intro h2{max-width:650px}
  .dah-tpc-faq-lead{max-width:700px}
  .dah-tpc-faq-contact{max-width:620px}
}

/* MOBILE */
@media(max-width:700px){
  .dah-tpc-wrap{width:calc(100% - 24px)}

  .dah-tpc-hero{
    padding-top:84px;
    padding-bottom:48px;
  }
  .dah-tpc-hero-title{
    font-size:clamp(37px,10vw,49px);
  }
  .dah-tpc-hero-description{font-size:16px!important}
  .dah-tpc-direct-grid{grid-template-columns:1fr}
  .dah-tpc-direct-card{
    min-height:76px;
    grid-template-columns:43px minmax(0,1fr);
  }
  .dah-tpc-direct-icon{
    width:43px;
    height:43px;
    min-width:43px;
  }
  .dah-tpc-office-card{grid-template-columns:43px minmax(0,1fr)}

  .dah-tpc-form-head{padding:26px 21px 20px}
  .dah-tpc-form-head:before{inset-inline-start:21px}
  .dah-tpc-form-head h2{font-size:29px}
  .dah-tpc-forminator-shell{padding:21px}
  .dah-tpc-forminator-shell .forminator-col{padding-inline:0!important}

  .dah-tpc-details-grid{grid-template-columns:1fr;border-radius:18px}
  .dah-tpc-detail-item{padding:16px 14px}
  .dah-tpc-detail-item:first-child{grid-column:auto}
  .dah-tpc-detail-item + .dah-tpc-detail-item{
    border-inline-start:0;
    border-top:1px solid var(--tpc-line);
  }

  .dah-tpc-location{
    padding-top:70px;
    padding-bottom:70px;
  }
  .dah-tpc-location-head{gap:15px}
  .dah-tpc-location-card{padding:25px}
  .dah-tpc-map-shell,
  .dah-tpc-map-shell iframe{min-height:380px}

  .dah-tpc-faq{
    padding-top:68px;
    padding-bottom:72px;
  }
  .dah-tpc-faq-intro{
    padding:23px 20px;
    border-radius:23px;
  }
  .dah-tpc-faq-intro h2{font-size:clamp(29px,8vw,38px)}
  .dah-tpc-faq-list{gap:10px}
  .dah-tpc-faq-list details{border-radius:16px}
  .dah-tpc-faq-list summary{
    min-height:66px;
    padding:13px;
    gap:11px;
  }
  .dah-tpc-faq-question{gap:9px}
  .dah-tpc-faq-number{font-size:13px}
  .dah-tpc-faq-title{font-size:14px}
  .dah-tpc-faq-list summary::before{
    flex-basis:36px;
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:10px;
    font-size:18px;
  }
  .dah-tpc-faq-answer{
    padding:6px 14px 18px;
  }
  .dah-tpc-faq-answer:before{display:none}

  .dah-tpc-cta{padding-bottom:70px}
  .dah-tpc-cta-panel{
    min-height:auto;
    padding:27px 21px;
    grid-template-columns:1fr;
  }
  .dah-tpc-cta-actions{display:grid}
  .dah-tpc-cta-btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .dah-tpc-scope *,
  .dah-tpc-scope *:before,
  .dah-tpc-scope *:after{
    scroll-behavior:auto!important;
    transition-duration:0s!important;
    animation-duration:0s!important;
  }
}


/* ==============================================================
   v1.0.1 — TERRA PULSE HOME ADDON COMPATIBILITY
   ============================================================== */

/*
 * The existing home addon applies generic selectors through
 * body.dah-tp-site (h1/h2/h3/p/a). These local selectors intentionally
 * carry higher component specificity without affecting anything outside
 * the Contact Page widgets.
 */
.elementor-widget[class*="elementor-widget-dah-tpc-"]{
  overflow:visible!important;
}

/* Hero */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-hero-title{
  margin:0;
  color:var(--tpc-navy);
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:clamp(46px,4.8vw,68px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.02em;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-hero-title span{
  color:var(--tpc-green);
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-hero-description{
  color:#5f7482;
  font-family:"Almarai",Tahoma,Arial,sans-serif;
  font-size:17px;
  line-height:2;
}

/* Form card heading */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-form-head h2{
  margin:7px 0 0;
  color:var(--tpc-navy);
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:34px;
  font-weight:700;
  line-height:1.3;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-form-head p{
  color:#70818b;
  font-size:14px;
  line-height:1.8;
}

/* Location */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-location-head h2{
  margin:0;
  color:var(--tpc-navy);
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:clamp(32px,3.4vw,46px);
  font-weight:700;
  line-height:1.25;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-location-card h2{
  margin:0;
  color:var(--tpc-navy);
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:clamp(32px,3.1vw,43px);
  font-weight:700;
  line-height:1.3;
}

/* FAQ */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-intro h2{
  margin:0;
  max-width:460px;
  color:#fff;
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:clamp(33px,3vw,44px);
  font-weight:700;
  line-height:1.28;
  letter-spacing:-.02em;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-intro .dah-tpc-faq-lead{
  margin-top:15px;
  color:#c4d3da;
  font-size:15px;
  line-height:2;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-contact b{
  color:#fff;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-contact p{
  color:#bcd0d7;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-contact a,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-contact a:hover{
  color:var(--tpc-navy);
}

/* CTA */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-panel h2,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-panel h3,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-title{
  margin:0;
  color:#fff;
  font-family:"El Messiri","Almarai",Tahoma,Arial,sans-serif;
  font-size:27px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:-.02em;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-panel p{
  color:#c6d5dc;
  font-size:15px;
  line-height:1.85;
}
.dah-tpc-scope.dah-tpc-scope a.dah-tpc-cta-primary,
.dah-tpc-scope.dah-tpc-scope a.dah-tpc-cta-primary:hover{
  color:var(--tpc-navy);
}
.dah-tpc-scope.dah-tpc-scope a.dah-tpc-cta-secondary,
.dah-tpc-scope.dah-tpc-scope a.dah-tpc-cta-secondary:hover{
  color:#fff;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-btn svg,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-btn i{
  color:currentColor;
}

/* ==============================================================
   FORMINATOR — CHECKBOX / CONSENT / RADIO HARDENING
   ============================================================== */

/* Keep native Forminator label typography readable. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox-label,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-radio-label,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-consent__label,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-consent__label p,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-consent__label a{
  color:#5b6f7a;
  font-family:"Almarai",Tahoma,Arial,sans-serif;
  font-size:14px;
  line-height:1.75;
}

/* Normal checkbox / radio wrappers. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-radio{
  min-height:26px;
  align-items:flex-start;
}

/* Visible unchecked state. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox-box{
  position:relative;
  width:23px!important;
  height:23px!important;
  min-width:23px!important;
  border:2px solid #b8c8ce!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)!important;
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease!important;
}

/*
 * Draw the check ourselves. This is independent from Forminator's icon font,
 * so the selected state stays obvious even when another addon changes it.
 */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox-box:after{
  content:""!important;
  position:absolute!important;
  left:6px!important;
  top:2px!important;
  width:6px!important;
  height:11px!important;
  border:solid #fff!important;
  border-width:0 2px 2px 0!important;
  transform:rotate(45deg) scale(.55)!important;
  transform-origin:center!important;
  opacity:0!important;
  transition:opacity .14s ease,transform .14s ease!important;
}

/* Strong selected state. Support the common Forminator DOM variations. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox input:checked + .forminator-checkbox-box,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox input[checked] + .forminator-checkbox-box,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell input[type="checkbox"]:checked + .forminator-checkbox-box{
  border-color:var(--tpc-green)!important;
  background:var(--tpc-green)!important;
  box-shadow:
    0 0 0 4px rgba(0,111,91,.10),
    inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox input:checked + .forminator-checkbox-box:after,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox input[checked] + .forminator-checkbox-box:after,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell input[type="checkbox"]:checked + .forminator-checkbox-box:after{
  opacity:1!important;
  transform:rotate(45deg) scale(1)!important;
}

/* Keyboard focus makes the control obvious too. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-checkbox input:focus-visible + .forminator-checkbox-box{
  outline:3px solid rgba(0,111,91,.17)!important;
  outline-offset:2px!important;
}

/* Radio state. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-radio-bullet{
  position:relative;
  width:23px!important;
  height:23px!important;
  min-width:23px!important;
  border:2px solid #b8c8ce!important;
  border-radius:50%!important;
  background:#fff!important;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-radio-bullet:after{
  content:""!important;
  position:absolute!important;
  inset:5px!important;
  border-radius:50%!important;
  background:#fff!important;
  opacity:0!important;
  transform:scale(.55)!important;
  transition:opacity .14s ease,transform .14s ease!important;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-radio input:checked + .forminator-radio-bullet{
  border-color:var(--tpc-green)!important;
  background:var(--tpc-green)!important;
  box-shadow:0 0 0 4px rgba(0,111,91,.10)!important;
}
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-radio input:checked + .forminator-radio-bullet:after{
  opacity:1!important;
  transform:scale(1)!important;
}

/* Consent box spacing. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-field-consent .forminator-checkbox,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-consent{
  gap:10px;
}

/* Error state remains visible. */
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-has_error .forminator-checkbox-box,
.dah-tpc-scope.dah-tpc-scope .dah-tpc-forminator-shell .forminator-has_error .forminator-radio-bullet{
  border-color:#b94b50!important;
}

/* Responsive component sizes. */
@media(max-width:1000px){
  .dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-intro h2{
    max-width:650px;
  }
}
@media(max-width:700px){
  .dah-tpc-scope.dah-tpc-scope .dah-tpc-hero-title{
    font-size:clamp(37px,10vw,49px);
  }
  .dah-tpc-scope.dah-tpc-scope .dah-tpc-faq-intro h2{
    font-size:clamp(29px,8vw,38px);
  }
  .dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-panel h2,
  .dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-panel h3,
  .dah-tpc-scope.dah-tpc-scope .dah-tpc-cta-title{
    font-size:24px;
  }
}


/* ==============================================================
   v1.0.2 — FAQ SPACING / POLYLANG / RTL-LTR REFINEMENT
   ============================================================== */

/*
 * The section direction follows the translated Elementor page.
 * Polylang switches the page language/direction; no hard-coded RTL is used.
 */
.dah-tpc-scope.dah-tpc-faq{
  direction:inherit;
}
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-grid,
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list,
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-intro{
  direction:inherit;
}

/* More deliberate space around the FAQ column. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list{
  min-width:0;
  padding-block:4px;
  gap:14px;
}

/* Card shape / breathing room. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list details{
  border-radius:20px;
  border-color:rgba(7,38,80,.09);
  box-shadow:
    0 10px 28px rgba(7,38,80,.035),
    0 1px 0 rgba(255,255,255,.9) inset;
}

/* Question row: stronger internal padding and balanced alignment. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list summary{
  min-height:82px;
  padding:18px 22px;
  gap:18px;
  text-align:start;
}

/* Question text column gets breathing room. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-question{
  min-width:0;
  flex:1 1 auto;
  gap:14px;
  align-items:center;
}

/* Number becomes a subtle pill instead of floating text at the edge. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-number{
  flex:0 0 auto;
  min-width:34px;
  height:30px;
  padding-inline:8px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#fbf5ee;
  color:var(--tpc-gold);
  font-size:13px;
  line-height:1;
}

/* Clearer question hierarchy. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-title{
  min-width:0;
  color:var(--tpc-navy);
  font-size:15px;
  font-weight:800;
  line-height:1.75;
}

/* Plus/minus control: larger click target, softer contrast. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list summary::before{
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:13px;
  background:#edf6f3;
  color:var(--tpc-green);
  box-shadow:
    inset 0 0 0 1px rgba(0,111,91,.07),
    0 4px 12px rgba(0,111,91,.035);
}

/* Open item has stronger separation without looking heavy. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list details[open]{
  border-color:rgba(0,111,91,.23);
  box-shadow:0 18px 40px rgba(7,38,80,.065);
}
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list details[open] summary{
  background:linear-gradient(180deg,#fff,#f7fafb);
}

/* Answer padding now matches the question row instead of touching the edges. */
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-answer{
  padding-top:15px;
  padding-inline-start:70px;
  padding-inline-end:22px;
  padding-bottom:24px;
  color:#607783;
  line-height:2;
}
.dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-answer:before{
  inset-inline-start:22px;
  top:22px;
  width:30px;
}

/* RTL: number naturally starts at the right, icon stays at opposite edge. */
[dir="rtl"] .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-question{
  flex-direction:row;
}

/* LTR translated pages remain visually correct. */
[dir="ltr"] .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-question{
  flex-direction:row;
}
[dir="ltr"] .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list summary::before{
  order:2;
}

/* Tablet */
@media(max-width:1000px){
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list{
    padding-inline:2px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list summary{
    min-height:78px;
    padding:17px 20px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-answer{
    padding-inline-start:64px;
    padding-inline-end:20px;
  }
}

/* Mobile */
@media(max-width:700px){
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list{
    gap:10px;
    padding-inline:0;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list details{
    border-radius:17px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list summary{
    min-height:72px;
    padding:15px 16px;
    gap:12px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-question{
    gap:10px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-number{
    min-width:30px;
    height:27px;
    padding-inline:7px;
    font-size:12px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-title{
    font-size:14px;
    line-height:1.7;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-list summary::before{
    flex-basis:38px;
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:11px;
    font-size:18px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-answer{
    padding:14px 16px 20px;
  }
  .dah-tpc-scope.dah-tpc-faq .dah-tpc-faq-answer:before{
    display:none;
  }
}
