/*
    isg-custom.css  —  Version 4
    Islecrest Supply Group LLC
    Layered on top of main.css (Read Only base theme)
    ================================================== */

/* ==================================================
   1. CSS VARIABLES
   ================================================== */
:root {
    --isg-green:          #279641;
    --isg-green-dark:     #1e7a34;
    --isg-green-deeper:   #145228;
    --isg-green-dim:      #1a3d23;
    --isg-green-navy:     #0d2415;
    --isg-green-light:    #c8e6cd;
    --isg-green-pale:     #f0f8f2;
    --isg-accent:         #7de89b;
    --isg-accent-dim:     rgba(125,232,155,0.15);
    --isg-border:         #dce8de;
    --isg-border-mid:     #c0d6c4;
    --isg-text:           #2a2a2a;
    --isg-muted:          #5e6e62;
    --isg-muted-lt:       #8fa694;
    --isg-white:          #ffffff;
    --isg-off-white:      #f7f9f7;
    --isg-alt:            #f1f5f2;
    --isg-card-bg:        #ffffff;
    --isg-radius:         6px;
    --isg-radius-lg:      10px;
    --isg-radius-xl:      14px;
    --isg-shadow-xs:      0 1px 3px rgba(0,0,0,0.06);
    --isg-shadow-sm:      0 2px 8px rgba(0,0,0,0.07);
    --isg-shadow:         0 4px 16px rgba(0,0,0,0.09);
    --isg-shadow-md:      0 6px 24px rgba(0,0,0,0.11);
    --isg-shadow-green:   0 4px 20px rgba(39,150,65,0.18);
    --isg-sidebar-w:      20em;
}

/* ==================================================
   2. SIDEBAR — SLIMMER, MORE REFINED
   ================================================== */

/* Shrink sidebar width */
#header {
    width: var(--isg-sidebar-w) !important;
    background: var(--isg-green-navy) !important;
}

#wrapper {
    padding-right: var(--isg-sidebar-w) !important;
}

/* Compact header block inside sidebar */
#header > header {
    padding: 1.6em 1.5em !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Avatar — much smaller */
#header > header .avatar {
    width: 3.75em !important;
    margin: 0 auto 0.9em auto !important;
}

#header > header .avatar img {
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.2);
}

/* Logo text */
#header > header h1 {
    font-size: 1em !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 0.2em 0 !important;
    color: #fff !important;
}
#header > header h1 a { color: #fff !important; }

/* Subtitle */
#header > header p {
    font-size: 0.68em !important;
    color: rgba(255,255,255,0.5) !important;
    font-style: normal !important;
    line-height: 1.5em;
    margin: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Nav links */
#header > nav {
    padding: 0.75em 0;
}

#header > nav ul li {
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}

#header > nav ul li:first-child {
    border-top: 0 !important;
}

#header > nav ul li a {
    font-size: 0.78em !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 0.75em 1.5em !important;
    color: rgba(255,255,255,0.6) !important;
    text-align: left !important;
    transition: color 0.2s ease, background 0.2s ease !important;
}

#header > nav ul li a:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.05) !important;
}

#header > nav ul li a.active {
    background: var(--isg-green) !important;
    color: #fff !important;
    font-weight: 700;
}

/* Sidebar footer ISG branding line */
.isg-sidebar-foot {
    padding: 1.25em 1.5em;
    border-top: 1px solid rgba(255,255,255,0.06);
    font-size: 0.62em;
    color: rgba(255,255,255,0.3);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.6em;
}

/* ==================================================
   3. SECTION BACKGROUNDS
   ================================================== */
.isg-section-hero   { background: none; }
.isg-section-dark   { background: var(--isg-green-dim); }
.isg-section-white  { background: var(--isg-white); }
.isg-section-alt    { background: var(--isg-alt); }
.isg-section-cap    { background: var(--isg-green-navy); }

/* Section separator */
#main > section {
    border-top: 1px solid #e8ece9 !important;
}
#main > section:first-child {
    border-top: 0 !important;
}
#main > section > .container {
    padding: 5em 0 4em 0 !important;
}

/* ==================================================
   4. BUTTONS
   ================================================== */
