/*======================
        GREW SOLUTIONS LLC - Color Palette & Design Reference
  ======================*/

:root {
  /* Primary Color Palette */
  --grew-forest-green: #2C4C3B;
  --grew-sage: #A5B8A3;
  --grew-warm-beige: #E8E4D8;
  --grew-charcoal-gray: #2B2B2B;

  /* Extended Color Palette */
  --grew-soft-cream: #F7F3E9; /* Document background */
  --grew-sage-table: #CBD4CA; /* Table fill / subtle highlight background */
  --grew-forest-green-accent: #2D4739; /* Primary heading text / accent lines */
  --grew-charcoal: #3B3B3B; /* Main body text and paragraph style */
  --grew-gold: #C8A951; /* Decorative highlight, divider line, or key bullet */
  --grew-green-secondary: #2B5348; /* Secondary headings / callout boxes */
  --grew-teal: #5E9082; /* Sub-headings / section titles */
  --grew-beige-alt: #E7E2DB; /* Alternate background or light box */
  --grew-gray: #BFB7AD; /* Table gridlines / neutral text accents */
  --grew-dark-olive: #44564D; /* Sidebar or watermark tone */
  --grew-soft-cream-form: #F7F5F2; /* Form fill backgrounds / page tint */
  --grew-black: #000000; /* Legal footer text / page numbers */

  /* Typography */
  --grew-primary-font: Georgia, serif;
  --grew-title-size: 20px;
  --grew-header-size: 18px;
  --grew-subheading-size: 16px;
  --grew-subheading-small-size: 14px;
  --grew-body-size: 12px;
  --grew-body-small-size: 11px;
  --grew-footer-size: 11px;
  --grew-footer-small-size: 10px;
}

/*======================
        Bootstrap Override Styles
  ======================*/

/* Override Bootstrap's default body background using ID for high specificity */
#grew-main-body {
  background-color: var(--grew-soft-cream);
  color: var(--grew-charcoal);
  overflow-x: hidden;
}

/* Override Bootstrap's container backgrounds within our main body */
#grew-main-body .container,
#grew-main-body .container-fluid {
  background-color: transparent;
}

/* Ensure main content area uses our background */
#grew-main-body main {
  background-color: var(--grew-soft-cream);
  padding: 0;
  max-width: 100%;
}

/* Override any Bootstrap section backgrounds */
#grew-main-body section {
  background-color: var(--grew-beige-alt);
}

/* Responsive container adjustments */
@media (max-width: 1200px) {
  #grew-main-body .container {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 768px) {
  #grew-main-body main {
    padding: 0;
  }
  
  #grew-main-body .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

#hero-content-text {
  padding: 0 3em;
}

@media (max-width: 768px) {
  #hero-content-text {
    padding: 0 1em;
  }
}

/* Typography Classes */
.grew-title {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-title-size);
  color: var(--grew-forest-green-accent);
  font-weight: bold;
}

.grew-header {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-header-size);
  color: var(--grew-forest-green-accent);
  font-weight: bold;
}

.grew-subheading {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-subheading-size);
  color: var(--grew-green-secondary);
  font-weight: bold;
}

.grew-subheading-small {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-subheading-small-size);
  color: var(--grew-teal);
  font-weight: bold;
}

.grew-body {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-body-size);
  color: var(--grew-warm-beige);
  line-height: 1.4;
}

.grew-body-small {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-body-small-size);
  color: var(--grew-charcoal);
  line-height: 1.4;
}

.grew-footer {
  font-family: var(--grew-primary-font);
  font-size: var(--grew-footer-size);
  color: var(--grew-black);
}

.grew-tagline {
  font-family: var(--grew-primary-font);
  font-style: italic;
  font-size: var(--grew-footer-size);
  color: var(--grew-forest-green-accent);
  text-align: center;
}

/* Background Classes */
.grew-bg-soft-cream {
  background-color: var(--grew-soft-cream);
}

.grew-bg-sage-table {
  background-color: var(--grew-sage-table);
}

.grew-bg-warm-beige {
  background-color: var(--grew-warm-beige);
}

.grew-bg-beige-alt {
  background-color: var(--grew-beige-alt);
}

.grew-bg-soft-cream-form {
  background-color: var(--grew-soft-cream-form);
}

/* Text Color Classes */
.grew-text-forest-green {
  color: var(--grew-forest-green-accent);
}

.grew-text-green-secondary {
  color: var(--grew-green-secondary);
}

