/* SEO-only editorial and report layouts, aligned with the accepted service pages. */
.seo-page { --seo-copy:#425572; --seo-accent:#355fa1; --seo-number:#4666a0; --seo-line:#d9e4f3; --seo-surface:#f5f9ff; }
.seo-page .es-section { padding-block:64px; scroll-margin-top:100px; }
.seo-page .es-section h2 { font-size:clamp(28px,2.9vw,42px); font-weight:800; letter-spacing:-.02em; }
.seo-page .es-section .eyebrow { font-size:12px; font-weight:600; letter-spacing:.28em; color:var(--blue); }
.seo-page .es-section .gradient-text { background-image:linear-gradient(100deg,#126b9b,#3c4bc2 55%,#823dba); }
.seo-page .es-intro { color:var(--seo-copy); font-size:16px; line-height:1.9; }
.seo-page .es-hero-grid { grid-template-columns:1.15fr 1fr; gap:44px; }
.seo-page .es-hero h1 { font-size:clamp(32px,3.25vw,47px); }
.seo-hero-phrase { display:inline-block; }
.seo-page .es-hero-actions { gap:14px 24px; }
.seo-page .es-hero-actions > .button {
  border-color:transparent;
  box-shadow:inset 0 0 0 1px #a1dbffb3,0 0 1px #a1dbff66,0 4px 24px #733dff21;
}
.seo-page .es-hero-link { font-size:14px; }
.seo-page .seo-hero-scope { margin-top:15px; font-size:14px; color:#bfd2eb; }
.seo-hero-worries { list-style:none; padding:22px 0 0; margin:28px 0 0; border-top:1px solid #32506d; display:flex; justify-content:space-between; gap:18px; font-size:14px; color:#dbe9f9; }
.seo-hero-worries li { display:flex; align-items:flex-start; gap:8px; }
.seo-hero-worries .icon { width:16px; height:23px; color:#8edaff; }
.seo-page .es-page-nav > div { grid-template-columns:repeat(6,minmax(0,1fr)); }
.seo-page .es-page-nav a { padding-inline:5px; gap:8px; }
.seo-keywords-section,.seo-process-section,.seo-page .es-related { background:var(--seo-surface); }
.seo-page .es-pricing { background:#fff url('../assets/pricing-trails.png') center bottom / cover no-repeat; }
.seo-section-head { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,86px); align-items:end; margin-bottom:34px; }
.seo-section-head h2 { text-wrap:balance; }
.seo-page h3 { font-size:22px; font-weight:700; line-height:1.6; }
.seo-page .seo-note { color:var(--seo-copy); font-size:14px; line-height:1.85; margin-top:18px; }
.seo-number { color:var(--seo-number); font-size:26px; line-height:1.5; font-weight:500; font-variant-numeric:tabular-nums; }
.seo-support-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px 48px; }
.seo-support-grid article { padding-top:23px; border-top:1px solid #b8cde2; }
.seo-support-title { display:flex; gap:20px; align-items:baseline; margin-bottom:15px; }
.seo-support-title h3 { margin:0; }
.seo-check-list { padding:0; margin:0; list-style:none; }
.seo-check-list li { display:flex; align-items:flex-start; gap:10px; font-size:16px; line-height:1.85; color:var(--seo-copy); }
.seo-check-list li + li { margin-top:5px; }
.seo-check-list .icon { width:16px; height:23px; color:var(--seo-accent); margin-top:2px; }
.seo-page .seo-deliverable { display:flex; flex-direction:column; gap:7px; border-left:3px solid #557aaf; background:var(--seo-surface); padding:15px 18px; margin-top:18px; font-size:17px; font-weight:600; color:var(--ink); line-height:1.8; }
.seo-deliverable strong { font-size:14px; color:var(--seo-accent); font-weight:600; }
.seo-text-details { margin-top:16px; border-bottom:1px solid var(--seo-line); }
.seo-text-details summary,.seo-report-details > summary { display:flex; justify-content:space-between; gap:20px; padding:17px 0; cursor:pointer; list-style:none; color:var(--ink); font-size:16px; font-weight:600; }
.seo-text-details summary::-webkit-details-marker,.seo-report-details > summary::-webkit-details-marker { display:none; }
.seo-text-details[open] .es-disclosure:after,.seo-report-details[open] .es-disclosure:after { display:none; }
.seo-text-details > p { padding-bottom:20px; font-size:16px; color:var(--seo-copy); }
.seo-technical-note { margin-top:28px; padding-top:24px; border-top:1px solid var(--seo-line); }
.seo-technical-note h3 { margin:0 0 12px; font-size:20px; }
.seo-technical-note p { margin:0; font-size:16px; color:var(--seo-copy); }
.seo-keyword-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; list-style:none; padding:0; margin:32px 0 0; }
.seo-step-number { display:grid; place-items:center; width:38px; height:38px; border:1px solid #a3bddb; border-radius:50%; color:var(--seo-accent); font-size:19px; line-height:1; font-weight:500; font-variant-numeric:tabular-nums; background:#fff; }
.seo-keyword-steps h3 { margin:14px 0 9px; font-size:18px; }
.seo-keyword-steps p { font-size:16px; line-height:1.85; color:var(--seo-copy); }
.seo-keyword-tools { border-block:1px solid #b8cde2; padding:24px 0; margin-top:28px; }
.seo-keyword-tools h3 { margin:0 0 20px; font-size:20px; }
.seo-keyword-tools dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin:0; }
.seo-keyword-tools dt { font-size:17px; font-weight:700; color:var(--seo-accent); line-height:1.7; }
.seo-keyword-tools dd { margin:9px 0 0; color:var(--seo-copy); font-size:16px; line-height:1.85; }
.seo-analysis { margin-bottom:36px; }
.seo-analysis > h3 { margin:0 0 12px; }
.seo-analysis-intro { max-width:900px; color:var(--seo-copy); font-size:16px; line-height:1.9; }
.seo-analysis-sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 48px; margin:28px 0 0; }
.seo-analysis-sources > div { border-top:1px solid #b8cde2; padding-top:19px; }
.seo-analysis-sources dt { font-size:20px; font-weight:700; line-height:1.6; }
.seo-analysis-sources dt > span { display:block; font-size:12px; color:var(--seo-accent); font-weight:600; margin-bottom:7px; }
.seo-analysis-sources dd { font-size:16px; line-height:1.85; margin:12px 0 0; color:var(--seo-copy); }
.seo-analysis-plan { background:var(--seo-surface); border:1px solid var(--seo-line); border-radius:8px; padding:26px 28px; margin-top:28px; }
.seo-analysis-plan h3 { margin:0 0 22px; }
.seo-analysis-plan ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; margin:0; padding:0; }
.seo-analysis-plan .seo-number { font-size:19px; }
.seo-analysis-plan h4 { font-size:17px; line-height:1.7; margin:8px 0; }
.seo-analysis-plan p { font-size:14px; line-height:1.85; color:var(--seo-copy); }
.seo-report-sample-guide { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; border-left:3px solid var(--seo-accent); padding:23px 28px; margin:22px 0; background:var(--seo-surface); scroll-margin-top:100px; }
.seo-report-sample-guide .seo-report-sample-label { font-size:13px; color:var(--seo-accent); font-weight:600; margin-bottom:9px; }
.seo-report-sample-guide h3 { font-size:22px; line-height:1.6; margin:0; text-wrap:balance; }
.seo-report-sample-guide p { font-size:16px; line-height:1.85; color:var(--seo-copy); }
.seo-report-sample-guide .seo-note { font-size:13px; margin-top:9px; }
.seo-table-panel { border:1px solid #b8cde2; border-radius:8px; padding:24px 28px; background:#fff; }
.seo-pricing-panel { border-color:#bfd5f5; border-radius:18px; padding:28px 36px; background:#ffffffed; }
.seo-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:16px; line-height:1.8; text-align:left; }
.seo-table caption { text-align:left; font-size:16px; font-weight:600; padding-bottom:18px; }
.seo-table th,.seo-table td { vertical-align:top; padding:18px 22px; border-bottom:1px solid var(--seo-line); }
.seo-table thead th { background:var(--seo-surface); border-top:1px solid var(--seo-line); color:var(--seo-accent); font-size:13px; font-weight:600; padding-block:13px; }
.seo-table thead th:first-child { width:26%; }
.seo-table tbody th { color:var(--ink); font-size:16px; font-weight:600; }
.seo-table td { color:var(--seo-copy); }
.seo-cell-label { display:none; }
.seo-example { margin:0; }
.seo-example figcaption { display:flex; flex-direction:column; gap:6px; font-size:14px; margin-bottom:23px; color:var(--seo-copy); }
.seo-example figcaption strong { color:var(--seo-accent); font-weight:600; }
.seo-before-after { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.seo-example-side { min-width:0; }
.seo-example-label { display:flex; align-items:center; gap:16px; color:var(--seo-accent); font-size:22px; font-weight:600; }
.seo-example-label > span { font:400 14px/1.7 var(--font); }
.seo-example-side h3 { font-size:20px; margin:8px 0 20px; }
.seo-page-model { display:flex; flex-direction:column; border:1px solid #b8cde2; border-radius:10px; background:white; overflow:hidden; min-height:640px; }
.seo-model-sitebar { padding:15px 22px; border-bottom:1px solid var(--seo-line); color:var(--ink); font-size:16px; font-weight:700; display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; }
.seo-model-sitebar > span { color:var(--seo-copy); font-size:13px; font-weight:400; }
.seo-model-body { padding:28px; flex:1; display:flex; flex-direction:column; gap:18px; }
.seo-model-heading { display:flex; align-items:baseline; gap:10px; }
.seo-model-heading h4 { margin:0; font-size:26px; line-height:1.5; letter-spacing:-.02em; }
.seo-model-intro { color:var(--seo-copy); font-size:16px; line-height:1.8; }
.seo-model-information { position:relative; padding-left:34px; }
.seo-model-information > .seo-annotation { position:absolute; left:0; top:0; }
.seo-annotation { color:var(--seo-accent); font-size:24px; line-height:1.4; font-weight:600; flex-shrink:0; }
.seo-model-photo { display:flex; justify-content:center; align-items:center; gap:12px; min-height:115px; background:#f0f4f8; border:1px dashed #8fa8c4; color:var(--seo-copy); font-size:14px; }
.seo-model-photo .icon { width:28px; height:28px; }
.seo-page .seo-model-photo-caption { font-size:14px; color:var(--seo-copy); margin-top:9px; }
.seo-model-topics { margin-top:17px; display:grid; gap:0; }
.seo-model-topics > div { border-top:1px solid var(--seo-line); padding:11px 0; }
.seo-model-topics strong { color:var(--ink); font-size:16px; }
.seo-model-topics p { color:var(--seo-copy); font-size:14px; margin-top:3px; }
.seo-model-contact { display:flex; gap:10px; align-items:center; padding-top:8px; margin-top:auto; }
.seo-model-cta { display:block; text-align:center; font-size:16px; padding:10px 20px; border:1px solid #829ab5; border-radius:4px; color:var(--seo-copy); }
.seo-example-after .seo-page-model { border-color:#557aaf; }
.seo-example-after .seo-model-heading h4 { color:#234f8d; }
.seo-example-after .seo-model-contact { padding-top:16px; }
.seo-example-after .seo-model-cta { background:#355fa1; color:white; border-color:#355fa1; font-weight:600; padding:14px 18px; width:100%; }
.seo-example-changes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; padding:0; margin:26px 0 0; list-style:none; }
.seo-example-changes li { display:flex; gap:13px; font-size:16px; font-weight:600; }
.seo-page .seo-diagram-label { display:flex; flex-wrap:wrap; gap:5px 20px; font-size:14px; color:var(--seo-accent); margin-bottom:24px; font-weight:600; }
.seo-diagram-label span { font-size:13px; color:var(--seo-copy); font-weight:400; }
.seo-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; list-style:none; padding:0; margin:0; }
.seo-timeline li { position:relative; }
.seo-timeline li:not(:last-child)::after { content:""; position:absolute; left:52px; right:-20px; top:19px; border-top:1px solid #b3c9e2; }
.seo-timeline h3 { font-size:21px; margin:17px 0 10px; }
.seo-timeline li > p { font-size:16px; color:var(--seo-copy); }
.seo-improvement-loop { display:flex; align-items:center; justify-content:space-between; gap:25px; list-style:none; padding:18px 23px; margin:26px 0 0; border-block:1px solid #bfd0e4; }
.seo-improvement-loop li { position:relative; font-size:14px; font-weight:600; color:var(--seo-accent); }
.seo-improvement-loop li:not(:last-child)::after { content:"›"; position:absolute; right:-35px; color:#6589b4; font-size:23px; top:-7px; font-weight:400; }
.seo-estimate-conditions { display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; margin-top:26px; }
.seo-estimate-conditions h3 { font-size:19px; margin:0; }
.seo-pricing-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 25px; margin-top:20px; }
.seo-page .es-text-link { color:var(--ink); gap:12px; font-size:14px; }
.seo-page .es-text-link .icon { width:20px; height:20px; }
.seo-faq-link { display:flex!important; width:fit-content; margin-top:12px; }
.seo-page .seo-related-section { padding-block:48px; }
.seo-related-section .seo-section-head { margin-bottom:25px; }
.seo-page .seo-related-section h2 { font-size:28px; }
.seo-related-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.seo-related-links > a { display:flex; justify-content:space-between; gap:16px; padding-top:20px; border-top:1px solid #bdcde1; text-decoration:none; }
.seo-related-links strong { font-size:18px; font-weight:600; display:block; }
.seo-related-links a > span > span { display:block; color:var(--seo-copy); font-size:14px; margin-top:7px; }
.seo-related-links .icon { width:20px; margin-top:4px; color:var(--seo-accent); }
.seo-related-links a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.seo-page .site-contact .site-contact-button { width:min(100%,400px); min-height:64px; font-size:18px; font-weight:700; gap:20px; background:var(--gradient); }

/* A single report sheet; charts stay undistorted, with local scroll on small screens. */
.seo-report-perspectives { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:0 0 20px; padding:0; list-style:none; }
.seo-report-perspectives > * { border-top:1px solid var(--seo-line); padding-top:15px; }
.seo-report-perspectives h3 { font-size:18px; margin:0 0 8px; }
.seo-report-perspectives p { font-size:14px; color:var(--seo-copy); }
.seo-report-perspectives strong { font-size:17px; display:block; margin-bottom:7px; font-weight:600; }
.seo-report-service-note { margin-bottom:23px!important; font-size:14px; color:var(--seo-copy); }
.seo-report { border:1px solid #b8cde2; border-radius:8px; background:white; padding:30px 36px; }
.seo-report-header { border-bottom:1px solid var(--seo-line); padding-bottom:23px; }
.seo-report-header h3 { font-size:26px; margin:0 0 12px; }
.seo-report-periods { display:flex; flex-wrap:wrap; gap:6px 25px; color:var(--seo-copy); font-size:14px; }
.seo-report-periods dd { margin:3px 0 0; }
.seo-report-periods dt { font-size:12px; }
.seo-report-subject { color:var(--seo-copy); font-size:13px; margin-bottom:8px!important; }
.seo-report-disclaimer { margin-top:15px!important; padding:13px 16px; border-left:3px solid #4666a0; background:var(--seo-surface); font-size:14px; font-weight:600; color:var(--seo-accent); }
.seo-report-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin:25px 0; }
.seo-report-kpis > div { padding-left:22px; border-left:1px solid var(--seo-line); }
.seo-report-kpis > div:first-child { padding-left:0; border:0; }
.seo-report-kpis dt { font-size:14px; font-weight:600; }
.seo-report-kpis dd { margin:0; }
.seo-report-kpi-value { font-size:36px; line-height:1.5; color:var(--seo-accent); font-weight:600; font-variant-numeric:tabular-nums; }
.seo-report-kpi-value span { font-size:14px; font-weight:400; margin-left:6px; }
.seo-report-kpi-delta { font-size:13px; color:var(--seo-copy); }
.seo-report-kpi-delta span { margin-left:12px; font-weight:600; color:var(--seo-accent); }
.seo-report-kpi-source { font-size:12px; color:var(--seo-copy); margin-top:5px!important; }
.seo-report-measurement-note { font-size:13px; color:var(--seo-copy); margin-bottom:23px!important; }
.seo-report-main { display:grid; grid-template-columns:minmax(0,1fr); }
.seo-report-figure { margin:0; padding-top:23px; border-top:1px solid var(--seo-line); min-width:0; }
.seo-report-figure h4 { font-size:19px; margin:0 0 7px; line-height:1.6; }
.seo-report-figure figcaption p { font-size:14px; color:var(--seo-copy); }
.seo-report-chart { overflow-x:auto; max-width:100%; min-width:0; margin-top:14px; overscroll-behavior-x:contain; scrollbar-color:#90a9c6 #edf3fa; }
.seo-report-scroll-hint { display:none; }
.seo-report-chart:focus-visible,.seo-report-query-scroll:focus-visible { outline:3px solid #1683df; outline-offset:3px; }
.seo-report-svg { display:block; width:100%; height:auto; min-width:640px; max-height:330px; font-family:var(--font); }
.seo-report-svg text { fill:var(--seo-copy); font-size:16px; }
.seo-report-svg :is(path,line,rect,circle) { vector-effect:non-scaling-stroke; }
.seo-report-tick line { stroke:#d9e4f3; stroke-width:1; shape-rendering:crispEdges; }
.seo-report-axis { stroke:#849dbb; stroke-width:1; shape-rendering:crispEdges; }
.seo-report-line { stroke:#355fa1; stroke-width:2.5; }
.seo-report-point { fill:#355fa1; stroke:#fff; stroke-width:1.5; }
.seo-report-bar { fill:#466ca6; }
.seo-report-svg .seo-report-value-label { fill:#203f72; font-weight:600; }
.seo-report-donut { font-family:var(--font); fill:var(--seo-copy); font-size:14px; }
.seo-report-donut-total { font-size:25px; font-weight:600; fill:var(--ink); }
.seo-report-donut-track { stroke:#e6edf6; }
.seo-report-device-segment--1 { stroke:#355fa1; }
.seo-report-device-segment--2 { stroke:#15869b; }
.seo-report-device-segment--3 { stroke:#9879b1; }
.seo-report-fictional { color:var(--seo-accent)!important; font-size:13px!important; font-weight:600; margin-top:7px!important; }
.seo-report-source,.seo-report-chart-note { color:var(--seo-copy); font-size:13px; line-height:1.8; margin-top:10px!important; }
.seo-report-values { width:100%; border-collapse:collapse; margin-top:15px; font-size:14px; text-align:left; }
.seo-report-values th,.seo-report-values td { padding:8px 12px; border-bottom:1px solid var(--seo-line); font-variant-numeric:tabular-nums; }
.seo-report-values th { font-weight:500; color:var(--seo-copy); }
.seo-report-values td { color:var(--ink); }
.seo-report-values caption { text-align:left; color:var(--seo-copy); font-size:13px; padding-block:8px; }
.seo-report-month-values { display:block; }
.seo-report-month-values caption { display:block; }
.seo-report-month-values thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.seo-report-month-values tbody { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.seo-report-month-values tr { display:flex; flex-direction:column; border-top:1px solid var(--seo-line); }
.seo-report-month-values th,.seo-report-month-values td { border:0; padding:7px 0; }
.seo-report-month-values th { font-size:12px; }
.seo-report-month-values td { padding-top:0; font-weight:600; }
.seo-report-comments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:25px 0; }
.seo-report-comments > div { border-top:2px solid #b3c9e2; padding-top:13px; }
.seo-report-comments dt { color:var(--seo-accent); font-size:16px; font-weight:600; margin-bottom:8px; }
.seo-report-comments dd { margin:0; font-size:14px; color:var(--seo-copy); }
.seo-report-worklog { border-top:1px solid var(--seo-line); padding-top:21px; margin-top:15px; }
.seo-report-worklog h4 { font-size:18px; margin:0 0 12px; }
.seo-report-worklog ol { list-style:none; padding:0; margin:0; }
.seo-report-worklog h4 span { font-size:13px; font-weight:400; color:var(--seo-copy); margin-left:12px; }
.seo-report-worklog > p { font-size:13px; color:var(--seo-copy); margin-top:10px; }
.seo-report-worklog li { display:flex; gap:20px; font-size:14px; color:var(--seo-copy); padding-block:5px; }
.seo-report-worklog time { color:var(--seo-accent); white-space:nowrap; font-variant-numeric:tabular-nums; }
.seo-report-details { border-block:1px solid #a9bfd9; margin-top:24px; }
.seo-report-details > summary { padding:19px 0; font-size:16px; align-items:center; }
.seo-report-details > summary .icon { transform:rotate(90deg); color:var(--seo-accent); }
.seo-report-details[open] > summary .icon { transform:rotate(-90deg); }
.seo-report-details-body { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; padding:8px 0 26px; min-width:0; }
.seo-report-details-body > * { min-width:0; }
.seo-report-device { display:grid; grid-template-columns:220px 1fr; gap:30px; align-items:center; }
.seo-report-device svg { width:220px; height:220px; min-width:0; }
.seo-report-device tbody th::before { content:""; display:inline-block; width:10px; height:10px; margin-right:8px; border-radius:2px; background:#355fa1; }
.seo-report-device tbody tr:nth-child(2) th::before { background:#15869b; }
.seo-report-device tbody tr:nth-child(3) th::before { background:#9879b1; }
.seo-report-query-scroll { width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.seo-report-query-table { width:100%; min-width:650px; border-collapse:collapse; text-align:left; font-size:14px; }
.seo-report-query-table th,.seo-report-query-table td { padding:12px; border-bottom:1px solid var(--seo-line); font-variant-numeric:tabular-nums; }
.seo-report-query-table th { color:var(--seo-copy); font-weight:500; }
.seo-report-query-table thead th { background:var(--seo-surface); }
.seo-report-query-block h4 { font-size:19px; margin:0; }
.seo-report-query-block > .seo-report-chart-period,.seo-report-reading-notes { font-size:13px; color:var(--seo-copy); }
.seo-report-reading-notes p + p { margin-top:12px; }
@media(min-width:1200px) {
  .seo-report-header { display:flex; align-items:end; gap:36px; justify-content:space-between; }
  .seo-report-header h3 { font-size:24px; margin-bottom:0; }
  .seo-report-periods { margin:0; gap:8px 20px; }
  .seo-report-periods > div:last-child { flex-basis:100%; }
  .seo-report-main { grid-template-columns:minmax(640px,1.5fr) minmax(0,1fr); gap:36px; }
  .seo-report-comments { grid-template-columns:1fr; align-content:start; gap:23px; margin:0; }
  .seo-report-svg { max-height:300px; }
}
@media(max-width:1100px) {
  .seo-page .es-hero-grid { grid-template-columns:1.15fr 1fr; gap:30px; }
  .seo-page .es-hero h1 { font-size:38px; }
  .seo-hero-worries { flex-wrap:wrap; gap:10px 25px; }
  .seo-section-head { gap:38px; }
  .seo-keyword-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 35px; }
  .seo-table th,.seo-table td { padding:17px; }
  .seo-timeline { gap:28px; }
  .seo-improvement-loop li:not(:last-child)::after { right:-25px; }
}
@media(max-width:800px) {
  .seo-analysis-plan ol { gap:20px; }
  .seo-report-sample-guide { grid-template-columns:1fr; gap:16px; }
  .seo-page .es-hero-grid { grid-template-columns:1fr; }
  .seo-page .es-hero-copy { max-width:100%; }
  .seo-page .es-hero-art { max-width:250px; }
  .seo-page .es-hero h1 { font-size:39px; }
  .seo-page .es-page-nav > div { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .seo-section-head { grid-template-columns:1fr; gap:21px; margin-bottom:30px; }
  .seo-support-grid { gap:30px; }
  .seo-support-title { gap:13px; }
  .seo-support-title h3 { font-size:20px; }
  .seo-before-after { gap:23px; }
  .seo-example-side { padding:0; }
  .seo-example-side h3 { font-size:20px; }
  .seo-timeline { gap:23px; }
  .seo-improvement-loop { flex-wrap:wrap; justify-content:flex-start; gap:10px 32px; padding-inline:0; }
  .seo-improvement-loop li:not(:last-child)::after { right:-21px; }
  .seo-report { padding:26px; }
  .seo-report-comments { gap:20px; }
  .seo-estimate-conditions { grid-template-columns:1fr; gap:17px; }
  .seo-related-links { gap:22px; }
}
@media(max-width:600px) {
  .seo-keyword-tools dl,.seo-analysis-sources,.seo-analysis-plan ol { grid-template-columns:1fr; gap:22px; }
  .seo-keyword-tools h3,.seo-analysis > h3,.seo-analysis-plan h3,.seo-report-sample-guide h3 { font-size:20px; }
  .seo-analysis-sources dt { font-size:18px; }
  .seo-analysis-plan { padding:22px 20px; }
  .seo-report-sample-guide { padding:20px; }
  .seo-page .es-section { padding-block:48px; }
  .seo-page .es-section h2 { font-size:28px; }
  .seo-page .es-section .eyebrow { font-size:11px; margin-bottom:13px; }
  .seo-page .es-hero h1 { font-size:clamp(27px,7.4vw,35px); }
  .seo-page .es-hero-art { max-width:200px; }
  .seo-page .es-hero-link { gap:10px; }
  .seo-hero-worries { flex-direction:column; margin-top:23px; padding-top:19px; }
  .seo-page .es-page-nav > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-support-grid { grid-template-columns:1fr; gap:27px; }
  .seo-support-grid article { padding-top:20px; }
  .seo-support-title { margin-bottom:12px; }
  .seo-number { font-size:23px; }
  .seo-keyword-steps { grid-template-columns:1fr; gap:21px; }
  .seo-keyword-steps li { padding-left:54px; position:relative; }
  .seo-keyword-steps .seo-step-number { position:absolute; left:0; top:0; }
  .seo-keyword-steps h3 { margin:0 0 6px; font-size:18px; }
  .seo-table-panel { padding:22px 20px; }
  .seo-table,.seo-table tbody,.seo-table tr,.seo-table th,.seo-table td { display:block; width:100%; }
  .seo-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .seo-table caption { display:block; font-size:16px; line-height:1.8; padding-bottom:16px; }
  .seo-table tbody tr { padding:19px 0; border-top:1px solid var(--seo-line); }
  .seo-table tbody tr:last-child { border-bottom:1px solid var(--seo-line); }
  .seo-table th,.seo-table td { padding:0; border:0; }
  .seo-table tbody th { font-size:17px; margin-bottom:8px; }
  .seo-table td { font-size:16px; padding-top:10px; }
  .seo-cell-label { display:block; font-size:12px; color:var(--seo-accent); font-weight:600; margin-bottom:4px; }
  .seo-before-after { grid-template-columns:1fr; gap:22px; }
  .seo-example-side { padding:22px 20px; }
  .seo-example-changes { grid-template-columns:1fr; gap:12px; margin-top:23px; }
  .seo-example-changes .seo-number { font-size:17px; }
  .seo-timeline { grid-template-columns:1fr; gap:0; }
  .seo-timeline li { padding:0 0 29px 54px; }
  .seo-timeline li:last-child { padding-bottom:0; }
  .seo-timeline .seo-step-number { position:absolute; left:0; top:0; }
  .seo-timeline h3 { margin:0 0 10px; font-size:20px; }
  .seo-timeline li:not(:last-child)::after { left:19px; top:46px; bottom:8px; right:auto; border:0; border-left:1px solid #b3c9e2; }
  .seo-improvement-loop { gap:10px 30px; }
  .seo-pricing-footer { flex-direction:column; }
  .seo-page .seo-related-section { padding-block:35px; }
  .seo-page .seo-related-section h2 { font-size:25px; }
  .seo-related-links { grid-template-columns:1fr; gap:18px; }
  .seo-related-links > a { padding-top:17px; }
  .seo-page .site-contact h2 { font-size:clamp(27px,7.1vw,34px); letter-spacing:0; }
  .seo-page .site-contact .site-contact-button { min-height:60px; font-size:16px; gap:14px; padding-inline:16px; }
  .seo-report-perspectives { grid-template-columns:1fr; gap:15px; margin-bottom:23px; }
  .seo-report-perspectives h3 { font-size:17px; margin-bottom:5px; }
  .seo-report { padding:22px 18px; }
  .seo-report-header h3 { font-size:22px; }
  .seo-report-periods { flex-direction:column; }
  .seo-report-disclaimer { padding:12px; }
  .seo-report-kpis { grid-template-columns:1fr; gap:15px; margin:23px 0; }
  .seo-report-kpis > div,.seo-report-kpis > div:first-child { border:0; border-bottom:1px solid var(--seo-line); padding:0 0 15px; }
  .seo-report-kpis > div { display:grid; grid-template-columns:1fr 1fr; gap:4px 15px; align-items:center; }
  .seo-report-kpis dt { grid-column:1; font-size:13px; }
  .seo-report-kpi-value { grid-column:2; grid-row:1 / span 2; }
  .seo-report-kpi-value span { display:block; margin:0; font-size:12px; }
  .seo-report-kpi-source { grid-column:1; grid-row:2; }
  .seo-report-kpi-delta { grid-column:1 / -1; }
  .seo-report-kpi-value { font-size:32px; }
  .seo-report-figure h4 { font-size:18px; }
  .seo-report-values th,.seo-report-values td { padding:8px 5px; font-size:13px; }
  .seo-report-comments { grid-template-columns:1fr; gap:19px; }
  .seo-report-month-values tbody { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .seo-report-scroll-hint { display:block; color:var(--seo-accent); font-size:12px; margin-top:12px!important; }
  .seo-report-worklog li { gap:12px; }
  .seo-report-device { grid-template-columns:1fr; gap:10px; }
  .seo-report-device svg { justify-self:center; }
}


/* Page-shaped concept, rather than a generic illustration. */
.seo-hero-visual { margin:0; position:relative; padding:64px 0 0 28px; min-width:0; }
.seo-hero-browser { border:1px solid #7288b0; border-radius:12px; background:#f8fbff; overflow:hidden; box-shadow:0 22px 65px #0004; transform:rotate(1.5deg); }
.seo-browser-bar { display:flex; align-items:center; gap:5px; padding:11px 14px; background:#e6edf5; border-bottom:1px solid #d0ddeb; }
.seo-browser-bar i { width:5px; height:5px; border-radius:50%; background:#768ba4; }
.seo-browser-bar > span { height:7px; border-radius:4px; width:55%; margin-left:18px; background:#f8fbff; }
.seo-hero-preview { padding:28px 28px 36px; color:#17334f; }
.seo-page .seo-visual-kicker { font-size:14px; color:#355fa1; font-weight:600; margin-bottom:10px; }
.seo-hero-preview h2 { font-size:30px; line-height:1.5; margin:0 0 12px; }
.seo-hero-preview > p:not(.seo-visual-kicker) { font-size:16px; color:var(--seo-copy); line-height:1.8; }
.seo-hero-preview-sections { display:grid; grid-template-columns:.8fr 1.2fr; gap:12px; margin:21px 0; }
.seo-hero-preview-sections > div { display:flex; flex-direction:column; gap:8px; background:#e8f0fa; border:1px solid #cddbeb; border-radius:5px; padding:18px 14px; font-size:15px; }
.seo-hero-preview-sections .icon { width:22px; height:22px; color:#355fa1; }
.seo-visual-cta { display:block; background:#355fa1; color:#fff; padding:14px 10px; border-radius:4px; text-align:center; font-size:17px; font-weight:700; }
.seo-hero-search { position:absolute; top:20px; left:0; z-index:1; min-width:280px; padding:14px 22px; border:1px solid #718db8; border-radius:40px; background:#132a46; color:#fff; }
.seo-hero-search > span,.seo-hero-review > span { color:#cfddf2; display:block; font-size:13px; margin-bottom:5px; }
.seo-hero-search p { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:600; }
.seo-hero-search .icon { width:19px; height:19px; color:#9adfff; }
.seo-hero-review { position:relative; z-index:1; width:fit-content; margin:-14px -10px 0 auto; border:1px solid #bbb9da; border-left:4px solid #7465a9; border-radius:5px; padding:15px 19px; background:#efedfa; color:#3f3960; }
.seo-hero-review strong { display:flex; align-items:center; gap:8px; font-size:16px; }
.seo-hero-review .icon { color:#685598; width:20px; height:20px; }
.seo-hero-visual figcaption { position:static; margin-top:14px; font-size:13px; color:#c5d6ee; }
.seo-page .seo-task-label { font-size:14px; color:var(--seo-accent); font-weight:600; margin-bottom:8px; }
.seo-keyword-featured { background:#edf4ff; }
.seo-keyword-featured th { box-shadow:inset 3px 0 #557aaf; }
.seo-keyword-connection { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:20px; }
.seo-keyword-connection p { color:var(--seo-copy); font-size:16px; max-width:650px; }
.seo-keyword-connection .es-text-link { flex-shrink:0; font-size:16px; text-decoration:underline; text-underline-offset:5px; }
.seo-keyword-tools dl { padding-top:15px; }
.seo-pricing-footer { align-items:center; gap:24px; }
.seo-page .seo-pricing-footer .button { font-size:16px; }
@media(max-width:1100px) {
 .seo-page .es-hero-grid { gap:28px; }
 .seo-hero-preview { padding:22px 20px 30px; }
 .seo-hero-preview h2 { font-size:26px; }
 .seo-hero-preview-sections { grid-template-columns:1fr; gap:8px; }
 .seo-hero-preview-sections > div { flex-direction:row; padding:10px 12px; }
 .seo-keyword-connection { align-items:flex-start; flex-direction:column; }
 .seo-model-body { padding:22px 18px; }
}
@media(max-width:800px) {
 .seo-page .es-hero-grid { grid-template-columns:1fr; gap:28px; }
 .seo-hero-visual { width:100%; max-width:520px; justify-self:center; }
 .seo-before-after { grid-template-columns:1fr; gap:32px; }
 .seo-page-model { min-height:0; }
 .seo-example-before .seo-model-contact { margin-top:32px; }
 .seo-example-changes { grid-template-columns:1fr; gap:14px; }
}
@media(max-width:600px) {
 .seo-hero-visual { padding:0; display:flex; flex-direction:column; align-items:stretch; gap:14px; }
 .seo-hero-search,.seo-hero-review { position:static; margin:0; align-self:flex-start; box-shadow:none; }
 .seo-hero-search { max-width:100%; padding:11px 15px; }
 .seo-hero-browser { transform:none; }
 .seo-hero-preview { padding:22px 20px; }
 .seo-hero-review { align-self:flex-end; }
 .seo-hero-visual figcaption { position:static; margin-top:0; font-size:13px; }
 .seo-hero-preview-sections { grid-template-columns:.8fr 1.2fr; }
 .seo-hero-preview-sections > div { flex-direction:column; }
 .seo-keyword-table .seo-keyword-featured { padding-inline:14px; }
 .seo-keyword-featured th { box-shadow:none; }
 .seo-keyword-featured { box-shadow:inset 3px 0 #557aaf; }
 .seo-model-heading h4 { font-size:23px; }
 .seo-model-body { padding:22px 16px; }
 .seo-model-information { padding-left:29px; }
 .seo-model-sitebar { padding-inline:16px; }
 .seo-model-contact { gap:7px; }
 .seo-example-after .seo-model-cta { padding:13px 9px; font-size:16px; }
 .seo-model-intro,.seo-model-topics p,.seo-check-list li,.seo-keyword-steps p,.seo-table td { font-size:16px; }
 .seo-model-photo { gap:8px; padding:12px; flex-wrap:wrap; }
 .seo-page .seo-pricing-footer .button { width:100%; padding-inline:17px; }
}

@media(max-width:360px) {
 .seo-page .site-contact .site-contact-button { background:linear-gradient(#0011260d,#0011260d),var(--gradient); }
}

/* Read the report first; definitions and supporting tables remain in details. */
.seo-report { scroll-margin-top:100px; }
.seo-report-primary-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.seo-report-primary-charts .seo-report-chart { overflow:visible; }
.seo-report-primary-charts .seo-report-svg { min-width:0; width:100%; height:280px; max-height:none; }
.seo-page .seo-report-edition { display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:20px; font-size:16px; color:var(--seo-copy); }
.seo-report-edition strong { color:var(--ink); }
.seo-report-service-note { margin:14px 0 0!important; line-height:1.8; }
.seo-report-kpis dt { font-size:16px; }
.seo-report-kpi-source,.seo-report-kpi-delta { font-size:14px; }
.seo-report-periods { font-size:16px; margin:14px 0 0; }
.seo-report-periods dt { font-size:14px; }
.seo-report-measurement-note,.seo-report-chart-note,.seo-report-source { font-size:14px; }
.seo-report-comments.seo-report-insights { grid-template-columns:1fr 1fr; gap:28px 36px; margin:32px 0; }
.seo-report-insights > div { border-top:3px solid #577bb0; padding-top:20px; }
.seo-report-insights dt { font-size:16px; }
.seo-report-insights dd { color:var(--ink); font-size:24px; line-height:1.75; font-weight:700; }
.seo-report-insights > [data-comment="context"] { grid-column:1 / -1; border-top:0; background:var(--seo-surface); padding:18px 22px; }
.seo-report-insights [data-comment="context"] dt { font-size:14px; }
.seo-report-insights [data-comment="context"] dd { font-size:16px; font-weight:400; color:var(--seo-copy); }
.seo-report-worklog li { font-size:16px; }
.seo-report-detail-summary { display:flex; flex-direction:column; gap:7px; }
.seo-report-detail-summary > span { font-size:14px; font-weight:400; color:var(--seo-copy); }
.seo-report-series-tables { display:grid; gap:22px; }
.seo-report-measurement h4 { font-size:20px; }
.seo-report-measurement-list { display:grid; gap:18px; }
.seo-report-measurement-list dt { font-size:16px; font-weight:600; }
.seo-report-measurement-list dd { margin:5px 0 0; }
.seo-report-measurement-list .seo-report-source { margin-top:0!important; }
.seo-report-reading-notes,.seo-report-perspectives p,.seo-analysis-plan p,.seo-related-links a > span > span { font-size:16px; }
@media(max-width:1100px) {
 .seo-report-primary-charts { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .seo-report { padding:22px 14px; }
 .seo-report-comments.seo-report-insights { grid-template-columns:1fr; gap:24px; }
 .seo-report-insights dd { font-size:21px; }
 .seo-report-kpis > div { grid-template-columns:1.3fr 1fr; gap:4px 12px; }
 .seo-report-kpis dt { font-size:16px; }
 .seo-report-kpi-value span { font-size:14px; }
 .seo-report-periods { gap:10px; }
 .seo-report-primary-charts .seo-report-scroll-hint { display:none; }
 .seo-report-primary-charts .seo-report-figure h4 { font-size:19px; }
}

.seo-report-chart--responsive { width:100%; min-width:0; overflow:visible; }
.seo-report-svg--responsive { width:100%; min-width:0; height:280px; max-width:none; }

/* Final refinement: retain the report sheet and separate general service guidance. */
.seo-report-section { background:#f4f7fc; }
.seo-report { border-color:#92abc8; box-shadow:0 5px 18px #19385b08; }
.seo-report-header { border-bottom:2px solid #c7d6e9; }
.seo-report-service-details { margin-top:26px; border-color:#b8cde2; }
.seo-report-service-details > summary { padding-block:20px; }
.seo-report-service-details .seo-analysis { padding:12px 0; margin-bottom:12px; }
.seo-report-close { justify-self:start; display:inline-flex; align-items:center; gap:12px; border:1px solid #718bae; border-radius:5px; padding:12px 18px; background:#fff; color:#254775; font:600 16px/1.6 var(--font); cursor:pointer; }
.seo-report-close[hidden] { display:none; }
.seo-report-close .icon { width:20px; height:20px; transform:rotate(-90deg); }
.seo-report-close:hover { background:#edf3fc; }
.seo-report-close:focus-visible { outline:3px solid #1683df; outline-offset:4px; }
.seo-report-details > summary { scroll-margin-top:100px; }
.seo-report-sample-context { font-size:16px; color:var(--seo-copy); }
.seo-visual-lines { display:grid; gap:8px; margin-block:17px 23px; }
.seo-visual-lines i { display:block; width:85%; height:5px; border-radius:3px; background:#d6e1ee; }
.seo-visual-lines i:last-child { width:58%; }
@media(max-width:600px) {
 .seo-hero-search { min-width:0; width:100%; padding:13px 18px; }
 .seo-hero-search p { font-size:17px; }
 .seo-hero-review { padding:12px 16px; }
 .seo-hero-preview h2 { font-size:26px; }
 .seo-visual-cta { font-size:16px; }
}
