/* ═══════════════════════════════════════════════════════════════════════
   RM GROWTH PARTNERS — Brand layer (loaded last)
   Brand story, core values, on-topic platform dashboards, floating buttons,
   redesigned footer, richer backgrounds, micro-interactions and the last-mile
   responsive hardening for ultra-wide → small-mobile.
   ═══════════════════════════════════════════════════════════════════════ */

/* ───────── Ultra-wide + container refinement ───────── */
@media (min-width:1600px){
  :root{ --maxw:1280px }
  .container--wide{ max-width:1440px }
  body{ font-size:1.1rem }
}
@media (min-width:1921px){
  .container{ max-width:1360px }
  .container--wide{ max-width:1520px }
}

/* ───────── Extra backgrounds (less pure black) ───────── */
.bg-deepnavy{ background:linear-gradient(180deg,#070A12,#0A0F1C 60%,#080A12) }
.bg-noise{ position:relative }
.bg-noise::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.5'/></svg>");
  mix-blend-mode:overlay;
}
.bg-animated{ position:relative; background:linear-gradient(120deg,#080A10,#0A0D16,#080910); }
.bg-animated::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.7;
  background:linear-gradient(120deg, rgb(201 162 77/.06), transparent 30%, transparent 70%, rgb(86 100 129/.08));
  background-size:200% 200%; animation:gmove 18s ease infinite;
}
@keyframes gmove{ 50%{ background-position:100% 50% } }
@media (prefers-reduced-motion:reduce){ .bg-animated::before{ animation:none } }

/* ───────── Micro-interactions ───────── */
/* animated gradient border on hover for any .lift card */
.lift{ transition:transform .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease) }
.lift:hover{ transform:translateY(-5px); border-color:rgb(201 162 77/.45); box-shadow:0 24px 60px -30px var(--gold-glow) }
/* soft glow that follows nothing — just a hover bloom */
.glow-hover{ position:relative; overflow:hidden }
.glow-hover::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; opacity:0;
  background:linear-gradient(130deg, var(--gold-lt), transparent 40%, transparent 60%, var(--gold-dk));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
  transition:opacity .4s var(--ease) }
.glow-hover:hover::before{ opacity:1 }
/* button ripple / sheen */
.btn--gold::after{ content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-120%); transition:transform .7s var(--ease); pointer-events:none }
.btn--gold{ position:relative; overflow:hidden }
.btn--gold:hover::after{ transform:translateX(120%) }
@media (prefers-reduced-motion:reduce){ .btn--gold::after{ display:none } }

/* ───────── Brand story: Vision / Mission / Objectives ───────── */
.vm-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem }
.vmcard{ position:relative; padding:clamp(1.5rem,3vw,2.25rem); border-radius:20px; overflow:hidden;
  background:linear-gradient(165deg, rgb(var(--on-rgb)/.05), rgb(var(--on-rgb)/.015)); border:1px solid var(--line) }
.vmcard__ic{ display:grid; place-items:center; width:52px; height:52px; border-radius:14px; margin-bottom:1.1rem; color:var(--gold);
  background:rgb(201 162 77/.1); border:1px solid rgb(201 162 77/.25) }
.vmcard__ic svg{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round }
.vmcard__k{ font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); margin-bottom:.4rem }
.vmcard h3{ font-size:1.4rem; margin-bottom:.6rem }
.vmcard p{ font-size:.96rem; color:var(--ink-2); line-height:1.6 }
@media (max-width:720px){ .vm-grid{ grid-template-columns:1fr } }

/* objectives as a compact numbered list */
.objectives{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; counter-reset:obj }
.obj{ position:relative; padding:1.4rem; border-radius:16px; background:var(--glass); border:1px solid var(--line) }
.obj__n{ counter-increment:obj; font-family:var(--f-display); font-weight:700; font-size:.85rem; color:var(--gold) }
.obj__n::before{ content:"0" counter(obj) }
.obj b{ display:block; font-family:var(--f-display); font-size:1.02rem; color:var(--ink); margin:.5rem 0 .35rem }
.obj p{ font-size:.86rem; color:var(--ink-3); line-height:1.5 }

