/* Site-wide ZANS identity: logo cyan + charcoal, with a Fibonacci spacing scale. */
:root{
 --ink:#404b4c;--ink-2:#354348;--ink-3:#526166;
 --teal:#58b0c0;--teal-600:#2e7589;--teal-50:#eaf5f8;
 --magenta:#32798d;--magenta-600:#2b687c;--magenta-50:#edf4f7;
 --text:#425760;--muted:#556e78;--line:#d5e4eb;--bg:#fff;--bg-alt:#f2f7fa;
 --on-dark:#f1f6f8;--on-dark-muted:#d3e1e6;
 --radius:13px;--radius-sm:8px;--shadow:0 3px 13px #354f5b06;--shadow-lg:0 13px 34px #354f5b12;
 --fib-8:8px;--fib-13:13px;--fib-21:21px;--fib-34:34px;--fib-55:55px;--fib-89:89px;
 --gutter:clamp(21px,4vw,34px);
}
body{background:#fff;color:var(--text)}
h1,h2,h3{color:var(--ink);letter-spacing:-.035em}
h1{font-size:clamp(2.125rem,4vw,3.4375rem);line-height:1.12}
h2{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.2}
h3{font-size:21px;line-height:1.35}
a{color:#2e7589}
a:hover{color:#204e60}
.section{padding-block:clamp(34px,6.18vw,89px)}
.section-alt{background:#f2f7fa;border-block:1px solid #e2edf1}
.section-tight{padding-block:clamp(21px,4vw,55px)}
.section-head{margin-bottom:34px}
.section-head h2{letter-spacing:-.035em}
.section-head h2::after{width:55px;height:3px;background:#58b0c0}
.eyebrow{font-size:13px;color:#2e7589;letter-spacing:.1em}
.lede{color:#556e78;line-height:1.618}
.btn{border-radius:8px;gap:13px;box-shadow:none;font-size:.92rem;white-space:normal}
.btn-primary{background:#58b0c0;border-color:#58b0c0;color:#213b45;box-shadow:none}
.btn-primary:hover{background:#89cbd7;border-color:#89cbd7;color:#213b45}
.btn-dark{background:#404b4c;border-color:#404b4c;color:#fff}
.btn-dark:hover{background:#2d3c40;border-color:#2d3c40;color:#fff}
.btn-ghost-light{border-color:#96adb6;background:transparent;color:#fff}
.btn-ghost-light:hover{background:#ffffff12;border-color:#d2e9f0;color:#fff}
.card,.info-card,.scope-card,.svc-card,.line-card,.contact-card,.stack-item,.form-card{border-color:#d5e4eb;border-radius:13px;box-shadow:none}
.grid{gap:21px}
.grid>*,.split>*,.footer-grid>*{min-width:0}
.tile-ico,.line-card .tile-ico,.svc-card>.tile-ico{background:#e7f3f7;color:#2e7589;border-color:#d0e4ec;border-radius:8px}
.service-card:hover .tile-ico,.feature-card:hover .tile-ico,.scope-card:hover .tile-ico,.svc-card:hover .tile-ico{background:#d8edf3;color:#265f73}
.line-card,.line-card:nth-child(2){background:#f2f7fa;padding:34px;border-color:#d4e4eb}
.line-card h3{font-size:clamp(21px,2.1vw,28px);letter-spacing:-.035em}
.line-card p{color:#556e78}
.line-card .num{color:#2e7589;font-size:13px}
.line-card .chips li{background:#fff;color:#415f6b;border-radius:8px}
.line-card .card-link{border-color:#ccdee7;color:#2d7085}
.line-card:nth-child(3){background:#404b4c;border-color:#404b4c}
.line-card:nth-child(3) h3 a,.line-card:nth-child(3) .card-link{color:#fff}
.line-card:nth-child(3) p{color:#d3e1e6}
.line-card:nth-child(3) .num{color:#b4e2ed}
.line-card:nth-child(3) .tile-ico{background:#53686f;border-color:#72858d;color:#c5eaf3}
.line-card:nth-child(3) .chips li{background:#53686f;color:#f0f6f8}
.line-card:nth-child(3) .card-link{border-color:#71848b}
.lines-wrap{padding-top:55px}
.lines-heading h2{font-size:clamp(1.8rem,3.5vw,3.4375rem);letter-spacing:-.035em}
.svc-group-h{border-color:#d2e3ea;color:#415f6b}
.svc-group-h a{color:#2d7085}
.svc-card{padding:var(--fib-21);background:#fff;gap:var(--fib-21)}
.svc-body strong{color:#404b4c;font-size:17px;line-height:1.4}
.svc-body small{color:#556e78;font-size:13px;line-height:1.618}
.svc-card:hover{border-color:#8cb8c7;box-shadow:var(--shadow)}
.delivery-board{background:#edf5f8;border-color:#cbdfe8;border-radius:13px;padding:34px}
.delivery-board-head{border-color:#c7dce6;padding-bottom:21px}
.delivery-board-head>strong{color:#404b4c;font-size:clamp(28px,2.5vw,34px)}
.delivery-board li{border-color:#cddfe7;padding-block:21px;gap:21px}
.delivery-board li>span{border-color:#a8ccd9;color:#286c80}
.delivery-board h3{color:#404b4c}
.delivery-board p{color:#556e78;font-size:14px;line-height:1.618}
.delivery-board>a{color:#2e7589}
.info-card,.scope-card{padding:34px;background:#fff}
.info-card h3,.scope-card h3{font-size:21px;color:#404b4c}
.info-card p,.scope-card p{color:#556e78;line-height:1.75}
.takeaway{background:#eef7fa;border-color:#c9e1eb;border-radius:8px;padding:21px}
.takeaway-label{color:#2e7589!important}
.chips li,.flow li{border-radius:8px;background:#eaf5f8;color:#415f6b}
.flow li{border-color:#cddfe8}
.flow li span{background:#d3ebf2;color:#315d6d;border-radius:8px}
.page-hero{background:linear-gradient(90deg,#f9fbfc 0 61.8%,#e7f3f7 61.8% 100%);color:#425760;border-color:#d2e3eb;padding-block:55px;isolation:isolate}
.page-hero::after{content:"";position:absolute;z-index:-1;right:55px;top:34px;width:377px;height:233px;border:1px solid #b8dbe570;background:linear-gradient(90deg,transparent 61.8%,#b8dbe570 61.8% calc(61.8% + 1px),transparent calc(61.8% + 1px))}
.page-hero h1{color:#404b4c;letter-spacing:-.035em;font-size:clamp(34px,4vw,55px);line-height:1.12;overflow-wrap:anywhere}
.page-hero .lede,.page-hero .audience{color:#526b77;line-height:1.618}
.page-hero .eyebrow-light{color:#2e7589}
.page-hero .crumbs ol,.page-hero .crumbs a{color:#4f6c79}
.page-hero .crumbs a:hover{color:#23576b}
.page-hero .btn-ghost-light{color:#3f5966;border-color:#91b5c4;background:transparent}
.page-hero .btn-ghost-light:hover{color:#294c5c;border-color:#5f9bb0;background:#e2f0f5}
.page-hero .hero-panel{background:#404b4c;color:#f1f6f8;border-color:#404b4c;border-radius:13px;padding:34px}
.page-hero .hero-panel .mega-h{color:#b4e2ed}
.page-hero .hero-panel .tile-ico,.page-hero .hero-panel .mega-ico{background:#53686f;color:#c7eaf3;border-color:#6f878f;border-radius:8px}
.page-hero .hero-panel .ticks strong{color:#fff}
.page-hero .hero-panel .ticks small{color:#d3e1e6;font-size:13px;line-height:1.618}
.page-hero .hero-panel .ticks .icon{color:#b4e2ed}
.page-hero .hero-panel li a:hover{background:#53686f;color:#fff}
.page-guide{background:#fff;border-color:#d2e3eb;top:102px}
.page-guide .container{gap:21px;padding-block:8px}
.page-guide a,.page-guide .guide-contact{color:#2d7085;font-size:13px}
.page-guide .container>span{color:#577482}
.section-dark{background:#404b4c;color:#eaf2f5}
.section-dark .dark-art{display:none}
.section-dark .eyebrow{color:#b4e2ed}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark .lede,.section-dark p{color:#d3e1e6}
.timeline{gap:21px}
.timeline li{background:#4a5a60;border-color:#6b7f88;border-radius:13px;padding:21px}
.timeline .step{background:#d5edf4;color:#2c5667;border-radius:8px}
.section-dark .flow li{background:#53686f;border-color:#6e858e;color:white}
.section-dark .flow li span{background:#d5edf4;color:#2c5667}
.faq details{border-color:#d5e4eb;border-radius:13px;box-shadow:none;margin-bottom:13px}
.faq summary{color:#404b4c;padding:21px;font-size:17px;line-height:1.5}
.faq details p{color:#556e78;padding:0 21px 21px;line-height:1.75}
.cta-band{background:#404b4c;border:1px solid #404b4c;border-radius:13px;padding:clamp(34px,4vw,55px);gap:34px}
.cta-band h2{color:#fff;font-size:clamp(28px,3vw,34px);letter-spacing:-.035em}
.cta-band p{color:#d3e1e6}
.cta-actions{gap:13px}
.form-card{background:#fff;border-top:3px solid #58b0c0;border-color:#cddfe8;border-top-color:#58b0c0;padding:34px}
.form-card .form-title{font-size:28px;color:#404b4c}
.form-card input,.form-card select,.form-card textarea{border-radius:8px;border-color:#b9d1dc}
input:focus,select:focus,textarea:focus{border-color:#2e7589;box-shadow:0 0 0 3px #58b0c02b}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2e7589;outline-offset:2px}
.contact-card{border-bottom-color:#d5e4eb;background:transparent}
.contact-card>.icon{background:#e7f3f7;color:#2e7589;border-radius:8px}
.contact-card strong{color:#404b4c}
.contact-card span{color:#556e78}
.size-card{border-radius:8px;border-color:#b9d1dc}
.size-card:has(input:checked){background:#eaf5f8;border-color:#2e7589;box-shadow:0 0 0 3px #58b0c025}
.estimate{background:#404b4c;border-radius:13px;color:#edf5f8}
.estimate-value{color:#b4e2ed}
.estimate-label,.estimate .fine{color:#d3e1e6}
.table-wrap{border-color:#cddfe8;border-radius:13px;box-shadow:none}
th,td{border-color:#d8e6ec;padding:21px}
thead th{background:#edf5f8;color:#426371}
.compare td.us,.compare th.us{background:#e6f3f8;color:#355563}
.alert-success{background:#eaf5f8;border-color:#a8cfde;color:#285e72}
.alert-error{background:#fff3f2;border-color:#e5b7b8;color:#92313b}
.error,.req{color:#a02e3a}
[aria-invalid=true]{border-color:#a02e3a!important}
.site-footer{background:#404b4c;color:#d3e1e6;padding-top:55px}
.footer-cta{padding-bottom:34px;gap:34px;border-color:#6a7c84}
.footer-cta h2{font-size:34px;color:#fff;letter-spacing:-.035em}
.footer-cta p{color:#d3e1e6}
.footer-cta-actions{gap:13px}
.footer-grid{gap:34px;padding-block:55px}
.footer-about p{color:#d3e1e6;line-height:1.618}
.site-footer .brand-word strong{color:#fff}
.site-footer .brand-word small{color:#d3e1e6}
.footer-contact a,.footer-contact span,.footer-links a{color:#e4edf1}
.footer-h,.footer-h a{color:white;line-height:1.5}
.footer-bottom{border-color:#6a7c84;background:#384548;color:#d3e1e6}
.footer-bottom a{color:#d3e1e6}
.site-footer .btn-primary{color:#213b45}
:focus-visible{outline-color:#2e7589}
.site-footer :focus-visible,.section-dark :focus-visible,.cta-band :focus-visible,.line-card:nth-child(3) :focus-visible{outline-color:#b4e2ed}
.page-hero :focus-visible{outline-color:#2e7589}
.page-hero .hero-panel :focus-visible{outline-color:#b4e2ed}
@media(min-width:960px){
 .page-hero .hero-grid,.split:not(.split-top){grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:55px}
 .split.split-top{grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);gap:55px}
 .footer-cta{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)}
 .cta-band{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)}
}
@media(min-width:1100px){.footer-grid{grid-template-columns:minmax(0,1.618fr) repeat(3,minmax(0,1fr))}}
@media(max-width:639px){
 .section{padding-block:34px}
 .section-tight{padding-block:21px}
 .section-head{margin-bottom:21px}
 .section-head h2{font-size:28px}
 .page-hero{background:linear-gradient(180deg,#f9fbfc 0 61.8%,#e7f3f7 61.8% 100%);padding-block:34px}
 .page-hero::after{width:233px;height:144px;right:-55px;top:21px}
 .page-hero h1{font-size:34px}
 .page-hero .hero-panel{padding:21px}
 .line-card,.delivery-board,.info-card,.scope-card,.form-card{padding:21px}
 .lines-wrap{padding-top:34px}
 .lines-heading{margin-bottom:21px}
 .svc-card{padding:21px;gap:13px}
 .faq summary{padding:16px 21px;font-size:16px}
 .cta-band{padding:34px 21px;gap:21px}
 .cta-band h2,.footer-cta h2{font-size:28px}
 .footer-grid{padding-block:34px}
 .site-footer{padding-top:34px}
 .page-guide{top:86px}
}
