/* ============================================
   NEW QUADRANT PARTNERS — Main Stylesheet
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#1a1020;
  --purple:#3d2f6e;
  --purple-mid:#5a4490;
  --purple-light:#8b75c5;
  --purple-pale:#ede9f8;
  --purple-faint:#f7f5fd;
  --accent:#8b75c5;
  --muted:#6b6480;
  --dim:#9991aa;
  --border:rgba(61,47,110,0.11);
  --border-mid:rgba(61,47,110,0.18);
  --white:#fefcff;
  --warm:#f9f7fc;
  --dk:#16131e;
  --dk-raised:#1e1a2a;
  --dk-border:rgba(139,117,197,0.14);
  --dk-text:#f0edf8;
  --dk-muted:#a099b8;
  --dk-dim:#6b6480;
  --dk-accent:#8b75c5;
  --nav-h:68px;
}

html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--white);color:var(--ink);font-weight:300;overflow-x:hidden}

/* ── NAV ── */
#main-nav{width:100%;background:rgba(254,252,255,0.97);backdrop-filter:blur(12px);border-bottom:0.5px solid var(--border);position:fixed;top:0;z-index:200;transition:box-shadow 0.3s,border-color 0.3s}
#main-nav.scrolled{box-shadow:0 4px 32px rgba(61,47,110,0.07);border-bottom-color:var(--border-mid)}
.nav-inner{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 4rem;height:var(--nav-h);width:100%}

.nav-logo{display:flex;align-items:center;gap:0.9rem;text-decoration:none;cursor:pointer}
.logo-mark{flex-shrink:0}
.logo-wordmark{display:flex;flex-direction:column;justify-content:center}
.nq-main{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;letter-spacing:0.02em;color:var(--purple);line-height:1.15}
.nq-sub{font-family:'Jost',sans-serif;font-size:0.52rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);font-weight:300;margin-top:1px}

.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.68rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s,border-color 0.2s;padding-bottom:2px;border-bottom:1px solid transparent}
.nav-links a:hover{color:var(--purple)}
.nav-links a.active{color:var(--purple);border-bottom-color:var(--purple-light)}

.nav-cta{font-size:0.68rem;letter-spacing:0.13em;text-transform:uppercase;border:0.5px solid var(--purple);padding:0.55rem 1.4rem;background:transparent;color:var(--purple);cursor:pointer;transition:all 0.2s;font-family:'Jost',sans-serif;font-weight:400;text-decoration:none}
.nav-cta:hover{background:var(--purple);color:#fff}

.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;background:none;border:none;padding:4px}
.nav-hamburger span{display:block;height:1px;background:var(--purple);transition:all 0.25s;transform-origin:center}
.nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-nav{position:fixed;top:var(--nav-h);left:0;right:0;z-index:190;background:rgba(254,252,255,0.99);backdrop-filter:blur(16px);border-bottom:0.5px solid var(--border);padding:0;max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.3s ease}
.mobile-nav.open{max-height:480px;padding:1.5rem 0}
.mobile-nav a{display:block;font-size:0.75rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:0.85rem 2rem;border-bottom:0.5px solid var(--border);transition:all 0.2s}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--purple);background:var(--purple-faint)}
.mobile-nav .mobile-cta{display:block;margin:1.5rem 2rem 0;padding:0.85rem 1.5rem;background:var(--purple);color:#fff;text-align:center;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none}

.page-content{padding-top:var(--nav-h)}

/* ── NAV SEARCH ── */
.nav-search{position:relative;display:flex;align-items:center}
.nav-search-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:0.4rem;display:flex;align-items:center;transition:color 0.2s}
.nav-search-btn:hover{color:var(--purple)}
.nav-search-box{position:absolute;right:0;top:calc(100% + 12px);width:320px;background:var(--white);border:0.5px solid var(--border-mid);box-shadow:0 8px 32px rgba(61,47,110,0.1);display:none;z-index:400}
.nav-search-box.open{display:block}
.nav-search-input{width:100%;padding:0.85rem 1rem;border:none;border-bottom:0.5px solid var(--border);font-family:'Jost',sans-serif;font-size:0.84rem;font-weight:300;color:var(--ink);outline:none;background:transparent}
.nav-search-input::placeholder{color:var(--dim)}
.nav-search-results{max-height:360px;overflow-y:auto}
.search-result{display:block;padding:0.85rem 1rem;border-bottom:0.5px solid var(--border);text-decoration:none;transition:background 0.18s}
.search-result:last-child{border-bottom:none}
.search-result:hover{background:var(--purple-faint)}
.search-result-tag{font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--purple-light);margin-bottom:0.25rem}
.search-result-title{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;color:var(--ink);line-height:1.3}
.search-result-excerpt{font-size:0.75rem;color:var(--muted);font-weight:300;margin-top:0.25rem;line-height:1.5}
.search-no-results{padding:1rem;font-size:0.82rem;color:var(--muted);text-align:center}

