/* geo-r3.css: GEO revision r3, scoped to rd-body.page-geo only.
   Styles the classes introduced by the r3 rebuild (process steps, schema chips,
   optional step, second what-is paragraph), the round 3 client comments (17 to 43)
   and the round 4 comments (44 to 48).
   Everything else reuses design.css, pages-r1.css and geo-r1.css rules already linked
   by the page. Lives at the project root, so texture urls are url('../textures/...'). */

/* what-is-geo: second answer paragraph needs its own spacing */
rd-body.page-geo .ai-answer .ai-type-2{margin-top:14px!important}

/* ---------- 46: Rocky with the tablet is pinned with a paperclip instead of tape.
   The clip sits over the tip of his left ear, so it overlaps the sticker art. ---------- */
rd-body.page-geo #what-is-geo .what-sticker.geo-clip.taped::after{background:url('../textures/paperclip.webp') center/contain no-repeat;width:17%;height:26%;top:-8%;left:38%;transform:rotate(8deg)}

/* schema chips under step 03 */
rd-body.page-geo .geo-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0}
rd-body.page-geo .geo-tags li{position:relative;isolation:isolate;font-size:13px;font-weight:650;color:#19324a;padding:3px 12px}
rd-body.page-geo .geo-tags li::before{content:'';position:absolute;inset:0;z-index:-1;background:#fffdf4 url('../textures/white-fibre.webp') repeat;background-size:200px;border:1px solid #9fb3c0;clip-path:polygon(3% 12%,34% 2%,68% 10%,98% 0,100% 86%,66% 98%,30% 90%,0 100%)}

/* ---------- 19 20 21 25 26: slips marked .geo-ivory (why-geo points 4, 6, 8 and
   included points 4, 6) move to the light ivory fibre paper used on the SERP simulator
   cards, with dark text. The paper sits on its own layer (.geo-paper) so a thin torn
   edge and soft shadow can follow the outline without filtering the text, which keeps
   the light slips clearly separate from the cream and white section backgrounds. ---------- */
rd-body.page-geo .geo-ivory::before{content:none!important;display:none!important}
rd-body.page-geo .geo-paper{position:absolute;inset:0;z-index:-1;pointer-events:none;filter:drop-shadow(0 0 .8px #6f879a) drop-shadow(0 5px 10px #172a3a2b)}
rd-body.page-geo .geo-paper::before{content:'';position:absolute;inset:0;background:#fffdf6 url('../textures/ivory-fibre.webp') repeat;background-size:512px}
rd-body.page-geo #why-geo .geo-ivory{color:#19324a}
rd-body.page-geo #why-geo .geo-paper::before{clip-path:polygon(2% 7%,30% 2%,66% 6%,98% 0,100% 91%,69% 98%,31% 94%,0 100%)}
rd-body.page-geo #difference .geo-paper::before{clip-path:polygon(2% 9%,18% 2%,41% 7%,63% 0,86% 5%,99% 1%,100% 90%,82% 98%,58% 93%,34% 100%,12% 95%,0 99%)}
rd-body.page-geo #difference .geo-ivory strong{color:#19324a}
rd-body.page-geo #difference .geo-ivory small{color:#33485a}

/* ---------- 30: process tidied. Steps run 01 to 08 in reading order on an even grid,
   no snaking path line, one sticker size, headings aligned across each row. The optional
   step keeps its dashed frame with the hand note sitting on the frame edge. ---------- */
rd-body.page-geo #process .geo-steps .process-step:nth-child(n){order:0}
rd-body.page-geo .geo-steps .process-step h3{min-height:0}
rd-body.page-geo .geo-step-optional{border:2px dashed #8cafc4;border-radius:2px}
rd-body.page-geo .geo-optional{font-size:21px;color:#235b92;margin:0 0 2px!important;transform:rotate(-1.6deg);width:fit-content}
@media(min-width:768px){
 rd-body.page-geo #process .geo-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px;align-items:stretch;padding:0!important}
 rd-body.page-geo #process .process-path.geo-steps::before{content:none;display:none}
 rd-body.page-geo #process .geo-steps .process-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:center;gap:14px 12px;padding:22px 18px 24px!important;border:2px solid transparent;border-radius:2px}
 rd-body.page-geo #process .geo-steps .step-number{margin:0;font-size:32px;line-height:1}
 rd-body.page-geo #process .geo-steps .step-sticker{grid-column:1;grid-row:1;justify-self:start;width:104px;height:104px;max-width:none;margin:0!important}
 rd-body.page-geo #process .geo-steps .step-sticker img{width:100%;height:100%;object-fit:contain}
 rd-body.page-geo #process .geo-steps .process-step>div{grid-column:1/-1;grid-row:2;align-self:start}
 rd-body.page-geo #process .geo-steps .process-step h3{font-size:21px;line-height:1.25}
 rd-body.page-geo #process .geo-steps .process-step p{font-size:15px;line-height:1.65;margin-top:10px!important}
 rd-body.page-geo #process .geo-steps .geo-step-optional{border:2px dashed #8cafc4}
 rd-body.page-geo #process .geo-steps .geo-optional{position:absolute;top:-17px;right:14px;margin:0!important;padding:0 8px;line-height:1.4;background:url('../textures/ivory-fibre.webp') repeat}
}
@media(min-width:1101px){
 rd-body.page-geo #process .geo-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 20px}
 rd-body.page-geo #process .geo-steps .process-step h3{min-height:2.5em}
}
@media(max-width:767px){
 rd-body.page-geo .geo-step-optional{padding:16px 12px!important;margin-top:8px}
 rd-body.page-geo .geo-tags li{font-size:12px}
}

/* ---------- 36: the closing note under the comparison table uses the exact type,
   size and placement of the same note on the SEO page (#difference .comparison-note). ---------- */
rd-body.page-geo #why .comparison-note{font-family:JournalHand,cursive!important;font-weight:400;letter-spacing:0;line-height:1.3;font-size:32px!important;max-width:560px;text-align:right;margin:38px 0 0 auto!important}
@media(max-width:767px){
 rd-body.page-geo #why .comparison-note{font-size:29px!important;max-width:330px;text-align:center;margin:26px auto 0!important}
}

/* ---------- 37 and 48: real AI brand logos on the prints, logo only with no typed
   name. Every mark (icon-only ChatGPT and Claude, wordmark Gemini and Perplexity) gets
   the same fixed height so the four read at one size. ---------- */
rd-body.page-geo .ai-print .ai-print-logo{display:inline-flex;align-items:center;min-height:36px;width:fit-content}
rd-body.page-geo .ai-print .ai-print-logo img{display:block;width:auto;height:30px;object-fit:contain;object-position:left center;border:0}
@media(max-width:767px){
 rd-body.page-geo .ai-print .ai-print-logo img{height:26px}
}

/* ---------- 43 and 45: free setup perks as a highlighter strip in the price card,
   each line led by a small stamp in the card's existing red ink. No tape on the strip. ---------- */
rd-body.page-geo .geo-perks{position:relative;isolation:isolate;max-width:480px;margin:26px auto 0;padding:18px 22px 15px;text-align:left;transform:rotate(-.7deg)}
rd-body.page-geo .geo-perks::before{content:'';position:absolute;inset:0;z-index:-1;background:#fbefc2 url('../textures/white-fibre.webp') repeat;background-size:300px;background-blend-mode:multiply;clip-path:polygon(0 9%,13% 1%,39% 6%,68% 0,100% 5%,99% 93%,73% 100%,45% 95%,17% 100%,1% 94%)}
rd-body.page-geo .geo-perks p{display:flex;align-items:center;gap:11px;margin:0!important;font-size:15px;line-height:1.45;font-weight:600;color:#19324a}
rd-body.page-geo .geo-perks p+p{margin-top:9px!important}
rd-body.page-geo .geo-free{flex:none;display:inline-block;font-family:JournalHand,cursive;font-size:19px;font-weight:400;line-height:1;color:#9d2c45;border:2px solid #9d2c45;border-radius:4px;padding:3px 8px 2px;transform:rotate(-4deg)}
@media(max-width:767px){
 rd-body.page-geo .geo-perks{padding:16px 14px 13px;margin-top:22px}
 rd-body.page-geo .geo-perks p{font-size:14px;gap:9px}
 rd-body.page-geo .geo-free{font-size:17px;padding:3px 7px 2px}
}

/* #51 numbering beside each point */
rd-body.page-geo .geo-steps .process-step h3 .step-number{display:inline-block;margin:0 10px 0 0;font-size:24px;line-height:1;vertical-align:baseline;color:#b4472e}
/* #52 live-page icon glyphs in ask-ai captions */
rd-body.page-geo .ai-print .ai-print-logo{color:#19324a}
rd-body.page-geo .ai-print .ai-print-logo .ai-brand-glyph{display:block;width:30px;height:30px}
@media(max-width:767px){rd-body.page-geo .ai-print .ai-print-logo .ai-brand-glyph{width:26px;height:26px}}

/* #55 numbers read as 1. 2. 3. beside each step heading */
rd-body.page-geo .geo-steps .process-step h3 .step-number{font-size:inherit;color:#b4472e;margin-right:8px}
/* #54 citation prints: show the whole screenshot, no crop, sharper at card width */
rd-body.page-geo .ai-print a{background:#16181c}
rd-body.page-geo .ai-print img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center top}
@media(max-width:767px){rd-body.page-geo .ai-print img{height:auto}}

/* #56 prints hug their content, no blank paper below short captions */
rd-body.page-geo .ask-ai-board{align-items:start}

/* Semrush certified partner slip (client request 2026-10-21) */
.press-semrush-row{display:flex;justify-content:center;margin-top:30px}
.press-semrush{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;padding:14px 30px;font-size:17px;line-height:1.4;transform:rotate(-.6deg)}
.press-semrush-paper{position:absolute;inset:0;z-index:-1;pointer-events:none;filter:drop-shadow(0 0 .8px #6f879a) drop-shadow(0 5px 10px #172a3a2b)}
.press-semrush-paper::before{content:'';position:absolute;inset:0;background:#fffefa url('../textures/ivory-fibre.webp') repeat;background-size:512px;clip-path:polygon(2% 7%,30% 2%,66% 6%,98% 0,100% 91%,69% 98%,31% 94%,0 100%)}
.press-semrush-text{color:#19324a!important;text-decoration:none!important;font-weight:400}
.press-semrush strong{font-weight:700;box-shadow:inset 0 -10px 0 #f3d38a66}
.press-semrush-text:hover strong,.press-semrush-text:focus-visible strong{text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.press-semrush{font-size:14px;padding:10px 16px;text-align:center}}
/* Sitewide FAQ h2: questions are h2 elements for SEO. Reset them to the summary text style so the
   FAQ looks identical. display:inline is blockified inside the flex summary,
   so the + marker stays on the same row. */
rd-body.page-geo #faq summary>h2{display:inline;margin:0;padding:0;border:0;font:inherit;color:inherit;letter-spacing:inherit;word-spacing:inherit;text-transform:inherit;text-align:inherit;text-wrap:inherit;max-width:none}

/* Heading retags, 22 Oct 2026 (comments #93 #94 #96, mirrored site-wide). Heading tags changed for SEO; these rules hold the previous rendering exactly. */
/* included point titles: strong is now h3 */
rd-body.page-geo .included-points>li>h3{display:block;margin:0;font:inherit;font-size:17.5px;font-weight:700;letter-spacing:inherit;color:#19324a;text-transform:inherit;text-wrap:inherit;unicode-bidi:normal;--tw-text-opacity:inherit}
/* why points: each point text is an h3 */
rd-body.page-geo .why-points>li>h3{margin:0;font:inherit;letter-spacing:inherit;color:inherit;text-transform:inherit;text-align:inherit;text-wrap:inherit;--tw-text-opacity:inherit}
/* comparison table: column heads are th > h3, points are td > h4 (journal pattern) */
rd-body.page-geo .comparison-table th>h3{margin:0;font:inherit;letter-spacing:inherit;color:inherit;text-align:inherit;text-transform:inherit;text-wrap:inherit;--tw-text-opacity:inherit}
rd-body.page-geo .comparison-table td>h4{margin:0!important;font-size:17px;line-height:1.65;font-weight:400;letter-spacing:normal;color:#3b4d59;text-wrap:wrap;--tw-text-opacity:inherit}
rd-body.page-geo .comparison-table td.after>h4{color:#19324a;font-weight:500}
@media(max-width:767px){
 rd-body.page-geo .comparison-table td>h4{font-size:16px;line-height:1.6}
}
