.elementor-kit-6{--e-global-color-primary:#1B3A2D;--e-global-color-secondary:#EF6050;--e-global-color-text:#1B3A2D;--e-global-color-accent:#1A7D4B;--e-global-color-tertiary:#4F46E5;--e-global-color-background:#FAFAF7;--e-global-color-surface:#EDF5F0;--e-global-color-scorecard_grey:#6B7B73;--e-global-color-success:#22C55E;--e-global-color-warning:#F59E0B;--e-global-color-error:#EF4444;--e-global-typography-primary-font-family:"General Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"General Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Space Grotesk";--e-global-typography-accent-font-weight:500;color:#1B3A2D;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#EF6050;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:700;letter-spacing:0.02em;color:#FFFFFF;border-radius:9999px 9999px 9999px 9999px;padding:16px 32px 16px 32px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#D04A3A;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{font-family:"General Sans", Sans-serif;font-size:48px;font-weight:700;line-height:1.08em;}.elementor-kit-6 h2{font-family:"General Sans", Sans-serif;font-size:39px;font-weight:600;line-height:1.25em;}.elementor-kit-6 h3{font-family:"General Sans", Sans-serif;font-size:31px;font-weight:600;line-height:1.25em;}.elementor-kit-6 h4{font-family:"DM Sans", Sans-serif;font-size:25px;font-weight:600;line-height:1.25em;}.elementor-kit-6 h5{font-family:"DM Sans", Sans-serif;font-size:20px;font-weight:600;line-height:1.25em;}.elementor-kit-6 h6{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:600;line-height:1.25em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   ELEMENTOR GLOBAL VARIABLE OVERRIDES
   Bridges Elementor's compiled --e-global-* vars to D7B values
   until kit CSS regeneration is triggered via Elementor editor.
   ============================================================ */
:root {
  /* Override Elementor global colour vars */
  --e-global-color-primary:    #1B3A2D !important;  /* Deep Forest */
  --e-global-color-secondary:  #EF6050 !important;  /* Bunker Coral */
  --e-global-color-text:       #1B3A2D !important;  /* Deep Forest */
  --e-global-color-accent:     #1A7D4B !important;  /* Fairway Electric */
  /* Custom colour vars */
  --e-global-color-tertiary:      #4F46E5;
  --e-global-color-background:    #FAFAF7;
  --e-global-color-surface:       #EDF5F0;
  --e-global-color-scorecard-grey:#6B7B73;

  /* Override Elementor global typography vars */
  --e-global-typography-primary-font-family:   "General Sans";
  --e-global-typography-primary-font-weight:   700;
  --e-global-typography-secondary-font-family: "General Sans";
  --e-global-typography-secondary-font-weight: 600;
  --e-global-typography-text-font-family:      "DM Sans";
  --e-global-typography-text-font-weight:      400;
  --e-global-typography-accent-font-family:    "Space Grotesk";
  --e-global-typography-accent-font-weight:    500;
}

/* ── General Sans (Fontshare CDN) ── */
@import url("https://api.fontshare.com/v2/css?f[]=general-sans@500,600,700&display=swap");

/* ── DM Sans + Space Grotesk (Google Fonts) ── */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap");

/* ============================================
   CADDI BRAND — CSS Custom Properties
   Direction 7B: Touch Grass + Three Terrains
   Applied: caddi.ie via Elementor Site Settings
   Source: eb-004-d7b-canonical.md + eb-004-output.md
   ============================================ */

:root {
  /* ── Colour Tokens (Three Terrains) ── */
  --color-primary:        #1B3A2D;  /* Deep Forest */
  --color-secondary:      #EF6050;  /* Bunker Coral */
  --color-accent:         #1A7D4B;  /* Fairway Electric */
  --color-tertiary:       #4F46E5;  /* Hazard Indigo */

  --color-bg:             #FAFAF7;  /* Morning White */
  --color-surface:        #EDF5F0;  /* Fairway Mist */
  --color-surface-dark:   #1B3A2D;  /* Deep Forest */

  --color-text:           #1B3A2D;  /* Deep Forest */
  --color-text-secondary: #6B7B73;  /* Scorecard Grey */
  --color-text-on-dark:   #FAFAF7;  /* Morning White */
  --color-text-on-accent: #FFFFFF;

  /* ── Tag Backgrounds ── */
  --color-tag-green-bg:   rgba(26, 125, 75, 0.15);
  --color-tag-green-text: #1A7D4B;
  --color-tag-coral-bg:   rgba(239, 96, 80, 0.15);
  --color-tag-coral-text: #B84D3E;
  --color-tag-indigo-bg:  rgba(79, 70, 229, 0.1);
  --color-tag-indigo-text:#3730A3;

  --color-divider-start:  #1B3A2D;
  --color-divider-end:    #1A7D4B;

  --color-success:        #22C55E;
  --color-warning:        #F59E0B;
  --color-error:          #EF4444;

  /* ── Typography Tokens ── */
  --font-heading:         'General Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:            'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-data:            'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;

  --font-weight-regular:  400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;

  /* ── Modular Scale (Major Third 1.250, base 16px) ── */
  --text-xxs:   0.69rem;
  --text-xs:    0.8rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-lg:    1.25rem;
  --text-xl:    1.563rem;
  --text-2xl:   1.953rem;
  --text-3xl:   2.441rem;
  --text-4xl:   3.052rem;
  --text-5xl:   3.875rem;

  /* ── Line Heights ── */
  --leading-tight:    1.08;
  --leading-snug:     1.25;
  --leading-normal:   1.5;
  --leading-relaxed:  1.6;
  --leading-loose:    1.8;

  /* ── Spacing Scale (8px base) ── */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.5rem;
  --space-6:   2rem;
  --space-7:   2.5rem;
  --space-8:   2.75rem;
  --space-9:   4rem;
  --space-10:  5rem;

  /* ── Layout ── */
  --max-width:     1280px;
  --gutter:        1.5rem;
  --radius-sm:     8px;
  --radius-md:     12px;
  --radius-pill:   9999px;

  /* ── Shadows (green-tinted, Deep Forest derived) ── */
  --shadow-sm:   0 2px 8px rgba(27, 58, 45, 0.04);
  --shadow-md:   0 4px 20px rgba(27, 58, 45, 0.06);
  --shadow-lg:   0 8px 24px rgba(27, 58, 45, 0.12);
  --shadow-xl:   0 12px 32px rgba(27, 58, 45, 0.15);

  /* ── Transitions ── */
  --transition-fast:   150ms ease-out;
  --transition-base:   250ms ease-out;
  --transition-slow:   500ms ease-out;
}

/* ── Base Typography Resets ── */
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text);
  background-color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3 {
  font-family: var(--font-heading);
  line-height: var(--leading-snug);
  color: var(--color-text);
}

