/* ============================================================
   SMCH — Inner Pages Stylesheet
   Tristate Holdings 167 Inc. | Connecticut Property
   Color System: Forest Green + Emerald
   ============================================================ */

/* ── Quick Form Card ─────────────────────────────────────────── */
.quick-form-wrap {
  position          : relative;
  z-index           : 20;
  width             : 100%;
}

.quick-form-card {
  background        : rgba(255, 255, 255, 0.98);
  backdrop-filter   : blur(20px);
  border-radius     : 16px;
  padding           : 34px 30px;
  box-shadow        : 0 28px 80px rgba(5, 46, 22, 0.35), 0 0 0 1px rgba(74, 222, 128, 0.18);
  border-top        : 4px solid var(--accent-color);
}

.quick-form-card h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.35rem;
  margin-bottom     : 4px;
  color             : var(--primary-color);
  font-weight       : 800;
}

.quick-form-card p {
  font-size         : 0.88rem;
  color             : var(--text-color);
  margin-bottom     : 20px;
}

.qf-row   { display: flex; gap: 10px; }
.qf-group { flex: 1; margin-bottom: 12px; }
.qf-group.full { flex: 0 0 100%; width: 100%; }

.qf-input {
  width             : 100%;
  background        : var(--light-color);
  border            : 1.5px solid rgba(22, 101, 52, 0.18);
  border-radius     : 8px;
  padding           : 11px 14px;
  font-family       : 'DM Sans', sans-serif;
  font-size         : 0.9rem;
  color             : var(--text-color);
  transition        : all 0.25s ease;
  outline           : none;
}

.qf-input:focus {
  border-color      : var(--accent-color);
  background        : var(--white);
  box-shadow        : 0 0 0 3px rgba(74, 222, 128, 0.14);
}