.isg-btn-primary {
    background:    var(--isg-green) !important;
    border-color:  var(--isg-green) !important;
    color:         #fff !important;
    font-weight:   700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-size:     0.76em;
    border-radius: var(--isg-radius) !important;
    transition:    background 0.2s, box-shadow 0.2s !important;
}
.isg-btn-primary:hover {
    background:   var(--isg-green-dark) !important;
    border-color: var(--isg-green-dark) !important;
    box-shadow:   var(--isg-shadow-green) !important;
    color:        #fff !important;
}

.isg-btn-ghost {
    background:   transparent !important;
    border:       2px solid rgba(255,255,255,0.4) !important;
    color:        rgba(255,255,255,0.9) !important;
    font-weight:  700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-size:    0.76em;
    border-radius: var(--isg-radius) !important;
    transition:   border-color 0.2s, background 0.2s !important;
}
.isg-btn-ghost:hover {
    border-color: rgba(255,255,255,0.8) !important;
    background:   rgba(255,255,255,0.08) !important;
    color:        #fff !important;
}

.isg-btn-outline {
    background:   transparent !important;
    border:       2px solid var(--isg-green) !important;
    color:        var(--isg-green) !important;
    font-weight:  700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-size:    0.76em;
    border-radius: var(--isg-radius) !important;
    transition:   background 0.2s, color 0.2s !important;
}
.isg-btn-outline:hover {
    background:   var(--isg-green) !important;
    color:        #fff !important;
}

/* ==================================================
   5. SECTION HEADER BLOCK
   ================================================== */
.isg-section-header {
    max-width: 46em;
    margin-bottom: 3em;
}
.isg-section-header.centered {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.isg-section-tag {
    display:        inline-flex;
    align-items:    center;
    gap:            0.5em;
    font-size:      0.68em;
    font-weight:    700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color:          var(--isg-green);
    margin-bottom:  0.9em;
}
.isg-section-tag::before {
    content: '';
    display: inline-block;
    width:   18px;
    height:  2px;
    background: var(--isg-green);
    border-radius: 2px;
}
.isg-section-tag--light {
    color: var(--isg-accent);
}
.isg-section-tag--light::before {
    background: var(--isg-accent);
}

.isg-section-header h3 {
    font-size:     1.9em;
    line-height:   1.25em;
    color:         var(--isg-text);
    margin-bottom: 0.55em;
    font-weight:   700;
}
.isg-section-header--light h3 { color: #fff; }

.isg-section-header p {
    font-size:   0.9em;
    line-height: 1.9em;
    color:       var(--isg-muted);
    margin:      0;
}
.isg-section-header--light p { color: rgba(255,255,255,0.65); }

/* ==================================================
   6. HERO SECTION — FULL REDESIGN
   ================================================== */

#one {
    background:    var(--isg-green-navy) !important;
    border-top:    0 !important;
    position:      relative;
    overflow:      hidden;
}

/* Background SVG geometry pattern — subtle depth */
#one::before {
    content:  '';
    position: absolute;
    inset:    0;
    background-image:
        radial-gradient(circle at 75% 40%, rgba(39,150,65,0.18) 0%, transparent 55%),
        radial-gradient(circle at 20% 70%, rgba(39,150,65,0.10) 0%, transparent 45%);
    pointer-events: none;
    z-index: 0;
}

/* Grid line texture */
#one::after {
    content:  '';
    position: absolute;
    inset:    0;
    background-image:
        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
    z-index: 0;
}

/* Remove the old banner image div */
#one .image.main {
    display: none !important;
}

#one > .container {
    position: relative;
    z-index:  1;
    padding:  4.5em 0 4em 0 !important;
}

/* Two-column hero layout */
.isg-hero-layout {
    display:               grid;
    grid-template-columns: 1fr 340px;
    gap:                   3.5em;
    align-items:           center;
}

/* Left column */
.isg-hero-left {}

.isg-hero-eyebrow {
    display:        inline-flex;
    align-items:    center;
    gap:            0.55em;
    font-size:      0.68em;
    font-weight:    700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color:          var(--isg-accent);
    margin-bottom:  1.25em;
    border:         1px solid rgba(125,232,155,0.3);
    background:     rgba(125,232,155,0.07);
    padding:        0.45em 1em;
    border-radius:  3px;
}
.isg-hero-eyebrow .icon {
    font-size: 0.9em;
}