/* ── SHARED COMPONENTS ── */
.eyebrow{font-size:0.66rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple-light);display:flex;align-items:center;gap:1rem}
.eyebrow::before{content:'';display:block;width:2rem;height:0.5px;background:var(--purple-light)}

.btn-primary{font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;background:var(--purple);color:#fff;border:none;padding:0.9rem 2.2rem;cursor:pointer;transition:all 0.22s;font-weight:400;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--purple-mid)}

.btn-ghost{font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;background:transparent;color:var(--muted);border:none;padding:0;cursor:pointer;transition:color 0.2s;font-weight:300;display:inline-flex;align-items:center;gap:0.5rem;text-decoration:none}
.btn-ghost:hover{color:var(--purple)}
.btn-ghost::after{content:'→';font-size:1rem}

.btn-outline-dk{font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;border:0.5px solid rgba(139,117,197,0.3);padding:0.85rem 2rem;background:transparent;color:var(--dk-text);cursor:pointer;transition:all 0.22s;font-weight:300;text-decoration:none;display:inline-block}
.btn-outline-dk:hover{border-color:var(--dk-accent);color:var(--dk-accent)}

.section{padding:6rem 3rem;background:var(--white)}
.section-sm{padding:4rem 3rem;background:var(--white)}

.sec-header{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:4rem;align-items:end}
.sec-eyebrow{font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple-light);display:flex;align-items:center;gap:1rem}
.sec-eyebrow::before{content:'';display:block;width:2rem;height:0.5px;background:var(--purple-light)}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:300;line-height:1.15;color:var(--ink)}
.sec-title em{font-style:italic;color:var(--purple-mid)}

/* ── TICKER ── */
.ticker{overflow:hidden;padding:0.85rem 0;background:var(--purple-pale);border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border)}
.ticker-inner{display:flex;gap:3.5rem;animation:tick 35s linear infinite;white-space:nowrap}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-item{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--purple-mid);flex-shrink:0;display:flex;align-items:center;gap:1.5rem}
.ticker-dot{width:3px;height:3px;border-radius:50%;background:var(--purple-light);flex-shrink:0}

/* ── HERO ── */
.hero{min-height:calc(100vh - var(--nav-h));display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem 3rem;border-right:0.5px solid var(--border)}
.hero-eyebrow{font-size:0.67rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple-light);display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.hero-eyebrow::before{content:'';display:block;width:2.5rem;height:0.5px;background:var(--purple-light)}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,4.5vw,4.4rem);font-weight:300;line-height:1.06;margin-bottom:2rem;color:var(--ink)}
.hero-title em{font-style:italic;color:var(--purple-mid)}
.hero-body{font-size:0.93rem;line-height:1.88;color:var(--muted);max-width:40ch;margin-bottom:3rem;font-weight:300}
.hero-actions{display:flex;gap:1.2rem;align-items:center}

.hero-right{position:relative;overflow:hidden;background:var(--purple)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(61,47,110,0.5) 0%,rgba(61,47,110,0.2) 100%);z-index:2}

.hero-stat-block{position:absolute;bottom:2.5rem;left:2rem;right:2rem;display:grid;grid-template-columns:1fr 1fr;z-index:4;border:0.5px solid rgba(255,255,255,0.15);border-radius:2px}
.stat-cell{background:rgba(22,19,30,0.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:1.4rem 1.8rem;border-right:0.5px solid rgba(255,255,255,0.1);border-bottom:0.5px solid rgba(255,255,255,0.1)}
.stat-cell:nth-child(even){border-right:none}
.stat-cell:nth-child(3),.stat-cell:nth-child(4){border-bottom:none}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;line-height:1;margin-bottom:0.3rem;color:#fff}
.stat-label{font-size:0.63rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.55)}

