/* ============================================
   LEASETIME — COMPANY PROFILE PAGE CSS
   Aligned with renting-solutions.css system
   Brand: #FAB702 | #ffffff | #0a0a0a
   Fonts: Syne (headings) + Inter (body)
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=Inter:wght@300;400;500&display=swap');

/* ---- CSS VARIABLES ---- */
:root {
    --gold:       #FAB702;
    --gold-dark:  #c99200;
    --gold-pale:  rgba(250, 183, 2, 0.10);
    --black:      #0a0a0a;
    --white:      #ffffff;
    --offwhite:   #f7f6f3;
    --grey-bg:    #f4f4f2;
    --grey-text:  #6b6b6b;
    --border:     #e2e2e2;
    /*--font-head:  'Syne', sans-serif;*/
    --font-body:  'Inter', sans-serif;
    --radius:     0px;
    --radius-sm:  0px;
    --transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- RESET & BASE ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--font-body);
    background: var(--offwhite);
    color: var(--black);
    overflow-x: hidden;
}

/* ---- CUSTOM SCROLLBAR ---- */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--grey-bg); }
::-webkit-scrollbar-thumb { background: var(--gold); }

/* ================================================
   KEYFRAMES
================================================ */
@keyframes cpFadeUp   { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes cpFadeIn   { from { opacity:0; } to { opacity:1; } }
@keyframes cpTagFade  { from { opacity:0; letter-spacing:.30em; } to { opacity:1; letter-spacing:.18em; } }
@keyframes cpLineGrow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes cpPulse    { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.5; transform:scale(.8); } }
@keyframes cpShimmer  { 0% { background-position:0% 50%; } 100% { background-position:200% 50%; } }
@keyframes cpBadgePop { 0% { transform:scale(.6); opacity:0; } 70% { transform:scale(1.08); } 100% { transform:scale(1); opacity:1; } }
@keyframes cpImgReveal{ from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0 0% 0 0); } }
@keyframes cpRotate   { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes cpScroll   { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes cpFloat    { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }

/* ================================================
   SCROLL-REVEAL
================================================ */
.cp-reveal {
    opacity:0; transform:translateY(32px);
    transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
}
.cp-reveal-left {
    opacity:0; transform:translateX(-32px);
    transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
}
.cp-reveal-right {
    opacity:0; transform:translateX(32px);
    transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
}
.cp-reveal.cp-visible,
.cp-reveal-left.cp-visible,
.cp-reveal-right.cp-visible { opacity:1; transform:none; }

/* ================================================
   HERO
================================================ */
.cp-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: url('../images/about.jpg') center/cover no-repeat;
}
.cp-hero-bg {
    position: absolute; inset: 0;
    background: linear-gradient(105deg, rgba(10,10,10,.97) 45%, rgba(10,10,10,.60) 100%);
    z-index: 0;
}
/* left gold bar */
.cp-hero::before {
    content: '';
    position: absolute; left:0; top:0; bottom:0; width:3px;
    background: linear-gradient(to bottom, transparent, var(--gold) 30%, #fffefa 70%, transparent);
    z-index: 2;
}
/* bottom gold line */
.cp-hero::after {
    content: '';
    position: absolute; bottom:0; left:0; right:0; height:2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    transform-origin: left; z-index: 2;
    animation: cpLineGrow 1.2s .8s ease both;
}
.cp-hero-content {
    position: relative; z-index: 2;
    width: 100%;
    padding: 160px 0 90px;
}
.cp-hero-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    margin-bottom: 22px;
    background: rgba(250,183,2,.09);
    border: 1px solid rgba(250,183,2,.22);
    padding: 6px 16px 6px 12px;
    animation: cpFadeIn .6s ease both;
}
.cp-hero-eyebrow::before {
    content: '';
    display: block; width:6px; height:6px; border-radius:50%;
    background: var(--gold); flex-shrink:0;
    animation: cpPulse 2s 1s ease infinite;
}
.cp-hero-eyebrow span {
    font-family: var(--font-body);
    font-size:11px; font-weight:500;
    letter-spacing:.18em; text-transform:uppercase;
    color: var(--gold); opacity:0;
    animation: cpTagFade .8s .4s ease forwards;
}
.cp-hero h1 {
    font-family: var(--font-head);
    font-size: clamp(36px,5.5vw,70px);
    font-weight:800; color:var(--white);
    line-height:1.05; letter-spacing:-.02em;
    margin:0 0 20px; max-width:740px;
    animation: cpFadeUp .9s .3s cubic-bezier(.22,1,.36,1) both;
}
.cp-hero h1 em {
    font-style: normal;
    background: linear-gradient(90deg,#FAB702,#ffd04a,#FAB702);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: cpShimmer 3s 1.5s linear infinite;
}
.cp-hero-desc {
    font-family: var(--font-body);
    font-size:15px; font-weight:300;
    color:rgba(255,255,255,.50);
    max-width:560px; line-height:1.8; margin:0 0 44px;
    opacity:0;
    animation: cpFadeUp .9s .55s cubic-bezier(.22,1,.36,1) forwards;
}
/* Hero stats bar */
.cp-hero-stats {
    display: flex; gap:0;
    border:1px solid rgba(255,255,255,.10);
    max-width:580px;
    opacity:0;
    animation: cpFadeUp .9s .70s cubic-bezier(.22,1,.36,1) forwards;
}
.cp-hero-stat {
    flex:1; padding:22px 20px; text-align:center;
    border-right:1px solid rgba(255,255,255,.10);
}
.cp-hero-stat:last-child { border-right:none; }
.cp-hero-stat-num {
    font-family: var(--font-head);
    font-size:30px; font-weight:800;
    color:var(--gold); display:block; line-height:1;
}
.cp-hero-stat-label {
    font-family: var(--font-body);
    font-size:10px; font-weight:400;
    color:rgba(255,255,255,.35);
    letter-spacing:.08em; text-transform:uppercase;
    margin-top:5px;
}

/* ================================================
   BREADCRUMB
================================================ */
.cp-breadcrumb {
    background:#111;
    border-top:1px solid rgba(255,255,255,.06);
    padding:14px 0;
}
.cp-breadcrumb-inner {
    display:flex; align-items:center; gap:8px;
    font-family:var(--font-body); font-size:12px;
    color:rgba(255,255,255,.35); letter-spacing:.04em;
}
.cp-breadcrumb-inner a { color:rgba(255,255,255,.35); text-decoration:none; transition:color .2s; }
.cp-breadcrumb-inner a:hover { color:var(--gold); }
.cp-breadcrumb-inner .bsep { color:var(--gold); font-size:10px; }
.cp-breadcrumb-inner .bcurrent { color:rgba(255,255,255,.65); }

/* ================================================
   SHARED SECTION HEADER
================================================ */
.cp-sec-header { margin-bottom:56px; }
.cp-sec-header.center { text-align:center; }

.cp-tag {
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-body); font-size:11px; font-weight:500;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold); margin-bottom:14px;
}
.cp-tag::before { content:''; display:block; width:24px; height:1px; background:var(--gold); }
.cp-sec-header.center .cp-tag { justify-content:center; }
.cp-sec-header.center .cp-tag::before { display:none; }
.cp-sec-header.center .cp-tag::after { content:''; display:block; width:24px; height:1px; background:var(--gold); }

