/* CBS site base styles. Mobile first (360 px up). Colors come only from theme.css tokens. */
/* Manrope (SIL OFL 1.1), variable weight 200-800, served from this site only. See assets/fonts/README.md. swap = text shows at once in the system font, then switches. */
@font-face{font-family:Manrope;src:url("../fonts/Manrope-VariableFont_wght.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Manrope,"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow-x:hidden}
img,svg{max-width:100%;height:auto}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,7vw,3rem);font-weight:800}
h2{font-size:clamp(1.4rem,4.5vw,1.9rem);font-weight:800}
h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 1em}
/* Links (Pass 4): inline text links are underlined by default (1px, offset 3px; WCAG 1.4.1), palette LINK colour, bold; hover/focus = 2px underline plus the focus ring. */
a{color:var(--link);font-weight:700;text-decoration-line:var(--link-underline);text-underline-offset:3px;text-decoration-thickness:1px}
/* buttons and nav-style items carry no underline at rest; inline text links do (--link-underline in theme.css is the one switch) */
a:is(.btn,.mo-btn,.skip,.phone,.logo,.signin,.mobile-bar a){text-decoration-line:none}
.site-nav li a{text-decoration-line:none}
a:hover,a:focus-visible{text-decoration-line:underline;text-decoration-thickness:2px}
.btn:hover,.btn:focus-visible,.mo-btn:hover,.mo-btn:focus-visible,.skip:hover,.skip:focus-visible,.phone:hover,.phone:focus-visible{text-decoration:none}
.inherit{font-weight:inherit}
/* a paragraph that holds an inline link is set in body color, so the link can stand 3:1 apart from it */
.lead:has(a),.small:has(a),.site-footer p:has(a),.mo-hero__signin:has(a){color:var(--text)}
:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:8px;top:-60px;background:var(--brand);color:var(--on-brand);padding:10px 14px;border-radius:8px;z-index:100;font-weight:700}
.skip:focus{top:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;border:2px solid var(--brand);background:transparent;color:var(--brand);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}
.btn-primary{background:var(--brand);color:var(--on-brand)}
.btn-primary:hover{background:var(--brand);filter:brightness(1.08)}
.btn-icon{flex:none;width:44px;padding:0}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:1.2em 0 0}
.link-more{font-weight:700}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.hdr{display:flex;align-items:center;gap:10px;min-height:60px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;min-height:44px;margin-right:auto;flex:none}
/* lockup = mark + wordmark, no tagline (P2D-109). Phones: mark ~33px, wordmark ~17px. 700+: mark ~40px, wordmark ~21px. See README "Lockup rules". */
.logo img{height:44px;width:auto}
.phone{font-weight:800;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 6px}
.phone-text{display:none}
.nav-toggle{min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:2px solid var(--ui);background:var(--bg);color:var(--text);font:inherit;font-weight:700;cursor:pointer}
.site-nav{width:100%;padding-bottom:14px}
.js .site-nav{display:none}
.js .site-nav.open{display:block}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav li a{display:flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none;font-weight:600;border-bottom:1px solid var(--border)}
.site-nav li a[aria-current="page"]{color:var(--brand);font-weight:800}
.nav-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.nav-account{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.nav-actions .signin{color:var(--text);font-weight:600;min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
.theme-label{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted)}
.theme-label select,.pal-label select{min-height:44px;border-radius:10px;border:2px solid var(--ui);background:var(--bg);color:var(--text);font:inherit;padding:0 8px}

/* sticky mobile bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:8px;box-sizing:border-box;width:100%;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background-color:var(--bg);background-image:none;opacity:1;border-top:1px solid var(--border)}
html{scroll-padding-bottom:84px}
/* test-only: the matrix moves the bar to the document end for full-page screenshots so it is not stamped over the first viewport */
.mobile-bar.is-shot{position:static}
.mobile-bar .btn{flex:1;padding:10px 8px}
.mobile-bar .btn-icon{flex:none;padding:0}

/* sections */
main{display:block}
.section{padding:var(--section-pad) 0}
.section.alt{background:var(--surface)}
.lead{font-size:1.15rem;color:var(--muted);max-width:42em}
.page-head{padding:36px 0 16px}
.hero{padding:32px 0 var(--section-pad)}
.hero-grid{display:grid;gap:24px}
.tagline{font-size:1.1rem;color:var(--muted);max-width:34em}
.eyebrow{display:inline-block;margin:0 0 14px;padding:5px 12px;border-radius:999px;background:var(--tint);border:1px solid color-mix(in srgb,var(--brand) 40%,var(--bg));color:var(--text);font-size:.875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.small{font-size:1rem;color:var(--muted)}
[data-cbs-hero]{min-height:200px;border-radius:20px;position:relative;isolation:isolate}
/* soft brand/glass glow on the page canvas behind the hero card */
[data-cbs-hero]::before{content:"";position:absolute;inset:-14% -6%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--glass) 60%,transparent),color-mix(in srgb,var(--brand) 7%,transparent) 68%,transparent)}
.grid{display:grid;gap:16px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px}
.section.alt .card{background:var(--bg)}
.card h2,.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.ticks,.plain{margin:0;padding:0;list-style:none}
.ticks li{position:relative;padding:12px 0 12px 0;border-bottom:1px solid var(--border)}
.ticks li:last-child{border-bottom:0}
.steps{counter-reset:s;margin:0;padding:0;list-style:none}
.steps li{counter-increment:s;position:relative;padding:12px 0 12px 52px;min-height:48px}
.steps li::before{content:counter(s);position:absolute;left:0;top:10px;width:36px;height:36px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:800;display:flex;align-items:center;justify-content:center}
.strip{padding:22px 0;background:var(--surface)}
/* callout banner: one component, reuse anywhere (wrap it in .callout-wrap for page spacing) */
.callout-wrap{padding:var(--section-pad) 0}
.callout{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;background:var(--tint);border:1px solid color-mix(in srgb,var(--brand) 40%,var(--bg));border-radius:16px;padding:20px 24px}
.callout p{margin:0;font-size:1.1rem}
/* 3-step version of the callout: heading, three steps, right-aligned button; one column on phones */
.callout--steps{display:block}
.callout__title{font-size:clamp(1.15rem,3.6vw,1.5rem);margin:0 0 16px}
/* switching band: deep anchor surface, full width (modifier on .callout-wrap) */
.callout-wrap--anchor{background:var(--anchor);color:#fff;padding:calc(var(--section-pad) + 12px) 0;border-top:1px solid var(--band-border);border-bottom:1px solid var(--band-border)}
.callout-wrap--anchor .callout{background:transparent;border:0;padding:0;color:#fff}
.callout-wrap--anchor h2,.callout-wrap--anchor h3{color:#fff}
.callout-wrap--anchor p,.callout-wrap--anchor .callout__steps p{color:var(--anchor-soft)}
.callout-wrap--anchor .callout__steps li::before{background:var(--anchor-accent);color:var(--anchor-accent-ink)}
.callout-wrap--anchor .btn{background:var(--anchor-btn);border-color:var(--anchor-btn);color:var(--anchor-btn-ink)}
.callout-wrap--anchor .btn:hover{background:var(--anchor-soft);border-color:var(--anchor-soft)}
.callout-wrap--anchor :focus-visible{outline-color:#fff}
.callout__steps{counter-reset:cs;list-style:none;margin:0 0 16px;padding:0;display:grid;gap:14px}
.callout__steps li{counter-increment:cs;position:relative;padding-left:46px}
.callout__steps li::before{content:counter(cs);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:800;display:flex;align-items:center;justify-content:center}
.callout__steps h3{margin:0 0 2px;font-size:1.05rem}
.callout__steps p{font-size:1rem;color:var(--text)}
.callout__cta{display:flex;justify-content:flex-end}
@media (max-width:699px){.callout__cta .btn{width:100%}}
@media (min-width:860px){.callout__steps{grid-template-columns:repeat(3,1fr);gap:28px}}
/* trust strip (Pass 4): compact single row of three icon + headline items, hairline dividers, no box. Phones: a compact list. The one-sentence detail stays in the markup as .sr-only text for assistive tech. */
.proof-wrap{padding:0 0 var(--section-pad)}
.proof{list-style:none;margin:0;padding:0;display:grid}
.proof li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}
.proof li:first-child{border-top:0;padding-top:0}
.proof li:last-child{padding-bottom:0}
.proof h3{margin:0;font-size:1.05rem;color:var(--text)}
@media (min-width:860px){.proof{grid-template-columns:repeat(3,1fr)}.proof li,.proof li:first-child,.proof li:last-child{border-top:0;padding:6px 20px;border-left:1px solid var(--border);justify-content:center}.proof li:first-child{border-left:0}}
/* testimonial slot (hidden until a real franchisee quote exists) */
.quote{margin:28px 0 0;padding:20px 24px;border-left:4px solid var(--brand);background:var(--bg);border-radius:0 14px 14px 0}
.quote[hidden]{display:none}
.quote blockquote{margin:0 0 8px;font-size:1.15rem;font-weight:600}
.quote figcaption{color:var(--muted);font-size:.95rem}
/* icon badge: brand at 10% on the surface; 44px rounded square for Why CBS, 32px for the proof bar */
.ico-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:10px;background:var(--badge);color:var(--brand);margin-bottom:12px}
.ico-badge--sm{width:32px;height:32px;border-radius:8px;margin:0}
.ico-badge .ico{display:block;width:24px;height:24px}
.ico-badge--sm .ico{width:18px;height:18px}
/* persona cards: Franchisees raised (white, brand top bar, shadow); Fleet recessed (surface tint) */
.card--lift{background:var(--elev);border-top:4px solid var(--brand);box-shadow:var(--shadow-lift)}
.card--recessed{background:var(--surface);box-shadow:inset 0 1px 3px color-mix(in srgb,var(--text) 10%,transparent)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between}
.strip p{margin:0}
.note{border-left:4px solid var(--brand);padding:4px 0 4px 14px;margin:1.2em 0}
.faq-group h3{margin-top:1.4em}
.tour-fallback{padding-left:1.2em}
.shot{border:2px dashed var(--border);border-radius:14px;padding:14px;color:var(--muted);font-size:.95rem;margin-top:8px}

/* forms */
.form{display:grid;gap:14px;max-width:560px}
.field label{display:block;font-weight:700;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:2px solid var(--ui);background:var(--bg);color:var(--text);font:inherit}
.field textarea{min-height:120px;resize:vertical}
.field .hint{font-size:1rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[data-cbs-form-status]{min-height:1.4em;font-weight:700}
[data-cbs-form-status][data-state="ok"],[data-cbs-form-status].is-ok{border-left:4px solid var(--brand);padding:8px 12px;background:var(--surface)}
[data-cbs-form-status][data-state="error"],[data-cbs-form-status].is-error{border-left:4px solid var(--text);padding:8px 12px;background:var(--surface)}
[data-cbs-form-status]:empty{display:none}
.door{display:flex;flex-direction:column;gap:6px}
.door .btn{align-self:flex-start;margin-top:10px}

/* footer */
.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:32px 0}
.site-footer ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:0 18px}
.site-footer li a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:var(--text);font-weight:600}
.site-footer p{margin:0 0 .6em;color:var(--muted);font-size:1rem}
/* palette picker: visible by default; site.js sets data-palette-picker="hidden" on <html> at launch (see README) */
html[data-palette-picker="hidden"] .pal-label{display:none}
.pal-label{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted)}