/* Override major header styles for hero */
#one .isg-hero-left header.major {
    text-align: left;
}
#one .isg-hero-left header.major h2 {
    font-size:     2.1em;
    line-height:   1.22em;
    color:         #fff !important;
    font-weight:   700;
    margin-bottom: 0.4em;
}
#one .isg-hero-left header.major h2 + p {
    font-size:   0.95em;
    font-weight: 400;
    color:       rgba(255,255,255,0.62) !important;
    margin-top:  0;
    line-height: 1.85em;
    max-width:   36em;
}

.isg-hero-actions {
    display:     flex;
    flex-wrap:   wrap;
    gap:         0.75em;
    margin-top:  1.75em;
    margin-bottom: 0;
}
.isg-hero-actions li { list-style: none; }

/* Trust cards below hero buttons */
.isg-hero-trust {
    display:   flex;
    flex-wrap: wrap;
    gap:       0.6em;
    margin-top: 2.25em;
}

.isg-trust-card {
    display:       flex;
    align-items:   center;
    gap:           0.65em;
    background:    rgba(255,255,255,0.05);
    border:        1px solid rgba(255,255,255,0.1);
    border-radius: var(--isg-radius);
    padding:       0.6em 1em;
}

.isg-trust-card-icon {
    width:         1.75em;
    height:        1.75em;
    border-radius: 50%;
    background:    rgba(125,232,155,0.15);
    display:       flex;
    align-items:   center;
    justify-content: center;
    flex-shrink:   0;
}
.isg-trust-card-icon .icon {
    font-size: 0.65em;
    color:     var(--isg-accent);
}

.isg-trust-card-text {
    display:       flex;
    flex-direction: column;
    gap:           0.05em;
}
.isg-trust-card-primary {
    font-size:   0.72em;
    font-weight: 700;
    color:       #fff;
    line-height: 1.2;
}
.isg-trust-card-secondary {
    font-size:  0.62em;
    color:      rgba(255,255,255,0.45);
    line-height: 1.2;
}

/* Right column — Organizations We Support card */
.isg-hero-org-card {
    background:    rgba(255,255,255,0.04);
    border:        1px solid rgba(255,255,255,0.12);
    border-radius: var(--isg-radius-xl);
    padding:       1.75em;
    backdrop-filter: blur(4px);
}

.isg-org-card-title {
    font-size:      0.68em;
    font-weight:    700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color:          var(--isg-accent);
    margin-bottom:  1.25em;
    padding-bottom: 0.75em;
    border-bottom:  1px solid rgba(255,255,255,0.08);
}

.isg-org-list {
    display:       flex;
    flex-direction: column;
    gap:           0.6em;
}

.isg-org-item {
    display:     flex;
    align-items: center;
    gap:         0.85em;
    padding:     0.7em 0.9em;
    border-radius: var(--isg-radius);
    background:  rgba(255,255,255,0.03);
    border:      1px solid rgba(255,255,255,0.06);
    transition:  background 0.2s, border-color 0.2s;
}
.isg-org-item:hover {
    background:   rgba(255,255,255,0.07);
    border-color: rgba(255,255,255,0.14);
}

.isg-org-item-icon {
    width:         2em;
    height:        2em;
    border-radius: 50%;
    background:    var(--isg-accent-dim);
    display:       flex;
    align-items:   center;
    justify-content: center;
    flex-shrink:   0;
}
.isg-org-item-icon .icon {
    font-size: 0.75em;
    color:     var(--isg-accent);
}

.isg-org-item-label {
    font-size:   0.82em;
    font-weight: 600;
    color:       rgba(255,255,255,0.8);
    line-height: 1.2;
}

/* ==================================================
   7. GOVERNMENT SUPPLY SOLUTIONS (Dark Section)
   ================================================== */

.isg-solution-grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   1.25em;
}

