:root{--green:#008a53;--green-d:#006b40;--ink:#231f20;--navy:#172b82;--navy-d:#0f1f5c;--blue:#0c63ff;--stone:#edede6;--grey:#525149}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:#fbfbf8;overflow-x:hidden}
.font-display,h1,h2,h3,h4{font-family:'Archivo',system-ui,sans-serif}
h1,h2{letter-spacing:-.03em;word-spacing:.14em;line-height:1.02}
.t-hero{font-size:clamp(2.6rem,1.6rem + 5vw,5.6rem)}
.t-h1{font-size:clamp(2.3rem,1.5rem + 3.6vw,4.4rem)}
.t-h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem)}
.t-lead{font-size:clamp(1.1rem,1rem + .4vw,1.3rem);line-height:1.65}
.prose-body p{line-height:1.75;margin-bottom:1.1em}
.circuit{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.5'%3E%3Cpath d='M0 30h40l15 15h65M30 0v20l20 20v80M90 0v35M60 120V90l15-15h45M0 95h25l10-10'/%3E%3Ccircle cx='90' cy='40' r='4'/%3E%3Ccircle cx='35' cy='85' r='4'/%3E%3Ccircle cx='50' cy='40' r='3'/%3E%3C/svg%3E")}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}
.site-header{transition:box-shadow .3s,background-color .3s}
.site-header.scrolled{box-shadow:0 8px 30px -12px rgba(15,31,92,.25);background-color:#fff}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.35rem;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-link:hover::after,.nav-link[aria-current=page]::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;border-radius:999px;padding:.95rem 1.6rem;transition:transform .2s,box-shadow .2s,background-color .2s;min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn svg{transition:transform .2s}.btn:hover svg{transform:translateX(3px)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 10px 24px -10px rgba(0,138,83,.7)}
.btn-green:hover{background:var(--green-d)}
.btn-ghost{border:2px solid currentColor}
.card-lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 28px 50px -24px rgba(15,31,92,.35)}
.zoom{overflow:hidden}.zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.zoom:hover img{transform:scale(1.06)}
details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}
details[open] .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:transform .3s}
.grecaptcha-badge{visibility:hidden}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.field{width:100%;border:1.5px solid #d6d6cc;border-radius:.9rem;padding:.85rem 1rem;background:#fff;font-size:1rem;transition:border-color .2s,box-shadow .2s;min-height:48px}
.field:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(0,138,83,.15)}
label.lbl{display:block;font-weight:600;font-size:.95rem;margin-bottom:.4rem}
.carousel-track{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lightbox{position:fixed;inset:0;background:rgba(10,16,40,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:1.5rem}
.lightbox.open{display:flex}
.lightbox img{max-width:min(92vw,1100px);max-height:85vh;border-radius:1rem}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
