/*
Theme Name: The CLeo Group
Theme URI: https://thecleogroup.com
Author: The CLeo Group
Author URI: https://thecleogroup.com
Description: Custom theme for The CLeo Group
Version: 9.4
Text Domain: thecleogroup
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Instrument+Serif:ital@0;1&display=swap');
:root{--gutter:clamp(1.5rem,5%,5rem);--nav-h:92px;--white:#fff;--bg:#fafbfc;--bg-alt:#f1f4f8;--card:#fff;--text:#0f172a;--text-mid:#475569;--text-light:#94a3b8;--blue:#1e46d2;--blue-l:#3b72f0;--blue-xl:#60a5fa;--navy:#0f172a;--border:rgba(15,23,42,.06);--shadow-lg:0 4px 12px rgba(0,0,0,.06),0 20px 50px rgba(0,0,0,.08);--ease:cubic-bezier(.4,0,.2,1)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
/* ── GLOBAL TEXT ALIGNMENT: all lines flush left, no indent ── */
p, h1, h2, h3, h4, h5, h6, li, span, div{text-indent:0 !important;}
.hero-inner p, .hero-inner h1, .hero-inner span{padding-left:0 !important;margin-left:0 !important;}
.fs-inner p, .fs-inner h2, .fs-inner > div:not(.btn){padding-left:0 !important;margin-left:0 !important;}
.about-col > p, .about-col > h2, .about-col > div:not(.id-card-light){padding-left:0 !important;margin-left:0 !important;}
.connect .connect-grid p, .connect .connect-grid h2, .connect .connect-grid div{padding-left:0 !important;margin-left:0 !important;}
.sol-card-body p, .sol-card-body h3, .sol-card-body div{padding-left:0 !important;margin-left:0 !important;}
/* Ensure hero subtitle lines up exactly with h1 */
.hero-h1, .hero-sub, .hero-sub-accent, .hero-btns{margin-left:0 !important;padding-left:0 !important;}
/* fs section */
.fs-eyebrow, .fs-h2, .fs-text{margin-left:0 !important;padding-left:0 !important;}