h1 { font-size: var(--text-4xl); font-weight: 700; }
h2 { font-size: var(--text-3xl); font-weight: 600; }
h3 { font-size: var(--text-2xl); font-weight: 600; }

.display-heading {
  font-family: var(--font-heading);
  font-size: var(--text-5xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-tight);
}

h4, h5, h6 {
  font-family: var(--font-body);
  font-weight: var(--font-weight-semibold);
  line-height: var(--leading-snug);
  color: var(--color-text);
}

h4 { font-size: var(--text-xl);  }
h5 { font-size: var(--text-lg);  }
h6 { font-size: var(--text-base); }

/* ── Data / Stats (Space Grotesk = Sage voice) ── */
.data-text,
.price,
.stat-number,
.date-display {
  font-family: var(--font-data);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.02em;
  color: var(--color-text-secondary);
}
.price { color: var(--color-accent); font-weight: 600; }

/* ── Card Tags (Three Terrains semantic colours) ── */
.card-tag {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-xxs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-pill);
}
.card-tag--green  { color: var(--color-tag-green-text);  background: var(--color-tag-green-bg);  }
.card-tag--coral  { color: var(--color-tag-coral-text);  background: var(--color-tag-coral-bg);  }
.card-tag--indigo { color: var(--color-tag-indigo-text); background: var(--color-tag-indigo-bg); }

/* ── Card Titles ── */
.card-title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-semibold);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
  color: var(--color-text);
}