/* wider screens */
@media (min-width:700px){
  .grid.two{grid-template-columns:1fr 1fr}
  .grid.four{grid-template-columns:1fr 1fr}
  .logo img{height:61px}
}
@media (min-width:1100px){
  body{padding-bottom:0}
  .mobile-bar{display:none}
  .hero-grid{grid-template-columns:1fr 1fr;align-items:center}
  .grid.four{grid-template-columns:repeat(4,1fr)}
}
/* full header bar only where it fits on one line; below this the Menu button is used */
@media (min-width:1280px){
  .nav-toggle{display:none}
  .js .site-nav,.site-nav{display:flex;width:auto;flex:1 1 auto;align-items:center;gap:8px;padding:0;justify-content:flex-end}
  .site-header .wrap{max-width:1560px}
  .logo{margin-right:12px}
  .logo img{height:55px}  /* the one-line nav only has room for +8% at 1280; the full +20% (61px) returns at 1440 */
  .site-nav ul{display:flex;gap:2px}
  .site-nav li a{border:0;padding:0 8px;font-size:.95rem;white-space:nowrap}
  .nav-actions{margin:0;flex-wrap:nowrap;white-space:nowrap}
  .nav-actions .btn{white-space:nowrap}
  .theme-label{font-size:0;gap:0}
  .theme-label select{font-size:.9rem}
  .hdr{flex-wrap:nowrap}
  .phone{white-space:nowrap;flex:none}
  .site-nav ul{margin-right:auto}
  .nav-actions{gap:28px}
  .nav-account{flex-wrap:nowrap;gap:10px}
}
@media (min-width:1440px){ .logo img{height:61px} }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

