/* ../../resource-gate.css */
/* Email unlock gate for guides and tools. */
.res-gate{position:relative;margin:36px 0 0}
.gate-locked .res-gate ~ *{display:none!important}
.gate-locked .toc{display:none}
.res-gate-tease{height:150px;margin-bottom:-110px;background:repeating-linear-gradient(#e3dccf 0 12px,transparent 12px 28px);border-radius:8px;opacity:.55;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
.res-gate-card{position:relative;max-width:620px;margin:0 auto;background:#faf7f1;border:1px solid #c9c1b4;border-radius:20px;padding:34px;box-shadow:0 18px 50px rgba(32,29,25,.10)}
.res-gate-card .eyebrow{margin:0 0 8px}
.res-gate-card h2{font-size:clamp(26px,3.4vw,36px);margin:0 0 10px;letter-spacing:-.03em}
.res-gate-card>p{margin:0 0 20px;font-size:16px;line-height:1.55;color:#514b43}
.gate-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gate-fields .wide{grid-column:1/-1}
.res-gate label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.res-gate input{box-sizing:border-box;display:block;width:100%;min-height:48px;border:1px solid #a99d8b;border-radius:8px;padding:10px 12px;font:16px/1.4 Arial,sans-serif;background:#fffdf9;color:#201d19}
.res-gate input:focus-visible{outline:3px solid #6843bf;outline-offset:2px}
.res-gate input[name=code]{max-width:240px;font-size:26px;letter-spacing:.35em;text-align:center}
.res-gate .pill{margin-top:20px;width:100%;justify-content:center;text-align:center}
.res-gate .pill:disabled{opacity:.6;cursor:wait}
.gate-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.gate-msg{margin:14px 0 0;font-size:14px;line-height:1.5}
.gate-msg:empty{display:none}
.gate-msg.bad{color:#b4382e}
.gate-small{margin:16px 0 0;font-size:12.5px;line-height:1.55;color:#6b6458}
.gate-small a{color:inherit}
.gate-link{background:none;border:0;padding:0;margin-top:14px;font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;color:#201d19}
.gate-perks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 20px;padding:0;list-style:none;font-size:13.5px;font-weight:700}
.gate-perks li::before{content:"✓ ";color:#1f7a4d}
.gate-done{text-align:center;font-size:20px;font-weight:700;padding:20px 0}
@media(max-width:600px){.res-gate-card{padding:22px 16px}.gate-fields{grid-template-columns:1fr}}

/* ../../guides.css */
/* Guide cards (resources hub + guide pages). Matches services.css palette. */
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.guide-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:24px;background:#faf7f1;border:1px solid #c9c1b4;border-radius:16px;text-decoration:none;color:#201d19;transition:border-color .2s,transform .2s,box-shadow .2s}
.guide-card:hover,.guide-card:focus-visible{border-color:#201d19;transform:translateY(-2px);box-shadow:0 10px 26px rgba(32,29,25,.08)}
.guide-topic{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#655642}
.guide-card strong{font-size:23px;line-height:1.15;letter-spacing:-.03em}
.guide-blurb{font-size:15px;line-height:1.55;color:#514b43}
.guide-meta{margin-top:auto;padding-top:12px;border-top:1px solid #d6cec2;font-size:13px;font-weight:700}
.guides-hub{padding-bottom:12px}
.read-time{font-weight:400;letter-spacing:.04em;opacity:.75}
.pack-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#e8dfd1;border-radius:20px;padding:32px;margin:56px 0 0}
.pack-cta h2{margin:6px 0 8px;font-size:clamp(26px,3vw,36px)}
.pack-cta p:last-child{margin:0;max-width:560px}
.pack-cta .pill{flex:none}
.more-guides{margin-top:56px}
.more-guides h2{font-size:clamp(26px,3vw,36px)}
.service-main h3{font-size:21px;margin:30px 0 8px;letter-spacing:-.02em}
@media(max-width:900px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.guide-grid{grid-template-columns:minmax(0,1fr)}.pack-cta{flex-direction:column;align-items:flex-start;padding:24px}}
@media(prefers-reduced-motion:reduce){.guide-card{transition:none}.guide-card:hover{transform:none}}

/* ../../resource-tools.css */
/* Free tools UI. Loaded only on tool pages. */
.tool-box{background:#faf7f1;border:1px solid #c9c1b4;border-radius:18px;padding:26px;margin:18px 0 8px}
.tool-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.tool-inputs label,.vet-name{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.tool-inputs .wide,.vet-name{grid-column:1/-1}
.tool-inputs .opt{font-weight:400;color:#6b6458}
.tool-box input:not([type=checkbox]),.tool-box select{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #a99d8b;border-radius:8px;padding:10px 12px;font:16px/1.4 Arial,sans-serif;background:#fffdf9;color:#201d19}
.tool-box input:focus-visible,.tool-box select:focus-visible,.tool-btn:focus-visible{outline:3px solid #6843bf;outline-offset:2px}
.chk{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:400}
.chk label{flex-direction:row;align-items:center;gap:6px;font-weight:400;font-size:15px}
.tool-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.metric{background:#fff;border:1px solid #d6cec2;border-radius:12px;padding:14px}
.metric span{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#655642}
.metric strong{display:block;font-size:28px;letter-spacing:-.03em;margin:6px 0 2px}
.metric small{font-size:12px;color:#6b6458}
.tool-diagnosis{margin:18px 0 0;padding:14px 16px;background:#fff1b8;border-radius:10px;font-size:15px;line-height:1.55}
.tool-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.tool-btn{border:1px solid #201d19;background:#fff;color:#201d19;border-radius:999px;padding:11px 18px;font:700 14px/1 Arial,sans-serif;cursor:pointer}
.tool-btn:disabled{opacity:.45;cursor:not-allowed}
.tool-table-wrap{overflow-x:auto;margin-top:18px;-webkit-overflow-scrolling:touch}
.tool-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px;background:#fff}
.tool-table th,.tool-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e3dccf;vertical-align:top}
.tool-table thead th{background:#201d19;color:#fff;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.tool-table tbody th{font-weight:700}
.tool-table tbody tr:nth-child(even){background:#faf7f1}
.vet-group{border:0;padding:0;margin:20px 0 0}
.vet-group legend{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#655642;margin-bottom:8px}
.vet-item{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid #e3dccf;font-size:15px;line-height:1.5;cursor:pointer}
.vet-item input{width:18px;height:18px;margin-top:3px;accent-color:#201d19}
.vet-item em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b6458;white-space:nowrap;padding-top:4px}
.vet-score{margin-top:22px}
.vet-bar{height:12px;background:#e8dfd1;border-radius:999px;overflow:hidden}
.vet-bar span{display:block;height:100%;width:0;background:#b4382e;transition:width .3s}
.vet-bar span[data-level=ok]{background:#d99a1e}.vet-bar span[data-level=good]{background:#1f7a4d}
.vet-score p{margin:10px 0 0;font-size:15px}.vet-score strong{font-size:22px;margin-right:8px}
.safe-fig{display:flex;gap:28px;align-items:center;margin:18px 0}
.safe-fig img{width:220px;height:auto;border-radius:14px;border:1px solid #c9c1b4;flex:none}
.safe-fig figcaption{display:flex;flex-direction:column;gap:14px;align-items:flex-start;font-size:15px;line-height:1.6}
.tool-card{background:#201d19;color:#faf7f1;border-color:#201d19}
.tool-card .guide-topic{color:#ffd127}.tool-card .guide-blurb{color:#d9d2c5}.tool-card .guide-meta{border-color:#4a443b}
.tool-card:hover,.tool-card:focus-visible{border-color:#ffd127}
@media(max-width:900px){.tool-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tool-box{padding:18px 14px}.tool-inputs{grid-template-columns:minmax(0,1fr)}.metric strong{font-size:23px}.vet-item{grid-template-columns:22px 1fr}.vet-item em{grid-column:2;padding-top:0}.safe-fig{flex-direction:column;align-items:flex-start}.safe-fig img{width:200px}}
@media print{.service-header,.service-footer,.breadcrumbs,.toc,.hero-actions,.tool-inputs,.tool-actions,.pack-cta,.more-guides,.related,.end-cta,#questions,section:not(#generator){display:none!important}.tool-table{min-width:0;font-size:11px}}