.grew-text-teal {
  color: var(--grew-teal);
}

.grew-text-charcoal {
  color: var(--grew-charcoal);
}

.grew-text-gold {
  color: var(--grew-gold);
}

.grew-text-gray {
  color: var(--grew-gray);
}

/* Accent Elements */
.grew-divider {
  border-color: var(--grew-gold);
  border-width: 1px;
  border-style: solid;
}

.grew-accent-line {
  background-color: var(--grew-forest-green-accent);
  height: 2px;
}

.grew-callout-box {
  background-color: var(--grew-green-secondary);
  color: white;
  padding: 15px;
  border-radius: 5px;
}

.grew-highlight-bullet {
  color: var(--grew-gold);
  font-weight: bold;
}

/* Logo and Company Styling */
.grew-logo {
  font-family: var(--grew-primary-font);
  color: var(--grew-forest-green-accent);
  font-weight: bold;
}

/*======================
        Navigation Bar Styling
  ======================*/

.grew-navbar {
  background-color: var(--grew-forest-green) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 0.75rem 1rem;
}

.grew-navbar .navbar-brand {
  color: var(--grew-warm-beige) !important;
  font-weight: bold;
  font-size: 1.25rem;
}

.grew-navbar .nav-link {
  color: var(--grew-warm-beige) !important;
  transition: color 0.3s ease, background-color 0.3s ease;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}

.grew-navbar .nav-link:hover {
  color: var(--grew-sage) !important;
  background-color: rgba(255, 255, 255, 0.1);
}

.grew-navbar .nav-link:focus,
.grew-navbar .nav-link:active {
  color: var(--grew-sage) !important;
}

.grew-navbar .navbar-toggler {
  border-color: var(--grew-warm-beige);
}

.grew-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28232, 228, 216, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Responsive navbar adjustments */
@media (max-width: 768px) {
  .grew-navbar {
    padding: 0.5rem 1rem;
  }
  
  .grew-navbar .navbar-nav {
    padding-top: 0.5rem;
  }
  
  .grew-navbar .nav-link {
    padding: 0.75rem 1rem;
  }
}

footer{
  display: flex;
  justify-content: flex-end;
  padding: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  footer {
    justify-content: center;
    text-align: center;
    padding: 1rem 0.5rem;
  }
}

.is-hidden {
    display: none !important;
  }

/*======================
        Modal Styling
  ======================*/

  #result-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3000;
    background-color: #666666b5;
    white-space: normal;
    display: grid;
    grid-template-areas:
      "tp tp tp"
      "lp mc rp"
      "bp bp bp";
    grid-template-rows: 1fr max-content 1fr;
    grid-template-columns: 1fr max-content 1fr;
  }
  
  #modal-content-div {
    grid-area: mc;
    display: grid;
    background-color: var(--grew-soft-cream-form);
    border-width: 3px;
    border-style: solid;
    border-radius: 25px;
    grid-template-areas:
      "tc"
      "mf";
    grid-template-rows: auto auto;
    max-width: 45dvw;
    min-width: 22em;
  }
  
  #result-modal-content {
    display: grid;
    grid-area: tc;
    padding: 3em;
    text-align: center;
    grid-template-areas:
      "mh"
      "mb";
    grid-template-rows: auto auto;
  }
  
  #result-modal-header {
    grid-area: mh;
    height: 65px;
  }
  
  #result-modal-body {
    grid-area: mb;
  }
  
  .result-modal-no-border {
    border: 0px solid black;
  }
  
  .result-modal-normal {
    border-color: black;
  }
  
  .result-modal-bad {
    border-color: #c12830;
  }
  
  .result-modal-good {
    border-color: #73ae43;
  }
  
  .result-modal-warning {
    border-color: #ff9531;
  }
  
  #result-modal-footer {
    display: grid;
    grid-area: mf;
    grid-template-areas:
      "em"
      "br";
    grid-template-rows: auto auto;
  }
  
  #result-modal-error-div {
    grid-area: em;
    max-height: 81px;
  }
  
  #result-modal-button-container {
    grid-area: br;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    align-content: flex-end;
    gap: 5px;
    padding: 2px;
    justify-content: space-between;
  }
  
  .result-modal-button {
    border-radius: 5px;
    border-style: solid;
    border-color: black;
    border-width: thin;
    margin-left: 10px;
    margin-right: 10px;
  }