.isg-solution-card {
    background:    rgba(255,255,255,0.05);
    border:        1px solid rgba(255,255,255,0.10);
    border-radius: var(--isg-radius-lg);
    padding:       2em 1.6em;
    transition:    background 0.25s, border-color 0.25s, transform 0.25s;
    position:      relative;
    overflow:      hidden;
}
.isg-solution-card::after {
    content:  '';
    position: absolute;
    bottom:   0; left: 0; right: 0;
    height:   3px;
    background: linear-gradient(90deg, var(--isg-green), transparent);
    opacity:  0;
    transition: opacity 0.25s;
}
.isg-solution-card:hover {
    background:   rgba(255,255,255,0.09);
    border-color: rgba(255,255,255,0.2);
    transform:    translateY(-3px);
}
.isg-solution-card:hover::after { opacity: 1; }

.isg-solution-icon {
    width:         3em;
    height:        3em;
    border-radius: var(--isg-radius);
    background:    var(--isg-accent-dim);
    border:        1px solid rgba(125,232,155,0.2);
    display:       flex;
    align-items:   center;
    justify-content: center;
    margin-bottom: 1.1em;
}
.isg-solution-icon .icon {
    font-size: 1.05em;
    color:     var(--isg-accent);
}

.isg-solution-card h4 {
    font-size:   0.95em;
    font-weight: 700;
    color:       #fff;
    margin-bottom: 0.55em;
    line-height: 1.3em;
}
.isg-solution-card p {
    font-size:   0.82em;
    color:       rgba(255,255,255,0.55);
    line-height: 1.8em;
    margin:      0;
}

/* ==================================================
   8. WHY ORGANIZATIONS CHOOSE ISG (White)
   ================================================== */

.isg-why-grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   1.5em;
}

.isg-why-card {
    background:    var(--isg-card-bg);
    border:        1px solid var(--isg-border);
    border-radius: var(--isg-radius-lg);
    padding:       2em 1.75em 1.75em;
    position:      relative;
    overflow:      hidden;
    transition:    box-shadow 0.25s, border-color 0.25s, transform 0.25s;
}
.isg-why-card::before {
    content:  '';
    position: absolute;
    top:      0; left: 0; right: 0;
    height:   3px;
    background: var(--isg-green);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}
.isg-why-card:hover {
    border-color: var(--isg-border-mid);
    box-shadow:   var(--isg-shadow-md);
    transform:    translateY(-3px);
}
.isg-why-card:hover::before { transform: scaleX(1); }

.isg-why-num {
    font-size:   2.4em;
    font-weight: 700;
    color:       var(--isg-green-light);
    line-height: 1;
    margin-bottom: 0.5em;
    font-family: "Source Code Pro", monospace;
    letter-spacing: -0.02em;
}
.isg-why-icon {
    margin-bottom: 0.9em;
}
.isg-why-icon .icon {
    font-size: 1.35em;
    color:     var(--isg-green);
}
.isg-why-card h4 {
    font-size:   0.95em;
    font-weight: 700;
    color:       var(--isg-text);
    margin-bottom: 0.55em;
    line-height: 1.35em;
}
.isg-why-card p {
    font-size:   0.82em;
    color:       var(--isg-muted);
    line-height: 1.8em;
    margin:      0;
}

/* ==================================================
   9. CORE CAPABILITIES (Alt)
   ================================================== */

.isg-cap-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   1.5em;
}

.isg-cap-card {
    background:    var(--isg-card-bg);
    border:        1px solid var(--isg-border);
    border-radius: var(--isg-radius-lg);
    overflow:      hidden;
    display:       flex;
    flex-direction: column;
    transition:    box-shadow 0.25s, border-color 0.25s, transform 0.25s;
}
.isg-cap-card:hover {
    box-shadow:   var(--isg-shadow-md);
    border-color: var(--isg-border-mid);
    transform:    translateY(-3px);
}

.isg-cap-card-accent {
    height:     4px;
    background: linear-gradient(90deg, var(--isg-green), var(--isg-green-dark));
}
.isg-cap-card-body {
    padding: 1.75em;
    flex:    1;
}
.isg-cap-icon {
    width:         2.75em;
    height:        2.75em;
    border-radius: var(--isg-radius);
    background:    var(--isg-green-pale);
    border:        1px solid var(--isg-green-light);
    display:       flex;
    align-items:   center;
    justify-content: center;
    margin-bottom: 1em;
}
.isg-cap-icon .icon {
    font-size: 1em;
    color:     var(--isg-green);
}
.isg-cap-card-body h4 {
    font-size:   0.95em;
    font-weight: 700;
    color:       var(--isg-text);
    margin-bottom: 0.5em;
    line-height: 1.35em;
}
.isg-cap-card-body p {
    font-size:   0.82em;
    color:       var(--isg-muted);
    line-height: 1.8em;
    margin:      0;
}