/* ── SERVICES ── */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:0.5px solid var(--border)}
.svc{padding:2.5rem 2rem;border-right:0.5px solid var(--border);transition:background 0.25s;cursor:pointer}
.svc:last-child{border-right:none}
.svc:hover{background:var(--purple-faint)}
.svc-num{font-family:'Cormorant Garamond',serif;font-size:0.85rem;color:var(--purple-light);margin-bottom:0.8rem;font-style:italic}
.svc-name{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:400;margin-bottom:1rem;color:var(--ink)}
.svc-desc{font-size:0.8rem;line-height:1.8;color:var(--muted);font-weight:300;margin-bottom:1.8rem}
.svc-link{font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--purple-mid);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;transition:gap 0.2s}
.svc:hover .svc-link{gap:0.9rem}
.svc-link::after{content:'→'}

/* ── CREDENTIALS ── */
.credentials-strip{background:var(--purple-faint);border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);padding:3rem}
.creds-inner{display:grid;grid-template-columns:1fr 3fr;gap:4rem;align-items:start}
.creds-label{font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple-light);display:flex;align-items:center;gap:1rem;padding-top:0.25rem}
.creds-label::before{content:'';display:block;width:2rem;height:0.5px;background:var(--purple-light)}
.creds-logos{display:flex;flex-wrap:wrap;gap:0;border:0.5px solid var(--border)}
.cred-item{padding:1.2rem 2rem;border-right:0.5px solid var(--border);display:flex;flex-direction:column;gap:0.3rem;flex:1;min-width:160px}
.cred-item:last-child{border-right:none}
.cred-org{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:500;color:var(--purple);letter-spacing:0.02em}
.cred-detail{font-size:0.68rem;letter-spacing:0.06em;color:var(--muted);font-weight:300}

/* ── CASE STUDIES ── */
.case-studies{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.case-card{background:var(--white);padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background 0.22s}
.case-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--purple-light);transition:height 0.3s}
.case-card:hover{background:var(--purple-faint)}
.case-card:hover::before{height:100%}
.case-tag{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple-light);margin-bottom:0.9rem}
.case-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:0.75rem}
.case-body{font-size:0.78rem;line-height:1.78;color:var(--muted);font-weight:300;margin-bottom:1.2rem}
.case-outcome{display:flex;align-items:center;gap:0.6rem;font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--purple-mid)}
.case-outcome::before{content:'';display:block;width:1.2rem;height:1px;background:var(--purple-light)}

/* ── ABOUT DARK STRIP ── */
.about-strip{width:100%;background:var(--dk);color:var(--dk-text);display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;box-sizing:border-box}
.about-left{padding:6rem 4rem 6rem 3rem;border-right:0.5px solid var(--dk-border);position:relative;z-index:1}
.about-eyebrow{font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--dk-accent);display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.about-eyebrow::before{content:'';display:block;width:2rem;height:0.5px;background:var(--dk-accent)}
.about-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.2vw,3rem);font-weight:300;line-height:1.1;color:var(--dk-text);margin-bottom:1.5rem}
.about-title em{font-style:italic;color:var(--dk-accent)}
.about-body{font-size:0.88rem;line-height:1.9;color:var(--dk-muted);font-weight:300;margin-bottom:2.5rem;max-width:42ch}
.about-right{padding:5rem 3rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.accolade-row{padding:1.3rem 0;border-bottom:0.5px solid rgba(139,117,197,0.1);display:flex;align-items:center;gap:2rem}
.accolade-row:first-child{border-top:0.5px solid rgba(139,117,197,0.1)}
.accolade-org{font-size:0.63rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--dk-accent);min-width:9rem;flex-shrink:0;opacity:0.8}
.accolade-text{font-family:'Cormorant Garamond',serif;font-size:0.95rem;font-weight:300;color:var(--dk-muted);font-style:italic}

/* ── NEWS CARDS (homepage) ── */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border);margin-top:3rem}
.news-card{background:var(--white);padding:2.5rem 2rem;transition:background 0.2s;cursor:pointer;text-decoration:none;display:block;color:inherit}
.news-card:hover{background:var(--purple-faint)}
.news-tag{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--purple-light);margin-bottom:1rem}
.news-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:0.75rem}
.news-date{font-size:0.7rem;color:var(--muted)}
.news-arrow{margin-top:1.5rem;font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:0.5rem;transition:color 0.2s,gap 0.2s}
.news-card:hover .news-arrow{color:var(--purple-mid);gap:0.9rem}
.news-arrow::after{content:'→'}

/* ── CTA STRIP ── */
.cta-strip{width:100%;background:var(--dk);padding:0;position:relative;overflow:hidden;box-sizing:border-box}
.cta-strip-inner{max-width:1600px;margin:0 auto;padding:6rem 4rem;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;position:relative;z-index:1}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.8vw,3.3rem);font-weight:300;line-height:1.1;max-width:22ch;color:var(--dk-text)}
.cta-title em{font-style:italic;color:var(--dk-accent)}