.qf-input::placeholder { color: #6b9e72; }

.qf-select {
  appearance        : none;
  background-image  : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23166534' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat : no-repeat;
  background-position: right 14px center;
  padding-right     : 36px !important;
}

textarea.qf-input { resize: vertical; }

.qf-check {
  display           : flex;
  align-items       : flex-start;
  gap               : 9px;
  font-size         : 0.8rem;
  color             : var(--text-color);
  margin-bottom     : 14px;
  line-height       : 1.4;
}

.qf-check input[type="checkbox"] {
  width             : 15px;
  height            : 15px;
  margin-top        : 2px;
  accent-color      : var(--accent-color);
  flex-shrink       : 0;
}

.btn-qf-submit {
  width             : 100%;
  background        : var(--gradient-secondary);
  color             : var(--white);
  font-weight       : 800;
  font-size         : 1rem;
  padding           : 14px;
  border            : none;
  border-radius     : 50px;
  cursor            : pointer;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  gap               : 9px;
  transition        : all 0.25s ease;
  box-shadow        : 0 6px 22px rgba(74, 222, 128, 0.32);
  letter-spacing    : 0.4px;
}

.btn-qf-submit:hover {
  transform         : translateY(-2px);
  box-shadow        : 0 12px 34px rgba(74, 222, 128, 0.45);
  background        : var(--gradient-primary);
}

.qf-disclaimer {
  text-align        : center;
  font-size         : 0.73rem;
  color             : var(--text-color);
  margin-top        : 10px;
  line-height       : 1.4;
  opacity           : 0.8;
}

/* ── Inner Form Overlay (compact) ────────────────────────────── */
.inner-form-overlay .quick-form-card {
  padding           : 22px 20px;
}

.inner-form-overlay .quick-form-card h3 {
  font-size         : 1.12rem;
  margin-bottom     : 2px;
}

.inner-form-overlay .quick-form-card p {
  font-size         : 0.82rem;
  margin-bottom     : 12px;
}

.inner-form-overlay .qf-group  { margin-bottom: 7px; }

.inner-form-overlay .qf-input {
  padding           : 8px 12px;
  font-size         : 0.85rem;
}

.inner-form-overlay .qf-row    { gap: 7px; }

.inner-form-overlay .qf-check {
  font-size         : 0.78rem;
  margin-bottom     : 10px;
}

.inner-form-overlay .btn-qf-submit {
  padding           : 11px;
  font-size         : 0.92rem;
}

.inner-form-overlay .qf-disclaimer {
  font-size         : 0.7rem;
  margin-top        : 7px;
}

/* ── Page Header ─────────────────────────────────────────────── */
.page-header {
  position          : relative;
  min-height        : 580px;
  display           : flex;
  align-items       : center;
  overflow          : hidden;
}

/* Subtle noise texture for depth */
.page-header::before {
  content           : '';
  position          : absolute;
  inset             : 0;
  background-image  : url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  background-size   : 256px 256px;
  z-index           : 2;
  pointer-events    : none;
}

.page-header-bg {
  position          : absolute;
  inset             : 0;
  background-size   : cover;
  background-position: center;
  transition        : transform 9s ease;
  will-change       : transform;
}

.page-header:hover .page-header-bg {
  transform         : scale(1.05);
}

/* Deep forest green gradient overlay — matches Connecticut palette */
.page-header-overlay {
  position          : absolute;
  inset             : 0;
  background        : linear-gradient(
    112deg,
    rgba(5, 46, 22, 0.96) 0%,
    rgba(5, 46, 22, 0.90) 42%,
    rgba(22, 101, 52, 0.72) 72%,
    rgba(22, 101, 52, 0.42) 100%
  );
  z-index           : 1;
}

/* Bottom accent bar */
.page-header::after {
  content           : '';
  position          : absolute;
  bottom            : 0;
  left              : 0;
  right             : 0;
  height            : 5px;
  background        : linear-gradient(90deg, var(--accent-color), #86efac 50%, var(--accent-color));
  z-index           : 4;
  box-shadow        : 0 -3px 22px rgba(74, 222, 128, 0.45);
}

.page-header .container {
  position          : relative;
  z-index           : 3;
  padding-top       : 60px;
  padding-bottom    : 60px;
}

/* Breadcrumb */
.page-header .breadcrumb {
  background        : transparent;
  padding           : 0;
  margin-bottom     : 16px;
}

.page-header .breadcrumb-item {
  font-size         : 0.8rem;
  font-family       : 'DM Sans', sans-serif;
  font-weight       : 600;
  letter-spacing    : 0.6px;
  text-transform    : uppercase;
}

.page-header .breadcrumb-item a {
  color             : rgba(74, 222, 128, 0.78);
  text-decoration   : none;
  transition        : all 0.25s ease;
  background        : none !important;
  border            : none !important;
  padding           : 0 !important;
}

.page-header .breadcrumb-item a:hover {
  color             : #86efac;
}

.page-header .breadcrumb-item.active {
  color             : rgba(255, 255, 255, 0.88);
}

.page-header .breadcrumb-item + .breadcrumb-item::before {
  color             : rgba(74, 222, 128, 0.4);
  content           : "›";
  font-size         : 1rem;
}

/* State/location badge above title */
.page-header-badge {
  display           : inline-flex;
  align-items       : center;
  gap               : 7px;
  background        : rgba(74, 222, 128, 0.13);
  border            : 1px solid rgba(74, 222, 128, 0.32);
  color             : #86efac;
  font-family       : 'DM Sans', sans-serif;
  font-size         : 0.76rem;
  font-weight       : 700;
  letter-spacing    : 2px;
  text-transform    : uppercase;
  padding           : 6px 18px;
  border-radius     : 50px;
  margin-bottom     : 18px;
}

.page-header-badge i {
  font-size         : 0.7rem;
  color             : var(--accent-color);
}

/* Main page title */
.page-title {
  font-family       : 'Playfair Display', serif;
  font-size         : clamp(2.1rem, 4.8vw, 3rem);
  font-weight       : 900;
  color             : var(--white);
  margin-bottom     : 18px;
  line-height       : 1.1;
  letter-spacing    : -0.5px;
}

.page-title .accent {
  color             : #86efac;
  display           : inline;
}

/* Page subtitle */
.page-subtitle {
  font-family       : 'DM Sans', sans-serif;
  font-size         : 1.06rem;
  color             : rgba(255, 255, 255, 0.76);
  margin            : 0 0 28px;
  line-height       : 1.75;
  max-width         : 560px;
}

/* Trust strip below subtitle */
.page-header-trust {
  display           : flex;
  align-items       : center;
  gap               : 24px;
  flex-wrap         : wrap;
}

.header-trust-item {
  display           : flex;
  align-items       : center;
  gap               : 8px;
  font-family       : 'DM Sans', sans-serif;
  font-size         : 0.82rem;
  font-weight       : 600;
  color             : rgba(255, 255, 255, 0.7);
  letter-spacing    : 0.3px;
}

.header-trust-item i {
  color             : var(--accent-color);
  font-size         : 0.9rem;
}

/* ── Inner Page Form Overlay ─────────────────────────────────── */
.inner-form-overlay {
  position          : absolute;
  top               : 0;
  right             : 55px;
  width             : 400px;
  height            : 100%;
  z-index           : 10;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  padding           : 20px 0;
  pointer-events    : none;
}

.inner-form-overlay .quick-form-wrap {
  pointer-events    : all;
  width             : 100%;
}

/* ── Page Content Wrapper ────────────────────────────────────── */
.page-content {
  padding           : 80px 0;
  background        : var(--white);
}

/* ── BTGrid Layout ───────────────────────────────────────────── */
.btgrid .row {
  margin-bottom     : 24px;
}

.btgrid .row:last-child {
  margin-bottom     : 0;
}

/* ── Content Boxes (default) ─────────────────────────────────── */
.btgrid .content {
  padding           : 30px 34px;
  background        : var(--white);
  border-radius     : 14px;
  height            : 100%;
  border            : 1px solid rgba(22, 101, 52, 0.14);
  border-top        : 3px solid transparent;
  box-shadow        : var(--shadow-sm);
  transition        : all 0.28s ease;
}

.btgrid .content:hover {
  box-shadow        : var(--shadow-lg);
  transform         : translateY(-3px);
  border-top-color  : var(--accent-color);
}

/* ── Headings inside btgrid ──────────────────────────────────── */
.btgrid .content h1 {
  font-family       : 'Playfair Display', serif;
  font-size         : clamp(1.5rem, 3vw, 2.1rem);
  font-weight       : 900;
  color             : var(--primary-color);
  margin-bottom     : 18px;
  padding-bottom    : 14px;
  border-bottom     : 2px solid var(--light-color);
  position          : relative;
  line-height       : 1.2;
}

.btgrid .content h1::after {
  content           : '';
  position          : absolute;
  bottom            : -2px;
  left              : 0;
  width             : 64px;
  height            : 3px;
  background        : linear-gradient(90deg, var(--accent-color), #86efac);
  border-radius     : 2px;
}

.btgrid .content h2 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.28rem;
  font-weight       : 700;
  color             : var(--primary-color);
  margin-top        : 6px;
  margin-bottom     : 14px;
  padding-bottom    : 10px;
  border-bottom     : 1px solid rgba(22, 101, 52, 0.14);
  position          : relative;
}

.btgrid .content h2::after {
  content           : '';
  position          : absolute;
  bottom            : -1px;
  left              : 0;
  width             : 42px;
  height            : 2px;
  background        : linear-gradient(90deg, var(--accent-color), #86efac);
  border-radius     : 2px;
}

.btgrid .content h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.06rem;
  font-weight       : 700;
  color             : var(--primary-color);
  margin-top        : 16px;
  margin-bottom     : 8px;
  line-height       : 1.3;
}

.btgrid .content h4 {
  font-family       : 'DM Sans', sans-serif;
  font-size         : 0.76rem;
  font-weight       : 800;
  color             : var(--secondary-color);
  margin-bottom     : 6px;
  text-transform    : uppercase;
  letter-spacing    : 2px;
}

/* ── Paragraphs ──────────────────────────────────────────────── */
.btgrid .content p {
  font-family       : 'DM Sans', sans-serif;
  color             : var(--text-color);
  line-height       : 1.88;
  margin-bottom     : 14px;
  font-size         : 1.01rem;
}

.btgrid .content p strong {
  color             : var(--primary-color);
  font-weight       : 700;
}

/* ── Lists ───────────────────────────────────────────────────── */
.btgrid .content ul {
  padding-left      : 0;
  list-style        : none;
  margin-bottom     : 16px;
}

.btgrid .content ul li {
  position          : relative;
  padding           : 10px 14px 10px 36px;
  margin-bottom     : 8px;
  background        : var(--light-color);
  border-radius     : 8px;
  border-left       : 3px solid var(--accent-color);
  color             : var(--text-color);
  font-size         : 1rem;
  font-family       : 'DM Sans', sans-serif;
  transition        : all 0.22s ease;
  line-height       : 1.6;
}

.btgrid .content ul li:hover {
  background        : #dcfce7;
  border-left-color : var(--primary-color);
  color             : var(--primary-color);
  transform         : translateX(3px);
}

.btgrid .content ul li::before {
  content           : '\f00c';
  font-family       : 'Font Awesome 5 Free';
  font-weight       : 900;
  position          : absolute;
  left              : 12px;
  top               : 50%;
  transform         : translateY(-50%);
  color             : var(--accent-color);
  font-size         : 10px;
}

/* ── Row 1 — Hero intro block ────────────────────────────────── */
.btgrid .row-1 .content {
  background        : var(--light-color);
  border-radius     : 14px;
  padding           : 36px 40px;
  border            : 1px solid rgba(22, 101, 52, 0.14);
  border-top        : 5px solid var(--accent-color);
  box-shadow        : 0 4px 24px rgba(22, 101, 52, 0.09);
}

.btgrid .row-1 .content:hover {
  box-shadow        : 0 10px 40px rgba(22, 101, 52, 0.14);
  transform         : none; /* row-1 stays stable */
}

.btgrid .row-1 .content p {
  color             : var(--text-color);
  font-size         : 1.04rem;
  line-height       : 1.92;
}

.btgrid .row-1 .content p strong {
  color             : var(--primary-color);
}

.btgrid .row-1 .content h1,
.btgrid .row-1 .content h2 {
  color             : var(--primary-color);
}

/* ── Row 2 — Feature cards with step badges ──────────────────── */
.btgrid .row-2 .content {
  background        : var(--white);
  border-top        : 4px solid var(--accent-color);
  box-shadow        : var(--shadow-sm);
}

.btgrid .row-2 .content:hover {
  border-top-color  : var(--primary-color);
  box-shadow        : var(--shadow-lg);
}

/* Step badge pill */
.btgrid .row-2 .content p strong:first-of-type {
  display           : inline-block;
  background        : var(--gradient-primary);
  color             : #86efac;
  padding           : 4px 14px;
  border-radius     : 50px;
  margin-bottom     : 8px;
  font-size         : 0.74rem;
  font-weight       : 800;
  letter-spacing    : 1.4px;
  text-transform    : uppercase;
}

/* ── Row 3 — Divider rows ────────────────────────────────────── */
.btgrid .row-3 .content p {
  padding-bottom    : 12px;
  border-bottom     : 1px dashed rgba(22, 101, 52, 0.18);
}

.btgrid .row-3 .content p:last-child {
  border-bottom     : none;
  padding-bottom    : 0;
}

/* ── Column spacing ──────────────────────────────────────────── */
.btgrid .col-md-3,
.btgrid .col-md-4,
.btgrid .col-md-6,
.btgrid .col-md-12 {
  padding-right     : 10px;
  padding-left      : 10px;
  margin-bottom     : 16px;
}

/* ── Links inside btgrid content ─────────────────────────────── */
.btgrid .content a {
  color             : var(--secondary-color) !important;
  font-weight       : 600 !important;
  text-decoration   : none !important;
  background        : #dcfce7 !important;
  padding           : 2px 9px !important;
  border-radius     : 5px !important;
  border-left       : 3px solid var(--accent-color) !important;
  transition        : all 0.22s ease !important;
  display           : inline;
}

.btgrid .content a:hover {
  color             : var(--white) !important;
  background        : var(--gradient-secondary) !important;
  border-left-color : var(--accent-color) !important;
  box-shadow        : 0 3px 12px rgba(22, 101, 52, 0.28) !important;
  padding           : 2px 11px !important;
}

.btgrid .content a:visited {
  color             : var(--primary-color) !important;
  background        : rgba(22, 101, 52, 0.07) !important;
  border-left-color : var(--primary-color) !important;
}

/* Links inside lists */
.btgrid .content ul li a {
  background        : none !important;
  border-left       : none !important;
  padding           : 0 !important;
  color             : var(--secondary-color) !important;
  font-weight       : 600 !important;
  border-bottom     : 2px dotted var(--accent-color) !important;
  box-shadow        : none !important;
}

.btgrid .content ul li a:hover {
  color             : var(--white) !important;
  background        : var(--primary-color) !important;
  border-bottom     : none !important;
  border-left       : none !important;
  padding           : 2px 7px !important;
  border-radius     : 4px !important;
}

/* Links inside headings */
.btgrid .content h1 a,
.btgrid .content h2 a,
.btgrid .content h3 a,
.btgrid .content h4 a {
  color             : inherit !important;
  background        : none !important;
  border-left       : none !important;
  padding           : 0 !important;
  font-weight       : inherit !important;
  box-shadow        : none !important;
}

/* Row 1 links */
.btgrid .row-1 .content a {
  color             : var(--primary-color) !important;
  background        : rgba(255, 255, 255, 0.8) !important;
  border-left-color : var(--accent-color) !important;
  font-weight       : 700 !important;
}

.btgrid .row-1 .content a:hover {
  color             : var(--white) !important;
  background        : var(--gradient-secondary) !important;
  box-shadow        : 0 3px 12px rgba(22, 101, 52, 0.3) !important;
}

/* ── Content Article (rich text blocks outside btgrid) ───────── */
.content-article { background: var(--white); }

.article-intro .lead {
  font-family       : 'DM Sans', sans-serif;
  font-size         : 1.18rem;
  color             : var(--text-color);
  line-height       : 1.88;
  font-weight       : 500;
  margin-bottom     : 30px;
}

.content-article h2 {
  font-family       : 'Playfair Display', serif;
  font-size         : clamp(1.4rem, 3vw, 2rem);
  color             : var(--primary-color);
  font-weight       : 900;
  margin-top        : 50px;
  margin-bottom     : 22px;
  padding-bottom    : 14px;
  border-bottom     : 2px solid var(--light-color);
  position          : relative;
}

.content-article h2::after {
  content           : '';
  position          : absolute;
  bottom            : -2px;
  left              : 0;
  width             : 70px;
  height            : 2px;
  background        : linear-gradient(90deg, var(--accent-color), #86efac);
  border-radius     : 2px;
}

.content-article h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.4rem;
  color             : var(--primary-color);
  font-weight       : 700;
  margin-top        : 34px;
  margin-bottom     : 16px;
}

.content-article p {
  font-size         : 1.04rem;
  line-height       : 1.9;
  color             : var(--text-color);
  margin-bottom     : 18px;
}

.content-article a {
  color             : var(--secondary-color);
  font-weight       : 600;
  text-decoration   : none;
  transition        : all 0.22s ease;
}

.content-article a:hover {
  color             : var(--accent-color);
  text-decoration   : underline;
}

/* ── Content Grid Cards ──────────────────────────────────────── */
.content-grid {
  display           : grid;
  grid-template-columns: repeat(2, 1fr);
  gap               : 22px;
  margin            : 40px 0;
}

.content-card {
  background        : var(--light-color);
  padding           : 30px 26px;
  border-radius     : 14px;
  border            : 1px solid rgba(22, 101, 52, 0.14);
  border-top        : 4px solid var(--accent-color);
  transition        : all 0.28s ease;
}

.content-card:hover {
  transform         : translateY(-5px);
  box-shadow        : var(--shadow-lg);
  background        : var(--white);
  border-top-color  : var(--primary-color);
}

.card-icon {
  width             : 62px;
  height            : 62px;
  background        : var(--gradient-primary);
  border-radius     : 12px;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  color             : #86efac;
  font-size         : 1.6rem;
  margin-bottom     : 18px;
  box-shadow        : 0 6px 20px rgba(22, 101, 52, 0.25);
  transition        : all 0.28s ease;
}

.content-card:hover .card-icon {
  transform         : scale(1.08) rotate(-3deg);
  box-shadow        : 0 10px 28px rgba(22, 101, 52, 0.32);
  background        : linear-gradient(135deg, var(--accent-color) 0%, #86efac 100%);
  color             : var(--primary-color);
}

.content-card h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.15rem;
  color             : var(--primary-color);
  margin-top        : 0;
  margin-bottom     : 10px;
  font-weight       : 700;
}

.content-card p {
  font-size         : 0.97rem;
  color             : var(--text-color);
  margin            : 0;
  line-height       : 1.72;
}

/* ── Styled Check List ───────────────────────────────────────── */
.styled-list {
  list-style        : none;
  padding           : 0;
  margin            : 28px 0;
}

.styled-list li {
  padding           : 14px 0 14px 54px;
  position          : relative;
  font-size         : 1.04rem;
  line-height       : 1.75;
  color             : var(--text-color);
  border-bottom     : 1px solid rgba(22, 101, 52, 0.14);
  transition        : all 0.22s ease;
  font-family       : 'DM Sans', sans-serif;
}

.styled-list li:hover {
  color             : var(--primary-color);
  padding-left      : 58px;
}

.styled-list li:last-child { border-bottom: none; }

.styled-list li::before {
  content           : '\f00c';
  font-family       : 'Font Awesome 6 Free';
  font-weight       : 900;
  position          : absolute;
  left              : 0;
  top               : 14px;
  width             : 34px;
  height            : 34px;
  background        : linear-gradient(135deg, var(--accent-color) 0%, #86efac 100%);
  color             : var(--primary-color);
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  font-size         : 0.8rem;
  box-shadow        : 0 3px 10px rgba(74, 222, 128, 0.32);
}

.styled-list strong {
  color             : var(--primary-color);
  font-weight       : 700;
}

/* ── Numbered List ───────────────────────────────────────────── */
.numbered-list {
  counter-reset     : item;
  list-style        : none;
  padding           : 0;
  margin            : 28px 0;
}

.numbered-list li {
  counter-increment : item;
  padding           : 18px 0 18px 66px;
  position          : relative;
  font-size         : 1.04rem;
  line-height       : 1.85;
  color             : var(--text-color);
  border-bottom     : 1px solid rgba(22, 101, 52, 0.14);
  font-family       : 'DM Sans', sans-serif;
}

.numbered-list li:last-child { border-bottom: none; }

.numbered-list li::before {
  content           : counter(item);
  position          : absolute;
  left              : 0;
  top               : 16px;
  width             : 46px;
  height            : 46px;
  background        : var(--gradient-primary);
  color             : #86efac;
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  font-size         : 1.2rem;
  font-weight       : 900;
  font-family       : 'Playfair Display', serif;
  border            : 2px solid rgba(22, 101, 52, 0.14);
}

.numbered-list strong {
  color             : var(--primary-color);
  font-weight       : 700;
}

/* ── Highlight Box ───────────────────────────────────────────── */
.highlight-box {
  background        : var(--light-color);
  border-left       : 5px solid var(--accent-color);
  padding           : 32px 30px;
  border-radius     : 14px;
  margin            : 36px 0;
  display           : flex;
  gap               : 24px;
  align-items       : flex-start;
  box-shadow        : var(--shadow-sm);
  border-top        : 1px solid rgba(22, 101, 52, 0.14);
  border-right      : 1px solid rgba(22, 101, 52, 0.14);
  border-bottom     : 1px solid rgba(22, 101, 52, 0.14);
  transition        : all 0.28s ease;
}

.highlight-box:hover {
  box-shadow        : var(--shadow-lg);
  background        : #dcfce7;
  border-left-color : var(--primary-color);
}

.highlight-icon {
  width             : 64px;
  height            : 64px;
  background        : var(--gradient-primary);
  border-radius     : 12px;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  color             : #86efac;
  font-size         : 1.7rem;
  flex-shrink       : 0;
  box-shadow        : 0 6px 20px rgba(22, 101, 52, 0.25);
}

.highlight-content h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.32rem;
  color             : var(--primary-color);
  margin-top        : 0;
  margin-bottom     : 10px;
  font-weight       : 700;
}

.highlight-content p {
  font-size         : 1rem;
  color             : var(--text-color);
  margin            : 0;
  line-height       : 1.8;
}

/* ── Property Type Item ──────────────────────────────────────── */
.property-type-item {
  display           : flex;
  align-items       : center;
  gap               : 12px;
  padding           : 11px 18px;
  background        : var(--light-color);
  border-radius     : 8px;
  font-size         : 1rem;
  color             : var(--text-color);
  font-weight       : 600;
  border            : 1px solid rgba(22, 101, 52, 0.14);
  transition        : all 0.22s ease;
  font-family       : 'DM Sans', sans-serif;
}

.property-type-item:hover {
  background        : #dcfce7;
  border-color      : var(--accent-color);
  color             : var(--primary-color);
  transform         : translateX(4px);
}

.property-type-item i {
  color             : var(--accent-color);
  font-size         : 1.1rem;
  flex-shrink       : 0;
}

/* ── FAQ Accordion ───────────────────────────────────────────── */
.inner-faq-accordion .accordion-item {
  border            : 1px solid rgba(22, 101, 52, 0.14);
  margin-bottom     : 10px;
  border-radius     : 12px !important;
  overflow          : hidden;
  box-shadow        : var(--shadow-sm);
  transition        : all 0.25s ease;
}

.inner-faq-accordion .accordion-item:hover {
  box-shadow        : var(--shadow-lg);
}

.inner-faq-accordion .accordion-button {
  background        : var(--light-color);
  color             : var(--primary-color);
  font-family       : 'DM Sans', sans-serif;
  font-size         : 1.04rem;
  font-weight       : 600;
  padding           : 20px 24px;
  border            : none;
  border-radius     : 12px !important;
}

.inner-faq-accordion .accordion-button:not(.collapsed) {
  background        : var(--gradient-primary);
  color             : #86efac;
  box-shadow        : none;
}

.inner-faq-accordion .accordion-button::after {
  background-image  : url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234ade80'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.inner-faq-accordion .accordion-button:not(.collapsed)::after {
  background-image  : url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2386efac'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.inner-faq-accordion .accordion-body {
  padding           : 24px;
  background        : var(--white);
  font-family       : 'DM Sans', sans-serif;
  font-size         : 1.01rem;
  line-height       : 1.88;
  color             : var(--text-color);
  border-top        : 1px solid rgba(22, 101, 52, 0.14);
}

/* ── CTA Box ─────────────────────────────────────────────────── */
.cta-box {
  background        : var(--gradient-primary);
  padding           : 56px 48px;
  border-radius     : 18px;
  text-align        : center;
  margin-top        : 50px;
  box-shadow        : var(--shadow-lg);
  position          : relative;
  overflow          : hidden;
  border-top        : 4px solid var(--accent-color);
}

.cta-box::before {
  content           : '';
  position          : absolute;
  top               : -40%;
  right             : -8%;
  width             : 360px;
  height            : 360px;
  border-radius     : 50%;
  background        : radial-gradient(circle, rgba(74, 222, 128, 0.12) 0%, transparent 70%);
  pointer-events    : none;
}

.cta-box::after {
  content           : '';
  position          : absolute;
  bottom            : -40%;
  left              : -8%;
  width             : 300px;
  height            : 300px;
  border-radius     : 50%;
  background        : radial-gradient(circle, rgba(74, 222, 128, 0.08) 0%, transparent 70%);
  pointer-events    : none;
}

.cta-box h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : clamp(1.6rem, 3vw, 2.3rem);
  color             : var(--white);
  margin-top        : 0;
  margin-bottom     : 14px;
  position          : relative;
  z-index           : 1;
  font-weight       : 900;
}

.cta-box p {
  font-size         : 1.06rem;
  color             : rgba(255, 255, 255, 0.78);
  margin-bottom     : 34px;
  line-height       : 1.78;
  position          : relative;
  z-index           : 1;
}

.cta-buttons {
  display           : flex;
  gap               : 14px;
  justify-content   : center;
  flex-wrap         : wrap;
  position          : relative;
  z-index           : 1;
}

.btn-cta-primary {
  background        : linear-gradient(135deg, var(--accent-color) 0%, #86efac 100%);
  color             : var(--primary-color) !important;
  padding           : 16px 40px;
  border-radius     : 50px;
  font-weight       : 800;
  font-size         : 1rem;
  border            : none;
  display           : inline-flex;
  align-items       : center;
  gap               : 10px;
  box-shadow        : 0 8px 24px rgba(74, 222, 128, 0.42);
  transition        : all 0.28s ease;
  text-transform    : uppercase;
  letter-spacing    : 0.6px;
  text-decoration   : none;
}

.btn-cta-primary:hover {
  background        : linear-gradient(135deg, #86efac 0%, var(--accent-color) 100%);
  color             : var(--primary-color) !important;
  transform         : translateY(-3px);
  box-shadow        : 0 14px 38px rgba(74, 222, 128, 0.55);
}

.btn-cta-secondary {
  background        : transparent;
  color             : var(--white) !important;
  padding           : 14px 38px;
  border-radius     : 50px;
  font-weight       : 700;
  font-size         : 1rem;
  border            : 2px solid rgba(255, 255, 255, 0.38);
  display           : inline-flex;
  align-items       : center;
  gap               : 10px;
  transition        : all 0.28s ease;
  text-decoration   : none;
}

.btn-cta-secondary:hover {
  background        : var(--accent-color);
  color             : var(--primary-color) !important;
  border-color      : var(--accent-color);
  transform         : translateY(-3px);
  box-shadow        : 0 8px 24px rgba(74, 222, 128, 0.38);
}

/* ── Sidebar ─────────────────────────────────────────────────── */
.content-sidebar {
  position          : sticky;
  top               : 100px;
}

.sidebar-widget {
  background        : var(--white);
  padding           : 32px 28px;
  border-radius     : 14px;
  box-shadow        : var(--shadow-sm);
  margin-bottom     : 26px;
  border            : 1px solid rgba(22, 101, 52, 0.14);
  border-top        : 4px solid var(--accent-color);
  transition        : all 0.28s ease;
}

.sidebar-widget:hover {
  box-shadow        : var(--shadow-lg);
}

.sidebar-widget h3 {
  font-family       : 'Playfair Display', serif;
  font-size         : 1.28rem;
  color             : var(--primary-color);
  margin-top        : 0;
  margin-bottom     : 18px;
  font-weight       : 700;
  padding-bottom    : 12px;
  border-bottom     : 1px solid rgba(22, 101, 52, 0.14);
}

/* Contact Widget */
.widget-contact {
  background        : var(--gradient-primary);
  border-top        : 4px solid var(--accent-color);
  border-color      : transparent;
  position          : relative;
  overflow          : hidden;
}

.widget-contact::before {
  content           : '';
  position          : absolute;
  top               : -30%;
  right             : -20%;
  width             : 180px;
  height            : 180px;
  border-radius     : 50%;
  background        : radial-gradient(circle, rgba(74, 222, 128, 0.12) 0%, transparent 70%);
  pointer-events    : none;
}

.widget-contact h3 {
  color             : var(--white);
  border-bottom-color: rgba(74, 222, 128, 0.2);
}

.widget-contact p {
  color             : rgba(255, 255, 255, 0.76);
  margin-bottom     : 18px;
  font-size         : 0.96rem;
  line-height       : 1.7;
}

.widget-phone {
  display           : block;
  font-family       : 'Playfair Display', serif;
  font-size         : 1.8rem;
  font-weight       : 900;
  color             : #86efac !important;
  text-decoration   : none;
  margin-bottom     : 14px;
  transition        : all 0.22s ease;
  background        : none !important;
  border            : none !important;
  padding           : 0 !important;
}

.widget-phone:hover {
  color             : var(--accent-color) !important;
  transform         : translateX(4px);
}

.widget-hours {
  display           : flex;
  align-items       : center;
  gap               : 9px;
  color             : rgba(255, 255, 255, 0.65);
  margin-bottom     : 22px;
  font-size         : 0.9rem;
}

.widget-hours i { color: var(--accent-color); }

.btn-widget {
  background        : linear-gradient(135deg, var(--accent-color) 0%, #86efac 100%);
  color             : var(--primary-color) !important;
  padding           : 13px 28px;
  border-radius     : 50px;
  font-weight       : 800;
  width             : 100%;
  text-align        : center;
  display           : block;
  border            : none !important;
  transition        : all 0.25s ease;
  text-decoration   : none !important;
  box-shadow        : 0 6px 20px rgba(74, 222, 128, 0.42);
  font-size         : 1rem;
}

.btn-widget:hover {
  background        : linear-gradient(135deg, #86efac 0%, var(--accent-color) 100%) !important;
  color             : var(--primary-color) !important;
  transform         : translateY(-2px);
  box-shadow        : 0 10px 30px rgba(74, 222, 128, 0.52) !important;
}

/* Widget List */
.widget-list {
  list-style        : none;
  padding           : 0;
  margin            : 0;
}

.widget-list li {
  padding           : 11px 0;
  display           : flex;
  align-items       : center;
  gap               : 12px;
  font-size         : 0.97rem;
  color             : var(--text-color);
  border-bottom     : 1px solid rgba(22, 101, 52, 0.14);
  font-family       : 'DM Sans', sans-serif;
  transition        : all 0.22s ease;
}

.widget-list li:last-child { border-bottom: none; }

.widget-list li:hover {
  color             : var(--primary-color);
  padding-left      : 4px;
}

.widget-list i {
  color             : var(--accent-color);
  font-size         : 1rem;
  flex-shrink       : 0;
}

/* Areas tag cloud */
.areas-list {
  display           : flex;
  flex-wrap         : wrap;
  gap               : 8px;
}

.area-tag {
  background        : var(--light-color);
  color             : var(--primary-color);
  padding           : 7px 16px;
  border-radius     : 50px;
  font-size         : 0.86rem;
  font-weight       : 600;
  border            : 1px solid rgba(22, 101, 52, 0.18);
  font-family       : 'DM Sans', sans-serif;
  transition        : all 0.22s ease;
  cursor            : default;
}

.area-tag:hover {
  background        : #dcfce7;
  border-color      : var(--accent-color);
  color             : var(--primary-color);
}

/* Trust badges */
.trust-badges {
  display           : flex;
  flex-direction    : column;
  gap               : 10px;
}

.trust-badge {
  display           : flex;
  align-items       : center;
  gap               : 14px;
  padding           : 13px 16px;
  background        : var(--light-color);
  border-radius     : 10px;
  border            : 1px solid rgba(22, 101, 52, 0.14);
  transition        : all 0.22s ease;
}

.trust-badge:hover {
  background        : #dcfce7;
  border-color      : var(--accent-color);
}

.trust-badge i {
  width             : 42px;
  height            : 42px;
  background        : var(--gradient-primary);
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  color             : #86efac;
  font-size         : 1.1rem;
  flex-shrink       : 0;
  box-shadow        : 0 4px 12px rgba(22, 101, 52, 0.22);
}

.trust-badge span {
  font-weight       : 600;
  color             : var(--primary-color);
  font-size         : 0.9rem;
  font-family       : 'DM Sans', sans-serif;
  line-height       : 1.3;
}

/* ── Floating Action Buttons ─────────────────────────────────── */
.floating-actions {
  position          : fixed;
  bottom            : 90px;
  right             : 28px;
  display           : flex;
  flex-direction    : column;
  gap               : 12px;
  z-index           : 998;
}

.fab-button {
  width             : 52px;
  height            : 52px;
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  font-size         : 1.1rem;
  color             : var(--white) !important;
  text-decoration   : none;
  transition        : all 0.25s ease;
  box-shadow        : var(--shadow-md);
}

.fab-phone {
  background        : var(--gradient-primary);
  border            : 2px solid rgba(22, 101, 52, 0.18);
}

.fab-phone:hover {
  background        : var(--accent-color);
  color             : var(--primary-color) !important;
  border-color      : var(--accent-color);
  transform         : translateY(-3px) scale(1.08);
}

.fab-offer {
  background        : linear-gradient(135deg, var(--accent-color) 0%, #86efac 100%);
  color             : var(--primary-color) !important;
  border            : 2px solid transparent;
}

.fab-offer:hover {
  background        : linear-gradient(135deg, #86efac 0%, var(--accent-color) 100%);
  color             : var(--primary-color) !important;
  transform         : translateY(-3px) scale(1.08);
  box-shadow        : 0 10px 30px rgba(74, 222, 128, 0.52);
}

/* ── Scroll To Top ───────────────────────────────────────────── */
.scroll-to-top {
  position          : fixed;
  bottom            : 28px;
  right             : 28px;
  z-index           : 999;
  width             : 46px;
  height            : 46px;
  background        : linear-gradient(135deg, var(--accent-color), #86efac);
  color             : var(--primary-color);
  border            : none;
  border-radius     : 50%;
  display           : flex;
  align-items       : center;
  justify-content   : center;
  font-size         : 1rem;
  cursor            : pointer;
  box-shadow        : 0 6px 20px rgba(74, 222, 128, 0.45);
  opacity           : 0;
  transform         : translateY(20px);
  transition        : all 0.28s ease;
}

.scroll-to-top.show {
  opacity           : 1;
  transform         : translateY(0);
}

.scroll-to-top:hover {
  background        : var(--gradient-primary);
  color             : #86efac;
  transform         : translateY(-3px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1100px) {
  .page-header {
    height          : auto;
    min-height      : unset;
    overflow        : visible;
    flex-direction  : column;
    align-items     : flex-start;
  }

  .page-header-bg,
  .page-header-overlay {
    position        : absolute;
    inset           : 0;
    width           : 100%;
    height          : 100%;
    min-height      : 100%;
  }

  .page-header .container {
    width           : 100%;
    padding-top     : 44px;
    padding-bottom  : 32px;
  }

  .inner-form-overlay {
    position        : relative;
    top             : auto;
    right           : auto;
    width           : 100%;
    height          : auto;
    padding         : 20px 15px 30px;
    pointer-events  : all;
    overflow        : visible;
    background      : rgba(5, 46, 22, 0.94);
  }

  .inner-form-overlay .quick-form-wrap {
    max-width       : 680px;
    margin          : 0 auto;
    width           : 100%;
  }
}

@media (max-width: 991px) {
  .page-title      { font-size: 2.2rem; }
  .page-subtitle   { font-size: 1rem; }

  .content-sidebar {
    position        : static;
    margin-top      : 46px;
  }

  .content-grid {
    grid-template-columns: 1fr;
  }

  .cta-box         { padding: 38px 28px; }

  .highlight-box   { gap: 18px; }

  .page-header-trust { gap: 16px; }
}

@media (max-width: 767px) {
  .page-title      { font-size: 1.85rem; }

  .btgrid .content {
    padding         : 22px 20px;
  }

  .btgrid .row-1 .content {
    padding         : 24px 22px;
  }

  .btgrid .content h1 { font-size: 1.45rem; }
  .btgrid .content h2 { font-size: 1.15rem; }
  .btgrid .content h3 { font-size: 1.02rem; }

  .content-article h2 { font-size: 1.5rem; }
  .content-article h3 { font-size: 1.25rem; }

  .cta-box         { padding: 30px 22px; }

  .cta-buttons     { flex-direction: column; }

  .btn-cta-primary,
  .btn-cta-secondary {
    width           : 100%;
    justify-content : center;
  }

  .highlight-box   { flex-direction: column; }

  .highlight-icon {
    width           : 54px;
    height          : 54px;
    font-size       : 1.4rem;
  }

  .widget-phone    { font-size: 1.5rem; }

  .sidebar-widget  { padding: 22px 20px; }

  .floating-actions {
    bottom          : 80px;
    right           : 16px;
  }

  .fab-button {
    width           : 46px;
    height          : 46px;
    font-size       : 1rem;
  }

  .inner-form-overlay .qf-row {
    flex-direction  : column;
  }
}

@media (max-width: 576px) {
  .page-header-trust {
    flex-direction  : column;
    align-items     : flex-start;
    gap             : 10px;
  }
}