/* tools.css — marketing chrome for the free-tool pages
   (checker, ai-access, schema-generator, glossary, llms-txt-generator,
   ai-visibility-index). Loaded AFTER console.css and ONLY by these pages, so it
   re-skins their legacy chrome to match the homepage's warm palette without
   touching the app — the app shares console.css tokens but never loads this file.
   Uses literal warm-neutral hex (not the shared grey tokens) so nothing here can
   leak into app.html. */

body { background: #FCFBFA; color: #2A2F3A; }

/* The header is NOT styled here — these pages render the shared marketing nav
   from /nav.css, byte-identical to the homepage's. Never add .topbar rules
   back: that fork is exactly what made the two headers drift apart.

   Match the homepage's content container (1240 / 30px, not the app's
   1080 / 24px) so the hero lines up under the shared nav. */
.wrap { max-width: 1240px; padding: 0 30px; }

/* Hero: warm near-white with a soft gradient blob — no grey wash. */
.hero { position: relative; overflow: hidden; background: #FCFBFA; }
.hero::before { content: ""; position: absolute; top: -170px; right: -130px; width: 580px; height: 580px;
  background: radial-gradient(circle, rgba(236,107,76,.10), transparent 66%); filter: blur(26px); pointer-events: none; }
.hero .wrap { position: relative; }
.hero p.lead { color: #4A423E; }
.hero .hint, .hint, .omit { color: #6B6158; }

/* Bands: white sections on the warm base, warm dividers. */
section.band { background: transparent; }
section.band.alt { background: #fff; border-top: 1px solid #EFE5DD; border-bottom: 1px solid #EFE5DD; }

/* Controls: warm borders instead of cool grey. */
.field input, .field textarea, .field select, input[type="text"], input[type="url"], textarea, select { border-color: #EFE5DD; }
.tabs button { border-color: #EFE5DD; }

/* Footer: warm and on-brand. */
footer { background: transparent; border-top: 1px solid #EFE5DD; color: #6B6158; }
footer a { color: #6B6158; }
footer a:hover { color: #EC6B4C; }
