/* DIY Promotion — free tools page (uses the public site look) */
.ft-body { background: #fff; }
.ft-body .card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 24px; box-shadow: var(--shadow-sm); }
.ft-body .muted { color: var(--muted); }
.ft-body .field small { font-weight: 400; color: var(--muted); }
.ft-body .field textarea { width: 100%; box-sizing: border-box; }
.ft-body .seo-sec { margin: 0 0 18px; }
.ft-body .seo-sec-head { display: block; }
.ft-body .seo-sec-head > div > h3 { display: none; }
.ft-body #fx-dl-zip { display: none; }
.ft-body .seo-num { display: none; }
.ft-hero { padding: 56px 0 40px; background: #f7f8fb; border-bottom: 1px solid var(--line); }
.ft-hero h1 { font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 800; max-width: 20ch; margin: 6px 0 12px; }
.ft-lead { font-size: 1.125rem; color: var(--text); max-width: 60ch; margin: 0 0 26px; }
.ft-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 2px solid var(--ink); }
.ft-index a { display: block; padding: 16px 18px 18px 0; color: var(--text); border-right: 1px solid var(--line); }
.ft-index a + a { padding-left: 18px; }
.ft-index a:last-child { border-right: 0; }
.ft-index a:hover { text-decoration: none; }
.ft-index a:hover b { color: var(--accent); }
.ft-index b { display: block; color: var(--ink); font-family: var(--display); font-size: 1.05rem; margin-bottom: 4px; }
.ft-index span { font-size: .9rem; }
.ft-sec { padding: 56px 0; scroll-margin-top: 70px; }
.ft-soft { background: #f7f8fb; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ft-head { max-width: 760px; margin-bottom: 22px; }
.ft-head h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; margin: 4px 0 8px; }
.ft-head p { margin: 0; color: var(--text); }
.ft-form { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: 12px; align-items: end; }
.ft-form .field { margin: 0; }
.ft-form .btn { height: 48px; }
.ft-form-plan { grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; }
.ft-form-plan .btn { grid-column: 1 / -1; justify-self: start; }
#ck-out:not(:empty), #pl-out:not(:empty) { margin-top: 20px; }
.ft-ic-good, .ft-ic-warn, .ft-ic-bad { background-position: center; background-repeat: no-repeat; background-size: 14px; }
.ft-ic-good { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.ft-ic-warn { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v7'/%3E%3Cpath d='M12 17.5v.5'/%3E%3C/svg%3E"); }
.ft-ic-bad { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E"); }
.ft-next { margin-top: 16px; padding: 14px 16px; border-left: 4px solid var(--accent); background: #f7f8fb; font-size: .95rem; }
.pl-top { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; border-bottom: 2px solid var(--ink); padding-bottom: 12px; }
.pl-top h3 { margin: 0 0 4px; font-size: 1.3rem; }
.pl-top p { margin: 0; max-width: 70ch; }
.pl-acts { display: flex; gap: 8px; }
.pl-weeks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 28px; }
.pl-week { padding: 18px 0; border-bottom: 1px solid var(--line); }
.pl-week h4 { margin: 0 0 10px; font-size: 1.05rem; color: var(--ink); }
.pl-week h4 span { display: block; font: 700 .75rem var(--font); letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin-bottom: 2px; }
.pl-week ol { margin: 0; padding-left: 20px; display: grid; gap: 12px; }
.pl-week li b { color: var(--ink); }
.pl-week li small { color: var(--muted); }
.pl-week li p { margin: 3px 0 0; font-size: .92rem; }
.pl-week .pl-help { font-size: .8rem; color: var(--accent); }
.pl-extra { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 18px; }
.pl-extra h4 { margin: 0 0 6px; color: var(--ink); }
.pl-extra ul { margin: 0; padding-left: 18px; font-size: .92rem; display: grid; gap: 4px; }
.ft-band { background: #12172b; color: #fff; padding: 52px 0; }
.ft-band-in { display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.ft-band h2 { color: #fff; margin: 0 0 6px; font-size: clamp(1.5rem, 3vw, 2rem); }
.ft-band p { color: rgba(255,255,255,.8); margin: 0; max-width: 62ch; }
.ft-band-btn { background: #fff; color: var(--ink); }
.ft-band-btn:hover { background: #e9ecf5; color: var(--ink); }
@media (max-width: 900px) {
  .ft-index, .ft-form, .ft-form-plan, .pl-weeks, .pl-extra { grid-template-columns: 1fr; }
  .ft-index a, .ft-index a + a { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--line); }
}
@media print {
  .nav, .ft-hero, #fix, #check, .ft-band, .footer, #pl-form, .pl-acts, .ft-next, .sticky-cta { display: none !important; }
  .ft-sec { padding: 0; } .ft-body .card { border: 0; box-shadow: none; padding: 0; }
}
.ft-body .seo-sec-head { display: none; }