/* ── PAGE HERO (inner pages) ── */
.page-hero{background:var(--white);color:var(--ink);border-bottom:0.5px solid var(--border);position:relative;overflow:hidden;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;padding:4rem 3rem 3.5rem}
.page-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--purple)}
.ph-eyebrow{font-size:0.66rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple-light);display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.ph-eyebrow::before{content:'';display:block;width:2rem;height:0.5px;background:var(--purple-light)}
.ph-title{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:1.08;color:var(--ink);font-size:clamp(2.2rem,4vw,3.4rem)}
.ph-title em{font-style:italic;color:var(--purple-mid)}
.ph-sub{font-size:0.88rem;line-height:1.85;color:var(--muted);max-width:52ch;margin-top:1rem;font-weight:300}

/* ── PILLARS (expertise) ── */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}
.pillar{background:var(--white);padding:3rem 2.5rem;transition:background 0.22s;cursor:pointer;position:relative;overflow:hidden}
.pillar:hover{background:var(--purple-faint)}
.pillar-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:3.5rem;font-weight:300;line-height:1;position:absolute;top:2rem;right:2rem;color:var(--purple-pale)}
.pillar-title{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;margin-bottom:1rem;color:var(--ink)}
.pillar-body{font-size:0.83rem;line-height:1.8;color:var(--muted);font-weight:300;margin-bottom:1.5rem;max-width:44ch}
.tags{display:flex;flex-wrap:wrap;gap:0.5rem}
.tag{font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;border:0.5px solid var(--border);padding:0.3rem 0.75rem;color:var(--purple-mid);background:var(--purple-faint)}

/* ── TEAM GRID ── */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.team-card{background:var(--white);overflow:hidden;transition:background 0.22s}
.team-card:hover{background:var(--purple-faint)}
.team-avatar{aspect-ratio:1/1;background:var(--purple-faint);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.team-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;position:absolute;inset:0;z-index:2}
.team-initials{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--purple-mid);position:relative;z-index:1;letter-spacing:0.05em;opacity:0.2}
.team-info{padding:1.8rem}
.team-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;color:var(--ink);margin-bottom:0.3rem}
.team-role{font-size:0.67rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--purple-light);margin-bottom:0.8rem}
.team-bio{font-size:0.78rem;line-height:1.75;color:var(--muted);font-weight:300}

/* ── PEOPLE GRID (our-people page) ── */
.people-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px}
.dept-section{margin-bottom:4rem;padding:0 3rem}
.dept-header{display:flex;align-items:baseline;gap:1.5rem;padding:2rem 0 1rem}
.dept-name{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--ink)}
.dept-count{font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--purple-light)}

/* ── PERSON / LEADER AVATARS ── */
.person-avatar{width:100%;aspect-ratio:1/1;background:var(--purple-faint);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.person-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:2}
.person-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--purple-mid);opacity:0.4;position:relative;z-index:1}

.leader-avatar{width:100%;aspect-ratio:1/1;background:var(--purple-faint);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.leader-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:2}
.leader-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;color:var(--purple-mid);opacity:0.4;position:relative;z-index:1}

/* ── TEAM CAROUSEL ── */
.team-carousel-section{background:var(--white);border-top:0.5px solid var(--border)}
.team-carousel-section .sec-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4rem 3rem 2rem;grid-template-columns:unset;gap:0.5rem}
.team-carousel-section .sec-eyebrow{margin-bottom:0.75rem}
.team-carousel-section .sec-eyebrow::before{display:none}
.tc-outer{position:relative;display:flex;align-items:center}
.tc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:var(--white);border:0.5px solid var(--border-mid);color:var(--purple);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all 0.2s;flex-shrink:0}
.tc-arrow:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
.tc-arrow-left{left:0.75rem}
.tc-arrow-right{right:0.75rem}
.tc-arrow:disabled{opacity:0.25;pointer-events:none}
.team-carousel-wrap{overflow-x:auto;padding:0 3rem 1rem;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;flex:1}
.team-carousel-wrap:active{cursor:grabbing}
.tc-progress-wrap{margin:0 3rem 0;height:2px;background:var(--border);position:relative}
.tc-progress-bar{height:100%;background:var(--purple-light);width:0%;transition:width 0.15s ease}
.team-carousel-wrap::-webkit-scrollbar{display:none}
.team-carousel{display:flex;gap:1px;width:max-content}
.tc-card{width:160px;flex-shrink:0;background:var(--white);text-decoration:none;color:inherit;transition:background 0.2s;display:block;border:0.5px solid var(--border)}
.tc-card:hover{background:var(--purple-faint)}
.tc-photo{width:160px;height:160px;background:var(--purple-faint);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.tc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.tc-initials{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--purple-mid);opacity:0.35}
.tc-info{padding:0.8rem 0.9rem}
.tc-name{font-family:'Cormorant Garamond',serif;font-size:0.88rem;font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:0.2rem}
.tc-role{font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--purple-light)}