.field-error{display:block;margin-top:4px;font-size:1rem;font-weight:700;color:var(--text)}
.field-error::before{content:"Check: ";font-weight:800}
.field-error[hidden]{display:none}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--text)}

/* utilities (replace inline styles so the site can run a strict CSP) */
.pt-8{padding-top:8px}
.mt-14{margin-top:14px}
.mt-hero-line{margin-top:20px}.mt-hero-line .nw{white-space:nowrap}
.mt-20{margin-top:20px}
.narrow{max-width:46em}

.faq-group+.faq-group,.form+.faq-group{margin-top:36px}
/* print: plain, readable, no chrome */
@media print{
  body{background:#fff;color:#000;padding:0;font-size:11pt}
  .site-header .nav-toggle,.site-nav .nav-actions,.mobile-bar,.skip,[data-cbs-hero],.mo-tour__nav,.pal-label,.theme-label,.btn-row{display:none!important}
  .site-header,.site-footer,.strip,.section.alt,.card{background:#fff!important;border-color:#999;box-shadow:none!important}
  .callout-wrap--anchor{background:#fff!important;color:#000}.callout-wrap--anchor *{color:#000!important;background:transparent!important}
  .js .site-nav{display:none}
  a{color:#000;text-decoration:underline}
  .ico,.ico-phone{display:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em}
  .logo-d{display:none!important}.logo-l{display:inline!important}
  h2,h3{break-after:avoid}.card,li{break-inside:avoid}
}

/* headline: the tagline is the brand message. "Every dollar," in --text, "in plain sight." in --brand, same size. */
.h1-line{display:block}
.h1-accent{color:var(--brand)}
h1.h1-brand{font-size:clamp(2.1rem,8.4vw,3.5rem);line-height:1.1;letter-spacing:-.02em}
.callout__lead{margin:-8px 0 16px!important}
/* footer brand block: full lockup (mark 48px) with the tagline as real text at 17px, above the links */
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 0 20px}
.foot-logo{display:inline-flex;align-items:center;text-decoration-line:none}
.foot-logo img{height:61px;width:auto}
.site-footer .foot-tag{margin:0;font-size:1.0625rem;font-weight:700;color:var(--brand);letter-spacing:-.005em}
@media (max-width:419px){ .phone{display:none} }  /* the bottom bar already has the call button; this keeps the larger logo and Menu on one line */
/* hero background video: decorative, behind everything. The scrim is the page background colour (white in light, deep green in dark) at 90 to 92 percent, so the theme text colours keep WCAG AA over any frame; the card on the right is opaque. */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero .wrap{position:relative;z-index:1}
.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--bg)}
.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) var(--scrim-a),transparent) 0,color-mix(in srgb,var(--bg) var(--scrim-a),transparent) 50%,color-mix(in srgb,var(--bg) var(--scrim-f),transparent) 100%)}
@media (min-width:1100px){.hero-media::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) var(--scrim-a),transparent) 0,color-mix(in srgb,var(--bg) var(--scrim-a),transparent) 52%,color-mix(in srgb,var(--bg) var(--scrim-f),transparent) 90%);-webkit-mask-image:linear-gradient(180deg,#000 78%,rgba(0,0,0,.6));mask-image:linear-gradient(180deg,#000 78%,rgba(0,0,0,.6))}}
/* scrim strength: a = behind the text, f = toward the free side. Worst-case AA (brightest and darkest real frame pixels): light a 88 percent, dark a 80 percent */
:root{--scrim-a:88%;--scrim-f:45%}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--scrim-a:80%;--scrim-f:55%}}
:root[data-theme="dark"]{--scrim-a:80%;--scrim-f:55%}
@media print{.hero-media{display:none}}
/* decorative ring mark behind the headline: desktop only, aria-hidden, low opacity, never over the hero card */
.hero-ring{display:none;opacity:.05}
@media (min-width:1100px){
  .hero{position:relative;overflow:hidden}
  .hero-ring{display:block;position:absolute;left:max(-120px,calc(50% - 760px));top:50%;width:560px;height:560px;transform:translateY(-50%);opacity:.05;pointer-events:none;z-index:0}
  .hero .wrap{position:relative;z-index:1}
}
/* 1280+: phone icon AND number in the header (P2D-111); the bar is tightened so it still fits on ONE line at 1280 */
@media (min-width:1280px){
  .phone{gap:6px;padding:0 4px;font-size:.9rem}.phone-text{display:inline}.ico-phone{display:inline;width:18px;height:18px}
  .site-header .wrap{padding-left:12px;padding-right:12px}
}
@media (min-width:1280px) and (max-width:1599px){
  .site-nav ul{gap:0}.site-nav li a{padding:0 4px;font-size:.88rem}
  .nav-actions{gap:10px}.nav-account{gap:4px}
  .nav-actions .btn{padding:8px 12px;font-size:.92rem}
  .nav-actions .signin{padding:0 4px;font-size:.92rem}
  .theme-label select{padding:0 2px;font-size:.82rem}
}

