/* =====================================================================================
   seo.css - location, industry, affiliate and legal pages (SEO agent, 28 Sep 2026).
   Loaded AFTER sell.css and svc.css. Only what those two do not already have:
   uniform case tiles, the Australia map on /locations/, % labels on the affiliate grid,
   legal prose headings, and a verified-logos row. Values follow sell.css tokens.
   ===================================================================================== */

/* case tiles: every tile the same square so mixed artwork lines up (svc-cases grid) */
.seo-cases .svc-case__img{aspect-ratio:1/1}
.seo-cases .svc-case__img>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.seo-case__loc{display:flex;align-items:center;gap:8px;margin-top:10px!important;font-weight:500!important;font-size:14px!important;color:var(--teal)!important;text-transform:uppercase;letter-spacing:.02em}
.seo-case__loc::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot);flex:0 0 auto}
.on-dark .seo-case__loc{color:#b9dfe9!important}

/* affiliate grid: the % sits where the service icon would */
.seo-no{flex:0 0 auto;min-width:40px;font-family:var(--f-display);font-weight:700;font-size:clamp(26px,calc(34*var(--u)),34px);line-height:1;letter-spacing:-.03em;color:#b9dfe9}

/* location cards (hub) */
.seo-tag{align-self:flex-start;border-radius:1920px;background:var(--tag);color:var(--tag-ink);padding:7px 13px;font-weight:500;font-size:12px;line-height:1;text-transform:uppercase}
.seo-tier{margin:clamp(40px,calc(70*var(--u)),70px) 0 clamp(18px,calc(26*var(--u)),26px)}
.seo-tier:first-of-type{margin-top:0}

/* the Australia map (hub): carried over from the old page */
.aus{width:100%;height:auto;display:block}
.aus .coast{fill:rgba(112,184,208,.06);stroke:rgba(112,184,208,.4);stroke-width:2;stroke-linejoin:round}
.aus .dot{fill:rgba(255,255,255,.85)}
.aus .hqdot{fill:#70b8d0}
.aus .halo{fill:none;stroke:#70b8d0;stroke-width:2;opacity:.7;transform-origin:center;animation:seo-halo 2.6s ease-out infinite}
.aus .lbl{font-family:var(--f-display);font-size:17px;font-weight:600;fill:rgba(255,255,255,.75)}
.aus .lbl.hq{fill:#70b8d0;font-weight:800}
@keyframes seo-halo{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.aus .halo{animation:none;opacity:.35}}
.seo-office{display:flex;gap:16px;align-items:flex-start;margin-top:clamp(24px,calc(34*var(--u)),34px);padding-top:clamp(20px,calc(28*var(--u)),28px);border-top:1px solid var(--dark-line)}
.seo-office h3{font-family:var(--f-display);font-weight:700;font-size:clamp(18px,calc(22*var(--u)),22px);letter-spacing:-.02em;color:#fff}
.seo-office p{margin-top:6px;font-weight:400;font-size:clamp(15px,calc(18*var(--u)),18px);line-height:1.5;color:rgba(255,255,255,.85)}
.seo-office a{color:#b9dfe9;font-weight:600}
.seo-office .pin{flex:0 0 40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}

/* legal prose: numbered h2 headings inside Sell's prose block */
.s-prose h2{font-family:var(--f-display);font-weight:700;font-size:clamp(22px,calc(32*var(--u)),32px);letter-spacing:-.03em;line-height:1.2;color:var(--ink);margin:1.8em 0 .55em}
.s-prose h2:first-child{margin-top:0}
.s-prose .lede{font-size:clamp(17px,calc(22*var(--u)),22px);line-height:1.4;color:var(--ink)}
.seo-legal{max-width:960px}

/* verified client logos (9): Sell's 5-up grid, second row of four centred */
.seo-logos{grid-template-columns:repeat(10,minmax(0,1fr))}
.seo-logos li{grid-column:span 2}
.seo-logos li:nth-child(6){grid-column:2 / span 2}
@media (max-width:900px){.seo-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.seo-logos li,.seo-logos li:nth-child(6){grid-column:auto}}
@media (max-width:520px){.seo-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* affiliate sign-up form in the page (its own ids, so the shared enquiry form still works) */
.seo-join{display:grid;grid-template-columns:minmax(0,767fr) minmax(0,523fr);gap:clamp(40px,calc(160*var(--u)),160px);align-items:start;padding-block:clamp(64px,calc(140*var(--u)),140px)}
.seo-join .s-form .consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0 4px;font-size:14px;line-height:1.45;color:var(--muted)}
.seo-join .s-form .consent input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--teal)}
.seo-join .s-form .consent a,.seo-join .s-form .note a{color:var(--teal);text-decoration:underline}
.seo-join .cta-tagline{margin-top:14px;font-family:var(--f-display);font-weight:700;font-size:clamp(18px,calc(24*var(--u)),24px);color:#fff}
@media (max-width:980px){.seo-join{grid-template-columns:1fr}}

/* small helpers */
.seo-kicker{font-family:var(--f-display);font-weight:700;font-size:clamp(20px,calc(26*var(--u)),26px);letter-spacing:-.03em;line-height:1.25;color:var(--ink);margin-bottom:.8em}
.seo-faq-link{margin-top:14px}
.seo-faq-link a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.svc-lede b{color:var(--ink)}
.on-dark .svc-lede b{color:#fff}

/* quick answer (AI search): question as a small dotted label, answer in Sell's lede (matches cs.css) */
.s-answer .s-wrap{max-width:min(1180px,var(--wrap));margin-inline:auto}
.s-answer__q{font-family:var(--f-text);font-weight:600;font-size:clamp(14px,calc(18*var(--u)),18px);line-height:1.3;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;gap:9.5px;margin-bottom:clamp(12px,calc(18*var(--u)),18px)}
.s-answer__q::before{content:"";width:9.5px;height:9.5px;border-radius:50%;background:var(--dot);flex:0 0 auto}
.s-answer .s-lede a{color:var(--teal)}
/* depth sections: the direct answer under a question heading */
.s-prose .seo-direct{font-weight:500;font-size:clamp(18px,calc(22*var(--u)),22px);line-height:1.4;color:var(--ink)}
.s-answer + .s-dark{margin-top:clamp(48px,calc(100*var(--u)),100px)}
.on-dark .svc-case h3{color:#fff}
.on-dark .svc-case p{color:rgba(255,255,255,.78)}

/* real estate pages: whole case-study screenshots (no crop); 2 or 4 cards sit two across */
.seo-whole .svc-case__img{box-shadow:0 0 0 1px var(--line)}
.svc-cases.seo-cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:560px){.svc-cases.seo-cols2{grid-template-columns:1fr}}
