/* Digital Delight / Search Intelligence / system 1.0
   1. Base  2. Header + mega menu  3. Footer + cookie banner  4. geo-* reskin (native blocks and dd/raw pages)
   Colours only via tokens from si-tokens.css. Reskin rules are prefixed with .si (body class) so they
   outrank the legacy bundle without !important. */

/* ---------- 1. Base ---------- */
html{scroll-padding-top:calc(var(--header-h) + 24px)}
body.si{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.si ::selection{background:var(--action);color:var(--action-text)}
.si :focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.si img{max-width:100%;height:auto}
.si main{display:block;background:var(--bg)}
html:root{--gutter:48px}
.si-wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}
.si-skip{position:absolute;left:-9999px;top:auto}
.si-skip:focus{position:fixed;left:15px;top:10px;z-index:100;padding:15px;background:var(--action);color:var(--action-text)}
.si-caption{font:500 10px/1.7 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.si-eyebrow{font:500 10px/1.5 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px}
.si-eyebrow:before{content:'';width:5px;height:5px;background:currentColor;flex-shrink:0}
.si-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:15px 21px;border:1px solid var(--action);background:var(--action);color:var(--action-text);font:600 12px/1.2 var(--font);text-decoration:none;border-radius:var(--radius);transition:background var(--duration),color var(--duration),border-color var(--duration),transform var(--duration)}
.si-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text);transform:translateY(-2px)}
.si-link{font-size:12px;padding:9px 0;border-bottom:1px solid var(--line);display:inline-flex;align-items:center;gap:23px;color:var(--text);text-decoration:none}
.si-link:hover{color:var(--accent)}

/* ---------- 2. Header ---------- */
.si-header{position:sticky;top:0;z-index:50;background:var(--header);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.admin-bar .si-header{top:32px}
.si-header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:27px}
.si-wordmark{display:flex;gap:11px;align-items:center;font:800 23px/.88 var(--font);letter-spacing:-1.6px;color:var(--text);text-decoration:none;flex-shrink:0}
.si-mark{display:grid;grid-template-columns:repeat(2,9px);gap:3px}
.si-mark i{width:9px;height:9px;background:var(--accent)}
.si-mark i:last-child{border-radius:50%}
.si-nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.si-nav>a,.si-mega-trigger{font:500 12px/1 var(--font);min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}
.si-nav>a:hover,.si-mega-trigger:hover,.si-nav>a[aria-current=page],.si-mega-trigger[aria-expanded=true]{color:var(--accent)}
.si-chevron{font-size:13px;transition:transform .2s}
.si-mega-trigger[aria-expanded=true] .si-chevron{transform:rotate(180deg)}
.si-actions{display:flex;align-items:center;gap:15px}
.si-btn--header{min-height:44px;padding:12px 16px;font-size:11px;gap:20px}
.si-icon-btn{background:transparent;border:1px solid var(--line);width:44px;height:44px;display:grid;place-items:center;padding:0;flex-shrink:0;color:var(--text);cursor:pointer;border-radius:var(--radius)}
.si-icon-btn:hover{border-color:var(--muted)}
.si-icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.si-mobile-trigger{display:none}
.si-mega{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:calc(100dvh - var(--header-h));overflow:auto;overscroll-behavior:contain}
.si-mega-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;gap:30px;padding-top:33px;padding-bottom:30px}
.si-mega-col>.si-caption{display:block;margin:0 0 12px}
.si-mega-item{border-bottom:1px solid var(--line)}
.si-mega-link{display:block;padding:10px 0;font:500 13px/1.45 var(--font);color:var(--text);text-decoration:none}
.si-mega-link:hover,.si-mega-link[aria-current=page]{color:var(--accent)}
.si-mega-link small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.6;margin-top:3px}
.si-mega-sub{display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 0 11px;font:400 11px/1.6 var(--mono)}
.si-mega-sub a{color:var(--muted);text-decoration:none}
.si-mega-sub a:hover,.si-mega-sub a[aria-current=page]{color:var(--accent)}
.si-mega-feature{padding:25px;background:var(--soft);display:flex;flex-direction:column}
.si-mega-feature-title{font:500 26px/1.12 var(--font);letter-spacing:-.04em;margin:20px 0 12px;color:var(--text)}
.si-mega-feature p:not(.si-mega-feature-title){font-size:12px;color:var(--muted);margin:0 0 20px}
.si-mega-feature .si-link{margin-top:auto;align-self:flex-start}
.si-mega-bottom{border-top:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;gap:25px;font-size:11px}
.si-mega-bottom a{color:var(--text);text-decoration:none}
.si-mega-bottom a:hover{color:var(--accent)}
.si-mobile-primary{display:none}
.si-scrim{position:fixed;inset:var(--header-h) 0 0;background:var(--overlay);z-index:40;border:0;width:100%;height:100%;padding:0}
body.si-menu-open{overflow:hidden}

