/* v2 theme, 14-Oct-2026: classic consulting firm (white + deep navy, serif headlines).
   Loaded LAST on every page, after site.css / motion.css / blog.css. It re-points the
   design tokens those files already use, so every existing page (work, services, about,
   blog posts, diagnostic) takes the new look without its markup being rewritten, and adds
   the components of the rebuilt home page (.v2-*). Approved direction: the Lovable
   "classic consulting firm" mock. Gold survives only inside the RM logo image. */

:root{
  --ink:#0B1F3A;          /* deep navy: text, buttons, dark bands */
  --ink-2:#2D3748;
  --ink-3:#4A5568;
  --paper:#FFFFFF;
  --paper-2:#F4F6F8;
  --paper-3:#F4F6F8;
  --line:#E2E8F0;
  --line-2:#CBD5E0;
  --gold:#1F5FBF;         /* the old "gold" accents become the link blue */
  --gold-2:#1F5FBF;
  --accent:#1F5FBF;
  --pow:"Source Serif 4",Georgia,"Times New Roman",serif;
  --fun:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --nar:"Source Serif 4",Georgia,serif;
}
html{zoom:1 !important;}           /* the 85% desktop zoom was for the old, oversized type */
body{background:#fff;color:var(--ink-2);font-family:var(--fun);}

/* headings: serif, confident, no heavy negative tracking */
h1,h2,h3,.dxl,.hlg,.hmd,.post h1,.post h2,.post-row h2,.mh h3{
  font-family:var(--pow) !important;font-weight:600 !important;letter-spacing:-.01em !important;color:var(--ink);}
em,.dxl em,.hlg em{font-family:var(--pow);font-style:italic;color:inherit;}

/* buttons: navy, square-ish, sentence case */
.btn,.btn-o,.nbtn{border-radius:4px;text-transform:none !important;letter-spacing:0 !important;font-size:15px !important;font-weight:600;}
.btn,.nbtn{background:var(--ink) !important;border-color:var(--ink) !important;color:#fff !important;}
.btn:hover,.nbtn:hover{background:#163059 !important;}
.btn-o{border-color:var(--ink) !important;color:var(--ink) !important;background:transparent;}
.btn-o:hover{background:var(--ink) !important;color:#fff !important;}
.btn-lt{background:#fff !important;color:var(--ink) !important;border-color:#fff !important;}

/* nav */
nav{background:rgba(255,255,255,.96) !important;border-bottom:1px solid var(--line) !important;}
.nlinks a{text-transform:none !important;letter-spacing:0 !important;font-size:15px !important;color:var(--ink-2) !important;font-weight:500 !important;}
.nlinks a:hover,.nlinks a[aria-current="page"]{color:var(--ink) !important;}

/* the old dark grounds become navy */
.hero,.quote,.mkv{background:var(--ink) !important;}
.hero-bg,.hero-scrim{display:none !important;}
.close{background:var(--ink) !important;}
footer{background:#fff !important;color:var(--ink-3) !important;border-top:1px solid var(--line) !important;}
footer a{color:var(--ink-2) !important;text-transform:none !important;letter-spacing:0 !important;font-size:14px !important;}
footer .wm, footer img{filter:none;}
.cl-por img{filter:none !important;}
.cl-por figcaption{color:rgba(255,255,255,.75) !important;}
.cl-por figcaption .cl-cred{color:#9FBFF0 !important;}

/* cards, panels and rules pick up the cool greys automatically; soften corners */
.panel,.pfc,.scell,.fig,.method,.aivis,.v2-card,.v2-pcard{border-radius:4px;}
.lg-row .cap,.cap{color:var(--ink) !important;font-weight:600;}

/* blog index + articles */
.post-row:hover h2{color:var(--accent) !important;}
.fig b{color:var(--ink) !important;font-family:var(--pow);}
.post-cta{border-top-color:var(--ink) !important;}
.post a{color:var(--accent);}

/* ------------------------------------------------------------------ home v2 */
.v2-label{font-family:var(--fun);font-size:14px;font-weight:600;color:var(--accent);letter-spacing:.01em;}
.v2-label-lt{color:#9FBFF0;}
.v2-h1{font-family:var(--pow);font-weight:600;font-size:clamp(2.4rem,5vw,4rem);line-height:1.08;letter-spacing:-.015em;color:var(--ink);margin-top:18px;}
.v2-h2{font-family:var(--pow);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.75rem);line-height:1.15;color:var(--ink);margin-top:12px;}
.v2-h2-lt{color:#fff !important;}
.v2-lead{font-size:clamp(1.1rem,1.6vw,1.25rem);line-height:1.65;color:var(--ink-3);margin-top:22px;max-width:56ch;}
.v2-sub{font-size:18px;line-height:1.65;color:var(--ink-3);margin-top:16px;max-width:64ch;}
.v2-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.v2-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:4px;background:var(--ink);color:#fff;font-weight:600;font-size:15px;border:1px solid var(--ink);transition:background .15s;}
.v2-btn:hover{background:#163059;}
.v2-btn-o{background:transparent;color:var(--ink);}
.v2-btn-o:hover{background:var(--paper-2);}
.v2-link{display:inline-flex;gap:8px;margin-top:30px;color:var(--accent);font-weight:600;font-size:15px;}
.v2-link:hover{text-decoration:underline;text-underline-offset:4px;}

.v2-hero{padding:clamp(48px,6vw,96px) 0 clamp(48px,6vw,88px);background:#fff;}
.v2-hero-grid{display:grid;gap:clamp(32px,4vw,64px);align-items:center;}
@media(min-width:960px){.v2-hero-grid{grid-template-columns:1.05fr 1fr;}}
.v2-hero-img{margin:0;}
.v2-hero-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;}

.v2-sec{padding:clamp(56px,7vw,104px) 0;background:#fff;}
.v2-grey{background:var(--paper-2) !important;}
.v2-band{padding:clamp(40px,5vw,64px) 0;}
.v2-band .logos{margin-top:0;border-top:0;}
.v2-head{margin-bottom:clamp(28px,3.5vw,48px);}

.v2-cards4{display:grid;gap:20px;}
@media(min-width:700px){.v2-cards4{grid-template-columns:1fr 1fr;}}
@media(min-width:1100px){.v2-cards4{grid-template-columns:repeat(4,1fr);}}
.v2-card{display:block;background:#fff;border:1px solid var(--line);padding:28px;transition:border-color .15s,box-shadow .15s;}
.v2-card:hover{border-color:var(--line-2);box-shadow:0 8px 28px rgba(11,31,58,.07);}
.v2-card svg{width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.v2-card h3{font-size:1.3rem !important;line-height:1.25;margin-top:20px;}
.v2-card p{margin-top:12px;font-size:16px;line-height:1.6;color:var(--ink-3);}

.v2-steps{list-style:none;margin:0;padding:0;display:grid;gap:28px;position:relative;}
@media(min-width:900px){.v2-steps{grid-template-columns:repeat(4,1fr);}
  .v2-steps::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:1px;background:var(--line-2);}}
.v2-steps li{position:relative;}
.v2-steps b{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--pow);font-size:18px;position:relative;}
.v2-steps h3{font-size:1.35rem !important;margin-top:18px;}
.v2-steps p{margin-top:10px;font-size:16px;line-height:1.6;color:var(--ink-3);max-width:30ch;}

.v2-navy{background:var(--ink);padding:clamp(56px,7vw,96px) 0;color:#fff;}
.v2-nums{display:grid;gap:28px 32px;margin-top:clamp(28px,4vw,44px);grid-template-columns:1fr 1fr;}
@media(min-width:900px){.v2-nums{grid-template-columns:repeat(5,1fr);}}
.v2-nums b{display:block;font-family:var(--pow);font-weight:500;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:#fff;}
.v2-nums span{display:block;margin-top:10px;font-size:15px;color:rgba(255,255,255,.75);}
.v2-cap{margin-top:clamp(28px,4vw,40px);padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:15px;color:rgba(255,255,255,.7);}

.v2-cards3{display:grid;gap:24px;}
@media(min-width:800px){.v2-cards3{grid-template-columns:repeat(3,1fr);}}
.v2-pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);overflow:hidden;transition:box-shadow .15s;}
.v2-pcard:hover{box-shadow:0 10px 30px rgba(11,31,58,.09);}
.v2-pcard img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.v2-pcard > div{padding:24px;}
.v2-pcard h3{font-size:1.3rem !important;line-height:1.25;}
.v2-pcard p{margin-top:10px;font-size:16px;line-height:1.6;color:var(--ink-3);}
.v2-pcard b{display:block;margin-top:16px;font-size:15px;color:var(--ink);font-weight:600;}

.v2-about{display:grid;gap:clamp(28px,4vw,56px);align-items:start;}
@media(min-width:900px){.v2-about{grid-template-columns:360px 1fr;}}
.v2-about > img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:4px;}
.v2-facts{display:grid;gap:18px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line);}
@media(min-width:900px){.v2-facts{grid-template-columns:repeat(3,1fr);gap:28px;}}
.v2-facts dt{font-size:14px;color:var(--ink-3);}
.v2-facts dd{margin:6px 0 0;font-size:16px;line-height:1.5;color:var(--ink);}

/* logo section inside the grey band */
.v2-band .lg-row{border-bottom-color:var(--line);}
.v2-band .lg-row:last-child{border-bottom:0;}

/* small labels inside the navy sections must stay readable */
.close .cap,.quote .cap,.mkv .cap,.hero .cap,.v2-navy .cap{color:#9FBFF0 !important;}

/* video hero, 14-Oct-2026: full-bleed looping clip under a slate shade, text centred.
   The clip is cropped at source so the generator's watermark never appears. */
.v2-hero-vid{position:relative;overflow:hidden;background:#2B3340;display:flex;align-items:center;
  min-height:min(88vh,820px);padding:clamp(72px,10vw,120px) 0;}
.v2-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.v2-hero-shade{position:absolute;inset:0;background:rgba(36,43,54,.72);}
.v2-hero-center{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;}
.v2-hero-vid .v2-label{color:#C9D8F2;}
.v2-hero-vid .v2-h1{color:#fff !important;max-width:18ch;}
.v2-hero-vid .v2-lead{color:rgba(255,255,255,.88);max-width:60ch;margin-left:auto;margin-right:auto;}
.v2-hero-vid .v2-ctas{justify-content:center;}
.v2-hero-vid .v2-btn{background:#fff;color:var(--ink);border-color:#fff;}
.v2-hero-vid .v2-btn:hover{background:#E8EEF7;}
.v2-hero-vid .v2-btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.75);}
.v2-hero-vid .v2-btn-o:hover{background:rgba(255,255,255,.12);}
@media(max-width:600px){.v2-hero-vid{min-height:auto;}.v2-hero-vid .v2-ctas{flex-direction:column;align-items:center;gap:12px;}
  .v2-hero-vid .v2-btn{justify-content:center;padding:14px 20px;}}
@media(prefers-reduced-motion:reduce){.v2-hero-bg{display:none;}
  .v2-hero-vid{background:#2B3340 url(/img/photo/hero-machine.jpg) center/cover no-repeat;}}

/* phone nav: all five links fit across a 360px screen, nothing hidden off the edge */
@media(max-width:480px){
  .nlinks{gap:0 !important;justify-content:space-between;}
  .nlinks a{font-size:14px !important;}
}

/* perspectives: LinkedIn letters and research briefings, 15-Oct-2026 */
.v2-persp{display:grid;gap:24px;}
@media(min-width:760px){.v2-persp{grid-template-columns:1fr 1fr;}}
.v2-pp{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:box-shadow .15s;}
.v2-pp:hover{box-shadow:0 10px 30px rgba(11,31,58,.09);}
.v2-pp-img{aspect-ratio:16/9;background:#F4F1EA;overflow:hidden;}
.v2-pp-img img{display:block;width:100%;height:100%;object-fit:cover;}
.v2-pp-dark{background:#14110E;}
.v2-pp-dark img{object-fit:contain;}
.v2-pp-body{padding:24px;display:flex;flex-direction:column;flex:1;}
.v2-pp-tag{font-size:13px;font-weight:600;color:var(--accent);}
.v2-pp h3{font-size:1.3rem !important;line-height:1.3;margin-top:10px;}
.v2-pp p{margin-top:10px;font-size:16px;line-height:1.6;color:var(--ink-3);flex:1;}
.v2-pp-more{margin-top:16px;font-size:15px;font-weight:600;color:var(--accent);}
