/* ==========================================================================
   IEC Marriage — homepage redesign (Option A, rev. 2)
   Load LAST, after responsive.css.

   Scope
   - .iec-home ...      homepage only (wrapper div in main.blade.php)
   - header / footer    site-wide chrome (layouts/top-nav, layouts/footer-section)

   Signature
   - The mihrab arch, used three times only: search card head, hero niche, CTA.
   - Inside the niche (and faintly in the CTA): a gold eight-point-star
     (khatam) lattice. This is the page's one bold element.
   ========================================================================== */

:root {
    --iec-maroon: #6B1D2A;
    --iec-maroon-deep: #561620;
    --iec-cream: #FAF6EF;
    --iec-paper: #FFFDF9;
    --iec-sand: #F3EBDD;
    --iec-gold: #A8803F;
    --iec-gold-text: #84622C;   /* gold darkened for small text on cream (AA) */
    --iec-gold-soft: #E3D3B5;
    --iec-ink: #2A1F1D;
    --iec-muted: #67574F;
    --iec-line: #E6DBC9;
    --iec-night: #231917;

    --iec-serif: 'Gilda Display', 'Times New Roman', serif;
    --iec-sans: 'Jost', 'Segoe UI', Arial, sans-serif;

    --iec-cap: 84px;            /* height of the search card's arch head */
    --iec-gutter: 24px;
    --iec-section: 112px;       /* vertical rhythm between sections */

    /* Shapes (data-URIs so this file needs no extra assets) */
    --iec-cap-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 101V86C0 48 92 20 200 0C308 20 400 48 400 86V101Z'/%3E%3C/svg%3E");
    --iec-cap-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M.5 101V86C.5 48 92 20 200 1C308 20 399.5 48 399.5 86V101' fill='none' stroke='%23A8803F' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    --iec-niche-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M.5 101V86C.5 48 92 20 200 1C308 20 399.5 48 399.5 86V101' fill='none' stroke='%23A8803F' stroke-opacity='.7' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    /* Khatam lattice tile: two interlaced squares + joining lines */
    --iec-lattice: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23A8803F' stroke-width='.8'%3E%3Cpath d='M24 7l17 17-17 17L7 24z'/%3E%3Cpath d='M12 12h24v24H12z'/%3E%3Cpath d='M0 24h7M41 24h7M24 0v7M24 41v7M0 0l12 12M48 0L36 12M0 48l12-12M48 48L36 36'/%3E%3C/g%3E%3C/svg%3E");
    --iec-lattice-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23E3D3B5' stroke-width='.8'%3E%3Cpath d='M24 7l17 17-17 17L7 24z'/%3E%3Cpath d='M12 12h24v24H12z'/%3E%3Cpath d='M0 24h7M41 24h7M24 0v7M24 41v7M0 0l12 12M48 0L36 12M0 48l12-12M48 48L36 36'/%3E%3C/g%3E%3C/svg%3E");
    /* single eight-point star, used as a small mark */
    --iec-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%23A8803F' stroke-width='1.1'%3E%3Cpath d='M10 1.5l8.5 8.5-8.5 8.5L1.5 10z'/%3E%3Cpath d='M4 4h12v12H4z'/%3E%3C/g%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Base (homepage)
   -------------------------------------------------------------------------- */
body:has(.iec-home) { background: var(--iec-cream); }

.iec-home {
    background: var(--iec-cream);
    color: var(--iec-ink);
    font-family: var(--iec-sans);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.iec-home .container {
    width: auto;
    max-width: 1240px;
    padding-left: var(--iec-gutter);
    padding-right: var(--iec-gutter);
}
.iec-home .container::before,
.iec-home .container::after { display: none; }   /* bootstrap clearfix; we use grid/flex */
.iec-home h1, .iec-home h2, .iec-home h3, .iec-home h4 {
    font-family: var(--iec-serif);
    font-weight: 400;
    color: var(--iec-ink);
    letter-spacing: -0.005em;
    margin: 0;
    text-wrap: balance;
}
.iec-home p { margin: 0; text-align: inherit; }  /* legacy mobile CSS justifies every <p> */
.iec-home a { transition: color .2s, background-color .2s, border-color .2s; }
.iec-home a:focus-visible,
.iec-home button:focus-visible,
.iec-home select:focus-visible,
header a:focus-visible,
header button:focus-visible,
footer a:focus-visible {
    outline: 2px solid var(--iec-gold);
    outline-offset: 3px;
}

.iec-home .iec-placeholder {
    font-weight: inherit;
    color: var(--iec-gold-text);
    border-bottom: 1px dashed var(--iec-gold);
}

/* Section heads */
.iec-home .iec-section-head { max-width: 640px; margin-bottom: 56px; }
.iec-home .iec-section-head h2 {
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: 1.08;
}
.iec-home .iec-section-head p {
    margin-top: 16px;
    color: var(--iec-muted);
    font-size: 18px;
    max-width: 52ch;
}
.iec-home .iec-section-head--split {
    max-width: none;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
}

/* Buttons & links */
.iec-home .iec-btn {
    display: inline-block;
    padding: 15px 30px;
    min-height: 48px;
    font-family: var(--iec-sans);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.2;
    border: 1px solid transparent;
    border-radius: 2px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
}
.iec-home .iec-btn--primary { background: var(--iec-maroon); border-color: var(--iec-maroon); color: var(--iec-cream); }
.iec-home .iec-btn--primary:hover { background: var(--iec-maroon-deep); border-color: var(--iec-maroon-deep); color: #fff; text-decoration: none; }
.iec-home .iec-btn--quiet { background: transparent; border-color: rgba(107, 29, 42, .45); color: var(--iec-maroon); }
.iec-home .iec-btn--quiet:hover { border-color: var(--iec-maroon); background: var(--iec-maroon); color: var(--iec-cream); text-decoration: none; }
.iec-home .iec-btn--cream { background: var(--iec-cream); border-color: var(--iec-cream); color: var(--iec-maroon); }
.iec-home .iec-btn--cream:hover { background: #fff; color: var(--iec-maroon-deep); text-decoration: none; }

.iec-home .iec-link {
    color: var(--iec-maroon);
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid var(--iec-gold);
    padding-bottom: 2px;
}
.iec-home .iec-link:hover { color: var(--iec-maroon-deep); border-bottom-color: var(--iec-maroon); text-decoration: none; }
.iec-home .iec-link--light { color: var(--iec-cream); border-bottom-color: rgba(250, 246, 239, .45); }
.iec-home .iec-link--light:hover { color: #fff; border-bottom-color: #fff; }

/* --------------------------------------------------------------------------
   1. Hero  (.w3layouts-banner#home)
   -------------------------------------------------------------------------- */
.iec-home .w3layouts-banner.iec-hero {
    background: var(--iec-cream) !important;   /* beats the inline $slug->page_banner */
    height: auto;
    min-height: 0;
    position: relative;
    overflow: hidden;
    padding: 80px 0 104px;
}
.iec-home .iec-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 88px;
    align-items: center;
}

.iec-home .iec-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--iec-gold-text);
    margin-bottom: 28px;
}
.iec-home .iec-eyebrow::before {
    content: "";
    width: 40px;
    height: 1px;
    background: var(--iec-gold);
}
.iec-home .iec-hero__title {
    font-size: clamp(42px, 4.9vw, 70px);
    line-height: 1.04;
    letter-spacing: -0.018em;
}
.iec-home .iec-hero__title > span { display: block; }
.iec-home .iec-hero__lede {
    margin-top: 28px;
    font-size: 19px;
    line-height: 1.55;
    color: var(--iec-muted);
    max-width: 38ch;
    text-wrap: balance;
}
.iec-home .iec-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}
.iec-home .iec-proof {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 40px 0 0;
    padding: 22px 0 0;
    border-top: 1px solid var(--iec-line);
    font-size: 15px;
    color: var(--iec-muted);
    max-width: 470px;
}
.iec-home .iec-proof li + li::before {
    content: "·";
    color: var(--iec-gold);
    margin: 0 12px;
    font-weight: 600;
}
.iec-home .iec-proof b { color: var(--iec-ink); font-weight: 600; }

/* Search column + the latticed niche that frames it */
.iec-home .iec-hero__search {
    position: relative;
    padding-top: var(--iec-cap);
}
.iec-home .iec-hero__search::before,
.iec-home .iec-hero__search::after {
    content: "";
    position: absolute;
    left: -48px;
    right: -48px;
    top: calc(var(--iec-cap) * -1 - 8px);
    bottom: -240px;
    pointer-events: none;
}
.iec-home .iec-hero__search::before {          /* lattice, clipped to the niche, fading downwards */
    background:
        linear-gradient(to bottom, rgba(250,246,239,0) 0%, rgba(250,246,239,0) 45%, var(--iec-cream) 92%),
        var(--iec-lattice) center top / 48px 48px repeat;
    opacity: .55;
    -webkit-mask:
        var(--iec-cap-fill) top / 100% 150px no-repeat,
        linear-gradient(#000, #000) 0 149px / 100% 100% no-repeat;
    mask:
        var(--iec-cap-fill) top / 100% 150px no-repeat,
        linear-gradient(#000, #000) 0 149px / 100% 100% no-repeat;
}
.iec-home .iec-hero__search::after {           /* niche outline */
    background:
        var(--iec-niche-line) top / 100% 150px no-repeat,
        linear-gradient(rgba(168,128,63,.7), rgba(168,128,63,.7)) left 150px / 1px 100% no-repeat,
        linear-gradient(rgba(168,128,63,.7), rgba(168,128,63,.7)) right 150px / 1px 100% no-repeat;
}
.iec-home .iec-hero__search > div { position: relative; z-index: 1; }

/* Desktop / mobile form switch — explicit so no width falls through the gaps */
.iec-home .shw-for-web { display: block; }
.iec-home .shw-for-mobl { display: none; }

/* The search card (.agileits-register) with an arch head */
.iec-home .iec-hero .agileits-register {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    float: none;
    margin: 0;
    padding: 4px 36px 36px;
    background: #fff;
    filter: drop-shadow(0 26px 44px rgba(107, 29, 42, .12)) drop-shadow(0 2px 4px rgba(42, 31, 29, .06));
}
.iec-home .iec-hero .agileits-register::before {      /* white arch head */
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% - 1px);                         /* 1px overlap hides the anti-aliasing seam */
    z-index: -1;                                      /* under the h3 (the filter makes the stacking context) */
    height: var(--iec-cap);
    background: #fff;
    -webkit-mask: var(--iec-cap-fill) center / 100% 100% no-repeat;
    mask: var(--iec-cap-fill) center / 100% 100% no-repeat;
}
.iec-home .iec-hero .agileits-register::after {       /* inner gold rule: sides + base */
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    top: 0;
    bottom: 12px;
    border: 1px solid var(--iec-gold-soft);
    border-top: 0;
    pointer-events: none;
}
.iec-home .iec-hero .agileits-register h3 {
    position: static;
    margin: -34px 0 26px !important;
    padding: 0 0 18px;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--iec-line);
    color: var(--iec-maroon) !important;
    font-family: var(--iec-serif);
    font-size: 30px;
    line-height: 1.1;
    text-align: center;
    text-transform: none;
}
.iec-home .iec-hero .agileits-register h3::before {   /* inner gold rule: arch */
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 100%;
    height: calc(var(--iec-cap) - 12px);
    background: var(--iec-cap-line) center / 100% 100% no-repeat;
    pointer-events: none;
}
.iec-home .iec-hero .agileits-register h3::after {    /* keystone on the apex */
    content: "";
    position: absolute;
    left: 50%;
    top: calc(var(--iec-cap) * -1 + 8px);
    width: 7px;
    height: 7px;
    margin-left: -3.5px;
    background: var(--iec-gold);
    transform: rotate(45deg);
}

/* Form layout */
.iec-home .agileits-register form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 16px;
    position: relative;
    z-index: 1;
}
.iec-home .agileits-register .w3_modal_body_grid,
.iec-home .agileits-register .w3_modal_body_grid1 { margin: 0; min-width: 0; }
.iec-home .agileits-register .main_grey_btn { grid-column: 1 / -1; }