.cp-sec-header h2 {
    font-family:var(--font-head);
    font-size:clamp(28px,3.5vw,44px); font-weight:800;
    color:var(--black); letter-spacing:-.02em; line-height:1.1;
    margin:0 0 16px;
}
.cp-sec-header h2 em { font-style:normal; color:var(--gold); }
.cp-sec-header.cp-dark h2 { color:var(--white); }
.cp-sec-header p {
    font-family:var(--font-body); font-size:15px; font-weight:300;
    color:var(--grey-text); line-height:1.85;
    max-width:620px; margin:0;
}
.cp-sec-header.center p { margin:0 auto; }
.cp-sec-header.cp-dark p { color:rgba(255,255,255,.45); }

/* ================================================
   ABOUT  (white bg — text LEFT, image RIGHT)
================================================ */
.cp-about {
    padding:80px 0;
    background:var(--white);
    overflow:hidden;
}
.cp-about-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:560px;
}
.cp-about-text {
    background:var(--offwhite);
    padding:80px 60px 80px 48px;
    display:flex; flex-direction:column; justify-content:center;
}
.cp-about-text p {
    font-family:var(--font-body); font-size:15px; font-weight:300;
    color:#444; line-height:1.95; margin:0 0 18px;
}
.cp-about-text p:last-child { margin:0; }
.cp-about-highlight {
    border-left:3px solid var(--gold);
    padding:20px 24px;
    background:rgba(250,183,2,.05);
    margin-top:8px;
}
.cp-about-highlight p {
    font-family:var(--font-head); font-size:15px; font-weight:600;
    color:var(--black); font-style:italic; margin:0; line-height:1.7;
}

