/* EngineerIsaac civic theme — original CSS inspired by a municipal CityGov layout. */
:root{
    color-scheme:light !important;
    --cg-navy:#16324f !important;
    --cg-navy-2:#0f2438 !important;
    --cg-ink:#1e293b !important;
    --cg-muted:#5b6b7c !important;
    --cg-line:#d7dee7 !important;
    --cg-paper:#ffffff !important;
    --cg-wash:#f3f6f9 !important;
    --cg-gold:#c4a35a !important;
    --cg-gold-2:#b08d3e !important;
    --cg-teal:#2a8f9d !important;
    --cg-sky:#3d6d99 !important;
    --cg-shadow:0 14px 40px rgba(15,36,56,.12) !important;
    --ei-bg0:#f3f6f9 !important;
    --ei-bg1:#e8eef4 !important;
    --ei-border:#d7dee7 !important;
    --ei-text:#1e293b !important;
    --ei-muted:#5b6b7c !important;
    --ei-muted2:#7b8b9c !important;
    --ei-accent:#c4a35a !important;
    --ei-accent-2:#2a8f9d !important;
    --ei-card:#ffffff !important;
    --ei-card-strong:#ffffff !important;
    --ei-glow:none !important;
    --bg:#f3f6f9 !important;
    --bg-2:#e8eef4 !important;
    --text:#1e293b !important;
    --muted:#5b6b7c !important;
    --brand:#c4a35a !important;
    --brand-2:#16324f !important;
    --card:#ffffff !important;
    --card-strong:#ffffff !important;
    --border:#d7dee7 !important;
    --shadow:0 14px 40px rgba(15,36,56,.12) !important;
    --radius:4px !important;
    --rb-bg:#f3f6f9 !important;
    --rb-bg0:#f3f6f9 !important;
    --rb-bg1:#e8eef4 !important;
    --rb-panel:#ffffff !important;
    --rb-panel-2:#ffffff !important;
    --rb-border:#d7dee7 !important;
    --rb-text:#1e293b !important;
    --rb-muted:#5b6b7c !important;
    --rb-muted2:#7b8b9c !important;
    --rb-accent:#c4a35a !important;
    --rb-accent-2:#2a8f9d !important;
    --rb-accent-3:#16324f !important;
    --rb-warn:#b45309 !important;
    --wx-bg:#f3f6f9 !important;
    --wx-panel:#ffffff !important;
    --wx-panel-2:#ffffff !important;
    --wx-border:#d7dee7 !important;
    --wx-text:#1e293b !important;
    --wx-muted:#5b6b7c !important;
    --wx-accent:#2a8f9d !important;
    --wx-warn:#b45309 !important;
    --lcb-bg0:#f3f6f9 !important;
    --lcb-bg1:#e8eef4 !important;
    --lcb-border:#d7dee7 !important;
    --lcb-text:#1e293b !important;
    --lcb-muted:#5b6b7c !important;
    --lcb-muted2:#7b8b9c !important;
    --lcb-accent:#c4a35a !important;
    --lcb-accent-2:#2a8f9d !important;
    --lcb-accent-3:#16324f !important;
}

html{
    background:var(--cg-wash);
    color:var(--cg-ink);
    height:auto !important;
    min-height:100%;
    overflow-x:hidden;
}
body{
    background:var(--cg-wash) !important;
    color:var(--cg-ink) !important;
    font-family:"DM Sans", "Segoe UI", sans-serif !important;
    text-shadow:none !important;
}
body::after{
    display:none !important;
}

a{
    color:var(--cg-sky);
    text-decoration:none;
}
a:hover{
    color:var(--cg-navy);
    text-decoration:underline;
}

h1,h2,h3,h4,h5,h6,
.brand,
.ei-brand,
.wx-brand,
.rb-brand,
.tweet-name,
.ei-posttitle,
.ei-timeline-title,
.ei-latest-title{
    color:var(--cg-navy) !important;
    text-shadow:none !important;
    font-family:"Poppins", "DM Sans", sans-serif;
}

.subtle,
.tweet-time,
.tweet-body,
.ei-sub,
.ei-postmeta,
.ei-article-sub,
.ei-home-lede,
.ei-home-panel p,
.ei-home-band p,
.ei-timeline-excerpt,
.ei-latest-meta,
.ei-caption,
.ei-empty,
.ei-comments-note,
.rb-muted,
.wx-muted{
    color:var(--cg-muted) !important;
}