/* positioning statement — big editorial pull quote */
.position{ position:relative; max-width:44ch; margin-inline:auto; text-align:center }
.position__mark{ font-family:var(--f-display); font-size:4rem; line-height:0; color:rgb(201 162 77/.4); display:block; height:2rem }
.position p{ font-family:var(--f-display); font-weight:600; font-size:clamp(1.4rem,1.1rem + 1.8vw,2.2rem); letter-spacing:-.02em; color:var(--ink); line-height:1.25 }
.position p .grad{ display:inline }

/* elevator pitch — split with visual */
.pitch{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.5rem,4vw,3rem); align-items:center }
.pitch__card{ padding:clamp(1.5rem,3vw,2.25rem); border-radius:20px; background:linear-gradient(160deg,rgb(201 162 77/.08),transparent); border:1px solid rgb(201 162 77/.22) }
.pitch__card p{ font-size:1.05rem; color:var(--ink-2); line-height:1.65 }
.pitch__card b{ color:var(--ink); font-weight:600 }
@media (max-width:760px){ .pitch{ grid-template-columns:1fr } }

/* ───────── Core values (6) ───────── */
.values{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem }
.value{ position:relative; padding:clamp(1.4rem,2.5vw,1.9rem); border-radius:18px; overflow:hidden;
  background:linear-gradient(165deg, rgb(var(--on-rgb)/.05), rgb(var(--on-rgb)/.015)); border:1px solid var(--line);
  transition:transform .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease) }
.value::after{ content:""; position:absolute; top:-40%; right:-30%; width:70%; height:120%; border-radius:50%;
  background:radial-gradient(circle, rgb(201 162 77/.12), transparent 65%); opacity:0; transition:opacity .5s var(--ease); pointer-events:none }
.value:hover{ transform:translateY(-6px); border-color:rgb(201 162 77/.45); box-shadow:0 24px 60px -30px var(--gold-glow) }
.value:hover::after{ opacity:1 }
.value__n{ position:absolute; top:1.1rem; right:1.3rem; font-family:var(--f-display); font-weight:700; font-size:.85rem; color:rgb(201 162 77/.5) }
.value__ic{ display:grid; place-items:center; width:54px; height:54px; border-radius:15px; margin-bottom:1.1rem; color:var(--gold);
  background:rgb(201 162 77/.1); border:1px solid rgb(201 162 77/.28); transition:transform .45s var(--ease) }
