/* =====================================================================
   Gilbert Concrete — Homepage global styles (native Elementor rebuild)
   Ported from the original homepage CSS and retargeted to Elementor's DOM.
   No HTML/Code widgets are used on the page; structure is native
   Containers + native widgets carrying these BEM classes.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Lato:wght@400;700&display=swap');

/* ---------- Elementor compatibility layer ----------
   Neutralize wrapper spacing so the ported layout holds, and make
   the BEM-classed widget wrappers behave like the original elements. */
.gc-sec, .gc-sec * { box-sizing: border-box; }
.gc-sec .elementor-widget-container { margin: 0; padding: 0; }
.gc-sec .elementor-heading-title { margin: 0; line-height: inherit; }
.gc-sec .elementor-widget { margin: 0; }
.gc-sec .elementor-icon-list-items { margin: 0; padding: 0; }

/* =====================================================================
   SECTION 1 — HERO
   ===================================================================== */
.gchero { font-family: 'Lato', sans-serif; position: relative; overflow: hidden; }
.gchero > .e-con-inner, .gchero.e-con > .e-con-inner { width: 100%; max-width: 1240px; }
.gchero__row { position: relative; z-index: 2; width: 100%; max-width: 1240px; margin: 0 auto; }
.gchero__wrap { text-align: left; }