html{scroll-behavior:smooth}
body,body.page,body.home,body.wp-custom-logo{font-family:'DM Sans',system-ui,sans-serif!important;background:var(--white)!important;color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0!important;padding-top:0!important}
.wp-site-blocks,.entry-content,.page .entry-content,.site-main,.site-content{padding:0!important;margin:0!important;max-width:none!important}
ul,ol{list-style:none}button{cursor:pointer;font-family:inherit}
#wpadminbar~.nav{top:32px}@media(max-width:782px){#wpadminbar~.nav{top:46px}}
.container{max-width:1100px;margin:0 auto;padding:0 var(--gutter)}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
.serif,.i{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.eyebrow{font-size:.85rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem}
.heading{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:1rem;color:var(--navy)}
.desc{font-size:.95rem;color:var(--text-mid);line-height:1.9;max-width:560px}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.6rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:all .3s var(--ease);cursor:pointer;border:none;white-space:nowrap;min-width:fit-content;flex-shrink:0}
.btn svg{width:14px;height:14px}
.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover{background:var(--blue-l);transform:translateY(-2px);box-shadow:0 6px 20px rgba(30,70,210,.3)}
.btn-ghost{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.35)}.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn-ghost-dark{background:transparent;color:var(--text);border:1.5px solid var(--border)}.btn-ghost-dark:hover{border-color:var(--blue);color:var(--blue)}
.nav{position:fixed;top:0;left:0;right:0;z-index:9999;padding:.6rem 2.5rem;transition:all .4s var(--ease);display:flex!important;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 1px 8px rgba(0,0,0,.04)}
.nav.solid{background:rgba(255,255,255,.97);backdrop-filter:blur(20px);padding:.6rem 2.5rem;border-bottom:1px solid var(--border);box-shadow:0 1px 8px rgba(0,0,0,.04)}
.nav-logo{height:80px;width:auto;transition:height .4s var(--ease);display:block}.nav.solid .nav-logo{height:80px}
.nav-links{display:flex!important;align-items:center!important;gap:2.2rem!important;list-style:none!important;padding:0!important;margin:0 0 0 auto!important;flex-direction:row!important}
.nav-links li{list-style:none!important;padding:0!important;margin:0!important;display:inline-block!important;background:none!important}
.nav-links a{font-size:.68rem!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--text-mid)!important;transition:color .3s!important;text-decoration:none!important;display:inline-block!important}
.nav-links a:hover,.nav-links a.active{color:var(--blue)!important;background:none!important}
.nav.solid .nav-links a{color:var(--text-mid)!important}.nav.solid .nav-links a:hover,.nav.solid .nav-links a.active{color:var(--blue)!important;background:none!important}
.nav-links .nav-cta{padding:.4rem 1.1rem!important;background:var(--blue)!important;color:#fff!important;border:none!important;border-radius:7px!important;font-weight:700!important;transition:all .25s!important}.nav-links .nav-cta:hover{background:var(--navy)!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 4px 14px rgba(30,70,210,.3)!important}
.nav.solid .nav-links .nav-cta{background:var(--blue)!important;color:#fff!important;border:none!important}.nav.solid .nav-links .nav-cta:hover{background:var(--navy)!important;color:#fff!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none!important;border:none!important;padding:4px;cursor:pointer;z-index:10000;position:relative}
.hamburger span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}.nav.solid .hamburger span{background:var(--text)}
.hamburger.open span{background:var(--white)!important}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9997}.nav-backdrop.open{display:block}
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;display:flex;align-items:center}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}.hero-slide.active{opacity:1}
.hero-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
.hero-slide::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(15,23,42,.7) 0%,rgba(15,23,42,.32) 45%,rgba(15,23,42,.05) 100%)}
.hero-content{position:relative;z-index:3;width:100%;padding:0 var(--gutter);margin-top:calc(var(--nav-h) * -0.1)}
.hero-inner{max-width:520px;width:100%;box-sizing:border-box}.hero-logo{width:200px;max-width:60%;height:auto;display:block;margin-bottom:1.5rem;opacity:0;animation:fadeUp .7s .05s var(--ease) forwards}
.hero-h1{font-size:clamp(2.8rem,6.5vw,4.5rem);font-weight:800;line-height:.92;letter-spacing:-.03em;margin-bottom:1.2rem;color:var(--white);opacity:0;transform:translateY(20px)}
.hero-sub{font-size:clamp(.88rem,1.1vw,.95rem);color:rgba(255,255,255,.82);width:100%;max-width:520px;line-height:1.9;margin-bottom:2.2rem;opacity:0;transform:translateY(20px);font-weight:300;letter-spacing:.01em;display:block}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;transform:translateY(20px)}
.hero-sub-accent{display:block;width:40px;height:2px;background:var(--blue-l);margin-bottom:1.2rem;opacity:0;transform:translateY(20px)}.hero-anim .hero-sub-accent{animation:fadeUp .7s .28s var(--ease) forwards}.hero-anim .hero-h1{animation:fadeUp .7s .15s var(--ease) forwards}
.hero-anim .hero-sub{animation:fadeUp .7s .35s var(--ease) forwards}
.hero-anim .hero-btns{animation:fadeUp .7s .55s var(--ease) forwards}
.hero-dots{position:absolute!important;bottom:2.5rem!important;left:var(--gutter)!important;display:flex!important;flex-direction:row!important;gap:.6rem!important;z-index:5;list-style:none!important;padding:0!important;margin:0!important}
button.hero-dot{width:32px!important;height:3px!important;border:none!important;border-radius:2px!important;background:rgba(255,255,255,.3)!important;cursor:pointer;padding:0!important;margin:0!important;display:block!important;appearance:none;-webkit-appearance:none;outline:none;min-width:0;min-height:0;line-height:0;font-size:0;transition:all .4s}
button.hero-dot.active{background:var(--blue-l)!important;width:48px!important}
.hero-scroll{position:absolute;bottom:2rem;right:var(--gutter);display:flex;flex-direction:column;align-items:center;gap:.4rem;z-index:5}
.hero-scroll span{font-size:.55rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);animation:scrollPulse 2s ease infinite}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.fs{position:relative;min-height:55vh;display:flex;align-items:center;overflow:hidden}
.fs-bg{position:absolute;inset:0}.fs-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;transform:scaleX(-1)}
.fs-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.88) 0%,rgba(15,23,42,.6) 50%,rgba(15,23,42,.1) 100%)}
.fs .container{position:relative;z-index:2;width:100%;align-self:stretch;display:flex;align-items:center;justify-content:flex-start;padding-left:var(--gutter)!important;padding-right:var(--gutter)!important;max-width:none!important}
.fs-inner{max-width:520px;width:100%;padding:2.5rem 0;text-align:left !important;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;margin:2rem 0;box-sizing:border-box;word-break:break-word}
.fs-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-xl);margin-bottom:.8rem;white-space:nowrap}
.fs-h2{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;line-height:.92;letter-spacing:-.03em;color:var(--white);margin-bottom:1.2rem}
.fs-text{font-size:clamp(.88rem,1.1vw,.95rem);color:rgba(255,255,255,.82);line-height:1.9;margin-bottom:1.4rem;font-weight:300;letter-spacing:.01em}
.section-border{padding:1.8rem 0;background:var(--white)}
.section-border::after{content:'';display:block;width:88%;max-width:1000px;height:1px;background:rgba(15,23,42,.1);margin:0 auto}
.section-border.light{background:var(--bg)}.section-border.light::after{background:rgba(15,23,42,.08)}
.card-section{padding:3rem 0;background:var(--white)}.card-section-alt{padding:2.5rem 0;background:var(--bg-alt)}
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sol-card{background:var(--white);border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.05);border-radius:12px;padding:2rem;cursor:pointer;transition:all .4s var(--ease);overflow:hidden;position:relative}
.sol-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.sol-card:hover::before{transform:scaleX(1)}.sol-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.12);border-color:var(--blue)}
.sol-icon{width:52px;height:52px;margin-bottom:1rem;color:var(--blue)}.sol-icon svg{width:52px;height:52px;color:var(--blue-xl)}
.sol-card h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.sol-sub{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:.7rem}
.sol-card p{font-size:.9rem;color:var(--text-mid);line-height:1.75}
.sol-arrow{position:absolute;bottom:1.5rem;right:1.5rem;width:18px;height:18px;color:var(--blue);opacity:.4;transition:all .3s}.sol-card:hover .sol-arrow{opacity:1;transform:translateX(4px)}
.connect-legacy-removed{}
.connect-grid-removed{}
.connect-info-removed{}
.c-block-removed{}
.c-label-removed{}
.c-value-removed{}
.form-card-removed{}
.form-title-removed{}
.form-subtitle-removed{}
.form-row-removed{}
.form-group-removed{}
.form-group-label-removed{}
.req{color:#ef4444}
.form-input-removed{}
.form-input-focus-removed{}
.textarea-removed{}
.form-submit-removed{}
.form-note-removed{}
.form-success-removed{}
.form-success-svg-removed{}
.form-success-text-removed{}
.page-hero{background:var(--white);padding:calc(var(--nav-h) + 2.5rem) 0 2.5rem;text-align:left;border-bottom:1px solid var(--border)}.page-hero .container{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important;max-width:none!important}
.page-hero::after{display:none}
.page-hero .heading{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;line-height:.95;letter-spacing:-.03em;color:var(--navy)}
.page-hero .eyebrow{color:var(--blue);margin-bottom:.6rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.id-card{background:var(--navy);border-radius:16px;padding:2rem;color:var(--white)}
.id-lbl{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-xl);margin-bottom:1.2rem}
.id-row{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:1rem}
.id-letter{font-size:2rem;font-weight:800;line-height:1;flex-shrink:0;width:44px;min-width:44px;padding-top:.15rem}
.id-cl{color:var(--white)}.id-eo{font-family:'Instrument Serif',serif;font-style:italic;color:var(--blue-xl)}
.id-text{font-size:.88rem;color:rgba(255,255,255,.8);line-height:1.7}
.page-btns{display:flex;gap:1rem;flex-wrap:wrap}
/* Back button */
.back-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1.2rem;transition:color .3s}.back-btn:hover{color:var(--blue-xl)}.back-btn svg{width:14px;height:14px}
/* Philosophy page two-column inside fs */
.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;width:100%;padding:2.5rem 0}
.phil-left{max-width:100%}
.phil-right .id-card{background:rgba(15,23,42,.85);border:1px solid rgba(255,255,255,.1)}
/* About-specific overrides: bigger eyebrow + whiter text */
.about-eyebrow{font-size:1rem!important;letter-spacing:.14em}
.about-text{font-size:1rem!important;color:rgba(255,255,255,.92)!important}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{position:fixed;top:0;right:-480px;width:480px;max-width:92vw;height:100vh;background:var(--white);z-index:10001;transition:right .4s var(--ease);overflow-y:auto;box-shadow:-8px 0 30px rgba(0,0,0,.15)}.modal.open{right:0}
.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.modal-hero{width:100%;height:220px;overflow:hidden}.modal-hero img{width:100%;height:100%;object-fit:cover}
.modal-body{padding:1.5rem 2rem 2rem}
.modal-eyebrow{font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:.3rem}
.modal-h2{font-size:1.4rem;font-weight:700;margin-bottom:1rem}
.modal-text{font-size:.9rem;color:var(--text-mid);line-height:1.85;margin-bottom:1.5rem}
.footer{padding:2rem 0;border-top:1px solid var(--border);background:var(--white)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:.72rem;color:var(--text-light)}.footer-copy a{color:var(--text);font-weight:500}
.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:.68rem;font-weight:500;color:var(--text-light);transition:color .2s}.footer-links a:hover{color:var(--blue)}
.r{opacity:0;transform:translateY(24px);transition:all .6s var(--ease)}.r.v{opacity:1;transform:none}.r.d1{transition-delay:.15s}.r.d2{transition-delay:.3s}
@media(max-width:900px){
.nav{padding:.5rem 1.2rem}.nav.solid{padding:.5rem 1.2rem}
.hamburger{display:flex!important}
.nav-links{position:fixed!important;top:0!important;right:-100%!important;width:280px!important;height:100vh!important;background:var(--navy)!important;flex-direction:column!important;padding:5rem 2rem 2rem!important;transition:right .35s var(--ease)!important;gap:1.5rem!important;z-index:9998!important}
.nav-links.open{right:0!important}
.nav-links li{display:block!important}
.nav-links a{color:rgba(255,255,255,.85)!important;font-size:.8rem!important}
:root{--nav-h:80px}.hero{height:85vh;min-height:500px}.hero-inner{padding-left:0}.hero-dots{left:var(--gutter)!important}.nav-logo{height:70px !important}
.hero-slide video{object-position:65% center}
.sol-grid{grid-template-columns:1fr}
.two-col,.philosophy-grid{grid-template-columns:1fr}
.footer-inner{flex-direction:column;text-align:center}
.fs-inner{padding:2rem 0;margin:1.5rem 0}
}


