/* free-tools-v1: shared card section for the free tools */
.ft{padding:56px 0 60px;background:linear-gradient(180deg,var(--cool) 0%,#fff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:90px}
.ft-head{max-width:720px;margin:0 0 28px}
.ft-head .eyebrow{margin-bottom:8px}
.ft-head h2{font-size:30px;margin:0 0 10px}
.ft-head p{margin:0;color:var(--muted);font-size:17px}
.ft-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:16px;align-items:stretch}
.ft-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px 22px;color:var(--ink);text-decoration:none;box-shadow:0 1px 2px rgba(18,74,140,.06),0 6px 18px rgba(18,74,140,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ft-card:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--blue);box-shadow:0 2px 4px rgba(18,74,140,.08),0 14px 30px rgba(18,74,140,.14)}
.ft-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.ft-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e3eefc;color:var(--navy);margin-bottom:16px;flex:none}
.ft-ico svg{width:26px;height:26px}
.ft-card h3{font-size:19px;margin:0 0 8px;color:var(--navy)}
.ft-card p{font-size:15.5px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.ft-meta{font-size:13px;white-space:nowrap;font-weight:600;letter-spacing:.02em;color:var(--gold-muted);margin:0 0 18px}
.ft-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:var(--navy);border:2px solid var(--navy);border-radius:999px;padding:8px 15px;white-space:nowrap;transition:background .18s ease,color .18s ease}
.ft-card:hover .ft-btn{background:var(--navy);color:#fff}
.ft-btn svg{width:16px;height:16px}
.ft-lead{background:linear-gradient(140deg,var(--navy) 0%,var(--navy-deep) 100%);border-color:transparent;color:#fff}
.ft-lead .ft-ico{background:rgba(255,255,255,.14);color:#fff}
.ft-lead h3{color:#fff;font-size:23px}
.ft-lead p{color:#e4eefb;font-size:16.5px}
.ft-lead .ft-meta{color:#ffc79a}
.ft-lead .ft-btn{background:var(--gold);border-color:var(--gold);color:#1f2d3d}
.ft-lead:hover{border-color:transparent}
.ft-lead:hover .ft-btn{background:#fff;border-color:#fff;color:var(--navy-deep)}
.ft-tag{position:absolute;top:18px;right:18px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:4px 10px}
@media(max-width:1060px){.ft-grid{grid-template-columns:repeat(2,1fr)}.ft-lead{grid-column:1/-1}}
@media(max-width:600px){.ft{padding:40px 0 44px}.ft-head h2{font-size:25px}.ft-grid{grid-template-columns:1fr;gap:14px}.ft-card{padding:20px 18px 18px}.ft-ico{width:46px;height:46px;margin-bottom:12px}.ft-lead h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ft-card,.ft-btn{transition:none}.ft-card:hover{transform:none}}
.ft-hub{background:none;border:0;padding:34px 0 10px}
.ft-hub .ft-head h2{font-size:26px}
