/* Readable by default. User preferences enhance an already usable page. */
html{font-size:100%;--focus:#126699}
html[data-text-size="large"]{font-size:120%}
html[data-text-size="xlarge"]{font-size:140%}
body{font-size:1.125rem;line-height:1.75}
:where(a,button,input,summary):focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.topbar{font-size:.9375rem}.topbar .container{gap:20px}
.nav{height:auto;min-height:136px;gap:26px;padding-top:5px;padding-bottom:5px}
nav{font-size:1.0625rem;gap:27px;flex-wrap:wrap;justify-content:flex-end}
.brand{flex-shrink:0}.brand img{width:210px;height:126px}
.eyebrow,.hero-copy .eyebrow,.faq-section .eyebrow,.contact-section .eyebrow{font-size:.8125rem;letter-spacing:.09em}
h1{font-size:clamp(3.2rem,5.5vw,4.8rem)}
h2,.human-copy h2,.faq-section h2{font-size:2.5rem;line-height:1.25}
.hero{gap:40px;padding-top:58px;padding-bottom:58px}
.hero-art{border-radius:105px 24px 24px 24px;box-shadow:0 14px 45px #124b7310}
.hero .lead{font-size:1.25rem;line-height:1.85;max-width:33em}
.button,.hero .button,.contact-section .button,.button.small{font-size:1.0625rem;min-height:54px;padding:15px 21px;gap:20px;border-radius:10px;line-height:1.5;white-space:normal}
.text-link,.hero .text-link{font-size:1.0625rem;display:inline-flex;align-items:center;min-height:48px}
.hero-note{font-size:1rem;line-height:1.6;align-items:start}.hero-note svg{margin-top:4px;flex-shrink:0}
.value-strip span{font-size:1.0625rem}.value-strip i{font-size:.875rem;margin-right:12px}
.value-strip .container{gap:18px;padding:24px 0}
.section-heading{align-items:start;gap:40px}.section-heading>p{font-size:1.125rem;line-height:1.8;max-width:24em}
.search-wrap label{font-size:1.0625rem;margin-bottom:12px}
.search-field{border-radius:12px;min-height:62px;border-color:#a0b7c4}
.search-field input{font-size:1.125rem;line-height:1.6;padding:17px 0}
.search-hint{display:none}
.filters{gap:12px;margin:25px 0 32px}
.filters button{font-size:1rem;min-height:48px;padding:10px 18px;border-color:#aebfc7}
.service-grid{gap:23px}
.service-card{padding:28px 26px 0;border-radius:18px;box-shadow:0 4px 0 #173d5505}
.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #173d5510}
.service-card h3{font-size:1.4375rem;line-height:1.4;margin-bottom:13px}
.service-card p{font-size:1.125rem;line-height:1.75}
.service-card ul{font-size:1.0625rem;line-height:1.75;margin-bottom:24px}
.service-card li{padding:6px 0 6px 15px}
.service-card button{font-size:1rem;line-height:1.6;min-height:64px;align-items:center;gap:16px}
.card-top>span{font-size:.9375rem}.card-top svg{width:58px;height:58px;padding:12px;border-radius:16px}
.service-help{font-size:1.0625rem;flex-wrap:wrap;gap:8px 18px;line-height:1.8}.service-help a{display:inline-block;padding:8px 0}
.human-grid{gap:60px}.human-visual{border-radius:22px;padding:35px;min-height:470px}
.human-visual>.eyebrow,.human-footnote{font-size:.8125rem;line-height:1.7}
.human-quote p{font-size:2.375rem;line-height:1.4}.signature{font-size:1.75rem;width:auto;text-align:right;white-space:normal;margin-top:24px}
.human-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.85}.human-detail p{font-size:1rem;line-height:1.8}
.steps{gap:35px}.steps h3{font-size:1.375rem;line-height:1.5}.steps p{font-size:1.125rem;line-height:1.8}
.step-number{font-size:1.125rem;padding-top:20px}
.faq-section{gap:50px}.faqs summary{font-size:1.125rem;line-height:1.6;padding:23px 5px;align-items:center;min-height:72px}
.faqs details p{font-size:1.125rem;line-height:1.85}
.contact-section{background:#123f5c;padding:80px 0}
.contact-grid{grid-template-columns:1.25fr 1fr;gap:55px}
.contact-section h2{font-size:2.75rem}.contact-section p{font-size:1.125rem;line-height:1.8}
.contact-section address p{font-size:1.25rem}.contact-section address a{font-size:1.125rem;padding:5px 0;line-height:1.7}
.contact-section address span{font-size:.875rem}.contact-section address .email{font-size:1rem}
.contact-whatsapp{font-size:1.0625rem;min-height:48px;display:inline-flex;align-items:center}
footer{padding-bottom:110px}.footer-top strong{font-size:1.625rem}
.footer-top p,.footer-top>a{font-size:1rem;max-width:none}.footer-top>a{padding:10px}
.footer-bottom{font-size:.9375rem;flex-wrap:wrap;align-items:center;line-height:1.8}
.demo-note{font-size:.875rem;color:#465c65;line-height:1.8}
.footer-credit{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid #c7d5d9;margin-top:25px;padding-top:22px}
.enkey-credit{display:inline-flex;align-items:center;gap:12px;font-size:.9375rem;min-height:48px}
.enkey-wordmark{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:.1em;font-size:1.125rem;color:#154f78;display:inline-flex;align-items:center;gap:8px}
.enkey-wordmark:before{content:'↗';display:grid;place-items:center;width:30px;height:30px;background:#ffce3e;border-radius:9px;color:#143c55;font-size:1.125rem}
.enkey-credit:hover .enkey-wordmark{text-decoration:underline;text-underline-offset:5px}
#reading-footer{font-size:1rem;color:var(--ink);padding:10px 0;border:0;background:none;text-decoration:underline;text-underline-offset:5px;min-height:48px}
dialog{max-height:90dvh;overflow:auto;width:min(650px,calc(100% - 32px));padding:38px;border-radius:20px}
dialog p,dialog li{font-size:1.125rem;line-height:1.8}dialog h2{font-size:2rem;line-height:1.3;padding-right:15px}
dialog li{padding:5px 0}.close-dialog{width:48px;height:48px;right:9px;top:9px;font-size:2rem}
.reading-open{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:10px;border:2px solid white;border-radius:50px;padding:13px 20px;min-height:58px;background:#145982;color:white;font-size:1rem;font-weight:650;box-shadow:0 5px 25px #123f5c40}
.reading-open:hover{background:#123f5c}.reading-open svg{width:25px;height:25px;flex-shrink:0}
.reading-panel{background:#fff;color:#173d55;padding:30px;width:min(600px,calc(100% - 24px))}
.reading-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:5px}
.reading-heading h2{font-size:1.75rem;margin:0;padding:0}
.reading-heading{position:sticky;top:-1px;z-index:2;background:inherit;padding:10px 0 14px}.reading-panel{background:#fff}.reading-panel .reading-heading{background:#fff}
html[data-contrast="dark"] .reading-panel .reading-heading{background:var(--paper)}
html[data-contrast="high"] .reading-panel .reading-heading{background:var(--paper)}
.reading-close{width:48px;height:48px;min-width:48px;border:1px solid #a4b7c2;border-radius:50%;background:#fff;color:#173d55;font-size:1.75rem;line-height:1}
.reading-panel>p{font-size:1rem;line-height:1.7;color:#465e6c;margin-bottom:20px}
.reading-panel fieldset{margin:0 0 22px;padding:0;border:0;min-width:0}
.reading-panel legend{font-size:1.0625rem;font-weight:650;margin-bottom:10px}
.reading-options{display:flex;gap:8px;flex-wrap:wrap}
.reading-options button{flex:1 1 105px;min-height:52px;background:#f2f6f8;border:1px solid #a4b7c2;border-radius:9px;font-size:1rem;line-height:1.5;padding:11px 8px;color:#173d55}
.reading-options button[aria-pressed=true]{background:#145982;border-color:#145982;color:#fff;box-shadow:inset 0 0 0 2px #fff}
.reading-switch{display:flex;align-items:center;gap:15px;font-size:1.0625rem;min-height:60px;padding:13px 0;border-top:1px solid #d6e1e6;cursor:pointer;line-height:1.5}
.reading-switch input{width:25px;height:25px;min-width:25px;accent-color:#145982;margin:0;cursor:pointer}
.reading-reset{width:100%;min-height:52px;background:transparent;color:inherit;border:1px solid #9eb3be;border-radius:9px;font-size:1rem;font-weight:600;padding:12px;margin-top:15px}
.reading-panel #reading-status{font-size:.9375rem;min-height:1.7em;margin:10px 0 0}
/* Preferences apply to real content, never through a fixed-size page zoom. */
html[data-spacing] :is(p,li,summary,.service-card button){line-height:2;letter-spacing:.035em;word-spacing:.08em}
html[data-links] :is(main,header,footer,.topbar) a{text-decoration:underline!important;text-underline-offset:.2em;text-decoration-thickness:2px}
html[data-mono] :is(main,header,footer,.topbar,#service-dialog){filter:grayscale(1)}
html[data-motion]{scroll-behavior:auto}
html[data-motion] *,html[data-motion] *:before,html[data-motion] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-contrast="high"]{--focus:#005fcc;--ink:#101010;--blue:#003b69;--deep:#111;--muted:#101010;--paper:#fff;--line:#505050}
html[data-contrast="dark"]{--focus:#ffdd59;--ink:#fff;--blue:#ffdd59;--deep:#060d14;--muted:#fff;--paper:#101a24;--line:#d4e1ea;color-scheme:dark}
html:not([data-contrast="normal"]) :is(body,header,main,footer,.human-section,.contact-section,.value-strip,.human-visual,.service-card,.search-field,.reading-panel,.phone,.phone-item,dialog,nav){background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important}
html:not([data-contrast="normal"]) :is(p,li,h1,h2,h3,address,summary,small,.eyebrow,.text-link,.service-card button,.contact-whatsapp,.step-number,.footer-bottom,.enkey-wordmark,.hero-note,.value-strip span,.card-top>span,.reading-panel>p,#reading-footer,.demo-note){color:var(--ink)!important}
html:not([data-contrast="normal"]) .button,html:not([data-contrast="normal"]) .filters button.active,html:not([data-contrast="normal"]) .reading-options button[aria-pressed=true]{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
html:not([data-contrast="normal"]) :is(.reading-options button,.reading-close,.reading-reset,.filters button,.menu){background:var(--paper);color:var(--ink);border-color:var(--line)}
html:not([data-contrast="normal"]) :is(.contact-section address span,.contact-section address a,.human-detail p,.section-heading>p,.topbar a){color:var(--ink)!important}
html:not([data-contrast="normal"]) .topbar{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
html[data-contrast="dark"] .underlined:after{background:#465600}
html[data-contrast="dark"] .brand{background:#fff;border-radius:12px}
html[data-text-size]:not([data-text-size="standard"]) .nav{flex-wrap:wrap;justify-content:space-between}
html[data-text-size]:not([data-text-size="standard"]) .hero{grid-template-columns:1fr}
html[data-text-size]:not([data-text-size="standard"]) .hero-art{display:none}
html[data-text-size]:not([data-text-size="standard"]) :is(.human-grid,.contact-grid,.faq-section){grid-template-columns:1fr}
html[data-text-size]:not([data-text-size="standard"]) :is(.section-heading,.service-help){display:block}
html[data-text-size]:not([data-text-size="standard"]) .section-heading>p{margin-top:22px;max-width:40em}
html[data-text-size="xlarge"] .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-text-size="xlarge"] .steps{grid-template-columns:1fr}
html[data-text-size]:not([data-text-size="standard"]) .contact-section address{border:0;padding-left:0}
@media(max-width:1100px){nav{gap:16px;font-size:1rem}.nav .button{font-size:1rem}.brand img{width:174px;height:108px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:25px}.hero-art{height:540px}.section-heading{gap:25px}.contact-grid{grid-template-columns:1fr}.contact-section address{border-left:0;border-top:1px solid #ffffff50;padding:28px 0 0}.human-grid{gap:35px}}
@media(max-width:800px){.nav{min-height:112px;flex-wrap:nowrap!important}.brand img{width:174px;height:106px}nav{top:100%;font-size:1.125rem;gap:16px;justify-content:start}.menu{font-size:1.0625rem;min-height:50px;flex-shrink:0}nav>a{min-height:48px;display:flex;align-items:center}.hero{grid-template-columns:1fr}.hero-art{max-width:580px;width:100%;margin:auto;height:500px}.phone{width:300px;left:53%;top:65px}.hero .lead{font-size:1.25rem}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:35em}.value-strip .container{gap:10px}.value-strip span{font-size:1rem;padding-right:10px}.value-strip i{display:none}.human-grid,.faq-section{grid-template-columns:1fr}.human-copy h2{font-size:2.25rem}.human-copy>p:not(.eyebrow){font-size:1.125rem}.human-visual{min-height:420px}.steps{grid-template-columns:1fr;gap:28px}.faq-section h2{font-size:2.25rem}.human-quote p{font-size:2.5rem}.contact-section h2{font-size:2.5rem}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.hero{padding-top:35px;gap:30px}h1{font-size:3.2rem}.hero .lead{font-size:1.1875rem}.hero-copy br.desktop{display:none}.hero .actions{align-items:stretch;gap:10px}.hero .actions .button{flex:1 1 100%}.hero .actions .text-link{padding:10px 0}.hero-art{height:455px}.phone{width:275px;left:53%;top:57px}.hero-note{font-size:1rem}.eyebrow,.hero-copy .eyebrow{font-size:.8125rem}.value-strip .container{grid-template-columns:1fr;gap:6px;padding:18px 0}.value-strip span{border:0;font-size:1.0625rem;text-align:left;padding-left:14px}.value-strip span:before{content:'✓';margin-right:12px;color:#155781}.section{padding:55px 0}h2,.human-copy h2,.faq-section h2{font-size:2rem}.section-heading>p{font-size:1.125rem}.service-grid,html[data-text-size="xlarge"] .service-grid{grid-template-columns:minmax(0,1fr)}.filters{gap:8px}.filters button{font-size:.9375rem;padding:10px 13px}.search-field input{font-size:1rem}.search-field{padding:0 13px;gap:9px}.service-card{padding:25px 23px 0}.service-card h3{font-size:1.4375rem}.service-card p,.service-card ul{font-size:1.0625rem}.service-card button{font-size:1rem}.service-help{font-size:1.0625rem}.human-visual{padding:28px;min-height:0}.human-quote p{font-size:2.125rem}.human-detail p{font-size:1rem}.steps h3{font-size:1.375rem}.steps p,.faqs summary,.faqs details p{font-size:1.125rem}.contact-section h2{font-size:2.125rem}.contact-section p{font-size:1.125rem}.contact-section address a{font-size:1.125rem}.contact-section address .email{font-size:1rem}.footer-top{flex-wrap:wrap;gap:14px}.footer-top p{font-size:.9375rem}.footer-bottom{font-size:.9375rem}.demo-note{font-size:.875rem}.reading-open{right:12px;bottom:12px;padding:11px 16px;font-size:1rem}.reading-panel{padding:24px 20px}.reading-heading h2{font-size:1.5rem}.reading-options button{flex-basis:100%;min-height:50px}.reading-switch{font-size:1rem}.reading-panel>p{font-size:1rem}.human-footnote{font-size:.8125rem}.footer-credit{gap:10px}}
@media(prefers-reduced-motion:reduce){.service-card:hover{transform:none}}
@media(max-width:580px){.nav{gap:12px}.brand img{width:150px;height:100px}.menu{font-size:1rem;padding:10px 12px;gap:10px}.reading-heading h2{font-size:1.4rem}}