/*======================
        Custom Icon Styling
  ======================*/
  
  .custom-icon {
    display: inline-block;
    width: 48px;
    height: 48px;
    position: relative;
    background-color: transparent;
  }
  
  .case-processing-icon::before {
    content: "";
    display: block;
    width: 35px;
    height: 35px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='88 165 8 8'%3E%3Cpath id='path2706' fill='%236c7a6b' stroke-width='0.26458335' d='m 91.541352,170.07822 c 0.12894,-1.91446 -0.35363,-3.06833 -1.53977,-3.68171 -0.96284,-0.4979 -1.0106,-0.16902 -0.12781,0.88011 0.80262,0.95386 0.87048,1.37776 0.11045,0.68994 -0.5712,-0.51693 -1.40039,-2.21808 -1.18576,-2.4327 0.22168,-0.22168 1.83482,0.46797 2.45299,1.04871 0.5931,0.55718 0.60669,0.5581 0.60669,0.0408 0,-0.72541 1.17656,-1.79252 1.73859,-1.57685 0.6148,0.23592 0.32593,1.57139 -0.63838,2.95126 -0.41117,0.58837 -0.82876,1.4756 -0.92796,1.97162 l -0.18038,0.90185 0.74615,-0.71485 c 0.92176,-0.8831 2.70157,-1.03582 2.70157,-0.23181 0,0.62817 -0.98971,1.51658 -1.9404,1.7418 -0.43021,0.10191 -0.68629,0.0749 -0.60082,-0.0634 0.0819,-0.13256 0.51143,-0.31351 0.95446,-0.40211 0.87054,-0.17411 1.3407,-0.89167 0.80227,-1.22444 -0.5095,-0.31489 -1.19309,-0.0396 -2.18112,0.87843 l -0.89936,0.83564 z m 1.23168,-2.31357 c 0.6443,-1.09942 0.89238,-2.29635 0.47418,-2.28781 -0.42531,0.009 -0.83886,0.43534 -1.10793,1.14304 -0.28074,0.7384 -0.3892,2.29249 -0.16,2.29249 0.0666,0 0.42382,-0.51648 0.79375,-1.14772 z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  
  /* Records Retrieval Icon */
  .records-retrieval-icon::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='115 179 8 10'%3E%3Cpath id='path2721' fill='%236c7a6b' stroke-width='0.26458335' d='m 118.17077,183.62848 c 0.13455,-0.59882 0.16774,-1.34296 0.0738,-1.65364 -0.22117,-0.73115 -1.16143,-1.75551 -1.61138,-1.75551 -0.49441,0 -0.44932,1.59362 0.0659,2.3292 0.22916,0.32717 0.36163,0.74061 0.29437,0.91877 -0.25028,0.66296 -1.17785,-2.03965 -1.04663,-3.04953 0.15836,-1.21876 0.54594,-1.25596 1.78161,-0.17103 0.70076,0.61527 0.93452,1.02989 0.93234,1.65365 -0.004,1.2391 -0.30273,2.81686 -0.53275,2.81686 -0.11101,0 -0.0917,-0.48994 0.0428,-1.08877 z m 0.60335,0.29502 c 0.0808,-0.3638 0.14851,-0.92271 0.15049,-1.24202 0.005,-0.86932 1.06284,-1.86225 2.18643,-2.05305 0.88441,-0.15019 0.99219,-0.10828 0.99219,0.3858 0,0.81836 -0.66442,1.95966 -1.5983,2.74546 -1.26749,1.06653 -1.51853,0.82072 -0.30557,-0.29921 0.59104,-0.5457 1.15015,-1.26008 1.24248,-1.5875 0.14681,-0.5206 0.0701,-0.59531 -0.6113,-0.59531 -0.92311,0 -1.24483,0.3393 -1.50525,1.5875 -0.10627,0.50932 -0.3068,1.10463 -0.44563,1.32291 -0.18492,0.29075 -0.21315,0.21999 -0.10554,-0.26458 z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  /* Subrogation Icon */
  .subrogation-icon::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='78 176 10 10'%3E%3Cpath id='path2747' fill='%236c7a6b' stroke-width='0.26458335' d='m 82.8878,180.84091 c -0.38357,-1.52332 -1.73713,-3.02298 -2.72848,-3.02298 -0.61851,0 -0.68966,0.0798 -0.53106,0.59532 0.10073,0.32742 0.59113,0.93645 1.08978,1.3534 1.11042,0.92847 0.96445,1.24668 -0.19362,0.42207 -0.79417,-0.5655 -1.5728,-1.91386 -1.5728,-2.72364 0,-0.28672 0.23545,-0.32679 1.04755,-0.17829 1.98704,0.36336 2.99077,1.46734 3.34433,3.67837 0.23436,1.4656 -0.0767,1.38078 -0.4557,-0.12425 z m 1.15171,-0.44701 c 0.33102,-1.82123 0.84922,-2.75786 1.87027,-3.38043 0.46588,-0.28406 0.93635,-0.51692 1.04549,-0.51746 0.10914,-5.5e-4 0.19844,0.51873 0.19844,1.15395 0,1.34926 -0.55447,2.17713 -2.23038,3.33019 l -1.13192,0.77878 z m 1.74986,-0.54886 c 0.8567,-0.88389 1.23655,-2.27015 0.67679,-2.46993 -0.54683,-0.19515 -1.44529,0.83891 -1.82154,2.09647 -0.46487,1.55375 -0.11109,1.66917 1.14475,0.37346 z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }


  .ai-image::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75 75'%3E%3Cpath fill='%236c7a6b' d='m 82.8878,180.84091 c -0.38357,-1.52332 -1.73713,-3.02298 -2.72848,-3.02298 -0.61851,0 -0.68966,0.0798 -0.53106,0.59532 0.10073,0.32742 0.59113,0.93645 1.08978,1.3534 1.11042,0.92847 0.96445,1.24668 -0.19362,0.42207 -0.79417,-0.5655 -1.5728,-1.91386 -1.5728,-2.72364 0,-0.28672 0.23545,-0.32679 1.04755,-0.17829 1.98704,0.36336 2.99077,1.46734 3.34433,3.67837 0.23436,1.4656 -0.0767,1.38078 -0.4557,-0.12425 z m 1.15171,-0.44701 c 0.33102,-1.82123 0.84922,-2.75786 1.87027,-3.38043 0.46588,-0.28406 0.93635,-0.51692 1.04549,-0.51746 0.10914,-5.5e-4 0.19844,0.51873 0.19844,1.15395 0,1.34926 -0.55447,2.17713 -2.23038,3.33019 l -1.13192,0.77878 z m 1.74986,-0.54886 c 0.8567,-0.88389 1.23655,-2.27015 0.67679,-2.46993 -0.54683,-0.19515 -1.44529,0.83891 -1.82154,2.09647 -0.46487,1.55375 -0.11109,1.66917 1.14475,0.37346 z'/%3E%3Cpath fill='%236c7a6b' d='m 23.628007,67.947918 c -0.15041,-0.391969 0.0425,-0.719473 2.12062,-3.599622 0.75738,-1.049705 1.97777,-3.078017 2.71198,-4.507362 1.55406,-3.025447 1.57505,-3.24421 0.80997,-8.444606 -0.86174,-5.857378 -1.43587,-7.155117 -3.17195,-7.169603 -2.06925,-0.01728 -6.10314,-2.180495 -10.03694,-5.382445 -1.12302,-0.914085 -2.62974,-2.058117 -3.34828,-2.542292 -2.58896,-1.74454 -3.0895998,-2.581856 -1.91848,-3.208626 0.87278,-0.467097 5.2834,-0.129698 7.35021,0.562269 7.62177,2.55177 11.51446,7.435271 12.89517,16.177409 0.24911,1.577284 0.53387,2.718543 0.63279,2.536132 0.0989,-0.182412 0.91731,-2.467727 1.81864,-5.078477 2.36804,-6.859161 3.91049,-9.673209 6.69909,-12.221827 3.58324,-3.274879 9.66105,-5.071972 14.68953,-4.343409 2.24493,0.325263 3.49016,0.884123 3.49016,1.566383 0,0.708337 -0.69215,1.205873 -2.91041,2.092071 -1.09141,0.436018 -3.17009,1.404197 -4.61928,2.151509 -3.69767,1.906784 -6.344,2.705833 -9.25458,2.794384 -2.12197,0.06456 -2.41775,0.136485 -2.8838,0.701281 -0.87388,1.059045 -1.8843,3.540125 -4.13754,10.159651 -2.10631,6.187887 -3.22803,8.691121 -5.99053,13.368441 -2.06539,3.497014 -4.46988,5.630437 -4.94637,4.388739 z m 2.99252,-25.544558 c 0,-0.82526 -3.94321,-4.635839 -6.38816,-6.173301 -0.9977,-0.627386 -3.77067,-1.522754 -4.716,-1.522754 -1.44876,0 -1.06823,0.517615 2.37291,3.227692 3.09619,2.438418 4.69421,3.52624 6.1525,4.188187 1.18301,0.536996 2.57875,0.688639 2.57875,0.280176 z m 18.14359,-5.18069 c 2.10852,-0.707806 8.69138,-3.9066 8.97119,-4.359352 0.29941,-0.484455 -1.24731,-0.855443 -2.83445,-0.679855 -2.82015,0.312 -5.87935,1.663194 -8.85903,3.912879 -0.76912,0.580685 -1.39839,1.22008 -1.39839,1.420878 0,0.582514 1.91592,0.445563 4.12068,-0.29455 z m -14.25331,0.394221 c -2.08614,-2.253226 -3.54402,-4.971053 -4.83758,-9.018392 -0.53075,-1.660626 -1.31715,-3.876278 -1.74756,-4.923672 -1.30905,-3.18558 -0.6529,-4.297109 1.71207,-2.900257 3.80254,2.245948 7.20278,7.092867 8.23312,11.736006 0.53954,2.431385 0.54788,5.155707 0.0189,6.178618 -0.66461,1.285208 -1.41747,1.04629 -3.37896,-1.072303 z m 1.63342,-3.329722 c -0.60737,-4.033025 -1.86105,-7.000411 -3.86082,-9.138334 -1.25427,-1.34091 -1.92747,-1.62609 -1.92747,-0.81651 0,0.854986 2.57831,8.189849 3.46098,9.845899 0.98963,1.856747 2.06847,2.89245 2.39853,2.302652 0.11231,-0.200686 0.0803,-1.187854 -0.0712,-2.193707 z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  /* Show FontAwesome icon as fallback for all custom icons */
  .case-processing-icon i,
  .records-retrieval-icon i,
  .subrogation-icon i {
    display: block !important;
  }
  
  /* Hide FontAwesome icon when SVG background is working */
  .case-processing-icon::before:not(:empty) + i,
  .records-retrieval-icon::before:not(:empty) + i,
  .subrogation-icon::before:not(:empty) + i {
    display: none !important;
  }
  
/*======================
        Responsive Hero Section
  ======================*/

/* Hero section responsive typography and spacing */
.hero-section {
  padding-top: clamp(2rem, 4.5vw, 4rem);
  padding-bottom: clamp(2rem, 4.5vw, 4rem);
}

#grew-main-body .hero-section h1 {
  font-size: clamp(1.75rem, 5vw, 3.5rem);
  line-height: 1.2;
  margin-bottom: clamp(1rem, 3vw, 2rem);
}