/* ── TRANSLATION WIDGET (old nav version removed) ── */

/* ── OUR PHILOSOPHY PAGE ── */
.about-hero{display:none!important}
.about-img-banner{position:relative;width:100%;height:100vh;min-height:100vh;overflow:hidden;margin-top:0}.about-img-banner img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.about-content-section{padding:3.5rem 0;background:var(--white)}
.about-two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.about-col{}
.about-eyebrow-dark{font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem}
.about-h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--navy);margin-bottom:1rem}
.about-body{font-size:1rem;color:var(--text);line-height:1.85;margin-bottom:.8rem}
.id-card-light{background:var(--bg-alt);border:1px solid var(--border);border-radius:16px;padding:2rem;box-sizing:border-box;width:100%;display:block}
.id-lbl-dark{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:1.2rem}
.id-row-light{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem;width:100%;box-sizing:border-box}
.id-cl-dark{color:var(--navy)}.id-eo-dark{font-family:'Instrument Serif',serif;font-style:italic;color:var(--blue)}
.id-text-dark{font-size:.88rem;color:var(--text);line-height:1.75;flex:1 1 0;min-width:0;overflow-wrap:break-word;word-break:normal}
.about-cta-section{padding:2rem 0;background:var(--white);border-top:1px solid var(--border)}

/* ── SOLUTIONS PAGE: card images ── */
.sol-img{width:calc(100% + 4rem);margin:-2rem -2rem 1.2rem;overflow:hidden;height:180px}.sol-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.sol-card:hover .sol-img img{transform:scale(1.04)}

/* ── PAGE HERO: remove blue line on about ── */
.about-hero.page-hero::after{display:none}

/* ── FORM TEXTAREA ── */
.textarea2-removed{}

@media(max-width:768px){
  .about-two-col{grid-template-columns:1fr}
  .about-img-banner img{height:100%}
  .nav-translate{display:none}
}

