.container {width:min(var(--width),calc(100% - 80px));margin-inline:auto;}
.site-header {background:#fff;position:relative;z-index:20;border-bottom:1px solid #e9ecf3;}
.header-top {height:76px;display:flex;align-items:center;justify-content:space-between;}
.brand {display:block;width:280px;flex-shrink:0;}
.brand img {width:100%;height:auto;}
.header-tools {display:flex;align-items:center;gap:28px;font-size:13px;}
.language {font-weight:700;}
.contact-top {font-size:12px;letter-spacing:.06em;color:#637085;border-left:1px solid #d5dae4;padding-left:26px;}
.menu-toggle {width:30px;height:32px;padding:5px 2px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:space-around;}
.menu-toggle span {width:24px;height:2px;background:var(--navy);transition:.2s;}
.menu-toggle[aria-expanded=true] span:first-child {transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded=true] span:nth-child(2) {opacity:0;}
.menu-toggle[aria-expanded=true] span:last-child {transform:translateY(-7px) rotate(-45deg);}
.desktop-nav {display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:45px;}
.desktop-nav a {font-size:14px;font-weight:600;line-height:1.3;min-height:45px;display:flex;align-items:center;border-bottom:3px solid transparent;letter-spacing:-.035em;}
.desktop-nav a:hover,.desktop-nav a[aria-current=page] {color:#2055a4;border-bottom-color:#2466b4;}
.site-menu {position:absolute;left:0;right:0;background:#fff;box-shadow:0 18px 25px #07122b20;border-top:1px solid var(--line);}
.site-menu[hidden] {display:none;}
.menu-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:32px;}
.menu-grid a {padding:18px;border:1px solid var(--line);border-radius:5px;}
.menu-grid a:hover {background:var(--pale);}
.menu-grid span {display:block;font-weight:700;}
.menu-grid small {display:block;font-size:14px;color:var(--muted);margin-top:6px;}
.skip-link {position:fixed;z-index:50;top:-100px;left:20px;background:white;padding:12px;}
.skip-link:focus {top:10px;}
.hero {background:#040e20;isolation:isolate;position:relative;color:#fff;background-image:linear-gradient(90deg,#020b18c9 0%,#020b1840 49%,#020b1800 80%),var(--hero-image);background-size:cover;background-position:center;overflow:hidden;}
.hero-inner {min-height:490px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:65px;}
.hero-copy {max-width:780px;}
.hero-eyebrow {color:#cce6f6;font-size:14px;letter-spacing:.035em;margin-bottom:14px;}
.hero h1 {font-size:56px;font-weight:750;color:#fff;letter-spacing:-.035em;line-height:1.15;}
.hero h1 span {color:#9fdef3;}
.hero-sub {color:#e7effa;font-size:21px;margin-top:14px;line-height:1.5;}
.hero-desc {color:#f1f3f7;font-size:19px;line-height:1.75;max-width:620px;margin-top:28px;}
.hero .button {margin-top:28px;}
.hero-words {color:#edf6ff;font-size:20px;line-height:1.8;align-self:flex-end;min-width:110px;text-shadow:0 2px 14px #020918;padding-bottom:8px;}
.purple h1 {color:#d0a6f3;font-size:72px;}
.purple .hero-sub {color:#e1beff;}
.home-hero .hero-inner {min-height:525px;}
.home-hero h1 {font-size:54px;line-height:1.24;}
.home-hero .hero-sub {font-size:18px;color:#b7e2f6;margin-top:18px;}
.home-hero .hero-desc {margin-top:25px;}
.hero.vapt-hero .hero-sub {max-width:680px;font-size:18px;}
.hero.vapt-hero .hero-desc {max-width:620px;}
.button {display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:45px;padding:8px 25px;border:1px solid;border-radius:50px;font-size:15px;line-height:1.5;transition:background .2s,transform .2s;}
.button:hover {transform:translateY(-2px);}
.button-light {border-color:#ffffffb8;color:#fff;background:#06101d3d;}
.button-light:hover {background:#ffffff20;}
.button-dark {color:var(--navy);border-color:#b8c4d9;}
.button-dark:hover {background:#edf3fb;}
.section {padding:65px 0;}
.section.compact {padding:36px 0;}
.section-heading {text-align:center;margin-bottom:34px;}
.section-heading h2 {font-size:32px;font-weight:750;}
.section-heading p {font-size:16px;line-height:1.7;margin-top:14px;color:#4f576d;}
.eyebrow {display:block;color:#4e78ab;font-size:13px;letter-spacing:.1em;font-weight:700;margin-bottom:14px;}
.pale,.services {background:#f7f9fc;}
.service-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.service-card {position:relative;isolation:isolate;min-height:268px;overflow:hidden;border:1px solid #dde3ee;border-radius:8px;padding:28px 25px;background:#e9eff4;transition:transform .2s,box-shadow .2s;}
.service-card:before {content:"";position:absolute;inset:0;z-index:-2;background-image:var(--card-image);background-position:center;background-size:cover;transition:transform .5s}   
.service-card:after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f0f4fadf 0%,#eff4facc 40%,#d8e6f34d 70%,#10253919 100%);}
.service-card:hover {transform:translateY(-4px);box-shadow:0 10px 25px #102b4914;}
.service-card:hover:before {transform:scale(1.04);}
.card-index {font-size:16px;font-weight:600;color:#162459;display:block;margin-bottom:18px;}
.service-card h3 {font-size:23px;line-height:1.2;max-width:85%;margin-bottom:16px;}
.service-card strong {font-size:15px;font-weight:700;display:block;max-width:85%;}
.service-card p {font-size:14px;color:#263657;max-width:80%;margin-top:6px;}
.card-plus {position:absolute;right:17px;bottom:17px;width:34px;height:34px;border:1px solid #fff;border-radius:50%;background:#05234c;color:#fff;text-align:center;line-height:29px;font-size:25px;font-weight:300;}
.card-hound:before,.card-ai:before {background-size:auto 100%;background-position:78% center;}
.card-server:before {background-position:70% center;}
.card-industry:before {background-position:right center;}
.features {display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center;}
.features article {min-width:0;}
.icon {width:38px;height:38px;flex-shrink:0;display:inline-block;vertical-align:middle;}
.icon-circle {display:flex;margin:0 auto 18px;width:76px;height:76px;align-items:center;justify-content:center;background:#f1f5fa;border:1px solid #dde5f0;border-radius:50%;color:#102d6b;}
.features h3 {font-size:18px;letter-spacing:-.025em;margin-bottom:9px;}
.features p {font-size:15px;line-height:1.7;color:#4c5672;}
.purple-icons .icon-circle {background:#f2eaff;border:0;color:#6933c5;}
.compact .features .icon-circle {width:64px;height:64px;}
.why {padding-block:65px 72px;}
.cta {position:relative;isolation:isolate;background:#031322;color:white;background-image:linear-gradient(90deg,#021322e6,#061a328c),var(--cta-image);background-position:center 63%;background-size:cover;padding:50px 0;}
.cta .container {display:flex;justify-content:space-between;align-items:center;gap:28px;}
.cta h2 {color:white;font-size:30px;line-height:1.35;font-weight:500;}
.cta h2 strong {font-weight:700;}
.cta p {color:#dce7f3;margin-top:12px;font-size:16px;}
.cta .button {flex-shrink:0;}
.site-footer {padding:34px 0 22px;background:#fff;}
.footer-main {display:flex;align-items:flex-start;gap:42px;padding-bottom:32px;}
.footer-main .brand {width:230px;}
.footer-main nav {display:flex;flex-wrap:wrap;gap:10px 22px;max-width:700px;flex:1;padding-top:5px;}
.footer-main nav a {font-size:12px;color:#50576a;}
.footer-main nav a:hover {text-decoration:underline;}
.footer-mail {width:37px;height:37px;border-radius:50%;background:#f3f5f8;display:grid;place-items:center;}
.footer-mail .icon {width:19px;height:19px;}
.footer-bottom {display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e9edf3;padding-top:20px;color:#737c8b;font-size:12px;}
.architecture {display:flex;align-items:center;gap:18px;min-height:235px;padding:26px;background:linear-gradient(115deg,#f7f9fb,#edf3f9);border:1px solid #e6eaf2;border-radius:7px;}
.arch-node {display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:14px;flex:1;min-width:95px;}
.arch-node b {font-size:15px;}
.arch-node .icon {width:44px;height:44px;color:#064979;}
.arch-node small {font-size:13px;color:#5c6880;line-height:1.45;}
.arch-node.dark {background:linear-gradient(140deg,#164875,#071b37);color:white;padding:22px 12px;border-radius:7px;box-shadow:0 5px 12px #163b5820;}
.arch-node.dark .icon,.arch-node.dark small {color:#d9ebff;}
.arch-stack {display:grid;gap:14px;flex:1.1;}
.arch-stack .arch-node {padding:16px 12px;gap:4px;}
.connector {font-size:24px;color:#184267;}
.arch-zones {display:grid;grid-template-columns:repeat(3,1fr);flex:3;gap:16px;}
.arch-zones>small {grid-column:1/-1;text-align:center;border-top:1px solid #c4d2e4;padding-top:12px;font-size:13px;color:#466380;}
.flow {display:grid;grid-template-columns:repeat(5,1fr);gap:28px;list-style:none;padding:0;margin:0;}
.flow li {position:relative;border:1px solid #dce4ef;border-radius:7px;padding:20px 19px;background:#fff;min-width:0;}
.flow li:not(:last-child):after {content:"›";position:absolute;right:-23px;top:50%;transform:translateY(-50%);color:#173d70;font-size:34px;line-height:1;}
.flow .step-number {display:block;font-size:13px;font-weight:600;margin-bottom:12px;}
.flow .icon {width:30px;height:30px;display:block;margin-bottom:14px;color:#164d80;}
.flow h3 {font-size:16px;line-height:1.3;letter-spacing:-.015em;}
.flow p {font-size:14px;margin-top:9px;}
.highlight-third li:nth-child(3) {border-color:#9866e9;background:#f4eefe;}
.highlight-third li:nth-child(3) .icon {color:#7137c8;}
.engines {display:grid;grid-template-columns:1fr 1fr;position:relative;isolation:isolate;gap:90px;align-items:stretch;min-height:295px;}
.engine {border:1px solid;padding:35px 40px;position:relative;}
.stinger {background:linear-gradient(105deg,#c89dff 0%,#e5d8ff 70%,#f8f5ff);border-color:#ccb0ff;border-radius:14px 115px 115px 14px;padding-right:90px;}
.starfort {background:linear-gradient(100deg,#eefeff,#c7f3f7);border-color:#83daec;border-radius:115px 14px 14px 115px;padding-left:100px;}
.engine-name {display:flex;align-items:center;gap:12px;margin-bottom:7px;}
.engine-name h3 {font-size:30px;letter-spacing:-.04em;}
.stinger .icon {color:#6026c3;}
.starfort .icon {color:#0197ad;}
.engine strong {font-size:16px;color:#192c6a;line-height:1.5;display:block;}
.engine p {font-size:16px;margin-top:18px;color:#24366d;}
.small-link {font-size:14px;display:inline-block;border:1px solid #929ccd66;padding:5px 20px;border-radius:30px;margin-top:20px;}
.small-link:hover {background:#ffffff70;}
.engine-hub {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:230px;height:230px;border:1px solid #8bc9f2;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(circle,#104888 0%,#086991 55%,#effaff 56%,#fff 62%,#edf9ffb3 63%,#ffffff7d 72%);color:white;z-index:1;}
.engine-hub b {font-size:27px;line-height:1.1;letter-spacing:-.04em;}
.engine-hub small {font-size:12px;margin-top:9px;}
.platform-flow {grid-template-columns:repeat(4,1fr);border:1px solid #cfe1f7;background:linear-gradient(110deg,#f4f7ff,#eefaff);border-radius:8px;padding:28px 18px;gap:30px;}
.platform-flow li {background:transparent;border:0;text-align:center;padding:0 12px;}
.platform-flow .step-number {display:none;}
.platform-flow .icon {margin:0 auto 17px;width:40px;height:40px;}
.platform-flow li:nth-child(2) .icon {color:#733fd0;}
.platform-flow li:nth-child(3) .icon {color:#00a4b7;}
.platform-flow li:not(:last-child):after {right:-21px;content:"→";font-size:24px;top:30px;}
.purple-loop {max-width:980px;position:relative;margin:auto;}
.purple-loop svg {width:100%;height:auto;display:block;}
.loop-center {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:#fff;padding:12px 14px;font-size:14px;line-height:1.7;border-radius:50%;color:#254178;}
.diagram-caption {text-align:center;font-size:14px;color:#365381;margin-top:0;}
.engine-details {display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.engine-details article {scroll-margin-top:35px;}
.engine-details h2 {font-size:28px;line-height:1.4;margin-bottom:20px;}
.engine-details p {font-size:16px;}
.engine-details ul {padding-left:20px;color:#4d5974;font-size:15px;margin-bottom:0;}
.engine-details li {margin-top:7px;}
.engine-details article:first-child .eyebrow {color:#7935c3;}
.engine-details article:last-child .eyebrow {color:#087d91;}
.detail-cards {display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.detail-card {position:relative;padding:30px;border:1px solid #dde5ee;border-radius:8px;background:linear-gradient(135deg,#fff,#f6f9fc);}
.detail-card>.icon {position:absolute;right:28px;top:28px;color:#276397;}
.detail-card h3 {font-size:23px;margin-top:30px;margin-bottom:17px;}
.detail-card p {font-size:16px;}
.detail-card ul {margin:22px 0 0;padding:18px 0 0;border-top:1px solid #e0e6ef;list-style:none;font-size:14px;color:#56627a;}
.detail-card li {margin-top:8px;padding-left:12px;position:relative;}
.detail-card li:before {content:"";width:3px;height:3px;background:#46759e;position:absolute;left:0;top:11px;}
.page-pci_assessment .detail-cards {grid-template-columns:repeat(4,1fr);}
.iec-framework {display:grid;grid-template-columns:1fr 2.3fr;gap:26px;}
.iec-core {background:linear-gradient(150deg,#082147,#145380);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;color:#fff;}
.iec-core span {font-size:12px;letter-spacing:.09em;color:#a9cee9;}
.iec-core strong {font-size:58px;line-height:1.13;margin:24px 0;letter-spacing:-.02em;}
.iec-core p {color:#c6e2f6;font-size:16px;}
.iec-levels {display:grid;gap:13px;}
.iec-levels article {display:flex;gap:24px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dae5f0;border-radius:7px;padding:23px;}
.iec-levels article>span {font-size:15px;color:#1c6491;font-weight:700;min-width:140px;}
.iec-levels article>div {flex:1;}
.iec-levels h3 {font-size:20px;}
.iec-levels p {font-size:14px;margin-top:5px;}
.iec-levels .icon {color:#266b97;width:30px;height:30px;}
.bridge {display:grid;grid-template-columns:1.3fr 1fr;gap:45px;align-items:center;}
.bridge h2 {font-size:32px;line-height:1.4;margin-bottom:18px;}
.bridge p {margin-bottom:23px;}
.bridge-product {padding:40px 30px;text-align:center;background:linear-gradient(135deg,#e9dcff,#f5f1fd);border:1px solid #d2b7ee;border-radius:10px;}
.bridge-product>.icon {width:65px;height:65px;color:#743eca;margin-bottom:20px;}
.bridge-product span {display:block;font-size:12px;letter-spacing:.04em;color:#7955a6;}
.bridge-product strong {display:block;font-size:39px;letter-spacing:-.04em;color:#713fae;}
.bridge-product p {font-size:13px;margin:10px 0 0;}
.page-about_rock_solution .flow {grid-template-columns:repeat(4,1fr);}
.contact-block {display:flex;align-items:center;justify-content:space-between;gap:35px;}
.contact-block h2 {font-size:34px;line-height:1.4;}
.contact-block p {margin-top:20px;}
.contact-block>a {display:flex;align-items:center;gap:25px;background:white;border:1px solid #dbe4f1;padding:30px;border-radius:8px;}
.contact-block>a>span {font-size:14px;color:#68809a;}
.contact-block strong {display:block;color:#164478;font-size:23px;}
.contact-block>a>b {font-size:28px;font-weight:400;margin-left:20px;}
.page-ai_trism .cta {background-position:center 43%;}

@media (min-width:1600px) {
	.hero-inner {min-height:530px;}
	.home-hero .hero-inner {min-height:565px;}
}

@media (max-width:1200px) {
	.container {width:calc(100% - 56px);}
	.desktop-nav {gap:12px;}
	.desktop-nav a {font-size:12px;}
	.hero h1 {font-size:47px;}
	.purple h1 {font-size:64px;}
	.hero-copy {max-width:740px;}
	.hero-words {font-size:17px;}
	.engine {padding:30px;}
	.stinger {padding-right:90px;}
	.starfort {padding-left:90px;}
	.engine-hub {width:195px;height:195px;}
	.engine-hub b {font-size:24px;}
	.engines {gap:50px;}
	.engine strong,.engine p {font-size:14px;}
	.architecture {gap:12px;padding:22px 15px;}
	.arch-node {min-width:70px;}
	.arch-node b {font-size:13px;}
	.page-pci_assessment .detail-cards {grid-template-columns:repeat(2,1fr);}
	.service-card h3 {font-size:21px;}
	.flow {gap:22px;}
	.flow li {padding:18px 14px;}
	.flow li:not(:last-child):after {right:-20px;}
	.footer-main {gap:25px;}
	.footer-main .brand {width:200px;}
	.iec-levels article {gap:16px;}
	.iec-levels article>span {min-width:130px;}
}

@media (max-width:900px) {
	.header-top {height:74px;}
	.brand {width:240px;}
	.desktop-nav {display:none;}
	.hero-inner {min-height:455px;}
	.hero {background-position:60% center;}
	.hero h1,.home-hero h1 {font-size:43px;}
	.hero-copy {max-width:610px;}
	.hero-words {display:none;}
	.hero-desc {font-size:17px;max-width:500px;}
	.hero-sub {font-size:18px;}
	.hero .hero-copy {padding-right:50px;}
	.hero .hero-inner {background:linear-gradient(90deg,#06102250,transparent);}
	.service-card {min-height:245px;padding:22px 18px;}
	.service-card h3 {font-size:19px;}
	.service-card strong {font-size:14px;}
	.service-card p {font-size:13px;}
	.features {gap:20px;}
	.features h3 {font-size:16px;}
	.features p {font-size:14px;}
	.section {padding:48px 0;}
	.section-heading h2 {font-size:28px;}
	.architecture {flex-wrap:wrap;gap:14px;}
	.arch-zones {flex-basis:100%;border-top:1px solid #d8e1ed;padding-top:25px;}
	.architecture>.connector:last-of-type {display:none;}
	.flow {gap:18px;}
	.flow h3 {font-size:14px;}
	.flow p {font-size:13px;}
	.flow li:not(:last-child):after {right:-17px;font-size:27px;}
	.engines {gap:20px;}
	.engine {padding:25px;}
	.engine-hub {width:165px;height:165px;}
	.engine-hub b {font-size:20px;}
	.engine-hub small {font-size:10px;}
	.stinger {padding-right:65px;}
	.starfort {padding-left:65px;}
	.engine-name {gap:7px;}
	.engine-name .icon {width:28px;height:28px;}
	.engine-name h3 {font-size:25px;}
	.engine strong {max-width:180px;}
	.detail-cards {gap:15px;}
	.detail-card {padding:25px;}
	.detail-card h3 {font-size:21px;}
	.detail-card p {font-size:15px;}
	.iec-framework {grid-template-columns:1fr 2.2fr;}
	.iec-levels article {flex-wrap:wrap;padding:18px;}
	.iec-levels article>span {width:100%;}
	.iec-levels h3 {font-size:17px;}
	.engine-details {gap:38px;}
	.engine-details h2 {font-size:25px;}
	.bridge {gap:25px;}
	.bridge h2 {font-size:28px;}
	.bridge-product strong {font-size:31px;}
	.contact-block {align-items:flex-start;flex-direction:column;}
	.footer-main {flex-wrap:wrap;}
	.footer-main nav {max-width:none;}
	.cta h2 {font-size:27px;}
	.cta p {font-size:14px;}
	.menu-grid {grid-template-columns:repeat(2,1fr);}
	
	.service-grid {grid-template-columns:repeat(2,1fr);}
}

@media(prefers-reduced-motion:reduce) {
	html {scroll-behavior:auto;}
	*,*:before {transition:none!important;}
}

.page-ot_product_security .hero,.page-ot_product_security .cta,.page-pci_assessment .hero,.page-pci_assessment .cta,.page-information_security .hero,.page-information_security .cta,.page-vapt_risk_assessment .hero,.page-vapt_risk_assessment .cta {background-color:#143858; background-blend-mode:normal,luminosity;}
.card-industry:before {filter:grayscale(1);}
.card-industry:after {background:linear-gradient(90deg,#eef3faed,#e2edf2b0 45%,#5084a84d);}
.mobile-loop {display:none;}

@media(max-width:640px) {
	.purple-loop>svg,.purple-loop>.loop-center {display:none;}
	.mobile-loop {display:grid;gap:14px;margin:0 12px;text-align:center;}
	.mobile-loop>div {border:8px solid #e7d9fc;border-radius:70px;padding:22px;background:#fcfaff;}
	.mobile-loop>div:nth-of-type(2) {border-color:#cceef5;background:#f8feff;}
	.mobile-loop b {font-size:20px;display:block;}
	.mobile-loop span,.mobile-loop small {font-size:14px;display:block;}
	.mobile-loop p {font-size:14px;color:#526c99;}
}

.language-switch {display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap;}
.language-switch a {color:#68778b;}
.language-switch a[aria-current=page] {font-weight:700;color:#0b1545;}
.language-switch a:hover {text-decoration:underline;}
.language-switch span {color:#c3cbd6;}

@media(max-width:640px) {
	.header-tools {gap:14px;}
	.language-switch {gap:7px;font-size:11px;}
	.header-top>.brand {width:190px;}
}

@media(max-width:360px) {
	.header-top>.brand {width:163px;}
	.header-tools {gap:9px;}
	.language-switch {gap:5px;}
}

/* Product hero: subtle infrastructure photograph beneath the existing subject. */
.page-bas_security_validation .hero::before,.page-ai_trism .hero::before {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url(../images/server.webp);background-size:cover;background-position:center 48%;filter:grayscale(1);opacity:.23;mix-blend-mode:screen;mask-image:linear-gradient(90deg,#000 0%,#000 38%,#0009 56%,transparent 78%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 38%,#0009 56%,transparent 78%);}
.service-card .service-summary {font-size:14px;line-height:1.5;margin-top:7px;max-width:88%;color:#172b50;}

@media(max-width:640px) {
	.service-card.card-ai p:not(.service-summary) {padding-bottom:0;}
	.service-card .service-summary {font-size:12px;max-width:100%;padding-bottom:30px;}
	.page-bas_security_validation .hero::before,.page-ai_trism .hero::before {opacity:.18;mask-image:linear-gradient(90deg,#000,#0008 48%,transparent 85%);-webkit-mask-image:linear-gradient(90deg,#000,#0008 48%,transparent 85%);}
}

/* AI-specific semiconductor background; preserve the existing AI portrait. */
.page-ai_trism .hero::before {background-image:url(../images/ai-circuit.webp);background-position:center;filter:none;opacity:.38;}

@media(max-width:640px) {
	.page-ai_trism .hero::before {opacity:.28;}
}

/* BAS hero typography aligned with the other service pages. */
.page-bas_security_validation .hero h1,.page-bas_security_validation .hero .hero-sub {color:#fff;}

/* Align the visible logo edge, accounting for the original PNG left margin (69/1536). */
.header-top .brand img {transform:translateX(-4.4921875%);}

/* Footer: a single row of page links and right-aligned copyright. */
.footer-main {gap:28px;align-items:center;}
.footer-main .brand {width:200px;}
.footer-main nav {display:flex;flex-wrap:nowrap;max-width:none;min-width:0;gap:16px;overflow-x:auto;padding:8px 0;scrollbar-width:thin;}
.footer-main nav a {flex-shrink:0;white-space:nowrap;}
.footer-bottom {justify-content:flex-end;text-align:right;flex-direction:row;}

@media(max-width:900px) {
	.footer-main nav {flex-basis:100%;order:3;width:100%;}
}

/* Company details and policy controls. */

.footer-bottom {justify-content:space-between;align-items:center;text-align:left;gap:24px;}
.footer-company p {margin:0;line-height:1.8;}
.footer-company p:first-child {color:#66758a;margin-bottom:4px;}
.footer-company p span {display:inline-block;margin-left:16px;}
.footer-policies {display:flex;gap:8px;flex-shrink:0;}
.footer-policies li a {font:inherit;color:#858b94;background:#f2f2f5;border:1px solid #f2f2f5;border-radius:6px;padding:12px 18px;display:flex;align-items:center;gap:24px;cursor:pointer;white-space:nowrap;}
.footer-policies li + li a {background:white;border-color:#dcdde1;}
.footer-policies li a span {color:#b9bbc0;}
.footer-policies li a:hover {color:#142b51;border-color:#9baabd;}
.footer-policies li a:focus-visible {outline:2px solid #246dad;outline-offset:3px;}
.policy-dialog {border:1px solid #dce3ee;border-radius:12px;padding:32px;width:min(480px,calc(100% - 36px));color:#172b50;}
.policy-dialog::backdrop {background:#07182a88;}
.policy-dialog h2 {font-size:23px;margin-bottom:18px;}
.policy-dialog form {text-align:right;margin-top:26px;}
.policy-dialog button {font:inherit;border:0;border-radius:5px;background:#102c50;color:white;padding:9px 24px;cursor:pointer;}

@media(max-width:1100px) {
	.footer-bottom {align-items:flex-start;flex-direction:column;}
	.footer-policies {flex-wrap:wrap;}
}

@media(max-width:640px) {
	.footer-company p span {display:block;margin-left:0;}
	.footer-policies {width:100%;gap:8px;}
	.footer-policies li a {padding:11px 12px;gap:12px;font-size:12px;}
	
	
	.footer-main {gap: 10px !important;}
	.footer-main nav {flex: 100% !important;}
}




#wrapper.sub1 .desktop-nav a:nth-of-type(1),
#wrapper.sub2 .desktop-nav a:nth-of-type(2),
#wrapper.sub3 .desktop-nav a:nth-of-type(3),
#wrapper.sub4 .desktop-nav a:nth-of-type(4),
#wrapper.sub5 .desktop-nav a:nth-of-type(5),
#wrapper.sub6 .desktop-nav a:nth-of-type(6),
#wrapper.sub7 .desktop-nav a:nth-of-type(7) {color:#2055a4;border-bottom-color:#2466b4;}



html[lang=en] body{word-break:normal;overflow-wrap:break-word;line-height:1.65}
html[lang=en] .home-hero h1{font-size:52px;max-width:760px;line-height:1.2}
html[lang=en] .home-hero .hero-copy{max-width:790px}
html[lang=en] .hero-desc{max-width:670px}
html[lang=en] .section-heading p{max-width:1040px;margin-inline:auto}
html[lang=en] .detail-card h3{font-size:22px}
html[lang=en] .service-card{min-height:280px}
html[lang=en] .service-card strong{max-width:85%;line-height:1.45}
html[lang=en] .service-card p{line-height:1.5}
html[lang=en] .features h3{font-size:17px;line-height:1.35}
html[lang=en] .features p{line-height:1.6}
html[lang=en] .engine-details h2{font-size:28px;line-height:1.3}
html[lang=en] .engine-details li{line-height:1.65}
html[lang=en] .arch-node small{font-size:12px}
html[lang=en] .arch-node.dark{padding-inline:10px}
html[lang=en] .flow h3{line-height:1.35}
html[lang=en] .flow p{line-height:1.5}
html[lang=en] .cta h2{font-size:30px}
html[lang=en] .cta p{max-width:910px}
html[lang=en] .loop-center{font-size:13px;padding:10px}
html[lang=en] .contact-block>div{max-width:600px}

@media(max-width:1200px){
html[lang=en] .hero h1{font-size:45px}
html[lang=en] .purple h1{font-size:64px}
html[lang=en] .home-hero h1{font-size:46px;max-width:700px}
html[lang=en] .service-card{min-height:275px}
html[lang=en] .cta h2{font-size:27px}
}

@media(max-width:900px){
	html[lang=en] .hero h1{font-size:41px}
	html[lang=en] .home-hero h1{font-size:42px}
	html[lang=en] .service-card{min-height:285px}
	html[lang=en] .service-card strong{max-width:100%;font-size:14px}
	html[lang=en] .service-card p{max-width:95%}
	html[lang=en] .detail-cards{grid-template-columns:1fr}
	html[lang=en] .page-pci_assessment .detail-cards{grid-template-columns:repeat(2,1fr)}
	html[lang=en] .iec-framework{grid-template-columns:1fr 2.5fr}
}

@media(max-width:640px){
	html[lang=en] .hero h1{font-size:34px}
	html[lang=en] .purple h1{font-size:43px}
	html[lang=en] .home-hero h1{font-size:36px}
	html[lang=en] .hero-desc{font-size:16px}
	html[lang=en] .hero-desc br{display:none}
	html[lang=en] .section-heading h2{font-size:25px}
	html[lang=en] .service-card{min-height:280px}
	html[lang=en] .service-card h3{font-size:17px}
	html[lang=en] .service-card strong{font-size:13px}
	html[lang=en] .service-card p{font-size:12px}
	html[lang=en] .features h3{font-size:16px}
	html[lang=en] .features p br{display:none}
	html[lang=en] .page-pci_assessment .detail-cards{grid-template-columns:1fr}
	html[lang=en] .iec-framework{grid-template-columns:1fr}
	html[lang=en] .cta h2{font-size:25px}
	html[lang=en] .cta p{font-size:14px}
	html[lang=en] .engine-details h2{font-size:25px}
	html[lang=en] .flow li{grid-template-columns:24px 30px 1fr;gap:4px 10px}
	html[lang=en] .arch-node{min-width:54px}
	html[lang=en] .arch-node small{font-size:12px}
	html[lang=en] .arch-node.dark{padding-inline:7px}
}

@media(max-width:640px){
	html[lang=en] .platform-flow li{grid-template-columns:40px minmax(0,1fr);gap:5px 14px}
	html[lang=en] .platform-flow h3,html[lang=en] .platform-flow p{grid-column:2}
	
}