/* BitHub sections: a shared blue/violet identity across the main site and blog. */
body:is(.home-lab,.service-page,.tools-index-page,.about-cinematic) {
 --viola:#6545a4;
 --bithub-holo-light:radial-gradient(ellipse at 4% 4%,rgba(151,125,205,.14),transparent 47vw),radial-gradient(ellipse at 96% 32%,rgba(130,164,221,.13),transparent 46vw),radial-gradient(ellipse at 58% 100%,rgba(160,148,198,.09),transparent 48vw),#fcfcff;
 --bithub-holo-dark:radial-gradient(ellipse at 0% 0%,rgba(128,103,185,.26),transparent 60%),radial-gradient(ellipse at 100% 38%,rgba(91,127,190,.16),transparent 55%),#111321;
}
body:is(.service-page,.tools-index-page) { background:#fcfcff; }
body:is(.home-lab,.service-page,.tools-index-page,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav { background:rgba(252,252,255,.84)!important; }
body:is(.home-lab,.service-page,.tools-index-page) .site-nav #mute { background:#383152!important; }
body:is(.home-lab,.service-page,.tools-index-page) .menu__list .lang-switch { background:#efebf6; border-color:#d6cee4; }
body:is(.home-lab,.service-page,.tools-index-page) .menu__list .lang-switch__opt { width:auto; text-align:center; color:#554271!important; }
body:is(.home-lab,.service-page,.tools-index-page) .menu__list .lang-switch__opt.is-active { background:#383152; color:white!important; }

/* Services retain white surfaces and use the same accent in every component. */
body.service-page.content.invert:not(.home) .promotonda { background:linear-gradient(125deg,#eae4f4e6,#fcfcffc9 55%,#e8eefbc9)!important; }
body.service-page .service-faq__item { border-color:#d9d5e5; }
body.service-page .service-faq__item[open] { border-color:#b9a9d0; box-shadow:0 12px 35px #50377809; }
body.service-page .service-faq__item summary::after { border-color:#d2c7e3; background:#f0ebf8; color:#614888; }
body.service-page .service-faq__item[open] summary::after { background:#e7ddf4; }
body.service-page .service-faq__item summary:focus-visible { outline-color:#8068bf; }

/* The space film keeps its dark opening; the story beneath it is light. */
body.about-cinematic {
 --about-ink:#232536; --about-muted:#606176; --about-line:#dcd6e8;
 --about-violet:#6b479f; --about-blue:#526da6; color:var(--about-ink); background:#fcfcff;
}
body.about-cinematic::before { background:var(--bithub-holo-light); }
body.about-cinematic .about-page { background:var(--bithub-holo-light); color:var(--about-ink); border-radius:32px 32px 0 0; margin-top:-32px; }
body.about-cinematic .about-page :is(h2,h3) { color:var(--about-ink); }
body.about-cinematic .about-eyebrow { color:#6a4f8b; }
body.about-cinematic .about-intro__copy .about-intro__lead,
body.about-cinematic .about-intro__copy strong,
body.about-cinematic .about-team__statement strong,
body.about-cinematic .about-team__partner strong { color:var(--about-ink); }
body.about-cinematic .about-page a:not(.bottone) { color:#64438f!important; }
body.about-cinematic :is(.about-chapter__panel,.about-team__panel) { background:linear-gradient(135deg,#f4effbeF,#fffffff5 65%,#eff3fcef); border-color:#d9d3e5; box-shadow:0 25px 70px #3e286315; }
body.about-cinematic .about-chapter__media { border-color:#d9d3e5; box-shadow:0 28px 80px #3e286320; }
body.about-cinematic .about-chapter__number { color:#8c77b43b; }
body.about-cinematic .about-tags li { background:#f3eef9; border-color:#ddd3eb; color:#67517d; }
body.about-cinematic .about-values__grid article { background:linear-gradient(135deg,#ffffffdb,#efebf8a6); border-color:var(--about-line); box-shadow:0 14px 40px #3e286308; }
body.about-cinematic :is(.about-values__grid span,.about-built__grid > article > span) { color:#81699b; }
body.about-cinematic .about-team__panel li { color:var(--about-muted); }
body.about-cinematic .about-team__panel li::before { background:#8060ad; box-shadow:none; }
body.about-cinematic .about-built__grid li::before { color:#6b479f; }
body.about-cinematic .about-faq details { background:#ffffffbf; border-color:var(--about-line); }
body.about-cinematic .about-faq summary { color:var(--about-ink); }
body.about-cinematic .about-faq summary span { color:#6b479f; border-color:#d5c7e5; background:#f3edf9; }
body.about-cinematic .service-connections .sx-grid a { background:#ffffffcc; border-color:var(--about-line); color:var(--about-ink)!important; }
body.about-cinematic .service-connections p { color:var(--about-muted); }
body.about-cinematic .service-local-strip { background:#eee9f7; color:var(--about-ink); }
body.about-cinematic .service-local-strip a { color:#64438f!important; }
body.about-cinematic .about-page :focus-visible { outline:3px solid #8068bf; outline-offset:4px; }
body.about-cinematic .site-nav.about-nav--past-hero,
body.about-cinematic .site-nav.about-nav--past-hero.nav--scrolled {
 top:14px; left:5vw; width:90vw; height:66px; padding:0 14px 0 20px;
 background:rgba(252,252,255,.9); border:1px solid #ffffffc9; border-radius:20px;
 box-shadow:0 8px 35px #34204f0c; backdrop-filter:blur(18px);
}
body.about-cinematic .site-nav.about-nav--past-hero > a,
body.about-cinematic .site-nav.about-nav--past-hero .nav-primary-links a { color:#232536!important; text-shadow:none; }
body.about-cinematic .site-nav.about-nav--past-hero > a img { filter:none; }
body.about-cinematic .site-nav.about-nav--past-hero .menu__icon::before { background:#383152!important; }
body.about-cinematic .site-nav.about-nav--past-hero .menu__icon__bar { background:white!important; }
body.about-cinematic .menu__list a { color:#232536!important; }
body.about-cinematic .menu__list .lang-switch__opt.is-active { background:#383152; color:white!important; }

/* Every BitHub footer has the same rounded silhouette and complete colour map. */
footer.site-footer {
 --sf-bg:#111321; --sf-panel:rgba(231,225,246,.045); --sf-panel-strong:rgba(231,225,246,.085);
 --sf-border:rgba(199,188,220,.2); --sf-text:#f6f5fc; --sf-muted:#ccc7da; --sf-soft:#b7accb;
 --sf-purple:#8b72b8; --sf-violet:#c7bcec; --sf-blue:#96acd5;
 --sf-glow:128 103 185; --sf-secondary:91 127 190;
 background:radial-gradient(ellipse at 0% 0%,rgb(var(--sf-glow) / .23),transparent 60%),radial-gradient(ellipse at 100% 38%,rgb(var(--sf-secondary) / .15),transparent 55%),var(--sf-bg)!important;
 border-radius:32px 32px 0 0!important;
}

footer.site-footer .site-footer__ambient { background:rgb(var(--sf-glow) / .14); }
footer.site-footer .site-footer__local::before { background:linear-gradient(145deg,rgb(var(--sf-glow) / .28),rgb(var(--sf-secondary) / .05)); }
footer.site-footer .site-footer__product::before { background:rgb(var(--sf-glow) / .1); }
footer.site-footer :is(.site-footer__product--featured,.site-footer__product--reviews) { border-color:rgb(var(--sf-glow) / .4); background:radial-gradient(circle at 100% 0,rgb(var(--sf-glow) / .2),transparent 18rem),linear-gradient(145deg,var(--sf-panel-strong),var(--sf-panel)); }
footer.site-footer :is(.site-footer__local,.site-footer__product):hover { border-color:var(--sf-violet); }
footer.site-footer .site-footer__diagnostics-link { border-color:rgb(var(--sf-glow) / .65); background:rgb(var(--sf-glow) / .24); }
footer.site-footer .site-footer__diagnostics-link:hover { border-color:var(--sf-violet); background:rgb(var(--sf-glow) / .38); }
footer.site-footer :is(a,button):focus-visible { outline:3px solid var(--sf-violet); outline-offset:4px; }
footer.site-footer p { font-weight:400; }
@media(max-width:800px) {
 body.about-cinematic .site-nav.about-nav--past-hero { left:3%; width:94%; height:62px; padding-inline:12px; }
}

/* A lavender / mint atmosphere sits behind the home glass, without covering WebGL. */
body.home-lab {
 --bithub-holo-light:radial-gradient(ellipse at 3% 10%,rgba(151,125,205,.20),transparent 55vw),radial-gradient(ellipse at 98% 38%,rgba(126,193,157,.28),transparent 56vw),radial-gradient(ellipse at 58% 100%,rgba(160,148,198,.08),transparent 48vw),#fcfcff;
}

/* Contrast must survive both the light page and the space images under the type. */
body.about-cinematic .about-chapter h2 {
 text-shadow:0 0 2px #fcfcff,0 0 5px #fcfcfff5,0 0 12px #fcfcffdc,0 3px 18px #34205026;
 -webkit-text-stroke:1px #fcfcffb3; paint-order:stroke fill;
}
body.about-cinematic .service-connections h2 {
 color:#594377; background-image:linear-gradient(105deg,#70449a,#347375 44%,#614c99 75%,#85448c);
 background-size:100% 100%; background-attachment:scroll; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
 text-shadow:0 2px 6px #40255b24; animation:none;
 font-size:clamp(30px,3.7vw,56px); font-weight:600; line-height:1.16; letter-spacing:-.035em; margin-bottom:30px;
}
body.about-cinematic .service-connections .sx-eyebrow { color:#6a4f8b; font-weight:500; }

/* Shared material: translucent surfaces, a visible rim and soft tinted light. */
:root {
 --glass-lilac:160 133 209; --glass-mint:123 191 157; --glass-lemon:222 202 112;
 --glass-tint:var(--glass-lilac);
 --glass-fill:linear-gradient(125deg,#ffffffb8,#ffffff40 55%,#ffffff80);
 --glass-shadow:0 16px 44px #43335e10,0 2px 7px #43335e06,inset 0 1px 0 #fff,inset 0 -1px 0 #a69db229;
 --action-yellow:#f4dc65;
}
/* These selectors name surfaces, never their text wrappers or video/WebGL layers. */
body.home-lab :is(.home-tools,.home-tool-card,#spiegone,#parallax-text),
body.service-page.content.invert:not(.home) :is(.container.center,.promotonda,.cards > div),
body.service-page :is(.container.center,.promotonda,.cards > div,.flexcont .cards,.sx-grid > a,.sx-grid > article,.sx-panel,.sx-cta,.sx-video,.service-faq__item),
body.tools-index-page :is(.tools-index-note,.tools-index-picker,.tools-index-summary span),
body.about-cinematic :is(.about-chapter__panel,.about-team__panel,.about-values__grid article,.about-faq details,.service-connections .sx-grid > a),
body.contact-page :is(.contact-form,.app-support__block,.gc-block,.gc-sources li),
body.diagnostics-page .diagnostics-tool,
body.local-finder-route :is(.finder-search,.finder-workspace,.finder-benefits article,.finder-faq details),
body.reviews-widget-route :is(.reviews-start-card,.reviews-benefits article,.reviews-faq details),
body.agent-page :is(.agent-conversation,.agent-next-card),
body.green-web-inspector-page .inspector-store-status {
 background:radial-gradient(ellipse at 100% 0%,rgb(var(--glass-tint) / .24),transparent 75%),var(--glass-fill)!important;
 border:1px solid #ffffffdf!important;
 box-shadow:var(--glass-shadow)!important;
 backdrop-filter:blur(20px) saturate(1.2)!important;
 -webkit-backdrop-filter:blur(20px) saturate(1.2)!important;
}
body.service-page.content.invert:not(.home) .flexcont .cards > div {
 background:transparent!important; border:0!important; box-shadow:none!important;
 backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
body.service-page :is(.cards > div,.sx-grid > a,.sx-grid > article,.sx-panel,.sx-cta,.sx-video) { border-radius:24px; }
body.service-page :is(.cards,.flexcont,.sx-grid) { gap:24px!important; }
body.service-page .cards { align-items:stretch; }
body.home-lab .home-tools__grid { gap:24px; }
body.home-lab .home-tool-card { min-width:0; }
body.home-lab .home-tools { --glass-tint:var(--glass-mint); }
body.home-lab #spiegone { --glass-tint:var(--glass-lemon); }
body.service-page :is(.cards > div,.flexcont .cards,.sx-grid > a,.sx-grid > article):nth-child(3n + 1),
body.service-page .service-faq__item:nth-child(even),
body.tools-index-page .tools-index-note:nth-of-type(odd),
body.about-cinematic :is(.about-values__grid article,.about-faq details):nth-child(even),
body.home-lab .home-tool-card:nth-child(2) { --glass-tint:var(--glass-mint); }
body.service-page :is(.cards > div,.flexcont .cards,.sx-grid > a,.sx-grid > article):nth-child(3n + 2),
body.tools-index-page .tools-index-note:nth-of-type(even),
body.about-cinematic .about-values__grid article:nth-child(3n),
body.home-lab .home-tool-card:nth-child(3) { --glass-tint:var(--glass-lemon); }
body.service-page .service-faq__item[open],body.about-cinematic .about-faq details[open] { border-color:#b5a5cd!important; }
body.tools-index-page .tools-index-note { margin-block:32px; }
body.tools-index-page section.tools-index-note { padding:clamp(26px,4.5vw,58px); gap:clamp(24px,4vw,64px); }
body.tools-index-page .tools-index-picker { padding:clamp(26px,4.5vw,58px); border-radius:24px; }
/* The catalogues keep their dark background and use the same glass depth. */
body.tools-index-page .tools-index-card {
 background:radial-gradient(ellipse at 100% 0,#b4a1e438,transparent 80%),linear-gradient(125deg,#ffffff1c,#ffffff08)!important;
 border:1px solid #e4daff45; box-shadow:0 14px 34px #07091424,inset 0 1px 0 #ffffff30;
 backdrop-filter:blur(20px) saturate(1.2); -webkit-backdrop-filter:blur(20px) saturate(1.2);
}
body.tools-index-page .tools-index-card:nth-child(even) { background:radial-gradient(ellipse at 100% 0,#84c7a52e,transparent 80%),linear-gradient(125deg,#ffffff1c,#ffffff08)!important; }
body.tools-index-page .tools-index-grid { gap:24px; }
body.tools-index-page .tools-index-summary { background:transparent; border:0; gap:12px; overflow:visible; }
body.tools-index-page .tools-index-summary span { border-radius:16px; }
body:is(.contact-page,.privacy-page) main { font-weight:400; }
body.contact-page .contact-copy h1 { font-weight:550; letter-spacing:-.045em; }
body.contact-page .contact-copy :is(p,a) { font-weight:400; }
body.contact-page .contact-hero__fade { background:linear-gradient(90deg,#f4f5fbfa 0%,#f4f5fbf0 40%,#f4f5fb33 75%); }
body.agent-page .agent-next-card:nth-child(even),body.contact-page .contact-form { --glass-tint:var(--glass-mint); }
body.privacy-page main :is(p,li) { font-weight:400; }

/* Contact buttons: the yellow disc is above the fill, below the label. */
body[class] :is(.site-nav,main) a.bottone.bianco,
body.home-lab .home-action:not(.home-action--quiet),
body.service-page main a.sx-button,
body.contact-page main :is(.contact-action--primary,.contact-submit),
body.agent-page main .agent-primary,
body.diagnostics-page main :is(.diagnostics-tool > header > a,.diagnostics-apps__links a),
body.green-web-inspector-page main .inspector-actions .tools-index-contact,
body.tools-index-page main .tools-index-contact {
 background:linear-gradient(115deg,#7840c5,#6244b4 55%,#4766ab)!important;
 color:#fff!important; -webkit-text-fill-color:#fff!important; border:1px solid #815dc5;
 border-radius:999px; box-shadow:0 5px 17px #7143b638,inset 0 1px 0 #ffffff36;
 font-size:16px; line-height:1.25; font-weight:500; text-decoration:none;
 min-height:48px; max-width:100%; width:fit-content; padding:13px 22px;
 transition:box-shadow .2s ease,background .2s ease,color .2s ease;
}
body[class] :is(.site-nav,main) a.bottone.bianco {
 isolation:isolate; position:relative; overflow:hidden; padding-right:42px; gap:0; z-index:1;
 white-space:normal; text-align:left; flex-shrink:0;
}
body[class] :is(.site-nav,main) a.bottone.bianco :is(.dentro,.prima,svg) {
 position:relative; z-index:2; color:inherit!important; -webkit-text-fill-color:inherit!important;
 background:transparent!important; transform:none!important;
}
body[class] :is(.site-nav,main) a.bottone.bianco .prima { display:none; }
body[class] :is(.site-nav,main) a.bottone.bianco .puntosfondo {
 position:absolute; z-index:0; right:18px; top:50%; margin:0; width:10px; height:10px; flex:none;
 background:var(--action-yellow)!important; border-radius:50%; transform:translateY(-50%);
 transition:transform .45s cubic-bezier(.4,0,.1,1); pointer-events:none;
}
body[class] :is(.site-nav,main) a.bottone.bianco:is(:hover,:focus-visible) .puntosfondo { transform:translateY(-50%) scale(85); }
body[class] :is(.site-nav,main) a.bottone.bianco:is(:hover,:focus-visible),
body.home-lab .home-action:not(.home-action--quiet):is(:hover,:focus-visible),
body.service-page main a.sx-button:is(:hover,:focus-visible),
body.contact-page main :is(.contact-action--primary,.contact-submit):is(:hover,:focus-visible),
body.agent-page main .agent-primary:is(:hover,:focus-visible),
body.diagnostics-page main :is(.diagnostics-tool > header > a,.diagnostics-apps__links a):is(:hover,:focus-visible),
body.green-web-inspector-page main .inspector-actions .tools-index-contact:is(:hover,:focus-visible),
body.tools-index-page main .tools-index-contact:is(:hover,:focus-visible) {
 color:#20231f!important; -webkit-text-fill-color:#20231f!important;
 border-color:#d7ba48; box-shadow:0 7px 23px #806b1830,inset 0 1px 0 #ffffff80;
}
body.home-lab .home-action:not(.home-action--quiet):is(:hover,:focus-visible),
body.service-page main a.sx-button:is(:hover,:focus-visible),
body.contact-page main :is(.contact-action--primary,.contact-submit):is(:hover,:focus-visible),
body.agent-page main .agent-primary:is(:hover,:focus-visible),
body.diagnostics-page main :is(.diagnostics-tool > header > a,.diagnostics-apps__links a):is(:hover,:focus-visible),
body.green-web-inspector-page main .inspector-actions .tools-index-contact:is(:hover,:focus-visible),
body.tools-index-page main .tools-index-contact:is(:hover,:focus-visible),
body[class] :is(.site-nav,main) a.bottone.bianco:not(:has(.puntosfondo)):is(:hover,:focus-visible) { background:var(--action-yellow)!important; }
body[class] :is(.site-nav,main) a.bottone.bianco:is(:hover,:focus-visible) :is(.dentro,.prima,svg) { color:#20231f!important; -webkit-text-fill-color:#20231f!important; }
body[class] :is(.site-nav,main) a.bottone.bianco:focus-visible { outline:3px solid #6b479f; outline-offset:4px; }

/* The menu is a distinct yellow sheet; long labels wrap inside its real width. */
body[class] .site-nav .menu { border-radius:22px; }
body[class] .site-nav .menu:is(.sotto,.active) {
 width:min(360px,calc(100vw - 48px)); max-width:calc(100vw - 48px);
 box-shadow:0 18px 55px #382a5333,inset 0 1px 0 #ffffff80;
}
body[class] .site-nav .menu__icon { border:0; padding:0; margin:0; border-radius:50%; background:transparent; }
body[class] .site-nav .menu .menu__icon::before,
body[class] .site-nav .menu:is(.sotto,.active) .menu__icon::before { background:var(--action-yellow)!important; }
body[class] .site-nav .menu .menu__icon__bar { background:#20231f!important; }
body[class] .site-nav .menu__icon:focus-visible { outline:3px solid #6b479f; outline-offset:-3px; }
body[class] .site-nav .menu__list {
 position:relative; z-index:1; box-sizing:border-box; padding:18px; margin:0; align-items:stretch; gap:2px;
 max-height:calc(100dvh - 110px); overflow-x:hidden; overflow-y:auto;
 overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#88722e80 transparent;
}
body[class] .site-nav .menu:is(.sotto,.active) .menu__list { width:100%; }
body[class] .site-nav .menu__list > li { flex-shrink:0; min-width:0; width:100%; max-width:100%; margin:0; text-align:left; justify-content:flex-start; }
body[class] .site-nav .menu__list a {
 display:block; min-width:0; width:100%; max-width:100%; padding:10px 12px; text-align:left;
 color:#20231f!important; -webkit-text-fill-color:#20231f!important; text-shadow:none;
 white-space:normal; overflow-wrap:anywhere; font-size:17px; font-weight:500; line-height:1.4;
 text-decoration:none; border-radius:12px;
}
body[class] .site-nav .menu__list a:is(:hover,:focus-visible) { background:#ffffff60; color:#141614!important; outline-offset:-3px; }
body[class] .site-nav .menu__list .menu__separator { width:100%; height:1px; margin:10px 0; background:#6b5b3b33; }
body[class] .site-nav .menu__list .menu__lang { margin-bottom:12px; justify-content:center; }
body[class] .site-nav .menu__list .lang-switch { background:#ffffff40; border-color:#77642f40; }
body[class] .site-nav .menu__list .lang-switch__opt { width:auto; text-align:center; color:#20231f!important; -webkit-text-fill-color:#20231f!important; min-height:40px; }
body[class] .site-nav .menu__list .lang-switch__opt.is-active { background:#383152; color:white!important; -webkit-text-fill-color:white!important; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 :root { --glass-fill:linear-gradient(#fafaff,#fafaff); }
}
@media(max-width:800px) {
 body[class] .site-nav a.bottone.bianco { min-height:44px; padding:11px 32px 11px 14px; font-size:14px; }
 body[class] .site-nav a.bottone.bianco .puntosfondo { right:13px; width:8px; height:8px; }
 body.service-page :is(.cards,.flexcont,.sx-grid),body.home-lab .home-tools__grid { gap:20px!important; }
}
@media(prefers-reduced-motion:reduce) {
 body[class] .site-nav .menu__icon::before,body[class] .site-nav .menu__list,
 body[class] :is(.site-nav,main) a.bottone.bianco .puntosfondo { transition:none; }
 body.home-lab .home-offers .cards > div { transition:none; }
}

@media(max-width:480px) {
 body[class] .site-nav { --iconSize:36px; }
 body[class] .site-nav > a { font-size:18px; gap:4px; }
 body[class] .site-nav > a img { height:20px; width:auto; }
 body[class] .site-nav > ul { gap:4px; }
 body[class] .site-nav a.bottone.bianco { min-height:40px; padding:10px 28px 10px 12px; font-size:13px; }
 body[class] .site-nav #mute { width:36px; height:36px; min-width:36px; padding:6px; }
}

body.tools-index-page :is(.tools-index-lead,.tools-index-note p) { color:#626375; }
body.tools-index-page .tools-index-eyebrow { color:#6a4f8b; }
body.tools-index-page .tools-index-catalog .tools-index-eyebrow { color:#cbb7ef; }

body.contact-page main .contact-submit { width:100%; }

/* WebGL paints the home illustrations behind these cards: never blur that canvas. */
body.home-lab .image-container {
 border-color:#ffffffdf; box-shadow:var(--glass-shadow);
 background:linear-gradient(to top,#ffffff90, #ffffff20 95px,transparent 150px)!important;
}
body:is(.local-finder-route,.reviews-widget-route) { --finder-paper:#fcfcff; --reviews-paper:#fcfcff; }
body.diagnostics-page main { background:transparent; }
body.diagnostics-page .diagnostics-hero { padding-top:40px; padding-bottom:64px; }
body.diagnostics-page .diagnostics-lead { font-weight:400; }
body.green-web-inspector-page main { background:var(--bithub-holo-light); }
body.green-web-inspector-page .inspector-actions > a { font-size:16px; }
body.local-finder-route :is(.finder-search,.finder-benefits article:nth-child(even)),
body.reviews-widget-route .reviews-benefits article:nth-child(even) { --glass-tint:var(--glass-mint); }
body.contact-page :is(.app-support__block,.gc-block):nth-child(even) { --glass-tint:var(--glass-lemon); }
body:is(.local-finder-route,.reviews-widget-route) :is(.finder-faq,.reviews-faq) > div:last-child { border:0; display:grid; gap:16px; align-content:start; }
body:is(.local-finder-route,.reviews-widget-route) :is(.finder-faq,.reviews-faq) details { border-radius:20px; padding-inline:22px; }

body.local-finder-route .finder-search::before { background:#d7c8ee; }
body.reviews-widget-route .reviews-start-card::before { background:#c6e6d8; }

/* Compact strokes, with room inside the circle on phones and touch tablets. */
@media(max-width:800px), (pointer:coarse) {
 body[class] .site-nav .menu__icon { gap:4px; }
 body[class] .site-nav .menu .menu__icon__bar { width:20px; height:2px; flex-shrink:0; }
 body[class] .site-nav .menu.active .menu__icon__bar:nth-child(1) { transform:translateY(6px) rotate(45deg); }
 body[class] .site-nav .menu.active .menu__icon__bar:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
}

/* Touch browsers can retain :hover after a tap. Keep the resting header colours,
   while preserving the independent keyboard focus treatment. */
@media(hover:none), (pointer:coarse) {
 body[class] .site-nav a.bottone.bianco:hover:not(:focus-visible) {
  background:linear-gradient(115deg,#7840c5,#6244b4 55%,#4766ab)!important;
  color:#fff!important; -webkit-text-fill-color:#fff!important; border-color:#815dc5;
  box-shadow:0 5px 17px #7143b638,inset 0 1px 0 #ffffff36;
 }
 body[class] .site-nav a.bottone.bianco:hover:not(:focus-visible) :is(.dentro,.prima,svg) {
  color:inherit!important; -webkit-text-fill-color:inherit!important;
 }
 body[class] .site-nav a.bottone.bianco:hover:not(:focus-visible) .puntosfondo { transform:translateY(-50%); }
 body[class] .site-nav .menu__list a:hover:not(:focus-visible),
 body[class] .site-nav .nav-primary-links a:hover:not(:focus-visible) { background:transparent; }
 body[class] .site-nav .menu__list a:hover:not(:focus-visible) { color:#20231f!important; }
}