.iec-home .w3_modal_body_grid > label,
.iec-home .w3_modal_body_grid > span {
    display: block;
    float: none;
    width: auto;
    padding: 0;
    margin: 0 0 7px;
    font-family: var(--iec-sans);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--iec-muted);
}
.iec-home .w3_modal_body_grid select,
.iec-home .w3_modal_body_grid .w3_country,
.iec-home .w3_modal_body_grid .bootstrap-select > .dropdown-toggle {
    display: block;
    width: 100% !important;
    height: 48px;
    padding: 0 38px 0 14px;
    font-family: var(--iec-sans);
    font-size: 16px;                   /* 16px stops iOS zooming on focus */
    color: var(--iec-ink);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236B1D2A' stroke-width='1.4'/%3E%3C/svg%3E") right 14px center / 11px 7px no-repeat;
    border: 1px solid #D9CCB8;
    border-radius: 2px;
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.iec-home .w3_modal_body_grid select:hover,
.iec-home .w3_modal_body_grid .bootstrap-select > .dropdown-toggle:hover { border-color: var(--iec-gold); }
.iec-home .w3_modal_body_grid select:focus,
.iec-home .w3_modal_body_grid .bootstrap-select > .dropdown-toggle:focus,
.iec-home .w3_modal_body_grid .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--iec-maroon);
    box-shadow: 0 0 0 3px rgba(107, 29, 42, .12);
    outline: none !important;
}