.cp-about-img {
    position:relative; overflow:hidden;
    clip-path:polygon(6% 0%,100% 0%,100% 100%,0% 100%);
}
.cp-about-img.cp-visible img { animation:cpImgReveal 1.2s cubic-bezier(.77,0,.18,1) both; }
.cp-about-img img {
    width:100%; height:100%; min-height:560px; object-fit:cover; display:block;
    transition:transform .7s cubic-bezier(.25,.46,.45,.94), filter .6s ease;
}
.cp-about-img:hover img { transform:scale(1.06); filter:brightness(.85); }
.cp-about-img::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(to top,rgba(250,183,2,.25) 0%,rgba(250,183,2,.05) 50%,transparent 100%);
    opacity:0; transform:translateY(12px);
    transition:opacity .5s ease, transform .5s ease;
    z-index:1; pointer-events:none;
}
.cp-about-img:hover::before { opacity:1; transform:none; }
.cp-about-img-badge {
    position:absolute; bottom:32px; left:40px;
    background:var(--black); padding:20px 26px; min-width:170px;
    border-left:3px solid var(--gold);
    opacity:0; z-index:2;
}
.cp-about-img.cp-visible .cp-about-img-badge {
    animation:cpBadgePop .7s 1s cubic-bezier(.34,1.56,.64,1) forwards;
}
.cp-about-img-badge .badge-num {
    font-family:var(--font-head); font-size:40px; font-weight:800;
    color:var(--gold); line-height:1; display:block;
}
.cp-about-img-badge .badge-label {
    font-family:var(--font-body); font-size:11px; font-weight:400;
    color:rgba(255,255,255,.55); letter-spacing:.08em;
    text-transform:uppercase; margin-top:5px; display:block;
}

/* ================================================
   CAUSE — grey-bg
================================================ */
.cp-cause { padding:96px 0; background:var(--grey-bg); }
.cp-cause-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}
.cp-cause-cards { display:flex; flex-direction:column; gap:0; }
.cp-cause-card {
    display:flex; gap:20px; align-items:flex-start;
    padding:24px 0;
    border-bottom:1px solid var(--border);
    transition:var(--transition);
}
.cp-cause-card:last-child { border-bottom:none; }
.cp-cause-card:hover { padding-left:8px; }
.cp-cause-icon {
    width:48px; height:48px; flex-shrink:0;
    border:1.5px solid rgba(250,183,2,.35);
    display:flex; align-items:center; justify-content:center;
    font-size:1.3rem;
    transition:background .25s, border-color .25s;
}
.cp-cause-card:hover .cp-cause-icon { background:var(--gold); border-color:var(--gold); }
.cp-cause-card-title {
    font-family:var(--font-head); font-size:15px; font-weight:700;
    color:var(--black); margin-bottom:6px;
}
.cp-cause-card-text {
    font-family:var(--font-body); font-size:13px; font-weight:300;
    color:var(--grey-text); line-height:1.75; margin:0;
}
/* cause image side */
.cp-cause-img {
    position:relative; overflow:hidden;
}
.cp-cause-img img {
    width:100%; height:420px; object-fit:cover; display:block;
    transition:transform .7s ease;
}
.cp-cause-img:hover img { transform:scale(1.04); }
.cp-cause-img::after {
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(to top,rgba(10,10,10,.65) 0%,transparent 55%);
    pointer-events:none;
}
.cp-cause-overlay {
    position:absolute; bottom:0; left:0; right:0;
    padding:28px 32px; z-index:2;
}
.cp-cause-overlay p {
    font-family:var(--font-head); font-size:17px; font-weight:700;
    color:var(--white); line-height:1.4; margin:0;
}
.cp-cause-overlay p em { font-style:normal; color:var(--gold); }

