/* d29-security - page-scoped part of the 0929 design. GENERATED by tools/port.py. */
.d29 .sc-kick {display: flex; align-items: center; gap: .7rem; margin-bottom: var(--stack-s);}
.d29 .sc-kick .eyebrow {color: var(--muted); margin: 0;}
.d29 .sc-kick .d29-picon {width: 28px; height: 28px; flex: none;}
.d29 .sc-kick .d29-picon rect[fill="#F2EDE3"] {fill: var(--ink);}
.d29 .split-text .sub + .d29-cta-row {margin-top: var(--stack-m);}
.d29 .sc-flow {margin: var(--stack-l) 0 0;}
.d29 .sc-flow-in {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1fr); gap: clamp(1rem, .5rem + 2vw, 2.5rem); align-items: center;}
.d29 .sc-node {background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(1.25rem, 1rem + 1vw, 2rem); align-self: stretch;}
.d29 .sc-k, .d29 .sc-gate-k {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted); margin-bottom: 1rem;}
.d29 .sc-chips {display: flex; flex-wrap: wrap; gap: .5rem;}
.d29 .sc-chips li {font-size: .9375rem; line-height: 1.3; padding: .45rem .8rem; border: 1px solid var(--rule); border-radius: 999px; color: var(--ink); background: var(--bg);}
.d29 .sc-small {margin-top: 1rem; font-size: var(--fs-small); color: var(--muted);}
.d29 .sc-gate {text-align: center;}
.d29 .sc-arrow {width: 100%; max-width: 118px; height: auto; margin: 0 auto 1rem; color: var(--muted); display: block;}
.d29 .sc-gate-k {color: var(--ink); margin-bottom: .75rem;}
.d29 .sc-gate-steps {display: grid; gap: .5rem; font-size: var(--fs-small); color: var(--text);}
.d29 .sc-gate-steps li {padding-top: .5rem; border-top: 1px solid var(--rule);}
.d29 .sc-cols {margin-top: var(--stack-l); row-gap: 1.25rem;}
.d29 .sc-cols p {grid-column: span 5; color: var(--text);}
.d29 .sc-cols p:first-child {grid-column: 2 / span 5;}
.d29 .sc-cols p:last-child {grid-column: 7 / span 5;}
.d29 .sc-rows {display: grid;}
.d29 .sc-rows li {padding-block: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); border-top: 1px solid var(--rule);}
.d29 .sc-rows li:last-child {border-bottom: 1px solid var(--rule);}
.d29 .sc-rows .ico {width: 28px; height: 28px; color: var(--ink); margin-bottom: 1rem;}
.d29 .sc-rows .h3 {margin-bottom: .75rem;}
.d29 .sc-rows p {max-width: var(--measure);}
.d29 .sc-meet-photo {aspect-ratio: 1 / 1; max-height: 40rem; object-position: 50% 40%;}
.d29 #firewall .panel {margin: 0;}
.d29 .sc-contact {font-size: var(--fs-body) !important; color: var(--text);}
.d29 .sc-contact a {color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 3px;}
@media (max-width: 960px){
.d29 .sc-flow-in {grid-template-columns: 1fr;}
.d29 .sc-arrow {transform: rotate(90deg); width: 64px; margin-block: .5rem 1rem;}
.d29 .sc-cols p:first-child, .d29 .sc-cols p:last-child {grid-column: 1 / -1;}
}
