:root { --lab: #003446; --lab-dark: #002630; --lab-soft: #edf4f5; --ink: #17242b; }
html { scroll-behavior: smooth; }
body { color: var(--ink); background: #fff; }
.landing-header { position: sticky; top: 0; z-index: 1020; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(23,36,43,.08); }
.landing-brand { display:flex; align-items:center; gap:.75rem; color:var(--ink); }
.landing-brand img { height:42px; width:auto; }
.landing-brand span { display:flex; flex-direction:column; line-height:1.05; }
.landing-brand strong { color:var(--lab); font-size:1.1rem; letter-spacing:.04em; }
.landing-brand small { font-size:.72rem; color:#6b7280; margin-top:.25rem; }
.navbar .nav-link { color:#53616a; font-weight:600; }
.navbar .nav-link:hover { color:var(--lab); }
.btn-lab { background:var(--lab); border-color:var(--lab); color:#fff; display:inline-flex; align-items:center; gap:.5rem; }
.btn-lab:hover { background:var(--lab-dark); border-color:var(--lab-dark); color:#fff; }
.btn-outline-lab { color:var(--lab); border-color:rgba(0,52,70,.35); }
.btn-outline-lab:hover { background:var(--lab-soft); color:var(--lab); border-color:var(--lab); }
.hero-section { padding:7rem 0 6rem; background:radial-gradient(circle at 85% 20%, rgba(0,52,70,.12), transparent 32%), linear-gradient(180deg,#fbfdfd 0%,#fff 100%); overflow:hidden; }
.hero-kicker,.section-kicker,.section-heading>span { display:inline-block; color:var(--lab); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1rem; }
.hero-section h1 { font-size:clamp(2.8rem,6vw,5.3rem); line-height:.98; letter-spacing:-.045em; margin:0; }
.hero-section h1 span { color:var(--lab); }
.hero-copy { max-width:700px; font-size:1.15rem; line-height:1.8; color:#5e6b73; margin-top:1.5rem; }
.hero-panel { background:var(--lab); color:#fff; border-radius:1.5rem; padding:1.6rem; box-shadow:0 30px 70px rgba(0,52,70,.22); }
.hero-panel-head { display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.7); font-size:.85rem; margin-bottom:1.3rem; }
.status-dot { width:.6rem; height:.6rem; border-radius:999px; background:#59d98e; box-shadow:0 0 0 5px rgba(89,217,142,.15); }
.hero-metric { padding:1.15rem 0; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; gap:.3rem; }
.hero-metric small,.hero-metric span { color:rgba(255,255,255,.65); }
.hero-metric strong { font-size:1.65rem; }
.hero-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.hero-tags span { padding:.45rem .7rem; border-radius:999px; background:rgba(255,255,255,.1); font-size:.78rem; }
.section { padding:6rem 0; }
.section-soft { background:var(--lab-soft); }
.section-heading {margin-bottom:2.3rem; }
.section-heading h2,.time-card h2 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.03em; margin:0; }
.feature-card,.process-card { height:100%; border:1px solid rgba(23,36,43,.09); border-radius:1.1rem; padding:1.5rem; background:#fff; }
.feature-card>i { width:3rem; height:3rem; border-radius:.85rem; background:var(--lab-soft); color:var(--lab); display:grid; place-items:center; font-size:1.25rem; margin-bottom:1.25rem; }
.feature-card h3,.process-card h3 { font-size:1.05rem; margin-bottom:.65rem; }
.feature-card p,.process-card p,.time-card p { color:#68757c; line-height:1.7; margin:0; }
.process-card>span { color:var(--lab); font-weight:800; font-size:.78rem; letter-spacing:.12em; }
.process-card h3 { margin-top:1.2rem; }
.time-card { background:var(--lab); color:#fff; padding:clamp(1.6rem,4vw,3rem); border-radius:1.5rem; display:grid; grid-template-columns:2.5fr 1fr; gap:2rem; align-items:center; }
.time-card .section-kicker { color:#a9c5ce; }
.time-card p { color:rgba(255,255,255,.66); margin-top:1rem; }
.time-grid { display:grid; gap:.75rem; }
.time-grid>div { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:1rem; padding:1rem 1.2rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.time-grid small { color:rgba(255,255,255,.62); }
.time-grid strong { font-size:1.2rem; }
.landing-footer { border-top:1px solid rgba(23,36,43,.08); padding:1.5rem 0; color:#7a858b; font-size:.85rem; }
@media (max-width: 991.98px) { .hero-section { padding:5rem 0 4rem; } .time-card { grid-template-columns:1fr; } .navbar-collapse { padding:1rem 0; } }