/* ================================================
   SERVICES  — black bg, 4-col cards
================================================ */
.cp-services {
    background:var(--black);
    padding:96px 0;
    position:relative; overflow:hidden;
}
.cp-services-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border:1px solid rgba(255,255,255,.08);
}
.cp-service-card {
    padding:36px 28px;
    border-right:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    position:relative; overflow:hidden;
    transition:background .3s;
}
.cp-service-card:nth-child(4n) { border-right:none; }
.cp-service-card::after {
    content:''; position:absolute;
    bottom:0; left:0; width:0; height:3px;
    background:var(--gold);
    transition:width .35s ease;
}
.cp-service-card:hover { background:rgba(250,183,2,.06); }
.cp-service-card:hover::after { width:100%; }
.cp-service-icon {
    width:48px; height:48px;
    border:1.5px solid rgba(250,183,2,.35);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px; font-size:1.4rem;
    transition:background .25s, border-color .25s,
                transform .35s cubic-bezier(.34,1.56,.64,1);
}
.cp-service-card:hover .cp-service-icon {
    background:var(--gold); border-color:var(--gold);
    transform:rotate(6deg);
}
.cp-service-card h3 {
    font-family:var(--font-head); font-size:15px; font-weight:700;
    color:var(--white); margin:0 0 10px; line-height:1.3;
}
.cp-service-card p {
    font-family:var(--font-body); font-size:13px; font-weight:300;
    color:rgba(255,255,255,.45); line-height:1.75; margin:0;
}

/* ================================================
   TEAM  — white bg, step/card layout
================================================ */
.cp-team { padding:96px 0; background:var(--white); }
.cp-team-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border:1px solid var(--border);
}
.cp-team-card {
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    position:relative; overflow:hidden;
    transition:box-shadow .3s, transform .3s;
}
.cp-team-card:hover {
    transform:translateY(-4px);
    box-shadow:0 10px 28px rgba(0,0,0,.08);
    z-index:2;
}
.cp-team-card::after {
    content:''; position:absolute;
    bottom:0; left:0; width:0; height:3px;
    background:var(--gold);
    transition:width .35s ease;
}
.cp-team-card:hover::after { width:100%; }
.cp-team-card:nth-child(3n) { border-right:none; }

.cp-team-card-top {
    background:var(--black);
    padding:32px 28px 24px;
    position:relative; overflow:hidden;
}
.cp-team-card-top::before {
    content:'';
    position:absolute; top:-30px; right:-30px;
    width:100px; height:100px;
    background:rgba(250,183,2,.07);
    border-radius:50%;
}
.cp-team-avatar {
    width:60px; height:60px;
    background:var(--gold);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-head); font-size:20px; font-weight:800;
    color:var(--black); margin-bottom:14px;
    border:2px solid rgba(250,183,2,.35);
}
.cp-team-name {
    font-family:var(--font-head); font-size:17px; font-weight:700;
    color:var(--white); margin-bottom:3px;
}
.cp-team-role {
    font-family:var(--font-body); font-size:10px; font-weight:500;
    text-transform:uppercase; letter-spacing:.12em; color:var(--gold);
}
.cp-team-card-body { padding:24px 28px; }
.cp-team-bio {
    font-family:var(--font-body); font-size:13px; font-weight:300;
    color:var(--grey-text); line-height:1.75; margin-bottom:16px;
}
.cp-team-tags { display:flex; gap:8px; flex-wrap:wrap; }
.cp-team-tag {
    background:var(--offwhite); color:var(--black);
    font-family:var(--font-body); font-size:10px; font-weight:500;
    padding:4px 10px; text-transform:uppercase; letter-spacing:.06em;
    border:1px solid var(--border);
}