/* ==================================================
   10. MARKETS SERVED (White)
   ================================================== */

.isg-market-grid {
    display:               grid;
    grid-template-columns: repeat(5, 1fr);
    gap:                   1.25em;
}

.isg-market-card-v3 {
    background:    var(--isg-card-bg);
    border:        1px solid var(--isg-border);
    border-radius: var(--isg-radius-lg);
    padding:       1.75em 1.4em;
    transition:    box-shadow 0.25s, border-color 0.25s, transform 0.25s;
}
.isg-market-card-v3:hover {
    border-color: var(--isg-border-mid);
    box-shadow:   var(--isg-shadow);
    transform:    translateY(-3px);
}
.isg-market-card-top {
    display:       flex;
    align-items:   center;
    gap:           0.75em;
    margin-bottom: 0.85em;
}
.isg-market-icon-v3 {
    width:         2.2em;
    height:        2.2em;
    border-radius: var(--isg-radius);
    background:    var(--isg-green-pale);
    border:        1px solid var(--isg-green-light);
    display:       flex;
    align-items:   center;
    justify-content: center;
    flex-shrink:   0;
}
.isg-market-icon-v3 .icon { font-size: 0.8em; color: var(--isg-green); }
.isg-market-card-v3 h4 {
    font-size:   0.88em;
    font-weight: 700;
    color:       var(--isg-text);
    margin:      0;
    line-height: 1.3em;
}
.isg-market-card-v3 p {
    font-size:   0.79em;
    color:       var(--isg-muted);
    line-height: 1.7em;
    margin:      0;
}

/* ==================================================
   11. NAICS CODES (Alt)
   ================================================== */

.isg-naics-primary-block {
    display:       flex;
    align-items:   center;
    gap:           2.5em;
    background:    linear-gradient(135deg, var(--isg-green), var(--isg-green-dark));
    border-radius: var(--isg-radius-lg);
    padding:       2.25em 2.5em;
    margin-top:    2em;
    margin-bottom: 2.25em;
    box-shadow:    var(--isg-shadow-green);
    position:      relative;
    overflow:      hidden;
}
.isg-naics-primary-block::after {
    content:  '';
    position: absolute;
    top: -40%; right: -5%;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: rgba(255,255,255,0.04);
    pointer-events: none;
}

.isg-naics-badge {
    font-size:      0.64em;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color:          rgba(255,255,255,0.75);
    background:     rgba(255,255,255,0.12);
    border:         1px solid rgba(255,255,255,0.22);
    border-radius:  3px;
    padding:        0.45em 0.9em;
    white-space:    nowrap;
    flex-shrink:    0;
}

.isg-naics-primary-inner { flex: 1; }
.isg-naics-primary-code {
    font-family:    "Source Code Pro", monospace;
    font-size:      2.4em;
    font-weight:    700;
    color:          #fff;
    line-height:    1;
    margin-bottom:  0.15em;
    letter-spacing: 0.04em;
}
.isg-naics-primary-desc {
    font-size:   1.05em;
    font-weight: 600;
    color:       rgba(255,255,255,0.82);
    line-height: 1.4em;
}

.isg-naics-secondary-label {
    font-size:      0.69em;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color:          var(--isg-green);
    margin-bottom:  1em;
}

.isg-grid-naics-v3 {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   1.1em;
    margin-bottom:         1.5em;
}