/* ── NEWS PAGE ── */
.news-featured{display:grid;grid-template-columns:3fr 2fr;border-bottom:0.5px solid var(--border);background:var(--white)}
.nf-main{padding:4rem 3rem;border-right:0.5px solid var(--border);cursor:pointer;transition:background 0.2s;text-decoration:none;color:inherit;display:block}
.nf-main:hover{background:var(--purple-faint)}
.nf-tag{font-size:0.63rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--purple-light);margin-bottom:1rem}
.nf-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:300;line-height:1.2;color:var(--ink);margin-bottom:1rem;max-width:28ch}
.nf-excerpt{font-size:0.86rem;line-height:1.85;color:var(--muted);font-weight:300;max-width:52ch;margin-bottom:1.5rem}
.nf-meta{font-size:0.7rem;color:var(--muted)}
.ns{display:flex;flex-direction:column;background:var(--white)}
.ns-item{padding:2rem 2.5rem;border-bottom:0.5px solid var(--border);transition:background 0.2s;flex:1;text-decoration:none;color:inherit;display:block}
.ns-item:hover{background:var(--purple-faint)}
.ns-item:last-child{border-bottom:none}
.ns-tag{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple-light);margin-bottom:0.6rem}
.ns-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:0.5rem}
.ns-date{font-size:0.68rem;color:var(--muted)}
.nl-item{display:grid;grid-template-columns:7rem 1fr 2rem;gap:3rem;align-items:center;padding:2rem 3rem;border-bottom:0.5px solid var(--border);transition:background 0.2s;background:var(--white);text-decoration:none;color:inherit}
.nl-item:hover{background:var(--purple-faint)}
.nl-date{font-size:0.7rem;color:var(--muted)}
.nl-tag{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple-light);margin-bottom:0.4rem}
.nl-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--ink)}
.nl-arrow{font-size:1rem;color:var(--muted);transition:transform 0.2s,color 0.2s;text-align:right}
.nl-item:hover .nl-arrow{transform:translateX(4px);color:var(--purple-mid)}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--nav-h))}
.c-left{padding:5rem 4rem 5rem 3rem;border-right:0.5px solid var(--border);background:var(--white)}
.c-detail{padding:1.4rem 0;border-bottom:0.5px solid var(--border);display:grid;grid-template-columns:8rem 1fr;gap:1rem}
.c-detail:first-child{border-top:0.5px solid var(--border)}
.c-label{font-size:0.63rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple-light);padding-top:0.1rem}
.c-val{font-size:0.86rem;color:var(--ink);font-weight:300;line-height:1.65}
.c-val a{color:var(--purple-mid);text-decoration:none}
.c-right{padding:5rem 3rem;background:var(--purple-faint);position:relative;overflow:hidden}
.f-label{font-size:0.63rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:0.45rem}
.f-input,.f-textarea,.f-select{width:100%;background:var(--white);border:0.5px solid var(--border-mid);padding:0.8rem 0.9rem;font-family:'Jost',sans-serif;font-size:0.83rem;font-weight:300;color:var(--ink);outline:none;-webkit-appearance:none;transition:border-color 0.18s}
.f-input:focus,.f-textarea:focus,.f-select:focus{border-color:var(--purple-mid)}
.f-input::placeholder,.f-textarea::placeholder{color:var(--dim)}
.f-textarea{min-height:110px;resize:vertical}
.f-group{margin-bottom:1.2rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ── FAQ ── */
.faq-wrap{background:var(--white)}
.faq-section{padding:0 3rem;border-bottom:0.5px solid var(--border)}
.faq-st{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--purple-mid);padding:2.5rem 0 1.5rem;border-bottom:0.5px solid var(--border)}
.faq-item{border-bottom:0.5px solid var(--border)}
.faq-q{padding:1.5rem 0;display:flex;justify-content:space-between;align-items:start;cursor:pointer;gap:2rem}
.faq-qt{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;line-height:1.4;color:var(--ink);transition:color 0.18s}
.faq-item:hover .faq-qt{color:var(--purple)}
.faq-tog{font-size:1.2rem;color:var(--purple-light);flex-shrink:0;transition:transform 0.25s;width:20px;text-align:center}
.faq-item.open .faq-tog{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.35s ease}
.faq-item.open .faq-a{max-height:300px}
.faq-ai{font-size:0.86rem;line-height:1.9;color:var(--muted);font-weight:300;padding-bottom:1.5rem;max-width:60ch}