.bg-wrap,
.ei-bg-overlay,
.wx-bg-overlay{
    background:rgba(15,36,56,.55) !important;
}
.ei-bg-video,
.background-video{
    filter:saturate(.85) contrast(1.05) brightness(.72) !important;
    opacity:.88 !important;
}

.site-header,
.glass,
.hero,
.tweet,
.card,
.list-group-item,
.offcanvas,
.dropdown-menu,
.modal-content,
.ei-left,
.ei-mid,
.ei-right,
.ei-main,
.ei-mobile-bar,
.ei-mid-head,
.ei-home-panel,
.ei-latest-panel,
.ei-latest-card,
.ei-timeline-card,
.ei-home-band,
.ei-field-card,
.ei-photo,
.ei-gallery-modal-panel,
.ei-auth-card,
.ei-form,
.ei-alert,
.ei-comment,
.ei-locked-panel,
.ei-locked-copy,
.ei-universal-lab-flyout,
.ei-universal-lab-head,
.ei-universal-lab-item,
.rb-panel,
.wx-panel{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border-color:var(--cg-line) !important;
    box-shadow:none;
    text-shadow:none !important;
}

.ei-btn,
.btn-brand,
.nav-btn{
    border-radius:3px !important;
    font-family:"Poppins", "DM Sans", sans-serif;
    font-weight:600 !important;
    letter-spacing:.02em;
    text-shadow:none !important;
}
.ei-btn{
    background:#fff !important;
    color:var(--cg-navy) !important;
    border:1px solid var(--cg-line) !important;
}
.ei-btn:hover{
    background:var(--cg-wash) !important;
    color:var(--cg-navy) !important;
    text-decoration:none !important;
}
.ei-btn-primary,
.btn-brand{
    background:var(--cg-gold) !important;
    border-color:var(--cg-gold) !important;
    color:#16324f !important;
}
.ei-btn-primary:hover,
.btn-brand:hover{
    background:var(--cg-gold-2) !important;
    color:#16324f !important;
}

body.cg-has-header .ei-mobile-bar{
    display:none !important;
}
body.cg-has-header .ei-left{
    display:none !important;
}
body.cg-has-header{
    padding-top:134px !important;
}
body.cg-has-header .ei-page,
body.cg-has-header .ei-layout{
    display:block !important;
    grid-template-columns:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
}
body.cg-has-header .ei-main,
body.cg-has-header .ei-right,
body.cg-has-header .ei-right-inner{
    background:transparent !important;
}
body.cg-has-header .ei-article{
    max-width:860px;
    margin:28px auto 56px;
    background:#fff;
    border:1px solid var(--cg-line);
    box-shadow:var(--cg-shadow);
    padding:32px 32px 40px;
}
body.cg-has-header .ei-auth-card,
body.cg-has-header .ei-auth-frame .ei-auth-card{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border:1px solid var(--cg-line) !important;
    box-shadow:var(--cg-shadow) !important;
}
body.cg-has-header .ei-auth-wrap{
    min-height:calc(100vh - 220px);
}