/* bootstrap-select inside the card (legacy ".w3_modal_body_grid span" rules leak into it) */
.iec-home .w3_modal_body_grid .bootstrap-select { width: 100% !important; float: none; }
.iec-home .w3_modal_body_grid .bootstrap-select > .dropdown-toggle { text-align: left; line-height: 46px; padding-top: 0; padding-bottom: 0; }
.iec-home .w3_modal_body_grid .bootstrap-select span,
.iec-home .w3_modal_body_grid .bootstrap-select .filter-option {
    float: none;
    width: auto;
    padding: 0;
    font-size: inherit;
    font-weight: 400;
    text-transform: none;
    color: inherit;
    letter-spacing: 0;
}
.iec-home .w3_modal_body_grid .bootstrap-select .bs-caret { display: none; }
.iec-home .w3_modal_body_grid .bootstrap-select .filter-option { position: static; padding: 0; }
.iec-home .w3_modal_body_grid .bootstrap-select .filter-option-inner-inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Dropdowns are appended to <body> (data-container="body") */
body:has(.iec-home) .bs-container .dropdown-menu { font-family: var(--iec-sans); border-color: var(--iec-line); border-radius: 2px; box-shadow: 0 14px 30px rgba(42,31,29,.12); }
body:has(.iec-home) .bs-container .dropdown-menu li a { padding: 10px 16px; color: var(--iec-ink); }
body:has(.iec-home) .bs-container .dropdown-menu li.selected a { color: var(--iec-maroon); background: var(--iec-cream); }

/* Search button (#main_search_btn / _mbl keep .main_grey_btn) */
.iec-home .agileits-register .main_grey_btn {
    float: none;
    width: 100%;
    margin: 8px 0 0;
    padding: 15px 20px;
    min-height: 52px;
    border: 0;
    border-radius: 2px;
    background: var(--iec-maroon);
    color: var(--iec-cream);
    font-family: var(--iec-sans);
    font-size: 17px;
    font-weight: 500;
    letter-spacing: .01em;
    text-transform: none;
    transition: background-color .2s;
}
.iec-home .agileits-register .main_grey_btn::after { display: none; }
.iec-home .agileits-register .main_grey_btn:hover { background: var(--iec-maroon-deep); color: #fff !important; }
.iec-home .agileits-register .main_grey_btn:active { transform: translateY(1px); }
.iec-home .agileits-register .main_grey_btn .fa { margin-right: 8px; font-size: 15px; opacity: .8; }

/* The page's single load moment: copy rises, card settles into its niche */
@media (prefers-reduced-motion: no-preference) {
    .iec-home .iec-hero__copy > *,
    .iec-home .iec-hero__search > div {
        animation: iec-rise .8s cubic-bezier(.2, .7, .2, 1) backwards;   /* backwards: no transform lingers on the filtered card once done */
    }
    .iec-home .iec-hero__title { animation-delay: .06s; }
    .iec-home .iec-hero__lede { animation-delay: .12s; }
    .iec-home .iec-hero__actions { animation-delay: .18s; }
    .iec-home .iec-proof { animation-delay: .24s; }
    .iec-home .iec-hero__search > div { animation-delay: .22s; animation-duration: 1s; }
    .iec-home .iec-hero__search::before { animation: iec-fade 1.6s ease-out .1s both; }
}
@keyframes iec-rise {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
}
@keyframes iec-fade {
    from { opacity: 0; }
    to { opacity: .55; }
}

/* --------------------------------------------------------------------------
   2. Trust strip
   -------------------------------------------------------------------------- */
.iec-home .iec-trust {
    position: relative;
    z-index: 1;
    background: var(--iec-paper);
    border-top: 1px solid var(--iec-line);
    border-bottom: 1px solid var(--iec-line);
}
.iec-home .iec-trust__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.iec-home .iec-trust__list li { padding: 44px 44px 46px; }
.iec-home .iec-trust__list li:first-child { padding-left: 0; }
.iec-home .iec-trust__list li:last-child { padding-right: 0; }
.iec-home .iec-trust__list li + li { border-left: 1px solid var(--iec-line); }
.iec-home .iec-trust__list h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 25px;
    color: var(--iec-maroon);
    margin-bottom: 10px;
}
.iec-home .iec-trust__list h3::before {
    content: "";
    flex: none;
    width: 18px;
    height: 18px;
    background: var(--iec-star) center / contain no-repeat;
}
.iec-home .iec-trust__list p { font-size: 16px; color: var(--iec-muted); max-width: 34ch; }

/* --------------------------------------------------------------------------
   3. How it works — a vertical thread of steps beside a live demo
   -------------------------------------------------------------------------- */
.iec-home .iec-steps { padding: var(--iec-section) 0; }
.iec-home .iec-steps__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
    gap: 96px;
    align-items: center;
}
.iec-home .iec-steps .iec-section-head { margin-bottom: 44px; }
.iec-home .iec-steps__list { list-style: none; margin: 0; padding: 0; }
.iec-home .iec-steps__list li {
    position: relative;
    display: grid;
    grid-template-columns: 56px 1fr;
    column-gap: 22px;
    padding-bottom: 30px;
}
.iec-home .iec-steps__list li:last-child { padding-bottom: 0; }
.iec-home .iec-steps__list li::before {          /* the thread */
    content: "";
    position: absolute;
    left: 19px;
    top: 66px;
    bottom: 8px;
    width: 1px;
    background: var(--iec-gold-soft);
}
.iec-home .iec-steps__list li:last-child::before { display: none; }
.iec-home .iec-steps__num {
    grid-row: 1 / span 2;
    font-family: var(--iec-serif);
    font-size: 56px;
    line-height: 1.05;
    color: var(--iec-gold);
    font-variant-numeric: lining-nums;
}
.iec-home .iec-steps__list h3 { font-size: 26px; margin: 10px 0 6px; }
.iec-home .iec-steps__list p { font-size: 17px; color: var(--iec-muted); max-width: 44ch; }

/* The demo: one example profile, before and after a swap (CSS-only toggle) */
.iec-home .iec-demo { position: relative; }
.iec-home .iec-demo > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.iec-home .iec-demo__switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 4px;
    margin-bottom: 16px;
    background: var(--iec-sand);
    border-radius: 2px;
}
.iec-home .iec-demo__switch label {
    margin: 0;
    padding: 12px 10px;
    min-height: 44px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    color: var(--iec-muted);
    border-radius: 2px;
    cursor: pointer;
    transition: background-color .2s, color .2s, box-shadow .2s;
}
.iec-home #iec-demo-before:checked ~ .iec-demo__switch label[for="iec-demo-before"],
.iec-home #iec-demo-after:checked ~ .iec-demo__switch label[for="iec-demo-after"] {
    background: #fff;
    color: var(--iec-maroon);
    box-shadow: 0 1px 3px rgba(42, 31, 29, .1);
}
.iec-home #iec-demo-before:focus-visible ~ .iec-demo__switch label[for="iec-demo-before"],
.iec-home #iec-demo-after:focus-visible ~ .iec-demo__switch label[for="iec-demo-after"] {
    outline: 2px solid var(--iec-gold);
    outline-offset: 2px;
}