/* ── REGULATORY ── */
.reg-intro{padding:4rem 3rem;border-bottom:0.5px solid var(--border);background:var(--white)}
.reg-intro-grid{display:grid;grid-template-columns:2fr 1fr;gap:5rem;align-items:start}
.reg-body{font-size:0.9rem;line-height:1.9;color:var(--muted);font-weight:300;max-width:60ch}
.reg-body p{margin-bottom:1.2rem}
.reg-body p:last-child{margin-bottom:0}
.reg-sidebar-item{padding:1.2rem 0;border-bottom:0.5px solid var(--border)}
.reg-sidebar-item:first-child{border-top:0.5px solid var(--border)}
.reg-sidebar-label{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple-light);margin-bottom:0.4rem}
.reg-sidebar-val{font-size:0.84rem;color:var(--ink);font-weight:300;line-height:1.6}
.reg-sidebar-val a{color:var(--purple-mid);text-decoration:none}
.pricing-section{padding:5rem 3rem;background:var(--white);border-bottom:0.5px solid var(--border)}
.pricing-intro{max-width:58ch;font-size:0.88rem;line-height:1.9;color:var(--muted);font-weight:300;margin-top:1.5rem;margin-bottom:3rem}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.pricing-card{background:var(--white);padding:2.5rem 2rem}
.pricing-card.featured{background:var(--purple-faint)}
.pricing-badge{display:inline-block;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;background:var(--purple);color:#fff;padding:0.2rem 0.6rem;margin-bottom:1rem}
.pricing-service{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--ink);margin-bottom:0.6rem}
.pricing-range{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300;color:var(--purple);line-height:1;margin-bottom:0.3rem}
.pricing-basis{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}
.pricing-items{list-style:none;margin-bottom:2rem}
.pricing-items li{font-size:0.8rem;line-height:1.75;color:var(--muted);font-weight:300;padding:0.35rem 0;border-bottom:0.5px solid var(--border);display:flex;gap:0.7rem}
.pricing-items li::before{content:'—';color:var(--purple-light);flex-shrink:0}
.pricing-note{font-size:0.72rem;color:var(--dim);line-height:1.65;font-style:italic}
.reg-sra{background:var(--purple-faint);padding:4rem 3rem;border-top:0.5px solid var(--border)}
.sra-grid{display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:start}
.sra-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--ink);margin-top:0.5rem}
.sra-body{font-size:0.86rem;line-height:1.9;color:var(--muted);font-weight:300}
.sra-body p{margin-bottom:1rem}
.sra-body p:last-child{margin-bottom:0}
.sra-links{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.5rem}
.sra-link{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--purple-mid);border:0.5px solid var(--border-mid);padding:0.45rem 1rem;text-decoration:none;transition:all 0.2s}
.sra-link:hover{background:var(--purple);color:#fff;border-color:var(--purple)}

/* ── FOOTER ── */
footer{width:100%;background:var(--ink);border-top:0.5px solid var(--dk-border)}
.footer-inner{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:4rem;gap:4rem;width:100%;box-sizing:border-box}
.fl-logo{display:flex;align-items:center;gap:0.8rem;margin-bottom:1rem;text-decoration:none}
.fl-wm{font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:0.04em;color:var(--dk-text);font-weight:500}
.fl-sub{font-size:0.56rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--dk-dim);font-weight:300;margin-top:1px}
.fl-tag{font-size:0.78rem;line-height:1.75;color:var(--dk-muted);font-weight:300;max-width:30ch;margin-bottom:1.5rem}
.fl-addr{font-size:0.76rem;line-height:1.85;color:var(--dk-dim);font-style:normal;font-weight:300}
.fl-addr a{color:var(--dk-muted);text-decoration:none;transition:color 0.2s}
.fl-addr a:hover{color:var(--dk-text)}
.fl-ct{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--dk-accent);margin-bottom:1.2rem;opacity:0.7}
.fl-links{list-style:none}
.fl-links li{margin-bottom:0.55rem}
.fl-links a{font-size:0.8rem;color:var(--dk-muted);text-decoration:none;font-weight:300;transition:color 0.2s}
.fl-links a:hover{color:var(--dk-text)}
.fl-linkedin{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.72rem;color:var(--dk-muted);text-decoration:none;margin-top:1.2rem;transition:color 0.2s;letter-spacing:0.06em}
.fl-linkedin:hover{color:var(--dk-accent)}
.footer-bottom{width:100%;background:rgba(0,0,0,0.2)}
.footer-bottom-inner{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding:1.5rem 4rem;width:100%;box-sizing:border-box}
.footer-sra{display:flex;align-items:center;gap:1.5rem;flex:1}
.footer-sra img{flex-shrink:0;opacity:0.7;filter:brightness(0) invert(1)}
.footer-legal{font-size:0.67rem;color:var(--dk-dim);font-weight:300;max-width:62ch;line-height:1.6}
.footer-copy{font-size:0.67rem;color:var(--dk-dim);white-space:nowrap}