/* ── OUR SOLUTIONS PAGE HERO ── */
.sol-page-hero{position:relative;height:100vh;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.sol-page-hero-bg{position:absolute;inset:0}

.sol-page-hero-content{position:relative;z-index:2;width:100%;padding:calc(var(--nav-h) + 2.5rem) var(--gutter) 3rem}
.sol-eyebrow-hero{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#60a5fa;margin-bottom:.8rem}
.sol-page-h1{font-size:clamp(2.8rem,6.5vw,4.5rem);font-weight:800;line-height:.92;letter-spacing:-.03em;color:#fff;margin-bottom:1.2rem}
.sol-page-sub{font-size:clamp(.88rem,1.1vw,.95rem);color:rgba(255,255,255,.82);max-width:480px;line-height:1.9;font-weight:300;letter-spacing:.01em}

/* ── SOLUTIONS CARDS SECTION ── */
.sol-cards-section{padding:3.5rem 0;background:var(--white)}
.sol-card-body{padding:1.5rem 2rem 2rem}
.sol-img{width:100%;height:200px;overflow:hidden}.sol-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.sol-card:hover .sol-img img{transform:scale(1.04)}
.sol-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);transition:gap .2s}.sol-card:hover .sol-cta{gap:.7rem}

/* Remove old sol-arrow absolute positioning on services page since we use sol-cta now */
.sol-cards-section .sol-arrow{display:none}

@media(max-width:768px){
  .sol-page-hero-content{padding:calc(var(--nav-h) + 2rem) var(--gutter) 2rem}
  .sol-page-h1{font-size:clamp(2.2rem,8vw,3rem)}
}

/* ── FLOATING TRANSLATE WIDGET ── */
.float-translate{position:fixed;bottom:2rem;right:2rem;z-index:9990}
.float-translate-btn{display:flex;align-items:center;gap:.5rem;background:var(--navy);color:var(--white);border:none;border-radius:50px;padding:.55rem 1rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;cursor:pointer;box-shadow:0 4px 20px rgba(15,23,42,.3);transition:all .3s;white-space:nowrap}
.float-translate-btn:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 6px 24px rgba(30,70,210,.35)}
.float-translate-btn svg{flex-shrink:0}
.float-dropdown{display:none;position:absolute;bottom:calc(100% + .6rem);right:0;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);min-width:180px;overflow:hidden;z-index:9991}
.float-dropdown.open{display:block}
.float-dropdown-label{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);padding:.7rem 1rem .4rem}
.float-dropdown button{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.55rem 1rem;font-size:.82rem;font-weight:500;background:none;border:none;cursor:pointer;color:var(--text);transition:background .2s}
.float-dropdown button:hover{background:rgba(30,70,210,.06);color:var(--blue)}
@media(max-width:768px){.float-translate{bottom:1.2rem;right:1.2rem}.float-translate-btn span{display:none}.float-translate-btn{padding:.6rem}}

/* ═══════════════════════════════════════════════════
   WORLD-CLASS CONNECT SECTION
═══════════════════════════════════════════════════ */
.connect{position:relative;background:var(--white);overflow:hidden;padding:0;border-top:1px solid var(--border)}

/* Subtle grid pattern background */
.connect-bg-pattern{display:none}


/* Two-panel layout */
.connect-inner{display:grid;grid-template-columns:1fr 1fr;min-height:600px;position:relative;z-index:1}

/* LEFT PANEL */
.cx-left{padding:5rem var(--gutter) 5rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border)}
.cx-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:1.2rem}
.cx-heading{font-size:clamp(2.8rem,5vw,4rem);font-weight:800;line-height:.95;letter-spacing:-.03em;color:var(--navy);margin-bottom:1.4rem}
.cx-heading .serif{color:var(--blue);display:block}
.cx-rule{width:40px;height:2px;background:var(--blue);margin-bottom:1.6rem}
.cx-desc{font-size:.95rem;color:var(--text-mid);line-height:1.85;max-width:380px;margin-bottom:2.5rem;font-weight:300}

/* Info items */
.cx-info{display:flex;flex-direction:column;gap:0;margin-bottom:2.5rem}
.cx-info-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);text-decoration:none;transition:all .25s;cursor:default}
a.cx-info-item{cursor:pointer}
a.cx-info-item:hover .cx-info-value{color:var(--blue-xl)}
a.cx-info-item:hover .cx-info-icon{background:rgba(30,70,210,.08);border-color:rgba(30,70,210,.3)}
.cx-info-icon{width:38px;height:38px;border-radius:10px;background:var(--bg-alt);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s}
.cx-info-icon svg{width:16px;height:16px;stroke:var(--blue-xl)}
.cx-info-label{font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:.15rem}
.cx-info-value{font-size:.88rem;color:var(--text);font-weight:500;transition:color .2s}

/* Tagline quote */
.cx-tagline{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.05rem;color:var(--text-light);line-height:1.6;padding-top:1.5rem;border-top:1px solid var(--border)}

/* RIGHT PANEL */
.cx-right{padding:4rem var(--gutter) 4rem;display:flex;align-items:center;background:var(--bg-alt)}

/* Form card */
.cx-form-wrap{background:var(--white);border-radius:16px;padding:2.8rem;width:100%;max-width:540px;box-shadow:0 2px 20px rgba(0,0,0,.06),0 8px 40px rgba(0,0,0,.06);border:1px solid var(--border);position:relative;overflow:hidden}
.cx-form-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-xl) 100%)}

/* Form header */
.cx-form-header{margin-bottom:1.8rem}
.cx-form-title{font-size:1.3rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin-bottom:.3rem}
.cx-form-sub{font-size:.72rem;color:var(--text-light)}

/* Fields */
.cx-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem}
.cx-field{display:flex;flex-direction:column;margin-bottom:.9rem}
.cx-row .cx-field{margin-bottom:0}
.cx-field label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);margin-bottom:.35rem}
.cx-input{width:100%;padding:.7rem 1rem;border:1.5px solid var(--border);border-radius:8px;font-size:.88rem;font-family:inherit;color:var(--text);background:var(--white);transition:all .22s;outline:none;box-sizing:border-box}
.cx-input:hover{border-color:rgba(30,70,210,.3)}
.cx-input:focus{border-color:var(--blue);background:var(--white);box-shadow:0 0 0 3px rgba(30,70,210,.1)}
.cx-textarea{min-height:120px;resize:vertical;line-height:1.6}