#grew-main-body .hero-content {
  padding: clamp(1rem, 4vw, 2rem);
}

#grew-main-body .hero-section p.lead {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  line-height: 1.5;
  margin-bottom: clamp(1.5rem, 4vw, 2rem);
}

#grew-main-body .hero-section .btn {
  font-size: clamp(0.875rem, 2vw, 1.125rem);
  padding: clamp(0.5rem, 2vw, 0.75rem) clamp(1rem, 3vw, 2rem);
  white-space: nowrap;
}

/* Hero image positioning - flush to right on desktop */
#index_hero{
  max-height: 500px; 
  object-fit: cover;
  border-radius: 0.5rem;
}

#grew-main-body .hero-section img {
  margin-left: auto;
  margin-right: 0;
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

#grew-main-body .hero-section .col-lg-6:last-child {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 0;
}

/* Tablet adjustments (768px - 991px) */
@media (max-width: 991px) {
  #hero-content-text {
    padding: 0 1.5em;
  }
  
  #grew-main-body .hero-section .col-lg-6 {
    margin-bottom: 1.5rem;
  }
  
  #grew-main-body .hero-section .col-lg-6:last-child {
    padding-right: 15px;
    justify-content: center;
  }
  
  #index_hero {
    max-height: 400px;
  }
}