.isg-naics-card-v3 {
    background:    var(--isg-card-bg);
    border:        1px solid var(--isg-border);
    border-left:   4px solid var(--isg-green);
    border-radius: var(--isg-radius);
    padding:       1.1em 1.3em;
    box-shadow:    var(--isg-shadow-xs);
    transition:    box-shadow 0.2s, transform 0.2s;
}
.isg-naics-card-v3:hover {
    box-shadow: var(--isg-shadow);
    transform:  translateY(-2px);
}
.isg-naics-code-v3 {
    font-family:    "Source Code Pro", monospace;
    font-size:      1.05em;
    font-weight:    700;
    color:          var(--isg-green);
    letter-spacing: 0.05em;
    margin-bottom:  0.2em;
}
.isg-naics-desc-v3 {
    font-size:   0.8em;
    color:       var(--isg-text);
    line-height: 1.55em;
}
.isg-naics-disclaimer {
    font-size:  0.77em;
    color:      var(--isg-muted-lt);
    font-style: italic;
}

/* ==================================================
   12. COMPANY INFORMATION / BUSINESS PROFILE
   ================================================== */

.isg-profile-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   1.25em;
    margin-top:            2em;
}

.isg-profile-field {
    background:    var(--isg-card-bg);
    border:        1px solid var(--isg-border);
    border-radius: var(--isg-radius-lg);
    padding:       1.5em 1.6em;
    box-shadow:    var(--isg-shadow-xs);
}

.isg-profile-field--wide {
    grid-column: span 3;
    background:  linear-gradient(135deg, var(--isg-green-pale), #e8f5ec);
    border-color: var(--isg-green-light);
    display:      flex;
    align-items:  center;
    gap:          2em;
    flex-wrap:    wrap;
}

.isg-profile-label {
    font-size:      0.67em;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight:    700;
    color:          var(--isg-green);
    margin-bottom:  0.4em;
}

.isg-profile-value {
    font-size:   1em;
    font-weight: 600;
    color:       var(--isg-text);
    line-height: 1.4em;
}
.isg-profile-value--large {
    font-size: 1.35em;
    color:     var(--isg-green-dark);
}
.isg-profile-mono {
    font-family:    "Source Code Pro", monospace;
    letter-spacing: 0.06em;
    color:          var(--isg-green-dark);
    font-weight:    700;
}
.isg-profile-pending {
    color:       #9a6d00;
    font-weight: 600;
    display:     flex;
    align-items: center;
    gap:         0.5em;
}
.isg-status-dot {
    display:       inline-block;
    width:         8px;
    height:        8px;
    border-radius: 50%;
    background:    #e8a800;
    flex-shrink:   0;
    animation:     isg-pulse 2s ease-in-out infinite;
}
@keyframes isg-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.4; }
}

/* ==================================================
   13. CAPABILITY STATEMENT (Navy)
   ================================================== */

.isg-cap-block {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   4em;
    align-items:           center;
}

.isg-cap-badge {
    display:        inline-block;
    font-size:      0.64em;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    background:     rgba(255,255,255,0.1);
    border:         1px solid rgba(255,255,255,0.2);
    color:          rgba(255,255,255,0.8);
    border-radius:  3px;
    padding:        0.4em 0.9em;
    margin-bottom:  1.1em;
}

.isg-cap-block-left h3 {
    font-size:   1.85em;
    line-height: 1.3em;
    color:       #fff;
    margin-bottom: 0.75em;
}
.isg-cap-block-left p {
    font-size:   0.87em;
    color:       rgba(255,255,255,0.62);
    line-height: 1.9em;
    margin-bottom: 1.25em;
}

.isg-cap-checklist {
    display:       flex;
    flex-direction: column;
    gap:           0.85em;
    background:    rgba(255,255,255,0.04);
    border:        1px solid rgba(255,255,255,0.1);
    border-radius: var(--isg-radius-lg);
    padding:       2em;
}
.isg-cap-check-item {
    display:     flex;
    align-items: center;
    gap:         0.9em;
    font-size:   0.87em;
    color:       rgba(255,255,255,0.75);
}
.isg-cap-check-item .icon {
    font-size:  0.8em;
    color:      var(--isg-accent);
    flex-shrink: 0;
}

/* ==================================================
   14. CONTACT (White)
   ================================================== */

.isg-contact-grid-v3 {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   1.5em;
    margin-top:            2em;
}