/* ---------- 3. Footer ---------- */
.si-footer{padding:56px 0 28px;border-top:1px solid var(--line);background:var(--bg);color:var(--text)}
.si-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px}
.si-footer-brand p,.si-footer-brand address{font-size:12px;line-height:1.8;color:var(--muted);font-style:normal;margin:18px 0 0}
.si-footer a{color:inherit;text-decoration:none}
.si-footer-contact a:hover,.si-footer-col a:hover,.si-footer-end a:hover{color:var(--accent)}
.si-footer-col{display:flex;flex-direction:column}
.si-footer-col .si-caption{margin-bottom:12px}
.si-footer-col a{font-size:12px;line-height:2.3;color:var(--muted)}
.si-footer-end{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px;flex-wrap:wrap}
.si-footer-end>div{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.si-footer-cookie{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.si-footer-cookie:hover{color:var(--accent)}
.si-footer-disclaimer{font-size:10px;line-height:1.7;color:var(--subtle);max-width:900px;margin:16px 0 0}
/* Cookie banner (markup unchanged, Astro-scoped classes) */
.si .cookie-banner{background:var(--surface-raised);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font)}
.si .cookie-banner h3{color:var(--text);font-weight:600}
.si .cookie-banner p,.si .cookie-banner .cb-cat-desc{color:var(--muted)}
.si .cookie-banner a{color:var(--accent)}
.si .cookie-banner .cb-btn{border-radius:var(--radius);font-family:var(--font)}
.si .cookie-banner .cb-primary{background:var(--action);color:var(--action-text);border-color:var(--action)}
.si .cookie-banner .cb-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.si .cookie-banner details,.si .cookie-banner .cb-row{border-color:var(--line)}

/* ---------- 4. geo-* reskin ---------- */
/* 4.1 Canvas and typography */
.si .geo-hero,.si .geo-section,.si .geo-cta{font-family:var(--font);color:var(--text);background:var(--bg);font-size:15px;line-height:1.75}
.si .geo-section--grid{background-color:var(--surface);background-image:none}
.si .geo-hero-grid-overlay{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35}
.si .geo-container,.si .geo-section>.geo-container,.si .geo-hero>.geo-container,.si .geo-cta>.geo-container{max-width:var(--container);width:100%;margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}
.si .geo-hero:before,.si .geo-hero:after{display:none}
.si .geo-hero h1 em,.si .geo-section h2 em{background:none;-webkit-text-fill-color:currentColor;color:var(--accent);animation:none}
.si .geo-hd-chart{border-top-color:var(--line)}
.si .geo-hd-chart:not(:has(.geo-hd-bar)){display:none}
.si .geo-hero h1,.si .geo-section h1{font-weight:500;letter-spacing:-.06em;line-height:1.06;color:var(--text);font-size:clamp(40px,5vw,72px)}
.si .geo-section h2,.si .geo-hero h2,.si .geo-cta h2{font-weight:500;letter-spacing:-.05em;line-height:1.12;color:var(--text);font-size:clamp(32px,3.5vw,52px)}
.si .geo-section h3,.si .geo-hero h3,.si .geo-cta h3{font-weight:500;letter-spacing:-.03em;color:var(--text)}
.si :is(.geo-hero,.geo-section,.geo-cta) :is(h1,h2,h3) em{font-style:normal;color:var(--accent)}
.si :is(.geo-hero,.geo-section,.geo-cta) strong{color:var(--text);font-weight:650}
.si :is(.geo-hero,.geo-section,.geo-cta) :is(.geo-text-green,strong.geo-text-green){color:var(--accent)}
.si :is(.geo-hero,.geo-section,.geo-cta) p,.si :is(.geo-hero,.geo-section,.geo-cta) li{color:var(--muted)}
.si .geo-hero-desc{font-size:17px;line-height:1.9;color:var(--muted)}
.si .geo-section-sub{font-size:16px;line-height:1.85;color:var(--muted)}
.si .geo-byline{color:var(--muted)!important;font:400 11px/1.7 var(--mono)!important;letter-spacing:.3px}
.si .geo-section p a,.si .geo-section li a,.si .geo-callout-body a,.si .geo-faq-item a,.si .geo-text-block a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* 4.2 Eyebrow, breadcrumbs */
.si .geo-eyebrow,.si .geo-hero .geo-eyebrow{font:500 10px/1.5 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);background:none;padding:0;border-radius:0;gap:10px}
.si .geo-eyebrow:before,.si .geo-hero .geo-eyebrow:before{width:5px;height:5px;background:currentColor;margin:0}
.si .geo-breadcrumbs{font:400 10px/1.6 var(--mono);letter-spacing:.2px;color:var(--muted)}
.si .geo-breadcrumbs__item{color:var(--muted)}
.si .geo-breadcrumbs__item:hover{color:var(--accent)}
.si .geo-breadcrumbs__item--current{color:var(--subtle)}

