/* IP Security inherits shared technology hero, typography, chapters and FAQ. */
.ips-page main :is(h1,h2,h3,h4,p,a,li,dt,dd){overflow-wrap:anywhere}
.ips-page main :is(section,article,figure,details,div){min-width:0}
.ips-page .td-hero-copy h1{hyphens:auto}
.ips-hero-art{background:transparent!important}
.ips-hero-art>svg{position:absolute;inset:0;width:100%;height:calc(100% - 48px)}
.ips-flow{animation:ips-flow 12s linear infinite paused}.ip-animation-active .ips-flow{animation-play-state:running}@keyframes ips-flow{to{stroke-dashoffset:-324}}
.ips-page main p,.ips-page main dd,.ips-page main li{color:var(--body-text);line-height:1.75}
.ips-page .td-hero-copy p,.ips-page .ip-contact p{color:var(--body-text-on-dark)}
/* Five distinct body compositions; global type and surfaces remain authoritative. */
.ips-legacy{display:block;position:relative;top:-1px;scroll-margin-top:160px}
.ips-definition-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:7%;align-items:start}
.ips-definition h2{margin:0}.ips-definition-head p{margin:0 0 24px}.ips-definition-lead{border-left:3px solid var(--cyan);padding-left:24px}
.ips-asset-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:42px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.ips-asset-strip>div{position:relative;padding-left:54px}.ips-asset-strip dt{font-family:var(--font-display);font-weight:700;color:var(--ip-navy);margin-bottom:12px}.ips-asset-strip dd{margin:0}
.ips-asset-mark{position:absolute;left:0;top:1px;width:30px;height:38px;border:1px solid #5697ab;background:linear-gradient(90deg,transparent 8px,#b7d9e2 8px,#b7d9e2 9px,transparent 9px),linear-gradient(0deg,transparent 9px,#b7d9e2 9px,#b7d9e2 10px,transparent 10px);box-shadow:5px 5px 0 var(--pale)}
.ips-asset-mark:after{content:'';position:absolute;left:13px;top:10px;width:18px;height:18px;border:1px solid #168fa1;transform:rotate(30deg);background:#fff}
.ips-asset-mark-1{border-radius:50%;height:30px;background:transparent}.ips-asset-mark-1:after{border-radius:50%;left:16px;top:17px;width:15px;height:15px}
.ips-asset-mark-2:after{left:9px;top:13px;width:22px;height:2px;transform:none;border:0;background:#168fa1;box-shadow:0 7px 0 #83b5c2}
.ips-implementation{background:var(--pale)}
.ips-implementation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:6%;align-items:start}
.ips-implementation figure{margin:0;position:sticky;top:175px}.ips-implementation img{display:block;width:100%;height:auto}.ips-implementation figcaption{line-height:1.6;color:var(--body-text);padding:20px 0;border-bottom:1px solid #b5d0da;margin-bottom:24px}
.ips-implementation dl{margin:0;border-left:1px solid #9fbfc9;padding-left:32px}.ips-implementation dl>div{position:relative;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid #b5d0da}.ips-implementation dl>div:last-child{padding-bottom:0;margin-bottom:0;border:0}
.ips-implementation dt{font-family:var(--font-display);font-weight:700;margin-bottom:12px;color:var(--ip-navy)}.ips-implementation dt:before{content:'';position:absolute;left:-38px;top:6px;width:10px;height:10px;background:#fff;border:1px solid #29879c;transform:rotate(45deg)}.ips-implementation dd{margin:0}
.ips-data-centric{background:var(--ip-navy);color:#fff}.ips-data-centric h2,.ips-data-centric h3{color:#fff}.ips-data-centric h2 em,.ips-data-centric .ip-label{color:var(--cyan)}.ips-page .ips-data-centric p{color:var(--body-text-on-dark)}
.ips-data-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:start}.ips-data-intro p:last-child{margin-bottom:0}
.ips-data-map{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(140px,.65fr) minmax(0,.9fr);align-items:center;gap:28px;margin:44px 0 36px;padding:34px 42px;background:linear-gradient(115deg,#103e53,#082f43);border:1px solid #376376;box-shadow:inset 0 0 0 8px #0a3043}
.ips-map-source{display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;padding:18px;border:1px dashed #699baa;border-radius:8px;color:#c6dfe8}.ips-map-source svg{width:84px;height:84px;color:var(--cyan)}.ips-map-source strong{font-family:var(--font-display);font-weight:700;color:#fff}
.ips-map-gate{display:flex;align-items:center;gap:15px;flex-direction:column;text-align:center;color:#a9dce9;line-height:1.6}.ips-map-gate i{display:block;width:1px;height:22px;background:#80c4d6}.ips-map-gate:before,.ips-map-gate:after{content:'';width:100%;height:1px;background:linear-gradient(90deg,transparent,#7bc4d4,transparent)}
.ips-data-map ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}.ips-data-map li{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #426b7a;color:#e3f1f5!important}.ips-map-node{flex:0 0 14px;height:14px;border:1px solid #87c3d0;transform:rotate(45deg);box-shadow:0 0 0 5px #103f53}
.ips-data-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.ips-data-readings article+article{border-left:1px solid #426b7a;padding-left:30px}.ips-data-readings h3{margin-bottom:16px}.ips-data-readings p{margin:0}
.ips-related-row{display:flex;flex-wrap:wrap;gap:24px 40px;margin-top:36px;padding-top:26px;border-top:1px solid #426b7a}.ips-data-centric .ip-inline-link{color:#fff}.ips-data-centric .ip-inline-link svg{color:var(--cyan)}
.ips-function-ledger{border-top:3px solid var(--ip-navy)}.ips-function-ledger>article{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:6%;padding:36px 0;border-bottom:1px solid #b5d0da}.ips-function-ledger header{padding-left:25px;border-left:3px solid #d4e9ef}.ips-function-ledger h3{margin:16px 0}.ips-function-ledger header p{margin-bottom:22px}.ips-ledger-mark{display:block;width:32px;height:6px;background:var(--cyan);box-shadow:10px 10px 0 #cce2e9}
.ips-function-readings{display:grid;align-content:start;gap:0}.ips-function-readings details{border-top:1px solid #b5d0da}.ips-function-readings details:last-child{border-bottom:1px solid #b5d0da}.ips-function-readings summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font-family:var(--font-display);font-weight:600;color:var(--ip-navy)}.ips-function-readings summary::-webkit-details-marker{display:none}.ips-function-readings summary span:last-child{color:#078ca6;transition:transform 200ms}.ips-function-readings details[open] summary span:last-child{transform:rotate(45deg)}.ips-function-readings details p{margin:0;padding:0 22px 24px 0;max-width:80ch}.ips-function-scope{padding:24px 28px;background:var(--pale);border-left:3px solid #66b9cc;margin:30px 0 0}
.ips-solutions{background:var(--pale)}.ips-product-dossiers{border-top:1px solid #a6c6d1}.ips-product-dossiers>article{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.15fr) minmax(0,.7fr);gap:32px;align-items:start;padding:32px 0;border-bottom:1px solid #a6c6d1}.ips-product-dossiers figure{margin:0;overflow:hidden}.ips-product-dossiers img{display:block;width:100%;height:auto;transition:transform 350ms ease}.ips-product-dossiers article:hover img{transform:scale(1.025)}.ips-product-dossiers h3{margin-bottom:18px}.ips-product-reading .ip-label{margin-bottom:10px}.ips-product-reading p{margin-bottom:24px}.ips-product-dossiers aside{border-left:1px solid #a6c6d1;padding-left:24px;line-height:1.6}.ips-product-dossiers aside strong{color:var(--ip-navy);font-weight:600}.ips-product-dossiers aside p{margin:14px 0 0}.ips-solution-next{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:28px}.ips-solution-next p{max-width:76ch;margin:0}
.ips-page .ip-inline-link{max-width:100%;white-space:normal}
@media(max-width:1100px){.ips-product-dossiers>article{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.ips-product-dossiers aside{grid-column:2}.ips-data-map{padding:26px;gap:22px}.ips-asset-strip{gap:24px}}
@media(max-width:850px){.ips-definition-head,.ips-data-intro{grid-template-columns:1fr;gap:28px}.ips-implementation-grid{gap:30px;grid-template-columns:1fr 1fr}.ips-implementation figure{position:static}.ips-data-map{grid-template-columns:1fr;gap:20px}.ips-map-source{max-width:500px;width:100%;margin:auto}.ips-map-gate{flex-direction:row;justify-content:center}.ips-map-gate:before,.ips-map-gate:after{width:30px}.ips-map-gate i{display:none}.ips-data-map ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ips-data-map li{align-items:flex-start}.ips-asset-strip>div{padding-left:0;padding-top:50px}.ips-data-readings{gap:24px}.ips-data-readings article+article{padding-left:20px}}
@media(max-width:600px){.ips-asset-strip,.ips-implementation-grid,.ips-data-readings,.ips-function-ledger>article,.ips-product-dossiers>article{grid-template-columns:1fr}.ips-asset-strip{gap:28px}.ips-asset-strip>div{padding:0 0 0 54px}.ips-implementation-grid{gap:32px}.ips-data-readings article+article{border-left:0;border-top:1px solid #426b7a;padding:24px 0 0}.ips-data-map{padding:24px 18px}.ips-data-map ul{grid-template-columns:1fr;gap:0}.ips-function-ledger>article{gap:26px}.ips-function-ledger header{padding-left:20px}.ips-product-dossiers aside{grid-column:auto;padding:20px 0 0;border-left:0;border-top:1px solid #a6c6d1}.ips-solution-next{align-items:flex-start;flex-direction:column;gap:24px}.ips-function-scope{padding:22px}.ips-product-dossiers>article{gap:24px}}
@media(prefers-reduced-motion:reduce){.ips-flow{animation:none;stroke-dasharray:none;opacity:.65}.ips-function-readings summary span:last-child,.ips-product-dossiers img{transition:none}.ips-product-dossiers article:hover img{transform:none}}
/* Product marks precede the unchanged product names, without duplicate spoken labels. */
.ips-product-name{display:flex;align-items:center;gap:12px}.ips-product-dossiers .ips-product-logo{display:block;width:34px;height:34px;flex:0 0 34px;object-fit:contain;transition:none}.ips-product-dossiers article:hover .ips-product-logo{transform:none}

/* Fold-out control register: three distinct responsibilities, complete native readings. */
.ifg-register{display:grid;gap:32px}
.ifg-group{position:relative;border:1px solid #b5d0da;border-bottom:3px solid #82b0c0;background:#fff;box-shadow:8px 8px 0 #edf5f8}
.ifg-header{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:center;background:var(--pale);border-bottom:1px solid #c0d6df}
.ifg-tab{position:relative;align-self:stretch;display:flex;align-items:center;padding:26px 30px;isolation:isolate}
.ifg-tab:before{content:'';position:absolute;inset:0;z-index:-1;background:#082c40;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.ifg-tab:after{content:'';position:absolute;right:0;top:0;width:16px;height:16px;background:#8ebcca;clip-path:polygon(0 0,100% 100%,0 100%)}
.ifg-tab h3{margin:0;color:#fff;font:600 var(--type-subhead-size)/1.35 var(--font-display);letter-spacing:-.035em}
.ips-page .ifg-summary{margin:0;padding:24px 0;color:var(--body-text)}
.ifg-guide{padding:24px 26px 24px 0;min-width:0}.ifg-guide .ip-inline-link{width:100%;margin:0}
.ifg-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ifg-group[data-controls="2"] .ifg-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.ifg-control{position:relative;min-width:0;padding:28px 30px 32px;transition:background-color 220ms ease}
.ifg-control+.ifg-control{border-left:1px solid #c6dbe3}
.ifg-control:before{content:'';display:block;width:32px;height:2px;background:#3bc5f3;margin-bottom:20px}
.ifg-control h4{margin:0 0 16px;color:#173f53;font:600 var(--type-subhead-size)/1.35 var(--font-display);letter-spacing:-.035em}
.ifg-control p{margin:0}.ifg-control:hover{background:#f6fafc}
@media(max-width:1000px){.ifg-header{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:0 26px}.ifg-tab{grid-row:span 2}.ips-page .ifg-summary{padding:24px 26px 16px 0}.ifg-guide{grid-column:2;padding-top:0}.ifg-tab{padding:24px}.ifg-control{padding:26px 24px}}
@media(max-width:850px){.ifg-controls,.ifg-group[data-controls="2"] .ifg-controls{grid-template-columns:minmax(0,1fr)}.ifg-control{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:0 28px}.ifg-control:before{position:absolute;left:24px;top:26px;margin:0;width:18px}.ifg-control h4{padding-top:20px}.ifg-control+.ifg-control{border-left:0;border-top:1px solid #c6dbe3}}
@media(max-width:600px){.ifg-register{gap:28px}.ifg-group{box-shadow:5px 5px 0 #edf5f8}.ifg-header{grid-template-columns:minmax(0,1fr);gap:0}.ifg-tab{grid-row:auto;padding:24px 20px}.ips-page .ifg-summary{padding:22px 20px 16px}.ifg-guide{grid-column:auto;padding:0 20px 24px}.ifg-control{display:block;padding:24px 20px}.ifg-control:before{position:static;width:28px;margin-bottom:18px}.ifg-control h4{padding-top:0}}
@media(prefers-reduced-motion:reduce){.ifg-control{transition:none}}

/* Introduction: definition beneath its title, engineering context opposite. */
.ips-definition-reading{margin-top:28px}
.ips-definition-head{align-items:stretch}
.ips-definition-image{position:relative;margin:0;min-height:360px;overflow:hidden;background:var(--pale)}
.ips-definition-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center}
@media(max-width:850px){.ips-definition-image{min-height:0;aspect-ratio:16/9}.ips-definition-image img{object-position:center}}