/* ── Buttons ── */
.btn-primary {
  background-color: var(--color-secondary);
  color: var(--color-text-on-accent);
  border: none;
  border-radius: var(--radius-pill);
  padding: var(--space-4) var(--space-6);
  font-family: var(--font-body);
  font-weight: var(--font-weight-bold);
  font-size: var(--text-base);
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background-color var(--transition-fast), box-shadow var(--transition-fast);
}
.btn-primary:hover {
  background-color: #D04A3A;
  box-shadow: var(--shadow-md);
}

.btn-secondary {
  background-color: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  border-radius: var(--radius-pill);
  padding: var(--space-3) var(--space-5);
  font-family: var(--font-body);
  font-weight: var(--font-weight-semibold);
  font-size: var(--text-sm);
  cursor: pointer;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}
.btn-secondary:hover {
  background-color: var(--color-primary);
  color: var(--color-text-on-dark);
}

/* ── Cards ── */
.card {
  background-color: #FFFFFF;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}
.card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}
.card-body { padding: var(--space-4) var(--space-5); }

/* ── Dark Sections (Deep Forest) ── */
.section-dark {
  background-color: var(--color-surface-dark);
  color: var(--color-text-on-dark);
  position: relative;
}
.section-dark h1,
.section-dark h2,
.section-dark h3 { color: var(--color-text-on-dark); }
.section-dark .stat-number {
  color: var(--color-secondary);
  font-size: 28px;
}

/* ── Surface Sections (Fairway Mist) ── */
.section-surface { background-color: var(--color-surface); }

/* ── Trust Bar ── */
.trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-9);
  padding: 28px var(--space-9);
  background-color: var(--color-primary);
  color: var(--color-text-on-dark);
  position: relative;
}
.trust-bar .stat-number {
  font-family: var(--font-data);
  font-weight: 600;
  font-size: 28px;
  color: var(--color-secondary);
}
.trust-bar .stat-label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-top: var(--space-1);
}
.trust-bar .divider {
  width: 1px;
  height: 40px;
  background: var(--color-text-on-dark);
  opacity: 0.15;
}

/* ── Gradient Divider (Deep Forest → Fairway Electric) ── */
hr.brand-divider {
  border: none;
  height: 4px;
  background: linear-gradient(to right, var(--color-divider-start), var(--color-divider-end));
  margin: 0;
}

/* ── Links ── */
a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--transition-fast);
}
a:hover { color: var(--color-tertiary); }

/* ── Navigation (Deep Forest bar) ── */
.site-nav,
.elementor-nav-menu {
  background-color: var(--color-primary);
}
.nav-link,
.elementor-nav-menu a {
  font-family: var(--font-body);
  font-weight: var(--font-weight-medium);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: rgba(250, 250, 247, 0.7);
  transition: color var(--transition-fast);
}
.nav-link:hover,
.elementor-nav-menu a:hover {
  color: var(--color-text-on-dark);
}

/* ── Topographic Pattern Overlay ── */
.topo-pattern {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cpath d='M0 300 Q150 250 300 300 T600 300' fill='none' stroke='%231A7D4B' stroke-width='1.5'/%3E%3Cpath d='M0 260 Q120 210 280 260 T600 250' fill='none' stroke='%231A7D4B' stroke-width='1'/%3E%3Cpath d='M0 340 Q180 290 320 340 T600 350' fill='none' stroke='%231A7D4B' stroke-width='1'/%3E%3Cpath d='M0 200 Q100 160 250 200 T600 190' fill='none' stroke='%231A7D4B' stroke-width='0.8'/%3E%3Cpath d='M0 400 Q200 350 350 390 T600 410' fill='none' stroke='%231A7D4B' stroke-width='0.8'/%3E%3C/svg%3E");
  background-size: 600px 600px;
}
.section-dark .topo-pattern  { opacity: 0.06; }
.section-surface .topo-pattern { opacity: 0.10; }

/* ── Motion ── */
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pin-bounce {
  0%   { transform: translateY(-8px); }
  60%  { transform: translateY(2px); }
  100% { transform: translateY(0); }
}
.animate-in  { animation: fade-in-up 250ms ease-out forwards; }
.pin-enter   { animation: pin-bounce 300ms ease-out forwards; }/* End custom CSS */