/* Civic chrome */
.cg-topbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:91;
    background:var(--cg-navy);
    color:#d5deea;
    font-size:13px;
    letter-spacing:.02em;
    transition:transform 200ms ease, opacity 200ms ease;
}
.cg-topbar a{ color:#fff; }
.cg-topbar a:hover{ color:var(--cg-gold); text-decoration:none; }
.cg-topbar-inner,
.cg-header-inner,
.cg-wrap,
.cg-footer-inner{
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
}
.cg-topbar-inner{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.cg-topbar-links{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.cg-header{
    position:fixed;
    top:38px;
    left:0;
    right:0;
    z-index:90;
    background:#fff;
    border-bottom:1px solid var(--cg-line);
    box-shadow:0 8px 24px rgba(15,36,56,.06);
    overflow:visible;
    transition:top 200ms ease;
}
.cg-header-inner{
    min-height:96px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:16px;
    overflow:visible;
    transition:min-height 200ms ease;
}
.cg-logo{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--cg-navy);
    text-decoration:none;
    min-width:0;
    flex:0 0 auto;
}
.cg-logo:hover{ text-decoration:none; color:var(--cg-navy); }
.cg-logo img{
    width:128px;
    height:128px;
    object-fit:contain;
    margin-bottom:-52px;
    position:relative;
    z-index:92;
    transition:width 200ms ease, height 200ms ease, margin-bottom 200ms ease;
}
.cg-logo-text{
    display:flex;
    flex-direction:column;
    line-height:1.08;
}
.cg-logo-text strong{
    font-family:"Poppins", sans-serif;
    font-size:30px;
    font-weight:700;
    transition:font-size 200ms ease;
}
.cg-logo-text span{
    color:var(--cg-muted);
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:font-size 200ms ease, opacity 200ms ease;
}
body.cg-scrolled .cg-topbar{
    transform:translateY(-100%);
    opacity:0;
    pointer-events:none;
}
body.cg-scrolled .cg-header{
    top:0;
}
body.cg-scrolled .cg-header-inner{
    min-height:62px;
}
body.cg-scrolled .cg-logo img{
    width:58px;
    height:58px;
    margin-bottom:-10px;
}
body.cg-scrolled .cg-logo-text strong{
    font-size:20px;
}
body.cg-scrolled .cg-logo-text span{
    font-size:11px;
}
body.cg-has-header.cg-scrolled{
    padding-top:62px !important;
}
body.portal-app.cg-scrolled .portal-side{
    top:62px;
    height:calc(100vh - 62px);
}
.cg-nav{
    display:flex;
    align-items:center;
    gap:2px;
    flex-wrap:nowrap;
    justify-content:flex-end;
    margin-left:auto;
}
.cg-nav a,
.cg-nav button,
.cg-nav .ei-posts-toggle{
    appearance:none !important;
    background:none !important;
    border:0 !important;
    color:var(--cg-navy) !important;
    font:inherit !important;
    font-weight:600 !important;
    font-size:14px !important;
    padding:10px 11px !important;
    cursor:pointer;
    text-decoration:none !important;
    width:auto !important;
    min-height:0 !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    display:inline-flex !important;
    align-items:center;
    box-shadow:none !important;
    border-radius:0 !important;
}
.cg-nav a:hover,
.cg-nav button:hover{
    color:var(--cg-gold-2) !important;
    text-decoration:none !important;
    background:none !important;
}
.cg-nav a.active{
    color:var(--cg-navy) !important;
    box-shadow:inset 0 -2px 0 var(--cg-gold);
}
.cg-nav .cg-cta{
    background:var(--cg-gold) !important;
    color:var(--cg-navy) !important;
    padding:8px 14px !important;
    margin-left:8px;
    border-radius:3px !important;
    box-shadow:none !important;
}
.cg-nav .cg-cta:hover{
    background:var(--cg-gold-2) !important;
    color:var(--cg-navy) !important;
}
.cg-menu-btn{
    display:none;
    appearance:none;
    border:1px solid var(--cg-line);
    background:#fff;
    color:var(--cg-navy);
    min-height:42px;
    padding:0 12px;
    font-weight:700;
    gap:8px;
    align-items:center;
}
.cg-drawer{
    display:none;
    background:#fff;
    border-top:1px solid var(--cg-line);
    padding:10px 16px 18px;
}
.cg-drawer a,
.cg-drawer button{
    display:block;
    width:100%;
    text-align:left;
    appearance:none;
    background:none;
    border:0;
    color:var(--cg-navy);
    font:inherit;
    font-weight:650;
    padding:12px 4px;
    border-bottom:1px solid var(--cg-wash);
}
body.cg-nav-open .cg-drawer{ display:block; }

.cg-hero{
    position:relative;
    min-height:min(72vh, 640px);
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#fff;
    background:var(--cg-navy-2);
}
.cg-hero video,
.cg-hero img.cg-hero-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.8) contrast(1.05) brightness(.7);
}
.cg-hero-shade{
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse at center, rgba(10,24,38,.28) 0%, rgba(10,24,38,.55) 58%, rgba(10,24,38,.78) 100%);
}
.cg-hero-copy{
    position:relative;
    z-index:1;
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
    padding:88px 16px 120px;
    text-align:center;
}
.cg-kicker{
    margin:0 0 10px;
    color:var(--cg-gold);
    font-size:13px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.cg-hero h1{
    margin:0 auto;
    max-width:none;
    white-space:nowrap;
    color:#fff !important;
    font-size:clamp(1.6rem, 4.4vw, 4.4rem);
    line-height:1.08;
    font-weight:700;
    letter-spacing:-.02em;
    text-align:center;
    text-shadow:0 10px 36px rgba(0,0,0,.45);
}
.cg-hero p{
    max-width:62ch;
    margin:16px 0 0;
    color:#e8eef5;
    font-size:clamp(1.02rem, 2vw, 1.25rem);
    line-height:1.55;
}
.cg-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.cg-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    border-radius:3px;
    font-family:"Poppins", sans-serif;
    font-weight:650;
    text-decoration:none !important;
}
.cg-btn-gold{
    background:var(--cg-gold);
    color:var(--cg-navy) !important;
}
.cg-btn-gold:hover{ background:var(--cg-gold-2); color:var(--cg-navy) !important; }
.cg-btn-ghost{
    background:transparent;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.45);
}
.cg-btn-ghost:hover{ background:rgba(255,255,255,.1); color:#fff !important; }

.cg-services{
    width:min(1180px, calc(100% - 32px));
    margin:-48px auto 0;
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:16px;
}
.cg-service{
    background:#fff;
    border:1px solid var(--cg-line);
    box-shadow:var(--cg-shadow);
    padding:26px 22px 24px;
    text-decoration:none !important;
    color:var(--cg-ink);
    min-height:100%;
}
.cg-service:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 44px rgba(15,36,56,.16);
    color:var(--cg-ink);
}
.cg-ico{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    color:#fff;
}
.cg-ico.teal{ background:var(--cg-teal); }
.cg-ico.navy{ background:var(--cg-navy); }
.cg-ico.gold{ background:var(--cg-gold); color:var(--cg-navy); }
.cg-ico.sky{ background:var(--cg-sky); }
.cg-service h2{
    margin:0 0 8px;
    font-size:18px;
    color:var(--cg-navy) !important;
}
.cg-service p{
    margin:0;
    color:var(--cg-muted);
    line-height:1.5;
    font-size:14px;
}

