
/* OVI public surface: extends the approved V6 visual language only; it must not alter the V6 architecture, assessment items, scoring or report logic. */
:root{
  --navy:#17324a;
  --navy2:#234a65;
  --teal:#2aa7a1;
  --teal-dark:#187d79;
  --gold:#c89b35;
  --blue:#4d7fae;
  --bg:#f7f9fb;
  --surface:#ffffff;
  --soft:#eef3f6;
  --line:#d8e2e8;
  --text:#233d51;
  --muted:#687d8d;
  --shadow:0 18px 50px rgba(23,50,74,.09);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:18px;top:18px;z-index:999;background:#fff;padding:10px 14px;border-radius:10px}
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(216,226,232,.9);
  backdrop-filter:blur(14px);
}
.nav{height:76px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;min-width:max-content}
.brand-mark{
  width:38px;height:38px;border-radius:50%;
  border:3px solid var(--gold);
  box-shadow:inset 0 0 0 5px #fff,0 0 0 1px var(--teal);
  background:linear-gradient(135deg,var(--teal),var(--blue));
}
.brand strong{display:block;color:var(--navy);font-size:14px;letter-spacing:.07em;line-height:1.05}
.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.11em;margin-top:4px}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:21px;font-size:12px;font-weight:800;color:#51697a}
.nav-links a:hover{color:var(--teal-dark)}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;border-radius:999px;padding:12px 20px;font-weight:850;
  border:1px solid transparent;cursor:pointer;transition:.2s;
}
.nav-cta,.btn-primary{
  background:linear-gradient(100deg,var(--teal),var(--blue));
  color:#fff!important;box-shadow:0 9px 24px rgba(42,167,161,.18);
}
.nav-cta:hover,.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(42,167,161,.25)}
.btn-secondary{background:#fff;color:var(--navy);border-color:#bacbd5}
.btn-secondary:hover{border-color:var(--teal);color:var(--teal-dark)}
.nav-toggle{display:none;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px;color:var(--navy)}
.hero{
  padding:88px 0 74px;
  background:
    radial-gradient(circle at 88% 15%,rgba(42,167,161,.12),transparent 27%),
    radial-gradient(circle at 10% 85%,rgba(77,127,174,.09),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f5f8fa 100%);
  border-bottom:1px solid var(--line);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.eyebrow{color:var(--teal-dark);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.hero h1{font-size:clamp(44px,5.5vw,76px);line-height:.98;letter-spacing:-.045em;color:var(--navy);margin:13px 0 24px;max-width:780px}
.hero p{font-size:19px;color:#536b7d;max-width:770px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-card{
  background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow)
}
.hero-card h3{margin:0 0 18px;color:var(--navy);font-size:22px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.metric{padding:17px;border:1px solid var(--line);background:#f9fbfc;border-radius:17px}
.metric strong{display:block;color:var(--navy);font-size:27px;line-height:1}
.metric span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:7px}
.section{padding:82px 0}
.section-white{background:#fff}
.section-soft{background:var(--soft)}
.section-head{max-width:820px;margin-bottom:38px}
.section-head h2{font-size:clamp(32px,4vw,51px);line-height:1.04;letter-spacing:-.03em;color:var(--navy);margin:8px 0 16px}
.section-head p{font-size:17px;color:var(--muted);margin:0}
.framework-shell{
  background:#f7f9fb;border:1px solid var(--line);border-radius:30px;padding:12px;
  box-shadow:0 14px 42px rgba(23,50,74,.065);overflow:hidden
}
.framework-frame{width:100%;border:0;display:block;min-height:1060px;background:#f7f9fb}
.info-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:28px
}
.info-strip div{background:#fff;padding:18px;text-align:center}
.info-strip strong{color:var(--navy);display:block}
.info-strip span{font-size:12px;color:var(--muted)}
.cards-3,.cards-5,.steps{display:grid;gap:16px}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-5{grid-template-columns:repeat(5,1fr)}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;
  box-shadow:0 7px 20px rgba(23,50,74,.035)
}
.card h3{color:var(--navy);margin:5px 0 10px;font-size:21px;line-height:1.15}
.card p{color:var(--muted);margin:0}
.card .num{font-size:12px;font-weight:950;color:var(--teal-dark);letter-spacing:.1em}
.package{display:flex;flex-direction:column;min-height:330px}
.package ul{padding-left:19px;color:#5d7282;margin:14px 0 22px}
.package .btn{margin-top:auto}
.architecture-alignment{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px;align-items:stretch}
.alignment-visual{
  background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)
}
.alignment-bars{display:grid;gap:13px;margin-top:22px}
.a-row{display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:10px;font-size:12px;color:#5c7182}
.a-track{height:10px;background:#e9eff3;border-radius:10px;overflow:hidden}
.a-track i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--teal),var(--blue))}
.state-card{position:relative;padding-top:44px}
.state-card .state-tag{
  position:absolute;top:17px;left:22px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:var(--teal-dark)
}
.steps{grid-template-columns:repeat(7,1fr)}
.step{padding:20px 16px;background:#fff;border:1px solid var(--line);border-radius:19px}
.step b{display:block;color:var(--teal-dark);font-size:11px;letter-spacing:.08em}
.step strong{display:block;color:var(--navy);margin:7px 0 6px}
.step span{font-size:12px;color:var(--muted);line-height:1.45;display:block}
.responsible{
  border-left:4px solid var(--gold);background:#fff;border-radius:0 20px 20px 0;padding:25px 28px;
  color:#5c7182
}
.cta-band{
  background:linear-gradient(120deg,#15354d,#244f6a);
  color:#fff;border-radius:30px;padding:42px;display:flex;gap:30px;justify-content:space-between;align-items:center
}
.cta-band h2{font-size:34px;line-height:1.05;margin:0 0 10px}
.cta-band p{margin:0;color:#d8e5ed;max-width:680px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}
.contact-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:12px;font-weight:800;color:#4d6576}
input,select,textarea{border:1px solid #c7d5de;border-radius:13px;padding:12px 13px;background:#fff;color:var(--navy);width:100%}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(42,167,161,.16);border-color:var(--teal)}
.footer{padding:35px 0;border-top:1px solid var(--line);background:#fff;color:#718493;font-size:12px}
.footer-row{display:flex;gap:20px;justify-content:space-between;align-items:center}
.footer a{color:var(--navy)}
.gateway-hero{padding:72px 0 42px;text-align:center}
.gateway-hero h1{color:var(--navy);font-size:clamp(38px,5vw,64px);line-height:1;margin:12px auto 18px;max-width:860px}
.gateway-hero p{max-width:730px;margin:0 auto;color:var(--muted);font-size:18px}
.gateway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:30px 0 88px}
.gateway-card{background:#fff;border:1px solid var(--line);border-radius:27px;padding:30px;display:flex;flex-direction:column;min-height:370px;box-shadow:var(--shadow)}
.gateway-card .icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#eef7f7;color:var(--teal-dark);font-weight:950}
.gateway-card h2{color:var(--navy);font-size:26px;line-height:1.08;margin:20px 0 12px}
.gateway-card p{color:var(--muted);margin:0 0 24px}
.gateway-card ul{padding-left:19px;color:#607586;font-size:13px}
.gateway-card .btn{margin-top:auto}
.gateway-note{max-width:900px;margin:0 auto 25px;padding:16px 20px;border:1px solid var(--line);background:#fff;border-radius:16px;color:#607586;text-align:center;font-size:13px}
@media(max-width:1050px){
  .nav-links{position:fixed;left:20px;right:20px;top:84px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .nav-links .nav-cta{text-align:center}
  .hero-grid,.architecture-alignment,.contact-grid{grid-template-columns:1fr}
  .cards-5{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:780px){
  .container{width:min(100% - 26px,1180px)}
  .hero{padding:58px 0}
  .hero-grid{gap:28px}
  .hero h1{font-size:46px}
  .cards-3,.gateway-grid{grid-template-columns:1fr}
  .cards-5{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .info-strip{grid-template-columns:1fr 1fr}
  .framework-shell{padding:4px;border-radius:20px}
  .framework-frame{min-height:1850px}
  .cta-band{padding:30px;align-items:flex-start;flex-direction:column}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .nav{height:68px}
  .brand small{display:none}
  .hero h1{font-size:39px}
  .section{padding:62px 0}
  .cards-5,.steps,.info-strip{grid-template-columns:1fr}
  .hero-card{padding:22px}
  .metric-grid{grid-template-columns:1fr 1fr}
  .framework-frame{min-height:2100px}
}

/* Phase 2A public commercial funnel: reporting explanation and access request surface. */
.reporting-section{background:linear-gradient(135deg,#f4f8fa 0%,#eef5f6 58%,#f9fbfc 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reporting-head{margin-bottom:30px}
.reporting-boundary{font-size:14px!important;color:#5f7586!important;border-left:3px solid var(--gold);padding-left:14px;margin-top:18px!important}
.reporting-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reporting-card{background:#fff;border:1px solid #d8e4e9;border-radius:18px;padding:20px;min-height:190px;box-shadow:0 8px 18px rgba(23,50,74,.045)}
.reporting-card-feature{background:linear-gradient(145deg,#183a55,#24546d);border-color:#183a55}
.reporting-card-feature h3,.reporting-card-feature p{color:#fff}.reporting-card-feature .reporting-label{color:#e7c66b;border-color:rgba(231,198,107,.55)}
.reporting-label{display:inline-block;border:1px solid #acd1d0;border-radius:999px;padding:3px 8px;color:var(--teal-dark);font-size:10px;font-weight:900;letter-spacing:.09em}
.reporting-card h3{margin:14px 0 8px;color:var(--navy);font-size:20px;line-height:1.15}.reporting-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.reporting-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.access-hero{padding:76px 0 54px;background:radial-gradient(circle at 86% 25%,rgba(42,167,161,.16),transparent 32%),linear-gradient(180deg,#fff,#f3f7f9);border-bottom:1px solid var(--line)}
.access-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.access-hero h1{color:var(--navy);font-size:clamp(43px,5vw,70px);line-height:.98;letter-spacing:-.045em;margin:12px 0 20px}.access-hero p{font-size:18px;color:#536b7d;max-width:680px;margin:0}
.access-principles{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow);color:#5c7282}.access-principles strong{color:var(--navy);font-size:18px}.access-principles ol{margin:14px 0 14px;padding-left:22px}.access-principles li{margin:6px 0}.access-principles p{font-size:13px;border-top:1px solid var(--line);padding-top:14px}
.access-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:start}.access-request-form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}
.consent-field{grid-template-columns:20px 1fr;align-items:start;gap:10px;background:#f7fafb;border:1px solid #d7e3e8;border-radius:14px;padding:14px 15px;color:#506879;font-size:13px;font-weight:600;line-height:1.5}.consent-field input{width:18px;height:18px;margin-top:2px;accent-color:var(--teal)}
.form-status{min-height:1.5em;margin:12px 0 0;color:var(--teal-dark);font-size:14px;font-weight:700}.form-status.is-error{color:#a24e4a}.form-status.is-success{color:#356e55}
@media(max-width:1050px){.reporting-grid{grid-template-columns:repeat(2,1fr)}.access-hero-grid,.access-layout{grid-template-columns:1fr}.access-layout{gap:8px}.access-layout .section-head{max-width:760px}}
@media(max-width:640px){.reporting-grid{grid-template-columns:1fr}.reporting-card{min-height:auto}.access-hero{padding:58px 0 40px}.access-request-form{padding:21px 17px}.access-nav{display:flex!important;position:static!important;box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important;flex-direction:row!important;gap:12px;font-size:10px}.access-nav a:nth-child(n+2){display:none}}

/* OVI administrator workspace: separate operational surface, reusing the OVI visual language. */
.admin-body{background:#f4f8f8;color:#163047}.admin-header{min-height:72px;padding:12px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid rgba(22,48,71,.14)}.admin-return,.text-button{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:#163047;text-decoration:none;background:none;border:0;padding:0}.admin-main{max-width:1240px;margin:0 auto;padding:clamp(28px,5vw,64px) 5vw 80px}.admin-panel{background:#fff;border:1px solid rgba(22,48,71,.14);border-radius:20px;box-shadow:0 16px 40px rgba(22,48,71,.08)}.admin-state{max-width:680px;padding:clamp(28px,5vw,54px);margin:8vh auto}.admin-state h1,.admin-title-row h1{margin:.35rem 0 1rem;color:#163047;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}.admin-state p,.admin-title-row p{max-width:720px;line-height:1.65;color:#597080}.admin-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(22,48,71,.14);padding-bottom:28px}.admin-session{min-width:175px;text-align:right;font-size:.8rem;color:#597080}.admin-session strong,.admin-session span{display:block}.admin-session strong{color:#163047;font-size:.95rem;margin-bottom:5px}.admin-session .text-button{margin-top:14px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.admin-stats article,.admin-actions,.admin-leads{background:#fff;border:1px solid rgba(22,48,71,.14);border-radius:16px;box-shadow:0 10px 28px rgba(22,48,71,.06)}.admin-stats article{padding:20px}.admin-stats span{display:block;font-size:.7rem;letter-spacing:.08em;font-weight:700;color:#387b7d}.admin-stats strong{display:block;font-size:2.2rem;color:#163047;margin-top:8px}.admin-actions{padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-actions h2,.admin-leads h2{font-size:1.25rem;color:#163047;margin:0}.admin-actions p{font-size:.9rem;color:#597080;margin:.4rem 0 0;line-height:1.5}.admin-actions-links{display:flex;flex-wrap:wrap;gap:10px}.admin-actions .btn{font-size:.75rem;padding:12px 14px}.admin-body .btn.primary{background:linear-gradient(100deg,var(--teal),var(--blue));color:#fff;border-color:transparent;box-shadow:0 9px 24px rgba(42,167,161,.18)}.admin-body .btn.secondary{background:#fff;color:var(--navy);border-color:#bacbd5}.admin-leads{margin-top:28px;overflow:hidden}.admin-section-heading{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid rgba(22,48,71,.14)}.admin-message{margin:0;padding:0 22px;color:#387b7d;font-size:.875rem}.admin-message:empty{display:none}.admin-message.is-error{color:#9c2f2f}.lead-list{padding:0 22px 22px}.lead-card{padding:22px 0;border-bottom:1px solid rgba(22,48,71,.1)}.lead-card:last-child{border-bottom:0}.lead-heading{display:flex;justify-content:space-between;gap:18px}.lead-heading h3{font-size:1.05rem;color:#163047;margin:0}.lead-heading p,.lead-detail{font-size:.86rem;color:#597080;line-height:1.5;margin:.3rem 0 0}.lead-email{overflow-wrap:anywhere}.lead-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:.75rem;color:#597080;white-space:nowrap}.status-tag{background:#e8f3f2;color:#226b6e;border-radius:999px;padding:5px 9px;font-weight:700}.lead-activity{margin-top:14px;font-size:.82rem;color:#597080}.lead-activity summary{cursor:pointer;font-weight:700;color:#387b7d}.activity-body{margin-top:8px;padding-left:4px}.activity-body p{margin:.5rem 0}.lead-review-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding:16px;background:#f4f8f8;border-radius:12px}.lead-review-form label{display:grid;gap:6px;font-size:.75rem;font-weight:700;color:#597080}.lead-review-form select,.lead-review-form textarea{font:inherit;padding:10px;border:1px solid rgba(22,48,71,.22);border-radius:7px;background:#fff;color:#163047}.lead-note{grid-column:1/-1}.lead-review-form textarea{min-height:88px;resize:vertical}.lead-review-form .btn{justify-self:start;font-size:.75rem;padding:11px 14px}@media(max-width:720px){.admin-header{min-height:68px}.admin-header .brand small{display:none}.admin-return{font-size:.65rem}.admin-title-row,.admin-actions{display:block}.admin-session{text-align:left;margin-top:18px}.admin-stats{grid-template-columns:1fr}.admin-actions-links{margin-top:18px}.lead-heading{display:block}.lead-meta{align-items:flex-start;margin-top:12px}.lead-review-form{grid-template-columns:1fr}.lead-note{grid-column:auto}}
.token-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.token-controls .btn{font-size:.72rem;padding:10px 13px}
.token-expiry{display:flex!important;align-items:center!important;gap:7px;font-size:.72rem!important;color:#597080!important}.token-expiry select{font:inherit;padding:7px 8px;border:1px solid rgba(22,48,71,.22);border-radius:7px;background:#fff;color:#163047}