/* 4.3 Buttons */
.si .geo-btn{min-height:54px;height:auto;padding:15px 21px;border-radius:var(--radius);font:600 12px/1.2 var(--font);letter-spacing:0;box-shadow:none;overflow:hidden}
.si .geo-btn:after{display:none}
.si .geo-btn-primary,.si .geo-hero-actions .geo-btn-primary{background:var(--action);color:var(--action-text);border:1px solid var(--action);box-shadow:none}
.si .geo-btn-primary:hover,.si .geo-hero-actions .geo-btn-primary:hover{background:var(--text);color:var(--bg);border-color:var(--text);box-shadow:none;transform:translateY(-2px)}
.si .geo-btn-ghost,.si .geo-hero-actions .geo-btn-ghost,.si .geo-btn-outline{background:transparent;color:var(--text);border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}
.si .geo-btn-ghost:hover,.si .geo-hero-actions .geo-btn-ghost:hover,.si .geo-btn-outline:hover{background:var(--surface-raised);border-color:var(--muted);color:var(--text)}
.si .geo-btn-lg{min-height:54px}

/* 4.4 Hero dashboard → terminal panel */
.si .geo-hd,.si .geo-hero-dash:hover .geo-hd{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}
.si .geo-hd-header{background:transparent;border-bottom:1px solid var(--line);font:400 9px/1.6 var(--mono);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);padding:16px 22px}
.si .geo-hd-dot{display:none}
.si .geo-hd-title:before{content:'';display:inline-block;width:5px;height:5px;background:var(--accent);margin-right:8px;vertical-align:1px}
.si .geo-hd-kpis{background:var(--line)}
.si .geo-hd-kpi{background:var(--surface)}
.si .geo-hd-kpi-l,.si .geo-hd-chart-label{font:400 9px/1.6 var(--mono);letter-spacing:.6px;color:var(--muted)}
.si .geo-hd-kpi-v{font:500 22px/1.15 var(--font);letter-spacing:-.03em;color:var(--text)}
.si .geo-hd-kpi-d{font:400 10px/1.5 var(--mono);color:var(--accent)}
.si .geo-hd-bar{background:var(--line);animation:none}
.si .geo-hd-bar--active{background:var(--accent);box-shadow:none;animation:none}