/* Submit */
.cx-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.5rem;background:var(--blue);color:var(--white);border:none;border-radius:10px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:.6rem}
.cx-submit svg{width:14px;height:14px;transition:transform .3s}
.cx-submit:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 8px 28px rgba(15,23,42,.25)}
.cx-submit:hover svg{transform:translateX(4px)}

/* Note */
.cx-note{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.62rem;color:var(--text-light);text-align:center;margin-top:.8rem}

/* Success state */
.cx-success{display:none;text-align:center;padding:3rem 1.5rem}
.cx-success-icon svg{width:56px;height:56px;color:var(--blue);margin-bottom:1.2rem}
.cx-success h3{font-size:1.4rem;font-weight:800;color:var(--navy);margin-bottom:.6rem}
.cx-success p{font-size:.9rem;color:var(--text-mid);line-height:1.8}

/* Mobile */
@media(max-width:900px){
  .connect-inner{grid-template-columns:1fr}
  .cx-left{padding:3rem var(--gutter) 2rem;border-right:none;border-bottom:1px solid var(--border)}
  .cx-right{padding:2.5rem var(--gutter) 3.5rem;background:var(--white)}
  .cx-form-wrap{max-width:100%}
  .cx-row{grid-template-columns:1fr}
  .cx-tagline{display:none}
}

#formSuccess.cx-success{display:none}#formSuccess.cx-success[style*="block"]{display:block !important}

/* ═══════════════════════════════════════════════════
   LET'S CONNECT PAGE — white, left-aligned
═══════════════════════════════════════════════════ */
.contact-page-hero-old{
  background:var(--white);
  padding:calc(var(--nav-h) + 3rem) 0 2rem;
  text-align:left;
  border-bottom:1px solid var(--border);
}
.contact-page-h1{
  font-size:clamp(2.4rem,5vw,3.8rem);
  font-weight:800;
  line-height:.95;
  letter-spacing:-.03em;
  color:var(--navy);
  margin-bottom:1.2rem;
}
.contact-page-h1 .serif{
  color:var(--blue);
}
.contact-page-rule{
  width:40px;
  height:2px;
  background:var(--blue);
}

.contact-page-body{
  padding:3.5rem 0 5rem;
  background:var(--white);
}
.contact-page-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:4rem;
  align-items:start;
}

.contact-page-desc{
  font-size:.95rem;
  color:var(--text-mid);
  line-height:1.9;
  max-width:420px;
  margin-bottom:2.5rem;
  font-weight:300;
}

/* Info items — light version for white bg */
.contact-page-info{
  display:flex;
  flex-direction:column;
  gap:0;
}
.cp-info-item{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.1rem 0;
  border-bottom:1px solid var(--border);
  text-decoration:none;
  transition:all .25s;
  cursor:default;
}
a.cp-info-item{cursor:pointer}
a.cp-info-item:hover .cp-info-value{color:var(--blue)}
a.cp-info-item:hover .cp-info-icon{background:rgba(30,70,210,.08);border-color:rgba(30,70,210,.25)}
.cp-info-icon{
  width:38px;height:38px;border-radius:10px;
  background:var(--bg-alt);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .25s;
}
.cp-info-icon svg{width:16px;height:16px;stroke:var(--blue)}
.cp-info-label{
  font-size:.6rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-light);margin-bottom:.15rem;
}
.cp-info-value{
  font-size:.88rem;color:var(--text);font-weight:500;transition:color .2s;
}
/* Override cx-form-wrap for white page context — remove heavy shadow, lighter feel */
.contact-page-body .cx-form-wrap{
  box-shadow:0 4px 24px rgba(0,0,0,.08);
  border:1px solid var(--border);
}

@media(max-width:900px){
  .contact-page-grid{grid-template-columns:1fr;gap:2.5rem}
  .contact-page-desc{max-width:100%}
}

/* ── TRIMMED SOLUTION CARDS ── */
.sol-card-body p{display:none} /* hide any residual p tags */
.sol-card{min-height:auto}
.sol-card-body{padding:1.2rem 1.5rem 1.5rem}
.sol-card h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}
.sol-sub{font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.9rem}
.sol-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-top:.2rem;transition:gap .2s}
.sol-card:hover .sol-cta{gap:.75rem}

/* ── ENRICHED MODAL CONTENT ── */
.modal-lead{font-size:1rem;font-weight:600;color:var(--navy);line-height:1.65;margin-bottom:.9rem}
.modal-body-text{font-size:.9rem;color:var(--text-mid);line-height:1.85;margin-bottom:1.5rem}
.modal-highlights{display:flex;flex-direction:column;gap:.6rem;background:var(--bg-alt);border-radius:10px;padding:1.2rem 1.4rem;border:1px solid var(--border)}
.modal-highlight-item{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:var(--text);font-weight:500;padding-left:.8rem;border-left:2px solid var(--blue)}
.modal-highlight-dot{display:none}

.sol-img{display:none!important}
.sol-cta{display:none!important}
.sol-card{cursor:default!important}.sol-card:hover{transform:none!important;box-shadow:none!important;border-color:var(--border)!important}.sol-card:hover::before{transform:scaleX(0)!important}

.about-content-section{padding:5rem 0 2rem !important}
.about-cta-section{padding:2rem 0 5rem !important}
.sol-cards-section{padding:5rem 0 5rem !important}



.about-hero-overlay{position:absolute;bottom:0;left:0;right:auto;padding:3.5rem var(--gutter);z-index:2;text-align:left}
.about-hero-overlay .eyebrow{color:rgba(255,255,255,.7);margin-bottom:.6rem}
.about-hero-overlay h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;line-height:.95;letter-spacing:-.03em;color:#fff}
.about-hero-overlay h1 .i{color:rgba(255,255,255,.85)}
.cx-info-item:last-child.response-time-item{display:none}