.iec-home .iec-demo__card {
    background: #fff;
    border: 1px solid var(--iec-line);
    padding: 28px 28px 24px;
    box-shadow: 0 24px 48px rgba(107, 29, 42, .08);
}
.iec-home .iec-demo__head {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--iec-line);
}
.iec-home .iec-demo__photo {
    position: relative;
    flex: none;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--iec-sand);
    box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--iec-gold-soft);
}
.iec-home .iec-demo__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: sepia(.22) saturate(.95) blur(0);
    mix-blend-mode: multiply;
    transition: filter .35s ease;
}
.iec-home .iec-demo__photo::after {             /* lock badge */
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(250, 246, 239, .35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='1.5' fill='%236B1D2A'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3' fill='none' stroke='%236B1D2A' stroke-width='2'/%3E%3C/svg%3E") center / 22px no-repeat;
    transition: opacity .35s ease;
}
.iec-home #iec-demo-before:checked ~ .iec-demo__card .iec-demo__photo img { filter: sepia(.22) saturate(.95) blur(5px); }
.iec-home #iec-demo-after:checked ~ .iec-demo__card .iec-demo__photo::after { opacity: 0; }

.iec-home .iec-demo__id { font-family: var(--iec-serif); font-size: 23px; color: var(--iec-ink); }
.iec-home .iec-demo__meta { margin-top: 2px !important; font-size: 15px; color: var(--iec-muted); }

.iec-home .iec-demo__rows { margin: 0; padding: 6px 0 0; }
.iec-home .iec-demo__rows > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px dashed var(--iec-line);
}
.iec-home .iec-demo__rows dt { font-weight: 400; font-size: 15px; color: var(--iec-muted); }
.iec-home .iec-demo__rows dd { margin: 0; font-size: 15px; text-align: right; }
.iec-home .iec-demo__locked { color: var(--iec-gold-text); }
.iec-home .iec-demo__locked::before {
    content: "";
    display: inline-block;
    width: 11px;
    height: 12px;
    margin-right: 7px;
    vertical-align: -1px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 12'%3E%3Crect x='1' y='5' width='9' height='6.5' rx='1' fill='%2384622C'/%3E%3Cpath d='M3 5V3.5a2.5 2.5 0 0 1 5 0V5' fill='none' stroke='%2384622C' stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.iec-home .iec-demo__shown { color: var(--iec-ink); font-weight: 500; }
.iec-home .iec-demo__never { color: var(--iec-muted); }
.iec-home .iec-demo__shown,
.iec-home #iec-demo-after:checked ~ .iec-demo__card .iec-demo__locked { display: none; }
.iec-home #iec-demo-after:checked ~ .iec-demo__card .iec-demo__shown { display: inline; }

.iec-home .iec-demo__action {
    margin-top: 20px !important;
    padding: 14px;
    text-align: center;
    font-weight: 500;
    background: var(--iec-maroon);
    color: var(--iec-cream);
    border-radius: 2px;
}
.iec-home .iec-demo__action .iec-demo__locked { color: inherit; }
.iec-home .iec-demo__action .iec-demo__locked::before { display: none; }
.iec-home .iec-demo__action .iec-demo__shown { color: inherit; }
.iec-home .iec-demo__note { margin-top: 14px !important; font-size: 14px; color: var(--iec-muted); text-align: center; }

/* --------------------------------------------------------------------------
   4. Featured profiles  (.w3layouts_featured-profiles)
   -------------------------------------------------------------------------- */
.iec-home .w3layouts_featured-profiles.iec-featured {
    background: var(--iec-paper);
    border-top: 1px solid var(--iec-line);
    padding: var(--iec-section) 0;
}
.iec-home .agile_featured-profiles h2 {
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: 1.08;
    color: var(--iec-ink);
    text-align: left;
    margin: 0;
    padding: 0;
    text-transform: none;
}
.iec-home .agile_featured-profiles h2::before,
.iec-home .agile_featured-profiles h2::after { display: none; }
.iec-home .iec-featured__all { white-space: nowrap; }

.iec-home .iec-profiles {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}
.iec-home .iec-profiles > li { min-width: 0; }
.iec-home .iec-profiles .biseller-column {
    float: none;
    width: auto;
    padding: 0;
    margin: 0;
    height: 100%;
}
.iec-home .iec-profiles .biseller-column > a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 36px 22px 24px;
    background: #fff;
    border: 1px solid var(--iec-line);
    border-radius: 2px;
    text-align: center;
    text-decoration: none;
    color: var(--iec-ink);
    transition: border-color .2s, box-shadow .2s;
}
.iec-home .iec-profiles .biseller-column > a:hover {
    border-color: var(--iec-gold);
    box-shadow: 0 14px 30px rgba(107, 29, 42, .08);
}

/* Avatar: the real images, ringed in gold and warmed into the palette */
.iec-home .iec-profiles .profile-image {
    position: relative;
    width: 96px;
    height: 96px;
    margin: 0 0 20px;
    padding: 0;
    border-radius: 50%;
    overflow: visible;
    background: var(--iec-sand);
    box-shadow: 0 0 0 5px #fff, 0 0 0 6px var(--iec-gold-soft);
}
.iec-home .iec-profiles .profile-image img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    filter: sepia(.22) saturate(.95) brightness(1.02);
    mix-blend-mode: multiply;                    /* the avatars' cool grey takes on the sand ground */
}
.iec-home .iec-profiles .biseller-column > a:hover .profile-image { box-shadow: 0 0 0 5px #fff, 0 0 0 6px var(--iec-gold); }

/* The old hover overlay becomes static card text */
.iec-home .iec-profiles .agile-overlay {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    height: auto;
    padding: 0;
    background: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    width: 100%;
}
.iec-home .iec-profiles .agile-overlay h4 {
    font-family: var(--iec-serif);
    font-size: 25px;
    line-height: 1.15;
    color: var(--iec-ink);
    margin: 0 0 14px;
    padding: 0;
    text-transform: none;
    letter-spacing: .01em;
    font-variant-numeric: tabular-nums;
}
.iec-home .iec-profiles .agile-overlay h4 small {
    display: block;
    margin-bottom: 4px;
    font-family: var(--iec-sans);
    font-size: 13px;
    letter-spacing: 0;
    color: var(--iec-muted);
}
.iec-home .iec-profiles .agile-overlay ul {
    list-style: none;
    margin: 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--iec-line);
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
}
.iec-home .iec-profiles .agile-overlay ul li {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.35;
    color: var(--iec-ink);
    background: none;
    border: 0;
    text-align: center;
}
.iec-home .iec-profiles .agile-overlay ul li + li:not(.sr-only) { border-left: 1px solid var(--iec-line); }
.iec-home .iec-profiles .agile-overlay ul li span {
    display: block;
    float: none;
    width: auto;
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 400;
    color: var(--iec-muted);
    text-align: center;
    text-transform: none;
}
.iec-home .iec-profiles .agile-overlay ul li.sr-only { position: absolute; }
.iec-home .iec-profile__cta {
    margin-top: auto;
    padding-top: 20px;
    font-size: 15px;
    font-weight: 500;
    color: var(--iec-maroon);
}
.iec-home .biseller-column > a:hover .iec-profile__cta { text-decoration: underline; text-decoration-color: var(--iec-gold); text-underline-offset: 5px; }

