/* Samsung Internet only (html.sb is set by a UA check in index.html).
   Its dark mode repaints CSS colours and gives sites no opt-out, and the page cannot
   detect when it is on. Colours that come from images survive, so on this browser:
   - light / yellow surfaces are painted with tiny SVG tiles
   - black text on those surfaces is a black PNG tile clipped to the glyphs
   In Samsung's light mode this renders the same as the normal stylesheet. */
html.sb{
  --iy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%23fdb913'/%3E%3C/svg%3E");
  --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%23f4eee1'/%3E%3C/svg%3E");
  --ip:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%23fbf8f1'/%3E%3C/svg%3E");
  --iw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%23ffffff'/%3E%3C/svg%3E");
  --ig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%23faf6ec' fill-opacity='.9'/%3E%3C/svg%3E");
  --ik:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAE0lEQVR4nGMUERZggAEmOAsvBwALxgA/47Zm/AAAAABJRU5ErkJggg==");
  --iphone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

/* ---- black text on light / yellow surfaces ---- */
html.sb .nav-links a,
html.sb .hero-slogan,
html.sb .hero-sub,
html.sb .hero-facts li,
html.sb .hero-facts b,
html.sb .brush > span,
html.sb .ticker-run span,
html.sb .fleet h2,
html.sb .fleet .sec-lead,
html.sb .chip:not([aria-selected="true"]),
html.sb .card h3,
html.sb .card-line,
html.sb .card-key dt,
html.sb .card-key dd,
html.sb .contact h2,
html.sb .contact .kicker,
html.sb .contact-hours,
html.sb .contact-list dt,
html.sb .contact-list dd,
html.sb .map-ph p,
html.sb .map-ph a,
html.sb .footer-in > p,
html.sb .cookie-open,
html.sb .m-info h2,
html.sb .m-blurb,
html.sb .m-specs dt,
html.sb .m-specs dd,
html.sb .m-note,
html.sb .m-book p{
  color:transparent;text-shadow:none;
  background:var(--ik);-webkit-background-clip:text;background-clip:text;
}
html.sb .nav-links a:hover{color:transparent}

/* ---- yellow blocks that carry their own black text ---- */
html.sb .btn-call,
html.sb .card-tag,
html.sb .step-n,
html.sb .sheet-close,
html.sb .credit a{
  color:transparent;text-shadow:none;
  background:var(--ik),var(--iy);
  -webkit-background-clip:text,border-box;background-clip:text,border-box;
}
html.sb .btn-call:hover,html.sb .sheet-close:hover,html.sb .credit a:hover{color:transparent}
html.sb .btn-call svg{display:none}
html.sb .btn-call:has(svg)::before{content:"";flex:none;width:18px;height:18px;background:var(--ik);-webkit-mask:var(--iphone) center/contain no-repeat;mask:var(--iphone) center/contain no-repeat}
html.sb .contact-phone{
  color:transparent;border-bottom-color:transparent;
  background:var(--ik),var(--ik) 0 100%/100% 6px no-repeat;
  -webkit-background-clip:text,border-box;background-clip:text,border-box;
}
html.sb .contact-phone:hover{color:transparent}

/* ---- surfaces ---- */
html.sb .nav,html.sb .nav.is-stuck{background:var(--ig)}
html.sb .nav-burger i{background:var(--ik)}
html.sb .hero{background:var(--ic)}
/* hero wash: a solid light tile (survives) shaped by CSS masks; gradient images get darkened */
html.sb .hero-shade{background:var(--ip);
  -webkit-mask-image:radial-gradient(ellipse 58% 62% at 50% 46%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.76) 35%,rgba(0,0,0,.36) 68%,rgba(0,0,0,.05) 100%),linear-gradient(rgba(0,0,0,0) 72%,rgba(0,0,0,.85) 92%,#000 100%);
  mask-image:radial-gradient(ellipse 58% 62% at 50% 46%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.76) 35%,rgba(0,0,0,.36) 68%,rgba(0,0,0,.05) 100%),linear-gradient(rgba(0,0,0,0) 72%,rgba(0,0,0,.85) 92%,#000 100%)}
html.sb .hero .btn-ghost,html.sb .hero .btn-ghost:hover{color:transparent;border-color:var(--ink);background:var(--ik),var(--ig);-webkit-background-clip:text,padding-box;background-clip:text,padding-box}
html.sb .tread-hero{background:var(--ik);opacity:.22}
html.sb .ticker{background:var(--iy);border-image:var(--ik) 1}
html.sb .ticker-run span::after{background:var(--ik)}
html.sb .brush::before{background:var(--iy)}
html.sb .fleet{background:var(--ic)}
html.sb .card{background:var(--iw)}
html.sb .card-img,html.sb .m-photo{background:var(--iw)}
html.sb .perks li{border-image:var(--iy) 1}
html.sb .contact{background:var(--iy)}
html.sb .contact .kicker::before{background:var(--ik)}
html.sb .contact::after{background:var(--ik);opacity:.1}
html.sb .contact-map,html.sb .map-ph{background:var(--ic)}
html.sb .footer{background:var(--ip);border-image:var(--ik) 1}
html.sb .tread-foot{background:var(--ik);opacity:.1}
html.sb .sheet{background:var(--ip)}
html.sb .m-book{background:var(--iy)}
@media (max-width:900px){html.sb .nav-links{background:var(--ip)}}

@media (max-width:700px){html.sb .hero-shade{
  -webkit-mask-image:radial-gradient(ellipse 125% 58% at 50% 46%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.76) 40%,rgba(0,0,0,.34) 72%,rgba(0,0,0,.05) 100%),linear-gradient(rgba(0,0,0,0) 76%,rgba(0,0,0,.85) 93%,#000 100%);
  mask-image:radial-gradient(ellipse 125% 58% at 50% 46%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.76) 40%,rgba(0,0,0,.34) 72%,rgba(0,0,0,.05) 100%),linear-gradient(rgba(0,0,0,0) 76%,rgba(0,0,0,.85) 93%,#000 100%)}}