/* ── COOKIE BANNER ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--ink);z-index:900;transform:translateY(100%);transition:transform 0.4s ease;border-top:0.5px solid rgba(255,255,255,0.1)}
.cookie-banner.visible{transform:translateY(0)}
.cookie-banner.hiding{transform:translateY(100%)}
.cookie-inner{max-width:1200px;margin:0 auto;padding:1.2rem 3rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.cookie-text{font-size:0.78rem;color:rgba(255,255,255,0.7);font-weight:300;line-height:1.6;flex:1;margin:0}
.cookie-text a{color:var(--purple-light);text-decoration:none;border-bottom:0.5px solid rgba(139,117,197,0.4)}
.cookie-text a:hover{color:#fff}
.cookie-actions{display:flex;gap:0.75rem;flex-shrink:0}
.cookie-btn{font-family:'Jost',sans-serif;font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;border:none;padding:0.65rem 1.4rem;cursor:pointer;transition:all 0.2s}
.cookie-accept{background:var(--purple);color:#fff}
.cookie-accept:hover{background:var(--purple-mid)}
.cookie-essential{background:transparent;color:rgba(255,255,255,0.6);border:0.5px solid rgba(255,255,255,0.2)}
.cookie-essential:hover{color:#fff;border-color:rgba(255,255,255,0.5)}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .people-grid{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:900px){
  :root{--nav-h:60px}
  .nav-inner{padding:0 1.5rem}
  .nq-sub{display:none}
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-hamburger{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:3rem 1.5rem;border-right:none;border-bottom:0.5px solid var(--border)}
  .hero-right{min-height:340px}
  .hero-stat-block{left:1.5rem;right:1.5rem;bottom:1.5rem}
  .stat-cell{padding:1rem 1.2rem}
  .stat-num{font-size:1.8rem}
  .services-grid{grid-template-columns:1fr 1fr}
  .svc{border-right:none;border-bottom:0.5px solid var(--border)}
  .svc:nth-child(odd){border-right:0.5px solid var(--border)}
  .svc:last-child{border-bottom:none}
  .sec-header{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem}
  .section{padding:4rem 1.5rem}
  .about-strip{grid-template-columns:1fr}
  .about-left{padding:4rem 1.5rem;border-right:none;border-bottom:0.5px solid var(--dk-border)}
  .about-right{padding:3rem 1.5rem}
  .news-grid{grid-template-columns:1fr}
  .cta-strip-inner{padding:4rem 1.5rem;grid-template-columns:1fr;gap:2rem}
  .page-hero{padding:3rem 1.5rem 2.5rem;min-height:180px}
  .pillars{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .news-featured{grid-template-columns:1fr}
  .nf-main{padding:2.5rem 1.5rem;border-right:none;border-bottom:0.5px solid var(--border)}
  .nl-item{grid-template-columns:5rem 1fr 1.5rem;gap:1.5rem;padding:1.5rem}
  .contact-grid{grid-template-columns:1fr}
  .c-left{padding:3rem 1.5rem;border-right:none;border-bottom:0.5px solid var(--border)}
  .c-right{padding:3rem 1.5rem}
  .pricing-grid{grid-template-columns:1fr}
  .reg-intro-grid{grid-template-columns:1fr}
  .sra-grid{grid-template-columns:1fr}
  .creds-inner{grid-template-columns:1fr;gap:1.5rem}
  .case-studies{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem;padding:3rem 1.5rem 2rem}
  .footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:0.5rem;padding:1.2rem 1.5rem}
  .faq-section{padding:0 1.5rem}
  .credentials-strip{padding:2.5rem 1.5rem}
  .creds-logos{flex-direction:column}
  .cred-item{border-right:none;border-bottom:0.5px solid var(--border)}
  .cred-item:last-child{border-bottom:none}
  .pricing-section{padding:4rem 1.5rem}
  .reg-sra{padding:3rem 1.5rem}
  .people-grid{grid-template-columns:repeat(3,1fr)}
  .dept-section{padding:0 1.5rem}
  .team-carousel-wrap{padding:0 1.5rem 1.5rem}
}

@media(max-width:580px){
  .services-grid{grid-template-columns:1fr}
  .svc:nth-child(odd){border-right:none}
  .team-grid{grid-template-columns:1fr}
  .f-row{grid-template-columns:1fr}
  .ns{display:none}
  .news-featured{display:block}
  .c-detail{grid-template-columns:1fr;gap:0.3rem}
  .people-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr}
}

/* ── PROFILE PAGE ── */
.profile-wrap{max-width:1140px;margin:0 auto;padding:4rem 4rem 7rem}
.profile-top{display:grid;grid-template-columns:1fr 300px;gap:5rem;align-items:end;padding-bottom:4rem;border-bottom:0.5px solid var(--border);margin-bottom:3.5rem}
.profile-info{display:flex;flex-direction:column}
.profile-photo-col{position:relative;aspect-ratio:3/4;background:var(--purple-faint);overflow:hidden;align-self:start}
.profile-photo-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.profile-photo-initials{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:300;color:var(--purple-mid);opacity:0.3;letter-spacing:0.05em}
.profile-back{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.63rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:4rem;transition:color 0.2s;align-self:flex-start}
.profile-back::before{content:'←'}
.profile-back:hover{color:var(--purple)}
.profile-eyebrow{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple-light);display:flex;align-items:center;gap:0.8rem;margin-bottom:1.2rem}
.profile-eyebrow::before{content:'';display:block;width:1.5rem;height:0.5px;background:var(--purple-light)}
.profile-name{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,4.5vw,4.2rem);font-weight:300;line-height:1.02;color:var(--ink);margin-bottom:0.6rem}
.profile-role{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple-mid)}
.profile-bio{font-size:0.96rem;line-height:2.05;color:var(--muted);font-weight:300;max-width:66ch;margin-bottom:3.5rem}
.profile-bio p+p{margin-top:1.2rem}
.profile-contact-block{display:flex;gap:3rem;flex-wrap:wrap;padding-top:2.5rem;border-top:0.5px solid var(--border)}
.profile-contact-item{display:flex;align-items:center;gap:0.9rem;text-decoration:none;color:var(--ink);font-size:0.84rem;font-weight:300;transition:color 0.2s}
.profile-contact-item:hover{color:var(--purple)}
.profile-contact-icon{width:2rem;height:2rem;border:0.5px solid var(--border-mid);background:var(--purple-faint);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.profile-contact-icon svg{width:13px;height:13px;stroke:var(--purple-light)}
.profile-contact-label{font-size:0.59rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--purple-light);display:block;margin-bottom:0.1rem}
@media(max-width:900px){
  .profile-wrap{padding:3rem 1.5rem 4rem}
  .profile-top{grid-template-columns:1fr;gap:2rem}
  .profile-photo-col{aspect-ratio:4/3;max-height:320px;order:-1}
  .profile-contact-block{flex-direction:column;gap:1.2rem}
}