.iec-home .iec-featured__more { display: none; margin-top: 32px; text-align: center; }

/* --------------------------------------------------------------------------
   5. Testimonials — one lead, two supporting
   -------------------------------------------------------------------------- */
.iec-home .iec-voices { padding: var(--iec-section) 0; }
.iec-home .iec-voices__grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    grid-template-rows: auto auto;
    gap: 24px;
}
.iec-home .iec-quote {
    margin: 0;
    position: relative;
    background: #fff;
    border: 1px solid var(--iec-line);
    padding: 32px 34px 28px;
    display: flex;
    flex-direction: column;
}
.iec-home .iec-quote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: inherit;
}
.iec-home .iec-quote blockquote p {
    font-size: 18px;
    line-height: 1.6;
    color: var(--iec-ink);
    text-wrap: pretty;
}
.iec-home .iec-quote figcaption {
    margin-top: auto;
    padding-top: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: var(--iec-muted);
}
.iec-home .iec-quote__avatar {
    flex: none;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    font-family: var(--iec-serif);
    font-size: 18px;
    color: var(--iec-cream);
    background: var(--iec-sand);
    box-shadow: 0 0 0 1px var(--iec-gold-soft);
}
.iec-home .iec-quote__avatar img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.22) saturate(.95); mix-blend-mode: multiply; }

/* Lead quote: maroon, with a hanging gold quotation mark */
.iec-home .iec-quote--lead {
    grid-row: 1 / span 2;
    background: var(--iec-maroon);
    border: 0;
    padding: 72px 64px 48px 104px;
    color: var(--iec-cream);
    justify-content: center;
}
.iec-home .iec-quote--lead::after {           /* inner gold rule, like a stationery border */
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(227, 211, 181, .38);
    pointer-events: none;
}
.iec-home .iec-quote--lead blockquote { position: relative; }
.iec-home .iec-quote--lead blockquote::before {
    content: "\201C";
    position: absolute;
    left: -56px;
    top: -18px;
    font-family: var(--iec-serif);
    font-size: 120px;
    line-height: 1;
    color: var(--iec-gold);
}
.iec-home .iec-quote--lead blockquote p {
    font-family: var(--iec-serif);
    font-size: clamp(25px, 2.35vw, 33px);
    line-height: 1.32;
    color: var(--iec-cream);
}
.iec-home .iec-quote--lead figcaption { margin-top: 0; padding-top: 32px; color: var(--iec-gold-soft); font-size: 16px; }
.iec-home .iec-quote--lead .iec-quote__avatar { background: var(--iec-cream); box-shadow: 0 0 0 1px rgba(227, 211, 181, .6); }

/* --------------------------------------------------------------------------
   6. Who we are
   -------------------------------------------------------------------------- */
.iec-home .iec-about {
    background: var(--iec-paper);
    border-top: 1px solid var(--iec-line);
    padding: var(--iec-section) 0;
}
.iec-home .iec-about__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 96px;
    align-items: start;
}
.iec-home .iec-about__copy h2 { font-size: clamp(34px, 3.4vw, 48px); line-height: 1.08; margin-bottom: 24px; }
.iec-home .iec-about__copy p { color: var(--iec-muted); max-width: 56ch; margin-bottom: 16px; font-size: 18px; }
.iec-home .iec-about__copy .iec-link { display: inline-block; margin-top: 12px; }

.iec-home .iec-about__advisors {
    padding: 36px 36px 28px;
    background: var(--iec-cream);
    border: 1px solid var(--iec-line);
}
.iec-home .iec-about__advisors h3 { font-size: 25px; color: var(--iec-maroon); }
.iec-home .iec-about__note { margin: 6px 0 18px !important; font-size: 15px; color: var(--iec-muted); }
.iec-home .iec-advisors { list-style: none; margin: 0; padding: 0; }
.iec-home .iec-advisors li {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--iec-line);
    font-size: 16px;
}
.iec-home .iec-advisors__seal {
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff var(--iec-star) center / 20px 20px no-repeat;
    box-shadow: 0 0 0 1px var(--iec-gold-soft);
}
.iec-home .iec-advisors b { display: block; font-weight: 500; margin-bottom: 2px; width: max-content; }
.iec-home .iec-advisors li span:not(.iec-advisors__seal) { font-size: 14px; }

/* Mission statement (inside "Who we are") */
.iec-home .iec-mission {
    margin: 28px 0 24px;
    padding: 4px 0 4px 24px;
    border: 0;
    border-left: 2px solid var(--iec-gold);
}
.iec-home .iec-mission p {
    font-family: var(--iec-serif);
    font-size: 25px;
    line-height: 1.35;
    color: var(--iec-maroon) !important;
    max-width: 30ch;
    margin: 0 !important;
}

/* --------------------------------------------------------------------------
   7. FAQ — native <details>, no script
   -------------------------------------------------------------------------- */
.iec-home .iec-faq { padding: var(--iec-section) 0; }
.iec-home .iec-faq__inner {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 80px;
    align-items: start;
}
.iec-home .iec-faq__list { border-top: 1px solid var(--iec-line); }
.iec-home .iec-faq details { border-bottom: 1px solid var(--iec-line); }
.iec-home .iec-faq summary {
    position: relative;
    display: block;
    padding: 22px 48px 22px 0;
    font-family: var(--iec-serif);
    font-size: 22px;
    line-height: 1.3;
    color: var(--iec-ink);
    cursor: pointer;
    list-style: none;
}
.iec-home .iec-faq summary::-webkit-details-marker { display: none; }
.iec-home .iec-faq summary::after {             /* plus that turns into a minus */
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background:
        linear-gradient(var(--iec-maroon), var(--iec-maroon)) center / 16px 1.5px no-repeat,
        linear-gradient(var(--iec-maroon), var(--iec-maroon)) center / 1.5px 16px no-repeat;
    transition: transform .2s ease;
}
.iec-home .iec-faq details[open] summary::after {
    background: linear-gradient(var(--iec-maroon), var(--iec-maroon)) center / 16px 1.5px no-repeat;
}
.iec-home .iec-faq summary:hover { color: var(--iec-maroon); }
.iec-home .iec-faq summary:focus-visible { outline: 2px solid var(--iec-gold); outline-offset: 4px; }
.iec-home .iec-faq details > div { padding: 0 48px 24px 0; }
.iec-home .iec-faq details p { color: var(--iec-muted); font-size: 17px; max-width: 60ch; }
@media (prefers-reduced-motion: no-preference) {
    .iec-home .iec-faq details[open] > div { animation: iec-rise .25s ease-out; }
}