/* 4.5 KPI strip → stats row */
.si .geo-kpi-strip,.si .geo-hero .geo-kpi-strip{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;gap:30px}
.si .geo-kpi,.si .geo-hero .geo-kpi{background:transparent;padding:26px 0}
.si .geo-kpi:before,.si .geo-kpi:after{display:none}
.si .geo-kpi strong,.si .geo-hero .geo-kpi strong,.si .geo-hero .geo-kpi:hover strong{background:none;-webkit-text-fill-color:currentColor;color:var(--text);font:400 34px/1.2 var(--mono);letter-spacing:-2px}
.si .geo-kpi span{font-size:11px;color:var(--muted)}

/* 4.6 Cards: text blocks, usps, cases, faq, risks, metrics, timeline, vs, team */
.si :is(.geo-text-block,.geo-usp,.geo-case,.geo-faq-item,.geo-risk,.geo-metric,.geo-timeline-step,.geo-vs-card,.geo-person,.geo-toc,.geo-check,.geo-warnbox,.geo-contactbox){background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}
.si :is(.geo-pricing-card,.geo-metric,.geo-usp,.geo-case,.geo-vs-card,.geo-faq-item):after{display:none}
.si :is(.geo-risk,.geo-timeline-step,.geo-usp,.geo-faq-item,.geo-text-block,.geo-case):hover{box-shadow:none;border-color:var(--muted);transform:translateY(-3px)}
.si .geo-text-block--plain,.si .geo-text-block--plain:hover{background:transparent;border:0;transform:none}
.si .geo-text-block h3{font-size:22px;line-height:1.25;margin-bottom:12px}
.si .geo-text-block>div,.si .geo-text-block p{font-size:14px;line-height:1.85;color:var(--muted)}
.si .geo-usp{padding:30px}
.si .geo-usp-num{font:400 12px/1 var(--mono);color:var(--accent);letter-spacing:0;margin-bottom:28px}
.si .geo-usp h3{font-size:24px}
.si .geo-usp p{font-size:13px}
.si .geo-usp-figure{background:var(--surface-raised);border-color:var(--line);border-radius:var(--radius)}
.si .geo-faq-item{padding:26px 30px}
.si .geo-faq-item h3{font-size:17px;font-weight:600;letter-spacing:-.01em}
.si .geo-faq-item p{font-size:14px;line-height:1.85}

/* 4.7 Steps */
.si .geo-steps{gap:0;border-top:1px solid var(--line)}
.si .geo-step,.si .geo-step:hover{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transform:none;grid-template-columns:56px 1fr}
.si .geo-step:before,.si .geo-step:hover:before{background:transparent;border-right:0;color:var(--accent);font:400 11px/1.6 var(--mono);letter-spacing:0;padding-top:30px;justify-content:flex-start}
.si .geo-step-content{padding:25px 0}
.si .geo-step h3{font-size:23px;margin-bottom:10px}
.si .geo-step-content p,.si .geo-step-content div{font-size:14px;color:var(--muted)}