/* Mobile-specific hero adjustments */
@media (max-width: 768px) {
  #grew-main-body .hero-section {
    padding: 2rem 0;
  }
  
  #grew-main-body .hero-section .row {
    margin: 0;
  }
  
  #grew-main-body .hero-section .col-lg-6 {
    padding: 0 15px;
    margin-bottom: 2rem;
  }
  
  #grew-main-body .hero-content {
    text-align: center;
  }
  
  #hero-content-text {
    padding: 0 1em;
  }
  
  #index_hero {
    max-height: 350px;
  }
  
  #grew-main-body .hero-section .btn {
    width: auto;
    min-width: 150px;
  }
}

/* Extra small screens */
@media (max-width: 576px) {
  #grew-main-body .hero-section {
    padding: 1.5rem 0;
  }
  
  #grew-main-body .container {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 10px;
  }
  
  #hero-content-text {
    padding: 0 0.5em;
  }
  
  #index_hero {
    max-height: 300px;
  }
  
  #grew-main-body .hero-section h1 {
    font-size: 1.75rem;
  }
  
  #grew-main-body .hero-section .btn {
    width: 100%;
    max-width: 250px;
  }
}

/*======================
        Services Section Responsive
  ======================*/

.services-section {
  padding: clamp(2rem, 5vw, 4rem) 0;
}

