/* ─── RESET & BASE ─────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#FFF7E8;--cream-dk:#F5EDD8;
  --terra:#B95C30;--rust:#B54531;--brown:#94401E;--mustard:#EF8A20;
  --dark:#1A0F08;--mid:#5C3A1E;--text:#2A1A0E;--grey:#7A6858;
  --white:#FFFFFF;--r:12px;--sh:0 4px 24px rgba(26,15,8,.10);
  --ff-d:'Playfair Display',Georgia,serif;--ff-b:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--ff-b);background:var(--cream);color:var(--text);line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ─── UTILITY ───────────────────────────────────────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 28px}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--terra);border-bottom:2px solid var(--mustard);padding-bottom:4px;margin-bottom:20px}
.sec-title{font-family:var(--ff-d);font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:700;line-height:1.15;color:var(--dark);margin-bottom:14px}
.sec-sub{font-size:1rem;color:var(--grey);line-height:1.75;max-width:640px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:50px;font-family:var(--ff-b);font-weight:600;font-size:.92rem;cursor:pointer;transition:all .24s;border:2px solid transparent}
.btn-pri{background:var(--terra);color:#fff}.btn-pri:hover{background:var(--brown);transform:translateY(-2px);box-shadow:0 6px 20px rgba(185,92,48,.35)}
.btn-out{background:transparent;color:var(--terra);border-color:var(--terra)}.btn-out:hover{background:var(--terra);color:#fff;transform:translateY(-2px)}
.btn-wh{background:#fff;color:var(--terra)}.btn-wh:hover{background:var(--cream);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.reveal.vis{opacity:1;transform:none}
.section{padding:96px 0}.section-sm{padding:64px 0}
.section-alt{background:var(--cream-dk)}
.section-dark{background:var(--dark);color:#fff}
.section-dark .sec-title{color:#fff}
.section-dark .sec-sub{color:rgba(255,255,255,.65)}
.section-dark .eyebrow{color:var(--mustard)}

/* ─── TOPBAR ────────────────────────────────────────────────────────────────── */
.topbar{background:var(--dark);color:#aaa;font-size:.78rem;padding:6px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.topbar a{color:#aaa;transition:color .2s}.topbar a:hover{color:var(--mustard)}
.tb-left,.tb-right{display:flex;gap:18px;align-items:center}

/* ─── NAVBAR ────────────────────────────────────────────────────────────────── */
.navbar{position:sticky;top:0;z-index:200;background:rgba(255,247,232,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(185,92,48,.12);transition:box-shadow .3s}
.navbar.scrolled{box-shadow:0 2px 24px rgba(26,15,8,.10)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;max-width:1200px;margin:0 auto}
.nav-logo img{height:44px;width:auto}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links>a,.nav-dropdown>a{padding:8px 12px;border-radius:8px;font-size:.86rem;font-weight:500;color:var(--mid);transition:all .2s;display:flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}
.nav-links>a:hover,.nav-dropdown>a:hover,.nav-links>a.active,.nav-dropdown.active>a{color:var(--terra);background:rgba(185,92,48,.08)}
/* DROPDOWN */
.nav-dropdown{position:relative}
.nav-dropdown>a::after{content:'▾';font-size:.68rem;opacity:.7}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(26,15,8,.14);min-width:210px;overflow:hidden;border:1px solid rgba(185,92,48,.12);z-index:300}
.nav-dropdown:hover .dropdown-menu{display:block}
.dropdown-menu a{display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:.85rem;font-weight:500;color:var(--mid);border-bottom:1px solid rgba(185,92,48,.06);transition:all .2s}
.dropdown-menu a:last-child{border-bottom:none}
.dropdown-menu a:hover{background:rgba(185,92,48,.06);color:var(--terra);padding-left:22px}
.dropdown-menu a .d-ico{font-size:1rem;width:20px;text-align:center;flex-shrink:0}
.nav-cta{margin-left:8px}
.nav-tog{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.nav-tog span{width:23px;height:2px;background:var(--terra);border-radius:2px;transition:all .3s}
/* MOBILE MENU */
.m-menu{display:none;position:fixed;inset:0;background:var(--cream);z-index:300;flex-direction:column;padding:80px 28px 40px;gap:0;overflow-y:auto}
.m-menu.open{display:flex}
.m-menu>a,.m-menu-label{padding:13px 0;font-size:1.05rem;font-weight:500;color:var(--dark);border-bottom:1px solid rgba(185,92,48,.10);transition:color .2s}
.m-menu>a:hover{color:var(--terra)}
.m-menu-label{font-weight:700;color:var(--terra);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;border-bottom:none;padding-bottom:6px;padding-top:16px}
.m-sub{padding:9px 0 9px 16px;font-size:.95rem;color:var(--mid);border-bottom:1px solid rgba(185,92,48,.06);display:block;transition:color .2s}
.m-sub:hover{color:var(--terra)}
.m-close{position:absolute;top:18px;right:24px;font-size:1.7rem;color:var(--terra);cursor:pointer;background:none;border:none}

/* ─── HERO SLIDER ───────────────────────────────────────────────────────────── */
.hero-slider{position:relative;height:100vh;min-height:580px;overflow:hidden}
.slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease;display:flex;align-items:center;justify-content:center}
.slide.active{opacity:1;z-index:2}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease}
.slide.active .slide-bg{transform:scale(1.04)}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(18,10,4,.88) 0%,rgba(80,35,10,.55) 100%)}
.slide-content{position:relative;z-index:2;max-width:760px;padding:0 28px;margin:0 auto;text-align:center;color:#fff}
.slide-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mustard);margin-bottom:18px;display:block}
.slide-content h1{font-family:var(--ff-d);font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:700;line-height:1.1;color:#fff;margin-bottom:20px}
.slide-content h1 em{font-style:italic;color:var(--mustard)}
.slide-content p{font-size:1.05rem;color:rgba(255,255,255,.78);line-height:1.75;margin-bottom:32px;max-width:580px;margin-left:auto;margin-right:auto}
.slide-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* Slider controls */
.slider-arrows{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;z-index:10}
.slider-dots{display:flex;gap:8px;align-items:center}
.s-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s;border:none}
.s-dot.active{background:var(--mustard);width:24px;border-radius:4px}
.s-arr{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s}
.s-arr:hover{background:var(--terra);border-color:var(--terra)}