/* 4.8 Pricing */
.si .geo-pricing-card{background:transparent;border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.si .geo-pricing-card:hover{transform:translateY(-3px);border-color:var(--muted);box-shadow:none}
.si .geo-pricing-card--featured,.si .geo-pricing-card--featured:hover{background:var(--action);border-color:var(--action);box-shadow:none}
.si .geo-pricing-card--featured,.si .geo-pricing-card--featured :is(.geo-pricing-name,.geo-pricing-price,.geo-pricing-tier,p,li,strong,.geo-pricing-desc,.geo-pricing-duration){color:var(--action-text)}
.si .geo-pricing-card--featured:before{background:var(--bg);color:var(--text);border-radius:var(--radius);box-shadow:none;font:500 9px/1 var(--mono);letter-spacing:1.2px;padding:7px 12px}
.si .geo-pricing-tier{font:500 10px/1.5 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}
.si .geo-pricing-name{font:500 25px/1.2 var(--font);letter-spacing:-.03em;color:var(--text)}
.si .geo-pricing-price{font:500 34px/1.2 var(--font);letter-spacing:-1.5px;color:var(--text)}
.si .geo-pricing-duration{font:400 10px/1.7 var(--mono);color:var(--muted);margin:2px 0 10px}
.si .geo-pricing-features li{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding:11px 0 11px 24px}
.si .geo-pricing-features li:before{content:'↗';background:none;color:var(--accent);width:auto;height:auto;top:11px;font-weight:400;font-size:12px}
.si .geo-pricing-card--featured .geo-pricing-features li{border-color:currentColor}
.si .geo-pricing-card--featured .geo-pricing-features li:before{color:inherit}
.si .geo-pricing-card--featured .geo-btn{background:var(--bg);color:var(--text);border-color:var(--bg)}
.si .geo-pricing-card--featured .geo-btn:hover{background:var(--text);color:var(--bg)}

/* 4.9 Cases */
.si .geo-cases>.geo-case{border-radius:var(--radius)}
.si .geo-case-screenshot,.si .geo-case-screenshot--filled,.si .geo-case-screenshot--illu{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius)}
.si .geo-case-body{color:var(--muted);font-size:13px}
.si .geo-case-tags span{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:var(--radius);font:400 10px/1.4 var(--font);padding:5px 9px}
.si .geo-case-tags .geo-case-tag--primary{border-color:var(--accent);color:var(--accent)}
.si .geo-case-link,.si .geo-case-more{color:var(--accent);font-size:12px}
.si .geo-case-niche,.si .geo-case-task{font-family:var(--mono);font-weight:400;color:var(--muted)}

/* 4.10 Testimonial */
.si .geo-testimonial,.si .geo-testimonial:hover{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;transform:none}
.si .geo-testimonial-mark{color:var(--accent);opacity:.35}
.si .geo-testimonial-text{color:var(--text);font-weight:500}
.si .geo-testimonial-photo,.si .geo-testimonial-avatar{border:1px solid var(--line);box-shadow:none;background:var(--soft);color:var(--accent)}
.si .geo-testimonial-name{color:var(--text)}
.si .geo-testimonial-role{font-family:var(--mono);font-size:10px;color:var(--muted)}

/* 4.11 Callout → note */
.si .geo-callout,.si .geo-callout:hover{background:transparent;border:0;border-left:2px solid var(--accent);border-radius:0;box-shadow:none;padding:12px 0 12px 22px;color:var(--muted);font-size:14px}
.si .geo-callout:before{display:none}
/* The legacy callout is a 32px|1fr grid for its "i" icon; without the icon the text fell into the 32px column. */
.si .geo-callout{display:block}
.si .geo-callout-body{color:var(--muted)}