.service-item {
  padding: clamp(1rem, 3vw, 2rem);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  border-radius: 8px;
}

.service-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(44, 76, 59, 0.2);
}

.service-item:active {
  transform: translateY(-2px);
}

.service-icon {
  margin-bottom: clamp(0.75rem, 2vw, 1.5rem);
}

.service-item h3 {
  font-size: clamp(1.1rem, 2.5vw, 1.25rem);
  margin-bottom: clamp(0.75rem, 2vw, 1rem);
}

.service-item p {
  font-size: clamp(0.875rem, 2vw, 1rem);
  line-height: 1.6;
}

/* Services grid adjustments for tablets */
@media (max-width: 991px) {
  .services-section .col-md-4 {
    margin-bottom: 2rem;
  }
}

/* Services stack on mobile */
@media (max-width: 768px) {
  .services-section .row {
    gap: 1.5rem;
  }
  
  .service-item {
    padding: 1.5rem 1rem;
  }
}

/*======================
        Additional Content Section Responsive
  ======================*/

.additional-content {
  padding: clamp(2rem, 5vw, 4rem) 0;
}

.additional-content h2 {
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin-bottom: clamp(1rem, 3vw, 1.5rem);
}

.additional-content .lead {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  line-height: 1.6;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.feature-stat h3 {
  font-size: clamp(2rem, 5vw, 3rem);
  margin-bottom: clamp(0.5rem, 2vw, 1rem);
}

.feature-stat p {
  font-size: clamp(0.875rem, 2vw, 1rem);
}

/* Stats adjustments for tablets */
@media (max-width: 991px) {
  .additional-content .col-md-4 {
    margin-bottom: 2rem;
  }
}

/* Stats stack on mobile */
@media (max-width: 768px) {
  .additional-content .row.text-center {
    gap: 1rem;
  }
  
  .feature-stat {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 576px) {
  .additional-content .col-lg-8 {
    padding: 0 15px;
  }
}

.bottom-right {
    font-size: 18px;
    color: rgba(229, 227, 213, 1);
    text-shadow: #000 1px 1px 1px;
    -webkit-font-smoothing: antialiased;
    padding: 0;
    margin: 0 10px;
}

@media (max-width: 768px) {
  .bottom-right {
    font-size: 16px;
    margin: 0 5px;
  }
}

@media (max-width: 576px) {
  .bottom-right {
    font-size: 14px;
  }
}

/*======================
        Services Page Styling
  ======================*/

/* Services Hero Section */
.services-hero-section {
  padding: clamp(3rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3rem) 0;
  background-color: var(--grew-soft-cream);
}

.services-hero-content {
  padding: clamp(1rem, 3vw, 2rem);
}

.services-hero-image {
  max-height: 400px;
  object-fit: cover;
  border-radius: 0.5rem;
  width: 100%;
}

/* Core Services Section */
.core-services-section {
  background-color: #fff;
}

.service-detail-card {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background-color: var(--grew-soft-cream-form);
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid var(--grew-beige-alt);
}

.service-detail-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(44, 76, 59, 0.15);
}

.service-detail-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 1.5rem;
}

.service-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.service-features-list li {
  padding: 0.75rem 0 0.75rem 2rem;
  position: relative;
  color: var(--grew-charcoal);
  line-height: 1.6;
}

.service-features-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--grew-forest-green);
  font-weight: bold;
  font-size: 1.2rem;
}