/* Mobile sticky "Join free" bar (shown by a small script once the hero scrolls away) */
.iec-home .iec-stickybar { display: none; }

/* --------------------------------------------------------------------------
   7. Call to action band — the niche returns, lattice at a whisper
   -------------------------------------------------------------------------- */
.iec-home .iec-cta {
    position: relative;
    overflow: hidden;
    background: var(--iec-maroon);
    color: var(--iec-cream);
    padding: 176px 0 120px;
    text-align: center;
}
.iec-home .iec-cta::before,
.iec-home .iec-cta::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 40px;
    bottom: -40px;
    width: min(760px, 92%);
    transform: translateX(-50%);
    pointer-events: none;
}
.iec-home .iec-cta::before {
    opacity: .13;
    background:
        linear-gradient(to bottom, rgba(107,29,42,0) 30%, var(--iec-maroon) 95%),
        var(--iec-lattice-light) center top / 48px 48px repeat;
    -webkit-mask:
        var(--iec-cap-fill) top / 100% 150px no-repeat,
        linear-gradient(#000, #000) 0 149px / 100% 100% no-repeat;
    mask:
        var(--iec-cap-fill) top / 100% 150px no-repeat,
        linear-gradient(#000, #000) 0 149px / 100% 100% no-repeat;
}
.iec-home .iec-cta::after {
    background:
        var(--iec-niche-line) top / 100% 150px no-repeat,
        linear-gradient(rgba(168,128,63,.7), rgba(168,128,63,.7)) left 150px / 1px 100% no-repeat,
        linear-gradient(rgba(168,128,63,.7), rgba(168,128,63,.7)) right 150px / 1px 100% no-repeat;
}
.iec-home .iec-cta__inner { position: relative; z-index: 1; }
.iec-home .iec-cta h2 {
    color: var(--iec-cream);
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.06;
}
.iec-home .iec-cta p {
    margin: 20px auto 0;
    max-width: 40ch;
    font-size: 18px;
    color: rgba(250, 246, 239, .84);
    text-wrap: balance;
}
.iec-home .iec-cta__actions {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 32px;
}

/* ==========================================================================
   Site-wide chrome: header (layouts/top-nav)
   ========================================================================== */
header {
    position: relative;
    z-index: 40;
    padding: 0;
    background: var(--iec-cream);
    border-bottom: 1px solid var(--iec-line);
    font-family: var(--iec-sans);
}
header .navbar-inverse-blue,
header .navbar-inner { background: transparent; border: 0; min-height: 0; margin: 0; }
header .navbar-inner > .container {
    width: auto;
    max-width: 1240px;
    padding: 14px var(--iec-gutter);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
header .navbar-inner > .container::before,
header .navbar-inner > .container::after,
header .navbar-inner > .container > .clearfix,
header .navbar-inner > .container > br { display: none; }
header .menu { float: none; }
header .logo { float: none; }
header .logo img { display: block; width: 112px !important; height: auto; }
header .pull-right { float: none !important; margin-left: auto; }
header .nav_bottom { min-height: 0; margin: 0; border: 0; background: transparent; }
header .navbar-collapse { padding: 0; border: 0; box-shadow: none; }

header .nav_1 { display: flex; align-items: center; float: none; margin: 0; }
header .nav_1 > li { float: none; margin: 0 !important; }
header .nav_1 > li > a,
header .nav_1 > li > a.nav-link {
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 400;
    color: var(--iec-ink);
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-transform: none;
    letter-spacing: 0;
}
header .nav_1 > li > a:hover,
header .nav_1 > li > a:focus {
    color: var(--iec-maroon) !important;
    background: transparent !important;
    text-decoration: underline;
    text-decoration-color: var(--iec-gold);
    text-underline-offset: 6px;
}
header .nav_1 .dropdown-menu { border-color: var(--iec-line); border-radius: 2px; box-shadow: 0 14px 30px rgba(42,31,29,.12); }
header .nav_1 .dropdown-menu > li > a { padding: 10px 18px; font-family: var(--iec-sans); color: var(--iec-ink); }
header .nav_1 .dropdown-menu > li > a:hover { background: var(--iec-cream); color: var(--iec-maroon); }

/* Signed-in links carry inline maroon backgrounds: calm them to text links */
header .nav_1 > li > a[style] { color: var(--iec-maroon) !important; font-weight: 500; }

header .nav_1 > li.iec-nav-signin { margin-left: 12px !important; padding-left: 12px; border-left: 1px solid var(--iec-line); }
header .nav_1 > li.iec-nav-signin > a { color: var(--iec-maroon); font-weight: 500; }
header .nav_1 > li.iec-nav-join > a,
header .nav_1 > li.iec-nav-join > a:hover,
header .nav_1 > li.iec-nav-join > a:focus {
    margin-left: 6px;
    padding: 12px 22px;
    background: var(--iec-maroon) !important;
    color: var(--iec-cream) !important;
    font-weight: 500;
    border-radius: 2px !important;
    text-decoration: none;
}
header .nav_1 > li.iec-nav-join > a:hover { background: var(--iec-maroon-deep) !important; }

/* Keyword quick-search row: hidden on the homepage (the hero has search), refined elsewhere */
header .navbar-inner > .container > .col-md-12 { flex: 0 0 100%; padding: 12px 0 2px; float: none; }
body:has(.iec-home) header .navbar-inner > .container > .col-md-12 { display: none; }
header .form-styled .input-group { max-width: 560px; margin: 0 auto; }
header .form-styled .input-group-addon { background: #fff; border-color: #D9CCB8; color: var(--iec-gold-text); border-radius: 2px 0 0 2px; }
header .form-styled input.login-w3ls { height: 44px; width: 100%; border: 1px solid #D9CCB8; border-left: 0; padding: 0 14px; font-family: var(--iec-sans); font-size: 16px; border-radius: 0 2px 2px 0; background: #fff; }

/* Mobile toggle */
header .navbar-toggle.navbar-toggle1,
header button.navbar-toggle.navbar-toggle1.collapsed {
    display: none;
    position: relative;
    float: none;
    margin: 0;
    min-height: 44px;
    padding: 0 14px 0 16px;
    border: 1px solid var(--iec-line) !important;
    border-radius: 2px;
    background: #fff !important;
    color: var(--iec-maroon) !important;
    font-family: var(--iec-sans);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
}
header .navbar-toggle1 .icon-bar { display: none; }
header .navbar-toggle1::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 10px;
    margin-left: 10px;
    vertical-align: 1px;
    background: linear-gradient(var(--iec-maroon), var(--iec-maroon)) top / 100% 1.5px no-repeat,
                linear-gradient(var(--iec-maroon), var(--iec-maroon)) center / 100% 1.5px no-repeat,
                linear-gradient(var(--iec-maroon), var(--iec-maroon)) bottom / 100% 1.5px no-repeat;
}

/* ==========================================================================
   Site-wide chrome: footer (layouts/footer-section)
   ========================================================================== */
footer { background: var(--iec-night); font-family: var(--iec-sans); color: #CDBFB4; }
footer .footer { padding: 80px 0 56px; background: transparent; }
footer .container { width: auto; max-width: 1240px; padding-left: var(--iec-gutter); padding-right: var(--iec-gutter); }
footer .footer-info { display: grid; grid-template-columns: 1.2fr 1.4fr 1fr; gap: 48px; }
footer .footer-info::before,
footer .footer-info::after { display: none; }
footer .footer-grids { float: none; width: auto; padding: 0; text-align: left !important; }
footer .footer-grids .logo { float: none; display: inline-block !important; width: auto !important; max-width: max-content; margin: 0 !important; padding: 12px 14px; background: var(--iec-cream); border-radius: 2px; }
footer .footer-grids .logo img { display: block; width: 104px !important; }
footer p { text-align: left; }
footer .iec-footer-note { margin-top: 20px; max-width: 30ch; font-size: 15px; line-height: 1.6; color: #A99A90; }
footer .footer h3 {
    font-family: var(--iec-serif);
    font-size: 21px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--iec-cream);
    margin: 0 0 16px;
}
footer .footer-grids .row { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
footer .footer-grids .row::before,
footer .footer-grids .row::after { display: none; }
footer .footer-grids .row > div { float: none; width: auto; padding: 0; }
footer .footer-grids ul li { margin: 0; font-size: 15px; }
footer .footer-grids ul li a { display: inline-block; padding: 10px 0; color: #CDBFB4; text-decoration: none; }   /* 44px tap rows */
footer .footer-grids ul li a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--iec-gold); text-underline-offset: 4px; }

footer .social { margin: 0; }
footer .social ul { display: flex; gap: 12px; }
footer .social ul li { margin: 0; }
footer .social a,
footer .social a.icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    line-height: 0;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(168, 128, 63, .55);
    color: var(--iec-cream);
    overflow: visible;
}
footer .social a::before,
footer .social a::after { display: none !important; }
footer .social a .fa { display: block; width: auto; height: auto; margin: 0; padding: 0; font-size: 16px; line-height: 1; color: inherit; }
footer .social a:hover { background: var(--iec-gold); border-color: var(--iec-gold); color: var(--iec-night); }

footer .copy-right { background: transparent; border-top: 1px solid rgba(205, 191, 180, .14); padding: 22px 0; text-align: left; }
footer .copy-right p { font-size: 14px; color: #A99A90; font-weight: 400; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
    header .nav_1 > li > a, header .nav_1 > li > a.nav-link { padding: 12px 12px; }
    .iec-home .iec-hero__inner { gap: 64px; }
}

@media (max-width: 991px) {
    :root { --iec-section: 96px; }
    .iec-home .iec-hero__inner { grid-template-columns: 1fr; gap: 64px; }
    .iec-home .iec-hero__copy { max-width: 640px; }
    .iec-home .iec-hero__search { max-width: 560px; }
    .iec-home .iec-steps__inner { grid-template-columns: 1fr; gap: 56px; }
    .iec-home .iec-demo { max-width: 480px; }
    .iec-home .iec-faq__inner { grid-template-columns: 1fr; gap: 8px; }
    .iec-home .iec-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .iec-home .iec-about__inner { grid-template-columns: 1fr; gap: 56px; }
    footer .footer-info { grid-template-columns: 1fr 1fr; }
    footer .footer-grids:first-child { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    :root { --iec-cap: 62px; --iec-gutter: 20px; --iec-section: 72px; }

    .iec-home { font-size: 16px; }
    .iec-home .shw-for-web { display: none; }
    .iec-home .shw-for-mobl { display: block; }
    .iec-home .shw-for-mobl .agileits-register { width: auto !important; margin: 0 !important; left: 0 !important; right: auto !important; }

    /* Header */
    header .navbar-inner > .container { padding-top: 12px; padding-bottom: 12px; }
    header .logo img { width: 96px !important; }
    header .pull-right,
    header .navbar-header { float: none !important; width: auto !important; margin: 0 0 0 auto !important; }
    header .nav_bottom { position: static; }
    header .navbar-toggle.navbar-toggle1,
    header button.navbar-toggle.navbar-toggle1.collapsed { display: inline-flex; align-items: center; }
    header .navbar-collapse {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        margin: 0 !important;
        background: var(--iec-cream);
        border-bottom: 1px solid var(--iec-line) !important;
        box-shadow: 0 18px 30px rgba(42, 31, 29, .10) !important;
    }
    header .navbar-collapse.in { overflow-y: auto !important; }
    header .nav_1 { display: block; padding: 8px var(--iec-gutter) 20px; text-align: left; }
    header .nav_1 > li { text-align: left; }
    header .nav_1 > li > a, header .nav_1 > li > a.nav-link { padding: 14px 0; font-size: 17px; border-bottom: 1px solid var(--iec-line) !important; }
    header .nav_1 > li.iec-nav-signin { margin: 0 !important; padding: 0; border: 0; }
    header .nav_1 > li.iec-nav-join > a,
    header .nav_1 > li.iec-nav-join > a:hover { display: block; margin: 16px 0 0; text-align: center; border-bottom: 0 !important; }

    /* Hero */
    .iec-home .w3layouts-banner.iec-hero { padding: 44px 0 0; }
    .iec-home .iec-hero__inner { gap: 40px; }
    .iec-home .iec-eyebrow { font-size: 12px; letter-spacing: .18em; margin-bottom: 18px; gap: 10px; }
    .iec-home .iec-eyebrow::before { width: 24px; }
    .iec-home .iec-hero__title { font-size: clamp(30px, 9.4vw, 52px); line-height: 1.08; }
    .iec-home .iec-hero__lede { font-size: 17px; margin-top: 18px; }
    .iec-home .iec-hero__actions { margin-top: 28px; gap: 10px; }
    .iec-home .iec-hero__actions .iec-btn { flex: 1 1 auto; padding: 15px 16px; }
    .iec-home .iec-proof { margin-top: 28px; padding-top: 18px; font-size: 14px; }
    .iec-home .iec-proof li + li::before { margin: 0 8px; }

    /* On phones the latticed niche becomes the backdrop the card sits in, edge to edge */
    .iec-home .iec-hero__search { max-width: none; margin: 0 calc(var(--iec-gutter) * -1); padding: calc(var(--iec-cap) + 36px) var(--iec-gutter) 48px; }
    .iec-home .iec-hero__search::before,
    .iec-home .iec-hero__search::after { left: 0; right: 0; top: 0; bottom: 0; }
    .iec-home .iec-hero__search::before {
        background: var(--iec-lattice) center top / 40px 40px repeat;
        -webkit-mask: var(--iec-cap-fill) top / 100% 70px no-repeat, linear-gradient(#000, #000) 0 69px / 100% 100% no-repeat;
        mask: var(--iec-cap-fill) top / 100% 70px no-repeat, linear-gradient(#000, #000) 0 69px / 100% 100% no-repeat;
        opacity: .4;
    }
    .iec-home .iec-hero__search::after { display: none; }
    @keyframes iec-fade { from { opacity: 0; } to { opacity: .4; } }

    .iec-home .iec-hero .agileits-register { padding: 0 22px 26px; }
    .iec-home .iec-hero .agileits-register h3 { font-size: 26px; margin: -22px 0 20px !important; padding-bottom: 14px; }
    .iec-home .agileits-register form { gap: 16px 12px; }
    .iec-home #profile_search_form_mbl > .w3_modal_body_grid:nth-child(1),
    .iec-home #profile_search_form_mbl > .w3_modal_body_grid:nth-child(2),
    .iec-home #profile_search_form_mbl > .w3_modal_body_grid:nth-child(5),
    .iec-home #profile_search_form_mbl > .w3_modal_body_grid:nth-child(6) { grid-column: 1 / -1; }

    /* Trust */
    .iec-home .iec-trust__list { grid-template-columns: 1fr; }
    .iec-home .iec-trust__list li,
    .iec-home .iec-trust__list li:first-child,
    .iec-home .iec-trust__list li:last-child { padding: 26px 0; }
    .iec-home .iec-trust__list li + li { border-left: 0; border-top: 1px solid var(--iec-line); }
    .iec-home .iec-trust__list h3 { font-size: 23px; margin-bottom: 6px; }
    .iec-home .iec-trust__list p { font-size: 16px; padding-left: 30px; }

    .iec-home .iec-section-head { margin-bottom: 36px; }
    .iec-home .iec-section-head h2,
    .iec-home .agile_featured-profiles h2,
    .iec-home .iec-about__copy h2 { font-size: 34px; }
    .iec-home .iec-section-head p { font-size: 17px; }

    /* Steps */
    .iec-home .iec-steps__list li { grid-template-columns: 44px 1fr; column-gap: 16px; }
    .iec-home .iec-steps__list li::before { left: 14px; top: 56px; }
    .iec-home .iec-steps__num { font-size: 46px; }
    .iec-home .iec-steps__list h3 { font-size: 23px; margin-top: 8px; }
    .iec-home .iec-steps__list p { font-size: 16px; }
    .iec-home .iec-demo__card { padding: 22px 18px 18px; }
    .iec-home .iec-demo__rows dt, .iec-home .iec-demo__rows dd { font-size: 14px; }
    .iec-home .iec-mission p { font-size: 22px; }

    /* FAQ */
    .iec-home .iec-faq summary { font-size: 19px; padding: 18px 40px 18px 0; }
    .iec-home .iec-faq details > div { padding-right: 0; }
    .iec-home .iec-faq details p { font-size: 16px; }

    /* Sticky join bar */
    .iec-home .iec-stickybar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 60;
        padding: 10px var(--iec-gutter) calc(10px + env(safe-area-inset-bottom));
        background: rgba(250, 246, 239, .97);
        border-top: 1px solid var(--iec-line);
        box-shadow: 0 -8px 24px rgba(42, 31, 29, .08);
        font-size: 14px;
        color: var(--iec-muted);
        transform: translateY(110%);
        transition: transform .3s ease;
    }
    .iec-home .iec-stickybar.is-visible { transform: none; }
    .iec-home .iec-stickybar .iec-btn { flex: none; padding: 12px 22px; min-height: 44px; }
    body:has(.iec-stickybar.is-visible) footer .copy-right { padding-bottom: 88px; }

    /* Profiles: 2-up */
    .iec-home .iec-featured__all { display: none; }
    .iec-home .iec-featured__more { display: block; }
    .iec-home .iec-featured__more .iec-btn { display: block; }
    .iec-home .iec-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .iec-home .iec-profiles .biseller-column > a { padding: 24px 12px 18px; }
    .iec-home .iec-profiles .profile-image { width: 76px; height: 76px; margin-bottom: 16px; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--iec-gold-soft); }
    .iec-home .iec-profiles .agile-overlay h4 { font-size: 21px; margin-bottom: 12px; }
    .iec-home .iec-profiles .agile-overlay h4 small { font-size: 12px; }
    .iec-home .iec-profiles .agile-overlay ul { grid-template-columns: 1fr; gap: 4px; padding-top: 12px; }
    .iec-home .iec-profiles .agile-overlay ul li { display: block; font-size: 15px; overflow-wrap: anywhere; }
    .iec-home .iec-profiles .agile-overlay ul li + li:not(.sr-only) { border-left: 0; }
    .iec-home .iec-profiles .agile-overlay ul li span { display: inline; margin: 0 6px 0 0; font-size: 13px; }
    .iec-home .iec-profile__cta { padding-top: 14px; font-size: 14px; }

    /* Testimonials */
    .iec-home .iec-voices__grid { grid-template-columns: 1fr; gap: 16px; }
    .iec-home .iec-quote--lead { grid-row: auto; padding: 64px 28px 36px; }
    .iec-home .iec-quote--lead blockquote::before { left: 0; top: -62px; font-size: 88px; }
    .iec-home .iec-quote--lead blockquote p { font-size: 24px; }
    .iec-home .iec-quote:not(.iec-quote--lead) { padding: 26px 22px 22px; }   /* :not() so it can't override the lead's padding */
    .iec-home .iec-quote blockquote p { font-size: 17px; }

    /* About */
    .iec-home .iec-about__copy p { font-size: 17px; }
    .iec-home .iec-about__advisors { padding: 28px 22px 18px; margin: 0 calc(var(--iec-gutter) * -1); border-left: 0; border-right: 0; }

    /* CTA */
    .iec-home .iec-cta { padding: 136px 0 88px; }
    .iec-home .iec-cta::before,
    .iec-home .iec-cta::after { width: calc(100% - 40px); top: 28px; }
    .iec-home .iec-cta h2 { font-size: 36px; }
    .iec-home .iec-cta p { font-size: 17px; padding: 0 12px; }
    .iec-home .iec-cta__actions .iec-btn { min-width: 240px; }

    /* Footer */
    footer .footer { padding: 56px 0 36px; }
    footer .footer-info { grid-template-columns: 1fr; gap: 36px; }
    footer .copy-right { padding: 18px 0 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .iec-home *, .iec-home *::before, .iec-home *::after, header *, footer * { transition: none !important; animation: none !important; }
}