/* Label pill */
.gchero__label .elementor-heading-title,
.gchero__label { display: inline-block; }
.gchero__label .elementor-heading-title { background: #E8820C; color: #fff; font-family:'Lato',sans-serif; font-size: 10.5px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; padding: 5px 14px; border-radius: 2px; }

/* H1 */
.gchero__h1 .elementor-heading-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(34px, 5vw, 60px); font-weight: 900; line-height: 1.05; color: #ffffff; letter-spacing: -0.5px; }
.gchero__h1 .elementor-heading-title span,
.gchero__h1 .gc-accent { color: #E8820C; }

/* H2 subheading */
.gchero__h2 .elementor-heading-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(17px, 2vw, 22px); font-weight: 600; color: rgba(255,255,255,0.88); letter-spacing: 0.3px; line-height: 1.3; }

/* Sub paragraph */
.gchero__sub, .gchero__sub p { font-size: 15.5px; line-height: 1.75; color: rgba(255,255,255,0.70); }
.gchero__sub { max-width: 560px; }
.gchero__sub strong { color: #fff; font-weight: 700; }

/* Trust list (Elementor Icon List) */
.gchero__trust .elementor-icon-list-items { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px 20px; }
.gchero__trust .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.gchero__trust .elementor-icon-list-item > a { display: flex; align-items: center; gap: 6px; }
.gchero__trust .elementor-icon-list-icon svg { width: 14px; height: 14px; fill: #E8820C; }
.gchero__trust .elementor-icon-list-text { font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,0.82); }

/* Buttons */
.gchero__btns { display: flex; flex-wrap: wrap; gap: 14px; }
.gc-btn .elementor-button { font-family:'Lato',sans-serif; font-size:16px; font-weight:700; padding:17px 34px; border-radius:4px; letter-spacing:0.3px; transition: background .2s ease, transform .2s ease, border-color .2s ease; display:inline-flex; align-items:center; gap:10px; }
.gc-btn .elementor-button:hover { transform: translateY(-2px); }
.gc-btn--primary .elementor-button { background:#E8820C; color:#fff; box-shadow:0 6px 22px rgba(232,130,12,0.38); }
.gc-btn--primary .elementor-button:hover { background:#C96E08; color:#fff; }
.gc-btn--call .elementor-button { background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.25); }
.gc-btn--call .elementor-button:hover { border-color: rgba(255,255,255,0.6); color:#fff; }
.gc-btn .elementor-button-icon svg { width:18px; height:18px; fill: currentColor; }

/* =====================================================================
   GLASS FORM (WPForms 1836 inside .gc-form-wrap)
   ===================================================================== */
.gc-form-wrap { position: relative; z-index: 2; }
.gc-form-wrap .wpforms-container { margin: 0; }
.gc-form-wrap .wpforms-form {
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 20px;
  padding: 32px 30px 28px;
  box-shadow: 0 20px 50px rgba(8,12,22,0.45);
}
.gc-form-wrap .wpforms-form .wpforms-field { padding: 0 0 16px; }
.gc-form-wrap .wpforms-field-label { color: rgba(255,255,255,0.92) !important; font-family:'Lato',sans-serif; font-weight:700; font-size:13px; margin-bottom:6px; }
.gc-form-wrap .wpforms-field-description { color: rgba(255,255,255,0.6); }
.gc-form-wrap input[type=text],
.gc-form-wrap input[type=email],
.gc-form-wrap input[type=tel],
.gc-form-wrap textarea,
.gc-form-wrap select,
.gc-form-wrap .wpforms-field-row input {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 12px !important;
  padding: 13px 15px !important;
  font-family:'Lato',sans-serif; font-size:14.5px; color:#1A1A2E !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  width: 100%;
}
.gc-form-wrap textarea { min-height: 96px; }
.gc-form-wrap input:focus, .gc-form-wrap textarea:focus, .gc-form-wrap select:focus {
  outline: none;
  border-color: #E8820C !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(232,130,12,0.25);
}
.gc-form-wrap input::placeholder, .gc-form-wrap textarea::placeholder { color: rgba(26,26,46,0.45); }
.gc-form-wrap .wpforms-field-name .wpforms-field-row { gap: 12px; }
.gc-form-wrap button[type=submit], .gc-form-wrap .wpforms-submit {
  background: #E8820C !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family:'Lato',sans-serif; font-weight: 700 !important; font-size: 16px !important;
  padding: 16px 28px !important;
  width: 100%;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(232,130,12,0.40);
  transition: background .18s ease, transform .18s ease;
}
.gc-form-wrap button[type=submit]:hover, .gc-form-wrap .wpforms-submit:hover { background: #C96E08 !important; transform: translateY(-2px); }

/* =====================================================================
   Responsive — hero
   ===================================================================== */
/* Hero overlay + layout (additions) */
.gchero { background-color: #1A1A2E; }
.gchero::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background: linear-gradient(100deg, rgba(10,15,26,0.94) 0%, rgba(10,15,26,0.88) 38%, rgba(10,15,26,0.55) 62%, rgba(10,15,26,0.30) 100%); }
.gchero > .e-con-inner, .gchero > .elementor-element, .gchero > * { position: relative; z-index: 2; }
.gchero__row { display: flex; flex-wrap: wrap; align-items: center; gap: 40px; }
.gchero__wrap { flex: 1 1 56%; max-width: 56%; }
.gchero__form-slot { flex: 1 1 40%; max-width: 40%; }
.gchero__wrap > .elementor-element { width: 100%; }
.gchero__label { margin-bottom: 24px; }
.gchero__h1 { margin-bottom: 14px; }
.gchero__h2 { margin-bottom: 22px; }
.gchero__sub { margin-bottom: 32px; }
.gchero__trust { margin-bottom: 36px; }
.gchero__trust .elementor-icon-list-icon i { color: #E8820C; font-size: 14px; }
.gchero__trust .elementor-icon-list-icon { display:flex; align-items:center; }
.gc-btn .elementor-button-icon i { font-size: 16px; }
.gchero__sub .elementor-widget-container > p:last-child { margin-bottom: 0; }
.gchero__h2 .elementor-heading-title { display:block; }
@media (max-width: 900px) {
  .gchero__row { flex-direction: column; }
  .gchero__wrap, .gchero__form-slot { flex-basis: 100%; max-width: 100%; }
  .gchero__btns { gap: 12px; }
}

/* ---------- Shared button variants ---------- */
.gc-btn--solid .elementor-button { background:#E8820C; color:#fff; box-shadow:0 4px 16px rgba(232,130,12,.30); }
.gc-btn--solid .elementor-button:hover { background:#C96E08; color:#fff; }
.gc-btn--outline .elementor-button { background:transparent; color:#1A1A2E; border:2px solid #1A1A2E; }
.gc-btn--outline .elementor-button:hover { background:#1A1A2E; color:#fff; }

/* =====================================================================
   SECTION 2 — HUMAN HOOK (gchook)
   ===================================================================== */
.gchook { font-family:'Lato',sans-serif; background:#fff; }
.gchook__wrap { max-width:720px; margin:0 auto; text-align:center; }
.gchook__h2 .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.5vw,40px); font-weight:800; line-height:1.15; color:#1A1A2E; }
.gchook__h2 .gc-accent { color:#E8820C; }
.gchook__h2 { margin-bottom:22px; }
.gchook__p, .gchook__p p { font-size:15.5px; line-height:1.8; color:#666; margin:0; }
.gchook__p { margin-bottom:16px; }
.gchook__p strong { color:#1A1A2E; }
.gchook__btn { margin-top:18px; }

/* =====================================================================
   SECTION 3 — SOCIAL PROOF STRIP (gcstrip)
   ===================================================================== */
.gcstrip { background:#1A1A2E; font-family:'Lato',sans-serif; }
.gcstrip__wrap { max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 28px; }
.gcstrip__item .elementor-heading-title { font-size:13px; font-weight:700; letter-spacing:.3px; color:rgba(255,255,255,.85); white-space:nowrap; display:flex; align-items:center; }
.gcstrip__item .elementor-heading-title::before { content:''; width:5px; height:5px; background:#E8820C; border-radius:50%; flex-shrink:0; margin-right:8px; }
.gcstrip__item:first-child .elementor-heading-title::before { display:none; }

/* =====================================================================
   SECTION 4 — CREDIBILITY / ABOUT (gc4cred) with right-side image + 500+ badge
   ===================================================================== */
.gc4cred { font-family:'Lato',sans-serif; background:#fff; color:#3D3D3D; }
.gc4cred__row { display:flex; flex-wrap:wrap; align-items:center; gap:48px; max-width:1140px; margin:0 auto; width:100%; }
.gc4cred__col { flex:1 1 52%; max-width:54%; text-align:left; }
.gc4cred__media { flex:1 1 40%; max-width:42%; position:relative; }
.gc4cred__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gc4cred__label { margin-bottom:16px; }
.gc4cred__h2 .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.5vw,44px); font-weight:800; line-height:1.1; color:#1A1A2E; }
.gc4cred__h2 .gc-accent { color:#E8820C; }
.gc4cred__h2 { margin-bottom:18px; }
.gc4cred__p, .gc4cred__p p { font-size:15px; line-height:1.78; color:#666; margin:0; }
.gc4cred__p { margin-bottom:16px; }
.gc4cred__p strong { color:#1A1A2E; }
.gc4cred__stats .elementor-icon-list-items { display:flex; flex-wrap:wrap; gap:8px; }
.gc4cred__stats .elementor-icon-list-item { margin:0 !important; padding:0 !important; }
.gc4cred__stats .elementor-icon-list-text { background:#1A1A2E; color:#fff; font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; letter-spacing:.5px; padding:6px 14px; border-radius:4px; }
.gc4cred__stats { margin:24px 0; }
.gc4cred__btn { margin-top:6px; }
/* image + badge */
.gc4cred__img img { width:100%; height:auto; display:block; border-radius:20px; box-shadow:0 18px 44px rgba(26,26,46,.16); }
.gc-badge-500 { position:absolute; left:-14px; bottom:24px; z-index:3; background:#E8820C; color:#fff; border-radius:14px; padding:16px 20px; box-shadow:0 14px 30px rgba(232,130,12,.45); max-width:230px; }
.gc-badge-500 .elementor-heading-title { color:#fff; font-family:'Barlow Condensed',sans-serif; line-height:1.15; }
.gc-badge-500 .gc-badge-500__num { display:block; font-size:34px; font-weight:900; }
.gc-badge-500 .gc-badge-500__txt { display:block; font-size:13px; font-weight:700; letter-spacing:.3px; opacity:.95; }

/* =====================================================================
   SECTION 5 — SERVICES (gc6)
   ===================================================================== */
.gc6 { font-family:'Lato',sans-serif; background:#fff; color:#3D3D3D; }
.gc6__container { max-width:1100px; margin:0 auto; width:100%; }
.gc6__top { text-align:center; margin-bottom:52px; }
.gc6__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gc6__label { margin-bottom:16px; }
.gc6__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(28px,4vw,50px); font-weight:800; line-height:1.1; color:#1A1A2E; letter-spacing:-.3px; }
.gc6__heading .gc-accent { color:#E8820C; }
.gc6__heading { margin-bottom:14px; }
.gc6__intro, .gc6__intro p { font-size:15.5px; line-height:1.75; color:#666; margin:0; }
.gc6__intro { max-width:640px; margin:0 auto; }
.gc6__intro strong { color:#3D3D3D; }
.gc6__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.gc6__card { background:#fff; border:1px solid #E5E3DC; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; transition:transform .22s ease, box-shadow .22s ease; padding:0 !important; }
.gc6__card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(26,26,46,.11); }
.gc6__img-wrap { position:relative; overflow:hidden; aspect-ratio:4/3; background:#ddd; border-radius:18px 18px 0 0; }
.gc6__img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.gc6__card:hover .gc6__img-wrap img { transform:scale(1.06); }
.gc6__tag .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 10px; border-radius:20px; }
.gc6__tag { position:absolute; top:14px; left:14px; z-index:2; }
.gc6__body { padding:22px 22px 20px; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.gc6__card-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:19px; font-weight:700; color:#1A1A2E; line-height:1.2; letter-spacing:.2px; }
.gc6__card-title { margin-bottom:8px; }
.gc6__card-text, .gc6__card-text p { font-size:13.5px; line-height:1.65; color:#666; margin:0; }
.gc6__card-text { margin-bottom:18px; }
.gc6__link { margin-top:auto; }
.gc6__link .elementor-button { background:transparent; color:#E8820C; font-size:13px; font-weight:700; letter-spacing:.3px; padding:0; border-radius:0; box-shadow:none; gap:6px; }
.gc6__link .elementor-button:hover { color:#C96E08; transform:none; }
.gc6__link .elementor-button-icon svg, .gc6__link .elementor-button-icon i { width:15px; height:15px; font-size:13px; }
.gc6__bottom { text-align:center; margin-top:48px; display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; }
@media (max-width:900px){ .gc6__grid{ grid-template-columns:repeat(2,1fr); } .gc4cred__col,.gc4cred__media{flex-basis:100%;max-width:100%;} .gc4cred__row{gap:32px;} }
@media (max-width:560px){ .gc6__grid{ grid-template-columns:1fr; } .gc6__bottom{flex-direction:column;} }

/* ---------- robustness overrides ---------- */
.gc4cred__stats { display:flex !important; flex-wrap:wrap; gap:8px; margin:24px 0; }
.gc4cred__stat .elementor-heading-title { background:#1A1A2E; color:#fff; font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; letter-spacing:.5px; padding:6px 14px; border-radius:4px; display:inline-block; }
.gc4cred__stat .gc-num { color:#E8820C; }
.gc6__grid { display:grid !important; }
.gc6__card { display:flex !important; flex-direction:column !important; }
.gc6__img-wrap .elementor-widget-image, .gc6__img-wrap .elementor-widget-image > .elementor-widget-container { position:absolute; inset:0; width:100%; height:100%; }
.gc6__img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.gc6__body { flex:1 1 auto; }
@media (max-width: 520px) {
  .gchero__btns { flex-direction: column; }
  .gc-btn .elementor-button { width: 100%; justify-content: center; }
  .gchero__trust .elementor-icon-list-items { gap: 6px 14px; }
}

/* =====================================================================
   SECTION 6 — WHY CHOOSE US (gcwhy)
   ===================================================================== */
.gcwhy { font-family:'Lato',sans-serif; background:#F7F6F2; }
.gcwhy__container { max-width:900px; margin:0 auto; width:100%; text-align:center; }
.gcwhy__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gcwhy__label { margin-bottom:16px; }
.gcwhy__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.8vw,46px); font-weight:800; line-height:1.1; color:#1A1A2E; }
.gcwhy__heading .gc-accent { color:#E8820C; }
.gcwhy__heading { margin-bottom:32px; }
.gcwhy__list { display:grid !important; grid-template-columns:1fr 1fr; gap:16px; text-align:left; margin-bottom:32px; width:100%; }
.gcwhy__item { background:#fff !important; border:1px solid #E5E3DC; border-left:3px solid #E8820C; border-radius:12px; padding:18px 20px !important; }
.gcwhy__item-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:17px; font-weight:700; color:#1A1A2E; line-height:1.2; }
.gcwhy__item-title { margin-bottom:6px; }
.gcwhy__item-text, .gcwhy__item-text p { font-size:13.5px; line-height:1.6; color:#666; margin:0; }
.gcwhy__note { background:#1A1A2E !important; border-radius:14px; padding:24px 28px !important; text-align:left; margin-bottom:28px; width:100%; }
.gcwhy__note p { font-size:14.5px; line-height:1.75; color:rgba(255,255,255,.78); margin:0; }
.gcwhy__note strong { color:#fff; }
@media (max-width:700px){ .gcwhy__list{ grid-template-columns:1fr; } }

/* Global scroll fade-up (safe: visible by default) */
@keyframes gcFadeUp { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.gc-anim.gc-inview { animation: gcFadeUp .6s ease both; }

/* ===== SECTION 7 — REVIEWS / SLIDER (gct) ===== */
.gct { font-family:'Lato',sans-serif; background:#1A1A2E; color:#fff; overflow:hidden; }
.gct__container { max-width:860px; margin:0 auto; width:100%; }
.gct__top { text-align:center; margin-bottom:44px; }
.gct__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gct__label { margin-bottom:16px; }
.gct__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.8vw,44px); font-weight:800; line-height:1.1; color:#fff; letter-spacing:-.3px; }
.gct__heading .gc-accent { color:#E8820C; }
.gct__heading { margin-bottom:14px; }
.gct__intro, .gct__intro p { font-size:15px; line-height:1.7; color:rgba(255,255,255,.62); margin:0; }
.gct__intro { max-width:620px; margin:0 auto; }
.gct__slider-wrap { position:relative; margin-top:36px; width:100%; }
.gct__track { overflow:hidden; border-radius:16px; width:100%; }
.gct__slides { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; transition:transform .5s cubic-bezier(.4,0,.2,1); will-change:transform; padding:0 !important; }
.gct__slide { min-width:100%; flex:0 0 100%; background:rgba(255,255,255,.05) !important; border:1px solid rgba(255,255,255,.10); border-radius:16px; padding:44px 48px 40px !important; position:relative; overflow:hidden; }
.gct__slide::before { content:"\201C"; position:absolute; top:-10px; left:28px; font-size:140px; color:rgba(232,130,12,.12); font-family:Georgia,serif; line-height:1; pointer-events:none; }
.gct__stars .elementor-widget-container p { display:flex; gap:4px; margin:0; }
.gct__stars i { color:#E8820C; font-size:18px; }
.gct__stars { margin-bottom:20px; }
.gct__quote, .gct__quote p { font-size:16px; line-height:1.78; color:rgba(255,255,255,.85); font-style:italic; margin:0; position:relative; z-index:1; }
.gct__quote { margin-bottom:28px; }
.gct__author { display:flex !important; flex-direction:row !important; align-items:center; gap:14px; }
.gct__avatar { width:48px; height:48px; border-radius:50%; background:#E8820C; display:flex !important; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 14px rgba(232,130,12,.35); }
.gct__avatar .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:800; color:#fff; }
.gct__author-name .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:700; color:#fff; letter-spacing:.2px; }
.gct__author-label, .gct__author-label p { font-size:12px; color:rgba(255,255,255,.62); margin:2px 0 0; }
.gct__nav { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); display:flex !important; align-items:center; justify-content:center; cursor:pointer; z-index:10; transition:background .18s ease, border-color .18s ease, transform .18s ease; }
.gct__nav .elementor-icon { display:flex; align-items:center; justify-content:center; }
.gct__nav .elementor-icon i { color:#fff; font-size:18px; }
.gct__nav:hover { background:#E8820C; border-color:#E8820C; transform:translateY(-50%) scale(1.08); }
.gct__nav--prev { left:-56px; }
.gct__nav--next { right:-56px; }
.gct__dots { display:flex !important; flex-direction:row !important; justify-content:center; gap:10px; margin-top:28px; }
.gct__dot { cursor:pointer; line-height:0; }
.gct__dot .elementor-icon i { font-size:9px; color:rgba(255,255,255,.25); transition:color .18s ease, transform .18s ease; }
.gct__dot.gct__dot--active .elementor-icon i { color:#E8820C; transform:scale(1.3); }
.gct__progress { height:2px; background:rgba(255,255,255,.10); border-radius:2px; margin-top:20px; overflow:hidden; width:100%; min-height:0 !important; padding:0 !important; }
.gct__progress-bar { height:2px; background:#E8820C; border-radius:2px; width:0; transition:width .1s linear; min-height:0 !important; padding:0 !important; }
.gct__bottom { text-align:center; margin-top:40px; padding-top:32px; border-top:1px solid rgba(255,255,255,.08); width:100%; }
.gct__bottom-text, .gct__bottom-text p { font-size:14.5px; color:rgba(255,255,255,.65); margin:0 0 18px; }
.gct__bottom-text strong { color:#fff; }
@media (max-width:860px){ .gct__nav--prev{left:-10px;} .gct__nav--next{right:-10px;} .gct__slide{padding:36px 28px 32px !important;} }
@media (max-width:480px){ .gct__nav{display:none !important;} .gct__slide{padding:28px 20px 24px !important;} .gct__quote,.gct__quote p{font-size:14.5px;} }

/* ===== SECTION 8 — HOW IT WORKS (gc4) ===== */
.gc4 { font-family:'Lato',sans-serif; background:#1A1A2E; position:relative; }
.gc4__container { max-width:1100px; margin:0 auto; position:relative; width:100%; }
.gc4__top { text-align:center; margin-bottom:64px; }
.gc4__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gc4__label { margin-bottom:16px; }
.gc4__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(28px,4vw,48px); font-weight:800; line-height:1.1; color:#fff; letter-spacing:-.3px; }
.gc4__heading .gc-accent { color:#E8820C; }
.gc4__heading { margin-bottom:14px; }
.gc4__desc, .gc4__desc p { font-size:15.5px; line-height:1.75; color:rgba(255,255,255,.60); margin:0; }
.gc4__desc { max-width:640px; margin:0 auto; }
.gc4__timeline { position:relative; display:grid !important; grid-template-columns:repeat(4,1fr); gap:24px; width:100%; }
.gc4__timeline::before { content:""; position:absolute; top:44px; left:11%; right:11%; height:2px; background:repeating-linear-gradient(to right, rgba(232,130,12,.45) 0, rgba(232,130,12,.45) 8px, transparent 8px, transparent 16px); z-index:0; }
.gc4__step { position:relative; z-index:1; display:flex !important; flex-direction:column !important; align-items:center; text-align:center; }
.gc4__circle { width:92px !important; height:92px; flex:0 0 auto; border-radius:50%; background:rgba(255,255,255,.06); border:2px solid rgba(232,130,12,.35); display:flex !important; align-items:center; justify-content:center; margin-bottom:20px; position:relative; padding:0 !important; transition:background .3s ease, border-color .3s ease, transform .25s ease, box-shadow .25s ease; }
.gc4__step:hover .gc4__circle { background:#E8820C; border-color:#E8820C; transform:translateY(-6px); box-shadow:0 18px 36px rgba(232,130,12,.40); }
.gc4__circle-icon .elementor-icon i { font-size:32px; color:#E8820C; transition:color .3s ease; }
.gc4__step:hover .gc4__circle-icon .elementor-icon i { color:#fff; }
.gc4__circle-num { position:absolute; top:-6px; right:-6px; width:28px; height:28px; border-radius:50%; background:#E8820C; display:flex !important; align-items:center; justify-content:center; border:3px solid #1A1A2E; }
.gc4__circle-num .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:800; color:#fff; }
.gc4__step:hover .gc4__circle-num { background:#fff; }
.gc4__step:hover .gc4__circle-num .elementor-heading-title { color:#1A1A2E; }
.gc4__step-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:19px; font-weight:700; color:#fff; }
.gc4__step-title { margin-bottom:8px; }
.gc4__step-text, .gc4__step-text p { font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.58); margin:0; }
.gc4__step-text { max-width:230px; }
.gc4__bottom-ctas { display:flex !important; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:56px; }
@media (max-width:860px){ .gc4__timeline{ grid-template-columns:1fr 1fr; gap:40px 20px; } .gc4__timeline::before{ display:none; } }
@media (max-width:480px){ .gc4__timeline{ grid-template-columns:1fr; gap:36px; } .gc4__bottom-ctas{ flex-direction:column; align-items:center; } }

/* ===== SECTION 9 - LOCAL KNOWLEDGE (gclocal) ===== */
.gclocal { font-family:'Lato',sans-serif; background:#fff; text-align:center; }
.gclocal__wrap { max-width:760px; margin:0 auto; width:100%; }
.gclocal__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gclocal__label { margin-bottom:16px; }
.gclocal__h2 .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.5vw,44px); font-weight:800; line-height:1.15; color:#1A1A2E; }
.gclocal__h2 .gc-accent { color:#E8820C; }
.gclocal__h2 { margin-bottom:22px; }
.gclocal__p, .gclocal__p p { font-size:15px; line-height:1.8; color:#666; margin:0; }
.gclocal__p { margin-bottom:16px; }
.gclocal__p strong { color:#1A1A2E; }
.gclocal__cards { display:grid !important; grid-template-columns:1fr 1fr; gap:16px; margin:28px 0; text-align:left; width:100%; }
.gclocal__card { background:#F7F6F2 !important; border-left:3px solid #E8820C; border-radius:12px; padding:18px 20px !important; }
.gclocal__card-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:700; color:#1A1A2E; }
.gclocal__card-title { margin-bottom:6px; }
.gclocal__card-text, .gclocal__card-text p { font-size:13.5px; line-height:1.6; color:#666; margin:0; }
@media (max-width:600px){ .gclocal__cards{ grid-template-columns:1fr; } }

/* ===== SECTION 10 - SERVICE AREA (gc5a) + PIN ANIMATION ===== */
.gc5a { font-family:'Lato',sans-serif; color:#3D3D3D; background:#F7F6F2; }
.gc5a__container { max-width:900px; margin:0 auto; display:flex !important; flex-direction:column; align-items:center; text-align:center; gap:20px; width:100%; }
.gc5a__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gc5a__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(28px,3.8vw,44px); font-weight:800; line-height:1.1; color:#1A1A2E; letter-spacing:-.3px; }
.gc5a__heading .gc-accent { color:#E8820C; }
.gc5a__subheading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:19px; font-weight:700; color:#1A1A2E; }
.gc5a__desc, .gc5a__desc p { font-size:15px; line-height:1.78; color:#666; margin:0; }
.gc5a__desc { max-width:720px; }
.gc5a__desc strong { color:#3D3D3D; }
.gc5a__postal-chips { display:flex !important; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; max-width:720px; margin:0 auto; }
.gc5a__postal-chip { background:rgba(232,130,12,.08) !important; border:1px solid rgba(232,130,12,.22); padding:5px 11px !important; border-radius:20px; white-space:nowrap; display:flex !important; flex-direction:row !important; align-items:center; gap:5px; }
.gc5a__postal-label .elementor-heading-title { font-family:'Lato',sans-serif; font-size:12px; font-weight:700; color:#1A1A2E; letter-spacing:.5px; }
.gc5a__postal-label .elementor-heading-title strong { color:#E8820C; }
.gc5a__pin .elementor-icon i { color:#E8820C; font-size:11px; }
.gc5a__pin .elementor-icon { display:flex; }
.gc5a__towns { background:#fff !important; border:1px solid #E5E3DC; border-left:3px solid #E8820C; border-radius:12px; padding:16px 22px !important; max-width:720px; width:100%; text-align:center; }
.gc5a__towns-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:700; color:#1A1A2E; }
.gc5a__towns-title { margin-bottom:10px; }
.gc5a__towns-list .elementor-widget-container p { display:flex; flex-wrap:wrap; gap:4px 14px; justify-content:center; align-items:center; margin:0; font-size:12.5px; line-height:1.65; color:#666; }
.gc5a__towns-list span { white-space:nowrap; }
.gc5a__callout { background:#1A1A2E !important; border-radius:14px; padding:20px 24px !important; display:flex !important; flex-direction:row !important; align-items:center; justify-content:center; gap:14px; max-width:720px; width:100%; }
.gc5a__callout-icon { width:38px; height:38px; flex:0 0 auto; background:rgba(232,130,12,.15); border-radius:50%; display:flex !important; align-items:center; justify-content:center; }
.gc5a__callout-icon .elementor-icon i { color:#E8820C; font-size:16px; }
.gc5a__callout-text, .gc5a__callout-text p { font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.78); margin:0; text-align:left; }
.gc5a__callout-text strong { color:#fff; }
.gc5a__ctas { display:flex !important; flex-wrap:wrap; gap:12px; justify-content:center; align-items:center; margin-top:10px; }
@keyframes gcPinDrop { 0%{opacity:0; transform:translateY(-24px) scale(.7);} 60%{opacity:1;} 100%{opacity:1; transform:translateY(0) scale(1);} }
.gc5a.gc-pins-in .gc5a__postal-chip { animation:gcPinDrop .55s cubic-bezier(.34,1.56,.64,1) both; }
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(1){animation-delay:.04s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(2){animation-delay:.10s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(3){animation-delay:.16s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(4){animation-delay:.22s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(5){animation-delay:.28s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(6){animation-delay:.34s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(7){animation-delay:.40s}
.gc5a.gc-pins-in .gc5a__postal-chip:nth-child(8){animation-delay:.46s}
@keyframes gcPinBob { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-2px);} }
.gc5a.gc-pins-in .gc5a__pin .elementor-icon i { animation:gcPinBob 2.4s ease-in-out infinite; animation-delay:.8s; }
@media (max-width:600px){ .gc5a__callout{flex-direction:column !important;} .gc5a__callout-text,.gc5a__callout-text p{text-align:center;} .gc5a__ctas{flex-direction:column; width:100%;} }

/* ===== SECTION 11 - WHY IT MATTERS (gcwait) + RIGHT IMAGE ===== */
.gcwait { font-family:'Lato',sans-serif; background:#fff; }
.gcwait__row { display:flex !important; flex-wrap:wrap; align-items:center; gap:48px; max-width:1140px; margin:0 auto; width:100%; }
.gcwait__wrap { flex:1 1 52%; max-width:54%; text-align:left; }
.gcwait__media { flex:1 1 40%; max-width:42%; }
.gcwait__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gcwait__label { margin-bottom:16px; }
.gcwait__h2 .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.5vw,40px); font-weight:800; line-height:1.15; color:#1A1A2E; }
.gcwait__h2 .gc-accent { color:#E8820C; }
.gcwait__h2 { margin-bottom:22px; }
.gcwait__p, .gcwait__p p { font-size:15px; line-height:1.8; color:#666; margin:0; text-align:left; }
.gcwait__p { margin-bottom:16px; }
.gcwait__p strong { color:#1A1A2E; }
.gcwait__btn { margin-top:6px; }
.gcwait__img img { width:100%; height:auto; display:block; border-radius:20px; box-shadow:0 18px 44px rgba(26,26,46,.16); }
@media (max-width:900px){ .gcwait__wrap,.gcwait__media{ flex-basis:100%; max-width:100%; } .gcwait__wrap{ text-align:center; } .gcwait__p,.gcwait__p p{ text-align:center; } }

/* ===== SECTION 12 - OFFERS & GUARANTEES (gcoffer) ===== */
.gcoffer { font-family:'Lato',sans-serif; background:#F7F6F2; }
.gcoffer__wrap { max-width:900px; margin:0 auto; text-align:center; width:100%; }
.gcoffer__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gcoffer__label { margin-bottom:16px; }
.gcoffer__h2 .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.8vw,44px); font-weight:800; color:#1A1A2E; line-height:1.1; }
.gcoffer__h2 .gc-accent { color:#E8820C; }
.gcoffer__h2 { margin-bottom:28px; }
.gcoffer__grid { display:grid !important; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:28px; width:100%; }
.gcoffer__item { background:#fff !important; border:1px solid #E5E3DC; border-radius:14px; padding:20px 14px !important; display:flex !important; flex-direction:column; align-items:center; }
.gcoffer__item-icon .elementor-icon i { font-size:26px; color:#E8820C; }
.gcoffer__item-icon { margin-bottom:10px; }
.gcoffer__item-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:14.5px; font-weight:700; color:#1A1A2E; line-height:1.3; }
.gcoffer__note, .gcoffer__note p { font-size:13.5px; color:#666; font-weight:600; margin:0; }
.gcoffer__note { margin-bottom:24px; }
.gcoffer__btns { display:flex !important; justify-content:center; flex-wrap:wrap; gap:14px; }
@media (max-width:700px){ .gcoffer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .gcoffer__btns{ flex-direction:column; } }

/* ===== SECTION 13 - INSIDER TIPS (gc9a) ===== */
.gc9a { font-family:'Lato',sans-serif; background:#fff; color:#3D3D3D; }
.gc9a__container { max-width:1100px; margin:0 auto; width:100%; }
.gc9a__top { text-align:center; margin-bottom:56px; }
.gc9a__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gc9a__label { margin-bottom:16px; }
.gc9a__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.8vw,46px); font-weight:800; line-height:1.1; color:#1A1A2E; letter-spacing:-.3px; }
.gc9a__heading .gc-accent { color:#E8820C; }
.gc9a__heading { margin-bottom:12px; }
.gc9a__intro, .gc9a__intro p { font-size:15px; line-height:1.75; color:#666; margin:0; }
.gc9a__intro { max-width:620px; margin:0 auto; }
.gc9a__grid { display:grid !important; grid-template-columns:repeat(5,1fr); gap:24px 18px; width:100%; }
.gc9a__card { display:flex !important; flex-direction:column; align-items:center; text-align:center; padding:28px 14px 24px !important; background:#F7F6F2 !important; border:1px solid #E5E3DC; border-radius:18px; position:relative; transition:transform .22s ease, box-shadow .22s ease, background .22s ease; }
.gc9a__card:hover { transform:translateY(-6px); box-shadow:0 14px 36px rgba(26,26,46,.10); background:#fff !important; }
.gc9a__circle { width:64px !important; height:64px; flex:0 0 auto; border-radius:50%; background:#fff; border:3px solid #E8820C; display:flex !important; align-items:center; justify-content:center; margin-bottom:16px; position:relative; box-shadow:0 4px 16px rgba(232,130,12,.15); padding:0 !important; transition:background .22s ease; }
.gc9a__card:hover .gc9a__circle { background:#E8820C; }
.gc9a__circle-icon .elementor-icon i { font-size:24px; color:#E8820C; transition:color .22s ease; }
.gc9a__card:hover .gc9a__circle-icon .elementor-icon i { color:#fff; }
.gc9a__num { position:absolute; top:-6px; right:-6px; width:20px; height:20px; background:#1A1A2E; border-radius:50%; display:flex !important; align-items:center; justify-content:center; border:2px solid #fff; }
.gc9a__num .elementor-heading-title { font-size:10px; font-weight:800; color:#fff; }
.gc9a__card-title .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:700; color:#1A1A2E; }
.gc9a__card-title { margin-bottom:6px; }
.gc9a__card-text, .gc9a__card-text p { font-size:12.5px; line-height:1.55; color:#666; margin:0; }
@media (max-width:900px){ .gc9a__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .gc9a__grid{ grid-template-columns:1fr 1fr; } }

/* ===== SECTION 14 - FAQ (gcfaq) ===== */
.gcfaq { font-family:'Lato',sans-serif; background:#F7F6F2; color:#3D3D3D; }
.gcfaq__container { max-width:1100px; margin:0 auto; width:100%; }
.gcfaq__top { text-align:center; margin-bottom:52px; }
.gcfaq__label .elementor-heading-title { display:inline-block; background:#E8820C; color:#fff; font-size:10.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; padding:5px 14px; border-radius:2px; }
.gcfaq__label { margin-bottom:16px; }
.gcfaq__heading .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(26px,3.8vw,46px); font-weight:800; line-height:1.1; color:#1A1A2E; letter-spacing:-.3px; }
.gcfaq__heading .gc-accent { color:#E8820C; }
.gcfaq__heading { margin-bottom:12px; }
.gcfaq__intro, .gcfaq__intro p { font-size:15px; line-height:1.7; color:#666; margin:0; }
.gcfaq__intro { max-width:600px; margin:0 auto; }
.gcfaq__grid { display:grid !important; grid-template-columns:1fr 1fr; gap:14px 24px; width:100%; align-items:start; }
.gcfaq__item { background:#fff !important; border:1px solid #E5E3DC; border-radius:14px; overflow:hidden; padding:0 !important; align-self:start; transition:border-color .2s ease, box-shadow .2s ease; }
.gcfaq__item.gcfaq--open { border-color:#E8820C; box-shadow:0 4px 18px rgba(232,130,12,.12); }
.gcfaq__q { width:100%; padding:18px 20px !important; display:flex !important; flex-direction:row !important; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; }
.gcfaq__item.gcfaq--open .gcfaq__q { background:rgba(232,130,12,.05); }
.gcfaq__q-text .elementor-heading-title { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:700; color:#1A1A2E; line-height:1.3; transition:color .18s ease; }
.gcfaq__item.gcfaq--open .gcfaq__q-text .elementor-heading-title { color:#E8820C; }
.gcfaq__icon { width:28px; height:28px; min-width:28px; flex:0 0 auto; border-radius:50%; background:rgba(232,130,12,.10); border:1px solid rgba(232,130,12,.25); display:flex !important; align-items:center; justify-content:center; transition:background .18s ease, transform .25s ease; }
.gcfaq__item.gcfaq--open .gcfaq__icon { background:#E8820C; transform:rotate(45deg); }
.gcfaq__icon .elementor-icon i { font-size:13px; color:#E8820C; transition:color .18s ease; }
.gcfaq__item.gcfaq--open .gcfaq__icon .elementor-icon i { color:#fff; }
.gcfaq__panel { max-height:0; overflow:hidden; min-height:0 !important; padding:0 !important; width:100%; transition:max-height .35s ease; }
.gcfaq__item.gcfaq--open .gcfaq__panel { max-height:600px; }
.gcfaq__a .elementor-widget-container { padding:14px 20px 18px; border-top:1px solid #E5E3DC; }
.gcfaq__a p { font-size:13.5px; line-height:1.7; color:#666; margin:0; }
.gcfaq__a strong { color:#1A1A2E; font-weight:700; }
.gcfaq__bottom { background:#1A1A2E !important; border-radius:16px; padding:28px 32px !important; display:flex !important; flex-direction:row !important; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:44px; width:100%; }
.gcfaq__bottom-text, .gcfaq__bottom-text p { font-size:15px; line-height:1.65; color:rgba(255,255,255,.75); margin:0; text-align:left; }
.gcfaq__bottom-text strong { color:#fff; }
@media (max-width:760px){ .gcfaq__grid{ grid-template-columns:1fr; } .gcfaq__bottom{ flex-direction:column !important; text-align:center; } .gcfaq__bottom-text,.gcfaq__bottom-text p{ text-align:center; } }