/* ── SOLUTION CARDS: text-only, no image, no modal ── */
.sol-card-text{font-size:.88rem;color:var(--text-mid);line-height:1.8;margin-top:.6rem}
.sol-card-body{padding:2rem 1.8rem 2.2rem}
.sol-card h3{font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:.2rem;letter-spacing:-.02em}
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
@media(max-width:860px){.sol-grid{grid-template-columns:1fr}}
/* Sol hero content: clear the fixed nav */

.sol-page-h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;line-height:.95;letter-spacing:-.03em;color:var(--white);margin-bottom:1.2rem}
.sol-page-h1 .serif{color:var(--blue);display:block}
.sol-page-sub{font-size:.95rem;color:rgba(255,255,255,.75);line-height:1.85;max-width:560px;font-weight:300}
.sol-eyebrow-hero{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1rem}
/* About two-col shared with solutions */
.about-two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
@media(max-width:860px){.about-two-col{grid-template-columns:1fr;gap:2.5rem}}

.contact-page-hero{
  background:var(--white);
  padding:calc(var(--nav-h) + 3rem) 0 2rem;
  text-align:left;
  border-bottom:1px solid var(--border);
}
.contact-page-h1{
  font-size:clamp(2.4rem,5vw,3.8rem);
  font-weight:800;line-height:.95;
  letter-spacing:-.03em;
  color:var(--navy);
  margin-bottom:.8rem;
}
.contact-page-h1 .serif{color:var(--blue)}
.contact-page-rule{width:40px;height:2px;background:var(--blue);margin-top:1rem}

/* fs-bg enabled */

/* ── HARDCODED NAV CONNECT BUTTON (always shows, white bg safe) ── */
.nav-connect-btn-disabled{
  display:inline-flex;align-items:center;
  padding:.42rem 1.1rem;
  background:var(--blue);color:#fff!important;
  border-radius:7px;font-size:.68rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;transition:all .25s;
  margin-left:1rem;white-space:nowrap;flex-shrink:0;
}
.nav-connect-btn:hover{background:var(--navy);transform:translateY(-1px);box-shadow:0 4px 14px rgba(30,70,210,.3)}
@media(max-width:768px){.nav-connect-btn-disabled{display:none}}

/* ── THREE PILLARS: white bg, dark text, accent icons ── */
.fs-inner{position:relative;z-index:1;max-width:520px;width:100%;padding:4rem 0;text-align:left!important;background:none}
.fs-inner .btn{margin-top:.5rem;display:inline-flex}

/* ── SOL HERO: white bg accent line ── */
.sol-hero-accent{display:block;width:40px;height:2px;background:var(--blue);margin-bottom:1.4rem}

/* ── PILLAR ICONS: three large meaningful icons ── */
.pillar-icons-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0 4rem}
.pillar-icon-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;text-align:left;transition:box-shadow .3s}
.pillar-icon-card:hover{box-shadow:0 8px 32px rgba(30,70,210,.1);border-color:rgba(30,70,210,.2)}
.pillar-icon-card .pil-icon{width:56px;height:56px;margin-bottom:1.2rem;border-radius:12px;background:rgba(30,70,210,.06);display:flex;align-items:center;justify-content:center}
.pillar-icon-card .pil-icon svg{width:28px;height:28px;stroke:var(--blue)}
.pillar-icon-card .pil-num{font-size:.6rem;font-weight:700;letter-spacing:.15em;color:var(--text-light);margin-bottom:.35rem}
.pillar-icon-card h3{font-size:1.15rem;font-weight:800;color:var(--navy);margin-bottom:.2rem;letter-spacing:-.02em}
.pillar-icon-card .pil-sub{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem}
.pillar-icon-card .pil-desc{font-size:.88rem;color:var(--text-mid);line-height:1.8}
@media(max-width:768px){.pillar-icons-row{grid-template-columns:1fr}}

/* ── REMOVE OLD DARK BACKGROUNDS (override any remaining) ── */

/* fs bg restored to show photo */


.sol-page-hero-content{padding:calc(var(--nav-h) + 2.5rem) var(--gutter) 3rem!important}

/* ── ABOUT HERO IMAGE — definitive rules ── */
.about-img-banner{position:relative!important;width:100%!important;height:75vh!important;min-height:540px!important;overflow:hidden!important;margin-top:0!important}
.about-img-banner img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;display:block!important}
.about-img-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,23,42,.55) 0%,rgba(15,23,42,.2) 55%,transparent 100%);z-index:1}
.about-hero-overlay{position:absolute!important;bottom:3rem!important;left:0!important;right:auto!important;padding:0 var(--gutter)!important;z-index:2!important;text-align:left!important}
.about-hero-overlay .eyebrow{color:rgba(255,255,255,.75)!important;margin-bottom:.6rem!important}
.about-hero-overlay h1{font-size:clamp(2.4rem,5vw,3.8rem)!important;font-weight:800!important;line-height:.95!important;letter-spacing:-.03em!important;color:#fff!important}
.about-hero-overlay h1 .i{color:rgba(255,255,255,.88)!important}
@media(max-width:768px){.about-img-banner{height:100vh!important;min-height:100vh!important}}

/* ── IDENTITY CARD — definitive fix ── */
/* ── IDENTITY CARD DEFINITIVE ── */
.id-card-light{
  background:var(--bg-alt)!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  padding:2rem!important;
  box-sizing:border-box!important;
  width:100%!important;
  overflow:hidden!important;
}
.id-card-light .id-lbl-dark{
  font-size:.72rem!important;font-weight:700!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--blue)!important;margin-bottom:1rem!important;
  padding-left:0!important;margin-left:0!important;
}
.id-card-light .id-row-light{
  display:flex!important;gap:1rem!important;
  align-items:flex-start!important;
  margin-bottom:1rem!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:0!important;margin-left:0!important;
}
.id-card-light .id-letter{
  font-size:2rem!important;font-weight:800!important;
  line-height:1.1!important;
  flex:0 0 48px!important;width:48px!important;
  padding-left:0!important;margin-left:0!important;
  padding-top:.1rem!important;
}
.id-card-light .id-text-dark{
  font-size:.88rem!important;color:var(--text)!important;
  line-height:1.8!important;
  flex:1 1 0!important;min-width:0!important;
  overflow-wrap:anywhere!important;
  padding-left:0!important;margin-left:0!important;
}
/* Sol page hero bg overlay */
.sol-page-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.82) 0%,rgba(15,23,42,.45) 55%,rgba(15,23,42,.05) 100%)}
.sol-page-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}

