/* R7 uniform diagram layout + mobile/nav hardening */

:root{
  --r7-shell-border: rgba(15,23,42,.08);
  --r7-shell-shadow: 0 22px 60px rgba(15,23,42,.08);
  --r7-shell-shadow-dark: 0 28px 80px rgba(5,12,24,.30);
  --r7-shell-soft: linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  --r7-shell-dark: linear-gradient(180deg,rgba(8,17,31,.88) 0%,rgba(11,20,36,.96) 100%);
}

/* Public nav hardening */
@media (max-width:1040px){
  body.v20d2c-public .site-header--v20d2c .site-header__desktop{display:none !important;}
  body.v20d2c-public .site-header--v20d2c .site-header__mobile{display:flex !important; margin-left:auto;}
  body.v20d2c-public .site-header--v20d2c .mobile-contact-link{display:none !important;}
  body.v20d2c-public .site-header--v20d2c .nav-overlay{
    position:fixed;
    inset:0;
    display:none;
    z-index:104;
    background:rgba(7,13,24,.30);
    backdrop-filter:blur(3px);
  }
  body.v20d2c-public.nav-open .site-header--v20d2c .nav-overlay{display:block !important;}
  body.v20d2c-public .site-header--v20d2c .nav--mobile-panel{
    display:none;
    position:fixed;
    inset:0;
    z-index:105;
    flex-direction:column;
    justify-content:space-between;
    min-height:100dvh;
    padding:calc(24px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.985);
    overflow:auto;
  }
  body.v20d2c-public.nav-open .site-header--v20d2c .nav--mobile-panel{display:flex !important;}
}
@media (min-width:1041px){
  body.v20d2c-public .site-header--v20d2c .site-header__desktop{display:flex !important;}
  body.v20d2c-public .site-header--v20d2c .site-header__mobile,
  body.v20d2c-public .site-header--v20d2c .nav--mobile-panel,
  body.v20d2c-public .site-header--v20d2c .nav-overlay{display:none !important;}
}

/* Shared diagram/layout uniformity */
body.v20d2c-public .enterprise-visual-grid--focus,
body.v20d2c-public .grid-2--diagram-focus,
body.v20d2c-public .section-pair--diagram-focus{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
}

body.v20d2c-public .enterprise-visual-grid--focus .diagram-layout-copy,
body.v20d2c-public .grid-2--diagram-focus .diagram-layout-copy,
body.v20d2c-public .section-pair--diagram-focus .diagram-layout-copy{
  display:grid;
  gap:14px;
  max-width:78rem;
}

body.v20d2c-public .enterprise-visual-grid--focus .diagram-layout-meta,
body.v20d2c-public .grid-2--diagram-focus .diagram-layout-meta,
body.v20d2c-public .section-pair--diagram-focus .diagram-layout-meta{
  display:grid;
  gap:16px;
}

body.v20d2c-public .enterprise-visual-grid--focus .diagram-layout-visual,
body.v20d2c-public .grid-2--diagram-focus .diagram-layout-visual,
body.v20d2c-public .section-pair--diagram-focus .diagram-layout-visual{
  width:100%;
  min-width:0;
}

