:root { --ink:#263238; --slate:#51646c; --mist:#dfe7e5; --paper:#f5f4ef; --sand:#c9b596; --line:#cbd2cf; --white:#fff; --serif:Georgia,"Times New Roman",serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Arial,sans-serif; }
a { color:inherit; }
.wrap { width:min(1120px,calc(100% - 44px)); margin:auto; }
.skip { position:absolute; left:-999px; }
.skip:focus { left:1rem; top:1rem; z-index:9; background:#fff; padding:.5rem; }
header { position:sticky; top:0; z-index:5; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); }
.nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.brand { display:flex; align-items:center; color:var(--ink); font-size:1.08rem; font-weight:800; line-height:1; text-decoration:none; }
.brand img { width:49px; height:49px; margin-right:10px; object-fit:contain; }
.brand small { font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:25px; }
nav a { font-size:.9rem; font-weight:700; text-decoration:none; }
.button { display:inline-block; padding:12px 19px; border:2px solid var(--slate); border-radius:3px; background:var(--slate); color:#fff; font-weight:800; text-decoration:none; }
.button:hover { background:#3d4e55; border-color:#3d4e55; }
.small { padding:8px 13px; }
.notice { padding:8px 0; background:#e7ece9; color:#35464b; font-size:.85rem; font-weight:800; text-align:center; }
.hero { position:relative; display:grid; align-items:center; min-height:600px; overflow:hidden; background:#293b40; color:#fff; }
.hero-image { position:absolute; inset:0; background:linear-gradient(90deg,rgba(24,38,42,.93),rgba(24,38,42,.69) 46%,rgba(24,38,42,.16)),url('assets/tools-hero.webp') center/cover; }
.hero-copy { position:relative; padding:85px 0; }
.eyebrow { margin:0 0 13px; color:#667f79; font-size:.73rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero .eyebrow { color:#cbd8d2; }
h1,h2,h3 { font-family:var(--serif); }
h1,h2 { margin:0; line-height:.99; }
.hero h1 { max-width:830px; font-size:clamp(3.15rem,7vw,6.35rem); }
.hero h1 em { color:#d9e3df; }
.lead { max-width:590px; margin:25px 0; font-size:1.17rem; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.text-link { font-weight:800; text-underline-offset:4px; }
.trust { background:#dfe7e5; color:#405056; font-size:.88rem; font-weight:700; }
.trust .wrap { display:flex; justify-content:space-between; gap:20px; padding:15px 0; }
.section { padding:98px 0; }
.section h2 { margin-bottom:40px; font-size:clamp(2.5rem,5vw,4.35rem); }
.intro { max-width:670px; margin:-20px 0 36px; font-size:1.1rem; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.cards article { display:flex; min-height:245px; flex-direction:column; padding:27px 23px; background:#fff; border:1px solid var(--line); }
.cards h3 { margin:0 0 13px; font-size:1.64rem; line-height:1.1; }
.cards p { margin:0 0 20px; }
.cards a { margin-top:auto; font-weight:800; }
.dark { background:#34484d; color:#fff; }
.dark .eyebrow { color:#c5d9d1; }
.title-row { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gallery figure { margin:0; overflow:hidden; background:#fff; border:1px solid var(--line); }
.gallery img { display:block; width:100%; max-height:390px; height:auto; background:#edf0ed; object-fit:contain; }
.gallery figcaption { padding:16px 17px 18px; color:var(--ink); }
.gallery p { margin:0 0 3px; color:#60777a; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.gallery h3 { margin:0; font-size:1.4rem; line-height:1.12; }
.dark .gallery figure { border:none; }
.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:9vw; }
.split h2 { margin-bottom:21px; }
.split img { width:100%; height:420px; object-fit:cover; }
.cta { padding:90px 0; background:#72878a; color:#fff; }
.cta .eyebrow { color:#e4ece8; }
.cta h2 { font-size:clamp(3rem,6vw,5rem); }
.cta p:not(.eyebrow) { max-width:600px; font-size:1.08rem; }
.light { border-color:#fff; background:#fff; color:#304146; }
footer { padding:41px 0; background:#202d31; color:#eff2ef; }
.footer { display:grid; grid-template-columns:1fr 1fr auto; gap:24px; }
.footer p { margin:5px 0; }
.footer a { display:block; margin-bottom:5px; }
.license-notice { grid-column:1/-1; margin:0; padding-top:16px; border-top:1px solid #56666b; color:#fff; font-size:.88rem; font-weight:800; }
@media (max-width:760px) { .wrap { width:min(100% - 32px,1120px); } nav { gap:12px; } nav a:not(.button) { display:none; } .hero { min-height:545px; } .trust .wrap { display:block; text-align:center; } .trust span { display:block; } .trust span + span { margin-top:3px; } .section { padding:68px 0; } .cards,.gallery,.split,.footer { grid-template-columns:1fr; } .title-row { align-items:start; flex-direction:column; } .gallery img { max-height:360px; } }