.cg-section{
    width:min(1180px, calc(100% - 32px));
    margin:64px auto 0;
}
.cg-section-head{
    text-align:center;
    margin-bottom:28px;
}
.cg-section-head h2{
    margin:0;
    font-size:clamp(1.8rem, 3vw, 2.4rem);
    color:var(--cg-navy) !important;
}
.cg-section-head p{
    margin:8px 0 0;
    color:var(--cg-muted);
}

.cg-quote{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:28px;
    align-items:center;
    background:#fff;
    border:1px solid var(--cg-line);
    padding:28px;
    box-shadow:var(--cg-shadow);
}
.cg-quote img{
    width:180px;
    height:180px;
    object-fit:cover;
}
.cg-quote blockquote{
    margin:0;
    font-size:clamp(1.2rem, 2.4vw, 1.7rem);
    line-height:1.35;
    color:var(--cg-navy);
    font-family:"Poppins", sans-serif;
    font-weight:600;
}
.cg-quote cite{
    display:block;
    margin-top:14px;
    color:var(--cg-muted);
    font-style:normal;
    font-size:14px;
}

.cg-news{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:20px;
}
.cg-news-card{
    background:#fff;
    border:1px solid var(--cg-line);
    box-shadow:var(--cg-shadow);
    overflow:hidden;
    color:var(--cg-ink);
    text-decoration:none !important;
    display:flex;
    flex-direction:column;
    min-width:0;
}
.cg-news-card:hover{ color:var(--cg-ink); }
.cg-news-card img{
    width:100%;
    height:190px;
    object-fit:cover;
    background:#d7dee7;
}
.cg-news-body{ padding:18px 18px 20px; }
.cg-news-cat{
    color:var(--cg-gold-2);
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.cg-news-card h3{
    margin:8px 0 8px;
    font-size:20px;
    line-height:1.25;
    color:var(--cg-navy) !important;
}
.cg-news-card p{
    margin:0;
    color:var(--cg-muted);
    font-size:14px;
    line-height:1.55;
}
.cg-more{
    margin-top:12px;
    color:var(--cg-sky);
    font-weight:700;
    font-size:13px;
}

.cg-lab{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:16px;
}
.cg-lab a{
    background:#fff;
    border:1px solid var(--cg-line);
    padding:20px;
    color:var(--cg-ink);
    text-decoration:none !important;
}
.cg-lab a:hover{
    border-color:var(--cg-gold);
    color:var(--cg-ink);
}
.cg-lab h3{
    margin:0 0 8px;
    font-size:16px;
}
.cg-lab p{ margin:0; color:var(--cg-muted); font-size:14px; line-height:1.5; }

.cg-cta-band{
    margin-top:64px;
    background:var(--cg-navy);
    color:#fff;
}
.cg-cta-inner{
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:24px;
    align-items:center;
    padding:54px 0;
}
.cg-cta-band h2{
    margin:0;
    color:#fff !important;
    font-size:clamp(1.8rem, 3vw, 2.6rem);
}
.cg-cta-band p{
    margin:10px 0 0;
    color:#d5deea;
    max-width:54ch;
}
.cg-cta-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

.cg-site-footer{
    background:var(--cg-navy-2);
    color:#c5d0dc;
    padding:48px 0 24px;
    margin-top:0;
    border:0;
}
.cg-footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:28px;
}
.cg-site-footer h3{
    margin:0 0 12px;
    color:#fff !important;
    font-size:16px;
}
.cg-site-footer a{ color:#e8eef5; }
.cg-site-footer a:hover{ color:var(--cg-gold); text-decoration:none; }
.cg-site-footer p{ margin:0 0 10px; line-height:1.55; }
.cg-site-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.cg-copy{
    margin-top:28px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.08);
    font-size:13px;
    color:#8fa0b3;
}

