/* M202 — content and visual system for the reviewed candidate.
   The true Noomo scene, m191 team/orbit and growth cursor are intentionally
   outside this file. These rules unify the surrounding information surfaces. */
:root {
  --m202-ink: #090c11;
  --m202-ink-2: #10151d;
  --m202-panel: #151b24;
  --m202-line: rgba(233, 219, 161, .24);
  --m202-muted: rgba(239, 241, 244, .68);
  --m202-gold: #e9d27e;
  --m202-cobalt: #5069ee;
}

/* The reviewed home previously ended in a saturated blue block.  The same
   charcoal/navy language now continues through the directory and the inner
   footer, so navigation and content feel like one site. */
.m193-footer { color: #f3f1e9; background: var(--m202-ink); }
.m193-footer-contact { background: var(--m202-ink); }
.m193-footer-card { border-radius: 0 0 34px 0; box-shadow: 10px 10px 0 var(--m202-gold); }
.m193-footer-card-light { color: #12161d; background: #f5f3ea; }
.m193-footer-card-dark { color: #f4f2ea; background: #151a32; }
.m193-footer-directory {
  color: #f4f2eb;
  background: radial-gradient(circle at 82% 16%, rgba(80, 105, 238, .23), transparent 32%), linear-gradient(135deg, #0d131c, #11131d 65%, #181229);
  border-top: 1px solid var(--m202-line);
}
.m193-footer-brand p { max-width: 560px; color: rgba(244, 242, 235, .77); line-height: 1.95; }
.m193-footer-brand > a { color: #f7f2dc; }
.m193-footer-directory nav a { color: rgba(244, 242, 235, .84); }
.m193-footer-directory nav h3 { color: var(--m202-gold); }
.m193-footer-legal { border-top-color: rgba(255,255,255,.18); }

/* The inner footer uses the same tokens as the home footer. */
.footer48-directory {
  color: #f4f2eb;
  background: radial-gradient(circle at 85% 14%, rgba(80, 105, 238, .2), transparent 28%), linear-gradient(135deg, #0d131c, #11131d 65%, #181229) !important;
}
.footer48-contact .r83-footer-intro { max-width: 570px; color: rgba(244,242,235,.77); line-height: 1.95; }
.footer48-name, .footer48-column h2 { color: #f7f2dc !important; }
.footer48-column a, .footer48-contact address, .footer48-finale { color: rgba(244,242,235,.78) !important; }
.footer48-phone, .footer48-channel, .footer48-column h2 { color: var(--m202-gold) !important; }
.footer48-finale { background: #090c11 !important; border-top-color: rgba(233,219,161,.24) !important; }

/* iPullRank-like “start here” balance: a strong right-hand information
   object, not a faint spare column. */
.m199-start-hero { background: radial-gradient(circle at 76% 22%, rgba(79,104,235,.26), transparent 34%), linear-gradient(135deg,#090d13,#121824 65%,#19132b); }
.m199-start-hero-grid { align-items: stretch; }
.m199-hero-index {
  position: relative;
  min-height: 330px;
  padding: 28px 30px;
  border: 1px solid rgba(233,219,161,.33);
  border-radius: 0 0 62px 0;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
  box-shadow: 14px 14px 0 rgba(233,210,126,.86);
  overflow: hidden;
}
.m199-hero-index::before, .m199-hero-index::after { content:""; position:absolute; border:1px solid rgba(83,105,235,.58); border-radius:50%; pointer-events:none; }
.m199-hero-index::before { width:230px; height:230px; right:-56px; top:-56px; }
.m199-hero-index::after { width:310px; height:310px; right:-96px; top:-96px; opacity:.45; }
.m199-hero-index span { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:64px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); color:#f0f2f5; font-size:15px; }
.m199-hero-index span::after { content:"↗"; color:var(--m202-gold); font-size:18px; }
.m199-hero-index span:first-child { color:var(--m202-gold); }
.m199-hero-index span:last-child { border-bottom:0; }

/* A readable readiness visual, with deliberate hierarchy and contrast. */
#m191-readiness { background: linear-gradient(180deg,#0d1118,#101629); }
#m191-readiness .m192-readiness-visual { min-height: 410px; border:1px solid rgba(233,219,161,.32); background: radial-gradient(circle at 50% 46%, rgba(91,65,202,.86), rgba(24,25,58,.82) 42%, rgba(10,14,22,.98) 77%); box-shadow: 16px 16px 0 rgba(233,210,126,.74); }
#m191-readiness .m192-visual-core strong { letter-spacing:.02em; }
#m191-readiness .m192-visual-chip { border-color: rgba(233,219,161,.5); background: rgba(10,13,18,.72); box-shadow: 0 10px 24px rgba(0,0,0,.18); }

/* Abstract evidence panels replace blurry or synthetic “customer site” photos.
   They are deliberately labelled as visual summaries; facts remain in the
   linked case pages. */
.m202-evidence-visual { display:flex; position:relative; min-height:100%; flex-direction:column; justify-content:flex-end; padding:30px; overflow:hidden; isolation:isolate; background:#101826; }
.m202-evidence-visual::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.75; background: linear-gradient(115deg, transparent 0 28%, rgba(87,112,236,.24) 28.4% 29%, transparent 29.4% 48%, rgba(233,210,126,.2) 48.4% 49%, transparent 49.4%), repeating-linear-gradient(0deg, transparent 0 34px, rgba(255,255,255,.07) 35px 36px), repeating-linear-gradient(90deg, transparent 0 44px, rgba(255,255,255,.06) 45px 46px); }
.m202-evidence-visual::after { content:""; position:absolute; inset:14%; z-index:-1; border:1px solid rgba(230,237,255,.28); transform:skewY(-13deg) rotate(-3deg); box-shadow:0 0 0 24px rgba(86,104,221,.08), 0 0 0 48px rgba(233,210,126,.05); }
.m202-evidence-visual span { color:var(--m202-gold); font-size:11px; letter-spacing:.16em; }
.m202-evidence-visual strong { margin-top:14px; color:#f5f3eb; font-size:clamp(24px,2.6vw,40px); line-height:1.04; letter-spacing:-.055em; }
.m202-evidence-visual i { position:absolute; right:14%; top:22%; width:46px; height:46px; border:1px solid var(--m202-gold); border-radius:50%; box-shadow:0 0 0 12px rgba(233,210,126,.08), 0 0 0 24px rgba(83,105,235,.10); }
.m202-evidence-video { background:linear-gradient(135deg,#18202e,#111727 65%,#242041); }
.m202-evidence-geo { background:linear-gradient(135deg,#14162b,#121a2a 55%,#20203d); }
.m194-case-copy p { max-width: 480px; }

/* The new contact fit section follows the long-form qualification rhythm. */
.m202-contact-fit { padding:118px 0; color:#f3f1ea; background:linear-gradient(135deg,#141326,#0d1219); }
.m202-contact-fit .container { width:min(1240px,calc(100% - 64px)); margin:0 auto; }
.m202-fit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:58px; border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.m202-fit-grid article { min-height:330px; padding:31px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.025); }
.m202-fit-grid article:last-child { background:rgba(235,211,124,.055); }
.m202-fit-grid h3 { margin:0 0 25px; color:var(--m202-gold); font-size:24px; }
.m202-fit-grid ul { margin:0; padding-left:20px; }
.m202-fit-grid li { margin:0 0 14px; color:rgba(243,241,234,.78); line-height:1.75; }
.m202-fit-note { max-width:780px; margin:31px 0 0; color:rgba(243,241,234,.64); line-height:1.85; }

.m202-service-fit, .m202-geo-foundation { padding:118px 0; color:#f3f1ea; background:linear-gradient(145deg,#0d1219,#171329); }
.m202-service-fit .container, .m202-geo-foundation .container { width:min(1240px,calc(100% - 64px)); margin:0 auto; }
.m202-service-fit-heading { max-width:850px; }
.m202-service-fit-heading h2 { margin:0; font-size:clamp(38px,5.2vw,72px); line-height:1.02; letter-spacing:-.065em; font-weight:420; }
.m202-service-fit-heading h2 strong { color:var(--m202-gold); font-weight:760; }
.m202-service-fit-heading > p:last-child { max-width:750px; margin:27px 0 0; color:rgba(243,241,234,.72); font-size:17px; line-height:1.85; }
.m202-service-fit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:58px; border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.m202-service-fit-grid article { min-height:290px; padding:30px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.028); }
.m202-service-fit-grid article:last-child { background:rgba(235,211,124,.055); }
.m202-service-fit-grid h3 { margin:0 0 22px; color:var(--m202-gold); font-size:23px; }
.m202-service-fit-grid ul { margin:0; padding-left:20px; }
.m202-service-fit-grid li { margin-bottom:13px; color:rgba(243,241,234,.77); line-height:1.75; }
.m202-service-fit-note { max-width:790px; margin:29px 0 0; color:rgba(243,241,234,.64); line-height:1.85; }
.m202-geo-foundation { background:linear-gradient(145deg,#0a1017,#10162b 55%,#17132b); }
.m202-geo-foundation-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:58px; border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.m202-geo-foundation-grid article { min-height:275px; padding:28px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.024); }
.m202-geo-foundation-grid b { color:var(--m202-gold); font-size:11px; letter-spacing:.14em; }
.m202-geo-foundation-grid h3 { margin:39px 0 13px; color:#f5f3eb; font-size:23px; }
.m202-geo-foundation-grid p { margin:0; color:rgba(243,241,234,.68); font-size:14px; line-height:1.85; }

@media(max-width:900px){
  .m199-hero-index { min-height:0; }
  .m202-contact-fit .container { width:min(100% - 40px,720px); }
  .m202-fit-grid { grid-template-columns:1fr; }
  .m202-service-fit .container, .m202-geo-foundation .container { width:min(100% - 40px,720px); }
  .m202-geo-foundation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px){
  .m193-footer-card { box-shadow:7px 7px 0 var(--m202-gold); }
  #m191-readiness .m192-readiness-visual { min-height:350px; box-shadow:8px 8px 0 rgba(233,210,126,.74); }
  .m202-evidence-visual { min-height:230px; }
  .m202-fit-grid article { min-height:0; padding:24px 21px; }
  .m202-service-fit, .m202-geo-foundation { padding:82px 0; }
  .m202-service-fit-grid, .m202-geo-foundation-grid { grid-template-columns:1fr; }
  .m202-service-fit-grid article, .m202-geo-foundation-grid article { min-height:0; padding:24px 21px; }
}