/* CEO — full-width featured row */
.cp-team-card.cp-ceo {
    grid-column:span 3;
    display:grid; grid-template-columns:auto 1fr;
}
.cp-team-card.cp-ceo .cp-team-card-top {
    padding:48px 40px;
    display:flex; flex-direction:column; justify-content:center;
    min-width:280px;
}
.cp-team-card.cp-ceo .cp-team-avatar { width:80px; height:80px; font-size:26px; }
.cp-team-card.cp-ceo .cp-team-card-body {
    padding:40px; display:flex; flex-direction:column; justify-content:center;
}
.cp-team-card.cp-ceo .cp-team-bio { font-size:15px; line-height:1.9; }
.cp-ceo-badge {
    position:absolute; top:20px; right:20px;
    background:var(--gold); color:var(--black);
    font-family:var(--font-body); font-size:9px; font-weight:700;
    letter-spacing:.15em; text-transform:uppercase;
    padding:4px 12px;
}

/* ================================================
   MISSION / VISION  — black bg
================================================ */
.cp-mv {
    background:var(--black);
    padding:96px 0;
    position:relative; overflow:hidden;
}
.cp-mv-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border:1px solid rgba(255,255,255,.08);
}
.cp-mv-card {
    padding:60px 52px;
    border-right:1px solid rgba(255,255,255,.08);
    position:relative; overflow:hidden;
}
.cp-client-card {
    width: 220px;
    height: 120px;
    background: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    margin: 0 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.client-logo {
    max-width: 100%;
    max-height: 80px;
    object-fit: contain;
}
.cp-mv-card:last-child { border-right:none; }
.cp-mv-card::before {
    content:''; position:absolute;
    top:0; left:0; right:0; height:3px;
    background:var(--gold);
    transform:scaleX(0); transform-origin:left;
    transition:transform .5s ease;
}
.cp-mv-card:hover::before { transform:scaleX(1); }
.cp-mv-card-icon { font-size:2.4rem; margin-bottom:20px; display:block; line-height:1; }
.cp-mv-tag {
    font-family:var(--font-body); font-size:10px; font-weight:500;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--gold); margin-bottom:12px; display:block;
}
.cp-mv-card h3 {
    font-family:var(--font-head); font-size:clamp(20px,2.2vw,28px); font-weight:800;
    color:var(--white); letter-spacing:-.01em; margin:0 0 18px; line-height:1.2;
}
.cp-mv-card p {
    font-family:var(--font-body); font-size:14px; font-weight:300;
    color:rgba(255,255,255,.50); line-height:1.9; margin:0;
}
.cp-mv-deco {
    position:absolute; bottom:-40px; right:-20px;
    font-family:var(--font-head); font-size:130px; font-weight:800;
    color:rgba(255,255,255,.03); line-height:1;
    pointer-events:none; user-select:none;
}

/* ================================================
   PROJECTS  — grey-bg + table
================================================ */
.cp-projects { padding:96px 0; background:var(--grey-bg); }
.cp-projects-summary {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border:1px solid var(--border);
    margin-bottom:48px;
}
.cp-proj-stat {
    padding:32px 28px; text-align:center;
    background:var(--white);
    border-right:1px solid var(--border);
    position:relative; overflow:hidden;
}
.cp-proj-stat::after {
    content:''; position:absolute;
    bottom:0; left:0; right:0; height:3px;
    background:var(--gold);
    transform:scaleX(0); transform-origin:left;
    transition:transform .35s ease;
}
.cp-proj-stat:hover::after { transform:scaleX(1); }
.cp-proj-stat:last-child { border-right:none; }
.cp-proj-stat-num {
    font-family:var(--font-head); font-size:40px; font-weight:800;
    color:var(--gold); display:block; line-height:1; margin-bottom:6px;
}
.cp-proj-stat-label {
    font-family:var(--font-body); font-size:11px; font-weight:400;
    color:var(--grey-text); text-transform:uppercase; letter-spacing:.08em;
}
/* Table */
.cp-table-wrap {
    background:var(--white);
    border:1px solid var(--border);
    overflow-x:auto;
}
.cp-table {
    width:100%; border-collapse:collapse;
    font-family:var(--font-body); font-size:13px;
}
.cp-table thead { background:var(--black); }
.cp-table th {
    padding:16px 18px; text-align:left;
    font-family:var(--font-body); font-size:10px; font-weight:500;
    text-transform:uppercase; letter-spacing:.10em;
    color:var(--gold); border-right:1px solid rgba(255,255,255,.07);
}
.cp-table th:last-child { border-right:none; }
.cp-table td {
    padding:14px 18px;
    border-bottom:1px solid var(--border);
    border-right:1px solid rgba(0,0,0,.04);
    color:var(--black); font-weight:300;
}
.cp-table td:last-child { border-right:none; }
.cp-table tbody tr { transition:background .2s; }
.cp-table tbody tr:hover { background:rgba(250,183,2,.04); }
.cp-table tbody tr:last-child td { border-bottom:none; }
.cp-table .cp-total-row { background:var(--offwhite); }
.cp-table .cp-total-row td { font-weight:700; color:var(--black); }