.value:hover .value__ic{ transform:scale(1.08) rotate(-4deg) }
.value__ic svg{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round }
.value h3{ font-size:1.15rem; margin-bottom:.5rem; letter-spacing:-.01em }
.value p{ font-size:.9rem; color:var(--ink-3); line-height:1.55 }
@media (max-width:900px){ .values{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:560px){ .values{ grid-template-columns:1fr } }

/* ───────── On-topic platform dashboards (bespoke SVG mockups) ───────── */
.pdash{ border-radius:16px; overflow:hidden; border:1px solid var(--line-2); background:#070810;
  box-shadow:0 30px 70px -34px #000 }
.pdash__bar{ display:flex; align-items:center; gap:.6rem; padding:.7rem 1rem; border-bottom:1px solid var(--line); background:rgb(var(--on-rgb)/.03) }
.pdash__logo{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--f-display); font-weight:600; font-size:.85rem; color:var(--ink) }
.pdash__logo i{ width:20px; height:20px; border-radius:6px; display:grid; place-items:center; font-size:.7rem; font-weight:700; color:#fff }
.pdash__logo i.meta{ background:linear-gradient(135deg,#0866FF,#7B4DFF) }
.pdash__logo i.google{ background:#fff; color:#4285F4 }
.pdash__logo i.ga4{ background:linear-gradient(135deg,#E8710A,#F9AB00); color:#fff }
.pdash__logo i.search{ background:#fff; color:#458CF5 }
.pdash__live{ margin-left:auto; display:inline-flex; align-items:center; gap:.4rem; font-size:.68rem; color:var(--ink-4) }
.pdash__live::before{ content:""; width:7px; height:7px; border-radius:50%; background:#4ADE80; box-shadow:0 0 0 3px rgb(74 222 128/.2) }
.pdash__body{ padding:1.1rem }
.pdash__row{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin-bottom:.9rem }
.pdcell{ padding:.7rem; border-radius:10px; background:rgb(var(--on-rgb)/.03); border:1px solid var(--line) }
.pdcell span{ display:block; font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-4) }
.pdcell b{ font-family:var(--f-display); font-weight:600; font-size:1.05rem; color:var(--ink); letter-spacing:-.02em }
.pdcell em{ font-style:normal; font-size:.66rem; color:#4ADE80; font-weight:600 }
.pdash__chart{ height:88px; border-radius:10px; overflow:hidden; background:rgb(var(--on-rgb)/.02); border:1px solid var(--line) }
.pdash__chart svg{ width:100%; height:100% }
.pdash__cols{ display:flex; align-items:flex-end; gap:6px; height:88px; padding:10px }
.pdash__cols i{ flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,var(--gold),rgb(201 162 77/.2)); min-height:8px }

/* platform tabs strip */
.ptabs{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:1.75rem }
.ptab{ display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .9rem; border-radius:100px; font-size:.82rem; font-weight:500;
  color:var(--ink-3); background:var(--glass); border:1px solid var(--line); cursor:default }
.ptab i{ width:8px; height:8px; border-radius:50%; background:var(--gold) }

/* ───────── Metrics v2 — equal cards + icons ───────── */
.mstat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem }
.mstat{ padding:clamp(1.5rem,3vw,2rem); border-radius:18px; background:var(--glass); border:1px solid var(--line);
  display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; min-height:150px;
  transition:transform .4s var(--ease), border-color .4s var(--ease) }
.mstat:hover{ transform:translateY(-4px); border-color:rgb(201 162 77/.4) }
.mstat__ic{ display:grid; place-items:center; width:40px; height:40px; border-radius:11px; margin-bottom:.6rem; color:var(--gold);
  background:rgb(201 162 77/.1); border:1px solid rgb(201 162 77/.22) }
.mstat__ic svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.mstat__v{ font-family:var(--f-display); font-weight:500; font-size:clamp(1.9rem,1.4rem + 1.4vw,2.6rem); letter-spacing:-.03em;
  color:var(--ink); font-variant-numeric:tabular-nums; line-height:1 }
.mstat__v em{ font-style:normal; color:var(--gold) }
.mstat__k{ font-size:.86rem; color:var(--ink-3) }
@media (max-width:820px){ .mstat-grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:520px){ .mstat-grid{ grid-template-columns:1fr } }

/* ───────── Floating action buttons ───────── */
.fab{ position:fixed; right:clamp(1rem,3vw,1.75rem); bottom:clamp(1rem,3vw,1.75rem); z-index:75;
  display:flex; flex-direction:column; align-items:flex-end; gap:.75rem; pointer-events:none }
.fab > *{ pointer-events:auto }
.fab__audit{ display:inline-flex; align-items:center; gap:.55rem; height:48px; padding:0 1.15rem; border-radius:100px;
  font-family:var(--f-display); font-weight:600; font-size:.9rem; color:var(--on-gold);
  background:linear-gradient(140deg,var(--gold-lt),var(--gold) 60%,var(--gold-dk));
  box-shadow:0 12px 30px -10px var(--gold-glow); transform:translateY(20px) scale(.96); opacity:0; visibility:hidden;
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility .45s }
.fab__audit svg{ width:16px; height:16px }
.fab.is-on .fab__audit{ opacity:1; visibility:visible; transform:none }
.fab__audit:hover{ transform:translateY(-2px) }
.fab__wa{ display:grid; place-items:center; width:56px; height:56px; border-radius:50%;
  background:linear-gradient(160deg,#25D366,#128C7E); box-shadow:0 12px 30px -8px rgb(37 211 102/.5);
  transition:transform .35s var(--ease) }
.fab__wa:hover{ transform:scale(1.08) }
.fab__wa svg{ width:28px; height:28px; fill:#fff }
.fab__wa::after{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid rgb(37 211 102/.5); animation:ping 2.6s var(--ease) infinite }
.fab__wa{ position:relative }
@keyframes ping{ 0%{ transform:scale(1); opacity:.7 } 100%{ transform:scale(1.5); opacity:0 } }
@media (prefers-reduced-motion:reduce){ .fab__wa::after{ animation:none } }
@media (max-width:520px){
  .fab__audit span{ display:none } .fab__audit{ width:48px; padding:0; justify-content:center }
}

/* ───────── Footer v2 ───────── */
.foot2{ position:relative; border-top:1px solid var(--line); background:linear-gradient(180deg,#0A0C12,#08090D); padding-block:clamp(3rem,5vw,4.5rem) 1.75rem; overflow:hidden }
.foot2__glow{ position:absolute; top:-40%; left:50%; transform:translateX(-50%); width:700px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgb(201 162 77/.08),transparent 65%); pointer-events:none }
.foot2__cta{ position:relative; display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; align-items:center;
  padding:clamp(1.5rem,3vw,2.5rem); border-radius:22px; margin-bottom:3rem;
  background:linear-gradient(130deg,rgb(201 162 77/.1),rgb(var(--on-rgb)/.02)); border:1px solid rgb(201 162 77/.25) }
.foot2__cta h3{ font-size:clamp(1.4rem,1.1rem + 1.4vw,2rem); letter-spacing:-.02em }
.foot2__cta p{ color:var(--ink-3); font-size:.95rem; margin-top:.5rem }
.foot2__cta-actions{ display:flex; flex-direction:column; gap:.75rem; align-items:stretch }
@media (max-width:760px){ .foot2__cta{ grid-template-columns:1fr } }

.foot2__grid{ position:relative; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem 1.5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--line) }
.foot2__brand p{ font-size:.9rem; color:var(--ink-3); margin:1rem 0 1.25rem; max-width:34ch }
.foot2__news{ margin-top:.5rem }
.foot2__news label{ display:block; font-size:.78rem; color:var(--ink-2); margin-bottom:.5rem }
.foot2__news-row{ display:flex; gap:.5rem; max-width:340px }
.foot2__news-row input{ flex:1; height:44px; padding:0 .9rem; border-radius:10px; background:rgb(var(--on-rgb)/.04);
  border:1px solid var(--line-2); color:var(--ink); font-size:.9rem }
.foot2__news-row input:focus{ outline:none; border-color:var(--gold) }
.foot2__news-row button{ height:44px; padding:0 1rem; border-radius:10px; font-family:var(--f-display); font-weight:600; font-size:.85rem;
  color:var(--on-gold); background:linear-gradient(140deg,var(--gold-lt),var(--gold-dk)) }
.foot2__news small{ display:block; margin-top:.5rem; font-size:.72rem; color:var(--ink-4) }
.foot2__col h4{ font-family:var(--f-display); font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-4); margin-bottom:1rem }
.foot2__col a{ display:block; padding:.32rem 0; font-size:.9rem; color:var(--ink-3); transition:color .25s var(--ease), padding-left .25s var(--ease) }
.foot2__col a:hover{ color:var(--gold); padding-left:.25rem }
.foot2__bar{ position:relative; display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
  margin-top:1.75rem; font-size:.82rem; color:var(--ink-4) }
.foot2__legal a{ margin-left:1.25rem; color:var(--ink-4) }
.foot2__legal a:hover{ color:var(--ink-2) }
@media (max-width:880px){ .foot2__grid{ grid-template-columns:1fr 1fr } .foot2__brand{ grid-column:1 / -1 } }
@media (max-width:520px){ .foot2__grid{ grid-template-columns:1fr } .foot2__bar{ flex-direction:column; align-items:flex-start } }

/* ───────── Small-mobile hardening ───────── */
@media (max-width:400px){
  :root{ --gut:1.1rem }
  .btn{ --h:48px; font-size:.9rem }
  .hero__proof{ gap:1rem }
  .hero__proof b{ font-size:1.3rem }
  h1,.h-xl{ letter-spacing:-.02em }
}
/* guarantee nothing ever forces horizontal scroll */
html,body{ max-width:100%; overflow-x:clip }
img,svg,video{ max-width:100% }
