.tool-page { color: #10182b; background: #f7f8fb; }
.tool-hero { padding: clamp(8rem,14vw,11rem) 0 4rem; background: #fff; }
.tool-hero .shell { max-width: 72rem; }
.tool-eyebrow { color: #f81f5c; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tool-hero h1 { max-width: 13ch; margin: 1rem 0; font-size: clamp(3rem,7vw,6.5rem); line-height: .95; letter-spacing: -.06em; }
.tool-hero p { max-width: 46rem; color: #657087; font-size: 1.12rem; line-height: 1.7; }
.tool-workspace { padding: clamp(3rem,7vw,6rem) 0; }
.tool-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(16rem,.55fr); gap: 1.25rem; align-items: start; }
.tool-card,.tool-notes { padding: clamp(1.4rem,4vw,2.5rem); border-radius: 1.5rem; background: #fff; }
.tool-field + .tool-field { margin-top: 1.4rem; }
.tool-field label,.tool-result label { display: block; margin-bottom: .55rem; font-weight: 800; }
.tool-field input,.tool-field textarea,.tool-field select,.tool-result textarea { width: 100%; min-height: 3.25rem; padding: .8rem 1rem; border: 1px solid #cfd5df; border-radius: .65rem; color: #20202b; background: #fff; font: inherit; }
.tool-number-grid,.tool-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.tool-number-grid .tool-field { margin-top: 0; }
.tool-metrics { margin: 0; }
.tool-metrics div { padding: 1rem; border-radius: .65rem; background: #f2f4f8; }
.tool-metrics dt { color: #657087; font-size: .86rem; }
.tool-metrics dd { margin: .35rem 0 0; font-size: 1.35rem; font-weight: 800; }
.tool-audit-summary { font-size: 1.2rem; font-weight: 800; }
.tool-field input[aria-invalid="true"],.tool-field textarea[aria-invalid="true"] { border-color: #b42318; }
.tool-time-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tool-time-grid .tool-field { margin-top: 1.4rem; }
.tool-optional { color: #657087; font-weight: 500; }
.tool-help,.tool-error { margin: .5rem 0 0; color: #657087; font-size: .86rem; line-height: 1.5; }
.tool-error,.tool-error-summary { color: #b42318; font-weight: 700; }
.tool-submit,.tool-action { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; margin-top: 1.5rem; padding: .75rem 1.2rem; border: 0; border-radius: .65rem; color: #fff; background: #f81f5c; font: inherit; font-weight: 800; cursor: pointer; }
.tool-result { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #e2e5eb; }
.tool-result h2,.tool-notes h2 { margin-top: 0; }
.tool-secondary { display: inline-flex; min-height: 44px; align-items: center; margin-left: 1rem; color: #10182b; font-weight: 800; }
.tool-qr { display: block; width: min(100%,330px); height: auto; image-rendering: pixelated; }
.tool-destination { overflow-wrap: anywhere; }
.tool-notes ul { display: grid; gap: 1rem; padding-left: 1.2rem; color: #657087; line-height: 1.55; }
.tool-more { padding: 4rem 0 6rem; background: #fff; }
.tool-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.tool-links a { padding: 1.4rem; border-radius: 1rem; color: #10182b; background: #f2f4f8; }
.tool-links span { display: block; margin-top: .55rem; color: #657087; line-height: 1.5; }
.tool-product-cta { padding: 4rem 0; color: #fff; background: #111a2d; }
.tool-product-cta .shell { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.tool-product-cta span { color: #ff6e96; font-weight: 800; }
.tool-product-cta h2 { margin: .5rem 0; }
.tool-product-cta p { color: #c3c9d4; }
.tool-product-cta a { color: #fff; font-weight: 800; }
@media (max-width: 760px) { .tool-grid,.tool-links,.tool-time-grid,.tool-number-grid,.tool-metrics { grid-template-columns: 1fr; } .tool-product-cta .shell { align-items: flex-start; flex-direction: column; } .tool-secondary { margin-left: 0; } }
