:root{
  --bg:#06101d;
  --bg-2:#08182a;
  --panel:rgba(11,28,47,.76);
  --panel-strong:#0c1c2f;
  --text:#f4f7fb;
  --muted:#a6b5c7;
  --line:rgba(255,255,255,.09);
  --accent:#8ee7d7;
  --accent-2:#70a8ff;
  --gold:#d6bd82;
  --danger:#ff8a8a;
  --success:#73e0aa;
  --shadow:0 24px 70px rgba(0,0,0,.35);
  --radius:24px;
  --max:1220px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 10% 0%,rgba(62,130,218,.12),transparent 30%),
    radial-gradient(circle at 88% 10%,rgba(86,222,191,.09),transparent 25%),
    linear-gradient(180deg,#06101d 0%,#071321 48%,#06101d 100%);
  color:var(--text);
  font-family:"DM Sans",system-ui,sans-serif;
  overflow-x:hidden;
}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer}
::selection{background:rgba(142,231,215,.28)}
.noise{
  pointer-events:none;position:fixed;inset:0;z-index:90;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
#cursor-orb{
  width:420px;height:420px;border-radius:50%;position:fixed;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,rgba(90,183,255,.11),rgba(91,222,184,.04) 35%,transparent 68%);
  transform:translate(-50%,-50%);filter:blur(10px);transition:opacity .2s;
}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.nav{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);
  width:min(1240px,calc(100% - 26px));z-index:70;
  display:flex;align-items:center;gap:18px;justify-content:space-between;
  padding:12px 14px 12px 18px;border:1px solid var(--line);border-radius:18px;
  backdrop-filter:blur(20px);background:rgba(5,16,29,.68);box-shadow:0 12px 40px rgba(0,0,0,.22)
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em}
.brand-mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 30px rgba(112,168,255,.3);position:relative}
.brand-mark:after{content:"";position:absolute;inset:7px;border:1px solid rgba(6,16,29,.9);border-radius:5px}
.nav-links{display:flex;align-items:center;gap:4px;color:#cbd7e4}
.nav-link{padding:9px 11px;border-radius:10px;font-size:13px;transition:.25s var(--ease)}
.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.07);color:#fff}
.nav-actions{display:flex;gap:8px}
.btn{
  border:1px solid var(--line);background:rgba(255,255,255,.045);color:#fff;
  padding:10px 14px;border-radius:12px;font-weight:650;transition:.25s var(--ease);
  display:inline-flex;align-items:center;justify-content:center;gap:8px
}
.btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.08)}
.btn.primary{color:#06101d;border-color:transparent;background:linear-gradient(135deg,var(--accent),#b7f4e5)}
.btn.primary:hover{box-shadow:0 10px 30px rgba(142,231,215,.22)}
.btn.ghost{background:transparent}
.icon-btn{width:38px;height:38px;padding:0;border-radius:12px}
.mobile-toggle{display:none}
.page{min-height:100vh;padding-top:90px}
.hero{
  min-height:92vh;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;position:relative;z-index:3}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.hero h1,.display{
  font-family:"Manrope",sans-serif;letter-spacing:-.055em;line-height:.98;margin:16px 0 20px;
  font-size:clamp(52px,7.2vw,104px);max-width:950px
}
.hero h1 .soft{color:#afc2d6}
.lede{font-size:clamp(17px,1.8vw,22px);line-height:1.55;color:#b6c4d5;max-width:760px}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-proof{display:flex;gap:28px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}
.proof-number{font-family:"Manrope";font-size:24px;font-weight:700}
.proof-label{font-size:12px;color:var(--muted);margin-top:4px}
.orbit-stage{height:620px;position:relative;perspective:1200px;display:grid;place-items:center}
.orb-core{
  width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle at 33% 28%,#d6fff7 0 4%,#86dfd3 15%,#2c75a5 48%,#0d2034 75%);
  box-shadow:inset -45px -35px 80px rgba(0,0,0,.45),0 40px 120px rgba(51,154,188,.24);
  animation:float 7s ease-in-out infinite;position:relative;transform-style:preserve-3d
}
.orb-core:after{content:"";position:absolute;inset:-60px;border:1px solid rgba(142,231,215,.18);border-radius:50%;transform:rotateX(72deg)}
.ring{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;transform-style:preserve-3d}
.r1{width:430px;height:430px;transform:rotateX(70deg) rotateZ(8deg);animation:spin 16s linear infinite}
.r2{width:540px;height:330px;transform:rotateX(64deg) rotateY(20deg);animation:spinReverse 22s linear infinite}
.float-chip{
  position:absolute;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(7,22,37,.74);
  backdrop-filter:blur(14px);box-shadow:var(--shadow);font-size:12px;color:#dce8f4;animation:drift 8s ease-in-out infinite
}
.c1{top:19%;left:0}.c2{top:45%;right:-4%;animation-delay:-2s}.c3{bottom:18%;left:10%;animation-delay:-4s}.c4{top:10%;right:18%;animation-delay:-6s}
@keyframes float{50%{transform:translateY(-16px) rotateY(10deg)}}
@keyframes drift{50%{transform:translateY(-13px) translateZ(18px)}}
@keyframes spin{to{transform:rotateX(70deg) rotateZ(368deg)}}
@keyframes spinReverse{to{transform:rotateX(64deg) rotateY(20deg) rotateZ(-360deg)}}
.section{padding:110px 0;position:relative}
.section.compact{padding:72px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.section-head h2{font:700 clamp(34px,4.2vw,58px)/1.04 "Manrope";letter-spacing:-.045em;margin:8px 0 0}
.section-head p{max-width:560px;color:var(--muted);line-height:1.6;margin:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border-radius:var(--radius);padding:24px;box-shadow:0 16px 60px rgba(0,0,0,.12);position:relative;overflow:hidden;
  transform-style:preserve-3d;transition:transform .25s var(--ease),border-color .25s
}
.card:hover{border-color:rgba(142,231,215,.22)}
.card .shine{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.12),transparent 28%)}
.kicker{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.card h3{font:650 22px/1.15 "Manrope";letter-spacing:-.025em;margin:12px 0}
.card p{color:var(--muted);line-height:1.55;margin:0}
.feature-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(142,231,215,.08);border:1px solid rgba(142,231,215,.16);margin-bottom:20px}
.metric{padding:22px}
.metric .value{font:700 34px/1 "Manrope";letter-spacing:-.04em}
.metric .label{font-size:13px;color:var(--muted);margin-top:8px}
.metric .delta{font-size:12px;margin-top:14px;color:var(--success)}
.gradient-line{height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),transparent);opacity:.35}
.cta-panel{
  padding:50px;border-radius:32px;background:
  radial-gradient(circle at 80% 0%,rgba(112,168,255,.18),transparent 30%),
  radial-gradient(circle at 10% 100%,rgba(142,231,215,.12),transparent 28%),
  #0a1a2c;border:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center
}
.cta-panel h2{font:700 clamp(34px,4vw,56px)/1.05 "Manrope";letter-spacing:-.045em;margin:0 0 12px}
.footer{padding:42px 0 26px;border-top:1px solid var(--line);color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.subtle{font-size:12px;color:#78899d}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;color:#91a6bb}
.marquee-track{display:flex;width:max-content;gap:36px;animation:marquee 30s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Michael page */
.profile-hero{padding:80px 0 60px}
.profile-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:52px;align-items:center}
.portrait-wrap{position:relative;perspective:1000px}
.portrait{
  aspect-ratio:4/5;border-radius:34px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);
  background:linear-gradient(145deg,#14304b,#0b1828);transform:rotateY(4deg) rotateX(1deg);transition:.4s var(--ease)
}
.portrait:hover{transform:rotateY(0deg) rotateX(0deg) translateY(-4px)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.profile-title{font:700 clamp(45px,6vw,86px)/.98 "Manrope";letter-spacing:-.055em;margin:14px 0 18px}
.profile-title small{display:block;font:600 18px/1.4 "DM Sans";letter-spacing:0;color:var(--accent);margin-top:16px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.stat-cell{padding:22px;border-right:1px solid var(--line);background:rgba(255,255,255,.025)}
.stat-cell:last-child{border-right:none}
.stat-cell strong{display:block;font:700 28px "Manrope"}
.timeline{position:relative;margin-top:10px}
.timeline:before{content:"";position:absolute;left:120px;top:0;bottom:0;width:1px;background:var(--line)}
.timeline-item{display:grid;grid-template-columns:95px 1fr;gap:40px;padding:20px 0;position:relative}
.timeline-item:after{content:"";position:absolute;left:115px;top:28px;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(142,231,215,.08)}
.timeline-year{color:var(--accent);font-size:12px;font-weight:700}
.timeline-role{font-weight:700;font-size:17px}
.timeline-company{color:var(--muted);font-size:13px;margin-top:4px}
.testimonial blockquote{margin:0;color:#dce6f1;line-height:1.65;font-size:15px}
.testimonial footer{margin-top:18px;color:var(--muted);font-size:12px}

/* App shell */
.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#06101d}
.sidebar{
  position:sticky;top:0;height:100vh;padding:20px 15px;border-right:1px solid var(--line);
  background:rgba(6,16,29,.95);z-index:20;overflow:auto
}
.sidebar .brand{padding:8px 8px 20px}
.side-group{margin-top:18px}
.side-label{font-size:10px;color:#64768a;text-transform:uppercase;letter-spacing:.14em;padding:0 10px 8px}
.side-link{display:flex;align-items:center;gap:10px;padding:10px 11px;color:#9fb0c2;border-radius:11px;font-size:13px;margin:2px 0;transition:.2s}
.side-link:hover,.side-link.active{background:rgba(255,255,255,.06);color:#fff}
.side-link .badge{margin-left:auto;background:rgba(142,231,215,.12);color:var(--accent);padding:2px 6px;border-radius:8px;font-size:10px}
.main-panel{min-width:0}
.topbar{
  position:sticky;top:0;z-index:18;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;
  border-bottom:1px solid var(--line);background:rgba(6,16,29,.72);backdrop-filter:blur(18px)
}
.search{
  display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:rgba(255,255,255,.035);
  border-radius:12px;padding:9px 12px;min-width:310px
}
.search input{border:0;outline:0;background:transparent;color:#fff;width:100%}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#06101d;font-weight:800}
.dashboard{padding:30px}
.dash-title{font:700 34px "Manrope";letter-spacing:-.04em;margin:0}
.dash-sub{color:var(--muted);margin:7px 0 24px}
.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.panel{
  border:1px solid var(--line);background:rgba(255,255,255,.028);border-radius:20px;padding:20px;min-width:0;
}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.panel-head h3{margin:0;font-size:15px}
.panel-head .muted{font-size:11px}
.mini-list{display:grid;gap:8px}
.list-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.list-row:last-child{border-bottom:0}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.row-main{min-width:0;flex:1}
.row-title{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-meta{font-size:11px;color:var(--muted);margin-top:3px}
.pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;border:1px solid var(--line);color:#cbd8e5}
.pill.green{background:rgba(115,224,170,.09);color:var(--success);border-color:rgba(115,224,170,.15)}
.pill.blue{background:rgba(112,168,255,.1);color:#a9c8ff;border-color:rgba(112,168,255,.16)}
.pill.gold{background:rgba(214,189,130,.1);color:#e9d6a7;border-color:rgba(214,189,130,.18)}
.pill.red{background:rgba(255,138,138,.09);color:#ffb2b2;border-color:rgba(255,138,138,.15)}
.progress{height:7px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}
.chart{height:180px;display:flex;align-items:end;gap:10px;padding-top:15px}
.bar{flex:1;min-width:8px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--accent-2),rgba(112,168,255,.12));position:relative}
.bar:hover:after{content:attr(data-v);position:absolute;top:-28px;left:50%;transform:translateX(-50%);font-size:10px;padding:4px 6px;background:#0a1b2d;border:1px solid var(--line);border-radius:6px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}
table{width:100%;border-collapse:collapse;min-width:1000px}
th,td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.055);font-size:12px}
th{position:sticky;top:0;background:#0a1829;color:#8fa2b5;font-weight:650}
td{color:#d7e2ed}
tr:hover td{background:rgba(255,255,255,.025)}
.company-cell{display:flex;align-items:center;gap:10px}
.logo-dot{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(112,168,255,.1);color:#b9d0ff;font-weight:800}
.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.input,.select,.textarea{
  border:1px solid var(--line);background:rgba(255,255,255,.035);color:#fff;border-radius:11px;padding:10px 12px;outline:0
}
.select option{background:#081523}
.textarea{width:100%;min-height:100px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form-field label{display:block;font-size:11px;color:var(--muted);margin:0 0 7px}
.form-field .input,.form-field .select{width:100%}
.ai-box{
  padding:22px;border-radius:20px;border:1px solid rgba(142,231,215,.18);
  background:radial-gradient(circle at 90% 0%,rgba(142,231,215,.09),transparent 35%),rgba(255,255,255,.025)
}
.ai-prompt{display:flex;gap:10px}
.ai-prompt input{flex:1}
.ai-response{margin-top:16px;color:#c9d7e4;line-height:1.6;font-size:13px}
.doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.doc{padding:16px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.026)}
.doc .name{font-size:12px;font-weight:650;margin-top:12px}.doc .meta{font-size:10px;color:var(--muted);margin-top:5px}
.empty{padding:44px;text-align:center;color:var(--muted)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:40px;position:relative}
.login-card{width:min(460px,100%);padding:32px;border:1px solid var(--line);border-radius:26px;background:rgba(8,24,41,.75);backdrop-filter:blur(20px);box-shadow:var(--shadow)}
.login-card h1{font:700 38px "Manrope";letter-spacing:-.04em;margin:20px 0 8px}
.login-card p{color:var(--muted)}
.stack{display:grid;gap:12px}
.w-full{width:100%}
.back-link{position:absolute;left:28px;top:28px;color:var(--muted)}
.client-shell{max-width:1080px;margin:0 auto;padding:28px}
.client-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.client-progress{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.alert{padding:13px 14px;border:1px solid rgba(142,231,215,.16);background:rgba(142,231,215,.06);border-radius:13px;color:#ccece6;font-size:12px}
.modal-backdrop{position:fixed;inset:0;background:rgba(1,7,13,.76);display:grid;place-items:center;z-index:100;padding:20px;backdrop-filter:blur(12px)}
.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#09192a;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.modal-head h2{margin:0;font:700 24px "Manrope"}
.hidden{display:none!important}

@media (max-width:1050px){
  .nav-links{display:none}.mobile-toggle{display:inline-flex}
  .hero-grid,.profile-grid{grid-template-columns:1fr}
  .orbit-stage{height:440px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr 1fr}
  .app-shell{grid-template-columns:82px 1fr}
  .sidebar .brand span,.side-label,.side-link span:not(.badge){display:none}
  .sidebar{padding-inline:10px}.side-link{justify-content:center}.side-link .badge{display:none}
  .span-3{grid-column:span 6}.span-4{grid-column:span 6}.span-5,.span-7{grid-column:span 12}
  .span-6,.span-8{grid-column:span 12}
}
@media (max-width:720px){
  .container{width:min(100% - 26px,var(--max))}
  .nav{top:8px}.nav-actions .ghost{display:none}
  .hero{min-height:auto;padding:100px 0 50px}.hero h1{font-size:50px}
  .orbit-stage{height:360px}.orb-core{width:190px;height:190px}.r1{width:310px;height:310px}.r2{width:360px;height:230px}
  .section{padding:75px 0}.section-head{display:block}.section-head p{margin-top:14px}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .cta-panel{grid-template-columns:1fr;padding:30px}
  .profile-hero{padding-top:30px}.stat-strip{grid-template-columns:1fr 1fr}.stat-cell:nth-child(2){border-right:0}.stat-cell{border-bottom:1px solid var(--line)}
  .timeline:before{left:89px}.timeline-item{grid-template-columns:70px 1fr;gap:30px}.timeline-item:after{left:84px}
  .app-shell{display:block}.sidebar{position:fixed;bottom:0;top:auto;width:100%;height:68px;display:flex;align-items:center;padding:8px;z-index:40;border-right:0;border-top:1px solid var(--line);overflow-x:auto}
  .sidebar .brand,.side-label{display:none}.side-group{display:flex;margin:0}.side-link{min-width:48px;margin:0 2px}
  .topbar{padding:0 14px}.search{min-width:0;width:200px}
  .dashboard{padding:20px 13px 92px}.dash-grid{grid-template-columns:1fr}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:1}
  .doc-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}
  .client-shell{padding:18px 13px 90px}
  .client-hero{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  #cursor-orb{display:none}.card{transform:none!important}
}


/* ==========================================================
   V2 LIGHT EXECUTIVE THEME
   Editorial, calm, high-trust visual direction inspired by
   top-tier strategy consulting sites without copying them.
   ========================================================== */
:root{
  --bg:#f4f2ed;
  --bg-2:#ffffff;
  --panel:#ffffff;
  --panel-strong:#f9f8f5;
  --text:#12212f;
  --muted:#667382;
  --line:rgba(18,33,47,.13);
  --accent:#0c5cff;
  --accent-2:#15a4a6;
  --gold:#9d7b39;
  --danger:#ba3f4b;
  --success:#13795b;
  --shadow:0 24px 65px rgba(27,45,61,.09);
  --radius:18px;
}
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 86% 2%,rgba(12,92,255,.055),transparent 28%),
    radial-gradient(circle at 12% 15%,rgba(21,164,166,.035),transparent 24%),
    linear-gradient(180deg,#f6f4ef 0%,#fff 35%,#f4f2ed 100%);
  color:var(--text);
}
.noise{opacity:.018;mix-blend-mode:multiply}
#cursor-orb{
  background:radial-gradient(circle,rgba(12,92,255,.075),rgba(21,164,166,.025) 40%,transparent 68%);
  filter:blur(16px);
}
.nav{
  background:rgba(252,251,248,.88);
  border-color:rgba(18,33,47,.1);
  box-shadow:0 10px 35px rgba(27,45,61,.07);
}
.brand{color:#102235}
.brand-mark{
  background:linear-gradient(135deg,#0c5cff,#49a6ff);
  box-shadow:0 0 26px rgba(12,92,255,.15)
}
.brand-mark:after{border-color:rgba(255,255,255,.88)}
.nav-links{color:#4f5e6d}
.nav-link:hover,.nav-link.active{background:#e9eef7;color:#0b3c8d}
.btn{
  background:#fff;color:#102235;border-color:rgba(18,33,47,.15);
  box-shadow:0 2px 7px rgba(28,45,61,.03)
}
.btn:hover{background:#f3f6fb;border-color:rgba(12,92,255,.2)}
.btn.primary{
  color:#fff;background:#0c5cff;border-color:#0c5cff;
  box-shadow:0 10px 25px rgba(12,92,255,.15)
}
.btn.primary:hover{background:#0a50dd;box-shadow:0 14px 30px rgba(12,92,255,.2)}
.btn.ghost{background:transparent;color:#223344}
.page{background:transparent}
.eyebrow{color:#0c5cff}
.hero h1,.display,.profile-title,.section-head h2,.cta-panel h2,.login-card h1,.dash-title{
  color:#12212f;
}
.hero h1,.display,.profile-title,.section-head h2,.cta-panel h2{
  font-family:"Source Serif 4",Georgia,serif;
  letter-spacing:-.045em;
}
.hero h1 .soft{color:#536579}
.lede{color:#536272}
.hero-proof{border-color:rgba(18,33,47,.12)}
.proof-label,.subtle{color:#718092}
.proof-number{color:#15293b}
.orbit-stage{perspective:1500px}
.orb-core{
  background:radial-gradient(circle at 34% 27%,#fff 0 4%,#c9defa 16%,#2d7eea 47%,#11396a 77%);
  box-shadow:
    inset -36px -30px 72px rgba(18,53,91,.27),
    0 32px 90px rgba(12,92,255,.16);
}
.orb-core:after,.ring{border-color:rgba(12,92,255,.16)}
.float-chip{
  color:#18334d;background:rgba(255,255,255,.8);border-color:rgba(18,33,47,.11);
  box-shadow:0 18px 40px rgba(40,65,88,.1)
}
.marquee{border-color:rgba(18,33,47,.1);color:#607386;background:#fff}
.card{
  border-color:rgba(18,33,47,.1);
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 48px rgba(35,52,67,.065);
}
.card:hover{border-color:rgba(12,92,255,.23);box-shadow:0 24px 55px rgba(35,52,67,.095)}
.card .shine{
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(12,92,255,.07),transparent 29%)
}
.card h3{color:#15293b}
.card p{color:#617080}
.feature-icon{
  color:#0c5cff;background:#edf3ff;border-color:#d7e5ff
}
.kicker{color:#0c5cff}
.metric .value{color:#102a44}
.metric .label{color:#647588}
.metric .delta{color:var(--success)}
.gradient-line{background:linear-gradient(90deg,transparent,#0c5cff,#15a4a6,transparent)}
.cta-panel{
  background:
    radial-gradient(circle at 82% 0%,rgba(12,92,255,.1),transparent 32%),
    linear-gradient(135deg,#f2f6fc,#eef5f4 65%,#f7f6f2);
  border-color:rgba(18,33,47,.1)
}
.footer{border-color:rgba(18,33,47,.11);color:#657585;background:#f6f4ef}
.stat-strip{border-color:rgba(18,33,47,.12);background:#fff}
.stat-cell{
  border-color:rgba(18,33,47,.1)!important;background:#fff
}
.stat-cell strong{color:#12212f}
.timeline:before{background:#d9dee4}
.timeline-item:after{
  background:#0c5cff;box-shadow:0 0 0 5px rgba(12,92,255,.08)
}
.timeline-company{color:#667687}
.portrait{
  border-color:rgba(18,33,47,.1);
  background:linear-gradient(145deg,#dce7f5,#edf3f7);
  box-shadow:0 28px 70px rgba(34,49,62,.12)
}
.testimonial blockquote{color:#2f4355}
.testimonial footer{color:#6b7887}

/* App shell */
.app-shell{background:#f2f3f5}
.sidebar{
  background:#f8f7f3;border-color:rgba(18,33,47,.1)
}
.sidebar .brand{color:#102235}
.side-label{color:#8a949d}
.side-link{color:#596b7d}
.side-link:hover,.side-link.active{background:#e8eef7;color:#0b3c8d}
.side-link .badge{background:#e2edff;color:#0c5cff}
.main-panel{background:#f2f3f5}
.topbar{
  border-color:rgba(18,33,47,.1);background:rgba(250,249,246,.9)
}
.search{
  border-color:rgba(18,33,47,.12);background:#fff;color:#5b6a78
}
.search input{color:#172a3b}
.avatar{background:linear-gradient(135deg,#0c5cff,#55b4ff);color:#fff}
.dashboard{color:#162b3e}
.dash-sub{color:#6e7b89}
.panel{
  border-color:rgba(18,33,47,.1);background:#fff;
  box-shadow:0 8px 28px rgba(33,51,68,.045)
}
.list-row{border-color:rgba(18,33,47,.075)}
.row-title{color:#23394d}
.row-meta{color:#74818e}
.pill{
  border-color:rgba(18,33,47,.12);color:#5f6f7f;background:#f5f6f7
}
.pill.green{background:#eaf7f1;color:#13795b;border-color:#cde9dc}
.pill.blue{background:#eaf1ff;color:#1356bb;border-color:#ccdfff}
.pill.gold{background:#f7f1e6;color:#836323;border-color:#eadcbd}
.pill.red{background:#fbecef;color:#a33b49;border-color:#f2cbd1}
.progress{background:#e9edf1}
.chart{border-bottom:1px solid #e7ebef}
.bar{background:linear-gradient(180deg,#0c5cff,#a7c7ff)}
.bar:hover:after{background:#fff;color:#172a3b;border-color:#ccd6df;box-shadow:var(--shadow)}
.table-wrap{border-color:rgba(18,33,47,.11);background:#fff}
th{
  background:#f2f4f6;color:#667483;border-color:#dde3e8
}
td{color:#33485b;border-color:#edf0f2}
tr:hover td{background:#f8fbff}
.logo-dot{background:#eaf1ff;color:#0c5cff}
.input,.select,.textarea{
  background:#fff;color:#1e3244;border-color:#cdd5dc
}
.select option{background:#fff;color:#1e3244}
.input:focus,.select:focus,.textarea:focus{
  border-color:#0c5cff;box-shadow:0 0 0 3px rgba(12,92,255,.08)
}
.ai-box{
  border-color:#cbdfff;
  background:
    radial-gradient(circle at 92% 0%,rgba(12,92,255,.06),transparent 34%),
    #fff
}
.ai-response{color:#42576a}
.doc{background:#fff;border-color:rgba(18,33,47,.11)}
.doc .name{color:#21374a}
.doc .meta{color:#7b8792}
.login-page{
  background:
    radial-gradient(circle at 75% 12%,rgba(12,92,255,.08),transparent 30%),
    linear-gradient(135deg,#f5f3ee,#fff)
}
.login-card{
  background:rgba(255,255,255,.9);
  border-color:rgba(18,33,47,.1);
  box-shadow:0 30px 80px rgba(25,42,58,.12)
}
.login-card p{color:#697787}
.back-link{color:#667687}
.alert{
  border-color:#cfe0ff;background:#eef4ff;color:#294d7a
}
.modal-backdrop{background:rgba(17,29,40,.38)}
.modal{
  background:#fff;color:#1b3043;border-color:rgba(18,33,47,.12)
}
.client-shell{color:#183047}

/* Editorial accent sections */
.editorial-band{
  background:#102a44;color:white;padding:90px 0;
}
.editorial-band .eyebrow{color:#9fc3ff}
.editorial-band h2{color:#fff;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(38px,5vw,70px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 22px}
.editorial-band p{color:#c9d6e3;max-width:720px;line-height:1.7}
.editorial-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);margin-top:38px}
.editorial-link{padding:24px 20px 24px 0;border-right:1px solid rgba(255,255,255,.15)}
.editorial-link:last-child{border-right:0;padding-left:20px}
.editorial-link:not(:first-child){padding-left:20px}
.editorial-link strong{display:block;margin-bottom:8px;font-size:18px}
.editorial-link span{color:#bdcad7;font-size:13px;line-height:1.5}

.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);background:#fff}
.split-feature > div{padding:46px}
.split-feature .visual{
  min-height:440px;
  background:
    linear-gradient(135deg,rgba(12,92,255,.82),rgba(14,57,102,.96)),
    radial-gradient(circle at 25% 20%,rgba(255,255,255,.35),transparent 28%);
  color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden
}
.split-feature .visual:before{
  content:"";position:absolute;width:310px;height:310px;border-radius:50%;border:1px solid rgba(255,255,255,.35);top:-80px;right:-60px;
  box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.025)
}
.split-feature .visual h3{font:600 42px/1.05 "Source Serif 4",Georgia,serif;letter-spacing:-.035em;margin:0;max-width:440px}
.split-feature .visual p{color:#dce9fa;max-width:480px;line-height:1.6}
.number-list{counter-reset:item;display:grid;gap:0}
.number-list .step{counter-increment:item;display:grid;grid-template-columns:70px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.number-list .step:before{content:"0" counter(item);color:#0c5cff;font-weight:700;letter-spacing:.08em;font-size:12px;padding-top:5px}
.number-list h3{margin:0 0 7px;font-size:20px}.number-list p{margin:0;color:var(--muted);line-height:1.55}
.mega-metric{
  font:600 clamp(62px,9vw,132px)/.9 "Source Serif 4",Georgia,serif;
  letter-spacing:-.06em;color:#0c5cff
}
.light-rule{border-top:1px solid var(--line)}
.content-narrow{max-width:850px}
.quote-big{font:600 clamp(32px,4.7vw,63px)/1.08 "Source Serif 4",Georgia,serif;letter-spacing:-.04em;color:#13273a}
.quote-big .accent{color:#0c5cff}

/* Mobile light theme fixes */
@media(max-width:1050px){
  .editorial-links{grid-template-columns:1fr}
  .editorial-link,.editorial-link:not(:first-child),.editorial-link:last-child{padding:20px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .split-feature{grid-template-columns:1fr}
}


/* Lewis & Company branding update */
.brand{
  gap:12px;
}
.brand-logo{
  height:34px;
  width:auto;
  display:block;
  object-fit:contain;
}
.sidebar .brand .brand-logo{
  height:30px;
}
.topbar .brand .brand-logo{
  height:28px;
}
@media (max-width:720px){
  .brand-logo{height:28px}
  .sidebar .brand .brand-logo{height:28px}
}


/* Logo-only branding */
.brand-only{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.brand-only .brand-logo{
  height:42px;
}
.sidebar .brand-only .brand-logo{
  height:34px;
}
@media (max-width:720px){
  .brand-only .brand-logo{height:34px}
  .sidebar .brand-only .brand-logo{height:30px}
}


/* ==========================================================
   V5 — PROFESSIONAL EDITORIAL REFINEMENT
   Less "AI startup", more strategy / advisory / boardroom.
   ========================================================== */

:root{
  --bg:#f6f5f1;
  --bg-2:#ffffff;
  --panel:#ffffff;
  --panel-strong:#fbfaf7;
  --text:#142433;
  --muted:#65717d;
  --line:rgba(20,36,51,.14);
  --accent:#184f90;
  --accent-2:#456f9f;
  --gold:#8b7443;
  --shadow:0 14px 36px rgba(20,36,51,.055);
  --radius:10px;
  --max:1280px;
}

/* Overall tone */
body{
  background:#f6f5f1;
  color:var(--text);
}
.noise{display:none}
#cursor-orb{display:none}

/* Navigation: flatter, larger logo, more institutional */
.nav{
  top:0;
  width:100%;
  max-width:none;
  border:0;
  border-bottom:1px solid rgba(20,36,51,.10);
  border-radius:0;
  background:rgba(255,255,255,.97);
  box-shadow:none;
  padding:14px max(28px,calc((100vw - 1280px)/2));
  min-height:82px;
  backdrop-filter:blur(10px);
}
.brand-only .brand-logo{
  height:68px !important;
  max-width:250px;
  object-fit:contain;
}
.nav-links{gap:10px}
.nav-link{
  border-radius:0;
  padding:10px 4px;
  margin:0 7px;
  font-size:13px;
  font-weight:600;
  color:#475666;
  border-bottom:2px solid transparent;
}
.nav-link:hover,.nav-link.active{
  background:transparent;
  color:#142433;
  border-bottom-color:#184f90;
}
.nav-actions .btn{
  border-radius:2px;
}

/* Buttons: squarer, quieter */
.btn{
  border-radius:2px;
  box-shadow:none;
  padding:11px 16px;
  font-weight:600;
  background:#fff;
}
.btn:hover{transform:none;box-shadow:none}
.btn.primary{
  background:#173f6b;
  border-color:#173f6b;
  box-shadow:none;
}
.btn.primary:hover{
  background:#102f52;
  box-shadow:none;
}

/* Typography hierarchy */
.hero{
  min-height:82vh;
  padding-top:50px;
}
.hero-grid{
  grid-template-columns:1.28fr .72fr;
  gap:80px;
}
.hero h1,.display,.profile-title,.section-head h2,.cta-panel h2{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}
.hero h1{
  max-width:880px;
  font-size:clamp(54px,6.5vw,92px);
  line-height:.99;
}
.hero h1 .soft{color:#53606e}
.lede{
  color:#4f5d6b;
  max-width:720px;
}
.eyebrow{
  color:#184f90;
  letter-spacing:.12em;
  font-size:11px;
}
.hero-proof{
  border-top:1px solid rgba(20,36,51,.16);
  gap:40px;
}
.proof-number{
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
  font-weight:600;
}

/* Hero visual: replace AI-looking orb with editorial geometry */
.orbit-stage{
  height:520px;
  min-height:520px;
}
.orb-core{
  width:310px;
  height:310px;
  border-radius:2px;
  background:
    linear-gradient(145deg,#173f6b 0%,#244f7e 55%,#d7e0e8 55.2%,#eef1f3 100%);
  box-shadow:none;
  animation:none;
  transform:none !important;
}
.orb-core:after{
  display:none;
}
.ring{
  border-radius:0;
  border-color:rgba(20,36,51,.13);
  animation:none;
}
.r1{
  width:390px;height:390px;
  transform:rotate(8deg);
}
.r2{
  width:450px;height:260px;
  transform:rotate(-12deg);
}
.float-chip{
  animation:none;
  border-radius:2px;
  background:#fff;
  color:#304154;
  box-shadow:0 8px 20px rgba(20,36,51,.055);
  border:1px solid rgba(20,36,51,.12);
  font-size:11px;
  padding:10px 12px;
}

/* Sections: less cards, more editorial whitespace */
.section{
  padding:95px 0;
}
.section.compact{padding:65px 0}
.section-head{
  margin-bottom:42px;
}
.section-head h2{
  font-size:clamp(38px,4.5vw,62px);
}
.card{
  border-radius:2px;
  background:#fff;
  box-shadow:none;
  border:1px solid rgba(20,36,51,.12);
  transition:border-color .2s ease, transform .2s ease;
}
.card:hover{
  border-color:rgba(24,79,144,.35);
  box-shadow:none;
  transform:translateY(-2px);
}
.card .shine{display:none}
.feature-icon{
  border-radius:2px;
  background:#edf2f7;
  border-color:#dbe3eb;
  color:#173f6b;
}
.metric{
  background:#fff;
}
.metric .value{
  font-family:Georgia,"Times New Roman",serif;
  color:#173f6b;
  font-size:38px;
}
.marquee{
  background:#173f6b;
  color:#dce5ee;
  border:0;
}
.marquee-track{
  animation:marquee 50s linear infinite;
}

/* Editorial bands */
.editorial-band{
  background:#173f6b;
  padding:100px 0;
}
.editorial-band h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.035em;
}
.editorial-link{
  transition:background .2s ease;
}
.editorial-link:hover{
  background:rgba(255,255,255,.035);
}

/* CTA */
.cta-panel{
  border-radius:2px;
  background:#eef1f3;
  border:1px solid rgba(20,36,51,.12);
  box-shadow:none;
}

/* Profile */
.portrait{
  border-radius:2px;
  transform:none !important;
  box-shadow:none;
}
.stat-strip{
  border-radius:2px;
}
.timeline-item:after{
  box-shadow:none;
  width:8px;height:8px;
}

/* Dashboard: reduce AI-startup feel */
.app-shell{
  background:#f3f4f5;
}
.sidebar{
  background:#fff;
  border-color:rgba(20,36,51,.11);
}
.sidebar .brand-only .brand-logo{
  height:58px !important;
  max-width:190px;
}
.side-link{
  border-radius:2px;
}
.side-link:hover,.side-link.active{
  background:#edf1f5;
  color:#173f6b;
}
.topbar{
  background:rgba(255,255,255,.96);
  border-color:rgba(20,36,51,.10);
}
.panel{
  border-radius:2px;
  box-shadow:none;
}
.search,.input,.select,.textarea{
  border-radius:2px;
}
.pill{
  border-radius:2px;
}
.table-wrap{
  border-radius:2px;
}
.logo-dot{
  border-radius:2px;
}
.ai-box{
  border-radius:2px;
  background:#fff;
  border:1px solid rgba(24,79,144,.20);
}
.doc{
  border-radius:2px;
}
.login-card,.modal{
  border-radius:2px;
}
.alert{
  border-radius:2px;
}

/* More professional hero spacing */
.profile-hero{
  padding-top:70px;
}
.split-feature{
  border-radius:0;
}
.split-feature .visual{
  background:#173f6b;
}
.quote-big{
  font-family:Georgia,"Times New Roman",serif;
}

/* Reduce excessive motion */
.card{
  transform:none !important;
}
.float-chip,.orb-core,.ring{
  will-change:auto;
}

/* Footer */
.footer{
  background:#efeee9;
}
.footer .brand-only .brand-logo{
  height:76px !important;
  max-width:280px;
}

/* Responsive */
@media(max-width:1050px){
  .nav{
    padding:12px 20px;
    min-height:72px;
  }
  .brand-only .brand-logo{
    height:58px !important;
    max-width:210px;
  }
  .hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .orbit-stage{
    height:400px;
    min-height:400px;
  }
}
@media(max-width:720px){
  .brand-only .brand-logo{
    height:50px !important;
    max-width:180px;
  }
  .nav{min-height:66px}
  .hero{padding-top:70px}
  .hero h1{font-size:48px}
  .orbit-stage{
    height:320px;
    min-height:320px;
  }
  .orb-core{
    width:220px;height:220px;
  }
  .r1{width:280px;height:280px}
  .r2{width:320px;height:190px}
  .footer .brand-only .brand-logo{
    height:62px !important;
  }
}


/* ==========================================================
   V7 — KINETIC EXECUTIVE MOTION SYSTEM
   Inspired by modern motion-led creative sites, adapted for
   a high-trust strategy / M&A advisory brand.
   ========================================================== */

:root{
  --motion-ease:cubic-bezier(.16,1,.3,1);
  --motion-ease-soft:cubic-bezier(.22,.75,.25,1);
  --ink:#13283b;
  --blue:#174e88;
  --blue-bright:#3c76b8;
  --paper:#f6f4ef;
  --paper-2:#ecebe6;
}

/* page transitions */
#app{
  transform-origin:50% 10%;
}
.route-enter{
  animation:routeIn .72s var(--motion-ease) both;
}
@keyframes routeIn{
  from{opacity:0;transform:translateY(18px) scale(.994)}
  to{opacity:1;transform:none}
}

/* nav reacts to scroll */
.nav{
  transition:min-height .35s var(--motion-ease),padding .35s var(--motion-ease),
             background .35s ease,box-shadow .35s ease;
}
.nav.nav-scrolled{
  min-height:66px;
  padding-top:8px;
  padding-bottom:8px;
  background:rgba(255,255,255,.965);
  box-shadow:0 8px 30px rgba(20,36,51,.055);
}
.nav .brand-logo{
  transition:height .35s var(--motion-ease);
}
.nav.nav-scrolled .brand-logo{
  height:50px !important;
}

/* kinetic hero */
.kinetic-hero{
  min-height:100svh;
  padding:135px 0 60px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(180deg,#f8f6f1 0%,#f8f6f1 78%,#eef0f1 100%);
}
.kinetic-hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:rgba(19,40,59,.12);
}
.kinetic-hero-inner{
  width:min(1380px,calc(100% - 48px));
  margin:0 auto;
  position:relative;
  z-index:2;
}
.kinetic-topline{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:28px;
  color:#42576b;
}
.kinetic-topline .lede{
  max-width:580px;
  margin:0;
  font-size:17px;
}
.hero-kinetic-title{
  margin:0;
  font:500 clamp(64px,10.1vw,164px)/.83 Georgia,"Times New Roman",serif;
  letter-spacing:-.075em;
  color:#11283c;
  position:relative;
}
.kline{
  display:block;
  overflow:hidden;
  padding-bottom:.07em;
  margin-bottom:-.04em;
}
.kline-inner{
  display:flex;
  align-items:baseline;
  will-change:transform;
}
.kline:nth-child(2) .kline-inner{
  padding-left:9vw;
}
.kline:nth-child(3) .kline-inner{
  padding-left:20vw;
}
.kword{
  display:inline-block;
  transform:translateY(115%) rotate(2deg);
  opacity:.01;
  will-change:transform,opacity;
}
.kline.is-in .kword{
  animation:kWordIn 1.05s var(--motion-ease) forwards;
}
.kline.is-in .kword:nth-child(2){animation-delay:.08s}
.kline.is-in .kword:nth-child(3){animation-delay:.16s}
@keyframes kWordIn{
  to{transform:translateY(0) rotate(0);opacity:1}
}
.kline .accent-word{
  color:#174e88;
  font-style:italic;
}
.hero-bottom{
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:end;
  margin-top:40px;
  padding-top:26px;
  border-top:1px solid rgba(19,40,59,.14);
}
.hero-proof.motion-proof{
  margin:0;padding:0;border:0;
  display:flex;
  gap:42px;
}
.scroll-cue{
  display:flex;align-items:center;gap:10px;
  color:#526477;font-size:12px;text-transform:uppercase;letter-spacing:.12em;
}
.scroll-cue i{
  display:block;width:34px;height:34px;border:1px solid rgba(19,40,59,.18);border-radius:50%;
  position:relative;overflow:hidden;
}
.scroll-cue i:after{
  content:"";position:absolute;left:50%;top:7px;width:1px;height:18px;background:#174e88;
  animation:scrollCue 1.8s var(--motion-ease) infinite;
}
@keyframes scrollCue{
  0%{transform:translate(-50%,-20px);opacity:0}
  30%{opacity:1}
  100%{transform:translate(-50%,24px);opacity:0}
}

/* dynamic service ticker */
.motion-ticker{
  overflow:hidden;
  background:#173f6b;
  color:#fff;
  padding:20px 0;
}
.motion-ticker-track{
  display:flex;width:max-content;gap:42px;align-items:center;
  animation:tickerMove 28s linear infinite;
}
.motion-ticker:hover .motion-ticker-track{animation-play-state:paused}
.motion-ticker span{
  font:500 clamp(20px,2.1vw,34px)/1 Georgia,"Times New Roman",serif;
  white-space:nowrap;
}
.motion-ticker .dot-sep{
  width:8px;height:8px;border:1px solid rgba(255,255,255,.7);border-radius:50%;
}
@keyframes tickerMove{to{transform:translateX(-50%)}}

/* scroll story — pinned text choreography */
.story-scroll{
  min-height:320vh;
  position:relative;
  background:#f0efe9;
  border-bottom:1px solid rgba(19,40,59,.12);
}
.story-sticky{
  position:sticky;
  top:0;
  min-height:100vh;
  display:grid;
  align-items:center;
  overflow:hidden;
}
.story-grid{
  width:min(1280px,calc(100% - 48px));
  margin:auto;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:80px;
  align-items:center;
}
.story-index{
  align-self:stretch;
  display:flex;flex-direction:column;justify-content:center;
}
.story-label{
  text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#174e88;font-weight:700;
  margin-bottom:25px;
}
.story-rail{
  position:relative;height:220px;
}
.story-beat{
  position:absolute;inset:0;
  opacity:0;
  transform:translateY(30px) scale(.97);
  transition:opacity .18s linear,transform .18s linear;
  pointer-events:none;
}
.story-beat.active{
  opacity:1;transform:none;
}
.story-beat h2{
  font:500 clamp(46px,6vw,88px)/.95 Georgia,"Times New Roman",serif;
  letter-spacing:-.055em;margin:0;color:#14293b;
}
.story-beat p{
  font-size:17px;line-height:1.65;color:#5a6877;max-width:610px;margin-top:24px;
}
.story-visual{
  min-height:620px;
  position:relative;
  display:grid;
  place-items:center;
  perspective:1200px;
}
.deal-scene{
  width:min(540px,100%);
  height:540px;
  position:relative;
  transform-style:preserve-3d;
}
.deal-plane{
  position:absolute;
  border:1px solid rgba(19,40,59,.14);
  background:#fff;
  box-shadow:0 24px 80px rgba(28,48,66,.08);
  transition:transform .2s linear,opacity .2s linear;
  overflow:hidden;
}
.deal-plane.p1{inset:38px 50px 116px 0}
.deal-plane.p2{inset:112px 0 42px 115px}
.deal-plane.p3{width:190px;height:124px;right:20px;top:12px;background:#174e88;color:#fff}
.deal-plane.p4{width:220px;height:130px;left:20px;bottom:0;background:#e6e9ec}
.deal-plane-content{padding:22px}
.deal-plane strong{display:block;font:600 25px Georgia,serif;letter-spacing:-.02em}
.deal-plane small{display:block;color:#758391;margin-top:6px;line-height:1.5}
.deal-plane.p3 small{color:#cbd9e7}
.deal-bars{display:flex;gap:7px;align-items:end;height:120px;margin-top:22px}
.deal-bars i{display:block;flex:1;background:#b9cce0}
.deal-bars i:nth-child(2n){background:#174e88}
.story-progress{
  display:flex;gap:7px;margin-top:28px
}
.story-progress i{
  width:36px;height:2px;background:#c7ccd0;display:block;overflow:hidden;position:relative
}
.story-progress i:after{
  content:"";position:absolute;inset:0;background:#174e88;transform:scaleX(0);transform-origin:left;
}
.story-progress i.active:after{transform:scaleX(1)}

/* horizontal capability rail */
.rail-scroll{
  height:320vh;
  position:relative;
  background:#fff;
}
.rail-sticky{
  position:sticky;top:0;height:100vh;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
}
.rail-head{
  width:min(1280px,calc(100% - 48px));
  margin:0 auto 34px;
  display:flex;justify-content:space-between;align-items:end;gap:40px
}
.rail-head h2{
  font:500 clamp(46px,5.4vw,76px)/.96 Georgia,serif;
  letter-spacing:-.05em;margin:8px 0 0
}
.rail-head p{max-width:470px;color:#667483;line-height:1.6}
.motion-rail{
  display:flex;
  gap:18px;
  width:max-content;
  padding-left:max(24px,calc((100vw - 1280px)/2));
  padding-right:24vw;
  will-change:transform;
}
.motion-card{
  width:min(470px,78vw);
  min-height:390px;
  flex:0 0 auto;
  border:1px solid rgba(19,40,59,.14);
  background:#f6f5f1;
  padding:30px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
  transition:transform .28s var(--motion-ease),background .28s ease;
}
.motion-card:hover{
  transform:translateY(-8px) rotate(-.3deg);
  background:#fff;
}
.motion-card .mc-num{
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#174e88;font-weight:700
}
.motion-card h3{
  font:500 42px/.98 Georgia,serif;
  letter-spacing:-.045em;margin:20px 0;color:#14293b
}
.motion-card p{
  color:#5d6d7b;line-height:1.62;max-width:360px
}
.motion-card .mc-arrow{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;border:1px solid rgba(19,40,59,.16);
  align-self:flex-end;transition:transform .3s var(--motion-ease),background .3s ease,color .3s ease
}
.motion-card:hover .mc-arrow{
  transform:rotate(-30deg);background:#174e88;color:#fff
}
.motion-card:before{
  content:"";position:absolute;width:240px;height:240px;border-radius:50%;
  border:1px solid rgba(23,78,136,.12);right:-90px;top:-100px;
  transition:transform .45s var(--motion-ease)
}
.motion-card:hover:before{transform:scale(1.2) rotate(25deg)}
.rail-counter{
  width:min(1280px,calc(100% - 48px));margin:24px auto 0;
  display:flex;align-items:center;gap:14px;color:#708090;font-size:12px
}
.rail-counter .line{height:1px;background:#d1d7dc;flex:1;position:relative;overflow:hidden}
.rail-counter .line i{position:absolute;inset:0;background:#174e88;transform:scaleX(0);transform-origin:left}

/* large scale stats with scroll transform */
.scale-stats{
  background:#173f6b;color:#fff;padding:110px 0;overflow:hidden
}
.scale-stats .eyebrow{color:#b9cee4}
.scale-stat-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.2);
  margin-top:38px
}
.scale-stat{
  padding:34px 25px 34px 0;border-right:1px solid rgba(255,255,255,.18);
}
.scale-stat:not(:first-child){padding-left:25px}
.scale-stat:last-child{border-right:0}
.scale-stat strong{
  display:block;font:500 clamp(50px,6vw,82px)/1 Georgia,serif;letter-spacing:-.05em
}
.scale-stat span{display:block;margin-top:10px;color:#c7d4e1;font-size:13px;line-height:1.4}

/* animated reveal variants */
.reveal{
  opacity:0;
  transform:translateY(24px);
}
.reveal.is-visible{
  opacity:1;transform:none;
  transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease);
}
.reveal[data-reveal="left"]{transform:translateX(-36px)}
.reveal[data-reveal="right"]{transform:translateX(36px)}
.reveal[data-reveal="scale"]{transform:scale(.94)}
.reveal.is-visible[data-reveal]{transform:none}

/* kinetic underline / link */
.editorial-link,.footer-links a{
  position:relative
}
.editorial-link:after,.footer-links a:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--motion-ease)
}
.editorial-link:hover:after,.footer-links a:hover:after{
  transform:scaleX(1);transform-origin:left
}

/* magnetic buttons */
.magnetic{
  will-change:transform;
  transition:transform .15s ease-out;
}

/* About page: cinematic portrait reveal */
.portrait-wrap{
  overflow:hidden;
}
.portrait{
  clip-path:inset(0 0 100% 0);
}
.portrait.portrait-in{
  animation:portraitReveal 1.1s var(--motion-ease) forwards;
}
@keyframes portraitReveal{
  to{clip-path:inset(0 0 0 0)}
}
.timeline-item{
  transition:transform .45s var(--motion-ease),opacity .45s ease;
}
.timeline-item:hover{
  transform:translateX(8px)
}

/* Subtle live background geometry */
.motion-grid-bg{
  position:absolute;inset:0;pointer-events:none;opacity:.25;
  background-image:
    linear-gradient(rgba(19,40,59,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(19,40,59,.05) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 70%,transparent 100%);
}

/* responsive */
@media(max-width:980px){
  .kinetic-hero{min-height:auto;padding-top:120px}
  .kinetic-topline{display:block}
  .kinetic-topline .lede{margin-top:16px}
  .kline:nth-child(2) .kline-inner{padding-left:5vw}
  .kline:nth-child(3) .kline-inner{padding-left:9vw}
  .hero-bottom{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr;gap:25px}
  .story-visual{min-height:430px}
  .deal-scene{height:410px}
  .story-rail{height:245px}
  .rail-head{display:block}
  .rail-head p{margin-top:15px}
  .scale-stat-grid{grid-template-columns:1fr 1fr}
  .scale-stat:nth-child(2){border-right:0}
  .scale-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
}
@media(max-width:680px){
  .kinetic-hero-inner,.story-grid,.rail-head,.rail-counter{
    width:calc(100% - 28px)
  }
  .hero-kinetic-title{font-size:clamp(54px,18vw,94px)}
  .kline:nth-child(2) .kline-inner,
  .kline:nth-child(3) .kline-inner{padding-left:0}
  .hero-proof.motion-proof{gap:20px}
  .story-scroll{min-height:300vh}
  .story-sticky{padding-top:70px}
  .story-beat h2{font-size:46px}
  .story-visual{min-height:350px}
  .deal-scene{height:330px}
  .deal-plane.p1{inset:25px 35px 85px 0}
  .deal-plane.p2{inset:90px 0 30px 80px}
  .deal-plane.p3{width:145px;height:96px}
  .deal-plane.p4{width:160px;height:98px}
  .deal-plane-content{padding:15px}
  .deal-plane strong{font-size:18px}
  .deal-bars{height:78px}
  .rail-scroll{height:280vh}
  .motion-card{width:82vw;min-height:360px;padding:24px}
  .motion-card h3{font-size:34px}
  .scale-stat-grid{grid-template-columns:1fr}
  .scale-stat,.scale-stat:not(:first-child){padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .scale-stat:last-child{border-bottom:0}
}

@media(prefers-reduced-motion:reduce){
  .kword,.reveal,.portrait{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important}
  .motion-ticker-track{animation:none!important}
  .scroll-cue i:after{animation:none!important}
  .story-beat{transition:none!important}
  .motion-rail{transform:none!important}
  .rail-scroll{height:auto!important}
  .rail-sticky{position:relative!important;height:auto!important;overflow:auto!important;padding:70px 0}
  .motion-rail{width:auto!important;display:grid!important;grid-template-columns:1fr!important;padding:0 14px!important}
  .motion-card{width:auto!important}
}


/* ==========================================================
   V8 — CLEAN EXECUTIVE ABOUT PAGE
   ========================================================== */

.about-page{
  background:#f7f6f2;
}

.about-hero{
  padding:145px 0 90px;
  background:#f7f6f2;
  border-bottom:1px solid rgba(20,36,51,.11);
}

.about-hero-grid{
  display:grid;
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
  gap:90px;
  align-items:center;
}

.about-photo-wrap{
  max-width:510px;
}

.about-photo{
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#e9ecef;
  border:1px solid rgba(20,36,51,.10);
}

.about-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
}

.about-photo-fallback{
  width:100%;height:100%;
  display:grid;place-items:center;
  padding:40px;
  color:#526577;
  font:500 26px Georgia,serif;
  text-align:center;
}

.about-photo-caption{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:13px;
  font-size:11px;
  color:#71808e;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.about-intro h1{
  margin:14px 0 6px;
  font:500 clamp(54px,6vw,88px)/.95 Georgia,"Times New Roman",serif;
  letter-spacing:-.055em;
  color:#14293b;
}

.about-role{
  margin:0 0 28px;
  color:#174e88;
  font-size:18px;
  font-weight:600;
}

.about-lede{
  max-width:760px;
  font-size:20px;
  line-height:1.62;
  color:#4f5f6e;
  margin:0;
}

.about-meta{
  margin-top:38px;
  padding:24px 0;
  border-top:1px solid rgba(20,36,51,.14);
  border-bottom:1px solid rgba(20,36,51,.14);
  display:grid;
  gap:14px;
}

.about-meta > div{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:22px;
  align-items:baseline;
}

.about-meta span{
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#7b8792;
  font-weight:700;
}

.about-meta strong{
  font-size:14px;
  font-weight:600;
  color:#24394c;
}

.about-summary{
  padding:100px 0;
  background:#fff;
}

.about-summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:start;
}

.about-summary-heading h2,
.about-section-head h2,
.about-experience-intro h2{
  margin:10px 0 0;
  font:500 clamp(40px,4.6vw,64px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
  color:#14293b;
}

.about-summary-copy{
  padding-top:4px;
}

.about-summary-copy p{
  color:#5d6b79;
  font-size:17px;
  line-height:1.75;
  margin:0 0 20px;
}

.about-summary-copy strong{
  color:#1b3348;
  font-weight:600;
}

.about-highlight-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:70px;
  border-top:1px solid rgba(20,36,51,.13);
  border-bottom:1px solid rgba(20,36,51,.13);
}

.about-highlight{
  padding:30px 24px 30px 0;
  border-right:1px solid rgba(20,36,51,.12);
}

.about-highlight:not(:first-child){padding-left:24px}
.about-highlight:last-child{border-right:0}

.about-highlight strong{
  display:block;
  font:500 42px/1 Georgia,serif;
  letter-spacing:-.04em;
  color:#174e88;
}

.about-highlight span{
  display:block;
  margin-top:10px;
  color:#263a4d;
  font-size:14px;
  font-weight:600;
}

.about-highlight small{
  display:block;
  margin-top:5px;
  color:#7a8793;
  font-size:11px;
  line-height:1.45;
}

.about-capabilities{
  padding:110px 0;
  background:#f3f2ed;
}

.about-section-head{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}

.about-section-head > p{
  color:#687685;
  line-height:1.65;
  max-width:520px;
  margin:0 0 4px auto;
}

.about-expertise-list{
  border-top:1px solid rgba(20,36,51,.14);
}

.about-expertise-row{
  display:grid;
  grid-template-columns:90px .7fr 1.3fr;
  gap:25px;
  padding:27px 0;
  border-bottom:1px solid rgba(20,36,51,.12);
  align-items:start;
}

.about-expertise-num{
  color:#174e88;
  font-size:11px;
  letter-spacing:.14em;
  font-weight:700;
}

.about-expertise-row h3{
  margin:0;
  color:#20364a;
  font:500 23px/1.2 Georgia,serif;
}

.about-expertise-row p{
  margin:0;
  color:#657381;
  line-height:1.62;
  max-width:650px;
}

.about-experience{
  padding:120px 0;
  background:#fff;
}

.about-experience-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:100px;
  align-items:start;
}

.about-experience-intro{
  position:sticky;
  top:120px;
}

.about-experience-intro p{
  color:#6a7885;
  line-height:1.65;
  margin-top:22px;
  max-width:440px;
}

.about-career{
  border-top:1px solid rgba(20,36,51,.14);
}

.about-career-row{
  display:grid;
  grid-template-columns:120px .7fr 1.3fr;
  gap:24px;
  padding:23px 0;
  border-bottom:1px solid rgba(20,36,51,.11);
}

.about-career-year{
  font-size:11px;
  font-weight:700;
  color:#174e88;
  letter-spacing:.05em;
}

.about-career-company{
  color:#1d3347;
  font-weight:650;
}

.about-career-role{
  color:#687685;
  line-height:1.45;
}

.about-sectors{
  padding:110px 0;
  background:#173f6b;
  color:#fff;
}

.about-sectors .eyebrow{color:#bdd0e3}
.about-sectors .about-section-head h2{color:#fff}

.about-sector-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.20);
}

.about-sector-card{
  padding:34px 32px 34px 0;
  border-right:1px solid rgba(255,255,255,.18);
}

.about-sector-card:not(:first-child){padding-left:32px}
.about-sector-card:last-child{border-right:0}

.about-sector-card > span{
  display:block;
  color:#b8cce0;
  font-size:11px;
  letter-spacing:.14em;
  margin-bottom:36px;
}

.about-sector-card h3{
  margin:0 0 15px;
  font:500 30px/1.05 Georgia,serif;
  color:#fff;
}

.about-sector-card p{
  color:#c9d7e4;
  line-height:1.65;
  margin:0;
}

.about-transactions{
  padding:115px 0;
  background:#fff;
}

.about-transaction-table{
  border-top:1px solid rgba(20,36,51,.14);
}

.about-transaction-row{
  display:grid;
  grid-template-columns:1fr 180px 1.2fr;
  gap:36px;
  align-items:center;
  padding:25px 0;
  border-bottom:1px solid rgba(20,36,51,.11);
}

.about-transaction-name{
  font:500 22px Georgia,serif;
  color:#1e3448;
}

.about-transaction-value{
  font:500 29px Georgia,serif;
  color:#174e88;
}

.about-transaction-note{
  color:#6b7885;
  line-height:1.55;
  font-size:13px;
}

.about-quote{
  padding:115px 0;
  background:#f0efea;
}

.about-quote blockquote{
  max-width:1050px;
  margin:0;
  font:500 clamp(42px,5.3vw,72px)/1.08 Georgia,serif;
  letter-spacing:-.045em;
  color:#173047;
}

.about-testimonials{
  padding:110px 0;
  background:#fff;
}

.about-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid rgba(20,36,51,.13);
  border-bottom:1px solid rgba(20,36,51,.13);
}

.about-testimonial{
  padding:34px 28px 34px 0;
  border-right:1px solid rgba(20,36,51,.12);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:290px;
}

.about-testimonial:not(:first-child){padding-left:28px}
.about-testimonial:last-child{border-right:0}

.about-testimonial p{
  margin:0;
  font:500 22px/1.45 Georgia,serif;
  letter-spacing:-.015em;
  color:#2a4054;
}

.about-testimonial div{
  margin-top:30px;
}

.about-testimonial strong{
  display:block;
  color:#1e3347;
  font-size:13px;
}

.about-testimonial span{
  display:block;
  color:#7a8793;
  font-size:11px;
  margin-top:4px;
}

.about-final-cta{
  background:#f7f6f2;
}

@media(max-width:1000px){
  .about-hero-grid,
  .about-summary-grid,
  .about-experience-grid{
    grid-template-columns:1fr;
    gap:55px;
  }
  .about-photo-wrap{max-width:560px}
  .about-experience-intro{position:static}
  .about-highlight-grid{grid-template-columns:1fr 1fr}
  .about-highlight:nth-child(2){border-right:0}
  .about-highlight:nth-child(-n+2){border-bottom:1px solid rgba(20,36,51,.12)}
  .about-section-head{grid-template-columns:1fr;gap:16px}
  .about-section-head > p{margin:0}
  .about-sector-grid{grid-template-columns:1fr}
  .about-sector-card,
  .about-sector-card:not(:first-child){
    padding:28px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .about-sector-card:last-child{border-bottom:0}
  .about-testimonial-grid{grid-template-columns:1fr}
  .about-testimonial,
  .about-testimonial:not(:first-child){
    padding:30px 0;
    border-right:0;
    border-bottom:1px solid rgba(20,36,51,.12);
    min-height:0;
  }
  .about-testimonial:last-child{border-bottom:0}
}

@media(max-width:700px){
  .about-hero{padding:110px 0 65px}
  .about-intro h1{font-size:52px}
  .about-lede{font-size:18px}
  .about-meta > div{grid-template-columns:1fr;gap:5px}
  .about-highlight-grid{grid-template-columns:1fr}
  .about-highlight,
  .about-highlight:not(:first-child){
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid rgba(20,36,51,.12);
  }
  .about-highlight:last-child{border-bottom:0}
  .about-expertise-row{
    grid-template-columns:45px 1fr;
  }
  .about-expertise-row p{
    grid-column:2;
  }
  .about-career-row{
    grid-template-columns:90px 1fr;
  }
  .about-career-role{
    grid-column:2;
  }
  .about-transaction-row{
    grid-template-columns:1fr auto;
    gap:10px 20px;
  }
  .about-transaction-note{
    grid-column:1/-1;
  }
  .about-photo-caption{
    display:block;
  }
  .about-photo-caption span:last-child{
    display:block;margin-top:4px
  }
}


/* ==========================================================
   V9 — EXECUTIVE COMMAND CENTER
   Clean, structured CEO / owner workspace
   ========================================================== */

.executive-shell{
  grid-template-columns:268px 1fr;
  background:#f2f3f4;
}

.executive-sidebar{
  width:268px;
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
}

.sidebar-brand-wrap{
  min-height:92px;
  display:flex;
  align-items:center;
  padding:15px 24px;
  border-bottom:1px solid rgba(20,36,51,.09);
}

.sidebar-brand-wrap .brand-logo{
  height:54px !important;
  max-width:185px;
}

.sidebar-nav{
  padding:18px 14px;
  overflow:auto;
  flex:1;
}

.executive-sidebar .side-group{
  margin:0 0 22px;
}

.executive-sidebar .side-label{
  display:block;
  padding:0 10px 7px;
  font-size:9px;
  color:#9aa3ab;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:700;
}

.executive-sidebar .side-link{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:11px;
  padding:9px 10px;
  margin:1px 0;
  border-left:2px solid transparent;
  color:#5b6875;
  font-size:12px;
  font-weight:550;
}

.executive-sidebar .side-link:hover{
  background:#f5f7f9;
  color:#20384f;
}

.executive-sidebar .side-link.active{
  background:#edf2f7;
  color:#173f6b;
  border-left-color:#173f6b;
  font-weight:650;
}

.executive-sidebar .side-link .badge{
  margin-left:auto;
  font-size:8px;
  padding:2px 5px;
  background:#dfeaf5;
  color:#173f6b;
}

.sidebar-footer{
  border-top:1px solid rgba(20,36,51,.09);
  padding:12px 14px 16px;
}

.sidebar-user{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 10px 2px;
}

.sidebar-user .avatar{
  width:32px;height:32px;
  font-size:11px;
}

.sidebar-user strong{
  display:block;
  font-size:11px;
  color:#23394d;
}

.sidebar-user span{
  display:block;
  margin-top:2px;
  font-size:9px;
  color:#8a949d;
}

.executive-topbar{
  height:68px;
  padding:0 28px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(20,36,51,.09);
}

.topbar-left,.topbar-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.executive-search{
  width:min(480px,42vw);
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 0;
  color:#75818c;
}

.executive-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#24394d;
  font-size:12px;
}

.system-status{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  color:#788590;
  margin-right:4px;
}

.system-status i{
  width:6px;height:6px;border-radius:50%;
  background:#2a8a69;
}

.topbar-mobile-menu{display:none}

.executive-dashboard{
  padding:36px 38px 60px;
  max-width:1540px;
  margin:0 auto;
}

.exec-page-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:30px;
}

.exec-breadcrumb{
  color:#8a949e;
  font-size:10px;
  letter-spacing:.04em;
  margin-bottom:8px;
}

.exec-page-header h1{
  margin:0;
  font:500 40px/1.05 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
  color:#182f43;
}

.exec-page-header p{
  margin:8px 0 0;
  color:#6b7884;
  font-size:13px;
}

.exec-header-actions{
  display:flex;
  gap:8px;
}

.exec-kpi-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid rgba(20,36,51,.10);
  margin-bottom:18px;
}

.exec-kpi{
  padding:22px 24px;
  border-right:1px solid rgba(20,36,51,.09);
}

.exec-kpi:last-child{border-right:0}

.exec-kpi span{
  display:block;
  color:#77838e;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.exec-kpi strong{
  display:block;
  margin-top:7px;
  font:500 29px/1 Georgia,"Times New Roman",serif;
  color:#173f6b;
}

.exec-kpi small{
  display:block;
  margin-top:8px;
  color:#88939d;
  font-size:9px;
}

.exec-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}

.exec-panel{
  background:#fff;
  border:1px solid rgba(20,36,51,.10);
  padding:24px;
  box-shadow:none;
  min-width:0;
}

.exec-decisions{grid-column:span 7}
.exec-today{grid-column:span 5}
.exec-engagements{grid-column:span 12}
.exec-pipeline{grid-column:span 7}
.exec-finance{grid-column:span 5}
.exec-intelligence{grid-column:span 12}

.exec-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.exec-panel-head h2{
  margin:5px 0 0;
  color:#22394d;
  font:500 22px/1.15 Georgia,"Times New Roman",serif;
  letter-spacing:-.02em;
}

.exec-panel-head > a{
  color:#174e88;
  font-size:10px;
  font-weight:650;
  padding-top:2px;
}

.exec-label{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#8b96a0;
  font-weight:700;
}

.exec-count{
  font-size:10px;
  color:#7b8792;
  padding:5px 7px;
  border:1px solid rgba(20,36,51,.11);
}

.decision-list{
  border-top:1px solid rgba(20,36,51,.10);
}

.decision-row{
  display:grid;
  grid-template-columns:8px 1fr 130px 30px;
  gap:12px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid rgba(20,36,51,.08);
}

.decision-priority{
  width:4px;height:28px;
  background:#99a4ad;
}

.decision-priority.high{background:#9d554e}
.decision-priority.medium{background:#aa8648}
.decision-priority.low{background:#5f7892}

.decision-copy strong{
  display:block;
  color:#273d50;
  font-size:12px;
}

.decision-copy span{
  display:block;
  color:#78848e;
  font-size:10px;
  margin-top:4px;
}

.decision-meta{
  text-align:right;
  color:#8a949d;
  font-size:9px;
}

.decision-open{
  border:0;
  background:transparent;
  color:#53677a;
  width:30px;height:30px;
  display:grid;place-items:center;
}

.decision-open:hover{color:#174e88}

.exec-agenda{
  border-top:1px solid rgba(20,36,51,.10);
}

.agenda-item{
  display:grid;
  grid-template-columns:42px 1px 1fr auto;
  gap:13px;
  align-items:start;
  padding:14px 0;
}

.agenda-time{
  font-size:10px;
  color:#6e7b87;
  padding-top:2px;
}

.agenda-line{
  width:1px;
  align-self:stretch;
  background:#d8dde2;
  position:relative;
}

.agenda-item.now .agenda-line:before{
  content:"";
  position:absolute;
  width:7px;height:7px;border-radius:50%;
  background:#174e88;
  left:50%;top:3px;transform:translateX(-50%);
}

.agenda-copy strong{
  display:block;
  font-size:11px;
  color:#2a4053;
}

.agenda-copy span{
  display:block;
  color:#85909a;
  font-size:9px;
  margin-top:4px;
}

.agenda-status{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#174e88;
  font-weight:700;
}

.exec-table-wrap{
  overflow:auto;
}

.exec-table{
  min-width:900px;
  width:100%;
  border-collapse:collapse;
}

.exec-table th{
  padding:10px 10px;
  background:#f5f6f7;
  color:#7d8994;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid #e2e6e9;
}

.exec-table td{
  padding:14px 10px;
  border-bottom:1px solid #edf0f2;
  font-size:10px;
  color:#5d6d7c;
}

.exec-table td strong{
  color:#283e51;
  font-size:11px;
}

.exec-table tr:last-child td{border-bottom:0}

.exec-progress{
  width:90px;
  height:4px;
  background:#e7ebee;
  display:inline-block;
  vertical-align:middle;
  margin-right:8px;
}

.exec-progress span{
  display:block;
  height:100%;
  background:#174e88;
}

.exec-table td small{
  font-size:8px;
  color:#7a8792;
}

.exec-status{
  display:inline-block;
  padding:4px 6px;
  font-size:8px;
  font-weight:650;
  border:1px solid transparent;
}

.exec-status.good{
  color:#28644e;
  background:#edf5f1;
  border-color:#d7e9e0;
}

.exec-status.attention{
  color:#8d6233;
  background:#f8f1e8;
  border-color:#eadac7;
}

.exec-status.neutral{
  color:#5e6c79;
  background:#f2f4f6;
  border-color:#e0e4e7;
}

.pipeline-summary{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:28px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(20,36,51,.09);
}

.pipeline-number{
  padding-right:20px;
  border-right:1px solid rgba(20,36,51,.10);
}

.pipeline-number strong{
  display:block;
  font:500 52px/.95 Georgia,serif;
  color:#173f6b;
}

.pipeline-number span{
  display:block;
  margin-top:9px;
  color:#7c8893;
  font-size:9px;
}

.pipeline-stages{
  display:grid;
  gap:9px;
}

.pipeline-stage > div:first-child{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:9px;
  color:#6b7884;
  margin-bottom:4px;
}

.pipeline-stage strong{color:#31495e}

.pipeline-bar{
  height:3px;
  background:#e9edf0;
}

.pipeline-bar i{
  display:block;
  height:100%;
  background:#5a7fa5;
}

.top-opportunities{
  padding-top:20px;
}

.top-op-row{
  display:grid;
  grid-template-columns:1fr 130px 65px;
  gap:18px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid rgba(20,36,51,.08);
}

.top-op-row:last-child{border-bottom:0}

.top-op-name strong{
  display:block;
  color:#2b4053;
  font-size:11px;
}

.top-op-name span{
  display:block;
  margin-top:3px;
  color:#8a949d;
  font-size:8px;
}

.top-op-stage{
  color:#687684;
  font-size:9px;
}

.top-op-score{
  text-align:right;
}

.top-op-score span{
  display:block;
  color:#98a1a9;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.top-op-score strong{
  display:block;
  color:#174e88;
  font:500 21px Georgia,serif;
}

.finance-primary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid rgba(20,36,51,.10);
  border-bottom:1px solid rgba(20,36,51,.10);
}

.finance-primary > div{
  padding:18px 0;
}

.finance-primary > div:first-child{
  border-right:1px solid rgba(20,36,51,.10);
  padding-right:18px;
}

.finance-primary > div:last-child{padding-left:18px}

.finance-primary span{
  display:block;
  color:#85909a;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.finance-primary strong{
  display:block;
  margin-top:5px;
  color:#1f3a53;
  font:500 26px Georgia,serif;
}

.finance-primary small{
  display:block;
  margin-top:5px;
  color:#7e8a94;
  font-size:8px;
}

.finance-bars{
  height:130px;
  display:flex;
  gap:5px;
  align-items:end;
  padding:22px 0 20px;
  border-bottom:1px solid rgba(20,36,51,.09);
}

.finance-bars i{
  display:block;
  flex:1;
  min-width:5px;
  background:#8aa4bd;
  position:relative;
}

.finance-bars i:nth-last-child(-n+4){background:#365f88}

.finance-bars i span{
  position:absolute;
  bottom:-15px;
  left:50%;
  transform:translateX(-50%);
  font-style:normal;
  font-size:7px;
  color:#9aa3aa;
}

.finance-notes{
  display:flex;
  gap:22px;
  padding-top:20px;
  flex-wrap:wrap;
}

.finance-notes > div{
  display:flex;
  gap:7px;
  align-items:center;
  color:#75818b;
  font-size:9px;
}

.finance-notes i{
  width:6px;height:6px;border-radius:50%;
}

.finance-notes i.good{background:#3e8066}
.finance-notes i.attention{background:#a97945}

.exec-intelligence{
  display:grid;
  grid-template-columns:230px 1fr 1fr 1fr;
  gap:0;
}

.exec-intelligence .exec-panel-head{
  padding-right:22px;
  margin:0;
  flex-direction:column;
  justify-content:flex-start;
}

.intel-item{
  padding:0 24px;
  border-left:1px solid rgba(20,36,51,.10);
}

.intel-source{
  display:inline-block;
  font-size:8px;
  padding:4px 5px;
  margin-bottom:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.intel-source.verified{
  color:#28644e;
  background:#edf5f1;
}

.intel-source.public{
  color:#365d85;
  background:#edf2f7;
}

.intel-source.ai{
  color:#8a6538;
  background:#f7f1e8;
}

.intel-item strong{
  display:block;
  color:#293f52;
  font-size:11px;
  line-height:1.45;
}

.intel-item p{
  color:#7e8993;
  font-size:9px;
  line-height:1.55;
  min-height:45px;
}

.intel-item .btn{
  font-size:9px;
  padding:7px 9px;
}

@media(max-width:1180px){
  .exec-decisions,.exec-today,.exec-pipeline,.exec-finance{grid-column:span 12}
  .exec-intelligence{
    grid-template-columns:1fr 1fr 1fr;
  }
  .exec-intelligence .exec-panel-head{
    grid-column:1/-1;
    padding:0 0 18px;
    flex-direction:row;
    align-items:flex-start;
  }
  .intel-item:first-of-type{border-left:0;padding-left:0}
}

@media(max-width:900px){
  .executive-shell{display:block}
  .executive-sidebar{
    position:fixed;
    bottom:0;top:auto;
    width:100%;height:68px;
    display:flex;
    flex-direction:row;
    border-top:1px solid rgba(20,36,51,.10);
    z-index:50;
  }
  .sidebar-brand-wrap,.sidebar-footer,.executive-sidebar .side-label{display:none}
  .sidebar-nav{
    padding:6px 10px;
    display:flex;
    overflow-x:auto;
  }
  .executive-sidebar .side-group{
    display:flex;
    margin:0;
  }
  .executive-sidebar .side-link{
    min-width:48px;
    justify-content:center;
    border-left:0;
  }
  .executive-sidebar .side-link span:not(.badge){display:none}
  .executive-topbar{padding:0 15px}
  .system-status{display:none}
  .executive-dashboard{padding:24px 14px 90px}
  .exec-kpi-strip{grid-template-columns:1fr 1fr}
  .exec-kpi:nth-child(2){border-right:0}
  .exec-kpi:nth-child(-n+2){border-bottom:1px solid rgba(20,36,51,.09)}
  .exec-page-header{align-items:flex-start;flex-direction:column}
}

@media(max-width:700px){
  .executive-search{width:210px}
  .exec-kpi-strip{grid-template-columns:1fr}
  .exec-kpi{
    border-right:0;
    border-bottom:1px solid rgba(20,36,51,.09);
  }
  .exec-kpi:last-child{border-bottom:0}
  .exec-grid{display:block}
  .exec-panel{margin-bottom:14px;padding:18px}
  .decision-row{
    grid-template-columns:6px 1fr 30px;
  }
  .decision-meta{display:none}
  .pipeline-summary{grid-template-columns:1fr}
  .pipeline-number{border-right:0;border-bottom:1px solid rgba(20,36,51,.09);padding:0 0 16px}
  .top-op-row{grid-template-columns:1fr auto}
  .top-op-stage{display:none}
  .finance-primary{grid-template-columns:1fr}
  .finance-primary > div:first-child{
    border-right:0;border-bottom:1px solid rgba(20,36,51,.09);padding-right:0
  }
  .finance-primary > div:last-child{padding-left:0}
  .exec-intelligence{display:block}
  .intel-item{
    padding:18px 0;border-left:0;border-top:1px solid rgba(20,36,51,.09)
  }
}


/* ==========================================================
   V10 — COMPANY PROFILE NAVIGATION + CLEAN DETAIL PAGE
   ========================================================== */

.company-profile-page{padding-top:24px}

.company-profile-backbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;margin-bottom:20px
}
.company-back-btn{
  display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;
  padding:7px 0;color:#174e88;font-size:11px;font-weight:650;cursor:pointer
}
.company-back-btn svg{
  transform:rotate(180deg);transition:transform .25s var(--motion-ease)
}
.company-back-btn:hover svg{transform:rotate(180deg) translateX(4px)}
.company-profile-backmeta{color:#949da5;font-size:9px}

.company-profile-hero{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:30px;padding:24px 0 26px;border-top:1px solid rgba(20,36,51,.10)
}
.company-profile-heading{display:flex;align-items:center;gap:18px}
.company-profile-logo{
  width:58px;height:58px;display:grid;place-items:center;background:#e9eff5;
  color:#173f6b;border:1px solid #d7e0e8;font:600 18px Georgia,serif
}
.company-profile-heading h1{
  margin:5px 0 4px;font:500 38px/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;color:#183146
}
.company-profile-heading p{margin:0;color:#788590;font-size:11px}
.company-profile-actions{display:flex;gap:7px}

.company-profile-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:#fff;border:1px solid rgba(20,36,51,.10);margin-bottom:18px
}
.company-profile-kpis > div{
  padding:20px 22px;border-right:1px solid rgba(20,36,51,.09)
}
.company-profile-kpis > div:last-child{border-right:0}
.company-profile-kpis span{
  display:block;color:#7c8994;font-size:9px;text-transform:uppercase;letter-spacing:.08em
}
.company-profile-kpis strong{
  display:block;margin-top:6px;color:#183d62;font:500 27px/1 Georgia,serif
}
.company-profile-kpis small{display:block;margin-top:7px;color:#929ba3;font-size:8px}

.company-profile-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:18px
}
.company-overview-panel{grid-column:span 8}
.company-next-step-panel{grid-column:span 4}
.company-analysis-panel{grid-column:span 7}
.company-activity-panel{grid-column:span 5}
.company-documents-panel{grid-column:span 12}

.company-profile-detail-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  border-top:1px solid rgba(20,36,51,.10)
}
.company-profile-detail-grid > div{
  padding:14px 12px 14px 0;border-bottom:1px solid rgba(20,36,51,.08)
}
.company-profile-detail-grid > div:nth-child(even){
  padding-left:18px;border-left:1px solid rgba(20,36,51,.08)
}
.company-profile-detail-grid span{
  display:block;color:#8a949d;font-size:8px;text-transform:uppercase;letter-spacing:.07em
}
.company-profile-detail-grid strong{
  display:block;margin-top:5px;color:#2a4053;font-size:11px;font-weight:650
}

.company-next-step h3{
  margin:12px 0 9px;color:#284056;font:500 21px/1.28 Georgia,serif
}
.company-next-step p{
  color:#788590;font-size:10px;line-height:1.6;margin-bottom:18px
}

.company-analysis-sections{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(20,36,51,.10)
}
.company-analysis-sections > div{
  padding:18px 18px 6px 0;border-right:1px solid rgba(20,36,51,.09)
}
.company-analysis-sections > div:not(:first-child){padding-left:18px}
.company-analysis-sections > div:last-child{border-right:0}
.company-analysis-sections span{
  display:block;color:#8a949d;font-size:8px;text-transform:uppercase;letter-spacing:.08em
}
.company-analysis-sections strong{
  display:block;color:#24415b;font-size:12px;margin-top:7px
}
.company-analysis-sections p{color:#7b8791;font-size:9px;line-height:1.55}

.company-activity-list{border-top:1px solid rgba(20,36,51,.10)}
.company-activity-row{
  display:grid;grid-template-columns:68px 1px 1fr;gap:13px;padding:13px 0
}
.company-activity-date{color:#8d969e;font-size:8px}
.company-activity-dot{width:1px;background:#d8dee3;position:relative}
.company-activity-dot:before{
  content:"";position:absolute;width:5px;height:5px;border-radius:50%;
  background:#174e88;left:50%;top:4px;transform:translateX(-50%)
}
.company-activity-copy strong{display:block;color:#30465a;font-size:10px}
.company-activity-copy span{display:block;margin-top:3px;color:#929ba3;font-size:8px}

.company-profile-bottom-back{
  padding:26px 0 0;margin-top:8px;border-top:1px solid rgba(20,36,51,.09)
}

@media(max-width:1050px){
  .company-overview-panel,.company-next-step-panel,.company-analysis-panel,
  .company-activity-panel,.company-documents-panel{grid-column:span 12}
}
@media(max-width:760px){
  .company-profile-backmeta{display:none}
  .company-profile-hero{align-items:flex-start;flex-direction:column}
  .company-profile-actions{width:100%;flex-wrap:wrap}
  .company-profile-kpis{grid-template-columns:1fr 1fr}
  .company-profile-kpis > div:nth-child(2){border-right:0}
  .company-profile-kpis > div:nth-child(-n+2){border-bottom:1px solid rgba(20,36,51,.09)}
  .company-profile-detail-grid,.company-analysis-sections{grid-template-columns:1fr}
  .company-profile-detail-grid > div:nth-child(even){padding-left:0;border-left:0}
  .company-analysis-sections > div,.company-analysis-sections > div:not(:first-child){
    padding:15px 0;border-right:0;border-bottom:1px solid rgba(20,36,51,.08)
  }
}


/* ==========================================================
   V11 — READABLE INSIGHTS / ARTICLE EXPERIENCE
   ========================================================== */

.insights-page{background:#f7f6f2}

.insights-hero{
  padding:155px 0 85px;
  border-bottom:1px solid rgba(20,36,51,.11);
}
.insights-hero h1{
  max-width:900px;
  margin:12px 0 18px;
  font:500 clamp(58px,7vw,98px)/.93 Georgia,"Times New Roman",serif;
  letter-spacing:-.058em;color:#142d43
}
.insights-hero p{
  max-width:680px;margin:0;color:#657482;font-size:18px;line-height:1.65
}

.insights-list-section{
  padding:85px 0 110px;background:#fff
}

.insights-featured{
  padding:0 0 65px;
  border-bottom:1px solid rgba(20,36,51,.14);
  margin-bottom:12px
}
.insight-featured-meta,.insight-card-meta{
  display:flex;justify-content:space-between;gap:20px;
  font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#7f8b95
}
.insights-featured h2{
  max-width:1000px;margin:18px 0;
  font:500 clamp(43px,5vw,70px)/1 Georgia,serif;
  letter-spacing:-.045em;color:#1c3449
}
.insights-featured > p{
  max-width:770px;color:#647381;font-size:17px;line-height:1.68
}
.insight-card-footer{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-top:30px
}
.insight-card-footer > span{color:#8c969f;font-size:9px}
.insight-read-link{
  display:inline-flex;align-items:center;gap:8px;
  color:#174e88;font-size:11px;font-weight:700;
  border-bottom:1px solid rgba(23,78,136,.35);
  padding-bottom:3px
}

.insights-editorial-grid{
  display:grid;grid-template-columns:1fr 1fr
}
.insight-editorial-card{
  min-height:430px;padding:42px 44px 36px 0;
  border-bottom:1px solid rgba(20,36,51,.12);
  position:relative
}
.insight-editorial-card:nth-child(even){
  padding-left:44px;padding-right:0;border-left:1px solid rgba(20,36,51,.12)
}
.insight-card-number{
  color:#9aa3aa;font-size:9px;letter-spacing:.14em;margin-bottom:35px
}
.insight-editorial-card h3{
  margin:19px 0 14px;
  max-width:520px;
  font:500 31px/1.08 Georgia,serif;
  letter-spacing:-.03em;color:#233b50
}
.insight-editorial-card > p{
  max-width:540px;margin:0;color:#71808d;font-size:13px;line-height:1.7
}
.insight-editorial-card .insight-card-footer{
  position:absolute;left:0;right:44px;bottom:34px
}
.insight-editorial-card:nth-child(even) .insight-card-footer{left:44px;right:0}

/* Article */
.insight-article-page{background:#fff}

.insight-article-hero{
  padding:135px 0 80px;background:#f7f6f2;
  border-bottom:1px solid rgba(20,36,51,.11)
}
.insight-article-narrow{max-width:1050px}
.insight-back{
  display:inline-flex;align-items:center;gap:8px;
  color:#174e88;font-size:10px;font-weight:650;margin-bottom:50px
}
.insight-back svg{transform:rotate(180deg)}
.insight-article-meta{
  display:flex;gap:22px;flex-wrap:wrap;
  color:#7d8993;font-size:9px;text-transform:uppercase;letter-spacing:.11em
}
.insight-article-hero h1{
  margin:22px 0 24px;
  max-width:980px;
  font:500 clamp(54px,6vw,86px)/.98 Georgia,serif;
  letter-spacing:-.055em;color:#172f44
}
.insight-article-dek{
  max-width:820px;margin:0;color:#5d6e7d;
  font-size:19px;line-height:1.68
}
.insight-article-author{
  margin-top:38px;padding-top:22px;
  border-top:1px solid rgba(20,36,51,.11);
  display:flex;align-items:center;gap:11px
}
.insight-article-author strong{
  display:block;color:#2d4254;font-size:10px
}
.insight-article-author span{
  display:block;color:#8b959e;font-size:8px;margin-top:3px
}

.insight-article-body{padding:95px 0 115px}
.insight-article-layout{
  max-width:1120px;
  display:grid;grid-template-columns:230px minmax(0,760px);
  gap:90px;align-items:start
}
.insight-article-aside{
  position:sticky;top:110px;
  border-top:1px solid rgba(20,36,51,.12);
  padding-top:18px
}
.insight-article-aside > span{
  display:block;margin-bottom:16px;
  color:#8a959e;font-size:9px;text-transform:uppercase;letter-spacing:.12em
}
.insight-article-aside a{
  display:block;padding:9px 0;
  color:#677583;font-size:9px;line-height:1.45;
  border-bottom:1px solid rgba(20,36,51,.07)
}
.insight-article-aside a:hover{color:#174e88}

.insight-copy-section{
  padding:0 0 58px;
  margin:0 0 58px;
  border-bottom:1px solid rgba(20,36,51,.10);
  scroll-margin-top:110px
}
.insight-section-num{
  color:#174e88;font-size:9px;letter-spacing:.13em;font-weight:700
}
.insight-copy-section h2{
  margin:10px 0 20px;
  font:500 clamp(34px,4vw,50px)/1.06 Georgia,serif;
  letter-spacing:-.038em;color:#233b4f
}
.insight-copy-section p{
  margin:0;color:#596b7a;font-size:17px;line-height:1.82
}

.insight-takeaway{
  margin:12px 0 65px;
  padding:36px 0;
  border-top:2px solid #174e88;
  border-bottom:1px solid rgba(20,36,51,.12)
}
.insight-takeaway > span{
  color:#174e88;font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:700
}
.insight-takeaway blockquote{
  margin:17px 0 0;
  font:500 32px/1.3 Georgia,serif;
  letter-spacing:-.025em;color:#263f54
}

.insight-disclaimer{
  padding:21px;background:#f5f6f6;border-left:3px solid #9aabb8
}
.insight-disclaimer strong{
  display:block;color:#465a6c;font-size:10px
}
.insight-disclaimer p{
  margin:6px 0 0;color:#77838d;font-size:9px;line-height:1.6
}
.insight-article-end{
  display:flex;justify-content:space-between;gap:14px;
  padding-top:36px;margin-top:36px;
  border-top:1px solid rgba(20,36,51,.10)
}
.insight-article-end .btn:first-child svg{transform:rotate(180deg)}

@media(max-width:900px){
  .insight-article-layout{grid-template-columns:1fr;gap:40px}
  .insight-article-aside{position:static}
  .insight-article-aside a{display:inline-block;margin-right:15px;border-bottom:0}
}
@media(max-width:700px){
  .insights-hero{padding:115px 0 65px}
  .insights-hero h1{font-size:56px}
  .insights-editorial-grid{grid-template-columns:1fr}
  .insight-editorial-card,
  .insight-editorial-card:nth-child(even){
    padding:32px 0 90px;border-left:0
  }
  .insight-editorial-card .insight-card-footer,
  .insight-editorial-card:nth-child(even) .insight-card-footer{
    left:0;right:0;bottom:28px
  }
  .insight-article-hero{padding:110px 0 60px}
  .insight-article-hero h1{font-size:51px}
  .insight-article-dek{font-size:17px}
  .insight-article-body{padding:65px 0 90px}
  .insight-copy-section p{font-size:16px}
  .insight-article-end{flex-direction:column}
}


/* ==========================================================
   V13 — HIGH-TRUST AI RESEARCH WORKSPACE
   ========================================================== */

.intelligence-workspace{padding-bottom:70px}
.intelligence-header{margin-bottom:22px}
.intelligence-mode{padding-bottom:3px}

.ai-research-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:18px;
  align-items:start
}
.ai-main-column{min-width:0}

.research-panel,.research-output,.research-side-panel{
  background:#fff;
  border:1px solid rgba(20,36,51,.10);
  box-shadow:none
}
.research-panel{padding:25px}

.research-panel-head{
  display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px
}
.research-panel-head h2{
  margin:5px 0 0;font:500 24px Georgia,serif;color:#21394e
}
.research-scope-badge{
  font-size:8px;text-transform:uppercase;letter-spacing:.08em;
  color:#7b6750;background:#f6f0e8;border:1px solid #eadfce;padding:5px 7px
}

.research-controls{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px
}
.research-controls label>span{
  display:block;margin:0 0 6px;color:#7e8a95;font-size:8px;
  text-transform:uppercase;letter-spacing:.09em;font-weight:700
}

.research-prompt-wrap{
  border:1px solid #cfd7de;background:#fbfcfc
}
.research-prompt{
  display:block;width:100%;resize:vertical;min-height:116px;
  border:0;outline:0;background:transparent;padding:16px 17px 8px;
  font:400 14px/1.65 Arial,sans-serif;color:#263f54
}
.research-prompt::placeholder{color:#9ba4ac}
.research-prompt-actions{
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:8px 9px 9px 16px;border-top:1px solid rgba(20,36,51,.07)
}
.research-hint{font-size:8px;color:#9aa3ab}

.ai-trust-row{
  display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:#798690;font-size:8px
}
.ai-trust-row span{display:flex;align-items:center;gap:5px}

.research-output{
  margin-top:18px;min-height:300px
}
.research-empty{
  min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:55px
}
.research-empty h3{
  margin:15px 0 6px;font:500 22px Georgia,serif;color:#2b4255
}
.research-empty p{
  max-width:540px;margin:0;color:#7a8791;font-size:10px;line-height:1.65
}

.ai-side-column{display:grid;gap:18px}
.research-side-panel{padding:20px}
.research-side-panel h3{
  margin:7px 0 14px;font:500 18px Georgia,serif;color:#2a4054
}
.research-quick{
  width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 10px;
  text-align:left;border:0;border-top:1px solid rgba(20,36,51,.08);
  background:transparent;padding:13px 0;color:#30475b;cursor:pointer
}
.research-quick strong{font-size:10px}
.research-quick span{grid-column:1;color:#959ea6;font-size:8px}
.research-quick svg{grid-column:2;grid-row:1/3;align-self:center;color:#788995}
.research-quick:hover strong{color:#174e88}

.research-question{
  width:100%;display:block;text-align:left;background:transparent;border:0;
  border-top:1px solid rgba(20,36,51,.08);padding:12px 0;
  color:#60717f;font-size:9px;line-height:1.45;cursor:pointer
}
.research-question:hover{color:#174e88}

.research-live-panel{
  background:#f6f7f7
}
.research-live-panel p{
  color:#76838e;font-size:9px;line-height:1.6
}

.research-loading{
  min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center
}
.research-loading span{
  width:30px;height:30px;border:2px solid #d7e0e7;border-top-color:#174e88;
  border-radius:50%;animation:researchSpin .7s linear infinite
}
.research-loading strong{margin-top:14px;color:#30475a;font-size:11px}
.research-loading small{margin-top:5px;color:#949da5;font-size:8px}
@keyframes researchSpin{to{transform:rotate(360deg)}}

.research-answer{padding:28px}
.research-answer-top{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  padding-bottom:20px;border-bottom:1px solid rgba(20,36,51,.10)
}
.research-answer-top h2{
  margin:5px 0 0;font:500 29px/1.08 Georgia,serif;color:#213a50;letter-spacing:-.02em
}
.research-warning{
  display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;padding:10px 12px;
  background:#faf5ee;border-left:3px solid #a88353;color:#705d45;font-size:9px;line-height:1.55
}
.research-summary{
  margin:22px 0 4px;color:#556978;font-size:13px;line-height:1.7
}
.research-section{
  padding:24px 0;border-bottom:1px solid rgba(20,36,51,.09)
}
.research-section h3{
  margin:0 0 10px;font:500 18px Georgia,serif;color:#2b4357
}
.research-section p,.research-section li{
  color:#667684;font-size:10px;line-height:1.7
}
.research-section ul{margin:8px 0 0;padding-left:18px}
.research-section li{margin:5px 0}

.research-mini-table{
  border-top:1px solid rgba(20,36,51,.08)
}
.research-mini-table>div{
  display:grid;grid-template-columns:1.4fr repeat(4,1fr);
  gap:10px;padding:10px 0;border-bottom:1px solid rgba(20,36,51,.07);
  align-items:center
}
.research-mini-table strong{color:#30465a;font-size:9px}
.research-mini-table span{color:#75828d;font-size:8px}

.research-evidence{
  display:grid;grid-template-columns:1fr 1fr;gap:25px;
  margin-top:24px;padding:20px;background:#f6f7f7
}
.source-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.source-pill{
  display:inline-block;padding:4px 6px;font-size:7px;text-transform:uppercase;
  letter-spacing:.06em;border:1px solid #d7dfe5;color:#526878;background:#fff
}
.source-pill.client{background:#edf3f8;color:#365f83}
.source-pill.estimate{background:#faf3e9;color:#80643f}
.research-evidence p,.research-evidence li{
  color:#7b8791;font-size:8px;line-height:1.55
}
.research-evidence ul{margin:7px 0 0;padding-left:16px}

@media(max-width:1100px){
  .ai-research-layout{grid-template-columns:1fr}
  .ai-side-column{grid-template-columns:1fr 1fr}
  .research-live-panel{grid-column:1/-1}
}
@media(max-width:700px){
  .research-controls{grid-template-columns:1fr}
  .research-panel,.research-answer{padding:18px}
  .ai-side-column{grid-template-columns:1fr}
  .research-live-panel{grid-column:auto}
  .research-answer-top,.research-evidence{grid-template-columns:1fr;display:grid}
  .research-mini-table{overflow:auto}
  .research-mini-table>div{min-width:620px}
}

/* ==========================================================
   V14 — FUNCTIONAL CEO HUB QA / INTERACTION LAYER
   ========================================================== */
.page-head-actions{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.doc-button,.list-row-button,.project-timeline-row{font:inherit;color:inherit;text-align:left;appearance:none;-webkit-appearance:none;cursor:pointer}
.doc-button{width:100%;border:1px solid rgba(20,36,51,.11)!important}
.doc-button:hover{border-color:rgba(23,78,136,.35)!important;transform:translateY(-2px)}
.list-row-button{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line)}
.list-row-button:hover{background:#f6f8fa}
.table-action{border:0;background:transparent;color:#174e88;font-size:9px;font-weight:700;cursor:pointer}
.table-action:hover{text-decoration:underline}
.click-row{cursor:pointer}.click-row:hover{background:#f6f8fa}
.action-modal-body{color:#526576;font-size:12px;line-height:1.65}
.action-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:18px;margin-top:18px;border-top:1px solid rgba(20,36,51,.10)}
.action-list{border-top:1px solid rgba(20,36,51,.1)}
.action-list>button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 0;border:0;border-bottom:1px solid rgba(20,36,51,.08);background:transparent;text-align:left;cursor:pointer}
.action-list>button strong{color:#273f53;font-size:11px}.action-list>button span{color:#89949d;font-size:9px}.action-list>button:hover strong{color:#174e88}
.detail-stack{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(20,36,51,.1)}
.detail-stack>div{padding:13px 10px 13px 0;border-bottom:1px solid rgba(20,36,51,.08)}
.detail-stack>div:nth-child(even){padding-left:14px;border-left:1px solid rgba(20,36,51,.08)}
.detail-stack span{display:block;color:#8a959e;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.detail-stack strong{display:block;color:#2d4357;font-size:10px;margin-top:4px}
.permission-grid{display:grid;gap:10px}.permission-grid label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(20,36,51,.08);color:#4c6072;font-size:10px}.permission-grid .select{max-width:210px}
.audit-list>div{padding:12px 0;border-bottom:1px solid rgba(20,36,51,.08)}.audit-list strong,.audit-list span{display:block}.audit-list strong{font-size:10px;color:#2c4357}.audit-list span{font-size:9px;color:#84909a;margin-top:3px}
.project-timeline-list{display:grid;gap:0}.project-timeline-row{width:100%;display:grid;grid-template-columns:1.4fr 70px 1fr 70px 50px;gap:14px;align-items:center;padding:16px 0;border:0;border-bottom:1px solid rgba(20,36,51,.08);background:transparent}.project-timeline-row:hover{background:#f7f8f9}.project-timeline-row strong{color:#2b4255}.project-timeline-row span,.project-timeline-row b{font-size:9px;color:#7c8993}.project-timeline-row b{text-align:right;color:#174e88}
.meeting-brief h3{font:500 18px Georgia,serif;color:#2b4357;margin:18px 0 6px}.meeting-brief p,.meeting-brief li{font-size:10px;color:#677684;line-height:1.65}
.toggle-row input{width:18px;height:18px}
.toolbar .btn.active{background:#173f6b;color:#fff;border-color:#173f6b}
.executive-sidebar.mobile-open{display:flex!important}
@media(max-width:700px){.detail-stack{grid-template-columns:1fr}.detail-stack>div:nth-child(even){padding-left:0;border-left:0}.project-timeline-row{grid-template-columns:1fr auto}.project-timeline-row .progress{grid-column:1/-1}.project-timeline-row span:nth-of-type(2){display:none}}

.action-list .action-item{padding:14px 0;border-bottom:1px solid rgba(20,36,51,.08)}.action-list .action-item strong,.action-list .action-item span{display:block}.action-list .action-item strong{font-size:10px;color:#2d4357}.action-list .action-item span{font-size:9px;color:#89949d;margin-top:3px}


/* ==========================================================
   V15 — PROJECT TIMELINE: NO-DEAD-END NAVIGATION
   ========================================================== */

.project-timeline-page{
  padding-top:24px;
}

.project-timeline-backbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.project-back-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  padding:8px 0;
  color:#174e88;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.project-back-btn svg{
  transform:rotate(180deg);
  transition:transform .22s var(--motion-ease);
}

.project-back-btn:hover svg{
  transform:rotate(180deg) translateX(4px);
}

.project-timeline-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.project-timeline-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  padding:24px 0 28px;
  border-top:1px solid rgba(20,36,51,.10);
}

.project-timeline-hero h1{
  margin:5px 0 7px;
  font:500 38px/1.04 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
  color:#1b3449;
}

.project-timeline-hero p{
  margin:0;
  color:#778590;
  font-size:11px;
}

.project-timeline-status{
  text-align:right;
}

.project-timeline-status span{
  display:block;
  color:#8c979f;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.project-timeline-status strong{
  display:block;
  margin-top:5px;
  color:#174e88;
  font:500 34px Georgia,serif;
}

.project-timeline-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid rgba(20,36,51,.10);
  margin-bottom:18px;
}

.project-timeline-summary > div{
  padding:18px 20px;
  border-right:1px solid rgba(20,36,51,.09);
}

.project-timeline-summary > div:last-child{
  border-right:0;
}

.project-timeline-summary span{
  display:block;
  color:#8a959e;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-timeline-summary strong{
  display:block;
  margin-top:6px;
  color:#2b4255;
  font-size:11px;
}

.project-timeline-panel{
  margin-bottom:18px;
}

.project-roadmap{
  position:relative;
  padding-top:5px;
}

.project-roadmap-line{
  position:absolute;
  top:25px;
  bottom:25px;
  left:18px;
  width:2px;
  background:#e2e7ea;
  overflow:hidden;
}

.project-roadmap-line span{
  display:block;
  width:100% !important;
  height:100%;
  background:linear-gradient(#174e88,#6f8fab);
  transform-origin:top;
}

.project-roadmap-row{
  display:grid;
  grid-template-columns:38px 1fr 60px;
  gap:14px;
  align-items:center;
  position:relative;
  padding:14px 0;
  border-bottom:1px solid rgba(20,36,51,.07);
}

.project-roadmap-row:last-child{
  border-bottom:0;
}

.project-roadmap-marker{
  width:38px;
  display:grid;
  place-items:center;
  position:relative;
  z-index:2;
}

.project-roadmap-marker i{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#fff;
  border:2px solid #a9b4bc;
}

.project-roadmap-row.complete .project-roadmap-marker i{
  background:#174e88;
  border-color:#174e88;
}

.project-roadmap-row.in-progress .project-roadmap-marker i{
  background:#fff;
  border-color:#174e88;
  box-shadow:0 0 0 4px #e7eef5;
}

.project-roadmap-copy{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 90px;
  gap:12px;
  align-items:center;
}

.project-roadmap-index{
  color:#8f99a1;
  font-size:8px;
  letter-spacing:.1em;
}

.project-roadmap-copy strong{
  color:#30475b;
  font-size:11px;
}

.project-roadmap-copy small{
  color:#89949d;
  font-size:8px;
}

.project-roadmap-row.complete .project-roadmap-copy small{
  color:#2f755b;
}

.project-roadmap-row.in-progress .project-roadmap-copy small{
  color:#174e88;
  font-weight:700;
}

.project-roadmap-percent{
  text-align:right;
  color:#8d979f;
  font-size:9px;
}

.project-timeline-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.project-next-action strong{
  display:block;
  max-width:560px;
  color:#2a4155;
  font:500 20px/1.35 Georgia,serif;
}

.project-next-action p{
  color:#7b8791;
  font-size:9px;
  line-height:1.6;
  margin:10px 0 18px;
}

.project-navigation-list{
  border-top:1px solid rgba(20,36,51,.09);
}

.project-navigation-list button{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 15px;
  text-align:left;
  border:0;
  border-bottom:1px solid rgba(20,36,51,.08);
  background:transparent;
  padding:13px 0;
  cursor:pointer;
  color:#334a5e;
}

.project-navigation-list button strong{
  font-size:10px;
}

.project-navigation-list button span{
  grid-column:1;
  color:#8b959e;
  font-size:8px;
}

.project-navigation-list button svg{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  color:#718290;
}

.project-navigation-list button:hover strong,
.project-navigation-list button:hover svg{
  color:#174e88;
}

.project-timeline-bottom-back{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(20,36,51,.09);
}

@media(max-width:900px){
  .project-timeline-summary{
    grid-template-columns:1fr 1fr;
  }
  .project-timeline-summary > div:nth-child(2){
    border-right:0;
  }
  .project-timeline-summary > div:nth-child(-n+2){
    border-bottom:1px solid rgba(20,36,51,.09);
  }
  .project-timeline-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .project-timeline-backbar,
  .project-timeline-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .project-timeline-status{
    text-align:left;
  }
  .project-timeline-summary{
    grid-template-columns:1fr;
  }
  .project-timeline-summary > div{
    border-right:0;
    border-bottom:1px solid rgba(20,36,51,.09);
  }
  .project-timeline-summary > div:last-child{
    border-bottom:0;
  }
  .project-roadmap-copy{
    grid-template-columns:1fr;
    gap:3px;
  }
  .project-roadmap-copy small{
    grid-column:1;
  }
}


/* ==========================================================
   V16 — ROBUST PROJECT VIEW ROUTING
   List / Board / Timeline are now real routes.
   ========================================================== */

.project-view-toolbar{
  display:flex;
  align-items:center;
  gap:7px;
  margin:20px 0 18px;
  padding:8px;
  background:#fff;
  border:1px solid rgba(20,36,51,.10);
}

.project-view-toolbar .btn{
  min-width:78px;
  text-align:center;
  text-decoration:none;
}

.project-view-toolbar .btn.active{
  background:#173f6b;
  color:#fff;
  border-color:#173f6b;
}

.project-view-toolbar .select{
  margin-left:auto;
  width:190px;
}

.project-view-content{
  min-height:260px;
}

.project-empty-state{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#fff;
  border:1px solid rgba(20,36,51,.10);
  color:#73808b;
}

.project-empty-state strong{
  color:#31485c;
  font:500 20px Georgia,serif;
}

.project-empty-state span{
  font-size:10px;
}

.project-list-panel{
  background:#fff;
}

.project-list-progress{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:130px;
}

.project-list-progress .progress{
  width:85px;
}

.project-list-progress b{
  font-size:9px;
  color:#6f7d89;
}

.project-list-actions{
  display:flex;
  gap:6px;
}

.project-timeline-overview{
  background:#fff;
}

.timeline-overview-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  padding-bottom:18px;
  margin-bottom:4px;
  border-bottom:1px solid rgba(20,36,51,.09);
}

.timeline-overview-head h2{
  margin:5px 0 0;
  font:500 22px Georgia,serif;
  color:#263e52;
}

.timeline-overview-head > span{
  color:#8a959e;
  font-size:9px;
}

.project-timeline-row{
  grid-template-columns:minmax(230px,1.4fr) 70px minmax(140px,1fr) 70px 55px 24px !important;
  align-items:center;
}

.timeline-project-name{
  min-width:0;
  text-align:left;
}

.timeline-project-name strong{
  display:block;
}

.timeline-project-name small{
  display:block;
  margin-top:4px;
  color:#8d979f;
  font-size:8px;
  font-weight:400;
}

.project-timeline-row svg{
  color:#7b8b98;
}

.project-timeline-row:hover svg{
  color:#174e88;
}

@media(max-width:760px){
  .project-view-toolbar{
    flex-wrap:wrap;
  }
  .project-view-toolbar .btn{
    flex:1;
    min-width:82px;
  }
  .project-view-toolbar .select{
    width:100%;
    margin-left:0;
  }
  .project-timeline-row{
    grid-template-columns:1fr auto !important;
    gap:8px 14px;
  }
  .project-timeline-row > span,
  .project-timeline-row > .progress{
    display:none;
  }
  .project-timeline-row > b{
    grid-column:2;
    grid-row:1;
  }
  .project-timeline-row > svg{
    grid-column:2;
    grid-row:2;
  }
}


/* ==========================================================
   V17 — REAL CHAT SWITCHING + EDITING
   ========================================================== */

.communications-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}

.chat-sidebar-panel,.active-chat-panel{min-height:620px}
.chat-list{border-top:1px solid rgba(20,36,51,.09)}

.chat-list-item{
  position:relative;
  display:flex;
  align-items:stretch;
  border-bottom:1px solid rgba(20,36,51,.08);
  transition:background .18s ease;
}
.chat-list-item:hover,.chat-list-item.active{background:#f1f5f8}
.chat-list-item.active{box-shadow:inset 3px 0 0 #174e88}

.chat-select{
  flex:1;min-width:0;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 32px;
  gap:10px;align-items:center;
  padding:13px 36px 13px 10px;
  border:0;background:transparent;text-align:left;cursor:pointer;
}

.chat-company-dot{
  width:34px;height:34px;display:grid;place-items:center;
  background:#e9eff5;color:#174e88;border:1px solid #d6e0e8;
  font:600 10px Georgia,serif
}
.chat-list-copy{min-width:0}
.chat-list-copy strong{
  display:block;color:#2a4155;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.chat-list-copy small{
  display:block;margin-top:4px;color:#8a959e;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.chat-list-time{color:#98a1a8;font-size:8px;text-align:right}
.chat-manage-btn{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border:0;background:transparent;color:#8b969f;cursor:pointer
}
.chat-manage-btn:hover{color:#174e88;background:#e7eef4}

.active-chat-panel{
  display:flex;flex-direction:column;padding:0!important;overflow:hidden
}
.active-chat-header{
  display:flex;justify-content:space-between;gap:20px;align-items:flex-start;
  padding:22px 24px;border-bottom:1px solid rgba(20,36,51,.09)
}
.active-chat-header h3{
  margin:5px 0 3px;font:500 22px Georgia,serif;color:#283f53
}
.active-chat-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.chat-thread{
  flex:1;overflow:auto;padding:22px;background:#fbfbfa;min-height:380px;max-height:560px
}
.chat-message{
  max-width:82%;padding:14px 16px;margin-bottom:12px;border:1px solid rgba(20,36,51,.10);background:#fff
}
.chat-message.mine{margin-left:auto;background:#edf4fa;border-color:#d6e5f1}
.chat-message.theirs{margin-right:auto}
.chat-message-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.chat-message-head strong{display:block;color:#2e4558;font-size:9px}
.chat-message-head span{display:block;color:#929ba3;font-size:7px;margin-top:3px}
.chat-message p{margin:9px 0 0;color:#526675;font-size:11px;line-height:1.65}
.chat-message-edit{
  border:0;background:transparent;color:#174e88;font-size:8px;cursor:pointer;padding:3px 0
}
.chat-message-edit:hover{text-decoration:underline}
.chat-empty{padding:45px;text-align:center;color:#89949d;font-size:10px}
.chat-composer{
  padding:15px;border-top:1px solid rgba(20,36,51,.09);background:#fff
}
.chat-composer .textarea{min-height:76px}
.chat-composer-actions{
  display:flex;justify-content:flex-end;gap:7px;margin-top:8px
}
.connected-email-panel{margin-top:18px}
.chat-manage-warning{
  margin-top:14px;padding:10px 12px;background:#f8f2eb;border-left:3px solid #a88353;
  color:#78654e;font-size:8px;line-height:1.55
}
.danger-btn{
  color:#8f3f3f!important;border-color:#e4c7c7!important;background:#fff7f7!important
}
.danger-btn:hover{background:#f9eaea!important}

/* ==========================================================
   V17 — EDITABLE CLAUSE COMPARISON
   ========================================================== */

.clause-comparison-meta{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  padding:12px 0;border-bottom:1px solid rgba(20,36,51,.09)
}
.clause-comparison-meta span{
  display:block;color:#8a959e;font-size:8px;text-transform:uppercase;letter-spacing:.08em
}
.clause-comparison-meta strong{
  display:block;margin-top:4px;color:#30475a;font-size:10px
}
.clause-editor-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px
}
.clause-textarea{
  min-height:220px;font-family:Georgia,"Times New Roman",serif!important;
  font-size:12px!important;line-height:1.65!important
}
.clause-tool-note{
  margin-top:10px;padding:9px 11px;background:#f4f6f7;color:#788590;
  font-size:8px;line-height:1.55;border-left:3px solid #8296a8
}
.clause-diff-output{
  margin-top:15px;padding:16px;border:1px solid rgba(20,36,51,.10);background:#fbfbfa
}
.clause-analysis-head{
  display:flex;justify-content:space-between;gap:15px;align-items:flex-start;
  padding-bottom:12px;border-bottom:1px solid rgba(20,36,51,.09)
}
.clause-analysis-head strong{
  display:block;margin-top:4px;color:#2e4559;font-size:11px
}
.clause-diff-legend{
  display:flex;gap:14px;margin:13px 0 8px;color:#7b8791;font-size:8px
}
.clause-diff-legend span{display:flex;align-items:center;gap:5px}
.clause-diff-legend i{width:9px;height:9px;display:block}
.clause-diff-legend .removed{background:#f2dada}
.clause-diff-legend .added{background:#dceee5}
.clause-diff-text{
  padding:14px;background:#fff;border:1px solid rgba(20,36,51,.08);
  color:#455b6d;font:400 12px/1.85 Georgia,serif
}
.clause-diff-text del{
  background:#f6dddd;color:#8a4040;text-decoration:line-through;padding:1px 2px
}
.clause-diff-text ins{
  background:#dff0e7;color:#276449;text-decoration:none;padding:1px 2px
}
.clause-analysis-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:15px
}
.clause-analysis-grid p,.clause-analysis-grid li{
  color:#6d7b87;font-size:8px;line-height:1.6
}
.clause-analysis-grid ul{margin:7px 0 0;padding-left:16px}
.clause-legal-note{
  margin-top:12px;color:#8a949d;font-size:7px;line-height:1.5
}

@media(max-width:900px){
  .communications-layout{grid-template-columns:1fr}
  .chat-sidebar-panel{min-height:0}
  .active-chat-panel{min-height:540px}
}
@media(max-width:680px){
  .clause-editor-grid,.clause-analysis-grid,.clause-comparison-meta{grid-template-columns:1fr}
  .active-chat-header{flex-direction:column}
  .chat-message{max-width:94%}
}


/* V18 — dedicated workflow pages */
.workflow-page{padding-top:24px}
.workflow-backbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;color:#929ba3;font-size:9px}
.workflow-back{display:inline-flex;align-items:center;gap:8px;color:#174e88;font-size:11px;font-weight:700}
.workflow-back svg{transform:rotate(180deg)}
.workflow-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:24px 0 28px;border-top:1px solid rgba(20,36,51,.10)}
.workflow-hero h1{margin:5px 0 7px;font:500 38px/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.035em;color:#1b3449}
.workflow-hero p{margin:0;max-width:700px;color:#778590;font-size:11px;line-height:1.6}
.workflow-hero-status{text-align:right}.workflow-hero-status span{display:block;color:#8d979f;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.workflow-hero-status strong{display:block;margin-top:5px;color:#29455e;font-size:12px}
.workflow-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}
.workflow-guidance ul{padding-left:18px;color:#697986;font-size:10px;line-height:1.7}.workflow-guidance li{margin:7px 0}
.security-callout{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding:13px;background:#eef3f7;border-left:3px solid #174e88}.security-callout strong{display:block;color:#30485c;font-size:10px}.security-callout span{display:block;margin-top:4px;color:#7a8791;font-size:8px;line-height:1.55}
.workflow-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid rgba(20,36,51,.09)}
.clause-workspace-panel{padding:25px}.clause-page-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}

/* V18 — cookie policy & preferences */
.footer-cookie-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.footer-cookie-button:hover{color:#174e88}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1000;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 20px;background:#fff;border:1px solid rgba(20,36,51,.16);box-shadow:0 20px 65px rgba(20,36,51,.16)}
.cookie-banner-copy{max-width:760px}.cookie-banner-copy strong{display:block;color:#20394e;font:500 17px Georgia,serif}.cookie-banner-copy p{margin:6px 0;color:#697986;font-size:9px;line-height:1.55}.cookie-banner-copy a{color:#174e88;font-size:9px;font-weight:700}.cookie-banner-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.cookie-policy-page{background:#f7f6f2}.cookie-policy-hero{padding:145px 0 75px;border-bottom:1px solid rgba(20,36,51,.10)}.cookie-policy-hero h1{margin:10px 0 16px;font:500 clamp(58px,7vw,92px)/.95 Georgia,serif;letter-spacing:-.055em;color:#172f44}.cookie-policy-hero p{max-width:760px;margin:0;color:#627381;font-size:17px;line-height:1.7}
.cookie-policy-body{padding:85px 0 110px;background:#fff}.cookie-policy-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:90px;align-items:start}.cookie-policy-nav{position:sticky;top:110px;border-top:1px solid rgba(20,36,51,.12);padding-top:16px}.cookie-policy-nav strong{display:block;color:#2e4659;font-size:10px;margin-bottom:10px}.cookie-policy-nav a{display:block;padding:8px 0;color:#77848f;font-size:9px;border-bottom:1px solid rgba(20,36,51,.06)}.cookie-policy-nav a:hover{color:#174e88}
.cookie-policy-content>section{padding:0 0 52px;margin:0 0 52px;border-bottom:1px solid rgba(20,36,51,.10);scroll-margin-top:100px}.cookie-policy-content>section>span{color:#174e88;font-size:9px;letter-spacing:.13em;font-weight:700}.cookie-policy-content h2{margin:9px 0 17px;font:500 34px/1.1 Georgia,serif;color:#2a4155}.cookie-policy-content p{color:#647583;font-size:14px;line-height:1.8}.cookie-table{margin-top:20px;border-top:1px solid rgba(20,36,51,.10)}.cookie-table>div{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:13px 0;border-bottom:1px solid rgba(20,36,51,.08)}.cookie-table strong{color:#30485c;font-size:10px}.cookie-table span{color:#76838e;font-size:9px;line-height:1.55}
.cookie-preference-card{margin-top:18px;padding:20px;background:#f5f6f6;border:1px solid rgba(20,36,51,.09)}.cookie-preference-card>div:first-child strong{display:block;color:#30475a;font-size:11px}.cookie-preference-card>div:first-child span{display:block;margin-top:4px;color:#89949d;font-size:8px}.cookie-switch-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;margin-top:12px;border-top:1px solid rgba(20,36,51,.08);border-bottom:1px solid rgba(20,36,51,.08)}.cookie-switch-row strong{display:block;color:#344c60;font-size:10px}.cookie-switch-row small{display:block;margin-top:4px;color:#89949d;font-size:8px}.cookie-switch-row input{width:20px;height:20px}.cookie-policy-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cookie-policy-note{padding:18px!important;background:#f7f3ec;border:0!important}.cookie-policy-note strong{color:#6f5b43;font-size:10px}.cookie-policy-note p{font-size:9px!important;margin:6px 0 0!important}
@media(max-width:900px){.workflow-form-grid,.cookie-policy-layout{grid-template-columns:1fr}.cookie-policy-nav{position:static}.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-banner-actions{width:100%;justify-content:flex-start}}
@media(max-width:650px){.workflow-backbar,.workflow-hero{align-items:flex-start;flex-direction:column}.workflow-actions,.clause-page-actions,.cookie-policy-actions{align-items:stretch;flex-direction:column}.workflow-actions .btn,.clause-page-actions .btn,.cookie-policy-actions .btn{width:100%}.cookie-banner{left:10px;right:10px;bottom:10px;padding:15px}.cookie-banner-actions{flex-direction:column}.cookie-banner-actions .btn{width:100%}.cookie-table>div{grid-template-columns:1fr;gap:6px}.cookie-policy-hero{padding:115px 0 60px}}

.cookie-policy-nav button{
  display:block;width:100%;padding:8px 0;border:0;border-bottom:1px solid rgba(20,36,51,.06);
  background:transparent;text-align:left;color:#77848f;font-size:9px;cursor:pointer;
}
.cookie-policy-nav button:hover{color:#174e88}


/* ==========================================================
   V19 — INVOICE WORKFLOW + REFERENCE-INSPIRED DOCUMENT LAYOUT
   ========================================================== */

.invoice-list-link{
  text-decoration:none;
  color:inherit;
}
.invoice-list-link:hover{
  background:#f5f7f9;
}

.invoice-detail-page{padding-top:22px}
.invoice-page-toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  margin-bottom:18px
}
.invoice-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}

.invoice-document{
  width:min(900px,100%);
  margin:0 auto;
  background:#fff;
  color:#171c22;
  padding:54px 54px 46px;
  border:1px solid #dfe3e7;
  box-shadow:0 18px 45px rgba(20,36,51,.08);
  font-family:Arial,Helvetica,sans-serif;
}

.invoice-brand-block{
  font-size:12px;
  line-height:1.65;
  color:#303b45;
}
.invoice-brand-name{
  color:#165ac7;
  font-size:30px;
  line-height:1.1;
  font-weight:500;
  margin-bottom:6px;
}
.invoice-tax-line{margin-top:10px}

.invoice-info-block{
  width:350px;
  margin-top:58px;
}
.invoice-info-row{
  display:grid;
  grid-template-columns:1fr 145px;
  gap:18px;
  padding:4px 0;
  font-size:12px;
}
.invoice-number-row{
  color:#165ac7;
  border-bottom:1px solid #b9bdc1;
  padding-bottom:6px;
  margin-bottom:3px;
}
.invoice-number-row strong{color:#165ac7}

.invoice-bill-block{
  margin-top:54px;
  max-width:650px;
  font-size:12px;
  line-height:1.75;
}
.invoice-blue-heading{
  display:inline-block;
  min-width:215px;
  color:#165ac7;
  border-bottom:1px solid #aeb4ba;
  font-size:12px;
  font-weight:700;
  padding-bottom:4px;
  margin-bottom:6px;
}

.invoice-line-table-wrap{margin-top:48px;overflow:auto}
.invoice-line-table{
  width:100%;
  min-width:650px;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:11px;
}
.invoice-line-table th{
  background:#165ac7;
  color:#fff;
  border:1px solid #aeb5bb;
  padding:7px 9px;
  font-weight:700;
  text-align:center;
}
.invoice-line-table th:first-child{width:52%}
.invoice-line-table th:nth-child(2){width:10%}
.invoice-line-table th:nth-child(3){width:19%}
.invoice-line-table th:nth-child(4){width:19%}
.invoice-line-table td{
  border:1px solid #b7bcc1;
  padding:8px 9px;
  vertical-align:top;
  line-height:1.35;
}
.invoice-line-table td:not(:first-child){
  text-align:center;
  vertical-align:middle;
}
.invoice-line-table td:last-child{text-align:right}

.invoice-totals{
  width:315px;
  margin-left:auto;
}
.invoice-subtotal{
  display:grid;
  grid-template-columns:1fr 130px;
  gap:12px;
  padding:7px 0;
  border-bottom:2px solid #111;
  font-size:11px;
  text-align:right
}
.invoice-subtotal strong{font-size:10px;color:#343b42}
.invoice-balance{
  display:grid;
  grid-template-columns:1fr 132px;
  align-items:center;
  margin-top:0;
  color:#165ac7;
  font-size:20px;
  font-weight:700;
}
.invoice-balance strong{padding:13px 8px 13px 0;text-align:right}
.invoice-balance span{
  color:#111;
  background:#dce8fa;
  border-bottom:2px solid #111;
  padding:14px 11px;
  text-align:right;
  font-size:18px
}

.invoice-terms{
  margin-top:54px;
  max-width:620px;
  color:#3b4650;
  font-size:10.5px;
  line-height:1.65;
}
.invoice-terms .invoice-blue-heading{min-width:215px}
.invoice-reference-note{
  margin-top:32px;
  padding-top:12px;
  border-top:1px solid #e0e3e6;
  color:#8b939a;
  font-size:8px;
  line-height:1.5;
}
.invoice-bottom-nav{
  width:min(900px,100%);
  margin:18px auto 0;
  padding-top:14px;
  border-top:1px solid rgba(20,36,51,.09)
}

.invoice-create-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  margin-bottom:18px
}
.invoice-create-guidance p{
  color:#6d7c88;
  font-size:10px;
  line-height:1.65
}
.invoice-items-editor{margin-bottom:18px}
.invoice-edit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px 150px 42px;
  gap:9px;
  align-items:center;
  margin-bottom:8px
}
.invoice-edit-row:last-child{margin-bottom:0}

@media(max-width:900px){
  .invoice-create-grid{grid-template-columns:1fr}
  .invoice-document{padding:38px 28px}
}
@media(max-width:700px){
  .invoice-page-toolbar{align-items:flex-start;flex-direction:column}
  .invoice-info-block{width:100%}
  .invoice-info-row{grid-template-columns:1fr auto}
  .invoice-totals{width:100%}
  .invoice-edit-row{grid-template-columns:1fr 80px 110px 42px}
}
@media(max-width:520px){
  .invoice-edit-row{grid-template-columns:1fr 1fr}
  .invoice-edit-row .invoice-item-description{grid-column:1/-1}
  .invoice-edit-row .icon-btn{grid-column:2;justify-self:end}
}

@media print{
  body{background:#fff!important}
  .executive-sidebar,.executive-topbar,.invoice-page-toolbar,.invoice-bottom-nav,#cookie-banner{display:none!important}
  .executive-shell,.main-panel,.invoice-detail-page{display:block!important;background:#fff!important;padding:0!important;margin:0!important}
  .invoice-document{
    width:100%!important;
    max-width:none!important;
    border:0!important;
    box-shadow:none!important;
    padding:22mm 16mm!important;
    margin:0!important;
  }
}


/* V21 — ensure About page photo is always visible */
.about-photo{clip-path:none !important;opacity:1 !important;transform:none !important;animation:none !important;}
.about-photo img{display:block !important;visibility:visible !important;opacity:1 !important;}


/* ==========================================================
   V22 — FULL MOBILE PARITY
   Same routes, controls and workflows; phone-first layout.
   ========================================================== */

html,body{max-width:100%;overflow-x:hidden}
body.mobile-nav-locked{overflow:hidden}
button,a,input,select,textarea{touch-action:manipulation}
.mobile-public-menu,.mobile-sidebar-backdrop,.mobile-workspace-title{display:none}

/* Avoid iOS input zoom and improve form usability */
@media(max-width:900px){
  input,select,textarea,.input,.select,.textarea{font-size:16px!important}
  .btn,.table-action,.side-link{min-height:44px}
  .icon-btn{min-width:44px;width:44px;height:44px}
  .container{width:calc(100% - 28px)}
}

/* ---------------- PUBLIC WEBSITE ---------------- */
@media(max-width:1199px){
  .public-nav{
    min-height:72px;
    padding:9px 14px!important;
    align-items:center;
  }
  .public-nav .brand-only .brand-logo{
    height:52px!important;
    max-width:190px;
  }
  .desktop-nav-links{display:none!important}
  .desktop-nav-actions .ghost,
  .desktop-nav-actions > .primary{display:none!important}
  .public-nav .mobile-toggle{display:inline-flex!important}
  .mobile-public-menu{
    display:block;
    position:fixed;
    left:0;right:0;
    top:72px;
    height:calc(100dvh - 72px);
    background:#f7f6f2;
    color:#183146;
    padding:18px 18px calc(28px + env(safe-area-inset-bottom));
    overflow-y:auto;
    transform:translateY(-12px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,transform .25s ease;
    border-top:1px solid rgba(20,36,51,.10);
    z-index:80;
  }
  .public-nav.mobile-open .mobile-public-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .mobile-public-menu-head{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:14px;margin-bottom:6px;
    border-bottom:1px solid rgba(20,36,51,.10);
  }
  .mobile-public-menu-head>span{
    font-size:10px;text-transform:uppercase;letter-spacing:.14em;
    color:#7a8792;font-weight:700
  }
  .mobile-public-links{display:grid}
  .mobile-public-links a{
    display:grid;
    grid-template-columns:38px 1fr auto;
    gap:10px;
    align-items:center;
    padding:16px 2px;
    min-height:58px;
    border-bottom:1px solid rgba(20,36,51,.09);
    color:#243d52;
  }
  .mobile-public-links a>span{
    font-size:9px;letter-spacing:.12em;color:#8e98a1
  }
  .mobile-public-links a strong{
    font:500 25px/1 Georgia,"Times New Roman",serif;
  }
  .mobile-public-links a.active strong{color:#174e88}
  .mobile-public-actions{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px
  }
  .mobile-public-meta{
    margin-top:22px;padding-top:14px;
    border-top:1px solid rgba(20,36,51,.09);
    color:#89949d;font-size:9px;line-height:1.5
  }

  .page{padding-top:72px}
  .kinetic-hero{padding-top:105px}
}

@media(max-width:700px){
  .section{padding:68px 0}
  .section.compact{padding:48px 0}
  .section-head{display:block;margin-bottom:28px}
  .section-head>p{margin-top:14px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .kinetic-hero{min-height:auto;padding:104px 0 50px}
  .kinetic-topline{margin-bottom:20px}
  .hero-kinetic-title{
    font-size:clamp(50px,16.5vw,78px);
    line-height:.88
  }
  .hero-bottom{margin-top:28px;padding-top:20px}
  .hero-proof.motion-proof{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
  }
  .hero-proof.motion-proof>div:last-child{grid-column:1/-1}
  .proof-number{font-size:22px}
  .proof-label{font-size:10px}
  .scroll-cue{display:none}

  .story-scroll{min-height:auto!important}
  .story-sticky{position:relative!important;min-height:auto!important;padding:70px 0}
  .story-grid{display:block;width:calc(100% - 28px)}
  .story-index{display:block}
  .story-rail{height:auto!important}
  .story-beat{
    position:relative!important;
    inset:auto!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
    padding:0 0 34px;margin:0 0 34px;
    border-bottom:1px solid rgba(20,36,51,.10)
  }
  .story-beat:last-child{border-bottom:0}
  .story-beat h2{font-size:42px}
  .story-progress{display:none}
  .story-visual{display:none}

  .rail-scroll{height:auto!important;padding:68px 0}
  .rail-sticky{
    position:relative!important;
    height:auto!important;
    overflow:visible!important;
    display:block
  }
  .rail-head{width:calc(100% - 28px);margin-bottom:26px}
  .rail-head h2{font-size:44px}
  .motion-rail{
    width:auto!important;
    transform:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px;
    padding:0 14px!important
  }
  .motion-card{
    width:100%!important;
    min-height:300px;
    padding:24px
  }
  .rail-counter{display:none}

  .about-hero{padding:100px 0 55px}
  .about-hero-grid{display:flex!important;flex-direction:column!important;gap:38px!important}
  .about-photo-wrap{width:100%;max-width:420px;margin:0 auto}
  .about-photo{aspect-ratio:4/5}
  .about-intro h1{font-size:50px}
  .about-role{font-size:16px}
  .about-lede{font-size:17px}
  .about-summary,.about-capabilities,.about-experience,.about-transactions,.about-testimonials{padding:70px 0}
  .about-summary-heading h2,.about-section-head h2,.about-experience-intro h2{font-size:39px}
  .about-expertise-row{grid-template-columns:38px 1fr!important;gap:14px}
  .about-expertise-row p{grid-column:2}
  .about-career-row{grid-template-columns:84px 1fr!important;gap:10px}
  .about-career-role{grid-column:2}
  .about-transaction-row{grid-template-columns:1fr auto!important}
  .about-transaction-note{grid-column:1/-1}
  .about-quote{padding:75px 0}
  .about-quote blockquote{font-size:39px}

  .insights-featured h2{font-size:42px}
  .insight-editorial-card h3{font-size:29px}
  .insight-article-hero h1{font-size:46px}
  .insight-article-dek{font-size:17px}

  .footer{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  .footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
}

/* ---------------- CEO / CLIENT HUB ---------------- */
@media(max-width:900px){
  .executive-shell,.app-shell{display:block!important;min-height:100dvh}
  .main-panel{width:100%;min-width:0}

  /* Full-height drawer: every CEO Hub route remains accessible */
  .executive-sidebar{
    display:flex!important;
    position:fixed!important;
    z-index:120!important;
    top:0!important;bottom:0!important;left:0!important;
    width:min(84vw,320px)!important;
    height:100dvh!important;
    padding:0!important;
    flex-direction:column!important;
    background:#fff!important;
    border-right:1px solid rgba(20,36,51,.13)!important;
    border-top:0!important;
    transform:translateX(-102%);
    transition:transform .26s cubic-bezier(.16,1,.3,1);
    overflow:hidden!important
  }
  .executive-sidebar.mobile-open{transform:none}
  .sidebar-brand-wrap{
    display:flex!important;
    min-height:78px;
    padding:12px 18px!important;
    border-bottom:1px solid rgba(20,36,51,.09)
  }
  .sidebar-brand-wrap .brand-logo{height:50px!important}
  .sidebar-nav{
    display:block!important;
    flex:1!important;
    padding:16px 12px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important
  }
  .executive-sidebar .side-group{
    display:block!important;
    margin:0 0 19px!important
  }
  .executive-sidebar .side-label{
    display:block!important;
    padding:0 10px 7px!important
  }
  .executive-sidebar .side-link{
    display:flex!important;
    min-width:0!important;
    width:100%;
    justify-content:flex-start!important;
    gap:11px!important;
    padding:10px!important;
    margin:1px 0!important;
    border-left:2px solid transparent!important
  }
  .executive-sidebar .side-link span:not(.badge){
    display:inline!important
  }
  .executive-sidebar .side-link .badge{display:inline-block!important;margin-left:auto}
  .sidebar-footer{
    display:block!important;
    padding:10px 12px calc(14px + env(safe-area-inset-bottom))!important;
    background:#fff
  }
  .sidebar-user{display:flex!important}

  .mobile-sidebar-backdrop{
    display:block;
    position:fixed;inset:0;z-index:115;
    border:0;background:rgba(11,23,34,.42);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:.2s ease
  }
  .mobile-sidebar-backdrop.show{
    opacity:1;visibility:visible;pointer-events:auto
  }

  .executive-topbar{
    height:66px!important;
    position:sticky!important;
    top:0!important;
    z-index:70!important;
    padding:0 12px!important;
    background:rgba(255,255,255,.98)!important;
    gap:8px
  }
  .topbar-mobile-menu{display:inline-flex!important}
  .mobile-workspace-title{
    display:flex;flex-direction:column;line-height:1.05
  }
  .mobile-workspace-title strong{font-size:10px;color:#233b4f}
  .mobile-workspace-title span{font-size:8px;color:#8a959e;margin-top:3px}
  .executive-search{
    position:absolute;
    left:12px;right:12px;
    top:72px;
    width:auto!important;
    z-index:71;
    padding:8px 12px!important;
    background:#fff;
    border:1px solid rgba(20,36,51,.13);
    box-shadow:0 8px 25px rgba(20,36,51,.08);
    display:none
  }
  .executive-topbar.search-open .executive-search{display:flex}
  .topbar-actions{margin-left:auto}
  .topbar-actions .avatar{width:34px;height:34px}
  .system-status{display:none!important}

  .dashboard{
    padding:22px 14px calc(34px + env(safe-area-inset-bottom))!important
  }
  .executive-dashboard{padding:22px 14px calc(34px + env(safe-area-inset-bottom))!important}
  .dash-title,.exec-page-header h1{font-size:31px!important}
  .dash-sub,.exec-page-header p{font-size:12px!important;line-height:1.55}
  .page-head-actions,.exec-page-header{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:15px!important
  }
  .page-head-actions>.btn,.page-head-actions>a.btn,
  .exec-header-actions{width:100%}
  .exec-header-actions{display:grid!important;grid-template-columns:1fr 1fr}

  .dash-grid,.exec-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important
  }
  .span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12,
  .exec-decisions,.exec-today,.exec-engagements,.exec-pipeline,.exec-finance,.exec-intelligence{
    grid-column:1!important
  }
  .panel,.exec-panel{padding:17px!important}
  .panel-head,.exec-panel-head{align-items:flex-start}
  .panel-head{flex-wrap:wrap}

  .exec-kpi-strip{
    grid-template-columns:1fr 1fr!important;
    margin-bottom:12px
  }
  .exec-kpi{padding:17px!important}
  .exec-kpi strong{font-size:25px}
  .exec-kpi:nth-child(2n){border-right:0!important}
  .exec-kpi:nth-child(-n+2){border-bottom:1px solid rgba(20,36,51,.09)}
  .exec-intelligence{display:block!important}
  .intel-item{
    padding:18px 0!important;
    border-left:0!important;
    border-top:1px solid rgba(20,36,51,.09)
  }

  .decision-row{grid-template-columns:6px 1fr 30px!important}
  .decision-meta{display:none!important}
  .agenda-item{grid-template-columns:42px 1px minmax(0,1fr) auto!important}
  .pipeline-summary{grid-template-columns:1fr!important}
  .pipeline-number{border-right:0!important;border-bottom:1px solid rgba(20,36,51,.09);padding:0 0 16px!important}

  /* Same tables, horizontally scrollable rather than clipped */
  .table-wrap,.exec-table-wrap,.invoice-line-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    border-radius:0!important
  }
  table,.exec-table{min-width:760px!important}
  .table-wrap::after,.exec-table-wrap::after{
    content:"Swipe table horizontally";
    display:block;
    position:sticky;left:0;
    padding:8px 2px 2px;
    font-size:8px;color:#8c969f
  }

  /* Projects */
  .project-view-toolbar{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:6px!important
  }
  .project-view-toolbar .btn{min-width:0!important;padding-inline:7px!important}
  .project-view-toolbar .select{grid-column:1/-1;width:100%!important;margin:0!important}
  .project-timeline-summary{grid-template-columns:1fr 1fr!important}
  .project-timeline-grid{grid-template-columns:1fr!important}
  .project-timeline-backbar{align-items:flex-start!important;flex-direction:column!important}
  .project-timeline-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}
  .project-timeline-actions .btn{width:100%}

  /* Company profiles */
  .company-profile-hero{align-items:flex-start!important;flex-direction:column!important}
  .company-profile-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .company-profile-actions .primary{grid-column:1/-1}
  .company-profile-kpis{grid-template-columns:1fr 1fr!important}
  .company-profile-grid{display:block!important}
  .company-profile-grid>.exec-panel{margin-bottom:12px}
  .company-profile-detail-grid{grid-template-columns:1fr!important}
  .company-profile-detail-grid>div:nth-child(even){padding-left:0!important;border-left:0!important}
  .company-analysis-sections{grid-template-columns:1fr!important}
  .company-analysis-sections>div,.company-analysis-sections>div:not(:first-child){
    padding:14px 0!important;border-right:0!important;border-bottom:1px solid rgba(20,36,51,.08)
  }

  /* AI workspace */
  .ai-research-layout{grid-template-columns:1fr!important}
  .research-controls{grid-template-columns:1fr!important}
  .ai-side-column{grid-template-columns:1fr!important}
  .research-live-panel{grid-column:auto!important}
  .research-answer{padding:18px!important}
  .research-answer-top,.research-evidence{display:grid!important;grid-template-columns:1fr!important}
  .research-mini-table{overflow-x:auto}
  .research-mini-table>div{min-width:620px}

  /* Communications */
  .communications-layout{grid-template-columns:1fr!important}
  .chat-sidebar-panel{min-height:auto!important}
  .active-chat-panel{min-height:520px!important}
  .chat-thread{max-height:55dvh!important;padding:14px!important}
  .chat-message{max-width:94%!important}
  .active-chat-header{flex-direction:column!important}
  .active-chat-actions{width:100%}
  .chat-composer-actions{display:grid!important;grid-template-columns:1fr 1fr}

  /* Workflow pages: Events, clauses, invoices */
  .workflow-backbar,.workflow-hero{
    align-items:flex-start!important;
    flex-direction:column!important
  }
  .workflow-form-grid,.invoice-create-grid{grid-template-columns:1fr!important}
  .workflow-actions,.clause-page-actions{
    display:grid!important;grid-template-columns:1fr!important;width:100%
  }
  .workflow-actions .btn,.workflow-actions a,.clause-page-actions .btn,.clause-page-actions a{width:100%}
  .clause-editor-grid,.clause-analysis-grid,.clause-comparison-meta{grid-template-columns:1fr!important}
  .clause-textarea{min-height:180px}
  .invoice-edit-row{
    grid-template-columns:1fr 82px 110px 44px!important
  }

  .invoice-page-toolbar{align-items:flex-start!important;flex-direction:column!important}
  .invoice-toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .invoice-document{
    width:100%!important;
    padding:26px 16px!important;
    box-shadow:none!important
  }
  .invoice-info-block,.invoice-totals{width:100%!important}
  .invoice-brand-name{font-size:27px!important}
  .invoice-balance{font-size:17px!important}
  .invoice-balance span{font-size:16px!important}

  /* Calendar / finance list rows */
  .list-row{align-items:flex-start!important}
  .list-row>.btn{flex:0 0 auto}
  .finance-bars{gap:3px!important}

  /* Modals remain fully usable on phone */
  .modal-backdrop{
    padding:0!important;
    align-items:end!important
  }
  .modal{
    width:100%!important;
    max-width:none!important;
    max-height:92dvh!important;
    border-radius:18px 18px 0 0!important;
    padding:0!important;
    overflow:auto!important;
    background:#fff!important;
  }
  .modal-head{
    position:sticky;top:0;z-index:2;
    background:#fff;
    padding:15px 16px!important;
    margin:0!important;
    border-bottom:1px solid rgba(20,36,51,.10)
  }
  .modal-head h2{font-size:20px!important}
  .action-modal-body{padding:16px!important}
  .action-modal-footer{
    position:sticky;bottom:0;z-index:2;
    background:#fff;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(20,36,51,.10);
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important
  }
  .action-modal-footer .btn{width:100%}
  .form-grid{grid-template-columns:1fr!important}

  /* Cookie panel */
  .cookie-banner{
    left:8px!important;right:8px!important;bottom:8px!important;
    max-height:80dvh;overflow:auto;
    padding:15px!important
  }
}

/* Phone-specific tightening */
@media(max-width:520px){
  .exec-kpi-strip{grid-template-columns:1fr!important}
  .exec-kpi{border-right:0!important;border-bottom:1px solid rgba(20,36,51,.09)!important}
  .exec-kpi:last-child{border-bottom:0!important}

  .topbar-actions .avatar{display:none}
  .mobile-workspace-title strong{font-size:9px}
  .mobile-workspace-title span{font-size:7px}

  .company-profile-kpis{grid-template-columns:1fr!important}
  .company-profile-kpis>div{border-right:0!important;border-bottom:1px solid rgba(20,36,51,.09)!important}
  .company-profile-kpis>div:last-child{border-bottom:0!important}

  .project-timeline-summary{grid-template-columns:1fr!important}
  .project-timeline-summary>div{border-right:0!important;border-bottom:1px solid rgba(20,36,51,.09)!important}
  .project-timeline-summary>div:last-child{border-bottom:0!important}

  .invoice-edit-row{
    grid-template-columns:1fr 1fr!important
  }
  .invoice-edit-row .invoice-item-description{grid-column:1/-1!important}
  .invoice-edit-row .icon-btn{justify-self:end}

  .mobile-public-actions{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr}
}

/* Keep desktop / phone interaction consistent, but reduce expensive hover-only motion on touch. */
@media(hover:none) and (pointer:coarse){
  .magnetic,.motion-card,.card{transform:none!important}
  .motion-card:hover,.card:hover{transform:none!important}
  .btn:hover{transform:none!important}
}

/* Safe areas for modern phones */
@supports(padding:max(0px)){
  @media(max-width:900px){
    .executive-topbar{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
    .public-nav{padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}
  }
}


/* V22 mobile final refinements */
.mobile-search-toggle{display:none}
@media(max-width:900px){
  .mobile-search-toggle{display:inline-flex!important}
  .executive-topbar.search-open{height:126px!important;align-items:flex-start!important;padding-top:11px!important}
  .executive-topbar.search-open .executive-search{display:flex!important;top:66px!important}
}


/* ==========================================================
   V23 — CROSS-DEVICE / TRANSLATION-SAFE FOUNDATION
   Final stability layer. Content must flow; decoration must adapt.
   ========================================================== */

:root{
  --content-max:1280px;
  --reading-max:760px;
  --page-gutter:clamp(14px,3vw,42px);
  --space-section:clamp(64px,7vw,104px);
  --type-display:clamp(46px,5.25vw,76px);
  --type-h1:clamp(42px,4.7vw,68px);
  --type-h2:clamp(32px,3.5vw,50px);
  --type-h3:clamp(22px,2.2vw,31px);
}

*,*::before,*::after{box-sizing:border-box}
html{
  width:100%;max-width:100%;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
  scroll-padding-top:100px;
  background:#f7f6f2;
}
body{
  width:100%;max-width:100%;min-width:280px;
  overflow-x:clip;
  background:#f7f6f2;
}
#app,.page,main,section,article,aside,header,footer,nav,
.container,.main-panel,.dashboard,.panel,.exec-panel,
[class*="grid"],[class*="row"],[class*="copy"],[class*="head"]{min-width:0}

img,svg,video,canvas{max-width:100%;height:auto}
img{object-position:center}
.brand-logo{object-fit:contain!important}
.about-photo img{object-fit:cover!important;object-position:center top!important}

/* Translated text and long words must grow containers instead of being clipped. */
:where(h1,h2,h3,h4,p,li,a,button,label,strong,span,small,blockquote,td,th){
  overflow-wrap:break-word;
  word-break:normal;
}
:where(.btn,button,.nav-link,.side-link,.pill,.exec-status){
  height:auto;
  white-space:normal;
  line-height:1.25;
}
.row-title,.chat-list-copy strong,.chat-list-copy small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.container{width:min(var(--content-max),calc(100% - (2 * var(--page-gutter))))}
.section{padding-block:var(--space-section)}

/* Softer typography: large enough for hierarchy, never billboard-sized. */
.hero-kinetic-title{font-size:var(--type-display)!important;line-height:.94!important;letter-spacing:-.052em!important}
.hero h1,.about-intro h1,.insights-hero h1,.insight-article-hero h1,.cookie-policy-hero h1{
  font-size:var(--type-h1)!important;line-height:1!important;letter-spacing:-.045em!important
}
.section-head h2,.about-summary-heading h2,.about-section-head h2,.about-experience-intro h2,
.rail-head h2,.story-beat h2,.cta-panel h2{
  font-size:var(--type-h2)!important;line-height:1.06!important;letter-spacing:-.038em!important
}
.motion-card h3,.insight-editorial-card h3,.about-sector-card h3{font-size:var(--type-h3)!important}
.lede,.about-lede,.insights-hero p,.insight-article-dek{font-size:clamp(16px,1.3vw,19px)!important;line-height:1.65!important}

/* Kinetic typography is allowed to wrap and cannot crop translated text. */
.kinetic-hero{overflow-x:clip!important;overflow-y:visible!important}
.kline{overflow:visible!important;padding-bottom:.12em!important}
.kline-inner{display:flex!important;flex-wrap:wrap!important;max-width:100%!important}
.kword{max-width:100%;overflow-wrap:break-word}

/* Navigation uses minimum height, so translations can increase line count safely. */
.nav{height:auto!important;min-height:78px!important}
.nav-links{min-width:0;flex-wrap:wrap;justify-content:center}
.nav-link{white-space:normal!important;text-align:center;line-height:1.2!important}

/* Never clip focus rings / readable card content just to contain decoration. */
.card,.exec-panel,.panel,.cta-panel{overflow:visible}
.motion-card{overflow:hidden} /* only decorative circle uses this boundary */

/* Translation-safe mode: Google Translate typically adds these classes. */
html.translated-ltr .desktop-nav-links,
html.translated-rtl .desktop-nav-links,
html[data-translation-active="true"] .desktop-nav-links,
html.translated-ltr .desktop-nav-actions>.ghost,
html.translated-ltr .desktop-nav-actions>.primary,
html.translated-rtl .desktop-nav-actions>.ghost,
html.translated-rtl .desktop-nav-actions>.primary{
  display:none!important
}
html.translated-ltr .mobile-toggle,
html.translated-rtl .mobile-toggle,
html[data-translation-active="true"] .mobile-toggle{display:inline-flex!important}
html.translated-ltr .kword,html.translated-rtl .kword,
html.translated-ltr .kline-inner,html.translated-rtl .kline-inner,
html[data-translation-active="true"] .kword,
html[data-translation-active="true"] .kline-inner{
  opacity:1!important;transform:none!important;animation:none!important
}
html.translated-ltr .story-scroll,html.translated-rtl .story-scroll,
html[data-translation-active="true"] .story-scroll,
html.translated-ltr .rail-scroll,html.translated-rtl .rail-scroll,
html[data-translation-active="true"] .rail-scroll{height:auto!important;min-height:0!important}
html.translated-ltr .story-sticky,html.translated-rtl .story-sticky,
html[data-translation-active="true"] .story-sticky,
html.translated-ltr .rail-sticky,html.translated-rtl .rail-sticky,
html[data-translation-active="true"] .rail-sticky{
  position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;padding-block:64px
}
html.translated-ltr .story-beat,html.translated-rtl .story-beat,
html[data-translation-active="true"] .story-beat{
  position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;pointer-events:auto!important;
  padding-block:22px;border-bottom:1px solid rgba(20,36,51,.1)
}
html.translated-ltr .story-rail,html.translated-rtl .story-rail,
html[data-translation-active="true"] .story-rail{height:auto!important}
html.translated-ltr .story-visual,html.translated-rtl .story-visual,
html[data-translation-active="true"] .story-visual,
html.translated-ltr .story-progress,html.translated-rtl .story-progress,
html[data-translation-active="true"] .story-progress{display:none!important}
html.translated-ltr .motion-rail,html.translated-rtl .motion-rail,
html[data-translation-active="true"] .motion-rail{
  transform:none!important;width:auto!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))!important;
  padding-inline:var(--page-gutter)!important
}
html.translated-ltr .motion-card,html.translated-rtl .motion-card,
html[data-translation-active="true"] .motion-card{width:auto!important;min-height:300px!important}
html.translated-ltr .rail-counter,html.translated-rtl .rail-counter,
html[data-translation-active="true"] .rail-counter{display:none!important}

/* Tablet / touch: convert cinematic scroll mechanics into normal document flow. */
@media(max-width:1199px),(max-height:699px),(hover:none) and (pointer:coarse){
  .story-scroll,.rail-scroll{height:auto!important;min-height:0!important}
  .story-sticky,.rail-sticky{
    position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;padding-block:clamp(52px,7vw,78px)
  }
  .story-grid{grid-template-columns:1fr!important;gap:24px!important}
  .story-rail{height:auto!important}
  .story-beat{
    position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;pointer-events:auto!important;
    padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid rgba(20,36,51,.1)
  }
  .story-beat:last-child{margin-bottom:0;border-bottom:0}
  .story-progress,.story-visual{display:none!important}
  .motion-rail{
    transform:none!important;width:auto!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding-inline:var(--page-gutter)!important;gap:14px!important
  }
  .motion-card{width:auto!important;min-height:300px!important}
  .rail-counter{display:none!important}
  .kline-inner{transform:none!important}
}

/* Compact phones, including 320px legacy width. */
@media(max-width:599px){
  :root{--page-gutter:14px;--type-display:clamp(40px,13.5vw,56px);--type-h1:clamp(38px,12vw,50px);--type-h2:clamp(30px,9vw,40px);--type-h3:clamp(22px,6vw,28px)}
  .public-nav .brand-only .brand-logo{height:46px!important;max-width:160px!important}
  .hero-proof.motion-proof{grid-template-columns:1fr!important}
  .hero-proof.motion-proof>div:last-child{grid-column:auto!important}
  .motion-rail{grid-template-columns:1fr!important}
  .motion-card{min-height:270px!important}
  .about-photo-wrap{max-width:360px!important}
  .about-highlight-grid{grid-template-columns:1fr!important}
  .about-testimonial p{font-size:19px!important}
  .cta-panel{padding:24px!important}
  .exec-header-actions,.company-profile-actions,.project-timeline-actions,.chat-composer-actions,.invoice-toolbar-actions{grid-template-columns:1fr!important}
  .project-view-toolbar{grid-template-columns:1fr 1fr 1fr!important}
  .project-view-toolbar .btn{font-size:11px!important}
}

/* Small tablets / large phones. */
@media(min-width:600px) and (max-width:899px){
  .motion-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .about-highlight-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* Tablets: avoid desktop elements becoming cramped. */
@media(min-width:900px) and (max-width:1199px){
  .hero-kinetic-title{font-size:clamp(54px,7vw,68px)!important}
  .about-hero-grid{grid-template-columns:.85fr 1.15fr!important;gap:50px!important}
  .exec-grid{gap:14px!important}
  .executive-dashboard,.dashboard{padding-inline:24px!important}
}

/* Very wide displays: stop text from becoming huge or too wide. */
@media(min-width:1600px){
  .container{max-width:1320px}
  .kinetic-hero-inner{max-width:1320px}
  .hero-kinetic-title{font-size:76px!important}
  .about-intro h1,.insights-hero h1,.insight-article-hero h1{font-size:68px!important}
}

/* Landscape phones / short browser windows. */
@media(max-height:560px) and (orientation:landscape){
  .public-nav{min-height:58px!important}
  .public-nav .brand-only .brand-logo{height:40px!important}
  .mobile-public-menu{top:58px!important;height:calc(100dvh - 58px)!important}
  .kinetic-hero{padding-top:82px!important;min-height:auto!important}
  .executive-sidebar{overflow-y:auto!important}
  .modal{max-height:96dvh!important}
}

/* Focus and accessibility must not be visually clipped. */
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid #174e88!important;outline-offset:2px!important
}

/* Browsers that do not support overflow:clip fall back safely. */
@supports not (overflow:clip){body,.kinetic-hero{overflow-x:hidden!important}}

/* Print stays document-first. */
@media print{
  .nav,.footer,.cookie-banner,.mobile-public-menu,.mobile-sidebar-backdrop{display:none!important}
  body,.page{background:#fff!important;color:#111!important}
  .page{padding-top:0!important}
  a{color:inherit!important;text-decoration:none!important}
}


/* V23.1 final translation / typography safeguards */
.mega-metric{font-size:clamp(48px,7vw,92px)!important;line-height:.95!important}
.quote-big{font-size:clamp(30px,4vw,52px)!important;line-height:1.12!important}
.split-feature .visual h3{font-size:clamp(28px,3vw,38px)!important;line-height:1.1!important}
@media(max-width:1199px){
  .public-nav{min-height:72px!important}
  .page{padding-top:72px!important}
}
@media(min-width:1200px){
  html.translated-ltr .desktop-nav-links,
  html.translated-rtl .desktop-nav-links,
  html[data-translation-active="true"] .desktop-nav-links{display:flex!important}
  html.translated-ltr .desktop-nav-actions>.ghost,
  html.translated-ltr .desktop-nav-actions>.primary,
  html.translated-rtl .desktop-nav-actions>.ghost,
  html.translated-rtl .desktop-nav-actions>.primary,
  html[data-translation-active="true"] .desktop-nav-actions>.ghost,
  html[data-translation-active="true"] .desktop-nav-actions>.primary{display:inline-flex!important}
  html.translated-ltr .mobile-toggle,
  html.translated-rtl .mobile-toggle,
  html[data-translation-active="true"] .mobile-toggle{display:none!important}
}
html.translated-ltr .motion-ticker,
html.translated-rtl .motion-ticker,
html[data-translation-active="true"] .motion-ticker{display:none!important}

.insight-article-aside button{display:block;width:100%;padding:9px 0;border:0;border-bottom:1px solid rgba(20,36,51,.07);background:transparent;text-align:left;color:#677583;font-size:9px;line-height:1.45;cursor:pointer}
.insight-article-aside button:hover{color:#174e88}


/* ==========================================================
   V24 — ONE BRAND PALETTE ON EVERY DEVICE
   Responsive rules may change geometry only, never the brand palette.
   ========================================================== */

:root{
  --lc-page:#f7f6f2;
  --lc-page-alt:#f0efea;
  --lc-surface:#ffffff;
  --lc-surface-soft:#f5f6f6;
  --lc-ink:#14293b;
  --lc-copy:#5f6f7e;
  --lc-muted:#7f8b95;
  --lc-navy:#173f6b;
  --lc-blue:#174e88;
  --lc-blue-soft:#e9f0f7;
  --lc-line:rgba(20,36,51,.11);
  --lc-line-strong:rgba(20,36,51,.16);
}

/* Prevent browser / OS auto darkening from changing the brand. */
html,body,#app{
  color-scheme:only light!important;
  background-color:var(--lc-page)!important;
}
body{
  color:var(--lc-ink)!important;
}

/* Core public-site surfaces */
.page,
.kinetic-hero,
.about-page,
.about-hero,
.insights-page,
.insight-article-page,
.cookie-policy-page{
  background-color:var(--lc-page)!important;
}
.about-summary,
.about-experience,
.about-transactions,
.about-testimonials,
.insights-list-section,
.insight-article-body,
.cookie-policy-body{
  background-color:var(--lc-surface)!important;
}
.about-capabilities,
.about-quote,
.cta-panel{
  background-color:var(--lc-page-alt)!important;
}

/* Public navigation uses the same surface at every width. */
.nav,
.public-nav,
.nav.nav-scrolled{
  background:rgba(255,255,255,.97)!important;
  border-color:var(--lc-line)!important;
  color:var(--lc-ink)!important;
}
.nav-link{color:#475666!important}
.nav-link:hover,.nav-link.active{
  background:transparent!important;
  color:var(--lc-ink)!important;
  border-bottom-color:var(--lc-blue)!important;
}

/* Mobile public menu now belongs to the exact same palette. */
.mobile-public-menu{
  background:var(--lc-page)!important;
  color:var(--lc-ink)!important;
}
.mobile-public-menu-head,
.mobile-public-links a,
.mobile-public-meta{
  border-color:var(--lc-line)!important;
}
.mobile-public-links a{color:#243d52!important}
.mobile-public-links a.active strong{color:var(--lc-blue)!important}

/* Universal controls */
.btn{
  background:var(--lc-surface)!important;
  color:var(--lc-ink)!important;
  border-color:var(--lc-line-strong)!important;
}
.btn.primary{
  background:var(--lc-navy)!important;
  border-color:var(--lc-navy)!important;
  color:#fff!important;
}
.btn.primary:hover{background:#102f52!important}
.btn.ghost{background:transparent!important;color:#223344!important}

/* Do not let native controls adopt device-specific dark palettes. */
.input,.select,.textarea,
input,select,textarea{
  color-scheme:only light!important;
}
.input,.select,.textarea{
  background:var(--lc-surface)!important;
  color:#1e3244!important;
  border-color:#cdd5dc!important;
}
.select option{
  background:#fff!important;
  color:#1e3244!important;
}

/* CEO Hub: exact same colors desktop / tablet / phone. */
.app-shell,
.executive-shell,
.main-panel{
  background:var(--lc-surface-soft)!important;
}
.sidebar,
.executive-sidebar,
.sidebar-footer,
.sidebar-brand-wrap{
  background:var(--lc-surface)!important;
  border-color:var(--lc-line)!important;
}
.side-link{color:#596b7d!important}
.side-link:hover,.side-link.active{
  background:#e8eef7!important;
  color:#0b3c8d!important;
}
.executive-topbar,
.topbar,
.executive-search{
  background:rgba(255,255,255,.98)!important;
  border-color:var(--lc-line)!important;
}
.dashboard{color:#162b3e!important}
.panel,.exec-panel{
  background:var(--lc-surface)!important;
  border-color:var(--lc-line)!important;
}
.exec-kpi-strip,
.company-profile-kpis,
.project-timeline-summary,
.project-view-toolbar{
  background:var(--lc-surface)!important;
  border-color:var(--lc-line)!important;
}

/* Tables */
.table-wrap,
.exec-table-wrap{
  background:var(--lc-surface)!important;
  border-color:var(--lc-line)!important;
}
th{
  background:#f2f4f6!important;
  color:#667483!important;
}
td{
  background:#fff!important;
  color:#33485b!important;
  border-color:#edf0f2!important;
}
tr:hover td{background:#f8fbff!important}

/* Modals are identical on all devices; only geometry changes. */
.modal{
  background:var(--lc-surface)!important;
  color:#1b3043!important;
  border-color:var(--lc-line-strong)!important;
}
.modal-head,
.action-modal-footer{
  background:var(--lc-surface)!important;
  border-color:var(--lc-line)!important;
}

/* Chat / research / workflow surfaces */
.chat-thread{background:#fbfbfa!important}
.chat-message{background:#fff!important}
.chat-message.mine{background:#edf4fa!important}
.research-panel,
.research-output,
.research-side-panel,
.project-empty-state,
.project-list-panel,
.project-timeline-overview{
  background:#fff!important;
  border-color:var(--lc-line)!important;
}

/* Cookie UI */
.cookie-banner,
.cookie-preference-card{
  background:#fff!important;
  color:var(--lc-ink)!important;
  border-color:var(--lc-line-strong)!important;
}

/* Invoice keeps its print/document palette on every device. */
.invoice-document{
  background:#fff!important;
  color:#171c22!important;
}

/* Remove device-specific color mutations from mobile refinements.
   Breakpoints below only reaffirm the same tokens. */
@media(max-width:1199px){
  html,body,#app,.page{background-color:var(--lc-page)!important}
  .public-nav{background:rgba(255,255,255,.97)!important}
  .mobile-public-menu{background:var(--lc-page)!important}
}
@media(max-width:900px){
  .executive-sidebar,
  .sidebar-footer,
  .executive-topbar,
  .executive-search,
  .modal,
  .modal-head,
  .action-modal-footer{
    background:#fff!important;
  }
  .app-shell,.executive-shell,.main-panel{
    background:var(--lc-surface-soft)!important;
  }
}
@media(max-width:599px){
  html,body,#app,.page{background-color:var(--lc-page)!important}
}

/* Keep browser theme bars aligned with the same visual identity where supported. */
:root{accent-color:var(--lc-blue)}


/* ==========================================================
   V25 — HARDENED LAYOUT / TRANSLATION / INPUT SAFETY
   ========================================================== */
body{min-width:0!important}

:where(.form-grid,.toolbar,.ai-prompt,.invoice-edit-row,.hero-actions,.page-head-actions,
.exec-header-actions,.company-profile-actions,.project-timeline-actions,.chat-composer-actions,
.invoice-toolbar-actions,.client-progress,.client-hero,.panel-head,.exec-panel-head,
.about-hero-grid,.about-summary-grid,.about-experience-grid,.profile-grid,.dash-grid,.exec-grid) > *{
  min-width:0!important;
  max-width:100%;
}

:where(h1,h2,h3,h4,p,li,a,button,label,strong,span,small,blockquote,td,th){
  overflow-wrap:anywhere!important;
  max-inline-size:100%;
}
input,select,textarea,.input,.select,.textarea{max-width:100%!important;min-width:0!important}

:root{
  --type-display:clamp(42px,4.6vw,66px);
  --type-h1:clamp(38px,4.2vw,60px);
  --type-h2:clamp(30px,3.1vw,46px);
  --type-h3:clamp(21px,2vw,29px);
}
h1.display,.display{font-size:var(--type-h1)!important;line-height:1.02!important;letter-spacing:-.042em!important}
.dash-title{font-size:clamp(30px,3vw,40px)!important;line-height:1.06!important;letter-spacing:-.03em!important}
.mega-metric{font-size:clamp(44px,5.6vw,72px)!important}
.login-card h1{font-size:clamp(32px,5vw,38px)!important}

.insight-editorial-card{display:flex!important;flex-direction:column!important;min-height:0!important}
.insight-editorial-card .insight-card-footer,
.insight-editorial-card:nth-child(even) .insight-card-footer{
  position:static!important;inset:auto!important;margin-top:auto!important;padding-top:28px;
}

.login-page{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:18px;min-height:100svh!important;min-height:100dvh!important;padding:clamp(18px,5vw,40px)!important;
}
.back-link{position:static!important;align-self:flex-start!important;max-width:460px;width:min(460px,100%);margin:0 auto!important}
.login-card{flex:0 1 auto!important}

.ai-prompt{min-width:0!important}
.ai-prompt input{min-width:0!important;width:100%!important}
.invoice-edit-row>*{min-width:0!important;max-width:100%!important}

@media(max-width:520px){
  .ai-prompt{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
  .ai-prompt .btn{min-width:64px!important;padding-inline:10px!important}
  .invoice-edit-row{width:100%!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .invoice-edit-row .invoice-item-description{grid-column:1/-1!important;width:100%!important}
  .invoice-edit-row .invoice-item-qty,.invoice-edit-row .invoice-item-rate{width:100%!important}
  .invoice-edit-row .icon-btn{grid-column:2!important;justify-self:end!important}
}

html.translated-ltr .desktop-nav-links,
html.translated-rtl .desktop-nav-links,
html[data-translation-active="true"] .desktop-nav-links,
html.translated-ltr .desktop-nav-actions>.ghost,
html.translated-ltr .desktop-nav-actions>.primary,
html.translated-rtl .desktop-nav-actions>.ghost,
html.translated-rtl .desktop-nav-actions>.primary,
html[data-translation-active="true"] .desktop-nav-actions>.ghost,
html[data-translation-active="true"] .desktop-nav-actions>.primary{display:none!important}
html.translated-ltr .mobile-toggle,
html.translated-rtl .mobile-toggle,
html[data-translation-active="true"] .mobile-toggle{display:inline-flex!important}

html.translated-ltr :where(.motion-card,.about-testimonial,.insight-editorial-card,.card),
html.translated-rtl :where(.motion-card,.about-testimonial,.insight-editorial-card,.card),
html[data-translation-active="true"] :where(.motion-card,.about-testimonial,.insight-editorial-card,.card){height:auto!important;min-height:0!important}

@media(max-width:430px){.motion-ticker{display:none!important}}

.table-wrap,.exec-table-wrap,.invoice-line-table-wrap,.research-mini-table{
  max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;
}

@media(max-width:700px){
  .profile-grid,.about-hero-grid,.about-summary-grid,.about-experience-grid,.cookie-policy-layout,
  .workflow-form-grid,.invoice-create-grid,.research-evidence,.clause-analysis-grid{grid-template-columns:1fr!important}
}
@media(max-height:500px){
  .mobile-public-menu,.executive-sidebar,.modal{overflow-y:auto!important}
  .login-page{justify-content:flex-start!important}
}


/* ==========================================================
   V26 — GEOMETRY-INDEPENDENT MOTION
   No meaningful text is intentionally positioned off-screen.
   ========================================================== */

/* Capabilities always remain in normal document flow. */
.rail-scroll{height:auto!important;min-height:0!important;padding-block:var(--space-section)!important}
.rail-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
.motion-rail{
  transform:none!important;
  width:min(var(--content-max),calc(100% - (2 * var(--page-gutter))))!important;
  margin-inline:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.motion-card{
  width:auto!important;
  min-width:0!important;
  min-height:300px!important;
}
.rail-counter{display:none!important}

/* Story remains animated by reveal, but never uses pinned/absolute copy. */
.story-scroll{height:auto!important;min-height:0!important}
.story-sticky{position:relative!important;top:auto!important;min-height:0!important;overflow:visible!important;padding-block:var(--space-section)!important}
.story-grid{grid-template-columns:1fr!important;gap:28px!important}
.story-index{display:block!important}
.story-rail{height:auto!important}
.story-beat{
  position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;pointer-events:auto!important;
  padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid rgba(20,36,51,.10)!important
}
.story-beat:last-child{border-bottom:0!important;margin-bottom:0!important}
.story-progress,.story-visual{display:none!important}

@media(max-width:899px){.motion-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:599px){.motion-rail{grid-template-columns:1fr!important}.motion-card{min-height:0!important}}

/* Soft interaction survives without layout-critical transforms. */
.motion-card:hover{transform:none!important}
.motion-card:hover .mc-arrow{transform:rotate(-18deg)!important}


/* ==========================================================
   V27 — ZERO OFF-SCREEN MEANINGFUL TEXT
   ========================================================== */
.motion-ticker{
  overflow:visible!important;
  padding:18px var(--page-gutter)!important;
  background:#173f6b!important;
}
.motion-ticker-track{
  width:min(var(--content-max),100%)!important;
  margin-inline:auto!important;
  transform:none!important;
  animation:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px 18px!important;
}
.motion-ticker-track span{
  white-space:normal!important;
  text-align:center!important;
  font:500 clamp(14px,1.4vw,18px)/1.25 Georgia,"Times New Roman",serif!important;
}
.motion-ticker .dot-sep{width:5px!important;height:5px!important;align-self:center!important}
.motion-card:before{display:none!important}
.motion-card{overflow:visible!important}


/* ==========================================================
   V28 — WHITE CANVAS + FLUID 3D EXECUTIVE EXPERIENCE
   Inspired by the interaction principles of Studio Gruhl,
   Reform Collective and high-end Dogstudio/WebGL experiences.
   No copied code, assets or brand styling.
   ========================================================== */

:root{
  --lc-page:#ffffff!important;
  --lc-page-alt:#f7f9fb!important;
  --lc-surface:#ffffff!important;
  --lc-surface-soft:#f6f8fa!important;
  --lc-ink:#13293b!important;
  --lc-copy:#5d6e7d!important;
  --lc-muted:#7d8993!important;
  --lc-navy:#163d67!important;
  --lc-blue:#20578e!important;
  --lc-blue-soft:#edf4fa!important;
  --lc-line:rgba(19,41,59,.10)!important;
  --lc-line-strong:rgba(19,41,59,.16)!important;
  --v28-shadow:0 18px 55px rgba(25,48,69,.08);
  --v28-shadow-hover:0 26px 70px rgba(25,48,69,.12);
}

html,body,#app,.page,.motion-home,.refined-home{
  background:#fff!important;
  color:#13293b!important;
}
html{background:#fff!important}
body{
  background:#fff!important;
  background-image:none!important;
}
.noise{opacity:.012!important}
#cursor-orb{
  z-index:0!important;
  width:360px!important;height:360px!important;
  background:radial-gradient(circle,rgba(72,128,185,.07),rgba(194,216,235,.025) 40%,transparent 72%)!important;
  filter:blur(24px)!important;
}
.page,nav,footer{position:relative;z-index:1}

/* Navigation: clean white glass, same on every device. */
.nav,.public-nav,.nav.nav-scrolled{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(19,41,59,.10)!important;
  box-shadow:0 8px 28px rgba(28,49,68,.055)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
}
.nav-link{font-size:12px!important}
.mobile-public-menu{background:#fff!important}

/* Transparent logo: never renders as a white rectangle. */
.brand,.brand-only{background:transparent!important}
.brand-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.public-nav .brand-logo{height:52px!important;max-width:190px!important}

/* ---------- Fluid hero ---------- */
.kinetic-hero{display:none!important}
.fluid-hero{
  min-height:min(900px,100svh);
  padding:145px 0 34px;
  background:
    radial-gradient(circle at 76% 34%,rgba(115,158,199,.09),transparent 28%),
    radial-gradient(circle at 68% 72%,rgba(221,231,239,.38),transparent 30%),
    #fff!important;
  overflow:hidden;
  position:relative;
  border-bottom:1px solid var(--lc-line);
}
.fluid-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);
  gap:clamp(28px,5vw,82px);
  align-items:center;
  min-height:585px;
}
.fluid-hero-copy{min-width:0;position:relative;z-index:3}
.fluid-title{
  margin:18px 0 24px;
  max-width:760px;
  font:500 clamp(48px,5.1vw,74px)/.94 Georgia,"Times New Roman",serif;
  letter-spacing:-.052em;
  color:#13293b;
  text-wrap:balance;
}
.fluid-title span{display:block}
.fluid-title-accent{
  color:#2b6297;
  font-style:italic;
  font-weight:400;
}
.fluid-hero-lede{
  max-width:650px;
  margin:0;
  color:#5d6e7d;
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.65;
}
.fluid-hero-actions{margin-top:30px!important}
.fluid-hero-actions .btn{min-height:48px;padding-inline:18px}

/* Real WebGL focal object. It has a CSS fallback if WebGL is unavailable. */
.fluid-stage{
  width:100%;
  height:clamp(440px,40vw,590px);
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
  perspective:1000px;
}
#fluid-orb-canvas{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  display:block;
  z-index:2;
  pointer-events:none;
}
.fluid-stage-halo{
  width:min(76%,430px);
  aspect-ratio:1;
  border-radius:50%;
  position:absolute;
  z-index:0;
  background:
    radial-gradient(circle at 44% 37%,rgba(255,255,255,.95),rgba(218,231,241,.55) 32%,rgba(86,130,172,.11) 57%,transparent 72%);
  filter:blur(14px);
  transform:scale(.98);
}
.fluid-stage.fluid-fallback:before{
  content:"";
  width:min(64%,370px);aspect-ratio:1;border-radius:46% 54% 52% 48%/53% 43% 57% 47%;
  background:linear-gradient(145deg,#f8fbfd 12%,#c9dbea 46%,#547ca2 76%,#163d67 100%);
  box-shadow:inset 30px 22px 65px rgba(255,255,255,.70),0 40px 90px rgba(42,72,99,.16);
}
.fluid-ring{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgba(29,70,108,.16);
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  transform-style:preserve-3d;
}
.fluid-ring-a{
  width:74%;height:42%;
  transform:translate(-50%,-50%) rotate(-14deg);
  animation:fluidRingA 12s ease-in-out infinite alternate;
}
.fluid-ring-b{
  width:56%;height:70%;
  transform:translate(-50%,-50%) rotate(24deg);
  border-color:rgba(29,70,108,.09);
  animation:fluidRingB 15s ease-in-out infinite alternate;
}
@keyframes fluidRingA{
  to{transform:translate(-50%,-50%) rotate(-7deg) scale(1.025)}
}
@keyframes fluidRingB{
  to{transform:translate(-50%,-50%) rotate(31deg) scale(.975)}
}
.fluid-chip{
  position:absolute;z-index:4;
  padding:9px 12px;
  border:1px solid rgba(19,41,59,.12);
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
  color:#36526a;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 24px rgba(31,57,79,.06);
}
.fluid-chip-a{left:7%;top:26%;animation:chipFloat 5.4s ease-in-out infinite alternate}
.fluid-chip-b{right:3%;top:38%;animation:chipFloat 6.1s ease-in-out .4s infinite alternate}
.fluid-chip-c{left:15%;bottom:20%;animation:chipFloat 5.8s ease-in-out .8s infinite alternate}
@keyframes chipFloat{to{transform:translateY(-8px)}}

.fluid-proof-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--lc-line);
}
.fluid-proof{
  padding:20px 22px 8px 0;
  min-width:0;
}
.fluid-proof:not(:last-child){border-right:1px solid var(--lc-line);margin-right:22px}
.fluid-proof strong{
  display:block;
  font:500 clamp(21px,2vw,30px)/1.1 Georgia,"Times New Roman",serif;
  color:#173d61;
}
.fluid-proof span{
  display:block;margin-top:6px;color:#7c8993;font-size:10px;line-height:1.4;
}

/* Quiet index bar — no marquee/off-screen text. */
.motion-ticker{display:none!important}
.service-ribbon{
  background:#fff;
  border-bottom:1px solid var(--lc-line);
}
.service-ribbon-inner{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:10px 18px;
  min-height:70px;
  color:#566a7a;
  font-size:11px;
}
.service-ribbon-inner i{width:4px;height:4px;border-radius:50%;background:#7897b4}

/* ---------- Editorial section rhythm ---------- */
.refined-process,.refined-capabilities,.refined-experience,.refined-cta{
  background:#fff!important;
}
.refined-capabilities{background:#f8fafc!important}
.refined-experience{
  background:
    radial-gradient(circle at 82% 18%,rgba(149,181,210,.11),transparent 27%),
    #fff!important;
}
.refined-section-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.65fr);
  align-items:end;
  gap:44px;
  margin-bottom:34px;
}
.refined-section-head h2{
  margin:8px 0 0;
  font:500 clamp(34px,3.4vw,48px)/1.03 Georgia,"Times New Roman",serif;
  letter-spacing:-.038em;
  color:#183147;
}
.refined-section-head>p{
  margin:0;color:#6f7f8b;font-size:13px;line-height:1.65;max-width:520px
}

.process-fluid-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--lc-line);
  border-bottom:1px solid var(--lc-line);
}
.process-fluid-card{
  min-height:310px;
  padding:26px 24px 28px;
  border-right:1px solid var(--lc-line);
  position:relative;
  background:rgba(255,255,255,.72);
}
.process-fluid-card:last-child{border-right:0}
.process-card-top{display:flex;justify-content:space-between;align-items:center}
.process-card-top span{font-size:10px;color:#7890a4;letter-spacing:.08em}
.process-card-top i{
  width:20px;height:20px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#bdd0e0 47%,#456f95 100%);
  box-shadow:0 7px 18px rgba(55,92,124,.12);
}
.process-fluid-card h3{
  margin:62px 0 14px;
  font:500 clamp(24px,2.2vw,31px)/1.08 Georgia,"Times New Roman",serif;
  letter-spacing:-.028em;
  color:#183147;
}
.process-fluid-card p{
  margin:0;color:#6a7a87;font-size:12px;line-height:1.7
}

/* Capability cards stay in normal flow; depth exists only inside their box. */
.rail-scroll,.rail-sticky,.rail-head,.rail-counter{display:none!important}
.fluid-capability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.motion-card{
  min-height:310px!important;
  width:auto!important;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between;
  padding:25px!important;
  border:1px solid rgba(19,41,59,.10)!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  border-radius:2px!important;
}
.motion-card-body{position:relative;z-index:2}
.motion-card:after,.process-fluid-card:after,.refined-stat:after,.fluid-cta:after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at var(--px,50%) var(--py,50%),rgba(121,162,199,.15),transparent 37%);
  transition:opacity .35s ease;
  z-index:0;
}
.motion-card:hover:after,.process-fluid-card:hover:after,.refined-stat:hover:after,.fluid-cta:hover:after{opacity:1}
.motion-card .mc-num{color:#7e91a1!important;font-size:10px!important}
.motion-card h3{
  margin-top:56px!important;
  color:#173148!important;
  font:500 clamp(25px,2vw,31px)/1.08 Georgia,"Times New Roman",serif!important;
}
.motion-card p{
  color:#697a87!important;
  font-size:12px!important;
  line-height:1.7!important;
  max-width:390px;
}
.motion-card .mc-arrow{
  align-self:flex-end;
  position:relative;z-index:2;
  color:#315e86
}

/* Safe 3D interaction: transform is visual-only and has no layout role. */
.depth-card{
  --rx:0deg;--ry:0deg;
  transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry))!important;
  transform-style:preserve-3d;
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease;
  will-change:transform;
  position:relative;
}
@media(hover:hover) and (pointer:fine){
  .depth-card:hover{
    box-shadow:var(--v28-shadow-hover)!important;
    border-color:rgba(41,86,126,.17)!important;
  }
  .depth-card>*{transform:translateZ(12px)}
}

/* ---------- Selected experience ---------- */
.scale-stats{display:none!important}
.refined-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.refined-stat{
  min-height:210px;
  border:1px solid var(--lc-line);
  background:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}
.refined-stat strong{
  font:500 clamp(34px,3vw,48px)/1 Georgia,"Times New Roman",serif;
  color:#19466f;
}
.refined-stat span{
  margin-top:12px;color:#6c7c88;font-size:11px;line-height:1.55
}

/* ---------- Fluid CTA ---------- */
.refined-cta{padding-top:30px!important}
.fluid-cta{
  min-height:310px;
  padding:clamp(28px,4vw,50px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  border:1px solid rgba(25,61,95,.12);
  background:
    radial-gradient(circle at 82% 32%,rgba(124,166,204,.18),transparent 29%),
    linear-gradient(145deg,#fbfdff,#f3f7fa)!important;
  overflow:hidden;
}
.fluid-cta h2{
  margin:10px 0;
  font:500 clamp(34px,3.6vw,51px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:-.038em;
  color:#173148;
}
.fluid-cta p{margin:0;color:#677987;max-width:640px;line-height:1.6}

/* Subtle button surface motion — always contained within button. */
.liquid-action{
  position:relative;isolation:isolate;overflow:hidden;
}
.liquid-action:before{
  content:"";position:absolute;z-index:-1;
  width:130px;height:130px;border-radius:50%;
  left:-70px;top:-90px;
  background:rgba(255,255,255,.17);
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}
.liquid-action:hover:before{transform:translate(130px,70px) scale(1.8)}

/* ---------- Footer ---------- */
.public-footer,.footer{
  background:#fff!important;
  border-top:1px solid var(--lc-line)!important;
  color:#5f7180!important;
  padding:58px 0 24px!important;
}
.public-footer-main{
  display:grid;
  grid-template-columns:1.2fr 1fr .9fr;
  gap:clamp(30px,5vw,70px);
  align-items:start;
}
.public-footer-brand .brand{display:inline-flex}
.public-footer-brand .brand-logo{
  height:86px!important;
  width:auto!important;
  max-width:260px!important;
  object-fit:contain!important;
}
.public-footer-brand p{
  max-width:330px;margin:18px 0 0;color:#70808c;font-size:12px;line-height:1.65
}
.public-footer-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 20px;
}
.public-footer-links a{
  color:#495f71;
  font-size:11px;
  width:max-content;max-width:100%;
  border-bottom:1px solid transparent;
}
.public-footer-links a:hover{border-color:#577c9d}
.public-footer-cta{
  display:flex;flex-direction:column;align-items:flex-start;gap:13px
}
.public-footer-cta>span{
  color:#8a959e;font-size:9px;text-transform:uppercase;letter-spacing:.11em
}
.footer-contact-link{
  color:#173f67;
  font:500 22px/1.15 Georgia,"Times New Roman",serif;
  display:inline-flex;align-items:center;gap:8px
}
.public-footer-bottom{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:52px;padding-top:18px;border-top:1px solid var(--lc-line);
  color:#8a959e;font-size:9px;
}
.footer-cookie-button{
  color:#71808b!important;font-size:10px!important;
  background:transparent!important;border:0!important
}

/* ---------- All public pages are genuinely white ---------- */
.page,.about-page,.about-hero,.about-summary,.about-experience,.about-transactions,
.about-testimonials,.insights-page,.insight-article-page,.insights-list-section,
.insight-article-body,.cookie-policy-page,.cookie-policy-body{
  background:#fff!important;
}
.about-capabilities,.about-quote,.cta-panel{background:#f8fafc!important}

/* CEO Hub remains white / soft neutral instead of beige on phones. */
.app-shell,.executive-shell,.main-panel{background:#f7f9fb!important}
.executive-sidebar,.sidebar-footer,.sidebar-brand-wrap,.executive-topbar,.executive-search,
.panel,.exec-panel,.modal,.modal-head,.action-modal-footer{background:#fff!important}

/* ---------- Translation hardening ---------- */
html.translated-ltr .fluid-title span,
html.translated-rtl .fluid-title span,
html[data-translation-active="true"] .fluid-title span{
  display:inline!important;
}
html.translated-ltr .fluid-title span:after,
html.translated-rtl .fluid-title span:after,
html[data-translation-active="true"] .fluid-title span:after{content:" "}
html.translated-ltr .fluid-stage .fluid-chip,
html.translated-rtl .fluid-stage .fluid-chip,
html[data-translation-active="true"] .fluid-stage .fluid-chip{display:none!important}
html.translated-ltr .depth-card,
html.translated-rtl .depth-card,
html[data-translation-active="true"] .depth-card{transform:none!important}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .fluid-hero{padding-top:120px}
  .fluid-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
    gap:30px;
    min-height:540px;
  }
  .process-fluid-grid{grid-template-columns:repeat(2,1fr)}
  .process-fluid-card:nth-child(2){border-right:0}
  .process-fluid-card:nth-child(-n+2){border-bottom:1px solid var(--lc-line)}
  .fluid-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .refined-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:899px){
  .public-nav .brand-logo{height:48px!important;max-width:170px!important}
  .fluid-hero{
    min-height:0;
    padding:110px 0 28px;
    background:#fff!important;
  }
  .fluid-hero-grid{
    grid-template-columns:1fr;
    gap:22px;
    min-height:0;
  }
  .fluid-hero-copy{max-width:760px}
  .fluid-title{font-size:clamp(45px,8.8vw,64px);max-width:700px}
  .fluid-stage{
    height:clamp(330px,58vw,470px);
    max-width:620px;
    margin-inline:auto;
  }
  .fluid-chip-a{left:9%}.fluid-chip-b{right:7%}.fluid-chip-c{left:15%}
  .fluid-proof-row{margin-top:8px}
  .refined-section-head{grid-template-columns:1fr;gap:14px}
  .refined-section-head>p{max-width:650px}
  .public-footer-main{grid-template-columns:1fr 1fr}
  .public-footer-cta{grid-column:1/-1;padding-top:10px}
}

@media(max-width:599px){
  html,body,#app,.page{background:#fff!important}
  .public-nav,.mobile-public-menu{background:#fff!important}
  .fluid-hero{padding-top:92px}
  .fluid-title{
    font-size:clamp(40px,12.2vw,52px);
    line-height:.97;
    letter-spacing:-.042em;
  }
  .fluid-hero-lede{font-size:15px}
  .fluid-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .fluid-hero-actions .btn{width:100%}
  .fluid-stage{height:300px}
  .fluid-stage-halo{width:74%}
  .fluid-ring-a{width:82%;height:45%}
  .fluid-ring-b{width:63%;height:73%}
  .fluid-chip{font-size:8px;padding:7px 9px}
  .fluid-chip-a{left:3%;top:24%}
  .fluid-chip-b{right:1%;top:37%}
  .fluid-chip-c{left:8%;bottom:17%}
  .fluid-proof-row{grid-template-columns:1fr}
  .fluid-proof{
    padding:15px 0;
    border-right:0!important;margin-right:0!important;
    border-bottom:1px solid var(--lc-line)
  }
  .fluid-proof:last-child{border-bottom:0}
  .service-ribbon-inner{justify-content:flex-start;padding-block:15px}
  .service-ribbon-inner i{display:none}
  .service-ribbon-inner span{
    width:calc(50% - 9px);
    font-size:10px;
  }
  .process-fluid-grid{grid-template-columns:1fr}
  .process-fluid-card{
    min-height:230px;
    border-right:0!important;
    border-bottom:1px solid var(--lc-line)!important
  }
  .process-fluid-card:last-child{border-bottom:0!important}
  .process-fluid-card h3{margin-top:36px}
  .fluid-capability-grid{grid-template-columns:1fr}
  .motion-card{min-height:245px!important}
  .motion-card h3{margin-top:34px!important}
  .refined-stat-grid{grid-template-columns:1fr}
  .refined-stat{min-height:160px}
  .fluid-cta{min-height:0;align-items:flex-start;flex-direction:column}
  .fluid-cta .btn{width:100%}
  .public-footer-main{grid-template-columns:1fr}
  .public-footer-brand .brand-logo{height:74px!important;max-width:230px!important}
  .public-footer-links{grid-template-columns:1fr 1fr}
  .public-footer-cta{grid-column:auto}
  .public-footer-bottom{flex-direction:column;gap:7px;margin-top:36px}
}

/* No hover transforms on touch; 3D object remains autonomous and lightweight. */
@media(hover:none) and (pointer:coarse){
  .depth-card{transform:none!important;will-change:auto}
  .fluid-ring-a,.fluid-ring-b,.fluid-chip{animation-duration:18s!important}
}

/* Reduced motion keeps the object static and removes all decorative oscillation. */
@media(prefers-reduced-motion:reduce){
  .fluid-ring,.fluid-chip{animation:none!important}
  .depth-card{transform:none!important;transition:none!important}
  .liquid-action:before{transition:none!important}
}

@media(max-height:560px) and (orientation:landscape){
  .fluid-hero{padding-top:76px}
  .fluid-hero-grid{
    grid-template-columns:1.05fr .95fr;
    min-height:0;
    align-items:center;
  }
  .fluid-title{font-size:clamp(36px,6vw,48px)}
  .fluid-stage{height:280px}
  .fluid-proof-row{display:none}
}

/* Prevent any mobile browser from tinting the page beige. */
@media(max-width:1400px){
  html,body,#app,.page,.public-nav,.mobile-public-menu,.public-footer{background-color:#fff!important}
}

/* V29 final WebGL fallback guard */
.fluid-stage.fluid-fallback #fluid-orb-canvas{display:none!important}
.fluid-stage.fluid-fallback .fluid-stage-halo{opacity:.72}
\n/* V29 final translation-safe footer grid */
.public-footer-main{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr)!important}
.public-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0}
.public-footer-links a{width:auto!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
@media(max-width:899px){
  .public-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .public-footer-cta{grid-column:1/-1!important}
}
@media(max-width:599px){
  .public-footer-main{grid-template-columns:minmax(0,1fr)!important}
  .public-footer-links{grid-template-columns:minmax(0,1fr)!important}
  .public-footer-cta{grid-column:auto!important}
}
html.translated-ltr .public-footer-links,
html.translated-rtl .public-footer-links,
html[data-translation-active="true"] .public-footer-links{
  grid-template-columns:minmax(0,1fr)!important;
}


/* ==========================================================
   V30 — Collaboration, Calls, Live Events, Partner Workspace
   ========================================================== */
.communication-page-actions{display:flex;gap:8px;flex-wrap:wrap}
.group-label{display:inline-block;margin-left:6px;padding:2px 5px;border:1px solid rgba(23,78,136,.18);font-size:7px!important;color:#174e88!important;letter-spacing:.08em}
.active-chat-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.chat-search-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f7f9fb;border:1px solid var(--lc-line);margin:12px 0}
.chat-search-row input{border:0;background:transparent;width:100%;outline:0;color:#263e52;font-size:12px}
.chat-message-tools{display:flex;gap:9px;margin-top:7px;opacity:.62}.chat-message:hover .chat-message-tools{opacity:1}.chat-message-tools button,.chat-reactions button{border:0;background:transparent;color:#547087;font-size:9px;padding:2px 0;cursor:pointer}
.pinned-message{border-left:3px solid #2b6297!important}.chat-reply-quote{padding:7px 9px;margin-bottom:8px;border-left:2px solid #6e93b4;background:rgba(238,244,249,.75)}.chat-reply-quote strong,.chat-reply-quote span{display:block;font-size:9px}.chat-reply-quote span{color:#71808b;margin-top:2px}
.reply-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 10px;background:#edf4fa;border:1px solid rgba(23,78,136,.13)}.reply-context strong,.reply-context span{display:block;font-size:9px}.reply-context span{color:#71808b;margin-top:2px}.reply-context button{border:0;background:transparent;font-size:18px;cursor:pointer}
.chat-attachment{display:flex;align-items:center;gap:9px;margin-top:6px;padding:10px;border:1px solid var(--lc-line);background:#fff;color:#334f65}.chat-attachment span strong,.chat-attachment span small{display:block}.chat-attachment span small{font-size:8px;color:#82909b;margin-top:2px}
.chat-reactions{display:flex;gap:5px;margin-top:7px}.chat-reactions button{padding:3px 7px;border:1px solid var(--lc-line);background:#fff;border-radius:999px}
.reaction-picker{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.reaction-picker button{width:52px;height:52px;border:1px solid var(--lc-line);background:#fff;font-size:24px;cursor:pointer}

/* Client partner workspace */
.client-workspace{min-height:100dvh;background:#f7f9fb}.client-topbar{position:sticky;top:0;z-index:70;min-height:76px;padding:8px 24px;background:#fff;border-bottom:1px solid var(--lc-line);display:flex;align-items:center;gap:25px}.client-topbar .brand-logo{height:48px;max-width:180px}.client-topbar nav{display:flex;align-items:center;gap:4px;flex:1;overflow-x:auto}.client-topbar nav a{white-space:nowrap;padding:10px 9px;color:#5f7281;font-size:10px;border-bottom:2px solid transparent}.client-topbar nav a.active{color:#173f67;border-color:#2b6297}.client-user{display:flex;align-items:center;gap:8px;color:#687986;font-size:9px}.client-command-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.client-welcome{grid-column:1/-1;padding:32px;border:1px solid var(--lc-line);background:linear-gradient(145deg,#fff,#f3f7fa)}.client-welcome h1{font:500 clamp(32px,4vw,48px) Georgia,serif;margin:8px 0}.client-welcome>p{color:#667986;max-width:760px}.client-progress-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:27px;border-top:1px solid var(--lc-line)}.client-progress-row>div{padding:17px 18px 0 0;border-right:1px solid var(--lc-line);margin-right:18px}.client-progress-row>div:last-child{border-right:0}.client-progress-row strong,.client-progress-row span{display:block}.client-progress-row strong{font:500 24px Georgia,serif}.client-progress-row span{font-size:8px;color:#80909b;margin-top:4px}.client-task-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--lc-line)}.client-task-row:last-child{border-bottom:0}.client-task-row span strong,.client-task-row span small{display:block}.client-task-row span strong{font-size:10px}.client-task-row span small{font-size:8px;color:#84919b;margin-top:3px}.client-task-row em{font-style:normal;font-size:8px;color:#6c7f8d}.client-next-meeting strong,.client-next-meeting span{display:block}.client-next-meeting>strong{font:500 22px Georgia,serif}.client-next-meeting span{margin-top:5px;color:#2d6596;font-size:9px}.client-next-meeting p{color:#6c7d89;font-size:10px;line-height:1.6}.client-progress-line{margin:12px 0}.client-progress-line>div:first-child{display:flex;justify-content:space-between;font-size:9px;margin-bottom:5px}.client-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.client-quick-actions a{padding:14px;border:1px solid var(--lc-line);color:#2c526f;font-size:10px}.client-section{max-width:1100px;margin:0 auto}.client-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.client-section-head h1{font:500 clamp(32px,4vw,48px) Georgia,serif;margin:7px 0}.client-calendar-row{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--lc-line)}.client-calendar-row div strong,.client-calendar-row div span{display:block}.client-calendar-row div span{font-size:8px;color:#83909a;margin-top:3px}.client-file-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--lc-line)}.client-file-row div strong,.client-file-row div small{display:block}.client-file-row div small{font-size:8px;color:#82919c;margin-top:3px}.client-message{padding:12px 0;border-bottom:1px solid var(--lc-line)}.client-message p{margin:4px 0;color:#5d7282;font-size:10px}.client-message small{font-size:8px;color:#87939c}.client-ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.client-ai-grid button{min-height:130px;text-align:left;padding:16px;border:1px solid var(--lc-line);background:#fff;color:#2a4458;cursor:pointer}.client-ai-grid strong,.client-ai-grid span{display:block}.client-ai-grid strong{font:500 17px Georgia,serif}.client-ai-grid span{font-size:8px;color:#82909b;margin-top:8px;line-height:1.5}.client-ai-chat{max-width:800px}.client-ai-chat #client-ai-answer{min-height:120px}.client-ai-chat #client-ai-answer strong{font:500 20px Georgia,serif}.client-ai-chat #client-ai-answer p{color:#617686;line-height:1.6}.client-ai-chat #client-ai-answer small{color:#8b969f;font-size:8px}

@media(max-width:900px){.active-chat-actions{justify-content:flex-start}.client-topbar{padding-inline:12px}.client-topbar nav{order:3;width:100%}.client-topbar{flex-wrap:wrap}.client-command-grid{grid-template-columns:1fr}.client-progress-row{grid-template-columns:1fr 1fr}.client-progress-row>div:nth-child(2){border-right:0}.client-ai-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.communication-page-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.client-topbar .brand{width:100%}.client-user{display:none}.client-progress-row{grid-template-columns:1fr 1fr}.client-progress-row>div{margin-right:8px}.client-section-head{align-items:flex-start;flex-direction:column}.client-section-head .btn{width:100%}.client-calendar-row{grid-template-columns:80px 1fr}.client-quick-actions,.client-ai-grid{grid-template-columns:1fr}.client-file-row{grid-template-columns:24px minmax(0,1fr)}.client-file-row .btn{grid-column:2;width:100%}.chat-message-tools{opacity:1}}


/* V31 — client ↔ Michael collaboration parity */
.communications-workspace{width:min(1640px,100%);margin-inline:auto}.communications-layout{grid-template-columns:minmax(310px,360px) minmax(0,1fr)!important;min-height:760px}.chat-sidebar-panel,.active-chat-panel{min-height:760px!important}.chat-thread{min-height:510px!important;max-height:68dvh!important;padding:24px!important}.chat-composer{padding:18px 20px!important}.chat-composer .textarea{min-height:108px!important;resize:vertical}.chat-composer-hint{margin-top:7px;color:#8b969f;font-size:8px;line-height:1.45}.chat-composer.drag-active,.client-ai-composer.drag-active{box-shadow:inset 0 0 0 2px #2b6297;background:#f4f8fb!important}.chat-composer-actions{align-items:center;flex-wrap:wrap}.chat-attachment{max-width:100%}
.client-shell{max-width:1480px!important}.client-messages-section{max-width:1480px!important}.client-message-page-actions{display:flex;gap:8px;flex-wrap:wrap}.client-chat-layout{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);gap:16px;align-items:stretch}.client-chat-sidebar,.client-active-chat-panel{min-height:760px!important}.client-chat-thread{min-height:520px!important;max-height:68dvh!important}.client-chat-composer .textarea{min-height:110px!important}.client-chat-composer{position:relative}
.client-ai-section{max-width:1480px!important}.client-ai-top-actions{display:flex;gap:8px;flex-wrap:wrap}.client-ai-selector{grid-template-columns:repeat(5,minmax(0,1fr))!important}.client-ai-selector button{min-height:118px!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.client-ai-selector button:hover,.client-ai-selector button.active{border-color:#88a9c5!important;box-shadow:0 12px 30px rgba(31,70,103,.08)}.client-ai-selector button.active{background:#eef5fa!important}.client-ai-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:16px;align-items:start}.client-ai-chat-large{max-width:none!important;min-height:720px!important;padding:0!important;overflow:hidden;display:flex;flex-direction:column}.client-ai-chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--lc-line)}.client-ai-chat-header h3{margin:5px 0 0;font:500 24px Georgia,"Times New Roman",serif;color:#213d54}.client-ai-history{flex:1;min-height:430px;max-height:62dvh;overflow:auto;padding:22px;background:#fbfcfd}.client-ai-message{width:min(88%,820px);margin-bottom:14px;padding:15px 17px;border:1px solid var(--lc-line);background:#fff}.client-ai-message.user{margin-left:auto;background:#edf4fa;border-color:#d7e5f0}.client-ai-message.assistant{margin-right:auto}.client-ai-message-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.client-ai-message-meta strong{color:#28465e;font-size:9px}.client-ai-message-meta span{color:#919ca4;font-size:7px}.client-ai-message p,.client-ai-rich p,.client-ai-rich li{color:#526a7b;font-size:11px;line-height:1.7}.client-ai-rich h4{margin:15px 0 7px;color:#1e405d;font:500 17px Georgia,"Times New Roman",serif}.client-ai-rich h4:first-child{margin-top:0}.client-ai-rich ul{margin:8px 0 12px;padding-left:20px}.client-ai-rich li{margin:5px 0}.client-ai-sources{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--lc-line)}.client-ai-sources span{padding:5px 7px;background:#f0f4f7;color:#6e7f8c;font-size:7px;border:1px solid #e0e7ec}.client-ai-context-bar{padding:12px 20px;border-top:1px solid var(--lc-line);background:#fff}.client-ai-context-bar>div:first-child strong,.client-ai-context-bar>div:first-child span{display:block}.client-ai-context-bar>div:first-child strong{color:#344f64;font-size:9px}.client-ai-context-bar>div:first-child span{margin-top:3px;color:#8a969f;font-size:7px;line-height:1.45}.client-ai-file-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.client-ai-file-chips>span{display:inline-flex;gap:5px;align-items:center;padding:6px 8px;border:1px solid var(--lc-line);background:#f7f9fa;color:#576e7f;font-size:8px}.client-ai-file-chips button{border:0;background:transparent;color:#81909b;cursor:pointer}.client-ai-composer{padding:15px 20px 18px;border-top:1px solid var(--lc-line);background:#fff}.client-ai-composer .textarea{min-height:118px;resize:vertical}.client-ai-composer-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.client-ai-composer-actions>span{flex:1;color:#8b969f;font-size:7px}.client-ai-quick-panel{position:sticky;top:96px}.client-ai-quick-list{display:grid;gap:7px}.client-ai-quick-list button{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;text-align:left;padding:12px;border:1px solid var(--lc-line);background:#fff;color:#405b70;font-size:9px;line-height:1.45;cursor:pointer}.client-ai-quick-list button:hover{background:#f4f8fb;border-color:#b8cad9}.client-ai-boundary{margin-top:15px;padding-top:14px;border-top:1px solid var(--lc-line)}.client-ai-boundary strong{color:#40586b;font-size:9px}.client-ai-boundary p{color:#7d8a94;font-size:8px;line-height:1.55}
@media(max-width:1050px){.client-ai-selector{grid-template-columns:repeat(3,minmax(0,1fr))!important}.client-ai-workspace{grid-template-columns:1fr}.client-ai-quick-panel{position:static;display:grid;grid-template-columns:1fr}.client-ai-quick-list{grid-template-columns:1fr 1fr}.client-chat-layout{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:900px){.communications-layout,.client-chat-layout{grid-template-columns:1fr!important;min-height:0}.chat-sidebar-panel,.client-chat-sidebar{min-height:0!important;max-height:360px;overflow:auto}.active-chat-panel,.client-active-chat-panel{min-height:650px!important}.chat-thread,.client-chat-thread{min-height:390px!important;max-height:58dvh!important}.client-ai-selector{grid-template-columns:1fr 1fr!important}.client-ai-history{min-height:390px;max-height:58dvh}.client-ai-quick-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.communication-page-actions,.client-message-page-actions,.client-ai-top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.client-message-page-actions .btn,.client-ai-top-actions .btn{width:100%}.client-ai-selector{grid-template-columns:1fr!important}.client-ai-quick-list{grid-template-columns:1fr}.client-ai-composer-actions{display:grid;grid-template-columns:1fr}.client-ai-composer-actions>span{order:3}.client-ai-composer-actions .btn{width:100%}.chat-composer-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.chat-composer-actions .btn{width:100%}.client-ai-message{width:96%}.client-ai-chat-large{min-height:650px!important}}
@media(max-width:390px){.communication-page-actions,.client-message-page-actions,.client-ai-top-actions,.chat-composer-actions{grid-template-columns:1fr!important}}


/* V31 final mobile client-navigation hardening */
@media(max-width:900px){
  .client-topbar nav{
    order:3!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    overflow:visible!important;
  }
  .client-topbar nav a{
    min-width:0!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.25!important;
    padding:9px 5px!important;
    overflow-wrap:anywhere!important;
  }
}
@media(max-width:480px){
  .client-topbar nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ==========================================================
   V35 — HEALTHY IMPACT / UNDERSTATED PUBLIC IDENTITY
   Design language preserved; public brand made quieter and firm-led.
   ========================================================== */

.healthy-impact-brand{
  display:inline-flex!important;
  align-items:center;
  min-width:0;
  text-decoration:none!important;
  background:transparent!important;
}
.healthy-impact-wordmark{
  font:500 clamp(20px,1.7vw,27px)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
  color:#18354d;
  white-space:nowrap;
}
.public-footer-brand .healthy-impact-wordmark{
  font-size:clamp(25px,2.4vw,34px);
}
.healthy-impact-about-hero{
  padding-top:clamp(130px,14vw,190px)!important;
  padding-bottom:clamp(68px,8vw,110px)!important;
  background:#fff!important;
}
.healthy-impact-about-title{
  max-width:980px;
  font-size:clamp(44px,5.8vw,78px)!important;
  line-height:.98!important;
}
.healthy-impact-about .about-summary,
.healthy-impact-about .about-capabilities{
  background:#fff!important;
}
.healthy-impact-about .about-quote{
  background:#f8fafc!important;
}
.healthy-impact-about .about-quote blockquote{
  max-width:900px;
}
@media(max-width:600px){
  .healthy-impact-wordmark{font-size:21px}
  .healthy-impact-about-hero{padding-top:104px!important}
  .healthy-impact-about-title{font-size:clamp(39px,11vw,50px)!important}
}


/* ==========================================================
   V36 — LARGE, INTERACTIVE CHAT WITHOUT CALLS / STREAMING
   ========================================================== */

.communications-workspace,
.client-messages-section{
  width:min(1780px,100%)!important;
  max-width:1780px!important;
  margin-inline:auto!important;
  min-width:0!important;
}

.communications-layout,
.client-chat-layout{
  display:grid!important;
  grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  min-width:0!important;
}

.chat-sidebar-panel,
.client-chat-sidebar,
.active-chat-panel,
.client-active-chat-panel{
  min-width:0!important;
}

.active-chat-panel,
.client-active-chat-panel{
  display:flex!important;
  flex-direction:column!important;
  min-height:clamp(760px,calc(100dvh - 155px),960px)!important;
  overflow:hidden!important;
}

.active-chat-header{
  flex:0 0 auto!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  padding:20px 22px!important;
}
.active-chat-actions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}

.chat-search-row{
  flex:0 0 auto!important;
  min-height:46px!important;
}

.chat-thread,
.client-chat-thread{
  flex:1 1 auto!important;
  min-height:490px!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  padding:26px!important;
  scroll-padding-bottom:24px;
}

.chat-message{
  width:min(88%,940px)!important;
  max-width:940px!important;
  min-width:0!important;
  padding:17px 19px!important;
}
.chat-message p{
  font-size:12px!important;
  line-height:1.68!important;
  overflow-wrap:anywhere!important;
}
.chat-message.mine{
  margin-left:auto!important;
}
.chat-message.theirs{
  margin-right:auto!important;
}

.chat-composer,
.client-chat-composer{
  flex:0 0 auto!important;
  padding:18px 22px 20px!important;
  background:#fff!important;
  border-top:1px solid var(--lc-line)!important;
  min-width:0!important;
}
.chat-composer .textarea,
.client-chat-composer .textarea{
  width:100%!important;
  min-height:132px!important;
  max-height:260px!important;
  resize:vertical!important;
  font-size:14px!important;
  line-height:1.58!important;
  padding:14px 15px!important;
}
.chat-composer-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.chat-composer-actions .btn{
  min-height:42px!important;
}
.chat-composer-actions .btn.primary{
  margin-left:auto!important;
  min-width:104px!important;
}

/* Rich emoji picker */
.emoji-picker-shell{
  width:min(620px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
}
.emoji-picker-search{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:0 11px;
  margin-bottom:10px;
  border:1px solid var(--lc-line);
  background:#fff;
}
.emoji-picker-search input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#304a5e;
  font-size:12px;
}
.emoji-picker-scroll{
  max-height:min(58dvh,520px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
}
.emoji-group{
  padding:12px 0 15px;
  border-top:1px solid var(--lc-line);
}
.emoji-group:first-child{border-top:0;padding-top:2px}
.emoji-group h4{
  margin:0 0 9px;
  color:#687b89;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.emoji-grid,
.reaction-picker-rich{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  gap:5px!important;
}
.emoji-grid button,
.reaction-picker-rich button{
  width:100%!important;
  min-width:0!important;
  aspect-ratio:1!important;
  min-height:44px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid transparent!important;
  background:#f8fafb!important;
  border-radius:7px!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .12s ease,background .12s ease,border-color .12s ease!important;
}
@media(hover:hover) and (pointer:fine){
  .emoji-grid button:hover,
  .reaction-picker-rich button:hover{
    transform:translateY(-2px)!important;
    background:#eef5fa!important;
    border-color:#cddce8!important;
  }
}

/* Translation / expansion safety */
.chat-list-copy,
.chat-list-copy strong,
.chat-list-copy small,
.active-chat-header>div,
.chat-message,
.chat-message-head,
.chat-message-tools,
.chat-composer,
.chat-composer-actions{
  min-width:0!important;
}
.chat-list-copy strong,
.chat-list-copy small,
.active-chat-header h3,
.active-chat-header .subtle,
.chat-message p,
.chat-reply-quote span{
  overflow-wrap:anywhere!important;
}
html[data-translation-active="true"] .chat-composer-actions,
html.translated-ltr .chat-composer-actions,
html.translated-rtl .chat-composer-actions{
  align-items:stretch!important;
}
html[data-translation-active="true"] .chat-composer-actions .btn,
html.translated-ltr .chat-composer-actions .btn,
html.translated-rtl .chat-composer-actions .btn{
  white-space:normal!important;
  height:auto!important;
}
html[data-translation-active="true"] .chat-composer-actions .btn.primary,
html.translated-ltr .chat-composer-actions .btn.primary,
html.translated-rtl .chat-composer-actions .btn.primary{
  margin-left:0!important;
}

@media(max-width:1050px){
  .communications-layout,
  .client-chat-layout{
    grid-template-columns:minmax(260px,310px) minmax(0,1fr)!important;
  }
  .emoji-grid,
  .reaction-picker-rich{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .communications-layout,
  .client-chat-layout{
    grid-template-columns:1fr!important;
  }
  .chat-sidebar-panel,
  .client-chat-sidebar{
    max-height:330px!important;
    overflow:auto!important;
  }
  .active-chat-panel,
  .client-active-chat-panel{
    min-height:690px!important;
    overflow:hidden!important;
  }
  .chat-thread,
  .client-chat-thread{
    min-height:420px!important;
    padding:20px!important;
  }
  .chat-message{
    width:min(94%,900px)!important;
  }
  .emoji-grid,
  .reaction-picker-rich{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
}

@media(max-width:600px){
  .active-chat-panel,
  .client-active-chat-panel{
    min-height:650px!important;
  }
  .chat-thread,
  .client-chat-thread{
    min-height:360px!important;
    padding:14px!important;
  }
  .chat-message{
    width:96%!important;
    padding:14px!important;
  }
  .chat-composer,
  .client-chat-composer{
    padding:13px!important;
  }
  .chat-composer .textarea,
  .client-chat-composer .textarea{
    min-height:112px!important;
    font-size:16px!important;
  }
  .chat-composer-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .chat-composer-actions .btn{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
  .chat-composer-actions .btn.primary{
    margin-left:0!important;
  }
  .emoji-grid,
  .reaction-picker-rich{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  .emoji-grid button,
  .reaction-picker-rich button{
    min-height:43px!important;
    font-size:21px!important;
  }
}
@media(max-width:390px){
  .chat-composer-actions{
    grid-template-columns:1fr!important;
  }
  .emoji-grid,
  .reaction-picker-rich{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}

/* ==========================================================
   V40 — OLD DESIGN VISUAL COMPATIBILITY
   Presentation only. All V40 behavior remains unchanged.
   ========================================================== */
:root{
  --v40-paper:#fff;
  --v40-paper-soft:#f7f9fb;
  --v40-ink:#13293b;
  --v40-copy:#5d6e7d;
  --v40-muted:#7d8993;
  --v40-navy:#163d67;
  --v40-blue:#20578e;
  --v40-line:rgba(19,41,59,.10);
  --v40-line-strong:rgba(19,41,59,.16);
}
.btn-primary{color:#fff!important;background:#173f6b!important;border-color:#173f6b!important;border-radius:2px!important;box-shadow:none!important}
.btn-primary:hover{background:#102f52!important}
.text-button{border:0!important;background:transparent!important;color:#174e88!important;padding:0!important;font:600 11px/1.4 "DM Sans",system-ui,sans-serif!important;cursor:pointer!important}
.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Public V40 */
.v40-public{background:#fff!important;color:var(--v40-ink)!important;padding-top:82px!important}
.v40-hero{min-height:min(900px,calc(100svh - 82px))!important;padding:76px 0 34px!important;background:radial-gradient(circle at 76% 34%,rgba(115,158,199,.09),transparent 28%),radial-gradient(circle at 68% 72%,rgba(221,231,239,.38),transparent 30%),#fff!important;overflow:hidden!important;position:relative!important;border-bottom:1px solid var(--v40-line)!important}
.v40-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr)!important;gap:clamp(28px,5vw,82px)!important;align-items:center!important;min-height:585px!important}
.v40-hero h1{margin:18px 0 24px!important;max-width:790px!important;font:500 clamp(48px,5.1vw,74px)/.94 Georgia,"Times New Roman",serif!important;letter-spacing:-.052em!important;color:#13293b!important;text-wrap:balance!important}
.v40-hero h1 em{color:#2b6297!important;font-style:italic!important;font-weight:400!important}
.v40-hero-lede{max-width:650px!important;margin:0!important;color:#5d6e7d!important;font-size:clamp(15px,1.35vw,18px)!important;line-height:1.65!important}
.v40-hero-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:30px!important}
.v40-hero-actions .btn{min-height:48px!important;padding-inline:18px!important}
.v40-hero-visual{width:100%!important;height:clamp(440px,40vw,590px)!important;position:relative!important;display:grid!important;place-items:center!important;isolation:isolate!important;perspective:1000px!important}
.v40-hero-visual:before{content:""!important;position:absolute!important;width:min(76%,430px)!important;aspect-ratio:1!important;border-radius:50%!important;z-index:0!important;background:radial-gradient(circle at 44% 37%,rgba(255,255,255,.95),rgba(218,231,241,.55) 32%,rgba(86,130,172,.11) 57%,transparent 72%)!important;filter:blur(14px)!important}
.v40-orbit-core{width:min(64%,370px)!important;aspect-ratio:1!important;border-radius:46% 54% 52% 48%/53% 43% 57% 47%!important;position:relative!important;z-index:2!important;display:grid!important;place-items:center!important;text-align:center!important;background:linear-gradient(145deg,#f8fbfd 12%,#c9dbea 46%,#547ca2 76%,#163d67 100%)!important;box-shadow:inset 30px 22px 65px rgba(255,255,255,.70),0 40px 90px rgba(42,72,99,.16)!important;color:#fff!important}
.v40-orbit-core strong{display:block!important;font:500 clamp(31px,3.4vw,48px)/.94 Georgia,"Times New Roman",serif!important;letter-spacing:-.04em!important}
.v40-orbit-core span{display:block!important;margin-top:9px!important;font-size:9px!important;letter-spacing:.12em!important;text-transform:uppercase!important;opacity:.84!important}
.v40-orbit-axis{position:absolute!important;left:50%!important;top:50%!important;width:74%!important;height:42%!important;border:1px solid rgba(29,70,108,.16)!important;border-radius:50%!important;transform:translate(-50%,-50%) rotate(-14deg)!important;z-index:1!important}
.v40-orbit-axis.b{width:56%!important;height:70%!important;transform:translate(-50%,-50%) rotate(24deg)!important;border-color:rgba(29,70,108,.09)!important}
.v40-node{position:absolute!important;z-index:4!important;padding:9px 12px!important;border:1px solid rgba(19,41,59,.12)!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(13px)!important;-webkit-backdrop-filter:blur(13px)!important;color:#36526a!important;border-radius:999px!important;box-shadow:0 8px 24px rgba(31,57,79,.06)!important}
.v40-node small{display:block!important;font-size:7px!important;line-height:1!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#84929d!important;margin-bottom:4px!important}
.v40-node strong{font-size:10px!important;font-weight:650!important}
.v40-node.n1{left:6%!important;top:25%!important}.v40-node.n2{right:1%!important;top:38%!important}.v40-node.n3{left:13%!important;bottom:18%!important}.v40-node.n4{right:10%!important;bottom:12%!important}
.v40-deal-line{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:40px!important;border-top:1px solid var(--v40-line)!important}
.v40-deal-line>div{padding:17px 20px 17px 0!important;border-bottom:1px solid var(--v40-line)!important}
.v40-deal-line>div:nth-child(odd){border-right:1px solid var(--v40-line)!important;margin-right:20px!important}
.v40-deal-line strong{display:block!important;color:#173d61!important;font:500 17px/1.15 Georgia,"Times New Roman",serif!important}
.v40-deal-line span{display:block!important;margin-top:5px!important;color:#7c8993!important;font-size:9px!important;line-height:1.45!important}
.v40-proof-strip{background:#fff!important;border-bottom:1px solid var(--v40-line)!important}
.v40-proof-strip>.container{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
.v40-proof{padding:22px 22px 22px 0!important;min-width:0!important}
.v40-proof:not(:last-child){border-right:1px solid var(--v40-line)!important;margin-right:22px!important}
.v40-proof strong{display:block!important;font:500 clamp(21px,2vw,30px)/1.1 Georgia,"Times New Roman",serif!important;color:#173d61!important}
.v40-proof span{display:block!important;margin-top:6px!important;color:#7c8993!important;font-size:10px!important;line-height:1.4!important}
.v40-section{padding:95px 0!important;background:#fff!important}
.v40-section.soft{background:#f8fafc!important}
.v40-section-head{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(260px,.65fr)!important;align-items:end!important;gap:44px!important;margin-bottom:34px!important}
.v40-section-head h2,.v40-copy-block h2,.v40-cta h2{margin:8px 0 0!important;font:500 clamp(34px,3.4vw,48px)/1.03 Georgia,"Times New Roman",serif!important;letter-spacing:-.038em!important;color:#183147!important}
.v40-section-head>p,.v40-copy-block>p,.v40-cta p{margin:0!important;color:#6f7f8b!important;font-size:13px!important;line-height:1.65!important}
.v40-grid-2,.v40-grid-3,.v40-grid-4{display:grid!important;gap:12px!important}
.v40-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v40-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.v40-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.v40-card{min-height:245px!important;padding:25px!important;border:1px solid var(--v40-line)!important;background:#fff!important;border-radius:2px!important;box-shadow:none!important;position:relative!important}
.v40-card .index{color:#7e91a1!important;font-size:10px!important;letter-spacing:.08em!important}
.v40-card h3{margin:52px 0 13px!important;color:#173148!important;font:500 clamp(23px,2vw,30px)/1.08 Georgia,"Times New Roman",serif!important;letter-spacing:-.025em!important}
.v40-card p,.v40-card li{color:#697a87!important;font-size:12px!important;line-height:1.7!important}
.v40-page-hero{padding:132px 0 74px!important;background:#fff!important;border-bottom:1px solid var(--v40-line)!important}
.v40-page-hero h1{max-width:980px!important;margin:12px 0 18px!important;color:#13293b!important;font:500 clamp(46px,5.25vw,76px)/.96 Georgia,"Times New Roman",serif!important;letter-spacing:-.052em!important}
.v40-page-hero p{max-width:720px!important;margin:0!important;color:#5d6e7d!important;font-size:17px!important;line-height:1.65!important}
.v40-two-column-copy{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(38px,6vw,82px)!important}
.v40-copy-block ul{margin:28px 0 0!important;padding:0!important;list-style:none!important;border-top:1px solid var(--v40-line)!important}
.v40-copy-block li{padding:14px 0!important;border-bottom:1px solid var(--v40-line)!important;color:#536777!important;font-size:12px!important;line-height:1.55!important}
.v40-statement{margin-top:28px!important;padding:28px 0!important;border-top:1px solid var(--v40-line)!important;border-bottom:1px solid var(--v40-line)!important}
.v40-statement p{margin:0!important;color:#173d61!important;font:500 clamp(25px,2.8vw,38px)/1.12 Georgia,"Times New Roman",serif!important;letter-spacing:-.025em!important}
.v40-list{border-top:1px solid var(--v40-line)!important}
.v40-list-row{display:grid!important;grid-template-columns:56px minmax(200px,.7fr) minmax(0,1fr)!important;gap:22px!important;align-items:start!important;padding:24px 0!important;border-bottom:1px solid var(--v40-line)!important}
.v40-list-row>span{color:#7890a4!important;font-size:10px!important;letter-spacing:.08em!important;padding-top:4px!important}
.v40-list-row h3{margin:0!important;color:#183147!important;font:500 22px/1.15 Georgia,"Times New Roman",serif!important}
.v40-list-row p{margin:0!important;color:#6a7a87!important;font-size:12px!important;line-height:1.7!important}
.v40-cta{min-height:260px!important;padding:42px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:30px!important;border:1px solid rgba(25,61,95,.12)!important;background:linear-gradient(145deg,#fbfdff,#f3f7fa)!important}
.v40-industries{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.v40-industry{min-height:260px!important;padding:25px!important;border:1px solid var(--v40-line)!important;background:#fff!important}
.v40-industry h3{margin:0 0 18px!important;color:#173148!important;font:500 27px/1.08 Georgia,"Times New Roman",serif!important}
.v40-industry p,.v40-industry li{color:#697a87!important;font-size:12px!important;line-height:1.7!important}
.v40-market-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:1px solid var(--v40-line)!important}
.v40-market-fact{padding:30px 30px 30px 0!important;border-bottom:1px solid var(--v40-line)!important}
.v40-market-fact:nth-child(odd){border-right:1px solid var(--v40-line)!important;margin-right:30px!important}
.v40-market-fact p{margin:0!important;color:#5d6e7d!important;font-size:14px!important;line-height:1.72!important}
.v40-market-fact strong{color:#173148!important;font:500 22px/1.2 Georgia,"Times New Roman",serif!important}
.v40-source-note{margin-top:32px!important;padding:18px 20px!important;border:1px solid var(--v40-line)!important;background:#f7f9fb!important;color:#697a87!important;font-size:11px!important;line-height:1.6!important}

/* V40 private workspace, old executive visual system */
.workspace{min-height:100vh!important;background:#f7f9fb!important;color:#14293b!important}
.workspace-contact-bar{position:fixed!important;z-index:80!important;top:0!important;right:0!important;left:250px!important;height:68px!important;padding:0 28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(20,36,51,.09)!important}
.workspace-contact-bar>div:first-child{display:flex!important;align-items:baseline!important;gap:10px!important}
.workspace-contact-bar strong{font:600 13px/1 Georgia,"Times New Roman",serif!important;color:#183147!important}
.workspace-contact-bar span{font-size:10px!important;color:#7b8792!important}
.workspace-contact-actions{display:flex!important;align-items:center!important;gap:14px!important}
.workspace-contact-actions a,.workspace-contact-actions button{border:0!important;background:transparent!important;color:#5b7082!important;font-size:10px!important;padding:0!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
.workspace-grid{min-height:100vh!important}
.workspace-nav{position:fixed!important;z-index:90!important;inset:0 auto 0 0!important;width:250px!important;height:100vh!important;padding:18px 14px!important;background:#fff!important;border-right:1px solid rgba(20,36,51,.11)!important;overflow:auto!important}
.workspace-nav .brand{display:flex!important;min-height:58px!important;align-items:center!important;padding:0 10px 18px!important;margin-bottom:14px!important;border-bottom:1px solid rgba(20,36,51,.09)!important;color:#173f6b!important}
.workspace-nav nav{display:grid!important;gap:2px!important}
.workspace-nav nav a{display:flex!important;align-items:center!important;gap:10px!important;min-height:40px!important;padding:10px 11px!important;color:#596b7d!important;border-left:2px solid transparent!important;border-radius:0!important;font-size:12px!important}
.workspace-nav nav a:hover,.workspace-nav nav a.active{background:#edf1f5!important;color:#173f6b!important;border-left-color:#173f6b!important}
.workspace-main{margin-left:250px!important;padding:104px 38px 60px!important;max-width:1540px!important;min-height:100vh!important;background:#f7f9fb!important}
.workspace-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:30px!important;margin-bottom:30px!important}
.workspace-head h1{margin:4px 0 0!important;font:500 40px/1.05 Georgia,"Times New Roman",serif!important;letter-spacing:-.035em!important;color:#182f43!important}
.workspace-head p{margin:8px 0 0!important;max-width:760px!important;color:#6b7884!important;font-size:13px!important;line-height:1.55!important}
.summary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#fff!important;border:1px solid rgba(20,36,51,.10)!important;margin-bottom:18px!important}
.summary-card{min-height:104px!important;padding:22px 24px!important;border-right:1px solid rgba(20,36,51,.09)!important;background:#fff!important}
.summary-card:last-child{border-right:0!important}
.summary-card span{display:block!important;color:#77838e!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.summary-card strong{display:block!important;margin-top:8px!important;font:500 29px/1 Georgia,"Times New Roman",serif!important;color:#173f6b!important}
.workspace-card{margin-bottom:18px!important;padding:24px!important;background:#fff!important;border:1px solid rgba(20,36,51,.10)!important;border-radius:0!important;box-shadow:none!important;min-width:0!important}
.workspace-card h2,.card-head h2{margin:0!important;color:#22394d!important;font:500 22px/1.15 Georgia,"Times New Roman",serif!important;letter-spacing:-.02em!important}
.workspace-card p{color:#687987!important;font-size:12px!important;line-height:1.65!important}
.card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;margin-bottom:20px!important}
.card-head>a{color:#174e88!important;font-size:10px!important;font-weight:650!important}
.two-col{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.action-list{border-top:1px solid rgba(20,36,51,.10)!important}
.action-list>a,.task-row,.task-detail,.message-row,.news-row,.note-row,.data-row,.report-row,.client-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:15px 0!important;border-bottom:1px solid rgba(20,36,51,.08)!important;color:#273d50!important}
.action-list strong,.task-row strong,.task-detail strong,.message-row strong,.news-row strong,.note-row strong,.data-row strong,.report-row strong,.client-row strong{display:block!important;color:#273d50!important;font-size:12px!important}
.action-list small,.task-row small,.task-detail small,.message-row small,.news-row small,.note-row small,.data-row small,.report-row small,.client-row small{display:block!important;color:#78848e!important;font-size:9px!important;margin-top:4px!important}
.status{display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;padding:5px 8px!important;border:1px solid rgba(20,36,51,.12)!important;border-radius:2px!important;background:#f5f6f7!important;color:#5f6f7f!important;font-size:9px!important;line-height:1.2!important;text-transform:capitalize!important}
.status-completed,.status-on-track{background:#eaf7f1!important;color:#13795b!important;border-color:#cde9dc!important}.status-delayed,.status-high{background:#fbecef!important;color:#a33b49!important;border-color:#f2cbd1!important}.status-started,.status-medium{background:#eaf1ff!important;color:#1356bb!important;border-color:#ccdfff!important}.status-low{background:#f7f1e6!important;color:#836323!important;border-color:#eadcbd!important}
.workspace .table-wrap{overflow:auto!important;border:1px solid rgba(20,36,51,.11)!important;border-radius:0!important;background:#fff!important}
.workspace table{width:100%!important;border-collapse:collapse!important;min-width:860px!important}
.workspace th,.workspace td{padding:13px 14px!important;text-align:left!important;border-bottom:1px solid #edf0f2!important;font-size:11px!important}
.workspace th{background:#f2f4f6!important;color:#667483!important;font-weight:650!important}.workspace td{background:#fff!important;color:#33485b!important}.workspace tr:hover td{background:#f8fbff!important}
.workspace select,.workspace input,.workspace textarea,.form-card input,.form-card select,.form-card textarea,.login-card input,.login-card select,.login-card textarea,.modal input,.modal select,.modal textarea{width:100%;max-width:100%;min-width:0;border:1px solid #cdd5dc!important;background:#fff!important;color:#1e3244!important;border-radius:2px!important;padding:10px 12px!important;outline:0!important}
.document-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.document-card,.security-card{padding:16px!important;border:1px solid var(--v40-line)!important;background:#fff!important;border-radius:0!important}
.document-card strong,.security-card strong{display:block!important;color:#21374a!important;font-size:12px!important;margin-top:10px!important}
.document-card span{display:block!important;color:#7b8792!important;font-size:9px!important;margin:5px 0 12px!important}
.security-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-bottom:18px!important}
.security-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.security-card strong{margin:0!important}
.assistant-tabs{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-bottom:12px!important}
.assistant-tabs button{border:1px solid rgba(20,36,51,.12)!important;background:#fff!important;color:#5f6f7f!important;padding:8px 10px!important;border-radius:2px!important;font-size:10px!important}
.analysis-output{margin-top:14px!important;padding:18px!important;min-height:110px!important;white-space:pre-wrap!important;border:1px solid rgba(23,78,136,.18)!important;background:#fbfdff!important;color:#42576a!important;font-size:12px!important;line-height:1.65!important}
.form-card{display:grid!important;gap:16px!important;margin-top:28px!important;padding:24px!important;border:1px solid var(--v40-line)!important;background:#fff!important}
.form-card label,.login-card label,.modal label{display:grid!important;gap:7px!important;color:#667687!important;font-size:10px!important;font-weight:650!important}
.form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.consent-row,.radio-row{display:flex!important;align-items:flex-start!important;gap:9px!important}.consent-row input,.radio-row input{width:auto!important;margin-top:3px!important}
.notice,.empty-state,.error-panel,.loading{padding:28px!important;border:1px solid var(--v40-line)!important;background:#fff!important;color:#71808b!important;text-align:center!important;font-size:12px!important}
.empty-state h3,.error-panel h2{margin:0 0 7px!important;color:#263e52!important;font:500 20px/1.2 Georgia,"Times New Roman",serif!important}
.toast{position:fixed!important;right:20px!important;bottom:20px!important;z-index:200!important;max-width:min(420px,calc(100vw - 40px))!important;padding:12px 14px!important;background:#173f6b!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:2px!important;box-shadow:0 18px 45px rgba(20,36,51,.18)!important;font-size:11px!important}
.toast-error{background:#8f3e46!important}.toast-success{background:#235f4d!important}
.page-hero{padding:132px 0 60px!important;background:#fff!important;border-bottom:1px solid var(--v40-line)!important}
.page-hero h1{margin:10px 0 0!important;color:#13293b!important;font:500 clamp(42px,4.7vw,68px)/.98 Georgia,"Times New Roman",serif!important;letter-spacing:-.045em!important}
.legal-copy{color:#5d6e7d!important;font-size:14px!important;line-height:1.75!important}.legal-copy h2{margin:30px 0 8px!important;color:#183147!important;font:500 25px/1.15 Georgia,"Times New Roman",serif!important}.legal-note{padding:16px 18px!important;background:#f7f9fb!important;border-left:2px solid #20578e!important}
.login-card .healthy-impact-wordmark,.healthy-impact-wordmark{color:#173f6b!important;font:600 20px/1 Georgia,"Times New Roman",serif!important;letter-spacing:-.02em!important;white-space:nowrap!important}.public-nav .healthy-impact-wordmark{font-size:22px!important}.public-footer .healthy-impact-wordmark{font-size:24px!important}
.login-card form{display:grid!important;gap:12px!important;margin-top:20px!important}.login-security{margin-top:18px!important;padding-top:16px!important;border-top:1px solid var(--v40-line)!important;display:flex!important;gap:8px!important;align-items:center!important;color:#7a8792!important;font-size:9px!important}.form-error{margin-top:10px!important;color:#a33b49!important;font-size:10px!important;min-height:14px!important}

/* Responsive */
@media(max-width:1100px){
  .v40-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important;gap:30px!important;min-height:540px!important}
  .v40-grid-4,.v40-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v40-industries{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.summary-card:nth-child(2n){border-right:0!important}
}
@media(max-width:900px){
  .v40-public{padding-top:72px!important}.v40-hero{min-height:0!important;padding:64px 0 28px!important}.v40-hero-grid{grid-template-columns:1fr!important;gap:22px!important;min-height:0!important}.v40-hero-visual{height:clamp(330px,58vw,470px)!important;max-width:620px!important;margin-inline:auto!important}
  .v40-section-head,.v40-two-column-copy,.v40-market-facts{grid-template-columns:1fr!important}.v40-market-fact:nth-child(odd){border-right:0!important;margin-right:0!important}.v40-list-row{grid-template-columns:42px 1fr!important}.v40-list-row p{grid-column:2!important}
  .workspace-contact-bar{left:0!important;height:62px!important;padding:0 14px!important}.workspace-contact-bar>div:first-child,.workspace-contact-actions>span{display:none!important}
  .workspace-nav{top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:68px!important;padding:8px!important;display:block!important;border-right:0!important;border-top:1px solid var(--v40-line)!important;overflow-x:auto!important;overflow-y:hidden!important}
  .workspace-nav .brand{display:none!important}.workspace-nav nav{display:flex!important;gap:2px!important;width:max-content!important;min-width:100%!important}.workspace-nav nav a{min-width:52px!important;height:50px!important;justify-content:center!important;padding:8px!important;border-left:0!important;border-top:2px solid transparent!important;font-size:0!important}.workspace-nav nav a svg{width:17px!important;height:17px!important}
  .workspace-main{margin-left:0!important;padding:90px 14px 94px!important}.workspace-head{align-items:flex-start!important;flex-direction:column!important;gap:15px!important}.workspace-head h1{font-size:31px!important}.two-col{grid-template-columns:1fr!important}.document-grid,.security-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:599px){
  .v40-hero h1{font-size:clamp(40px,12.2vw,52px)!important}.v40-hero-actions{display:grid!important;grid-template-columns:1fr!important}.v40-hero-actions .btn{width:100%!important}.v40-hero-visual{height:300px!important}
  .v40-deal-line,.v40-proof-strip>.container,.v40-grid-2,.v40-grid-3,.v40-grid-4,.v40-industries,.summary-grid,.document-grid,.security-grid,.form-grid{grid-template-columns:1fr!important}
  .v40-deal-line>div,.v40-proof{border-right:0!important;margin-right:0!important}.v40-proof{border-bottom:1px solid var(--v40-line)!important}.v40-section{padding:70px 0!important}.v40-page-hero{padding:100px 0 58px!important}.v40-page-hero h1{font-size:clamp(40px,12vw,52px)!important}.v40-cta{align-items:flex-start!important;flex-direction:column!important;padding:28px!important}.v40-cta .btn{width:100%!important}
  .summary-card{border-right:0!important;border-bottom:1px solid var(--v40-line)!important}.workspace-card{padding:17px!important}.card-head,.action-list>a,.task-row,.task-detail,.message-row,.news-row,.note-row,.data-row,.report-row,.client-row{flex-direction:column!important;gap:8px!important}
}


/* Optional analytics consent */
.analytics-consent{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  max-width:1120px;
  margin:0 auto;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
  background:#10243a;
  box-shadow:0 18px 48px rgba(12,28,45,.28);
  color:#fff;
}
.analytics-consent strong{display:block;margin-bottom:4px;font-size:15px}
.analytics-consent p{margin:0;max-width:760px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.78)}
.analytics-consent-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.analytics-consent .btn{min-width:112px;border-color:rgba(255,255,255,.32);color:#fff;background:transparent}
.analytics-consent .btn:hover{background:rgba(255,255,255,.08)}
.analytics-consent .btn-primary{border-color:#fff;background:#fff;color:#10243a}
.analytics-consent .btn-primary:hover{background:#f1f4f8}
@media (max-width:760px){
  .analytics-consent{left:12px;right:12px;bottom:12px;align-items:stretch;flex-direction:column;gap:14px;padding:16px}
  .analytics-consent-actions{width:100%}
  .analytics-consent .btn{flex:1}
}