/* ── BUTTON PADDING PROTECTION ── */
.fs-inner .btn, .fs-inner a.btn{
  padding:.75rem 1.6rem !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
}


/* --- Mobile: full screen hero images --- */
@media (max-width: 768px){
  .sol-page-hero{min-height:100vh;height:100vh}
  .sol-page-hero-bg img{object-fit:cover;object-position:center center}
  .sol-page-hero-bg{background:var(--navy)}
}


/* ── ALL DEVICES: hero images always cover full screen ── */
@media (max-width: 768px){
  /* Hero / banner images */
  .fs-bg img,
  .sol-page-hero-bg img,
  .modal-hero img{
    object-fit: cover !important;
    object-position: center center !important;
  }
  /* Philosophy page — show lady's face at top */
  .about-img-banner img{
    object-fit: cover !important;
    object-position: 40% top !important;
  }

  /* Card / grid images */
  .sol-img img{
    object-fit: cover !important;
    object-position: center center !important;
  }

  .fs-bg,
  .sol-page-hero,
  .about-img-banner,
  .modal-hero,
  .sol-img{
    background: var(--navy) !important;
  }
}



/* === Mobile polish: remove blue accent lines + keep heroes framed cleanly === */
@media (max-width: 768px){
  .cx-rule,
  .contact-page-rule,
  .sol-hero-accent,
  .hero-sub-accent,
  .fs-sub-accent,
  .fs-accent,
  .accent-line,
  .blue-line{display:none !important;}
}

/* Ensure Solutions hero keeps the subject on the right (desktop) */
.sol-page-hero-bg img{
  object-position: right center !important;
}

/* On phones, full screen cover */
@media (max-width: 768px){
  .sol-page-hero-bg img{
    object-fit: cover !important;
    object-position: center center !important;
  }
}



/* ---- MOBILE: remove blue slider/progress lines/dots ---- */
@media (max-width: 768px){
  .hero-dots, .hero-dot, .hero-progress, .hero-scroll, .scroll-line { display:none !important; }
}



/* ── HERO IMAGE FIT FIX (Philosophy & Solutions) ── */
.about-img-banner{height:85vh;min-height:620px}
.about-img-banner img{object-position:center 15%}

/* Our Solutions hero background image rules */
.sol-page-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  /* keep the subject (woman) on the RIGHT and keep head visible */
  object-position:80% 12%;
  display:block;
}

/* Mobile: keep images large but ensure faces are not cropped */
@media(max-width:768px){
  .about-img-banner{height:70vh;min-height:520px}
  .about-img-banner img{object-position:center 12%}
  .sol-page-hero{min-height:70vh}
  .sol-page-hero-bg img{object-position:80% 10%}

  /* Remove the blue slider line/dots on mobile */
  .hero-dots,
  .hero-scroll,
  .hero-progress,
  .hero-sub-accent{display:none!important}
}




/* ===========================
   FINAL WORLD-CLASS HERO FIXES
   Applies to Desktop + Mobile
   =========================== */

/* Remove blue accent lines / slider dots / progress bars everywhere */
.accent-line,
.blue-line,
.hero-dots,
.hero-progress,
.hero-scroll,
.hero-dot{
  display:none !important;
}

/* OUR PHILOSOPHY HERO: full screen, image centered, text bottom-left */
.about-img-banner{
  height:92vh !important;
  min-height:620px !important;
}
.about-img-banner img{
  object-fit:cover !important;
  object-position:center top !important;
}
.about-hero-overlay{
  position:absolute !important;
  bottom:3rem !important;
  left:0 !important;
  right:auto !important;
  padding:0 var(--gutter) !important;
  z-index:2 !important;
  text-align:left !important;
}

/* OUR SOLUTIONS HERO: use most of the screen and keep subject on right + head visible */
.sol-page-hero{
  min-height:92vh !important;
}
.sol-page-hero-bg img{
  object-fit:cover !important;
  object-position:right 12% !important; /* keep head visible + subject right */
}

/* Mobile: full screen cover for all heroes */
@media (max-width: 768px){
  .about-img-banner{height:100vh !important; min-height:100vh !important;}
  .about-img-banner img{
    object-fit:cover !important;
    object-position:center top !important;
  }
  .about-hero-overlay{
    bottom:2.5rem !important;
    left:0 !important;
    padding:0 1.4rem !important;
  }

  .sol-page-hero{height:100vh !important; min-height:100vh !important;}
  .sol-page-hero-bg img{
    object-fit:cover !important;
    object-position:center top !important;
  }
}

/* Small phones */
@media (max-width: 420px){
  .about-img-banner{height:100vh !important; min-height:100vh !important;}
  .sol-page-hero{height:100vh !important; min-height:100vh !important;}
}



/* ── FINAL POLISH: full-screen heroes + remove blue UI accents ── */
.hero-dots,.hero-dot,.hero-progress,.hero-scroll,.accent-line,.blue-line,.sol-hero-accent,.hero-sub-accent,.fs-sub-accent,.fs-accent{display:none!important;}
.hero hr,.sol-page-hero hr,.about-img-banner hr,.sol-page-hero-content hr,.hero-content hr{display:none!important;}