body.cg-site html,
html:has(body.cg-site),
body.cg-site{
    height:auto !important;
    overflow:auto !important;
    overflow-x:hidden !important;
    background:var(--cg-wash) !important;
}
body.cg-site .ei-layout{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    border:0 !important;
    grid-template-columns:none !important;
}
body.cg-site .ei-left{
    display:none !important;
}
body.cg-site .ei-right,
body.cg-site .ei-right-inner{
    background:transparent !important;
    padding:0 !important;
    overflow:visible !important;
}
body.cg-site .ei-bg-video,
body.cg-site .ei-bg-overlay{
    display:none !important;
}
body.cg-site .site-footer,
body.cg-site .cg-site-footer{
    display:block !important;
}
body.cg-site .ei-mid{
    position:fixed !important;
    top:124px;
    left:auto;
    right:0;
    width:min(380px, 92vw);
    height:calc(100dvh - 124px);
    z-index:70;
    transform:translateX(110%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    box-shadow:var(--cg-shadow);
}
body.cg-site .ei-layout.posts-open .ei-mid{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
body.cg-site .ei-feed,
body.cg-site .ei-home{
    max-width:none;
    width:min(1180px, calc(100% - 32px));
    margin:28px auto 48px;
}
body.cg-site .ei-feed-head{
    position:static;
    margin:0 0 18px;
    padding:0;
    background:transparent;
    border:0;
}
body.cg-site .ei-timeline-card,
body.cg-site .ei-latest-card,
body.cg-site .ei-home-panel,
body.cg-site .ei-home-band{
    box-shadow:var(--cg-shadow);
}

body.cg-has-header .ei-layout{
    min-height:calc(100dvh - 124px);
}

.ei-article h1{ color:var(--cg-navy) !important; }
.ei-article-body{ color:var(--cg-ink) !important; }
.codebox{
    background:#0f2438;
    color:#e8eef5;
    border:1px solid #1e3a56;
}
.ei-consent-card{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border-color:var(--cg-line) !important;
}
.ei-consent-card p{ color:var(--cg-muted) !important; }

body.cg-has-header .ei-stat,
body.cg-has-header .ei-panel,
body.cg-has-header .ei-row,
body.cg-has-header .ei-shell,
body.cg-has-header .ei-form,
body.cg-has-header .ei-card{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border-color:var(--cg-line) !important;
    box-shadow:var(--cg-shadow);
}
body.cg-has-header .ei-title,
body.cg-has-header .ei-panel-title,
body.cg-has-header .ei-name{
    color:var(--cg-navy) !important;
    text-shadow:none !important;
}
body.cg-has-header .ei-note,
body.cg-has-header .ei-meta,
body.cg-has-header .ei-sub{
    color:var(--cg-muted) !important;
}

@media (max-width: 1180px){
    .cg-nav{ display:none; }
    .cg-menu-btn{ display:inline-flex; }
    .cg-topbar{ display:none !important; }
    .cg-header{ top:0; }
    body.cg-has-header{ padding-top:96px !important; }
    body.portal-app .portal-side{ top:96px; height:calc(100vh - 96px); }
}
@media (max-width: 991px){
    .cg-nav{ display:none; }
    .cg-menu-btn{ display:inline-flex; }
    .cg-header-inner{ min-height:88px; }
    .cg-logo img{ width:104px; height:104px; margin-bottom:-40px; }
    .cg-logo-text strong{ font-size:24px; }
    .cg-logo-text span{ font-size:12px; }
    body.cg-has-header{ padding-top:88px !important; }
    body.portal-app .portal-side{ top:88px; height:calc(100vh - 88px); }
    .cg-services,
    .cg-news,
    .cg-lab,
    .cg-footer-grid,
    .cg-cta-inner,
    .cg-quote{
        grid-template-columns:1fr;
    }
    .cg-quote img{ width:100%; height:220px; }
    .cg-hero{ min-height:520px; align-items:center; }
    .cg-hero-copy{ padding:48px 0 70px; }
    .cg-hero h1{ white-space:normal; }
    .cg-services{ margin-top:-28px; }
    body.cg-site .ei-mid{ top:108px; height:calc(100dvh - 108px); }
}
@media (max-width: 720px){
    .cg-services{ grid-template-columns:1fr 1fr; }
    .cg-logo-text span{ display:none; }
}
@media (max-width: 520px){
    .cg-services{ grid-template-columns:1fr; }
    .cg-topbar-inner{ min-height:auto; padding:8px 0; flex-direction:column; align-items:flex-start; }
}

/* ===== Details pass: leftover page chrome, forms, tools ===== */
body.cg-has-header .ei-bg-video,
body.cg-has-header .ei-bg-overlay,
body.cg-has-header .ei-mobile-bar,
body.cg-has-header .ei-nav-backdrop,
body.cg-has-header .wx-topbar .ei-mobile-menu,
body.cg-has-header .wx-brand{
    display:none !important;
}
body.cg-has-header .ei-left,
body.cg-has-header .ei-mid,
body.cg-has-header .ei-universal-lab-flyout{
    display:none !important;
}
body.cg-has-header .ei-page,
body.cg-has-header .ei-layout{
    display:block !important;
    grid-template-columns:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    border:0 !important;
}
body.portal-app .ei-layout{
    display:grid !important;
    grid-template-columns:248px minmax(0,1fr) !important;
    min-height:calc(100vh - 116px) !important;
    align-items:stretch !important;
    border:0 !important;
}
body.portal-app .portal-side{
    display:block !important;
    top:134px;
    height:calc(100vh - 134px);
}
@media (max-width: 900px){
    body.portal-app .ei-layout{
        grid-template-columns:1fr !important;
    }
    body.portal-app .portal-side{
        position:relative !important;
        top:0 !important;
        height:auto !important;
        border-right:0 !important;
    }
}
body.cg-has-header .wx-main{
    grid-template-columns:minmax(240px, 320px) minmax(0,1fr) !important;
}
body.cg-has-header .wx-topbar{
    display:none !important;
}
body.cg-has-header{
    background:var(--cg-wash) !important;
    color:var(--cg-ink) !important;
}

body.cg-has-header .ei-main,
body.cg-has-header .ei-right,
body.cg-has-header .rb-main,
body.cg-has-header .lcb-main{
    background:transparent !important;
    color:var(--cg-ink) !important;
}
body.cg-has-header .ei-shell,
body.cg-has-header .rb-shell,
body.cg-has-header .lcb-shell{
    max-width:1180px;
}

body.cg-has-header input,
body.cg-has-header textarea,
body.cg-has-header select,
body.cg-has-header .ei-input,
body.cg-has-header .form-control,
body.cg-has-header .form-select{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border:1px solid var(--cg-line) !important;
    border-radius:4px !important;
    box-shadow:none !important;
    font-family:"DM Sans", "Segoe UI", sans-serif !important;
}
body.cg-has-header input:focus,
body.cg-has-header textarea:focus,
body.cg-has-header select:focus,
body.cg-has-header .ei-input:focus{
    border-color:var(--cg-gold) !important;
    box-shadow:0 0 0 3px rgba(196,163,90,.22) !important;
    outline:none;
}
body.cg-has-header .ei-label{
    color:var(--cg-muted) !important;
    font-weight:650 !important;
}
body.cg-has-header .ei-btn,
body.cg-has-header .wx-btn,
body.cg-has-header .rb-btn,
body.cg-has-header .lcb-btn,
body.cg-has-header .btn,
body.cg-has-header button.ei-btn{
    background:#fff !important;
    color:var(--cg-navy) !important;
    border:1px solid var(--cg-line) !important;
    border-radius:3px !important;
    box-shadow:none !important;
    text-shadow:none !important;
    font-family:"Poppins", "DM Sans", sans-serif !important;
}
body.cg-has-header .ei-btn-primary,
body.cg-has-header .btn-primary,
body.cg-has-header .wx-btn.is-active,
body.cg-has-header .cg-cta,
body.cg-has-header button.ei-btn[type="submit"],
body.cg-has-header .ei-form button[type="submit"],
body.cg-has-header .ei-auth-card .ei-btn{
    background:var(--cg-gold) !important;
    border-color:var(--cg-gold) !important;
    color:var(--cg-navy) !important;
}
body.cg-has-header a.ei-btn:hover,
body.cg-has-header .btn:hover{
    text-decoration:none !important;
}

body.cg-has-header .ei-pending-wrap,
body.cg-has-header .ei-locked-wrap{
    min-height:calc(100vh - 280px) !important;
    background:transparent !important;
}
body.cg-has-header .ei-pending-card,
body.cg-has-header .ei-locked-panel,
body.cg-has-header .ei-locked-copy{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border:1px solid var(--cg-line) !important;
    box-shadow:var(--cg-shadow) !important;
}
body.cg-has-header .ei-auth-wrap{
    min-height:calc(100vh - 280px) !important;
    background:transparent !important;
    padding:36px 16px 56px !important;
}
body.cg-has-header .ei-auth-card{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border:1px solid var(--cg-line) !important;
    border-radius:4px !important;
    box-shadow:var(--cg-shadow) !important;
}
body.cg-has-header .ei-title,
body.cg-has-header .ei-header h1,
body.cg-has-header .lcb-top h1,
body.cg-has-header .rb-top h1{
    color:var(--cg-navy) !important;
    text-shadow:none !important;
}
body.cg-has-header .ei-alert{
    background:#fde8e8 !important;
    border:1px solid #f2b4b4 !important;
    color:#8a1f1f !important;
    border-radius:4px !important;
}
body.cg-has-header .ei-alert.success{
    background:#e7f6ee !important;
    border-color:#b7e0c6 !important;
    color:#1d6b3d !important;
}
body.cg-has-header .ei-links a{
    color:var(--cg-sky) !important;
}

body.cg-has-header .ei-panel,
body.cg-has-header .ei-stat,
body.cg-has-header .ei-row,
body.cg-has-header .ei-empty,
body.cg-has-header .ei-home-panel,
body.cg-has-header .ei-latest-card,
body.cg-has-header .ei-timeline-card,
body.cg-has-header .card{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border:1px solid var(--cg-line) !important;
    box-shadow:var(--cg-shadow) !important;
    border-radius:4px !important;
}
body.cg-has-header .ei-stat strong,
body.cg-has-header .ei-total strong,
body.cg-has-header .ei-name,
body.cg-has-header .ei-desc{
    color:var(--cg-navy) !important;
}
body.cg-has-header .ei-sub,
body.cg-has-header .ei-note,
body.cg-has-header .ei-meta,
body.cg-has-header .ei-stat span{
    color:var(--cg-muted) !important;
}
body.cg-has-header .ei-meter{
    background:#eef2f6 !important;
    border:1px solid var(--cg-line) !important;
}
body.cg-has-header .ei-meter-fill{
    background:linear-gradient(90deg, var(--cg-gold), var(--cg-teal)) !important;
}

body.cg-has-header .ei-photo,
body.cg-has-header .ei-gallery-modal-panel{
    background:#fff !important;
    border:1px solid var(--cg-line) !important;
    color:var(--cg-ink) !important;
}
body.cg-has-header .ei-gallery-modal-caption,
body.cg-has-header .ei-caption{
    color:var(--cg-muted) !important;
}
body.cg-has-header .ei-gallery-modal-close{
    background:#fff !important;
    color:var(--cg-navy) !important;
    border:1px solid var(--cg-line) !important;
}

body.cg-has-header .ei-mid,
body.cg-has-header .ei-mid-head,
body.cg-has-header .ei-universal-lab-flyout,
body.cg-has-header .ei-universal-lab-head{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border-color:var(--cg-line) !important;
}
body.cg-has-header .ei-postitem,
body.cg-has-header .ei-universal-lab-item{
    color:var(--cg-ink) !important;
}
body.cg-has-header .ei-postitem:hover,
body.cg-has-header .ei-postitem.active,
body.cg-has-header .ei-universal-lab-item:hover,
body.cg-has-header .ei-universal-lab-item.active{
    background:#f6f8fb !important;
    border-color:var(--cg-gold) !important;
}

body.cg-has-header .wx-shell{
    background:var(--cg-wash) !important;
    min-height:auto !important;
}
body.cg-has-header .wx-side{
    background:#fff !important;
    color:var(--cg-ink) !important;
    border-color:var(--cg-line) !important;
}
body.cg-has-header .wx-btn{
    background:#fff !important;
    color:var(--cg-navy) !important;
}
body.cg-has-header .wx-btn.is-active,
body.cg-has-header .wx-btn:hover{
    background:var(--cg-gold) !important;
    border-color:var(--cg-gold) !important;
    color:var(--cg-navy) !important;
}
body.cg-has-header .wx-frame-label,
body.cg-has-header .wx-zoom-controls{
    background:rgba(15,36,56,.82) !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.16) !important;
}
body.cg-has-header .wx-grid{
    background:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px) !important;
    mix-blend-mode:normal !important;
}

