/* Public resources share the existing site typography and color system. */
.resource-wrap { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.breadcrumbs { padding-top:32px; color:var(--muted); font-size:14px; }
.breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; }
.breadcrumbs li + li::before { content:'/'; margin-right:10px; color:#989b91; }
.breadcrumbs a, .text-link, .resource-article a:not(.button) { text-decoration:underline; text-underline-offset:4px; }
.resource-intro { padding:52px 0 48px; }
.resource-page h1 { font-size:clamp(42px,5vw,70px); line-height:1.07; margin:20px 0 24px; letter-spacing:-.035em; }
.resource-page .lede { font-size:20px; line-height:1.65; max-width:670px; }
.resource-page h2 { font-size:clamp(30px,3.3vw,44px); line-height:1.15; margin:16px 0 20px; }
.resource-page h3 { font:600 18px/1.4 var(--sans); }
.resource-small { font-size:14px; line-height:1.7; color:var(--muted); }
.resource-feature { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; padding:48px; border:1px solid #d9cdbb; border-radius:20px; background:#f0e6d8; align-items:center; }
.resource-feature p:not(.eyebrow) { max-width:480px; }
.resource-feature .button { margin:26px 0 16px; font-size:15px; }
.quote-preview { background:#fffdf8; border:1px solid var(--line); border-radius:8px; padding:32px; box-shadow:0 12px 36px #5346330c; transform:rotate(1deg); }
.quote-preview .preview-title { font:500 30px/1.15 var(--serif); margin:20px 0 12px; }
.quote-preview > p:nth-child(3) { color:var(--muted); font-size:14px; }
.preview-line { display:flex; justify-content:space-between; gap:18px; border-top:1px solid var(--line); margin-top:20px; padding-top:20px; font-size:14px; }
.preview-line small { color:var(--muted); line-height:1.8; }
.preview-total { font-size:20px; }
.quote-preview > .resource-small { margin-top:24px; }
.resource-next { max-width:760px; padding:64px 0 88px; }
.resource-next > p:not(.eyebrow) { color:var(--muted); margin:20px 0; font-size:18px; }
.text-link { display:inline-block; color:var(--ink); font-weight:600; font-size:16px; line-height:1.6; }
.template-hero { display:grid; grid-template-columns:1.1fr .9fr; align-items:start; gap:64px; padding:48px 0 64px; }
.template-hero > div > .resource-small { margin:24px 0; max-width:600px; }
.download-panel { padding:32px; border-radius:16px; background:#252e29; color:#fffdf7; }
.download-panel .eyebrow { color:#f6c59d; }
.download-panel h2 { font-size:34px; margin-top:14px; }
.download-panel > p { font-size:15px; line-height:1.7; color:#e1e2d9; }
.download-panel h3 { margin:0 0 6px; }
.download-group { border-top:1px solid #657267; margin-top:24px; padding-top:20px; }
.download-group > p { color:#d5d8cc; font-size:13px; margin-bottom:14px; }
.download-links { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.download-links a { padding:13px 12px; border-radius:7px; background:#f9f5ec; color:#252e29; font-size:14px; line-height:1.5; text-decoration:none; }
.download-links a:hover { background:#f5d6b9; }
.download-links span { display:block; font-weight:700; }
.download-panel > .resource-small { margin-top:20px; font-size:13px; }
.resource-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:64px; align-items:start; padding-bottom:72px; }
.resource-toc { display:grid; gap:16px; position:sticky; top:28px; border-top:1px solid var(--line); padding-top:24px; font-size:14px; }
.resource-toc strong { font-size:11px; letter-spacing:.13em; color:var(--orange); }
.resource-toc a:hover { text-decoration:underline; text-underline-offset:4px; }
.resource-article section { border-top:1px solid var(--line); padding:32px 0 40px; scroll-margin-top:24px; }
.resource-article p { line-height:1.85; margin:18px 0; color:#50554f; font-size:17px; }
.resource-article .eyebrow { font-size:11px; color:var(--orange); margin-top:0; }
.resource-article .resource-small { font-size:14px; }
.quote-fields { margin:26px 0; }
.quote-fields > div { border-bottom:1px solid var(--line); padding:16px 0; }
.quote-fields dt { font-weight:600; margin-bottom:6px; }
.quote-fields dd { margin:0; color:#50554f; line-height:1.75; }
.comparison { margin:26px 0; border:1px solid var(--line); border-radius:10px; overflow:auto; }
.comparison table { width:100%; border-collapse:collapse; font-size:15px; }
.comparison caption { text-align:left; padding:18px; background:#e9ebdf; font-weight:600; }
.comparison th,.comparison td { padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:top; text-align:right; }
.comparison th:first-child { text-align:left; font-weight:500; }
.comparison thead th { background:#fffdf8; font-weight:600; }
.comparison small { display:block; font-size:12px; font-weight:400; }
.comparison .total-row { font-weight:700; background:#f0e6d8; }
.comparison .total-row th { font-weight:700; }
.revision-steps { padding-left:26px; }
.revision-steps li { padding:12px 0 12px 10px; }
.revision-steps li::marker { color:var(--orange); font-weight:600; }
.revision-steps h3 { margin:0; }
.revision-steps p { margin:10px 0 0; }
.resource-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin:28px 0; }
.resource-actions .button { font-size:15px; padding:16px 20px; }
.resource-page a:focus-visible,.comparison:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
@media(max-width:1000px){.resource-feature,.template-hero { gap:32px; }.resource-feature { padding:32px; }.resource-layout { gap:36px; grid-template-columns:180px minmax(0,1fr); }}
@media(max-width:760px){.resource-wrap { width:calc(100% - 40px); }.resource-feature,.template-hero { grid-template-columns:1fr; }.resource-feature { padding:28px; gap:28px; }.resource-layout { display:block; }.resource-toc { position:static; margin-bottom:32px; grid-template-columns:1fr 1fr; gap:16px; }.resource-toc strong { grid-column:1/-1; }.template-hero { padding-top:32px; padding-bottom:40px; }.resource-intro { padding:36px 0; }.resource-page .lede { font-size:18px; }.quote-preview { transform:none; }.resource-article h2 { font-size:32px; }.resource-next { padding-block:42px 64px; }}
@media(max-width:400px){.resource-wrap { width:calc(100% - 32px); }.resource-page h1 { font-size:40px; }.resource-feature { padding:22px 18px; }.resource-feature h2 { font-size:32px; }.resource-feature .button { white-space:normal; padding:14px; }.quote-preview,.download-panel { padding:22px 18px; }.download-panel h2 { font-size:30px; }.download-links { gap:8px; }.download-links a { font-size:13px; padding:12px 9px; }.comparison th,.comparison td { padding:11px 7px; }.comparison table { font-size:13px; }.comparison th:first-child { width:37%; }.comparison small { font-size:11px; }.resource-actions .button { padding-inline:14px; font-size:14px; }}

.prep-feature { margin-top:32px; background:#e9ebdf; border-color:#d8ddce; }

/* Long-guide anchors must not compete with focus scrolling on phones. */
html.prep-guide, html.quote-guide { scroll-behavior:auto; }