/* ===============================
   WORLD-CLASS SOLUTIONS HERO
   =============================== */
.sol-page-hero{height:100vh!important;min-height:100vh!important}
.sol-page-hero-bg img{
  width:100%;height:100%;
  object-fit:cover;
  /* keep the full head visible */
  object-position:72% 18%;
}
.sol-page-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,14,28,.90) 0%,rgba(8,14,28,.55) 55%,rgba(8,14,28,.18) 100%);
}
.sol-page-hero-content{max-width:1200px;margin:0 auto}
.sol-eyebrow-hero{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  margin-bottom:1.1rem;
}
.sol-page-h1.sol-stacked{
  font-size:clamp(2.6rem,5.2vw,4.6rem);
  line-height:1.02;
  letter-spacing:-.03em;
}
.sol-hr{display:none}
.sol-page-sub{max-width:56ch}
.sol-hero-actions{margin-top:1.6rem}

@media (max-width: 900px){
  .sol-page-hero-content{padding:calc(var(--nav-h) + 2.2rem) var(--gutter) 2.4rem}
  .sol-page-sub{max-width:unset}
  .sol-page-hero-bg img{object-position:60% 12%}
}

@media (prefers-reduced-motion: no-preference){
  .sol-page-hero-content .hero-inner{animation:solFadeUp .9s ease both}
  @keyframes solFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}


/* =====================================================
   FIXES REQUESTED
   1) Our Philosophy: improve mobile layout/typography
   2) Our Solutions: ensure man's head is fully visible
   ===================================================== */

/* SOLUTIONS HERO — keep head fully in frame (top-biased focal point) */
.sol-page-hero-bg img{
  object-fit:cover !important;
  object-position:72% 6% !important;
}

/* Tablets/phones: nudge the focal point further up to prevent head crop */
@media (max-width: 900px){
  .sol-page-hero-bg img{ object-position:62% 4% !important; }
}

@media (max-width: 768px){
  .sol-page-hero-bg img{ object-position:58% 2% !important; }
}

/* OUR PHILOSOPHY — mobile hero spacing + readable headline */
@media (max-width: 768px){
  .about-img-banner{
    height:85vh !important;
    min-height:560px !important;
  }
  .about-img-banner img{
    object-fit:cover !important;
    object-position:center top !important;
  }
  .about-hero-overlay{
    padding:2.2rem 1.25rem !important;
  }
  .about-hero-overlay h1{
    font-size:clamp(2rem,7vw,2.6rem) !important;
    line-height:1.05 !important;
  }
}

@media (max-width: 420px){
  .about-hero-overlay{ padding:1.8rem 1rem !important; }
}

/* =========================================================
   WORLD-CLASS OVERRIDES (Solutions + Our Philosophy)
   Ensures premium centering + correct hero image framing
   Date: 2026-02-23
========================================================= */

/* ABOUT (Our Philosophy) — center the headline block */
.about-hero-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:calc(var(--nav-h) + 2.5rem) var(--gutter) 3rem !important;
}
.about-hero-overlay .eyebrow{max-width:900px}
.about-hero-overlay h1{max-width:900px}

/* SOLUTIONS — keep the executive head fully visible */
.sol-page-hero-bg img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:70% 8% !important;
}

@media (max-width: 1024px){
  .sol-page-hero-bg img{object-position:65% 6% !important;}
}

@media (max-width: 768px){
  /* Keep the hero looking like the landing page on mobile */
  .about-img-banner{height:100vh !important; min-height:100vh !important;}
  .about-hero-overlay{padding:calc(var(--nav-h) + 1.5rem) 1.2rem 2rem !important;}
  .about-hero-overlay h1{line-height:1.05 !important;}

  .sol-page-hero{height:100vh !important; min-height:100vh !important;}
  .sol-page-hero-bg img{
    object-fit:cover !important;
    object-position:75% 0% !important;
  }
}

/* ── FINAL OVERRIDE: Philosophy page — always show lady face ── */
.about-img-banner img{
  object-fit: cover !important;
  object-position: 65% top !important;
}
@media (max-width: 768px){
  .about-img-banner img{
    object-fit: cover !important;
    object-position: 70% center !important;
  }
}
@media (max-width: 420px){
  .about-img-banner img{
    object-fit: cover !important;
    object-position: 72% center !important;
  }
}

/* ── PAGE HERO OVERLAY: "Our / Philosophy" & "Our / Solutions" style ── */
.page-hero-overlay{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  left:var(--gutter);
  z-index:3;
  text-align:left;
}
.page-hero-title{
  font-size:clamp(2.8rem,6vw,5rem);
  font-weight:800;
  line-height:1;
  color:#fff;
  letter-spacing:-.02em;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.page-hero-title .serif-italic{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-style:italic;
  font-size:clamp(2.6rem,5.5vw,4.6rem);
  color:#fff;
  display:block;
}
/* Solutions page uses same class inside sol-page-hero-content */
.sol-page-hero-content .page-hero-title{
  font-size:clamp(2.8rem,6vw,5rem);
  font-weight:800;
  line-height:1;
  color:#fff;
  letter-spacing:-.02em;
}
.sol-page-hero-content .page-hero-title .serif-italic{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-style:italic;
  font-size:clamp(2.6rem,5.5vw,4.6rem);
  display:block;
  color:#fff;
}
@media(max-width:768px){
  .page-hero-overlay{top:50%;transform:translateY(-50%);left:1.4rem}
  .page-hero-title{font-size:clamp(2.4rem,8vw,3.2rem)}
  .page-hero-title .serif-italic{font-size:clamp(2.2rem,7.5vw,3rem)}
}

/* ── Disciplined execution: all caps, black ── */
.id-card-light > div[style*="font-size"]{
  color: var(--navy) !important;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
