q-style securitySectionStyle {
border: 1px solid #e5e7eb;
border-radius: 14px;
padding: 22px;
font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
max-width: 900px;
margin: 20px auto;
box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
q-style securityHeaderStyle {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 8px;
}
q-style securityIconStyle {
font-size: 28px;
}
q-style securityTitleStyle {
margin: 0;
font-size: 26px;
letter-spacing: .3px;
}
q-style securityLeadStyle {
margin: 6px 0 18px;
}
q-style securityTagRowStyle {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0 0 14px;
}
q-style securityTagStyle {
padding: 6px 10px;
border: 1px solid #e5e7eb;
border-radius: 999px;
font-size: 12px;
}
q-style securityListStyle {
margin: 0 0 16px 18px;
line-height: 1.6;
}
q-style securityMetricsGridStyle {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 18px 0;
}
q-style securityMetricCardStyle {
border: 1px solid #e5e7eb;
border-radius: 12px;
padding: 14px;
}
q-style securityMetricTitleStyle {
margin: 0 0 10px;
font-size: 14px;
color: #6b7280;
text-transform: uppercase;
letter-spacing: .08em;
}
q-style securityMetricTextStyle {
margin: 0 8px 10px 0;
font-weight: 600;
}
q-style securityRedTrackStyle {
height: 10px;
background: #fee2e2;
border-radius: 999px;
overflow: hidden;
}
q-style securityRedFillStyle {
width: 78%;
height: 100%;
background: #ef4444;
}
q-style securityGreenTrackStyle {
height: 10px;
background: #dcfce7;
border-radius: 999px;
overflow: hidden;
}
q-style securityGreenFillStyle {
width: 32%;
height: 100%;
background: #22c55e;
}
q-style securityDetailsStyle {
border: 1px solid #e5e7eb;
border-radius: 12px;
padding: 12px 14px;
margin: 6px 0 18px;
}
q-style securitySummaryStyle {
cursor: pointer;
font-weight: 600;
}
q-style securityPlanTextStyle {
margin-top: 8px;
color: #374151;
line-height: 1.6;
}
q-style securityOrderedListStyle {
margin: 0 0 0 18px;
}
q-style securityCtaRowStyle {
display: flex;
gap: 10px;
align-items: center;
flex-wrap: wrap;
}
q-style securityPrimaryButtonStyle {
background: #111827;
color: #fff;
border: 0;
border-radius: 10px;
padding: 10px 16px;
font-weight: 600;
cursor: pointer;
}
q-style securityMutedTextStyle {
color: #6b7280;
}
q-style securityFormStyle {
display: none;
margin-top: 12px;
padding: 12px;
border: 1px dashed #d1d5db;
border-radius: 10px;
}
q-style securityFieldsStyle {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
q-style securityInputStyle {
flex: 1 1 220px;
padding: 10px 12px;
border: 1px solid #d1d5db;
border-radius: 10px;
}
q-style securityWideInputStyle {
flex: 1 1 260px;
padding: 10px 12px;
border: 1px solid #d1d5db;
border-radius: 10px;
}
q-style securitySubmitButtonStyle {
background: #2563eb;
color: #fff;
border: 0;
border-radius: 10px;
padding: 10px 16px;
font-weight: 600;
cursor: pointer;
}
q-style securityDoneStyle {
display: none;
color: #065f46;
font-weight: 600;
}
q-theme securityTheme {
.security-section { securitySectionStyle }
.security-header { securityHeaderStyle }
.security-icon { securityIconStyle }
.security-title { securityTitleStyle }
.security-lead { securityLeadStyle }
.security-tags { securityTagRowStyle }
.security-tag { securityTagStyle }
.security-list { securityListStyle }
.security-metrics { securityMetricsGridStyle }
.security-metric-card { securityMetricCardStyle }
.security-metric-title { securityMetricTitleStyle }
.security-metric-text { securityMetricTextStyle }
.security-red-track { securityRedTrackStyle }
.security-red-fill { securityRedFillStyle }
.security-green-track { securityGreenTrackStyle }
.security-green-fill { securityGreenFillStyle }
.security-details { securityDetailsStyle }
.security-summary { securitySummaryStyle }
.security-plan { securityPlanTextStyle }
.security-plan-list { securityOrderedListStyle }
.security-cta { securityCtaRowStyle }
.security-primary-button { securityPrimaryButtonStyle }
.security-muted { securityMutedTextStyle }
.security-form { securityFormStyle }
.security-fields { securityFieldsStyle }
.security-input { securityInputStyle }
.security-wide-input { securityWideInputStyle }
.security-submit-button { securitySubmitButtonStyle }
.security-done { securityDoneStyle }
}
securityTheme {
section.w3-theme-bg.security-section {
id: "security-enhancements"
role: "region"
div.security-header {
span.security-icon { text { 🔒 } }
h2.security-title { text { Security Enhancements } }
}
p.security-lead {
text { Harden applications, implement robust access controls, and ship compliance updates without
slowing delivery. }
}
div.w3-theme-d3.security-tags {
span.security-tag { text { OWASP ASVS } }
span.security-tag { text { Zero Trust } }
span.security-tag { text { SOC 2 } }
span.security-tag { text { ISO 27001 } }
}
ul.w3-theme-d3.security-list {
li { text { Hardened configs: headers, TLS, secrets management, and dependency risk reduction. } }
li { text { Access controls: least privilege, MFA/SSO, and scoped API keys with rotation. } }
li { text { Compliance updates: evidence collection, policy gaps, and audit-ready artifacts. } }
}
div.w3-theme-d3.security-metrics {
div.security-metric-card {
h3.security-metric-title { text { Before } }
p.security-metric-text { text { High: 12 vulns • TTP: 21 days • MFA coverage: 38% } }
div.security-red-track {
div.security-red-fill { }
}
}
div.security-metric-card {
h3.security-metric-title { text { After } }
p.security-metric-text { text { High: 0 vulns • TTP: 48 hrs • MFA coverage: 96% } }
div.security-green-track {
div.security-green-fill { }
}
}
}
details.security-details {
summary.security-summary { text { What we do (quick plan) } }
div.security-plan {
ol.security-plan-list {
li { text { Threat model hot paths; review authZ/authN flows and data boundaries. } }
li { text { Harden: secure headers (CSP/HSTS), secret storage, dependency SCA, container/image
policies. } }
li { text { Access controls: RBAC/ABAC, token scopes, key rotation, least privilege IAM. } }
li { text { Compliance: map controls to SOC 2/ISO27001, produce evidence and remediation logs. } }
}
}
}
div.w3-theme-d2.security-cta {
button.security-primary-button {
id: "secCtaBtn"
type: "button"
text { Request a security checkup }
onclick { toggleSecForm(); }
}
span.security-muted { text { Lightweight review. Clear next steps. } }
}
form.security-form {
id: "secForm"
onsubmit {
event.preventDefault();
this.querySelector("[data-done]").style.display = "inline";
this.querySelector("[data-fields]").style.display = "none";
}
div.security-fields {
data-fields: ""
input.security-input {
name: "email"
type: "email"
required: "required"
placeholder: "security@company.com"
}
input.security-wide-input {
name: "scope"
type: "text"
placeholder: "App/Repo/Cloud acct (optional)"
}
button.security-submit-button {
type: "submit"
text { Send }
}
}
span.security-done {
data-done: ""
text { Thanks! We’ll follow up with a short checklist and recommendations. }
}
}
}
}