/* ---- Mobile pass (P2D phone audit, 8 Nov 2026): tests/mobile-audit.js ---- */
/* anchors (#pay, #book ...) land below the sticky header instead of under it */
html{scroll-padding-top:84px}
@media (max-width:1279px){
  /* the open Menu scrolls inside the screen above the bottom bar (landscape phones used to run off the bottom with no way to reach Sign in / Get started) */
  .js .site-nav.open{max-height:calc(100vh - 144px - env(safe-area-inset-bottom));max-height:calc(100dvh - 144px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  /* labels and pickers at 16 px: iOS zooms the page when a control under 16 px takes focus */
  .theme-label,.pal-label{font-size:1rem}
  .theme-label select,.pal-label select{font-size:1rem}
}
@media (max-width:1099px){
  /* on-screen keyboard: while a form field has focus the bottom bar steps aside, so the field and the Send button are never under it */
  body:has(input:focus,select:focus,textarea:focus) .mobile-bar{display:none}
}
/* short screens (phones on their side): header scrolls away, the bar is slimmer, more of the page shows */
@media (max-height:500px) and (max-width:1099px){
  html{scroll-padding-top:8px;scroll-padding-bottom:64px}
  .site-header{position:static}
  .mobile-bar{padding:6px 16px calc(6px + env(safe-area-inset-bottom))}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .js .site-nav.open{max-height:none;overflow:visible}
}
/* the soft glow behind the hero card stayed inside the card's width on phones and tablets: at -6% it pushed the page 4 to 30 px wider than the screen (horizontal scroll, zoomed-out layout) */
@media (max-width:1099px){[data-cbs-hero]::before{inset:-14% 0}}
/* "Powered by MG Technology Group": discreet footer credit. Icon-only MG mark plus the words; Manrope (the shipped site font) stands in for the MG wordmark, which is outlined paths. --text at .7 keeps AA in both themes. */
.site-footer .powered{margin:12px 0 0;font-size:.875rem;line-height:1.3}  /* 14px = the mobile-audit floor for small utility text; a deliberate credit line, exempt from the 16px body-text rule */
.site-footer .powered-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--text);font-weight:600;letter-spacing:.01em;opacity:.7;text-decoration-line:none}
.site-footer .powered-link:hover,.site-footer .powered-link:focus-visible{opacity:1;text-decoration-line:none}
.site-footer .powered-link img{height:13px;width:auto;flex:none}