body.cg-has-header .rb-top,
body.cg-has-header .lcb-top,
body.cg-has-header .ei-header,
body.cg-has-header .ei-top{
    color:var(--cg-ink) !important;
}
body.cg-has-header .lcb-kicker,
body.cg-has-header .cg-kicker{
    color:var(--cg-gold-2) !important;
}

/* Explore landing */
body.cg-has-header .wrap{
    color:var(--cg-ink);
    padding-top:28px;
}
body.cg-has-header .top{
    display:none !important;
}
body.cg-has-header .brand{
    color:var(--cg-navy) !important;
}
body.cg-has-header .btn-ghost{
    background:#fff !important;
    color:var(--cg-navy) !important;
}
body.cg-has-header .shot{
    border:1px solid var(--cg-line) !important;
    box-shadow:var(--cg-shadow) !important;
}

.cg-drop{
    position:relative;
}
.cg-drop > button{
    appearance:none;
    background:none;
    border:0;
    color:var(--cg-navy);
    font:inherit;
    font-weight:600;
    font-size:14px;
    padding:10px 12px;
    cursor:pointer;
}
.cg-drop-menu{
    display:none;
    position:absolute;
    top:calc(100% - 2px);
    left:0;
    min-width:230px;
    background:#fff;
    border:1px solid var(--cg-line);
    box-shadow:var(--cg-shadow);
    padding:8px 0;
    z-index:95;
}
.cg-drop:hover .cg-drop-menu,
.cg-drop:focus-within .cg-drop-menu{
    display:block;
}
.cg-drop-menu a{
    display:block;
    padding:9px 14px;
    color:var(--cg-navy);
    font-weight:600;
    text-decoration:none;
}
.cg-drop-menu a:hover{
    background:#f6f8fb;
    color:var(--cg-gold-2);
    text-decoration:none;
}

