/* ISO management systems: scoped, progressively enhanced service layouts. */
.iso-page{--iso-accent:var(--teal);background:var(--bg)}
.iso-page:before{display:none!important}
.iso-page main{overflow:clip}
.iso-hero p,.iso-section p,.iso-guide p{hyphens:none;-webkit-hyphens:none}
.iso-tone-quality{--iso-accent:#79b9ff;--iso-wash:rgba(121,185,255,.08)}
.iso-tone-environment{--iso-accent:#70d7ad;--iso-wash:rgba(112,215,173,.08)}
.iso-tone-safety{--iso-accent:#f5bd6a;--iso-wash:rgba(245,189,106,.08)}
.iso-tone-security{--iso-accent:#66d8db;--iso-wash:rgba(102,216,219,.08)}
.iso-tone-ai{--iso-accent:#b9a1f5;--iso-wash:rgba(185,161,245,.08)}
[data-theme=light] .iso-tone-quality{--iso-accent:#245daa}
[data-theme=light] .iso-tone-environment{--iso-accent:#176c4e}
[data-theme=light] .iso-tone-safety{--iso-accent:#89510e}
[data-theme=light] .iso-tone-security{--iso-accent:#0a6971}
[data-theme=light] .iso-tone-ai{--iso-accent:#6b40a5}
.iso-page a:focus-visible,.iso-page button:focus-visible,.iso-page summary:focus-visible,.iso-section a:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.iso-hero{padding:112px 0 76px;position:relative;border-bottom:1px solid var(--border-2);background:radial-gradient(ellipse at 90% 30%,var(--iso-wash,rgba(48,213,200,.055)),transparent 60%)}
.iso-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.73rem;color:var(--text-3);margin:0 0 48px}
.iso-breadcrumb a:hover{color:var(--teal)}
.iso-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.iso-eyebrow{display:block;font:600 .75rem/1.8 var(--font);letter-spacing:.14em;color:var(--iso-accent,var(--teal));text-transform:uppercase;margin-bottom:18px}
.iso-hero h1{font:600 clamp(2.2rem,3.8vw,3.6rem)/1.07 var(--font-d);letter-spacing:-.045em;color:var(--text);margin:0 0 25px;max-width:760px;text-wrap:balance}
.iso-hero h1 span{color:var(--teal)}
.iso-lead{font-size:1.08rem;line-height:1.85;color:var(--text-2);max-width:680px;margin:0 0 20px}
.iso-hero-detail{font-size:.9rem;line-height:1.8;color:var(--text-3);max-width:610px}
.iso-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px}
.iso-actions .btn,.iso-enquire-actions .btn{font-size:.8rem;white-space:normal;text-align:center}
.iso-text-link{font-size:.8rem;font-weight:600;color:var(--text-2)}
.iso-text-link:hover{color:var(--teal)}
.iso-hero-facts{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:28px;margin-top:26px;border-top:1px solid var(--border-2);font-size:.8125rem;color:var(--text-3)}
.iso-hero-facts span:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--teal);margin:0 7px 2px 0}
.iso-portfolio{border:1px solid var(--border-2);border-radius:24px;background:var(--surface);padding:25px;box-shadow:0 24px 70px #00000012}
.iso-portfolio-heading{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.13em;color:var(--text-3);padding:4px 0 18px}
.iso-portfolio-row{display:grid;grid-template-columns:44px 1fr 20px;gap:17px;align-items:center;padding:17px 8px;border-top:1px solid var(--border-2);transition:background .2s,color .2s}
.iso-portfolio-row:hover{background:var(--iso-wash);color:var(--iso-accent)}
.iso-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;color:var(--iso-accent,var(--teal));border:1px solid var(--border-2);border-radius:13px;background:var(--iso-wash,var(--teal-dim));flex-shrink:0}
.iso-icon svg{width:25px;height:25px}
.iso-portfolio-row strong{font:500 1rem var(--font-d);display:block;color:var(--text)}
.iso-portfolio-row small{display:block;margin-top:5px;color:var(--text-3);font-size:.68rem}
.iso-portfolio>p{font-size:.8rem;line-height:1.8;padding:20px 8px 0;border-top:1px solid var(--border-2);color:var(--text-3)}
.iso-portfolio>p strong{color:var(--text-2);font-weight:500}
.iso-section{padding:76px 0;--iso-accent:var(--teal)}
.iso-section-tint{background:var(--surface);border-block:1px solid var(--border-2)}
.iso-section-heading{max-width:780px;margin-bottom:32px}
.iso-section-heading h2,.iso-enquire h2{font:500 clamp(1.8rem,3vw,2.8rem)/1.18 var(--font-d);letter-spacing:-.035em;color:var(--text);text-wrap:balance}
.iso-section-heading .iso-eyebrow{margin-bottom:12px}
.iso-section-lead{max-width:760px;font-size:1rem;color:var(--text-2);line-height:1.9;margin:0 0 28px}
.iso-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.iso-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--border-2);border-radius:18px;background:var(--surface);transition:transform .25s,border-color .25s;min-height:285px}
a.iso-card:hover{transform:translateY(-4px);border-color:var(--iso-accent)}
.iso-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.iso-card-number{font:400 .8rem var(--font-d);color:var(--text-3)}
.iso-code{font-size:.64rem;letter-spacing:.075em;color:var(--iso-accent,var(--teal));font-weight:600;display:block;margin-bottom:10px}
.iso-card h3{font:500 1.32rem/1.3 var(--font-d);letter-spacing:-.02em;color:var(--text);margin:0 0 13px}
.iso-card p{color:var(--text-2);font-size:.85rem;line-height:1.8;margin:0 0 25px}
.iso-card-link{display:flex;justify-content:space-between;gap:12px;color:var(--iso-accent,var(--teal));font-size:.75rem;font-weight:600;margin-top:auto}
.iso-other{background:linear-gradient(145deg,var(--teal-dim),var(--surface));justify-content:center}
.iso-other h3{font-size:1.7rem;margin-top:22px}
.iso-table-wrap{overflow:auto;border:1px solid var(--border-2);border-radius:16px}
.iso-table{width:100%;border-collapse:collapse;text-align:left;font-size:.87rem}
.iso-table caption{padding:20px;text-align:left;font-weight:600;background:var(--surface)}
.iso-table th,.iso-table td{padding:20px 24px;border-top:1px solid var(--border-2);color:var(--text-2);line-height:1.6}
.iso-table thead th{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;background:var(--surface)}
.iso-table tbody th{white-space:nowrap;color:var(--teal)}
.iso-note{font-size:.78rem!important;line-height:1.85!important;color:var(--text-3)!important;margin-top:22px;max-width:950px}
.iso-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.iso-process article{border-top:1px solid var(--border-3);padding-top:20px}
.iso-process article>span{font:500 1.9rem var(--font-d);color:var(--teal);display:block;margin-bottom:25px}
.iso-process h3,.iso-three h3{font:500 1.12rem/1.4 var(--font-d);color:var(--text);margin-bottom:12px}
.iso-process p,.iso-three p,.iso-split p,.iso-audience p,.iso-edition p,.iso-bridge p{font-size:.88rem;line-height:1.85;color:var(--text-2)}
.iso-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.iso-three article{border-left:2px solid var(--border-2);padding:0 0 0 24px}
.iso-kicker{font-size:.62rem;letter-spacing:.1em;color:var(--teal);display:block;margin-bottom:16px}
.iso-faq{border-top:1px solid var(--border-2)}
.iso-faq details{border-bottom:1px solid var(--border-2);padding:23px 0}
.iso-faq summary{font:500 1.05rem/1.5 var(--font-d);cursor:pointer;color:var(--text);padding-right:16px;list-style:revert}
.iso-faq p{font-size:.9rem;line-height:1.9;color:var(--text-2);max-width:850px;padding-top:15px}
.iso-enquire{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;border:1px solid var(--border-2);border-radius:22px;padding:44px;background:linear-gradient(120deg,var(--teal-dim),var(--surface))}
.iso-enquire p{font-size:.87rem;line-height:1.85;color:var(--text-2);margin-top:20px}
.iso-enquire-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px}
.iso-enquire-actions>a:last-child{font-size:.8rem;text-align:center;color:var(--text-2)}
.iso-visual{margin:0;border:1px solid var(--border-2);border-radius:24px;background:radial-gradient(ellipse at center,var(--iso-wash),transparent 70%),var(--surface);overflow:hidden;padding:24px;position:relative;color:var(--iso-accent)}
.iso-visual-top{display:flex;justify-content:space-between;gap:16px;color:var(--text-3);font-size:.75rem;letter-spacing:.08em}
.iso-dot:before{content:'';display:inline-block;width:5px;height:5px;background:var(--iso-accent);border-radius:50%;margin-right:6px}
.iso-art{display:block;width:100%;height:auto;overflow:visible;margin:15px 0}
.iso-orbit{fill:none;stroke:var(--border-2);stroke-dasharray:3 8}
.iso-art-track{stroke:var(--iso-accent);stroke-width:1.4;fill:none;opacity:.3}
.iso-art-signal{stroke:var(--iso-accent);stroke-width:2;fill:none;opacity:0;stroke-dasharray:12 88;stroke-dashoffset:100}
.iso-art-node rect{fill:var(--surface);stroke:var(--border-3);stroke-width:1}
.iso-art-node text{fill:var(--text);font:500 13px var(--font)}
.iso-art-core circle{fill:var(--surface);stroke:var(--iso-accent);stroke-width:1.2}
.iso-visual figcaption{font-size:.78rem;line-height:1.8;color:var(--text-2);max-width:370px;border-top:1px solid var(--border-2);padding-top:17px}
.iso-replay{font:500 .7rem var(--font);margin-top:16px;color:var(--iso-accent);background:none;border:1px solid var(--border-3);border-radius:20px;padding:9px 14px;cursor:pointer}
.iso-replay[hidden]{display:none}
.iso-visual.is-playing .iso-art-signal{animation:iso-flow 3.8s linear 1}
.iso-visual.is-playing .iso-art-node rect{animation:iso-node .65s ease-out 1}
.iso-visual.is-playing .iso-step-1 rect{animation-delay:.8s}
.iso-visual.is-playing .iso-step-2 rect{animation-delay:1.6s}
.iso-visual.is-playing .iso-step-3 rect{animation-delay:2.4s}
@keyframes iso-flow{0%{opacity:0;stroke-dashoffset:100}10%{opacity:1}90%{opacity:1}100%{opacity:0;stroke-dashoffset:0}}
@keyframes iso-node{50%{stroke:var(--iso-accent);fill:var(--iso-wash)}}
.iso-local-nav{border-bottom:1px solid var(--border-2);background:var(--surface)}
.iso-local-nav .container{display:flex;flex-wrap:wrap;gap:12px 30px;padding-block:21px}
.iso-local-nav a{color:var(--text-2);font-size:.75rem}
.iso-local-nav a:hover{color:var(--teal)}
.iso-page [id]{scroll-margin-top:95px}
.iso-audience{margin-top:35px;padding:24px;border:1px solid var(--border-2);border-radius:14px;display:grid;grid-template-columns:150px 1fr;gap:25px}
.iso-audience strong{font:500 .95rem var(--font-d)}
.iso-example{display:flex;align-items:flex-start;gap:30px;max-width:960px}
.iso-example .iso-icon{width:64px;height:64px;border-radius:18px}
.iso-example p{font-size:1.12rem;line-height:1.9;color:var(--text-2)}
.iso-example small{display:block;font-size:.72rem;line-height:1.8;color:var(--text-3);margin-top:20px}
.iso-split{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}
.iso-checklist{padding:28px;border:1px solid var(--border-2);border-radius:18px;background:var(--surface)}
.iso-checklist h3{font:500 1.1rem var(--font-d);margin-bottom:20px}
.iso-checklist ul{padding:0;list-style:none}
.iso-checklist li{font-size:.85rem;line-height:1.6;padding:14px 0;border-bottom:1px solid var(--border-2);color:var(--text-2)}
.iso-checklist li:before{content:'↳';color:var(--teal);margin-right:10px}
.iso-edition{border-left:3px solid var(--teal);padding:0 0 0 25px;max-width:850px}
.iso-edition a{display:inline-block;font-size:.8rem;color:var(--teal);margin-top:18px}
.iso-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.iso-related>a{border:1px solid var(--border-2);border-radius:16px;padding:25px;background:var(--surface);display:flex;flex-direction:column;gap:16px;color:var(--text-2);font-size:.85rem;line-height:1.75}
.iso-related>a:hover{border-color:var(--teal)}
.iso-related strong{font:500 1.25rem/1.4 var(--font-d);color:var(--text)}
.iso-related .iso-kicker{margin:0}
.iso-related b{color:var(--teal);margin-top:auto}
.iso-bridge{display:flex;align-items:center;justify-content:space-between;gap:35px}
.iso-bridge p{max-width:720px}
.iso-bridge .btn{white-space:normal;text-align:center;min-width:220px;font-size:.8rem}
.iso-guide-hero h1{max-width:900px;font-size:clamp(2.2rem,4.2vw,3.8rem)}
.iso-guide{max-width:850px;padding-block:55px}
.iso-guide section{margin-bottom:40px}
.iso-guide h2{font:500 1.5rem/1.4 var(--font-d);margin-bottom:18px;letter-spacing:-.02em}
.iso-guide p{font-size:1rem;line-height:1.95;color:var(--text-2)}
.iso-guide a{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.iso-hero-grid{gap:30px}.iso-hero h1{font-size:3rem}.iso-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.iso-enquire{padding:30px;gap:25px}.iso-process{grid-template-columns:repeat(2,minmax(0,1fr))}.iso-three{gap:20px}}
@media(max-width:760px){.iso-hero{padding:96px 0 45px}.iso-breadcrumb{margin-bottom:32px;font-size:.8125rem}.iso-hero-grid,.iso-split,.iso-enquire{grid-template-columns:1fr;gap:35px}.iso-hero h1{font-size:clamp(2rem,7vw,2.7rem)}.iso-lead{font-size:1rem}.iso-section{padding:50px 0}.iso-three{grid-template-columns:1fr;gap:28px}.iso-portfolio{padding:20px}.iso-visual{max-width:570px;width:100%;justify-self:center;padding:20px}.iso-audience{grid-template-columns:1fr;gap:12px}.iso-example{gap:18px}.iso-example .iso-icon{width:44px;height:44px}.iso-example p{font-size:1rem}.iso-bridge{flex-direction:column;align-items:flex-start}.iso-enquire-actions{align-items:flex-start}.iso-local-nav .container{gap:12px 20px}.iso-guide{padding-block:40px}}
@media(max-width:480px){.iso-cards{grid-template-columns:1fr}.iso-card{min-height:0;padding:25px}.iso-card-top{margin-bottom:20px}.iso-process{grid-template-columns:1fr;gap:25px}.iso-process article>span{margin-bottom:12px}.iso-actions{gap:20px}.iso-enquire{padding:24px}.iso-visual-top{font-size:.75rem;gap:8px}.iso-table th,.iso-table td{padding:15px}.iso-table{font-size:.78rem}.iso-table th:last-child,.iso-table td:last-child{display:none}.iso-example{flex-direction:column}.iso-hero-facts{gap:10px}.iso-checklist{padding:22px}}
@media(prefers-reduced-motion:reduce){.iso-page *,.iso-section *{scroll-behavior:auto!important}.iso-card{transition:none}a.iso-card:hover{transform:none}.iso-visual *{animation:none!important}.iso-art-signal{display:none}.iso-replay{display:none!important}}
@media print{.iso-page header,.iso-page .drawer,.iso-page .wa-float,.iso-replay,.iso-enquire-actions{display:none!important}.iso-hero{padding-top:20px}.iso-section{padding:25px 0}.iso-page{background:white;color:black}.iso-visual{break-inside:avoid}}