.isg-contact-card {
    background:    var(--isg-card-bg);
    border:        1px solid var(--isg-border);
    border-radius: var(--isg-radius-lg);
    padding:       2em 1.75em;
    box-shadow:    var(--isg-shadow-xs);
    transition:    box-shadow 0.25s, border-color 0.25s, transform 0.25s;
}
.isg-contact-card:hover {
    border-color: var(--isg-border-mid);
    box-shadow:   var(--isg-shadow);
    transform:    translateY(-2px);
}
.isg-contact-card-icon {
    width:         2.75em;
    height:        2.75em;
    border-radius: var(--isg-radius);
    background:    var(--isg-green-pale);
    border:        1px solid var(--isg-green-light);
    display:       flex;
    align-items:   center;
    justify-content: center;
    margin-bottom: 1em;
}
.isg-contact-card-icon .icon { font-size: 0.95em; color: var(--isg-green); }
.isg-contact-card h4 {
    font-size:      0.78em;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight:    700;
    color:          var(--isg-green);
    margin-bottom:  0.5em;
}
.isg-contact-card p {
    font-size:   0.88em;
    color:       var(--isg-text);
    margin:      0;
    line-height: 1.7em;
}
.isg-contact-card a {
    color:        var(--isg-green);
    border-bottom: 1px solid transparent;
    transition:   border-color 0.2s;
}
.isg-contact-card a:hover { border-bottom-color: var(--isg-green); }

/* ==================================================
   15. FLOATING CONTACT BUTTON
   ================================================== */

#isg-float-btn {
    position:      fixed;
    bottom:        2em;
    right:         calc(var(--isg-sidebar-w) + 1.5em);
    z-index:       9999;
}