body.v20d2c-public .enterprise-visual-grid--focus .diagram-plate.authority-network-host,
body.v20d2c-public .grid-2--diagram-focus .diagram-plate.authority-network-host,
body.v20d2c-public .section-pair--diagram-focus .diagram-plate.authority-network-host{
  width:100%;
  padding:0 !important;
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card,
body.v20d2c-public .grid-2--diagram-focus .authority-network-card,
body.v20d2c-public .section-pair--diagram-focus .authority-network-card,
body.v20d2c-public .hero-diagram-shell .authority-network-card,
body.v20d2c-public .home-diagram-section__visual .authority-network-card,
body.v20d2c-public .home-benchmark-section__visual .authority-network-card{
  padding:28px;
  border-radius:34px;
  box-shadow:var(--r7-shell-shadow-dark);
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card::after,
body.v20d2c-public .grid-2--diagram-focus .authority-network-card::after,
body.v20d2c-public .section-pair--diagram-focus .authority-network-card::after,
body.v20d2c-public .hero-diagram-shell .authority-network-card::after,
body.v20d2c-public .home-diagram-section__visual .authority-network-card::after,
body.v20d2c-public .home-benchmark-section__visual .authority-network-card::after{
  inset:16px;
  border-radius:26px;
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-title,
body.v20d2c-public .grid-2--diagram-focus .authority-network-title,
body.v20d2c-public .section-pair--diagram-focus .authority-network-title,
body.v20d2c-public .hero-diagram-shell .authority-network-title,
body.v20d2c-public .home-diagram-section__visual .authority-network-title,
body.v20d2c-public .home-benchmark-section__visual .authority-network-title{
  font-size:clamp(1.62rem,2.6vw,2.55rem);
  line-height:1.02;
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-description,
body.v20d2c-public .grid-2--diagram-focus .authority-network-description,
body.v20d2c-public .section-pair--diagram-focus .authority-network-description,
body.v20d2c-public .hero-diagram-shell .authority-network-description,
body.v20d2c-public .home-diagram-section__visual .authority-network-description,
body.v20d2c-public .home-benchmark-section__visual .authority-network-description{
  font-size:1.04rem;
  line-height:1.72;
  max-width:none;
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-stage,
body.v20d2c-public .grid-2--diagram-focus .authority-network-stage,
body.v20d2c-public .section-pair--diagram-focus .authority-network-stage,
body.v20d2c-public .hero-diagram-shell .authority-network-stage,
body.v20d2c-public .home-diagram-section__visual .authority-network-stage,
body.v20d2c-public .home-benchmark-section__visual .authority-network-stage{
  border-radius:28px;
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--executive .authority-network-stage,
body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--technical .authority-network-stage,
body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--engine .authority-network-stage,
body.v20d2c-public .grid-2--diagram-focus .authority-network-card--executive .authority-network-stage,
body.v20d2c-public .grid-2--diagram-focus .authority-network-card--technical .authority-network-stage,
body.v20d2c-public .grid-2--diagram-focus .authority-network-card--engine .authority-network-stage,
body.v20d2c-public .section-pair--diagram-focus .authority-network-card--executive .authority-network-stage,
body.v20d2c-public .section-pair--diagram-focus .authority-network-card--technical .authority-network-stage,
body.v20d2c-public .section-pair--diagram-focus .authority-network-card--engine .authority-network-stage,
body.v20d2c-public .hero-diagram-shell .authority-network-card--hero-wide .authority-network-stage,
body.v20d2c-public .home-diagram-section__visual .authority-network-card--flow .authority-network-stage,
body.v20d2c-public .home-benchmark-section__visual .authority-network-card--scorecard .authority-network-stage{
  min-height:420px !important;
  aspect-ratio:auto !important;
}

body.v20d2c-public .enterprise-visual-grid--focus .authority-network-badges,
body.v20d2c-public .grid-2--diagram-focus .authority-network-badges,
body.v20d2c-public .section-pair--diagram-focus .authority-network-badges,
body.v20d2c-public .hero-diagram-shell .authority-network-badges,
body.v20d2c-public .home-diagram-section__visual .authority-network-badges,
body.v20d2c-public .home-benchmark-section__visual .authority-network-badges{
  justify-content:flex-start;
}

body.v20d2c-public .grid-2--diagram-focus .enterprise-link-grid,
body.v20d2c-public .section-pair--diagram-focus .enterprise-link-grid,
body.v20d2c-public .enterprise-visual-grid--focus .enterprise-link-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

/* Homepage layout */
body.v20d2c-public .hero-shell{
  display:grid;
  gap:24px;
}

body.v20d2c-public .hero-grid--intro{
  display:grid !important;
  gap:24px !important;
  align-items:start !important;
}

body.v20d2c-public .hero-summary-panel{
  display:grid;
  gap:16px;
  padding:28px;
  border-radius:30px;
  background:var(--r7-shell-soft);
  border:1px solid var(--r7-shell-border);
  box-shadow:var(--r7-shell-shadow);
  min-height:100%;
}
body.v20d2c-public .hero-summary-panel h2{
  margin:0;
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1.06;
  letter-spacing:-.03em;
  color:#0f172a;
}
body.v20d2c-public .hero-summary-panel p{
  margin:0;
  color:#47586d;
  line-height:1.72;
}
body.v20d2c-public .hero-summary-points{
  display:grid;
  gap:12px;
}
body.v20d2c-public .hero-summary-point{
  display:grid;
  gap:4px;
  padding:14px 16px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
}
body.v20d2c-public .hero-summary-point strong{
  color:#0f172a;
  font-size:.98rem;
}
body.v20d2c-public .hero-summary-point span{
  color:#52667c;
  font-size:.95rem;
  line-height:1.55;
}

body.v20d2c-public .hero-diagram-shell,
body.v20d2c-public .hero-metrics-shell{
  display:grid;
  gap:18px;
}

body.v20d2c-public .hero-diagram-shell .hero-visual--showcase{
  width:100%;
}
body.v20d2c-public .hero-diagram-shell .authority-network-card--hero-wide .authority-network-stage{
  min-height:460px !important;
}

body.v20d2c-public .hero-metrics-shell .hero-metrics--full{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100%;
}
body.v20d2c-public .hero-metrics-shell .v20d2b-metric,
body.v20d2c-public .hero-metrics-shell .v306-throughput__card{
  min-height:100%;
  height:100%;
}

body.v20d2c-public .home-overview-grid{
  align-items:start;
  gap:20px;
}
body.v20d2c-public .home-overview-panels{
  display:grid;
  gap:16px;
}

body.v20d2c-public .home-diagram-section,
body.v20d2c-public .home-benchmark-section{
  display:grid !important;
  gap:24px !important;
}
body.v20d2c-public .home-diagram-section__top,
body.v20d2c-public .home-benchmark-section__top{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:22px !important;
  align-items:start !important;
}
body.v20d2c-public .home-diagram-section__copy,
body.v20d2c-public .home-benchmark-section__copy{
  display:grid;
  gap:1rem;
  max-width:78rem;
}
body.v20d2c-public .home-diagram-section__copy .v20d2b-deepcopy + .v20d2b-deepcopy{
  margin-top:.25rem;
  padding:20px 22px;
  border-radius:24px;
  border:1px solid rgba(157,229,218,.14);
  background:linear-gradient(180deg,rgba(16,29,48,.72),rgba(9,19,33,.92));
  box-shadow:0 18px 46px rgba(5,12,24,.24);
}
body.v20d2c-public .home-diagram-section__visual,
body.v20d2c-public .home-benchmark-section__visual{
  width:100%;
}
body.v20d2c-public .home-diagram-section__bottom,
body.v20d2c-public .home-benchmark-section__bottom{
  display:grid !important;
  gap:16px !important;
  margin-top:0 !important;
}
body.v20d2c-public .home-diagram-section__bottom .v20d2b-explainer-grid,
body.v20d2c-public .home-benchmark-section__bottom .v20d2b-explainer-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100%;
}
body.v20d2c-public .home-diagram-section__bottom .v20d2b-explainer-card,
body.v20d2c-public .home-benchmark-section__bottom .v20d2b-explainer-card{
  height:100%;
}
body.v20d2c-public .home-benchmark-section{
  padding:34px;
  border-radius:32px;
}

/* Broader card consistency */
body.v20d2c-public .compact-research-grid article,
body.v20d2c-public .usecase-static-card,
body.v20d2c-public .v20d2b-explainer-card,
body.v20d2c-public .v20d2b-explainer-card--light,
body.v20d2c-public .v20d2b-metric,
body.v20d2c-public .v305-system-panels .panel,
body.v20d2c-public .page-panel,
body.v20d2c-public .enterprise-link-card{
  box-sizing:border-box;
}

@media (min-width:1100px){
  body.v20d2c-public .hero-grid--intro{
    grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr) !important;
  }
  body.v20d2c-public .home-overview-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  }
}

@media (max-width:1040px){
  body.v20d2c-public .hero-metrics-shell .hero-metrics--full,
  body.v20d2c-public .home-diagram-section__bottom .v20d2b-explainer-grid,
  body.v20d2c-public .home-benchmark-section__bottom .v20d2b-explainer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.v20d2c-public .hero-summary-panel{padding:24px;}
  body.v20d2c-public .hero-diagram-shell .authority-network-card--hero-wide .authority-network-stage,
  body.v20d2c-public .home-diagram-section__visual .authority-network-card--flow .authority-network-stage,
  body.v20d2c-public .home-benchmark-section__visual .authority-network-card--scorecard .authority-network-stage,
  body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--executive .authority-network-stage,
  body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--technical .authority-network-stage,
  body.v20d2c-public .grid-2--diagram-focus .authority-network-card--executive .authority-network-stage,
  body.v20d2c-public .grid-2--diagram-focus .authority-network-card--technical .authority-network-stage,
  body.v20d2c-public .section-pair--diagram-focus .authority-network-card--engine .authority-network-stage{
    min-height:340px !important;
  }
}

@media (max-width:680px){
  body.v20d2c-public .container{
    width:min(1320px, calc(100vw - 28px));
  }
  body.v20d2c-public .hero-metrics-shell .hero-metrics--full,
  body.v20d2c-public .home-diagram-section__bottom .v20d2b-explainer-grid,
  body.v20d2c-public .home-benchmark-section__bottom .v20d2b-explainer-grid{
    grid-template-columns:1fr !important;
  }
  body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card,
  body.v20d2c-public .grid-2--diagram-focus .authority-network-card,
  body.v20d2c-public .section-pair--diagram-focus .authority-network-card,
  body.v20d2c-public .hero-diagram-shell .authority-network-card,
  body.v20d2c-public .home-diagram-section__visual .authority-network-card,
  body.v20d2c-public .home-benchmark-section__visual .authority-network-card{
    padding:18px;
    border-radius:24px;
  }
  body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card::after,
  body.v20d2c-public .grid-2--diagram-focus .authority-network-card::after,
  body.v20d2c-public .section-pair--diagram-focus .authority-network-card::after,
  body.v20d2c-public .hero-diagram-shell .authority-network-card::after,
  body.v20d2c-public .home-diagram-section__visual .authority-network-card::after,
  body.v20d2c-public .home-benchmark-section__visual .authority-network-card::after{
    inset:12px;
    border-radius:18px;
  }
  body.v20d2c-public .hero-summary-panel{
    padding:20px;
    border-radius:24px;
  }
  body.v20d2c-public .hero-diagram-shell .authority-network-card--hero-wide .authority-network-stage,
  body.v20d2c-public .home-diagram-section__visual .authority-network-card--flow .authority-network-stage,
  body.v20d2c-public .home-benchmark-section__visual .authority-network-card--scorecard .authority-network-stage,
  body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--executive .authority-network-stage,
  body.v20d2c-public .enterprise-visual-grid--focus .authority-network-card--technical .authority-network-stage,
  body.v20d2c-public .grid-2--diagram-focus .authority-network-card--executive .authority-network-stage,
  body.v20d2c-public .grid-2--diagram-focus .authority-network-card--technical .authority-network-stage,
  body.v20d2c-public .section-pair--diagram-focus .authority-network-card--engine .authority-network-stage{
    min-height:260px !important;
  }
  body.v20d2c-public .home-benchmark-section{padding:22px; border-radius:26px;}
}