/* ─── PAGE HERO ─────────────────────────────────────────────────────────────── */
.page-hero{position:relative;padding:100px 0 70px;background:var(--dark);color:#fff;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,15,8,.82) 0%,rgba(92,58,30,.55) 100%)}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}
.page-hero-content{position:relative;z-index:2}
.page-hero h1{font-family:var(--ff-d);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:#fff;margin-bottom:14px}
.page-hero p{font-size:1rem;color:rgba(255,255,255,.75);max-width:580px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(255,255,255,.45);margin-bottom:18px}
.breadcrumb a{color:rgba(255,255,255,.45);transition:color .2s}.breadcrumb a:hover{color:var(--mustard)}
.breadcrumb span{color:var(--mustard)}

/* ─── SPLIT GRID ────────────────────────────────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split-img{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.split-img img{width:100%;height:440px;object-fit:cover}

/* ─── CARDS ─────────────────────────────────────────────────────────────────── */
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border-radius:var(--r);padding:28px 22px;box-shadow:var(--sh);transition:transform .3s}
.card:hover{transform:translateY(-4px)}
.card-ico{font-size:2rem;margin-bottom:14px}
.card h4{font-family:var(--ff-d);font-size:1.05rem;font-weight:600;color:var(--dark);margin-bottom:8px}
.card p{font-size:.85rem;color:var(--grey);line-height:1.65}
.card-border{border-top:3px solid transparent;transition:all .3s}.card-border:hover{border-top-color:var(--terra)}
.dark-card{background:rgba(255,255,255,.05);border:1px solid rgba(185,92,48,.2);color:#fff}
.dark-card:hover{background:rgba(185,92,48,.1);border-color:rgba(185,92,48,.5)}
.dark-card h4{color:#fff}.dark-card p{color:rgba(255,255,255,.65)}

/* ─── BUSINESS MODEL ────────────────────────────────────────────────────────── */
.bm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.bm-card{background:#fff;border-radius:var(--r);padding:36px 28px;box-shadow:var(--sh);text-align:center;border-bottom:4px solid var(--terra);transition:transform .3s}
.bm-card:hover{transform:translateY(-5px)}
.bm-icon{font-size:3rem;margin-bottom:18px}
.bm-card h3{font-family:var(--ff-d);font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:10px}
.bm-card p{font-size:.88rem;color:var(--grey);line-height:1.65}

/* ─── SERVICES ALTERNATING ROWS ─────────────────────────────────────────────── */
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:52px 0}
.svc-row-rev .svc-img{order:2}.svc-row-rev .svc-body{order:1}
.svc-img{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.svc-img img{width:100%;height:380px;object-fit:cover;transition:transform .5s}
.svc-img:hover img{transform:scale(1.03)}
.svc-num{display:block;font-family:var(--ff-d);font-size:3.5rem;font-weight:700;color:rgba(185,92,48,.12);line-height:1;margin-bottom:-8px}
.svc-body h3{font-family:var(--ff-d);font-size:1.55rem;font-weight:700;color:var(--dark);margin-bottom:14px}
.svc-body p{font-size:.95rem;color:var(--grey);line-height:1.75;margin-bottom:18px}
.svc-list{display:flex;flex-direction:column;gap:7px}
.svc-list li{font-size:.88rem;color:var(--text);display:flex;align-items:flex-start;gap:10px;line-height:1.4}
.svc-list li::before{content:'→';color:var(--terra);font-weight:700;flex-shrink:0}
.svc-divider{height:1px;background:linear-gradient(to right,transparent,rgba(185,92,48,.15),transparent)}

/* ─── PROCESS STEPS ─────────────────────────────────────────────────────────── */
.process-flow{display:flex;align-items:stretch;gap:0;margin-top:40px;flex-wrap:wrap}
.pf-step{flex:1;min-width:150px;background:#fff;padding:24px 18px;text-align:center;border-right:1px solid var(--cream-dk);position:relative;box-shadow:var(--sh);transition:background .3s}
.pf-step:first-child{border-radius:var(--r) 0 0 var(--r)}
.pf-step:last-child{border-right:none;border-radius:0 var(--r) var(--r) 0}
.pf-step:hover{background:rgba(185,92,48,.04)}
.pf-arrow{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:var(--terra);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;z-index:2}
.pf-step:last-child .pf-arrow{display:none}
.pf-ico{font-size:1.8rem;margin-bottom:10px}
.pf-step h4{font-family:var(--ff-d);font-size:.9rem;font-weight:600;color:var(--dark);margin-bottom:5px}
.pf-step p{font-size:.75rem;color:var(--grey);line-height:1.5}
/* Vertical process (buying house) */
.process-vertical{display:flex;flex-direction:column;gap:0;max-width:500px;margin:0 auto}
.pv-step{display:flex;align-items:flex-start;gap:20px;padding:24px 0;border-left:2px solid rgba(185,92,48,.2);padding-left:28px;position:relative}
.pv-step::before{content:'';position:absolute;left:-9px;top:28px;width:16px;height:16px;border-radius:50%;background:var(--terra);border:3px solid var(--cream)}
.pv-step:last-child{border-left:2px solid transparent}
.pv-step h4{font-family:var(--ff-d);font-size:1rem;font-weight:600;color:var(--dark);margin-bottom:5px}
.pv-step p{font-size:.86rem;color:var(--grey);line-height:1.6}
.pv-ico{font-size:1.8rem;flex-shrink:0;margin-top:2px}

/* ─── SERVICE DETAIL GRID ───────────────────────────────────────────────────── */
.svc-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
.svc-detail-card{background:#fff;border-radius:var(--r);padding:24px 18px;box-shadow:var(--sh);border-top:3px solid var(--terra)}
.svc-detail-card h4{font-family:var(--ff-d);font-size:.95rem;font-weight:600;color:var(--dark);margin-bottom:10px}
.svc-detail-card ul{list-style:none}
.svc-detail-card ul li{font-size:.82rem;color:var(--grey);padding:4px 0;border-bottom:1px solid var(--cream-dk);display:flex;align-items:center;gap:7px}
.svc-detail-card ul li::before{content:'·';color:var(--terra);font-size:1.2rem;line-height:1}
.svc-detail-card ul li:last-child{border-bottom:none}

/* ─── MANUFACTURING MAP ─────────────────────────────────────────────────────── */
.map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.map-pin{background:#fff;border-radius:var(--r);padding:28px 20px;box-shadow:var(--sh);text-align:center;border-bottom:3px solid var(--terra);transition:transform .3s}
.map-pin:hover{transform:translateY(-5px)}
.map-flag{font-size:2.8rem;margin-bottom:12px}
.map-pin h3{font-family:var(--ff-d);font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:6px}
.map-pin .map-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--terra);margin-bottom:10px}
.map-pin ul{text-align:left;display:flex;flex-direction:column;gap:5px}
.map-pin ul li{font-size:.82rem;color:var(--grey);display:flex;align-items:center;gap:8px}
.map-pin ul li::before{content:'✓';color:var(--terra);font-weight:700;flex-shrink:0}

/* ─── CAPABILITIES (SWAN STYLE) ─────────────────────────────────────────────── */
.cap-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.cap-hero-item{position:relative;height:280px;overflow:hidden;cursor:default}
.cap-hero-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cap-hero-item:hover img{transform:scale(1.06)}
.cap-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,15,8,.85) 0%,rgba(26,15,8,.2) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px 20px}
.cap-hero-overlay h3{font-family:var(--ff-d);font-size:1.2rem;color:#fff;margin-bottom:4px}
.cap-hero-overlay p{font-size:.8rem;color:rgba(255,255,255,.72)}
.cap-detail{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cap-detail-item{padding:48px 40px;border-right:1px solid var(--cream-dk);border-bottom:1px solid var(--cream-dk)}
.cap-detail-item:nth-child(even){border-right:none}
.cap-detail-item h3{font-family:var(--ff-d);font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:12px}
.cap-detail-item p{font-size:.9rem;color:var(--grey);line-height:1.7;margin-bottom:14px}
.cap-detail-item ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.cap-detail-item ul li{font-size:.85rem;color:var(--text);display:flex;align-items:center;gap:8px}
.cap-detail-item ul li::before{content:'→';color:var(--terra);font-weight:700;flex-shrink:0}
.cap-num{font-family:var(--ff-d);font-size:3rem;font-weight:700;color:rgba(185,92,48,.1);line-height:1;margin-bottom:-4px}

/* ─── QUALITY PAGE ──────────────────────────────────────────────────────────── */
.qa-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.qa-flow-card{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.qa-flow-card img{width:100%;height:180px;object-fit:cover;display:block}
.qa-flow-body{padding:22px;background:#fff}
.qa-flow-body h4{font-family:var(--ff-d);font-size:1rem;font-weight:600;color:var(--terra);margin-bottom:8px}
.qa-flow-body p{font-size:.85rem;color:var(--grey);line-height:1.6}

/* ─── STATS BAR ─────────────────────────────────────────────────────────────── */
.lt-bar{background:var(--terra);padding:52px 0}
.lt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.lt-n{font-family:var(--ff-d);font-size:2.6rem;font-weight:700;color:#fff;line-height:1}
.lt-t{font-size:.88rem;font-weight:600;color:var(--mustard);margin-top:6px}
.lt-l{font-size:.76rem;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.09em;margin-top:4px}

/* ─── TICKER ────────────────────────────────────────────────────────────────── */
.ticker{background:var(--dark);border-top:1px solid rgba(185,92,48,.2);padding:28px 0;overflow:hidden}
.ticker-lbl{text-align:center;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:18px}
.ticker-track{display:flex;gap:48px;white-space:nowrap;animation:scrollTicker 32s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{font-size:.88rem;font-weight:600;color:rgba(255,255,255,.38);cursor:default;transition:color .2s}
.ticker-item:hover{color:var(--mustard)}
@keyframes scrollTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ─── ABOUT TAGS ────────────────────────────────────────────────────────────── */
.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.about-tags span{background:rgba(185,92,48,.08);color:var(--terra);border:1px solid rgba(185,92,48,.2);border-radius:50px;padding:5px 14px;font-size:.78rem;font-weight:600}

/* ─── PRODUCT TABS ──────────────────────────────────────────────────────────── */
.prod-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.ptab{padding:9px 22px;border-radius:50px;border:1.5px solid rgba(185,92,48,.25);font-size:.86rem;font-weight:500;color:var(--grey);cursor:pointer;transition:all .2s;background:transparent}
.ptab.on,.ptab:hover{background:var(--terra);color:#fff;border-color:var(--terra)}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:24px}
.pgrid-item{border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--sh);border:1px solid rgba(185,92,48,.10);transition:transform .3s;cursor:pointer}
.pgrid-item:hover{transform:translateY(-4px)}
.pgrid-item img{width:100%;height:240px;object-fit:cover;display:block}
.pgrid-cap{padding:10px 14px;font-size:.82rem;color:var(--grey);font-weight:500;line-height:1.4}

/* ─── LIGHTBOX ──────────────────────────────────────────────────────────────── */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:2000;align-items:center;justify-content:center;flex-direction:column}
.lightbox.open{display:flex}
.lb-img-wrap{max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center}
.lb-img-wrap img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:6px}
.lb-cap{color:rgba(255,255,255,.75);text-align:center;margin-top:14px;font-size:.9rem;max-width:600px}
.lb-counter{color:rgba(255,255,255,.4);font-size:.78rem;margin-top:6px}
.lb-close{position:fixed;top:18px;right:22px;color:#fff;font-size:2rem;background:rgba(255,255,255,.1);border:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2001;transition:background .2s}.lb-close:hover{background:var(--terra)}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);color:#fff;font-size:2rem;background:rgba(255,255,255,.1);border:none;cursor:pointer;width:48px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:2001;transition:background .2s}
.lb-prev:hover,.lb-next:hover{background:var(--terra)}
.lb-prev{left:14px}.lb-next{right:14px}

/* ─── CLIENT LOGOS ──────────────────────────────────────────────────────────── */
.client-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:44px}
.client-logo-tile{background:#fff;border:1px solid rgba(185,92,48,.12);border-radius:10px;overflow:hidden;width:100%;height:110px;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:all .22s;display:flex;align-items:center;justify-content:center}
.client-logo-tile:hover{border-color:var(--terra);transform:translateY(-3px);box-shadow:0 8px 20px rgba(185,92,48,.12)}
.client-logo-tile img{width:100%;height:100%;object-fit:contain;padding:12px;display:block}
/* admin logo */
.admin-logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:18px}
.admin-logo-item{position:relative;border-radius:8px;overflow:hidden;background:#f9f7f4;border:1px solid #ece8e2;display:flex;align-items:center;justify-content:center;padding:14px;min-height:90px}
.admin-logo-item img{max-width:100%;max-height:60px;object-fit:contain}
.admin-logo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.admin-logo-item:hover .admin-logo-overlay{opacity:1}

/* ─── SUSTAINABILITY ────────────────────────────────────────────────────────── */
.sustain-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sustain-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:28px 20px;transition:background .3s}
.sustain-card:hover{background:rgba(185,92,48,.12);border-color:rgba(185,92,48,.3)}
.sustain-card .s-ico{font-size:2rem;margin-bottom:14px}
.sustain-card h4{font-family:var(--ff-d);font-size:1rem;color:#fff;margin-bottom:8px}
.sustain-card p{font-size:.84rem;color:rgba(255,255,255,.65);line-height:1.6}
.eco-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:20px}
.eco-list li{display:flex;align-items:center;gap:12px;font-size:.88rem;color:rgba(255,255,255,.82)}
.eco-list li::before{content:'🌿';flex-shrink:0}
.cert-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:28px}
.cert-panel p{color:rgba(255,255,255,.65);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.cert-panel img{width:100%;border-radius:8px;background:#fff;padding:14px}
.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
.rm-box{text-align:center;padding:18px 12px;border-radius:var(--r);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.rm-yr{font-family:var(--ff-d);font-size:1.35rem;font-weight:700;color:#9de87a;margin-bottom:5px}
.rm-lbl{font-size:.76rem;color:rgba(255,255,255,.6)}

/* ─── OFFICES GRID ──────────────────────────────────────────────────────────── */
.offices-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.office-card{background:rgba(255,255,255,.05);border:1px solid rgba(185,92,48,.2);border-radius:var(--r);padding:24px 18px;transition:all .28s}
.office-card:hover{background:rgba(185,92,48,.1);border-color:rgba(185,92,48,.45)}
.office-ico{font-size:2rem;margin-bottom:10px}
.office-card h4{font-family:var(--ff-d);font-size:.95rem;font-weight:600;color:var(--mustard);margin-bottom:10px}
.office-card p,.office-card a{font-size:.82rem;color:rgba(255,255,255,.62);line-height:1.8}
.office-card a{display:block}.office-card a:hover{color:var(--mustard)}

/* ─── CONTACT FORM ──────────────────────────────────────────────────────────── */
.c-form{background:rgba(255,255,255,.04);border:1px solid rgba(185,92,48,.2);border-radius:var(--r);padding:40px}
.c-form h3{font-family:var(--ff-d);font-size:1.4rem;font-weight:600;color:#fff;margin-bottom:22px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-group{display:flex;flex-direction:column;gap:5px}
.f-group.full{grid-column:1/-1}
.f-group label{font-size:.8rem;font-weight:500;color:#6b7280}
.f-group input,.f-group select,.f-group textarea{background:#fff;border:1px solid #ddd;border-radius:8px;padding:11px 13px;font-family:var(--ff-b);font-size:.88rem;color:#1A0F08;outline:none;transition:border-color .2s}
.f-group input::placeholder,.f-group textarea::placeholder{color:#aaa}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--terra)}
.f-group select option{background:#fff;color:#1A0F08}
.f-group textarea{resize:vertical;min-height:110px}

/* ─── CTA BAND ──────────────────────────────────────────────────────────────── */
.cta-band{background:var(--terra);padding:60px 0;text-align:center}
.cta-band h2{font-family:var(--ff-d);font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:12px}
.cta-band p{color:rgba(255,255,255,.85);margin-bottom:28px;font-size:1rem}
.cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ─── FOOTER ────────────────────────────────────────────────────────────────── */
.footer{background:#0a1f0a;color:rgba(255,255,255,.5);padding:64px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;margin-bottom:44px}
.footer-brand img{height:42px;margin-bottom:14px;filter:brightness(0) invert(1) opacity(.8)}
.footer-brand p{font-size:.83rem;line-height:1.7;margin-bottom:18px}
.footer-socials{display:flex;gap:10px}
.soc-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(185,92,48,.35);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.5);transition:all .2s;cursor:pointer;user-select:none}
.soc-btn:hover{background:var(--terra);border-color:var(--terra);color:#fff}
.footer-col h5{font-size:.82rem;font-weight:600;color:#fff;margin-bottom:14px;text-transform:uppercase;letter-spacing:.09em}
.footer-col ul li{margin-bottom:7px}
.footer-col ul li a{font-size:.82rem;transition:color .2s}.footer-col ul li a:hover{color:var(--mustard)}
.footer-contact p{font-size:.82rem;line-height:1.7;margin-bottom:6px}
.footer-contact a{color:rgba(255,255,255,.5)}.footer-contact a:hover{color:var(--mustard)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:.76rem}

/* ─── RESPONSIVE ────────────────────────────────────────────────────────────── */
@media(max-width:1000px){
  .nav-links,.nav-cta{display:none}
  .nav-tog{display:flex}
  .split,.svc-row,.svc-row-rev{grid-template-columns:1fr;gap:32px}
  .svc-row-rev .svc-img,.svc-row-rev .svc-body{order:unset}
  .cards-4,.map-grid,.svc-detail-grid,.offices-grid{grid-template-columns:1fr 1fr}
  .cards-3,.bm-grid,.qa-flow,.cap-hero-grid{grid-template-columns:1fr 1fr}
  .cap-detail{grid-template-columns:1fr}
  .cap-detail-item{border-right:none}
  .sustain-grid-4{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .lt-grid{grid-template-columns:1fr 1fr}
  .roadmap{grid-template-columns:1fr 1fr}
  .client-logo-grid{grid-template-columns:repeat(3,1fr)}
  .process-flow{gap:1px}
  .tb-left{display:none}
}
@media(max-width:600px){
  .container{padding:0 16px}
  .cards-3,.cards-4,.bm-grid,.map-grid,.svc-detail-grid,.offices-grid,.qa-flow,.cap-hero-grid,.sustain-grid-4{grid-template-columns:1fr}
  .footer-grid,.f-grid{grid-template-columns:1fr}
  .client-logo-grid{grid-template-columns:repeat(2,1fr)}
  .cta-btns,.slide-btns{flex-direction:column;align-items:center}
  .lt-grid{grid-template-columns:1fr 1fr}
  .svc-img img{height:240px}
  .process-flow{flex-direction:column}
  .pf-step{border-right:none;border-bottom:1px solid var(--cream-dk)}
  .pf-step:last-child{border-bottom:none;border-radius:0 0 var(--r) var(--r)}
  .pf-step:first-child{border-radius:var(--r) var(--r) 0 0}
  .pf-arrow{display:none}
}

/* ─── NAV DROPDOWN IMPROVED ────────────────────────────────────────────────── */
.nav-dropdown>a{padding:8px 12px;border-radius:8px;font-size:.86rem;font-weight:500;color:var(--mid);transition:all .2s;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;background:transparent;border:none;font-family:var(--ff-b)}
.nav-dropdown>a::after{content:'▾';font-size:.65rem;opacity:.6;transition:transform .2s}
.nav-dropdown:hover>a::after{transform:rotate(180deg)}
.nav-dropdown>a:hover,.nav-dropdown.active>a{color:var(--terra);background:rgba(185,92,48,.08)}
/* ─── MOBILE NAV HAMBURGER ANIMATION ──────────────────────────────────────── */
.nav-tog span{transition:all .3s ease}
/* ─── HERO SLIDER MOBILE ───────────────────────────────────────────────────── */
@media(max-width:600px){
  .hero-slider{height:100svh;min-height:500px}
  .slide-content h1{font-size:1.9rem}
  .slide-content p{font-size:.9rem}
  .slider-arrows{bottom:24px;gap:14px}
}
/* ─── FOOTER DARK GREEN ─────────────────────────────────────────────────────── */
.footer{background:#0a1f0a !important}

/* ─── SVG icon in card headings ─────────────────────────────────────────────── */
.card-svg{display:inline-flex;vertical-align:middle;margin-right:6px}
.svc-detail-card h4{display:flex;align-items:center;gap:8px;font-family:var(--ff-d);font-size:.95rem;font-weight:600;color:var(--dark);margin-bottom:10px}
.svc-detail-card h4 svg{flex-shrink:0}
/* ─── Process flow SVG icons ─────────────────────────────────────────────────── */
.pf-ico{display:flex;align-items:center;justify-content:center;margin-bottom:10px;height:36px}
/* ─── Footer soc-btn as links ────────────────────────────────────────────────── */
.footer-socials a.soc-btn{display:flex;color:rgba(255,255,255,.5)}
.footer-socials a.soc-btn:hover{background:var(--terra);border-color:var(--terra);color:#fff}
/* ─── Nav dropdown SVG icons ─────────────────────────────────────────────────── */
.d-ico{display:flex;align-items:center;width:22px}
.d-ico svg{flex-shrink:0}
/* ─── Navbar on mobile: cleaner ──────────────────────────────────────────────── */
@media(max-width:1000px){
  .nav-tog{display:flex}
  .nav-links,.nav-cta{display:none}
}

/* ── FINAL POLISH v12 ─────────────────────────────────────────────────────── */
/* BM icon sizing in about/home */
.bm-icon{display:flex;align-items:center;justify-content:center;margin:0 auto 18px;width:56px;height:56px;background:rgba(185,92,48,.08);border-radius:14px}
.bm-icon svg{width:28px;height:28px}
/* Card icon sizing */
.card .card-ico svg,.svc-detail-card h4 svg{vertical-align:middle;flex-shrink:0}
.svc-detail-card h4{display:flex;align-items:center;gap:8px}
/* Process flow icon sizing */
.pf-ico{display:flex;align-items:center;justify-content:center;height:40px;margin-bottom:10px}
/* Footer socials as proper links */
.footer-socials a.soc-btn{text-decoration:none;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:all .2s}
.footer-socials a.soc-btn:hover{background:var(--terra);border-color:var(--terra);color:#fff}
/* Dropdown d-ico alignment */
.dropdown-menu a{display:flex;align-items:center;gap:10px}
.d-ico{display:inline-flex;align-items:center;width:22px;flex-shrink:0}
/* Footer contact links */
.footer-contact a{display:block;color:rgba(255,255,255,.5);font-size:.82rem;line-height:1.8;transition:color .2s}
.footer-contact a:hover{color:var(--mustard)}
/* Sustainability eco-list */
.eco-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:20px}
.eco-list li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:rgba(255,255,255,.82);line-height:1.5}
.eco-list li::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#9de87a;flex-shrink:0;margin-top:6px}
/* Responsive offices in contact */
@media(max-width:800px){.offices-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.offices-grid{grid-template-columns:1fr}}
/* Contact form on mobile */
@media(max-width:800px){
  .contact .split,[style*="grid-template-columns:1.2fr 1fr"]{grid-template-columns:1fr !important}
}

/* v13 nav dropdown rules removed — see v14 fix below */

/* STATS BAR dark background text colors */
.lt-bar .lt-n{color:var(--mustard)}
.lt-bar .lt-t{color:rgba(255,255,255,.9);font-size:.88rem;font-weight:600;margin-top:6px}
.lt-bar .lt-l{color:rgba(255,255,255,.55);font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;margin-top:4px}

/* FOOTER contact icon rows */
.fc-item{display:flex;align-items:center;gap:8px;font-size:.82rem;line-height:1.8;margin-bottom:2px}
.fc-item svg{flex-shrink:0;opacity:.9}
.fc-item a{color:rgba(255,255,255,.55);transition:color .2s}
.fc-item a:hover{color:var(--mustard)}

/* PAGE HERO ensure it always shows correctly */
.page-hero{position:relative;padding:110px 0 72px;background:var(--dark);color:#fff;overflow:hidden;min-height:280px}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,10,4,.88) 0%,rgba(80,35,10,.55) 100%);z-index:1}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3}
.page-hero-content{position:relative;z-index:2}
.page-hero h1{font-family:var(--ff-d);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:#fff;margin-bottom:14px;line-height:1.15}
.page-hero p{font-size:1rem;color:rgba(255,255,255,.75);max-width:580px}

/* NAV dropdown link items */
.dropdown-menu a{
  display:flex;align-items:center;gap:10px;
  padding:11px 18px;font-size:.85rem;font-weight:500;color:var(--mid);
  border-bottom:1px solid rgba(185,92,48,.06);transition:all .2s;
}
.dropdown-menu a:last-child{border-bottom:none}
.dropdown-menu a:hover{background:rgba(185,92,48,.06);color:var(--terra);padding-left:22px}

/* RESPONSIVE page-hero */
@media(max-width:600px){
  .page-hero{padding:80px 0 52px}
  .page-hero h1{font-size:1.8rem}
}


/* ── v14: NAV DROPDOWN ALIGNMENT + FOOTER ───────────────────────────────────── */

/* Unified nav link height so ALL items sit at same vertical center */
.nav-links > a,
.nav-dropdown > a {
  height: 38px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: .86rem;
  font-weight: 500;
  color: var(--mid);
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
  font-family: var(--ff-b);
  background: transparent;
  border: none;
  text-decoration: none;
}
.nav-links > a:hover,
.nav-dropdown > a:hover,
.nav-links > a.active,
.nav-dropdown.active > a {
  color: var(--terra);
  background: rgba(185,92,48,.08);
}
/* Arrow on Services — vertically centered */
.nav-dropdown > a::after {
  content: '▾';
  font-size: .62rem;
  opacity: .6;
  margin-top: 1px;   /* tiny optical correction */
  transition: transform .2s;
  line-height: 1;
}
.nav-dropdown:hover > a::after { transform: rotate(180deg); }

/* Dropdown hover-safe zone — invisible padding bridges the gap */
.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-dropdown::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;   /* bridge from link to menu */
  z-index: 299;
  display: none;
}
.nav-dropdown:hover::before { display: block; }

/* Dropdown menu */
.dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(26,15,8,.14);
  min-width: 220px;
  border: 1px solid rgba(185,92,48,.12);
  z-index: 300;
  padding: 4px 0;
  /* Extend hitbox upward to prevent losing hover */
  margin-top: -4px;
  padding-top: 8px;
}
.nav-dropdown:hover .dropdown-menu { display: block; }

.dropdown-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 18px;
  font-size: .85rem;
  font-weight: 500;
  color: var(--mid);
  border-bottom: 1px solid rgba(185,92,48,.06);
  transition: all .2s;
  line-height: 1.3;
}
.dropdown-menu a:last-child { border-bottom: none; }
.dropdown-menu a:hover {
  background: rgba(185,92,48,.06);
  color: var(--terra);
  padding-left: 22px;
}
.d-ico { display: inline-flex; align-items: center; width: 22px; flex-shrink: 0; }
.d-ico svg { flex-shrink: 0; }

/* ── FOOTER: address + icon layout ──────────────────────────────────────────── */
.footer-inner {
  display: grid;
  grid-template-columns: 1.4fr 1.6fr;
  gap: 48px;
  margin-bottom: 36px;
  align-items: start;
}
.fc-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: .81rem;
  line-height: 1.55;
  margin-bottom: 7px;
  color: rgba(255,255,255,.58);
}
.fc-item svg { flex-shrink: 0; margin-top: 2px; }
.fc-item span { color: rgba(255,255,255,.58); }
.fc-item a { color: rgba(255,255,255,.58); transition: color .2s; }
.fc-item a:hover { color: var(--mustard); }

@media(max-width:700px) {
  .footer-inner { grid-template-columns: 1fr; gap: 28px; }
}

/* ── v15: LOGO TICKER ─────────────────────────────────────────────────────── */
.logo-ticker{background:#fff;border-top:1px solid rgba(185,92,48,.1);border-bottom:1px solid rgba(185,92,48,.1);padding:24px 0;overflow:hidden;-webkit-overflow-scrolling:touch}
.logo-track{display:flex;gap:52px;align-items:center;white-space:nowrap;animation:scrollLogos 40s linear infinite;width:max-content;will-change:transform}
.logo-track:hover{animation-play-state:paused}
.logo-track img{height:60px;width:auto;object-fit:contain;filter:grayscale(8%);opacity:.85;transition:opacity .25s,filter .25s;flex-shrink:0;display:block}
.logo-track img:hover{opacity:1;filter:none}
@keyframes scrollLogos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── v15: NAV without Get a Quote button ─────────────────────────────────── */
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;max-width:1200px;margin:0 auto}
.nav-cta{display:none !important}  /* hide any leftover button */
/* Push nav-links toward center/right */
.nav-links{margin-left:auto;margin-right:0}
/* Mobile: hide nav-cta in mobile menu too */
.m-menu .btn-pri:not([onclick*="toggleMenu"]){display:none}

/* ── v15: CONTACT FORM dark title ────────────────────────────────────────── */
.c-form h3{color:var(--dark) !important;font-family:var(--ff-d);font-size:1.4rem;font-weight:600;margin-bottom:22px}

/* ── v15: FOOTER - remove tagline ────────────────────────────────────────── */
.footer-bottom span:last-child{display:none}

/* ── v15: Contact form+map equal height layout ───────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:stretch}
.contact-grid .c-form{height:100%}
.contact-grid .map-col{height:100%;min-height:460px}
.contact-grid .map-col iframe{height:100%;min-height:460px;display:block;border-radius:12px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ── v15b: contact grid map LEFT, form RIGHT ─────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.contact-grid .map-col{height:100%;min-height:480px}
.contact-grid .map-col iframe{width:100%;height:100%;min-height:480px;display:block;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.12)}
.contact-grid .c-form{background:rgba(255,255,255,.04);border:1px solid rgba(185,92,48,.2);border-radius:var(--r);padding:36px}
.c-form h3{color:var(--dark)!important;font-family:var(--ff-d);font-size:1.4rem;font-weight:600;margin-bottom:22px}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* ── v16: COMPREHENSIVE FIXES ────────────────────────────────────────────────── */

/* LOGO TICKER - mobile safe infinite scroll */
.logo-ticker{background:#fff;border-top:1px solid rgba(185,92,48,.1);border-bottom:1px solid rgba(185,92,48,.1);padding:24px 0;overflow:hidden;-webkit-overflow-scrolling:touch}
.logo-ticker .ticker-mask{overflow:hidden;mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}
.logo-track{display:flex;gap:52px;align-items:center;animation:scrollLogos 40s linear infinite;width:max-content;will-change:transform;touch-action:pan-y}
.logo-track img{height:60px;width:auto;object-fit:contain;opacity:.85;flex-shrink:0;display:block;transition:opacity .2s}
.logo-track img:hover{opacity:1}
@keyframes scrollLogos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* pause on hover desktop only */
@media(hover:hover){.logo-track:hover{animation-play-state:paused}}

/* CLIENT LOGO GRID - logos breathe with contain */
.client-logo-tile{background:#fff;border:1px solid rgba(185,92,48,.12);border-radius:10px;width:100%;height:110px;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:all .22s;display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.client-logo-tile img{max-width:100%;max-height:100%;object-fit:contain;display:block}

/* FOOTER - remove brand section, just contact column full width */
.footer-brand{display:none !important}
.footer-inner{display:block !important}
.footer-col.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.footer-col.footer-contact h5{grid-column:1/-1;font-size:.82rem;font-weight:600;color:#fff;margin-bottom:14px;text-transform:uppercase;letter-spacing:.09em}
.footer-col.footer-contact .footer-address-group{grid-column:1;display:flex;flex-direction:column;gap:0}
.footer-col.footer-contact .footer-contact-group{grid-column:2;display:flex;flex-direction:column;gap:0}

/* CONTACT FORM - Send Us a Message: BLACK on all screen sizes */
.c-form h3,.c-form h3 *{color:#1A0F08 !important}
/* Contact form on dark section bg */
section.section-dark .c-form h3{color:#1A0F08 !important}

/* MOBILE RESPONSIVE: Global fixes */
@media(max-width:768px){
  /* Nav */
  .nav-inner{padding:10px 16px}
  .nav-logo img{height:38px}
  /* Hero slider */
  .hero-slider{height:100svh;min-height:520px}
  .slide-content h1{font-size:1.8rem;line-height:1.2}
  .slide-content p{font-size:.9rem}
  /* Stats bar */
  .lt-grid{grid-template-columns:1fr 1fr;gap:20px}
  /* Logo ticker full width on mobile */
  .logo-ticker{padding:18px 0}
  .logo-track{gap:36px;animation-duration:28s}
  .logo-track img{height:46px}
  /* Sections */
  .section{padding:60px 0}
  .section-sm{padding:40px 0}
  .container{padding:0 16px}
  /* Split grids → single column */
  .split{grid-template-columns:1fr;gap:28px}
  .split-img img{height:260px}
  /* BM grid */
  .bm-grid{grid-template-columns:1fr;gap:16px}
  /* Cards */
  .cards-3{grid-template-columns:1fr;gap:14px}
  .cards-4{grid-template-columns:1fr 1fr;gap:12px}
  /* Process flow */
  .process-flow{flex-direction:column;gap:0}
  .pf-step{border-right:none;border-bottom:1px solid var(--cream-dk)}
  .pf-step:first-child{border-radius:var(--r) var(--r) 0 0}
  .pf-step:last-child{border-radius:0 0 var(--r) var(--r);border-bottom:none}
  .pf-arrow{display:none}
  /* Service detail grid */
  .svc-detail-grid{grid-template-columns:1fr 1fr;gap:12px}
  /* Map grid */
  .map-grid{grid-template-columns:1fr 1fr;gap:14px}
  /* Client logo grid */
  .client-logo-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .client-logo-tile{height:80px;padding:10px}
  /* Contact page */
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .contact-grid .map-col iframe{min-height:280px}
  .c-form{padding:20px 16px}
  .c-form h3{font-size:1.15rem;color:#1A0F08 !important}
  .f-grid{grid-template-columns:1fr}
  /* Footer contact grid → single column on mobile */
  .footer-col.footer-contact{grid-template-columns:1fr}
  .footer-col.footer-contact .footer-address-group,
  .footer-col.footer-contact .footer-contact-group{grid-column:1}
  .footer-bottom{flex-direction:column;gap:6px;text-align:center}
  /* Svc row on mobile */
  .svc-row,.svc-row-rev{grid-template-columns:1fr;gap:24px;padding:32px 0}
  .svc-row-rev .svc-img,.svc-row-rev .svc-body{order:unset}
  .svc-img img{height:220px}
  .svc-num{font-size:2.5rem}
  /* Page hero */
  .page-hero{padding:80px 0 48px}
  .page-hero h1{font-size:1.7rem}
  /* About tags */
  .about-tags{gap:6px}
  .about-tags span{font-size:.72rem;padding:4px 10px}
  /* Offices grid */
  .offices-grid{grid-template-columns:1fr 1fr;gap:12px}
}

@media(max-width:480px){
  .cards-4{grid-template-columns:1fr}
  .svc-detail-grid{grid-template-columns:1fr}
  .map-grid{grid-template-columns:1fr}
  .offices-grid{grid-template-columns:1fr}
  .lt-grid{grid-template-columns:1fr 1fr}
  .client-logo-grid{grid-template-columns:repeat(2,1fr)}
  .logo-track img{height:40px}
  .logo-track{gap:28px}
}

/* ── FOOTER: No logo, clean 2-column contact layout ─────────────────────────── */
.footer-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding:48px 0 32px;
  align-items:start;
}
.footer-section-addresses h5,
.footer-section-contact h5{
  font-size:.82rem;font-weight:700;color:#fff;
  margin-bottom:16px;text-transform:uppercase;letter-spacing:.1em;
  padding-bottom:8px;border-bottom:1px solid rgba(185,92,48,.25);
}
.footer-social-row{
  display:flex;gap:10px;margin-top:18px;
}
.footer-socials,.footer-brand{display:none !important}  /* hide old brand if present */
.footer-inner{display:none !important}                   /* hide old inner grid if present */

/* fc-item in new footer */
.footer-section-addresses .fc-item,
.footer-section-contact .fc-item{
  display:flex;align-items:flex-start;gap:9px;
  font-size:.81rem;line-height:1.6;margin-bottom:8px;color:rgba(255,255,255,.58);
}
.footer-section-addresses .fc-item svg,
.footer-section-contact .fc-item svg{flex-shrink:0;margin-top:2px;}
.footer-section-addresses .fc-item span{color:rgba(255,255,255,.58);}
.footer-section-contact .fc-item a{color:rgba(255,255,255,.58);transition:color .2s;}
.footer-section-contact .fc-item a:hover{color:var(--mustard);}

/* Mobile footer */
@media(max-width:600px){
  .footer-contact-grid{grid-template-columns:1fr;gap:28px;padding:36px 0 24px;}
}


/* ── FOOTER v16: 3-column layout ─────────────────────────────────────────────── */
.footer-main-grid{
  display:grid;
  grid-template-columns:1fr 1.6fr 1.2fr;
  gap:40px;
  padding:48px 0 32px;
  align-items:start;
}
.footer-logo-col{
  display:flex;flex-direction:column;align-items:flex-start;gap:20px;
}
.footer-logo{
  height:44px;width:auto;
  filter:brightness(0) invert(1) opacity(.85);
}
.footer-social-row{
  display:flex;gap:10px;
}
.footer-social-row .soc-btn{
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(185,92,48,.4);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);transition:all .2s;cursor:pointer;
}
.footer-social-row .soc-btn:hover{
  background:var(--terra);border-color:var(--terra);color:#fff;
}
/* Mobile footer */
@media(max-width:768px){
  .footer-main-grid{grid-template-columns:1fr;gap:28px;padding:36px 0 24px;}
  .footer-logo-col{align-items:flex-start;}
}

/* SLIDER: reduced title size for single-line */
.slide-content h1{
  font-family:var(--ff-d);
  font-size:clamp(1.4rem,2.6vw,2.4rem);
  font-weight:700;line-height:1.15;color:#fff;margin-bottom:20px;
}
.slide-content h1 em{font-style:italic;color:var(--mustard)}

/* CONTACT: Message title black */
.c-form h3{
  color:#1A0F08 !important;
  font-family:var(--ff-d);font-size:1.3rem;font-weight:700;margin-bottom:20px;
}

/* HOME TICKER: hidden until IndexedDB loaded */
#logo-ticker-wrap{display:none}

/* ── LOGO TICKER v17: INSTANT + BIGGER + SLOWER ─────────────────────────────── */
/* Override all previous logo-ticker/track rules */
.logo-ticker{
  background:#fff;
  border-top:1px solid rgba(185,92,48,.10);
  border-bottom:1px solid rgba(185,92,48,.10);
  padding:28px 0;
  overflow:hidden;
}
.ticker-mask{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.logo-track{
  display:flex;
  gap:60px;
  align-items:center;
  width:max-content;
  white-space:nowrap;
  animation:scrollLogos 90s linear infinite;  /* SLOW – 90 seconds */
  will-change:transform;
}
@media(hover:hover){
  .logo-track:hover{ animation-play-state:paused; }
}
.logo-track img{
  height:90px;           /* BIG – 90px */
  width:auto;
  max-width:200px;
  object-fit:contain;
  opacity:.88;
  flex-shrink:0;
  display:block;
  transition:opacity .2s;
}
.logo-track img:hover{ opacity:1; }
@keyframes scrollLogos{
  0%  { transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* Mobile sizes */
@media(max-width:768px){
  .logo-track{ gap:40px; animation-duration:70s; }
  .logo-track img{ height:70px; max-width:150px; }
  .logo-ticker{ padding:20px 0; }
}
@media(max-width:480px){
  .logo-track{ gap:30px; animation-duration:55s; }
  .logo-track img{ height:56px; max-width:120px; }
}

/* ── LOGO TICKER: reduce gap, bigger logos ─────────────────────────────────── */
.logo-track{gap:28px !important}
.logo-track img{height:110px !important;max-width:220px !important;opacity:.92 !important}
@media(max-width:768px){
  .logo-track{gap:18px !important}
  .logo-track img{height:80px !important;max-width:160px !important}
}
@media(max-width:480px){
  .logo-track{gap:14px !important}
  .logo-track img{height:64px !important;max-width:130px !important}
}

/* ═══════════════════════════════════════════════════════════════════════════════
   FOOTER — DEFINITIVE CLEAN RULES (v17d)
   Overrides ALL previous conflicting footer rules
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Reset any conflicting rules from older versions */
.footer-inner      { display: block !important; padding: 0 !important; }
.footer-brand      { display: block !important; }
.footer-contact-grid { display: block !important; }
.footer-col        { display: block !important; }

/* ── Main footer wrapper ──────────────────────────────────────────────────── */
.footer {
  background: #0a1f0a;
  color: rgba(255,255,255,.55);
  padding: 0;
}

/* ── 3-column grid (desktop) ─────────────────────────────────────────────── */
.footer-main-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.6fr 1.2fr !important;
  gap: 40px !important;
  padding: 52px 0 36px !important;
  align-items: start !important;
}

/* ── Logo column ─────────────────────────────────────────────────────────── */
.footer-logo-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 18px !important;
}
.footer-logo {
  height: 42px;
  width: auto;
  filter: brightness(0) invert(1) opacity(.8);
  display: block;
}
.footer-social-row {
  display: flex !important;
  gap: 10px !important;
}
.footer-social-row .soc-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(185,92,48,.4);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.6);
  transition: all .2s;
  text-decoration: none;
}
.footer-social-row .soc-btn:hover {
  background: var(--terra);
  border-color: var(--terra);
  color: #fff;
}

/* ── Offices & Contact columns ───────────────────────────────────────────── */
.footer-section-addresses,
.footer-section-contact {
  display: block !important;
}
.footer-section-addresses h5,
.footer-section-contact h5 {
  font-size: .8rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(185,92,48,.25);
  display: block;
}

/* ── fc-item rows (icon + text) ──────────────────────────────────────────── */
.fc-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  font-size: .81rem !important;
  line-height: 1.65 !important;
  margin-bottom: 10px !important;
  color: rgba(255,255,255,.55) !important;
}
.fc-item svg  { flex-shrink: 0; margin-top: 2px; }
.fc-item span { color: rgba(255,255,255,.55); }
.fc-item a    { color: rgba(255,255,255,.55); text-decoration: none; transition: color .2s; }
.fc-item a:hover { color: var(--mustard); }

/* ── Footer bottom bar ───────────────────────────────────────────────────── */
.footer-bottom {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 18px 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  font-size: .76rem !important;
  color: rgba(255,255,255,.35) !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* ═══════════════════════════
   MOBILE — single column stack
   ═══════════════════════════ */
@media (max-width: 900px) {
  .footer-main-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    padding: 40px 0 28px !important;
  }
  .footer-logo-col {
    grid-column: 1 / -1 !important; /* span full width on mobile */
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
}

@media (max-width: 600px) {
  .footer-main-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 32px 0 20px !important;
  }
  .footer-logo-col {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }
  .footer-section-addresses h5,
  .footer-section-contact h5 {
    margin-bottom: 12px !important;
  }
  .fc-item {
    font-size: .79rem !important;
    margin-bottom: 8px !important;
  }
  .footer-bottom {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   FINAL COMPLETE FOOTER FIX (v17e) — MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Logo: strict size control ──────────────────────────────────────────────── */
.footer .footer-logo-col img,
img.footer-logo {
  height: 44px !important;
  width: auto !important;
  max-width: 160px !important;
  min-width: unset !important;
  display: block !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) opacity(.85) !important;
}

/* ── Social icons: always horizontal row ────────────────────────────────────── */
.footer .footer-social-row,
.footer-social-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
.footer-social-row a.soc-btn,
.footer .soc-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(185,92,48,.45) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.6) !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
.footer-social-row a.soc-btn:hover {
  background: var(--terra) !important;
  border-color: var(--terra) !important;
  color: #fff !important;
}

/* ── DESKTOP: 3-column footer ───────────────────────────────────────────────── */
@media (min-width: 901px) {
  .footer-main-grid {
    display: grid !important;
    grid-template-columns: 160px 1fr 1fr !important;
    gap: 48px !important;
    padding: 52px 0 36px !important;
    align-items: start !important;
  }
  .footer-logo-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    grid-column: 1 !important;
  }
  .footer-section-addresses { grid-column: 2 !important; }
  .footer-section-contact   { grid-column: 3 !important; }
}

/* ── TABLET 600–900px: 2 columns, logo on top ───────────────────────────────── */
@media (min-width: 601px) and (max-width: 900px) {
  .footer-main-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    padding: 40px 0 28px !important;
  }
  .footer-logo-col {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
  }
  .footer-section-addresses { grid-column: 1 !important; }
  .footer-section-contact   { grid-column: 2 !important; }
}

/* ── MOBILE <600px: single column stack ─────────────────────────────────────── */
@media (max-width: 600px) {
  .footer-main-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding: 36px 0 24px !important;
  }
  .footer-logo-col {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
  }
  .footer-section-addresses,
  .footer-section-contact {
    width: 100% !important;
  }
  .footer-section-addresses h5,
  .footer-section-contact h5 {
    font-size: .8rem !important;
    margin-bottom: 12px !important;
  }
  .fc-item { font-size: .79rem !important; margin-bottom: 8px !important; }
  .footer-bottom {
    text-align: center !important;
    font-size: .72rem !important;
    padding: 16px 0 !important;
  }
}

/* ═══════════════════════════════════════════
   SLIDER TITLE: white text = same italic font
   ═══════════════════════════════════════════ */
.slide-content h1 {
  font-family: var(--ff-d) !important;
  font-style: italic !important;
  font-size: clamp(1.5rem, 2.8vw, 2.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #f19839 !important;
  margin-bottom: 18px !important;
}
.slide-content h1 em {
  font-style: italic !important;
  color: var(--mustard) !important;
}
/* Description: max 2 lines */
.slide-content p {
  font-size: .98rem !important;
  line-height: 1.65 !important;
  max-width: 520px !important;
  margin: 0 auto 28px !important;
  color: rgba(255,255,255,.82) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
@media (max-width: 600px) {
  .slide-content h1 { font-size: 1.55rem !important; }
  .slide-content p  { font-size: .88rem !important; max-width: 100% !important; }
}

/* ── CLIENT LOGO GRID: big logos matching home page ticker size ──────────────── */
.client-logo-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin-top: 44px !important;
}
.client-logo-tile {
  background: #fff !important;
  border: 1px solid rgba(185,92,48,.12) !important;
  border-radius: 12px !important;
  width: 100% !important;
  height: 160px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  transition: all .22s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  overflow: hidden !important;
}
.client-logo-tile:hover {
  border-color: var(--terra) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(185,92,48,.14) !important;
}
.client-logo-tile img {
  max-width: 100% !important;
  max-height: 110px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Tablet */
@media (max-width: 900px) {
  .client-logo-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; }
  .client-logo-tile { height: 140px !important; padding: 16px !important; }
  .client-logo-tile img { max-height: 90px !important; }
}
/* Mobile */
@media (max-width: 600px) {
  .client-logo-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .client-logo-tile { height: 110px !important; padding: 14px !important; }
  .client-logo-tile img { max-height: 70px !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FINAL LOGO SIZE FIXES
   ═══════════════════════════════════════════════════════════════════════════ */

/* HOME PAGE ticker: contained, not stretched */
.logo-track img {
  height: 86px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  opacity: .88 !important;
}
@media(max-width:768px){
  .logo-track img { height: 52px !important; max-width: 120px !important; }
  .logo-track { gap: 24px !important; }
}

/* CLIENT PAGE grid: contained logos with white card */
.client-logo-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  margin-top: 40px !important;
}
.client-logo-tile {
  background: #fff !important;
  border: 1px solid rgba(185,92,48,.12) !important;
  border-radius: 10px !important;
  height: 120px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.05) !important;
  transition: all .22s !important;
}
.client-logo-tile:hover {
  border-color: var(--terra) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 22px rgba(185,92,48,.12) !important;
}
.client-logo-tile img {
  max-width: 100% !important;
  max-height: 130px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Responsive client grid */
@media(max-width:900px){
  .client-logo-grid { grid-template-columns: repeat(3,1fr) !important; }
  .client-logo-tile { height: 100px !important; padding: 12px !important; }
}
@media(max-width:500px){
  .client-logo-grid { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
  .client-logo-tile { height: 84px !important; padding: 10px !important; }
  .client-logo-tile img { max-height: 55px !important; }
}
