*{box-sizing:border-box}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(13,149,182,.42);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-links{gap:1.35rem;font-size:.91rem}
.brand-image-link{flex:0 0 auto;overflow:hidden}
.brand-logo{width:190px;height:auto}
.hero-image{margin:0;border-radius:26px;overflow:hidden;background:var(--navy);box-shadow:var(--shadow);aspect-ratio:4/3}
.hero-image img{width:100%;height:100%;object-fit:cover}
.success,.form-error{display:none;padding:1rem;border-radius:10px;margin-bottom:1rem}
.success{background:#eaf8f1;border:1px solid #9dd0b6;color:#155f40}
.form-error{background:#fff0f0;border:1px solid #dfa8a8;color:#812525}
.success.show,.form-error.show{display:block}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.btn[disabled]{cursor:wait;opacity:.7}
.checkbox a{text-decoration:underline;text-underline-offset:2px}
.legal-content{max-width:850px}
.legal-content h2{font-size:1.55rem;margin-top:2.2rem}
.legal-content h2:first-of-type{margin-top:0}
.legal-content p{color:#40515d}
.legal-todo{border:1px solid #d9c787;background:#fffbea;padding:1.4rem;border-radius:14px;margin:2rem 0}
.legal-todo h2{margin-top:0}
.legal-note{border-left:3px solid var(--blue);padding-left:1rem}
.footer-brand{color:#fff}
.blog-filters{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:2.2rem}
.blog-filters button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:.62rem 1rem;cursor:pointer;font-weight:700}
.blog-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.blog-empty{border:1px dashed #aebfc7;background:var(--mist);border-radius:var(--radius);padding:clamp(2rem,5vw,4rem);text-align:center}
.blog-empty p{max-width:680px;margin:0 auto 1.5rem;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.blog-card h2{font-size:1.45rem}
.blog-read{display:inline-flex;margin-top:1rem;color:var(--blue);font-weight:700}
.pagination-wrap{display:flex;justify-content:center;margin-top:2rem;color:var(--muted)}
.time-demo{margin:0;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.demo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:var(--navy);color:#fff}
.demo-toolbar label{display:flex;align-items:center;gap:.65rem;font-weight:700}
.demo-toolbar select{background:#fff;border:0;border-radius:7px;padding:.45rem .65rem;color:var(--navy)}
.demo-badge{background:#d7f2f5;color:#075c70;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.time-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.time-summary div{background:#f7fafb;padding:1rem 1.2rem}
.time-summary span{display:block;color:var(--muted);font-size:.82rem}
.time-summary strong{font-size:1.3rem;color:var(--navy)}
.table-scroll{overflow-x:auto}
.time-demo table{width:100%;border-collapse:collapse;min-width:850px;font-size:.88rem}
.time-demo th,.time-demo td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.time-demo thead th{background:#e9f5f7;color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.time-demo tbody tr:nth-child(even){background:#fafcfd}
.time-demo tfoot th{background:#eef2f4;border-bottom:0;color:var(--navy)}
.status-ok{color:#346b5a;font-weight:800}
.status-plus{color:#147a5a;font-weight:800}
.status-minus{color:#9a5926!important;font-weight:800}
.blog-back{display:inline-flex;margin-bottom:1.2rem;color:var(--blue);font-weight:700}
.article-meta{color:var(--muted);font-size:.9rem}
.article-content{max-width:780px}
.article-content h2{margin-top:2.4rem}
.article-content a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.hero-grid{gap:3rem}.hero-image{max-width:680px}.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.brand-logo{width:158px}.demo-toolbar{align-items:flex-start;flex-direction:column}.time-summary{grid-template-columns:1fr}.time-summary div{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem}.time-summary strong{font-size:1.05rem}.blog-grid{grid-template-columns:1fr}}