/* Service Approach Section */
.service-approach-section {
  background-color: var(--grew-beige-alt);
}

.approach-item {
  padding: 2rem 1rem;
}

.approach-item h3 {
  font-family: var(--grew-primary-font);
}

/* Demand Preparation Section */
.demand-preparation-section {
  background-color: #fff;
}

.demand-content {
  padding: clamp(1rem, 3vw, 2rem);
}

.demand-highlight-box {
  background-color: var(--grew-sage-table);
  border-radius: 12px;
  border-left: 4px solid var(--grew-forest-green);
}

.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-list li {
  padding-left: 0;
  color: var(--grew-charcoal);
  line-height: 1.8;
}

.benefits-list li strong {
  color: var(--grew-forest-green-accent);
}

/* CTA Section */
.services-cta-section {
  padding: clamp(3rem, 6vw, 5rem) 0;
}

.services-cta-section .btn:hover {
  background-color: var(--grew-forest-green-accent) !important;
  border-color: var(--grew-forest-green-accent) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(44, 76, 59, 0.3);
  transition: all 0.3s ease;
}

/* Responsive adjustments for services page */
@media (max-width: 991px) {
  .service-detail-card {
    margin-bottom: 1.5rem;
  }
  
  .services-hero-section {
    padding: 2rem 0;
  }
}

@media (max-width: 768px) {
  .services-hero-content {
    text-align: center;
    padding: 1rem;
  }
  
  .services-hero-image {
    max-height: 300px;
    margin-top: 2rem;
  }
  
  .service-detail-card {
    padding: 1.5rem;
  }
  
  .demand-highlight-box {
    margin-top: 2rem;
  }
}

@media (max-width: 576px) {
  .services-hero-section h1 {
    font-size: 2rem;
  }
  
  .service-detail-card h3 {
    font-size: 1.25rem;
  }
  
  .approach-item {
    padding: 1.5rem 0.5rem;
  }
}

/*======================
        Contact Page Styling
  ======================*/

/* Contact Page Layout */
.contact-page-section {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background-color: #fff;
}

.contact-content {
  padding: clamp(1rem, 3vw, 2rem);
}

.contact-content h1 {
  font-family: var(--grew-secondary-font);
  font-weight: 700;
  color: var(--grew-charcoal);
  line-height: 1.2;
}

.contact-content .lead {
  font-family: var(--grew-secondary-font);
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  color: var(--grew-charcoal);
  line-height: 1.4;
}

.contact-info-content {
  padding: clamp(1rem, 3vw, 2rem);
}

.contact-info-box {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.contact-info-box h3 {
  font-family: var(--grew-primary-font);
  color: var(--grew-charcoal);
}

.contact-detail a {
  transition: color 0.3s ease;
}

.contact-detail a:hover {
  color: var(--grew-forest-green) !important;
}

/* Contact Form Styling */
#contact-form .form-label {
  font-family: var(--grew-primary-font);
  font-size: 0.95rem;
  color: var(--grew-charcoal);
  margin-bottom: 0.5rem;
}

#contact-form .form-control {
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  padding: 0.875rem 1rem;
  font-size: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#contact-form .form-control:focus {
  border-color: var(--grew-forest-green);
  box-shadow: 0 0 0 0.2rem rgba(44, 76, 59, 0.15);
}

#contact-form textarea.form-control {
  resize: vertical;
  min-height: 150px;
}

#contact-form button[type="submit"] {
  font-family: var(--grew-primary-font);
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  border-radius: 4px;
}

#contact-form button[type="submit"]:hover {
  background-color: var(--grew-forest-green) !important;
  border-color: var(--grew-forest-green) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(44, 76, 59, 0.3);
}

#contact-form button[type="submit"]:active {
  transform: translateY(0);
}

/* Schedule Meeting Button */
.btn-outline-dark {
  font-family: var(--grew-primary-font);
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  border-radius: 4px;
}

.btn-outline-dark:hover {
  background-color: var(--grew-charcoal);
  border-color: var(--grew-charcoal);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(43, 43, 43, 0.3);
}

/* Responsive adjustments for contact page */
@media (max-width: 991px) {
  .contact-page-section {
    padding: 2rem 0;
  }
  
  .contact-info-content {
    margin-top: 2rem;
  }
}

@media (max-width: 768px) {
  .contact-content h1 {
    font-size: 2rem;
  }
  
  .contact-content {
    text-align: left;
    padding: 1rem;
  }
  
  .contact-info-content {
    padding: 1rem;
  }
  
  .contact-info-box {
    padding: 2rem 1.5rem !important;
  }
}