/* 4.12 Tables */
.si .geo-table-wrap{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
.si .geo-table{font-size:13px;background:transparent}
.si .geo-table th,.si .geo-table td{border-bottom:1px solid var(--line);padding:17px 20px 17px 0;background:transparent}
.si .geo-table thead th{background:transparent;color:var(--text);font:500 10px/1.5 var(--mono);letter-spacing:1px;border-bottom:1px solid var(--line);border-radius:0}
.si .geo-table tbody th,.si .geo-table td:first-child{color:var(--text);font-weight:500}
.si .geo-table td{color:var(--muted)}
.si .geo-table tbody tr:nth-child(even),.si .geo-table tbody tr:hover,.si .geo-table tr:hover td{background:transparent}
.si .geo-table-caption{font:400 10px/1.7 var(--mono);color:var(--muted);margin-top:16px}
.si main table:not(.geo-table) th,.si main table:not(.geo-table) td{border-color:var(--line)}

/* 4.13 CTA band */
.si .geo-cta{background:var(--action);color:var(--action-text);padding:72px 0}
.si .geo-cta:before{display:none}
.si .geo-cta-box{background:transparent;border:0;border-radius:0;padding:0;text-align:left;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:60px;align-items:end}
.si .geo-cta-box>*{grid-column:2;margin-left:0;margin-right:0}
.si .geo-cta-box>.geo-eyebrow{grid-column:1/-1}
.si .geo-cta-box>h2{grid-column:1;grid-row:2/span 4;align-self:end;margin:18px 0 0}
.si .geo-cta-box>.geo-btn{justify-self:start;margin:20px 0 0!important}
.si .geo-cta .geo-eyebrow,.si .geo-cta h2,.si .geo-cta p,.si .geo-cta-box p,.si .geo-cta strong,.si .geo-cta-note,.si .geo-cta a:not(.geo-btn){color:var(--action-text)}
.si .geo-cta h2{font-size:clamp(40px,5vw,72px);max-width:820px}
.si .geo-cta-box p{margin:0;max-width:420px;font-size:14px}
.si .geo-cta .geo-btn-primary{background:var(--bg);color:var(--text);border-color:var(--bg)}
.si .geo-cta .geo-btn-primary:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.si .geo-cta-note{font-size:11px!important;opacity:.85}

/* 4.14 Remaining legacy surfaces in dd/raw pages */
.si main :is(.card,.panel,.stat-card,.addon,.addon-card,.price-card,.plan,.plan-card,.service-card,.dd-svc-card,.dd-commerce){border-color:var(--line);box-shadow:none}
.si main :is(h1,h2,h3,h4){font-family:var(--font)}
.si main :is(input,select,textarea){background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:var(--radius);font-family:var(--font)}
.si main :is(input,select,textarea)::placeholder{color:var(--subtle)}
.si main label{color:var(--text)}
/* Inline SVG presentation attributes cannot take var(); recolour the old brand greens here. */
.si main [fill="#16A34A" i],.si main [fill="#22C55E" i],.si main [fill="#166534" i],.si main [fill="#4ADE80" i]{fill:var(--accent)}
.si main [stroke="#16A34A" i],.si main [stroke="#22C55E" i],.si main [stroke="#166534" i],.si main [stroke="#4ADE80" i]{stroke:var(--accent)}

/* ---------- 5. Responsive ---------- */
@media(min-width:1440px){html:root{--gutter:64px}}
@media(max-width:1100px){html:root{--gutter:35px}.si-nav{gap:20px}.si-header-inner{gap:20px}.si-actions{gap:10px}.si-mega-grid{gap:22px}.si-footer-grid{grid-template-columns:1.2fr 1fr 1fr;row-gap:36px}.si-footer-brand{grid-column:1/-1}}
@media(max-width:960px){.si-btn--header{display:none}.si .geo-cta-box{grid-template-columns:1fr}.si .geo-cta-box>*,.si .geo-cta-box>h2{grid-column:1;grid-row:auto}.si .geo-cta-box>h2{margin-bottom:20px}}
@media(max-width:700px){
 html:root{--gutter:25px}
 .si-nav{display:none}.si-mobile-trigger{display:grid}.si-actions{margin-left:auto}
 .si-wordmark{font-size:22px}
 .si-mega-grid{grid-template-columns:1fr 1fr;padding-top:22px;gap:25px}
 .si-mega-feature{grid-column:1/-1}
 .si-mobile-primary{display:flex;gap:10px 22px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px}
 .si-mobile-primary a{color:var(--text);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
 .si-mega-bottom{flex-wrap:wrap;gap:10px}
 .si-footer-grid{grid-template-columns:1fr 1fr;gap:30px}
 .si .geo-cta{padding:52px 0}
 .si .geo-kpi strong,.si .geo-hero .geo-kpi strong{font-size:28px}
}
@media(max-width:440px){
 html:root{--gutter:20px}
 .si-wordmark{font-size:21px;gap:9px}
 .si-mega-grid{grid-template-columns:1fr;gap:22px}
 .si-footer-grid{grid-template-columns:1fr}
 .si .geo-hero h1{font-size:clamp(34px,10.5vw,44px)}
 .si .geo-section h2{font-size:clamp(28px,8.5vw,36px)}
}
@media(prefers-reduced-motion:reduce){.si *,.si *:before,.si *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(prefers-reduced-motion:no-preference){.si body,.si-header,.si-footer,.si .geo-section,.si .geo-hero{transition:background-color 240ms ease,color 240ms ease,border-color 240ms ease}}

/* 4.15 Local SEO hub (dd/raw sections with their own classes) */
.si :is(.dd-local-fit,.dd-local-cities,.dd-local-measure){font-family:var(--font);color:var(--text)}
.si :is(.dd-local-fit,.dd-local-cities,.dd-local-measure) h2{font-weight:500;letter-spacing:-.05em;line-height:1.12;font-size:clamp(32px,3.5vw,52px);color:var(--text)}
.si :is(.dd-local-fit,.dd-local-cities,.dd-local-measure) h3{font-weight:500;letter-spacing:-.03em;color:var(--text)}
.si :is(.dd-local-panel,.dd-city-card){background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}
.si .dd-city-card:hover{border-color:var(--muted);box-shadow:none}
.si .dd-city-card__tag{font:500 10px/1.5 var(--mono);letter-spacing:1.2px;color:var(--accent)}
.si .dd-city-card__link{color:var(--accent);font-weight:500;font-size:12px}
.si .dd-local-list li{color:var(--muted)}
.si .dd-local-list li:before{content:'↗';color:var(--accent);font-weight:400;font-size:12px}
.si .dd-local-panel--no .dd-local-list li:before{content:'–';color:var(--subtle)}
.si .dd-local-note{border-left:2px solid var(--accent);background:transparent;color:var(--muted)}
.si .dd-measure-table{border-color:var(--line);border-radius:0;background:transparent}
.si .dd-measure-table :is(th,td){border-color:var(--line);color:var(--muted);background:transparent}
.si .dd-measure-table th{color:var(--text);font:500 10px/1.5 var(--mono);letter-spacing:1px}
/* Old multi-column tables in dd/raw pages: on phones keep columns readable and scroll the table itself. */
@media(max-width:700px){.si main table:not(.si-table) :is(td,th){min-width:140px}}

/* Mobile audit 19.10: contrast and legibility fixes on legacy geo-* markup */
.si .geo-breadcrumbs__item--current{color:var(--muted)}
/* links styled .geo-text-green inside the action band were accent on action (invisible in dark) */
html .si .geo-cta :is(.geo-text-green,strong.geo-text-green),html .si .geo-cta :is(p,span,strong,em,small,a:not(.geo-btn))[style*="color"]{color:var(--action-text)!important}
html .si .geo-pricing-card--featured :is(p,span,strong,em,small,li,div)[style*="color"]{color:var(--action-text)!important}
@media (max-width:700px){
  .si :is(.geo-cta-note,.geo-byline,.geo-table-caption,.si-cta-small){font-size:12px!important;line-height:1.5}
  .si .geo-case-more{min-height:44px;display:inline-flex;align-items:center}
  /* inline overflow:hidden on display:block tables clipped the columns; let the table itself scroll */
  .si main table:not(.si-table){overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}

/* Audit 19.10 DD-08: legibility and tap targets on phones */
.si .cookie-banner .cb-save{margin-top:12px;min-height:44px}

@media (max-width:700px){
  .si-cta-small{font-size:13px!important}
  .si-footer-col a{font-size:14px;line-height:1.4;min-height:44px;display:inline-flex;align-items:center}
  .si-footer-contact a,.si-footer-end a,.si-footer-cookie{display:inline-flex;align-items:center;min-height:44px}
  .si-footer-end{font-size:12px;row-gap:0}
  .si-footer-disclaimer{font-size:12px}
}