/* Article pages */
.article-wrap{max-width:860px;margin:0 auto;padding:4rem 4rem 6rem}
.article-header{border-bottom:0.5px solid var(--border);padding-bottom:3rem;margin-bottom:3.5rem}
.article-meta{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.5rem}
.article-cat{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--purple-light)}
.article-date{font-size:0.7rem;color:var(--muted)}
.article-meta::before{content:'';display:block;width:1.5rem;height:0.5px;background:var(--purple-light)}
.article-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.15;color:var(--ink);margin-bottom:1.2rem}
.article-excerpt{font-size:1rem;line-height:1.8;color:var(--muted);font-weight:300;max-width:60ch}
.article-body{font-size:0.95rem;line-height:2;color:var(--muted);font-weight:300}
.article-body p{margin-bottom:1.4rem}
.article-body h2{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;color:var(--ink);margin:2.5rem 0 1rem}
.article-body h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--ink);margin:2rem 0 0.6rem}
.article-body ul,.article-body ol{padding-left:1.4rem;margin-bottom:1.4rem}
.article-body li{margin-bottom:0.5rem}
.article-body strong{font-weight:500;color:var(--ink)}
.article-body em{font-style:italic}
@media(max-width:700px){.article-wrap{padding:2.5rem 1.5rem 4rem}}