@media (max-width: 576px) {
  .contact-content h1 {
    font-size: 1.75rem;
  }
  
  .contact-content .lead {
    font-size: 1rem;
  }
  
  #contact-form .form-control-lg {
    font-size: 1rem;
    padding: 0.75rem 0.875rem;
  }
  
  #contact-form button[type="submit"] {
    font-size: 1rem;
    padding: 0.875rem 1rem !important;
  }
}

/*======================
        About Page Styling
  ======================*/

/* About Hero Section */
.about-hero-section {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background-color: #fff;
}

.about-hero-content {
  padding: clamp(1rem, 3vw, 2rem);
}

.about-hero-content h1 {
  font-family: var(--grew-secondary-font);
  font-weight: 700;
  color: var(--grew-charcoal);
  line-height: 1.2;
}

.about-hero-content h2 {
  font-family: var(--grew-secondary-font);
  font-weight: 700;
  line-height: 1.3;
}

.about-hero-content .lead {
  font-size: clamp(1.05rem, 2.5vw, 1.25rem);
  line-height: 1.6;
}

.about-hero-image {
  max-height: 500px;
  object-fit: cover;
  border-radius: 8px;
  width: 100%;
}

/* Our Story Section */
.our-story-section {
  background-color: #fff;
}

.story-content {
  padding: clamp(1rem, 3vw, 2rem);
}

.story-content p {
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 1.8;
}

.story-content .lead {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
}

/* Values Section */
.values-section {
  padding: clamp(3rem, 6vw, 5rem) 0;
}

.value-card {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  transition: transform 0.3s ease;
}

.value-card:hover {
  transform: translateY(-5px);
}

.value-icon {
  margin-bottom: 1rem;
}

.value-card h3 {
  font-family: var(--grew-secondary-font);
  font-weight: 700;
  margin-bottom: 1rem;
}

.value-card p {
  font-size: clamp(0.95rem, 2vw, 1.05rem);
  line-height: 1.6;
}

/* About CTA Section */
.about-cta-section {
  padding: clamp(3rem, 6vw, 5rem) 0;
}

.about-cta-section h2 {
  font-family: var(--grew-secondary-font);
}

.about-cta-section .btn {
  font-family: var(--grew-primary-font);
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  border-radius: 4px;
}

.about-cta-section .btn:hover {
  background-color: var(--grew-forest-green) !important;
  border-color: var(--grew-forest-green) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(44, 76, 59, 0.3);
}

/* Responsive adjustments for about page */
@media (max-width: 991px) {
  .about-hero-section {
    padding: 2rem 0;
  }
  
  .about-hero-image {
    margin-top: 2rem;
  }
}

@media (max-width: 768px) {
  .about-hero-content h1 {
    font-size: 2rem;
  }
  
  .about-hero-content h2 {
    font-size: 1.5rem;
  }
  
  .about-hero-content {
    padding: 1rem;
  }
  
  .about-hero-image {
    max-height: 350px;
  }
  
  .value-card {
    padding: 2rem 1rem;
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 576px) {
  .about-hero-content h1 {
    font-size: 1.75rem;
  }
  
  .about-hero-content h2 {
    font-size: 1.35rem;
  }
  
  .about-hero-image {
    max-height: 300px;
  }
  
  .story-content {
    padding: 1rem;
  }
  
}

/* Calendar Modal Styles */
.calendar-modal {
  position: fixed;
  z-index: 4000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6);
}

.calendar-modal-content {
  background-color: #fefefe;
  margin: 5% auto;
  padding: 30px;
  border: 1px solid #888;
  border-radius: 12px;
  width: 90%;
  max-width: 800px;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.calendar-modal-close {
  color: #aaa;
  float: right;
  font-size: 32px;
  font-weight: bold;
  line-height: 20px;
  cursor: pointer;
  transition: color 0.3s ease;
}

.calendar-modal-close:hover,
.calendar-modal-close:focus {
  color: #000;
}

.calendar-container {
  margin-top: 20px;
}

@media (max-width: 768px) {
  .calendar-modal-content {
    width: 95%;
    margin: 10% auto;
    padding: 20px;
  }
  
  .calendar-container iframe {
    height: 500px !important;
  }
  
  .value-card {
    padding: 1.5rem 0.75rem;
  }
}