body.cg-has-header .ei-consent-gate{
    background:rgba(15,36,56,.72) !important;
}
body.cg-has-header .ei-consent-agree{
    background:var(--cg-gold) !important;
    border-color:var(--cg-gold) !important;
    color:var(--cg-navy) !important;
}
body.cg-has-header .ei-consent-away{
    background:#fff !important;
    border:1px solid var(--cg-line) !important;
    color:var(--cg-navy) !important;
}

body.cg-has-header:not(.portal-app) .ei-tab,
body.cg-has-header:not(.portal-app) .ei-tabs button,
body.cg-has-header .ei-toolbtn{
    background:#fff !important;
    color:var(--cg-navy) !important;
    border:1px solid var(--cg-line) !important;
    border-radius:3px !important;
    box-shadow:none !important;
}
body.cg-has-header:not(.portal-app) .ei-tab[aria-selected="true"],
body.cg-has-header:not(.portal-app) .ei-tab.active,
body.cg-has-header:not(.portal-app) .ei-tabs button[aria-selected="true"]{
    background:var(--cg-gold) !important;
    border-color:var(--cg-gold) !important;
    color:var(--cg-navy) !important;
}
body.portal-app .ei-tab,
body.portal-app .portal-side-link{
    background:transparent !important;
    border:1px solid transparent !important;
    color:var(--cg-navy) !important;
    justify-content:flex-start !important;
    box-shadow:none !important;
}
body.portal-app .ei-tab.active{
    background:rgba(196,163,90,.22) !important;
    border-color:rgba(196,163,90,.4) !important;
}
body.cg-has-header .ei-count{
    background:var(--cg-navy) !important;
    color:#fff !important;
}
body.cg-has-header .ei-upload,
body.cg-has-header .ei-download-row,
body.cg-has-header .ei-download-edit,
body.cg-has-header .ei-locked-panel{
    background:#fff !important;
    border-color:var(--cg-line) !important;
    color:var(--cg-ink) !important;
}

@media (max-width: 991px){
    body.cg-has-header .wx-main{
        grid-template-columns:1fr !important;
    }
    body.cg-has-header .cg-drop-menu{
        position:static;
        border:0;
        box-shadow:none;
        padding:0;
    }
}

body.cg-has-header .login-page input,
body.cg-has-header .login-page textarea{
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid #c5ced8 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
body.cg-has-header .login-page input:focus,
body.cg-has-header .login-page textarea:focus{
    border-bottom-color:#c4a35a !important;
    box-shadow:none !important;
}
body.cg-has-header .login-page button[type="submit"]{
    background:#c4a35a !important;
    color:#16324f !important;
    border:0 !important;
    box-shadow:none !important;
}