.cp-type-badge {
    display:inline-block;
    padding:2px 10px;
    font-family:var(--font-body); font-size:10px; font-weight:500;
    text-transform:uppercase; letter-spacing:.06em;
}
.cp-type-badge.warehouse { background:rgba(250,183,2,.12); color:#7a5c00; }
.cp-type-badge.cold      { background:rgba(41,182,246,.12); color:#0277BD; }
.cp-type-badge.silos     { background:rgba(180,50,30,.10); color:#a03020; }
.cp-bts { color:#a03020; font-weight:600; }
.cp-rtm { color:var(--gold-dark); font-weight:600; }

/* ================================================
   CLIENTS  — white bg scrolling strip
================================================ */
.cp-clients { padding:80px 0; background:var(--white); overflow:hidden; }
.cp-clients-track-wrap {
    position:relative; overflow:hidden;
}
.cp-clients-track-wrap::before,
.cp-clients-track-wrap::after {
    content:''; position:absolute; top:0; bottom:0;
    width:120px; z-index:2; pointer-events:none;
}
.cp-clients-track-wrap::before { left:0; background:linear-gradient(to right,var(--white),transparent); }
.cp-clients-track-wrap::after  { right:0; background:linear-gradient(to left,var(--white),transparent); }
.cp-clients-track {
    display:flex; gap:0;
    animation:cpScroll 28s linear infinite;
    width:max-content;
}
.cp-clients-track:hover { animation-play-state:paused; }
.cp-client-card {
    padding:22px 36px;
    border-right:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    min-width:160px; height:80px; flex-shrink:0;
    transition:background .25s;
}
.cp-client-card:hover { background:var(--offwhite); }
.cp-client-card span {
    font-family:var(--font-head); font-size:14px; font-weight:700;
    color:var(--black); white-space:nowrap;
    transition:color .25s;
}
.cp-client-card:hover span { color:var(--gold-dark); }

/* ================================================
   CTA STRIP  — gold bg
================================================ */
.cp-cta { background:var(--gold); padding:72px 0; }
.cp-cta-inner {
    display:flex; align-items:center;
    justify-content:space-between; gap:40px;
}
.cp-cta-text h2 {
    font-family:var(--font-head);
    font-size:clamp(22px,3vw,36px); font-weight:800;
    color:var(--black); letter-spacing:-.02em;
    margin:0 0 8px; line-height:1.15;
}
.cp-cta-contacts {
    display:flex; gap:24px; flex-wrap:wrap;
    margin-top:16px;
}
.cp-cta-contact {
    display:flex; align-items:center; gap:10px;
    font-family:var(--font-body); font-size:13px;
    color:var(--black); text-decoration:none;
    padding:10px 18px;
    border:1.5px solid rgba(10,10,10,.20);
    transition:var(--transition);
}
.cp-cta-contact:hover { background:var(--black); color:var(--white); border-color:var(--black); }
.cp-cta-contact-icon { font-size:15px; }
.cp-cta-contact-val { font-weight:500; }
.cp-cta-btns {
    display:flex; gap:14px; flex-shrink:0;
}
.cp-btn-dark {
    display:inline-block; background:var(--black); color:var(--white);
    font-family:var(--font-body); font-size:13px; font-weight:500;
    letter-spacing:.06em; text-transform:uppercase;
    padding:16px 36px; text-decoration:none;
    transition:background .2s, transform .2s, box-shadow .2s;
}
.cp-btn-dark:hover {
    background:#1f1f1f; color:var(--white); text-decoration:none;
    transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.cp-btn-ghost {
    display:inline-block; background:transparent; color:var(--black);
    border:1.5px solid var(--black);
    font-family:var(--font-body); font-size:13px; font-weight:500;
    letter-spacing:.06em; text-transform:uppercase;
    padding:15px 36px; text-decoration:none;
    transition:background .2s, color .2s, transform .2s;
}
.cp-btn-ghost:hover {
    background:var(--black); color:var(--white);
    text-decoration:none; transform:translateY(-2px);
}

/* ================================================
   RESPONSIVE
================================================ */
@media (max-width:1100px) {
    .cp-services-grid { grid-template-columns:repeat(2,1fr); }
    .cp-service-card:nth-child(4n) { border-right:1px solid rgba(255,255,255,.08); }
    .cp-service-card:nth-child(2n) { border-right:none; }
    .cp-team-grid { grid-template-columns:repeat(2,1fr); }
    .cp-team-card.cp-ceo { grid-column:span 2; }
    .cp-team-card:nth-child(3n) { border-right:1px solid var(--border); }
    .cp-team-card:nth-child(2n) { border-right:none; }
}
@media (max-width:991px) {
    .cp-about-grid    { grid-template-columns:1fr; }
    .cp-about-img     { clip-path:none; min-height:320px; }
    .cp-cause-grid    { grid-template-columns:1fr; }
    .cp-mv-grid       { grid-template-columns:1fr; }
    .cp-mv-card       { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); }
    .cp-mv-card:last-child { border-bottom:none; }
    .cp-cta-inner     { flex-direction:column; text-align:center; align-items:center; }
    .cp-cta-contacts  { justify-content:center; }
    .cp-cta-btns      { justify-content:center; }
    .cp-team-card.cp-ceo { grid-template-columns:1fr; }
    .cp-team-card.cp-ceo .cp-team-card-top { min-width:auto; }
}
@media (max-width:767px) {
    .cp-hero { min-height:380px; }
    .cp-about, .cp-cause, .cp-services, .cp-team,
    .cp-mv, .cp-projects, .cp-clients, .cp-cta { padding:64px 0; }
    .cp-services-grid { grid-template-columns:1fr; }
    .cp-service-card  { border-right:none; }
    .cp-team-grid     { grid-template-columns:1fr; }
    .cp-team-card     { border-right:none; }
    .cp-team-card.cp-ceo { grid-column:span 1; }
    .cp-projects-summary { grid-template-columns:1fr; }
    .cp-proj-stat     { border-right:none; border-bottom:1px solid var(--border); }
    .cp-proj-stat:last-child { border-bottom:none; }
    .cp-about-text    { padding:40px 24px; }
    .cp-hero-stats    { flex-direction:column; gap:0; max-width:100%; }
    .cp-hero-stat     { border-right:none; border-bottom:1px solid rgba(255,255,255,.10); }
    .cp-hero-stat:last-child { border-bottom:none; }
    .cp-table { font-size:11px; }
    .cp-table th, .cp-table td { padding:10px 10px; }
}
@media (prefers-reduced-motion:reduce) {
    .cp-reveal, .cp-reveal-left, .cp-reveal-right {
        opacity:1; transform:none; transition:none;
    }
    .cp-hero h1, .cp-hero-desc, .cp-hero-eyebrow,
    .cp-hero-eyebrow span, .cp-hero::after { animation:none; opacity:1; }
    .cp-hero h1 em { animation:none; -webkit-text-fill-color:var(--gold); color:var(--gold); }
    .cp-about-img.cp-visible img,
    .cp-about-img.cp-visible .cp-about-img-badge { animation:none; opacity:1; clip-path:none; }
}