/* ========================================================================
   Esquire Interactive — Fractional CMO landing page (Live-Site Brand, 6-26)
   Custom CSS supplementing Bootstrap 5.3. Brand tokens layered over --bs-*,
   plus bespoke components: sticky util-bar + mega-menu, scroll-shrink header,
   numbered blocks, comparison table (mobile card reflow), role cards,
   credential chips, testimonial rotator, marquee, underline form, footer.
   ======================================================================== */
:root{
  --ei-navy:#09273a; --ei-navy-700:#12466a; --ei-navy-800:#0d3450;
  --ei-orange:#ff6600; --ei-orange-600:#e65a00; --ei-ink:#000; --ei-body:#1f1f1f;
  --ei-bg-soft:#f5f6fa; --ei-border:#e6e8f1;
  --ff-head:"Lora",Georgia,"Times New Roman",serif;
  --ff-body:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --bs-primary:#09273a; --bs-primary-rgb:9,39,58;
  --bs-body-font-family:var(--ff-body); --bs-body-color:#1f1f1f; --bs-body-font-size:1.05rem;
  --bs-link-color:#000033; --bs-link-hover-color:#ff6600; --bs-border-color:#e6e8f1;
}
body{font-family:var(--ff-body); color:var(--ei-body);}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-head); color:var(--ei-ink); font-weight:400; line-height:1.12;}
.text-navy{color:var(--ei-navy)!important;} .text-orange{color:var(--ei-orange)!important;}
.bg-navy{background:var(--ei-navy)!important;} .bg-soft{background:var(--ei-bg-soft)!important;}
.section{padding:5rem 0;} @media(min-width:992px){.section{padding:6.5rem 0;}}
@media(max-width:575.98px){.container{padding-left:1.5rem; padding-right:1.5rem;}}
/* Comfortable boxed width on laptops; expand only on large external monitors */
@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1180px;}}
@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px;}}
@media(min-width:1700px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1500px;}}
@media(min-width:1950px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1680px; padding-left:2.5rem; padding-right:2.5rem;}}
@media(min-width:2300px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1860px;}}
.lower{text-transform:lowercase;}
.eyebrow{font-family:var(--ff-body); text-transform:uppercase; letter-spacing:.2em; font-weight:700; font-size:.82rem;}
.sec-sub{font-family:var(--ff-body); color:var(--ei-body); font-weight:500; font-size:clamp(1.1rem,2vw,1.4rem); line-height:1.12; margin-top:.4rem;}
.lead-xl{font-size:1.3rem; line-height:1.55; color:var(--ei-body);}
.rule-orange{height:2px; background:var(--ei-orange); border:0; width:100%; max-width:520px; margin:1.4rem 0; opacity:1;}
.text-center .rule-orange,.mx-auto .rule-orange{margin-left:auto; margin-right:auto;}
.tm{font-size:.5em; vertical-align:super; font-weight:700;}
.btn{--bs-btn-border-radius:.7rem; font-family:var(--ff-body); font-weight:700; text-transform:uppercase; letter-spacing:.12em; padding:.95rem 2.4rem; font-size:.92rem;}
.btn-lg{padding:1.5rem 2rem !important; font-size:1.02rem;}
.btn-orange{--bs-btn-bg:var(--ei-orange);--bs-btn-border-color:var(--ei-orange);--bs-btn-color:#fff;--bs-btn-hover-bg:var(--ei-orange-600);--bs-btn-hover-border-color:var(--ei-orange-600);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--ei-orange-600);--bs-btn-active-border-color:var(--ei-orange-600);--bs-btn-active-color:#fff; box-shadow:0 10px 24px -10px rgba(255,102,0,.7);}
.btn-orange:hover{transform:translateY(-2px);}
.btn-light-2{--bs-btn-bg:transparent;--bs-btn-border-color:rgba(255,255,255,.55);--bs-btn-color:#fff;--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff;--bs-btn-hover-color:var(--ei-navy);--bs-btn-active-bg:#fff;--bs-btn-active-color:var(--ei-navy);}
/* ===== Mega-menu header ===== */
.util-bar{background:var(--ei-navy); color:#fff; font-family:var(--ff-body); font-size:.82rem;}
.util-bar a{color:#fff; text-decoration:none; font-weight:600; letter-spacing:.02em;}
.util-bar a:hover{color:var(--ei-orange);}
.site-topbar{position:sticky; top:0; z-index:1040;}
.site-header{background:#fff; border-bottom:1px solid var(--ei-border);}
.m-header{display:none;}
.header-inner{transition:none;}
.brand-logo{width:100%; max-width:220px; height:auto; display:block;}
.brand-tagline{display:block; color:var(--ei-body); font-size:.74rem; font-weight:500; text-align:center; border-top:1px solid #cfd2dd; overflow:hidden; margin-top:.45rem; padding-top:.25rem;}
.header-consult{transition:font-size .12s linear;}
.header-consult{color:var(--ei-orange); font-weight:600; text-transform:uppercase; text-decoration:none; font-size:1.1rem; white-space:nowrap;}
.header-consult:hover{color:var(--ei-navy);}
.header-link{color:var(--ei-navy); text-decoration:none; font-weight:600; font-size:1rem;}
.header-link:hover{color:var(--ei-orange);}
.menu-btn{background:none; border:0; display:inline-flex; align-items:center; gap:.55rem; cursor:pointer; font-family:var(--ff-body); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; color:var(--ei-navy); padding:.3rem 0;}
.menu-btn .bars{display:inline-flex; flex-direction:column; gap:4px; width:26px;}
.menu-btn .bars span{display:block; height:2px; border-radius:2px;}
.menu-btn .bars span:nth-child(1){background:var(--ei-navy);} .menu-btn .bars span:nth-child(2){background:var(--ei-orange);} .menu-btn .bars span:nth-child(3){background:var(--ei-navy);}
.mega{position:fixed; left:0; right:0; top:0; z-index:1060; background:#fff; box-shadow:0 24px 50px -20px rgba(0,0,51,.4); border-bottom:3px solid var(--ei-orange); transform:translateY(-100%); transition:transform .35s cubic-bezier(.2,.7,.2,1); padding:6.5rem 0 3rem; max-height:100vh; overflow:auto;}
.mega.open{transform:translateY(0);}
.mega-close{position:absolute; top:1.4rem; right:1.8rem; background:none; border:0; font-size:1.8rem; color:var(--ei-navy); cursor:pointer; line-height:1;}
.mega-col h5{font-family:var(--ff-body); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; color:var(--ei-orange); margin-bottom:.9rem;}
.mega-col ul{list-style:none; padding:0; margin:0 0 1.6rem; display:flex; flex-direction:column; gap:.5rem;}
.mega-col a{color:var(--ei-navy); text-decoration:none; font-size:.98rem; font-weight:500;}
.mega-col a:hover{color:var(--ei-orange);}
.menu-backdrop{position:fixed; inset:0; background:rgba(0,0,51,.4); z-index:1050; opacity:0; pointer-events:none; transition:opacity .35s ease;}
.menu-backdrop.open{opacity:1; pointer-events:auto;}
/* ===== Hero ===== */
.hero{background:#fff; overflow:hidden;}
.hero > .section{padding-top:calc(5rem - 50px);} @media(min-width:992px){.hero > .section{padding-top:calc(6.5rem - 50px);}}
.hero .we-make{font-family:var(--ff-body); font-weight:800; text-transform:uppercase; letter-spacing:.16em; font-size:.9rem; color:var(--ei-orange);}
.hero h1{font-size:clamp(2.8rem,4.6vw,3.6375rem); font-weight:400; line-height:1.04; max-width:19ch;}
.hero .lead-xl{max-width:44rem;}
/* Laptop only: nudge the hero message inward and keep it clear of the images */
@media(min-width:992px) and (max-width:1699px){.hero .col-lg-7{flex:0 0 auto; width:54%; padding-left:3rem; padding-right:2.5rem;} .hero .col-lg-5{flex:0 0 auto; width:46%;} .hero .lead-xl{max-width:33rem;}}
.svc-pills{display:flex; flex-wrap:wrap; gap:.6rem;}
.svc-pill{display:inline-flex; align-items:center; gap:.4rem; font-family:var(--ff-body); font-weight:600; font-size:.86rem; color:var(--ei-navy); background:var(--ei-bg-soft); border:1px solid var(--ei-border); border-radius:50rem; padding:.5rem 1rem; text-decoration:none; transition:all .15s ease;}
.svc-pill:hover{background:var(--ei-navy); color:#fff; border-color:var(--ei-navy);}
.svc-pill i{color:var(--ei-orange);} .svc-pill:hover i{color:#fff;}
.duo-card{background:#fff; border:1px solid var(--ei-border); border-radius:1.4rem; box-shadow:0 36px 70px -30px rgba(29,40,85,.5); overflow:hidden;}
.duo-figure{transition:transform .3s cubic-bezier(.2,.7,.2,1);}
.duo-figure:hover{transform:translateY(-6px) scale(1.04); z-index:4;}
.duo-photo{width:100%; aspect-ratio:1/1; overflow:hidden; display:block;}
.duo-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.duo-photo img.is-jeff{object-position:center 26%; transform:scale(1.16);}
.duo-photo img.is-desiree{object-position:center top;}
.duo-name{font-family:var(--ff-body); font-weight:800; color:var(--ei-navy); font-size:1rem; line-height:1.15;}
.duo-role{font-size:.8rem; color:var(--ei-body);}
.duo-badge{position:absolute; z-index:3; background:var(--ei-orange); color:#fff; font-family:var(--ff-body); font-weight:700; font-size:.78rem; padding:.5rem .9rem; border-radius:50rem; box-shadow:0 14px 26px -12px rgba(29,40,85,.6);}
/* ===== Stats strip (optional brand component) ===== */
.stats-strip{background:var(--ei-navy); color:#fff;}
.stat-num{font-family:var(--ff-body); font-weight:900; font-size:clamp(2.4rem,4.6vw,3.6rem); line-height:1; letter-spacing:-.02em; color:#fff;}
.stat-num .text-orange{color:var(--ei-orange)!important;}
.stat-cap{font-family:var(--ff-body); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; color:rgba(255,255,255,.7); margin-top:.5rem;}
.stat-sub{font-size:.95rem; color:rgba(255,255,255,.55); margin-top:.15rem;}
.stats-note{font-family:var(--ff-head); font-style:italic; color:rgba(255,255,255,.8); font-size:1.15rem; line-height:1.5;}
/* ===== Numbered blocks (optional brand component) ===== */
.num-block{position:relative; overflow:hidden; border-radius:1.5rem; background:linear-gradient(155deg,var(--ei-navy) 0%,var(--ei-navy-800) 70%,#101a44 100%); color:#fff; padding:3rem 2.5rem;}
@media(min-width:992px){.num-block{padding:4rem 4.5rem;}}
.num-block .num-ghost{font-family:var(--ff-body); font-weight:900; font-size:clamp(4rem,12vw,9rem); line-height:.8; color:rgba(255,255,255,.08); position:absolute; top:.4rem; right:1.5rem; pointer-events:none;}
.num-block h3{color:#fff; font-size:clamp(1.6rem,3vw,2.3rem); margin-bottom:1rem; max-width:18ch;}
.num-block .punch{font-family:var(--ff-head); color:var(--ei-orange); font-size:clamp(1.5rem,2.6vw,2rem); margin:0 0 .8rem;}
.num-block p{color:rgba(255,255,255,.82); font-size:1.08rem; line-height:1.6; max-width:46rem; margin:0;}
/* ===== Compare ===== */
.compare{border-radius:1.25rem; overflow:hidden; border:1px solid var(--ei-border); box-shadow:0 30px 60px -34px rgba(29,40,85,.35); background:#fff;}
.compare table{width:100%; border-collapse:collapse; margin:0;}
.compare th,.compare td{padding:1.05rem 1.25rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--ei-border);}
.compare thead th{font-family:var(--ff-body); font-size:1.05rem; font-weight:800; padding-top:1.4rem; padding-bottom:1.4rem;}
.compare thead .col-ei{background:var(--ei-navy); color:#fff; border-top:4px solid var(--ei-orange);}
.compare thead .col-inhouse{background:var(--ei-bg-soft); color:var(--ei-navy);}
.compare thead .tag{display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; opacity:.75; margin-bottom:.15rem;}
.compare thead .col-ei .tag{color:#ff8a3d; opacity:1;}
.compare td.col-feature{font-weight:600; color:var(--ei-navy); font-family:var(--ff-body); font-size:.98rem; width:24%;}
.compare td.col-ei{background:rgba(255,102,0,.04); color:var(--ei-navy); font-weight:500; font-size:.95rem; line-height:1.45;}
.compare td.col-inhouse{color:var(--ei-body); font-weight:500; font-size:.95rem; line-height:1.45;}
.compare .ic{margin-right:.5rem; font-size:1.05rem; position:relative; top:1px;}
.compare .yes{color:#198754;} .compare .no{color:#c0392b;}
.compare tbody tr:last-child td{border-bottom:none;}
@media(min-width:641px) and (max-width:767px){.compare td.col-feature{width:30%; font-size:.86rem;} .compare th,.compare td{padding:.8rem .7rem; font-size:.86rem;}}
@media(max-width:640px){
  .compare{box-shadow:none; border:0; background:transparent; border-radius:0;}
  .compare table,.compare tbody,.compare tr,.compare td{display:block; width:auto;}
  .compare thead{display:none;}
  .compare tbody tr{background:#fff; border:1px solid var(--ei-border); border-radius:1rem; overflow:hidden; margin-bottom:1rem; box-shadow:0 10px 24px -18px rgba(9,39,58,.4);}
  .compare td{border-bottom:0; padding:.85rem 1rem; font-size:.88rem; line-height:1.4;}
  .compare td.col-feature{background:var(--ei-navy); color:#fff; font-family:var(--ff-body); font-weight:700; font-size:.95rem; width:auto;}
  .compare td.col-ei{background:rgba(255,102,0,.06);}
  .compare td.col-ei::before{content:"Esquire Interactive"; display:block; font-family:var(--ff-body); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.64rem; color:var(--ei-orange); margin-bottom:.2rem;}
  .compare td.col-inhouse{border-top:1px solid var(--ei-border);}
  .compare td.col-inhouse::before{content:"Junior associate"; display:block; font-family:var(--ff-body); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.64rem; color:var(--ei-body); opacity:.7; margin-bottom:.2rem;}
}
/* ===== Team ===== */
.bio-photo-lg{width:100%; max-width:330px; aspect-ratio:1/1; object-fit:cover; border-radius:1.2rem; box-shadow:0 15px 30px -15px rgba(0,0,0,.45); display:block; margin-inline:auto;}
.bio-photo-lg.is-jeff{object-position:center 18%;} .bio-photo-lg.is-desiree{object-position:center top;}
.bio-photo-name{font-family:var(--ff-head); color:#000; font-size:1.55rem; text-align:center; margin-top:1.2rem;}
.bio-photo-role{color:var(--ei-body); text-align:center; font-size:1rem;}
.bio-name-lg{font-size:1.8rem; margin-bottom:.3rem;}
.bio-role-lg{font-family:var(--ff-body); font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; color:var(--ei-orange); margin-bottom:.5rem;}
.cred-cols{display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 2.4rem;}
@media(max-width:991px){.cred-cols{grid-template-columns:1fr;}}
.cred-cols-wide{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem 2.6rem; border-top:1px solid var(--ei-border); padding-top:2rem;}
@media(max-width:767px){.cred-cols-wide{grid-template-columns:1fr;}}
.cred-cat{font-family:var(--ff-body); font-weight:800; text-transform:uppercase; letter-spacing:.1em; font-size:.76rem; color:var(--ei-orange); margin:0 0 .8rem;}
.cred-item{display:flex; gap:.6rem; align-items:flex-start; font-size:1.02rem; line-height:1.4; color:var(--ei-navy); margin-bottom:.6rem;}
.cred-item .dot{width:7px; height:7px; border-radius:50%; background:var(--ei-orange); flex:0 0 auto; margin-top:.5em;}
.cred-col{display:flex; flex-direction:column; gap:1.5rem;}
/* ===== Role cards ===== */
.role-card{background:var(--ei-bg-soft); border:1px solid var(--ei-border); border-radius:1rem; padding:2rem 1.75rem; height:100%; display:flex; flex-direction:column;}
.role-card:not(.is-ei){background:#367bca; border-color:#367bca;}
.role-card:not(.is-ei) .role-kicker{color:#fff;}
.role-card:not(.is-ei) h3{color:#fff;}
.role-card:not(.is-ei) p{color:rgba(255,255,255,.92);}
.role-card:not(.is-ei) .role-tag{color:#fff;}
.role-kicker{font-family:var(--ff-body); font-weight:800; text-transform:uppercase; letter-spacing:.1em; font-size:.74rem; color:var(--ei-navy); opacity:1; margin-bottom:.45rem;}
.role-card h3{margin-bottom:.7rem;}
.role-card p{font-size:1.04rem; margin:0; color:var(--ei-body); line-height:1.5;}
.role-tag{display:inline-flex; align-items:center; gap:.45rem; font-family:var(--ff-body); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.07em; color:var(--ei-body); margin-top:auto; padding-top:1.3rem;}
.role-tag.muted i{color:#fff; opacity:1;}
.role-card.is-ei{background:var(--ei-navy); border-color:var(--ei-navy); color:#fff; box-shadow:0 30px 60px -34px rgba(0,0,51,.55);}
.role-card.is-ei .role-kicker{color:var(--ei-orange); opacity:1;} .role-card.is-ei h3{color:#fff;} .role-card.is-ei p{color:rgba(255,255,255,.82);} .role-card.is-ei .role-tag{color:#fff;} .role-card.is-ei .role-tag i{color:var(--ei-orange);}
/* ===== Book ===== */
.book-section{background:linear-gradient(160deg,var(--ei-navy) 0%,var(--ei-navy-800) 100%); padding-top:3.5rem;}
.book-img{width:100%; max-width:360px; filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));}
.cred-label{font-family:var(--ff-body); font-weight:700; text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; color:#fff; text-align:center;}
.cred-row{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:1rem;}
.cred-chip{background:#fff; border-radius:.7rem; padding:.85rem 1.4rem; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -18px rgba(0,0,0,.55); height:74px;}
.cred-chip img{height:42px; width:auto; max-width:150px; object-fit:contain; display:block;}
.cred-chip img.cred-lg{height:60px; max-width:170px;}
/* ===== Testimonials ===== */
.quote-rotor{position:relative; max-width:780px; margin-inline:auto; display:grid;}
.quote-slide{grid-area:1 / 1; opacity:0; transform:translateY(28px); transition:opacity .6s ease, transform .6s cubic-bezier(.4,0,.2,1); pointer-events:none;}
.quote-slide.is-active{opacity:1; transform:none; pointer-events:auto;}
.quote-card{background:transparent; border:0; border-radius:0; padding:0; height:100%; display:flex; flex-direction:column;}
.q-top{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.9rem;}
.stars{color:var(--ei-orange); font-size:.95rem; letter-spacing:.1em;}
.years-badge{display:inline-flex; align-items:center; gap:.4rem; font-family:var(--ff-body); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:#fff; background:var(--ei-navy); border-radius:50rem; padding:.4rem .85rem; white-space:nowrap;}
.quote-card blockquote{flex:1 1 auto; font-size:1.5rem; color:var(--ei-navy); line-height:1.55; margin:0 0 1.2rem; font-weight:500;}
.quote-card .sig{padding-top:1.1rem; border-top:1px solid var(--ei-border);}
.quote-card .who{font-family:var(--ff-body); font-weight:800; color:var(--ei-navy); font-size:1.02rem; display:inline;}
.quote-card .firm{font-size:1.02rem; color:var(--ei-navy); display:inline; font-weight:600;}
.quote-card .firm::before{content:", ";}
.quote-card .years-line{display:flex; align-items:center; gap:.4rem; margin-top:.45rem; font-family:var(--ff-body); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; color:var(--ei-orange);}
.quote-dots{display:flex; gap:.55rem; justify-content:center; margin-top:2rem;}
.quote-dots button{width:9px; height:9px; padding:0; border-radius:50%; border:none; background:var(--ei-border); cursor:pointer; transition:all .25s ease;}
.quote-dots button:hover{background:var(--ei-navy);}
.quote-dots button.is-active{background:var(--ei-orange); width:24px; border-radius:5px;}
.quote-dots button:focus-visible{outline:2px solid var(--ei-orange); outline-offset:3px;}
/* ===== Marquee ===== */
.logos-section{overflow:hidden; background:#fff;}
.marquee{overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee + .marquee{margin-top:2.5rem;}
.marquee-track{display:flex; gap:3.5rem; width:max-content; align-items:center;}
.marquee-track img{width:230px; height:96px; object-fit:contain; flex:0 0 auto;}
.marquee-right{animation:mq-right 320s linear infinite;}
.marquee-left{animation:mq-left 320s linear infinite;}
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track{animation-play-state:paused;}
@keyframes mq-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}
@keyframes mq-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.marquee-right,.marquee-left{animation:none;}}
/* ===== Form ===== */
.form-lead-head{font-family:var(--ff-head); color:#000; font-weight:400; font-size:clamp(2.2rem,4.6vw,3.4rem); line-height:1.08;}
.form-lead-sub{color:#000; font-size:1.1rem; line-height:1.7; max-width:34rem;}
.ei-form .form-control{background:transparent; border:0; border-bottom:1px solid #707070; border-radius:0; padding:.45rem .25rem .6rem; font-size:1.05rem; color:#000; box-shadow:none;}
.ei-form .form-control::placeholder{color:#707070; opacity:1;}
.ei-form .form-control:focus{outline:none; box-shadow:none; border-bottom-color:var(--ei-orange); background:transparent;}
.ei-form textarea.form-control{min-height:120px; resize:none;}
.btn-submit,
.ei-form .gform_button{background:var(--ei-orange); color:#fff; text-transform:uppercase; font-family:var(--ff-body); font-weight:700; letter-spacing:.12em; border:0; border-radius:.7rem; padding:.95rem 2.8rem; font-size:.92rem; cursor:pointer; transition:background .15s ease;}
.btn-submit:hover,
.ei-form .gform_button:hover{background:var(--ei-orange-600);} .btn-submit:disabled{opacity:.6; cursor:default;}
/* Gravity Forms list reset so the underline layout survives the GF wrapper */
.ei-form .gform_fields{list-style:none; margin:0; padding:0;}
.ei-form .gfield_required{color:var(--ei-orange);}
.ei-form .gfield_error input,
.ei-form .gfield_error textarea{border-bottom-color:#c0392b;}
.ei-form .validation_message{color:#c0392b; font-size:.85rem; margin-top:.35rem;}
/* ===== Footer ===== */
.site-footer{background:#000; color:#fff; padding:4.5rem 0 0;}
.site-footer h4{font-family:var(--ff-body); color:#fff; font-size:1.15rem; text-transform:uppercase; font-weight:400; margin-bottom:1.3rem;}
.foot-links{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.85rem;}
.foot-links a{color:#fff; text-decoration:none; font-size:1rem;}
.foot-links a:hover{color:var(--ei-orange);}
.consult-head{font-family:var(--ff-body); text-transform:uppercase; font-weight:500; color:#fff; font-size:1.3rem; line-height:1.35; margin-bottom:1.6rem;}
.cta-group{display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:2rem;}
@media(min-width:992px){.cta-group{justify-content:flex-end;}}
.btn-foot-fill,.btn-foot-outline{display:inline-block; text-align:center; text-transform:lowercase; font-family:var(--ff-body); font-weight:400; font-size:1.15rem; padding:.95rem 1.6rem; border-radius:0; text-decoration:none; border:4px solid #fff; transition:all .15s ease;}
.btn-foot-fill{background:#fff; color:#000;} .btn-foot-fill:hover{background:var(--ei-orange); border-color:var(--ei-orange); color:#fff;}
.btn-foot-outline{background:transparent; color:#fff;} .btn-foot-outline:hover{background:#fff; color:#000;}
.foot-logo-lg{width:100%; max-width:460px; height:auto; margin-top:.5rem;}
.foot-social{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.7rem; margin:3.5rem 0 0; font-size:1.05rem;}
.foot-social a{color:#fff; text-decoration:none;} .foot-social a:hover{color:var(--ei-orange);}
.foot-social .sep{color:#fff; opacity:.45;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.2); margin-top:3rem; padding:1.5rem 0;}
/* ===== Scroll reveal (progressive enhancement only) ===== */
@media(prefers-reduced-motion:no-preference){
  html.js .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  html.js .reveal.in{opacity:1; transform:none;}
}
/* ===== Mobile polish (phones <=767px; laptop/desktop >=992px untouched) ===== */
@media(max-width:767.98px){
  .section{padding:3.25rem 0;}
  .hero > .section{padding-top:1.25rem;}
  .lead-xl{font-size:1.1rem; line-height:1.5;}
  .hero .lead-xl{font-size:1.08rem;}
  .sec-sub{font-size:1.1rem;}
  .duo-name{font-size:.82rem;}
  .duo-role{font-size:.7rem;}
  .duo-badge{font-size:.6rem; padding:.32rem .58rem; top:-9px !important; left:-4px !important;}
  /* Stack the two hero photos into one centered column */
  .hero .row.g-3 > .col-6{flex:0 0 auto; width:100%; max-width:255px; margin-inline:auto;}
  .hero .row.g-3 > .col-6.mt-5{margin-top:1.25rem !important;}
  /* Swap the desktop util-bar + header for the compact mobile header */
  .site-topbar{display:none;}
  .m-header{display:block; position:sticky; top:0; z-index:1040; background:#fff; border-bottom:1px solid var(--ei-border); padding:12px 16px 14px;}
  .m-pills{display:flex; gap:10px; justify-content:center;}
  .m-pill{flex:1 1 0; max-width:118px; display:inline-flex; align-items:center; justify-content:center; gap:.45rem; background:var(--ei-navy); color:#fff; border:0; border-radius:11px; padding:.72rem .5rem; font-family:var(--ff-body); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:.82rem; line-height:1; text-decoration:none; cursor:pointer;}
  .m-pill i{font-size:1.02rem;}
  .m-pill:hover,.m-pill:active{background:var(--ei-orange); color:#fff;}
  .m-brand{display:flex; flex-direction:column; align-items:center; text-decoration:none; margin-top:13px;}
  .m-brand .brand-logo{max-width:220px; width:100%;}
  .m-brand .brand-tagline{max-width:240px; width:100%;}
  .container{padding-left:1.75rem; padding-right:1.75rem;}
  .container.section{padding-left:1.75rem; padding-right:1.75rem;}
  .num-block{padding:2.25rem 1.5rem; border-radius:1.1rem;}
  .quote-rotor{padding:0 .25rem;}
  .quote-card blockquote{font-size:1.2rem;}
  .bio-name-lg{font-size:1.5rem;}
  .cred-chip{height:58px; padding:.55rem .9rem;}
  .cred-chip img{height:32px; max-width:118px;}
  .cred-chip img.cred-lg{height:44px; max-width:135px;}
  /* Credential chips become a tidy 2-column grid on phones */
  .cred-row{display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; max-width:340px; margin-inline:auto;}
  .cred-chip{width:100%;}
  .consult-head{font-size:1.12rem;}
}