.isg-float-trigger {
    width:         3.2em;
    height:        3.2em;
    border-radius: 50%;
    background:    var(--isg-green);
    border:        none;
    cursor:        pointer;
    display:       flex;
    align-items:   center;
    justify-content: center;
    box-shadow:    0 4px 16px rgba(39,150,65,0.35);
    transition:    transform 0.2s, box-shadow 0.2s, background 0.2s;
    color:         #fff;
    font-size:     1em;
}
.isg-float-trigger:hover {
    background:  var(--isg-green-dark);
    transform:   scale(1.08);
    box-shadow:  0 6px 22px rgba(39,150,65,0.45);
}
.isg-float-trigger .icon { font-size: 1em; color: #fff; }

.isg-float-panel {
    position:      absolute;
    bottom:        calc(100% + 0.75em);
    right:         0;
    width:         240px;
    background:    #fff;
    border:        1px solid var(--isg-border);
    border-radius: var(--isg-radius-lg);
    box-shadow:    var(--isg-shadow-md);
    padding:       1.4em;
    display:       none;
    animation:     isg-fadeUp 0.2s ease;
}
.isg-float-panel.open { display: block; }

@keyframes isg-fadeUp {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.isg-float-panel-title {
    font-size:      0.68em;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color:          var(--isg-green);
    margin-bottom:  0.85em;
    padding-bottom: 0.6em;
    border-bottom:  1px solid var(--isg-border);
}

.isg-float-email {
    display:     flex;
    align-items: center;
    gap:         0.65em;
    font-size:   0.83em;
    color:       var(--isg-text);
    margin-bottom: 0.75em;
}
.isg-float-email .icon { color: var(--isg-green); font-size: 0.9em; }
.isg-float-email a {
    color:        var(--isg-green);
    font-weight:  600;
    word-break:   break-all;
    border:       0;
}

.isg-float-hours {
    font-size:   0.76em;
    color:       var(--isg-muted);
    line-height: 1.6em;
}

/* ==================================================
   16. FOOTER
   ================================================== */

#footer {
    background: var(--isg-green-navy) !important;
    padding:    3em 0 2em !important;
}

.isg-footer-top {
    display:     flex;
    align-items: flex-start;
    justify-content: space-between;
    gap:         2em;
    flex-wrap:   wrap;
    margin-bottom: 1.75em;
}

.isg-footer-brand strong {
    display:     block;
    font-size:   0.9em;
    font-weight: 700;
    color:       #fff;
    margin-bottom: 0.25em;
}
.isg-footer-brand span {
    font-size: 0.73em;
    color:     rgba(255,255,255,0.4);
}

.isg-footer-links {
    display:   flex;
    flex-wrap: wrap;
    gap:       0.5em 1.4em;
    align-items: center;
}
.isg-footer-links a {
    font-size:      0.73em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color:          rgba(255,255,255,0.42);
    border:         0;
    text-decoration: none;
    transition:     color 0.2s;
}
.isg-footer-links a:hover { color: rgba(255,255,255,0.85); }

.isg-footer-divider {
    border:    0;
    border-top: 1px solid rgba(255,255,255,0.07);
    margin-bottom: 1.5em;
}

.isg-footer-bottom ul.copyright {
    margin-bottom: 0.75em;
}
.isg-footer-bottom ul.copyright li {
    border-left-color: rgba(255,255,255,0.12) !important;
    color:             rgba(255,255,255,0.35) !important;
    font-size:         0.76em;
}
.isg-footer-bottom ul.copyright li a {
    color: rgba(255,255,255,0.45) !important;
}
.isg-footer-bottom ul.copyright li a:hover {
    color: rgba(255,255,255,0.8) !important;
}

.isg-footer-disclaimer {
    font-size:   0.7em;
    color:       rgba(255,255,255,0.25);
    line-height: 1.7em;
    margin:      0;
}

/* ==================================================
   17. RESPONSIVE — TABLET (≤1280px)
   ================================================== */

@media screen and (max-width: 1280px) {

    :root { --isg-sidebar-w: 18em; }

    .isg-hero-layout {
        grid-template-columns: 1fr 290px;
        gap: 2.5em;
    }

    .isg-solution-grid { grid-template-columns: repeat(2, 1fr); }
    .isg-why-grid      { grid-template-columns: repeat(2, 1fr); }

}

/* ==================================================
   18. RESPONSIVE — MEDIUM (≤1024px)
   ================================================== */

@media screen and (max-width: 1024px) {

    :root { --isg-sidebar-w: 0em; }

    #main > section > .container { padding: 4em 0 3em 0 !important; }

    .isg-hero-layout {
        grid-template-columns: 1fr;
        gap: 2em;
    }
    .isg-hero-org-card { max-width: 480px; }

    .isg-cap-grid      { grid-template-columns: repeat(2, 1fr); }
    .isg-market-grid   { grid-template-columns: repeat(3, 1fr); }
    .isg-grid-naics-v3 { grid-template-columns: repeat(2, 1fr); }
    .isg-profile-grid  { grid-template-columns: repeat(2, 1fr); }
    .isg-profile-field--wide { grid-column: span 2; }
    .isg-cap-block     { grid-template-columns: 1fr; gap: 2.5em; }
    .isg-contact-grid-v3 { grid-template-columns: repeat(3, 1fr); }

    #isg-float-btn { right: 1.5em; }

}

/* ==================================================
   19. RESPONSIVE — MOBILE (≤736px)
   ================================================== */

@media screen and (max-width: 736px) {

    #main > section > .container { padding: 3em 0 2.5em 0 !important; }

    .isg-section-header h3 { font-size: 1.5em; }

    .isg-solution-grid   { grid-template-columns: 1fr; }
    .isg-why-grid        { grid-template-columns: 1fr; }
    .isg-cap-grid        { grid-template-columns: 1fr; }
    .isg-market-grid     { grid-template-columns: repeat(2, 1fr); }
    .isg-grid-naics-v3   { grid-template-columns: 1fr; }
    .isg-profile-grid    { grid-template-columns: 1fr; }
    .isg-profile-field--wide { grid-column: span 1; }
    .isg-contact-grid-v3 { grid-template-columns: 1fr; }

    .isg-naics-primary-block {
        flex-direction: column;
        align-items:    flex-start;
        gap:            1em;
    }

    .isg-footer-top { flex-direction: column; }

    .isg-hero-trust { flex-direction: column; }

    #one .isg-hero-left header.major h2 { font-size: 1.6em; }

    #isg-float-btn { bottom: 1.25em; right: 1.25em; }

}

/* ==================================================
   20. RESPONSIVE — SMALL MOBILE (≤480px)
   ================================================== */

@media screen and (max-width: 480px) {

    .isg-market-grid { grid-template-columns: 1fr; }

    #one .isg-hero-left header.major h2 { font-size: 1.35em; }

}
