
:root{--black:#08090c;--ink:#151518;--gold:#c4a45b;--gold2:#e3ca89;--cream:#f4f0e8;--paper:#fbfaf6;--lav:#29202e;--line:#d8d0c0;--muted:#68645c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}.container{width:min(1180px,92%);margin:auto}
.header{position:sticky;top:0;z-index:50;background:rgba(7,8,11,.97);border-bottom:1px solid rgba(196,164,91,.24);backdrop-filter:blur(15px)}.navwrap{min-height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.brand b{font-family:Cinzel,serif;display:block;letter-spacing:.055em;font-size:18px}.brand b span{color:var(--gold2)}.brand small{display:block;color:#a7a195;font-size:10px;letter-spacing:.09em}.crest{width:44px;height:53px;display:block}.crest svg{width:100%;height:100%}.crown,.shield{fill:none;stroke:var(--gold2);stroke-width:2}.smark{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}
nav{display:flex;align-items:center;gap:24px}nav>a,.dropdown>button{color:#d8d3ca;text-decoration:none;font:500 13px Inter;border:0;background:none;padding:8px 0;cursor:pointer}nav>a:hover,.dropdown>button:hover{color:#fff}.navcta{border:1px solid var(--gold)!important;padding:10px 14px!important;color:var(--gold2)!important}.dropdown{position:relative}.dropdown>div{display:none;position:absolute;top:32px;left:-14px;min-width:160px;background:#12141a;border:1px solid #34302a;padding:8px}.dropdown:hover>div{display:grid}.dropdown a{color:#d7d1c8;text-decoration:none;padding:9px 10px;font-size:13px}.menu{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero,.pagehero{background:radial-gradient(circle at 82% 25%,#302337 0,#13151b 38%,#07080b 72%);color:white;position:relative;overflow:hidden}.hero:after,.pagehero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.heroinner{padding:115px 0 95px;position:relative;z-index:1}.hero h1,.pagehero h1,.thank h1{font-family:Cinzel,serif;font-size:clamp(46px,6.8vw,78px);line-height:1.08;letter-spacing:-.025em;margin:18px 0 22px;max-width:1050px}.hero h1 em{font-style:normal;color:var(--gold2)}.hero p,.pagehero p{max-width:800px;color:#d0cbc2;font-size:19px}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700;color:#8a713e}.light{color:var(--gold2)}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:33px}.vertical{flex-direction:column;align-items:flex-start}.btn{display:inline-block;border:0;border-radius:1px;padding:14px 21px;font-weight:700;text-decoration:none;cursor:pointer;font-size:14px}.gold{background:var(--gold);color:#090909}.gold:hover{background:var(--gold2)}.ghost{border:1px solid #62563f;color:#fff}.dark{background:#111217;color:#fff}.outline{border:1px solid #aaa092;color:#151518}.frameworkchips{display:flex;gap:9px;flex-wrap:wrap;margin-top:50px}.frameworkchips span{padding:8px 11px;border:1px solid rgba(210,181,112,.22);font-size:11px;color:#c9c4ba;background:rgba(255,255,255,.025)}
.section{padding:88px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px}.section h2,.cta h2{font-family:Cinzel,serif;font-size:clamp(34px,4.5vw,52px);line-height:1.13;margin:10px 0 20px}.intro p{font-size:17px;color:#4d4a45}.black{background:#0b0d11;color:#fff}.black h2{max-width:780px}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.tiers article{background:#14171d;border:1px solid #2d3038;padding:33px}.tiers article.premium{border-color:#8f7541;box-shadow:inset 0 3px 0 var(--gold)}.tiers .label{font-size:10px;letter-spacing:.18em;color:var(--gold2)}.tiers h3{font:700 29px Cinzel,serif;margin:10px 0}.tiers p{color:#c6c1b8;font-size:14px}.tiers a{color:var(--gold2);text-decoration:none;font-weight:700;font-size:13px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:35px}.steps.six{grid-template-columns:repeat(3,1fr);border-color:#2e3036}.steps>div{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.black .steps>div{border-color:#2e3036}.steps b{font-size:11px;color:#9c8147}.steps h3{font:700 20px Cinzel,serif}.steps p{font-size:13px;color:#5c5953}.black .steps p{color:#bcb7ae}.quote{background:linear-gradient(125deg,#241c28,#121319);color:#fff;padding:70px 0;text-align:center}.quote p{font:700 clamp(32px,5vw,56px) Cinzel,serif;color:var(--gold2);margin:0}.quote span{color:#c8c3ba}.frameworkcards{display:grid;gap:12px}.frameworkcards div,.contactpanel{padding:22px;border-left:3px solid var(--gold);background:#eee8dd}.frameworkcards b{display:block}.frameworkcards span{font-size:13px;color:#5d5951}.cta{background:#08090b;color:#fff;padding:75px 0}.cta h2{max-width:850px}.pagehero .container{padding:95px 0 82px;position:relative;z-index:2}.pagehero.compact .container{padding:75px 0 60px}.pagehero h1{font-size:clamp(43px,5.8vw,67px)}.soft{background:#eee9e0}.luxlist{padding:0;list-style:none;margin:0}.luxlist li{padding:13px 0 13px 27px;border-bottom:1px solid #ddd6c9;position:relative}.luxlist li:before{content:"◆";position:absolute;left:0;color:#a58745;font-size:9px;top:18px}.outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.outcomes>div{background:#fff;border:1px solid #ddd6c9;padding:25px}.outcomes h3{font:700 19px Cinzel,serif;margin-top:0}.notice{padding:18px;border-left:3px solid var(--gold);background:#efe9de;font-size:13px}.contactgrid,.formgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.leadform{background:#fff;border:1px solid #ddd4c5;padding:32px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:12px;font-weight:700;display:block;margin-bottom:14px}input,select,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #cfc7b8;background:#faf8f2;font:inherit}textarea{resize:vertical}.hp{position:absolute;left:-9999px}.fine{font-size:11px!important}.darkfine{color:#69645b}.thank{padding:120px 0;background:#f4efe6;text-align:center}.thank p{max-width:650px;margin:0 auto 25px}.seal{width:62px;height:62px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;font-size:28px;color:#8d733b}
footer{background:#07080a;color:#aaa59c;padding:55px 0 24px}.footgrid{display:grid;grid-template-columns:1.2fr .55fr .7fr 1.4fr;gap:40px}.footerbrand{font:700 20px Cinzel,serif;color:#fff}.footgrid h4{color:#fff;margin-top:0}.footgrid a,.footgrid span{display:block;color:#c4b995;text-decoration:none;font-size:12px;margin:7px 0}.footgrid p{font-size:13px}.copy{margin-top:32px;border-top:1px solid #25262a;padding-top:20px;font-size:11px}.flashwrap{position:fixed;top:95px;left:50%;transform:translateX(-50%);z-index:99}.flash{padding:12px 18px;background:#fff;border:1px solid #c3bba9;box-shadow:0 5px 20px #0002}
@media(max-width:950px){nav{display:none;position:absolute;top:84px;left:0;right:0;background:#0b0c10;padding:18px;flex-direction:column;align-items:stretch}.navwrap.open nav{display:flex}.dropdown>div{display:grid;position:static;background:transparent;border:0}.menu{display:block}.split,.contactgrid,.formgrid{grid-template-columns:1fr}.tiers,.outcomes{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr 1fr}.footgrid{grid-template-columns:1fr 1fr}.heroinner{padding:90px 0 75px}}
@media(max-width:620px){.section{padding:64px 0}.tiers,.outcomes,.steps,.steps.six,.row,.footgrid{grid-template-columns:1fr}.hero h1{font-size:45px}.pagehero h1{font-size:41px}.leadform{padding:22px}.brand small{display:none}}

/* SentinelRiskIQ Secure Portal */

.portal-hero {
    background:
      radial-gradient(
        circle at 80% 20%,
        #302337 0,
        #13151b 40%,
        #07080b 75%
      );
    color: white;
    padding: 70px 0;
}

.portal-hero h1 {
    font-family: Cinzel, serif;
    font-size: clamp(38px, 5vw, 58px);
    margin: 10px 0;
}

.portal-hero p {
    color: #cbc6bc;
}

.portal-login-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
}

.portal-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 55px;
}

.portal-card {
    display: block;
    text-decoration: none;
    background: #111318;
    border: 1px solid #302d29;
    padding: 28px;
}

.portal-card span {
    display: block;
    color: #bfa45e;
    text-transform: uppercase;
    letter-spacing: .13em;
    font-size: 10px;
}

.portal-card strong {
    display: block;
    color: white;
    margin-top: 8px;
    font-family: Cinzel, serif;
    font-size: 19px;
}

.portal-section {
    margin-top: 25px;
}

.assessment-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    text-decoration: none;
    color: #171719;
    background: white;
    border: 1px solid #ded7ca;
    padding: 20px;
    margin-bottom: 10px;
}

.assessment-row strong,
.assessment-row small {
    display: block;
}

.assessment-row small {
    color: #6d675d;
    margin-top: 4px;
}

.assessment-row > span {
    color: #816a38;
    font-weight: 700;
}

.empty-state {
    background: #f0ebe2;
    border-left: 3px solid #c4a45b;
    padding: 32px;
}

.assessment-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 35px;
}

.assessment-summary > div,
.account-card > div {
    background: white;
    border: 1px solid #ded7ca;
    padding: 24px;
}

.assessment-summary span,
.account-card span {
    display: block;
    color: #766d60;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 10px;
    margin-bottom: 8px;
}

.assessment-summary strong,
.account-card strong {
    display: block;
    font-family: Cinzel, serif;
}

.account-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

@media(max-width: 850px) {

    .portal-login-grid,
    .portal-actions,
    .assessment-summary,
    .account-card {
        grid-template-columns: 1fr;
    }

}

/* Phase 2.4F Assessment Workspace */

.assessment-kpis {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 12px;
    margin-bottom: 18px;
}

.assessment-kpis > div {
    background: #111318;
    color: white;
    padding: 22px;
    border: 1px solid #2d3036;
}

.assessment-kpis span {
    display: block;
    color: #aaa399;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.assessment-kpis strong {
    display: block;
    font-family: Cinzel,serif;
    font-size: 28px;
    color: #e2c77f;
    margin-top: 6px;
}

.progress-track,
.mini-progress {
    background: #ded8cc;
    height: 7px;
    overflow: hidden;
}

.progress-fill,
.mini-progress div {
    background: #b9974d;
    height: 100%;
}

.framework-summary {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 15px;
}

.framework-summary > div {
    background: #f0ebe2;
    border: 1px solid #ddd4c4;
    padding: 24px;
}

.framework-summary strong,
.framework-summary span {
    display: block;
}

.section-card {
    display: block;
    background: white;
    border: 1px solid #ded7ca;
    padding: 22px;
    margin-bottom: 12px;
    text-decoration: none;
    color: #171719;
}

.section-card-main {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.section-card-main strong,
.section-card-main small {
    display: block;
}

.section-card-main small {
    color: #6e675d;
    margin-top: 4px;
}

.section-card-main > span {
    color: #8b713a;
    font-weight: 700;
}

.section-stats {
    display: flex;
    gap: 18px;
    margin-top: 10px;
    font-size: 11px;
    color: #676158;
}

.control-list {
    margin-top: 30px;
}

.control-row {
    display: grid;
    grid-template-columns: 130px 1fr 120px;
    gap: 20px;
    align-items: center;
    background: white;
    border: 1px solid #ddd6ca;
    padding: 18px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #171719;
}

.control-code span,
.control-code strong {
    display: block;
}

.control-code span {
    color: #826c3c;
    font-size: 9px;
    letter-spacing: .11em;
}

.control-description strong {
    font-size: 13px;
}

.control-description small {
    display: block;
    color: #716b62;
    margin-top: 5px;
}

.control-status {
    text-align: right;
}

.control-status span {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    padding: 6px 9px;
    letter-spacing: .08em;
}

.status-met {
    background: #e6eee7;
    color: #315b39;
}

.status-not-met {
    background: #f5e5e3;
    color: #832d28;
}

.status-progress {
    background: #f0ead8;
    color: #785f22;
}

.status-new {
    background: #eceae6;
    color: #69645b;
}

.control-workspace {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 55px;
}

.requirement-panel {
    margin-top: 30px;
    background: #efeadf;
    padding: 28px;
    border-left: 3px solid #b9964d;
}

.requirement-panel h2 {
    font-size: 25px;
}

.guidance-text {
    white-space: pre-wrap;
    font: 12px Inter,sans-serif;
    background: #fff;
    padding: 18px;
}

.control-form {
    background: white;
    border: 1px solid #ddd5c8;
    padding: 30px;
}

.control-form h3 {
    font-family: Cinzel,serif;
}

.control-form hr {
    border: 0;
    border-top: 1px solid #ddd6c9;
    margin: 30px 0;
}

@media(max-width:900px) {

    .assessment-kpis {
        grid-template-columns: 1fr 1fr;
    }

    .framework-summary,
    .control-workspace {
        grid-template-columns: 1fr;
    }

    .control-row {
        grid-template-columns: 1fr;
    }

    .control-status {
        text-align: left;
    }

}

@media(max-width:550px) {

    .assessment-kpis {
        grid-template-columns: 1fr;
    }

}

/* SentinelRiskIQ Healthcare Assessment Domain Cards */
.black .healthcare-domain-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.black .healthcare-domain-grid > div {
  position: relative;
  min-height: 230px;
  padding: 30px 28px;
  overflow: hidden;
  background: linear-gradient(
    145deg,
    rgba(18, 34, 64, 0.98),
    rgba(8, 18, 36, 0.98)
  );
  border: 1px solid rgba(94, 145, 255, 0.30);
  border-top: 4px solid #1f65d6;
  border-radius: 4px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
  color: #ffffff;
}

.black .healthcare-domain-grid > div::after {
  content: "";
  position: absolute;
  right: -45px;
  bottom: -55px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: rgba(34, 103, 219, 0.10);
}

.black .healthcare-domain-grid h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 14px;
  color: #ffffff;
  font-family: Inter, sans-serif;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.35;
}

.black .healthcare-domain-grid p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(237, 243, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.75;
}

@media (max-width: 1000px) {
  .black .healthcare-domain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .black .healthcare-domain-grid {
    grid-template-columns: 1fr;
  }

  .black .healthcare-domain-grid > div {
    min-height: auto;
  }
}

