/* Shared surfaces. Cinematic pages deliberately do not use service-page rules. */
:root {
  --bithub-holo-light: radial-gradient(ellipse at 4% 4%,rgba(146,104,224,.23),transparent 47vw),radial-gradient(ellipse at 96% 32%,rgba(111,205,163,.2),transparent 46vw),radial-gradient(ellipse at 58% 100%,rgba(126,164,230,.18),transparent 48vw),#f7f8f4;
  --bithub-holo-dark: radial-gradient(ellipse at 0% 0%,rgba(111,45,200,.46),transparent 60%),radial-gradient(ellipse at 100% 38%,rgba(47,152,132,.2),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(64,90,180,.2),transparent 55%),#090b12;
}
body:is(.service-page,.tools-index-page,.home-lab)::before {
  display:block; content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:var(--bithub-holo-light); background-attachment:fixed;
}
body.tools-index-page,body.tools-index-page main { background:transparent; color:#20231f; font-weight:400; }
body.tools-index-page main { padding-bottom:0; overflow:clip; }
body.tools-index-page :is(.tools-index-hero,.tools-index-catalog,.tools-index-picker,.tools-index-note,.tools-index-breadcrumb) { width:min(1240px,92%); }
body.tools-index-page .tools-index-hero { padding-block:48px 70px; }
body.tools-index-page .tools-index-hero h1 { font-size:clamp(42px,5.6vw,78px); line-height:1.04; letter-spacing:-.045em; font-weight:650; }
body.tools-index-page .tools-index-eyebrow { color:#59664e; }
body.tools-index-page .tools-index-lead { margin-top:26px; font-size:clamp(18px,1.7vw,23px); color:#535e4c; font-weight:400; }
body.tools-index-page .tools-index-summary { border-color:#d3d9cb; background:#d3d9cb; border-radius:18px; }
body.tools-index-page .tools-index-summary span { background:rgba(255,255,255,.85); color:#535e4c; }
body.tools-index-page .tools-index-catalog { background:var(--bithub-holo-dark); border-color:rgba(126,94,171,.25); border-radius:28px; box-shadow:0 25px 70px #24243616; }
body.tools-index-page .tools-index-catalog .tools-index-eyebrow { color:#cbb7ef; }
body.tools-index-page .tools-index-section-head { gap:30px; margin-bottom:36px; }
body.tools-index-page .tools-index-section-head h2 { font-size:clamp(28px,3.1vw,44px); line-height:1.12; color:#f7f8ff; }
body.tools-index-page .tools-index-section-head > p { color:#c8cfda; }
body.tools-index-page .tools-index-card { min-height:410px; background:linear-gradient(135deg,#ffffff10,#ffffff04); border-color:#ffffff26; box-shadow:none; }
body.tools-index-page .tools-index-card h3 { color:#f7f8ff; font-size:clamp(25px,2.2vw,34px); line-height:1.15; }
body.tools-index-page .tools-index-card p,body.tools-index-page .tools-index-card li { color:#d1d5e1; }
body.tools-index-page .tools-index-card__number { color:#b2bccf; }
body.tools-index-page :is(.plugin-wp-card__note,.shopify-card__note) { color:#b7bfd2!important; }
body.tools-index-page .tools-index-note { background:rgba(255,255,255,.72); border-color:#d3d9cb; border-radius:24px; box-shadow:none; }
body.tools-index-page .tools-index-picker__list a { border-color:#ccd3c5; }
body.tools-index-page .tools-index-contact { background:#242b21; color:#fff; }
body.tools-index-page .tools-index-catalog .tools-index-contact { background:#fff; color:#20231f!important; }
/* One header treatment for light pages, with a separate overlay on the video. */
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav,
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav.nav--scrolled {
  top:14px; left:5vw; width:90vw; height:66px; padding:0 14px 0 20px;
  background:rgba(250,252,248,.78)!important; border:1px solid #ffffffb8!important;
  border-radius:20px; box-shadow:0 8px 35px #2030200a!important;
  backdrop-filter:blur(18px) saturate(1.2); -webkit-backdrop-filter:blur(18px) saturate(1.2);
}
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav > a { color:#20231f!important; }
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav > a img { filter:none; }
body:is(.service-page,.tools-index-page,.home-lab,.about-cinematic,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .nav-primary-links { background:transparent; border:0; box-shadow:none; backdrop-filter:none; }
body:is(.service-page,.tools-index-page,.home-lab,.about-cinematic,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .nav-primary-links a { padding-inline:12px; font-size:14px; border:0; }
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav .bottone.bianco,
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav .bottone.bianco :is(span,svg) { background-color:transparent; color:#fff!important; }
body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav .bottone.bianco { background:#252b22!important; }
/* Illustrated cards use the same rounded media and typographic headings. */
body.service-page main :is(.promotonda img,.sx-hero-art img,.flexcont .cards > img):not(.service-lucide-icon) { border-radius:24px!important; object-fit:cover; }
body.service-page main .flexcont .cards > img { mask:none!important; -webkit-mask:none!important; animation:none; transform:none; }
body.service-page main img.service-lucide-icon { display:none!important; }
body.service-page .sx-grid > a,body.service-page .sx-grid article { background:rgba(255,255,255,.74); }
body.service-page.content.invert:not(.home) .promotonda { background:linear-gradient(125deg,#e3e9dce6,#f7f8f0c9 55%,#e2dcf0c9)!important; }
/* FAQ: separate rounded disclosures, stable typography and a clear toggle. */
body.service-page .service-faq { margin-block:64px; }
body.service-page .service-faq__list { display:grid; gap:12px; max-width:none; border:0; }
body.service-page .service-faq__item { overflow:hidden; border:1px solid #ccd4c7; border-radius:20px; background:rgba(255,255,255,.76); transition:background .18s ease,border-color .18s ease; }
body.service-page .service-faq__item[open] { background:#fffffff0; border-color:#aebca1; box-shadow:0 12px 35px #26352109; }
body.service-page .service-faq__item summary { display:grid; grid-template-columns:1fr 34px; align-items:center; gap:24px; padding:24px 26px; list-style:none; }
body.service-page .service-faq__item summary::-webkit-details-marker { display:none; }
body.service-page .service-faq__item summary::marker { content:""; }
body.service-page .service-faq__item summary::after { content:"+"; display:grid; place-items:center; width:34px; height:34px; border:1px solid #c7d1be; border-radius:50%; background:#eef2e7; color:#34482c; font:400 24px/1 Arial,sans-serif; }
body.service-page .service-faq__item[open] summary::after { content:"−"; background:#e1e8d7; }
body.service-page.invert main .service-faq__item h3 { font-size:clamp(17px,1.45vw,21px); font-weight:600; line-height:1.45; letter-spacing:-.02em; margin:0; }
body.service-page .service-faq__answer { max-width:90ch; padding:0 26px 27px; }
body.service-page .service-faq__answer p { font-size:17px; line-height:1.7; margin:0; }
body.service-page .service-faq__answer p + p { margin-top:16px; }
body.service-page .service-faq__related { padding-top:3px; }
body.service-page .service-faq__item summary:focus-visible { outline:3px solid #697f57; outline-offset:-4px; border-radius:18px; }
/* Dark cinematic areas retain their own luminous backdrop and white text. */
body.about-cinematic,body.about-cinematic main,body.about-cinematic .about-page { background:transparent; }
body.about-cinematic::before { background:var(--bithub-holo-dark); }
body.about-cinematic main { padding-top:0; }
body.about-cinematic .about-page { padding-bottom:90px; }
body.about-cinematic .site-nav:not(.about-nav--past-hero),
body.about-cinematic .site-nav.nav--scrolled:not(.about-nav--past-hero) { background:rgba(8,12,25,.18); border:1px solid #ffffff33; box-shadow:none; backdrop-filter:blur(12px); }
body.about-cinematic .site-nav > a,body.about-cinematic .site-nav .nav-primary-links a { color:#fff!important; text-shadow:0 1px 12px #0009; }
body.about-cinematic .site-nav .nav-primary-links a:hover { background:#ffffff1a; }
body.about-cinematic .about-page a:not(.bottone) { color:#d5c1ff!important; text-decoration:underline; text-underline-offset:4px; }
body.about-cinematic .about-chapter__panel,body.about-cinematic .about-team__panel { background:linear-gradient(130deg,#7b48bd24,#8acbb712 65%,#18213f45),rgba(8,11,23,.9); }
body.about-cinematic .about-values__grid article { background:linear-gradient(140deg,#af7af324,#ffffff04); }
body.about-cinematic .service-connections { width:min(1240px,92%); margin:auto; }
body.about-cinematic .service-connections .sx-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-block:26px 60px; }
body.about-cinematic .service-connections .sx-grid a { padding:28px; border:1px solid #ffffff29; border-radius:20px; background:#ffffff09; color:#f7f8ff!important; }
body.about-cinematic .service-connections p { margin-top:12px; color:#c5cddd; font-size:17px; }
body.about-cinematic .service-local-strip { background:#ffffff08; color:#e4e9f6; }
body.about-cinematic .about-faq__list { display:grid; gap:12px; border:0; }
body.about-cinematic .about-faq details { border:1px solid #ffffff29; border-radius:20px; background:#ffffff06; padding:0 26px; }
body.about-cinematic .about-faq summary { padding-block:24px; font-size:clamp(18px,1.7vw,25px); }
body.about-cinematic .about-faq details > p { margin:0; padding-bottom:26px; }
/* A continuous page canvas; dark footers have a deliberate rounded boundary. */
body:is(.service-page,.tools-index-page) footer.site-footer { margin-top:64px!important; border-radius:32px 32px 0 0; background:var(--bithub-holo-dark); }
body.about-cinematic footer.site-footer { margin-top:0!important; background:var(--bithub-holo-dark); }
@media(max-width:800px) {
 body:is(.service-page,.tools-index-page,.home-lab,.contact-page,.privacy-page,.agent-page,.blog-page,.reviews-widget-route,.local-finder-route) .site-nav { left:3%; width:94%; height:62px; padding-inline:12px; }
 body.service-page .service-faq__item summary { gap:15px; padding:20px; }
 body.service-page .service-faq__answer { padding:0 20px 24px; }
 body.service-page .service-faq__answer p { font-size:16px; }
 body.tools-index-page .tools-index-catalog { padding:24px 18px; border-radius:24px; }
 body.tools-index-page .tools-index-card { min-height:0; padding:26px 22px; }
 body.about-cinematic .service-connections .sx-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .service-faq__item { transition:none!important; } }

body:is(.service-page,.tools-index-page,.home-lab) .menu__icon::before { background:#20231f!important; }
body:is(.service-page,.tools-index-page,.home-lab) .menu__icon__bar { background:#fff!important; }
body.home-lab .site-nav #mute svg { stroke:#fff; }
body:is(.service-page,.tools-index-page,.home-lab) .menu.sotto .menu__icon::before { background:#f7f8f4!important; }
body:is(.service-page,.tools-index-page,.home-lab) .menu.sotto .menu__icon__bar { background:#20231f!important; }
body:is(.service-page,.tools-index-page,.home-lab) .menu__list a { color:#20231f!important; }
body:is(.service-page,.tools-index-page,.home-lab) .menu__list .lang-switch { background:#e9eee2; border-color:#cad4c1; }
body:is(.service-page,.tools-index-page,.home-lab) .menu__list .lang-switch__opt { color:#33452c!important; }
body:is(.service-page,.tools-index-page,.home-lab) .menu__list .lang-switch__opt.is-active { background:#20231f; color:white!important; }

body.tools-index-page :is(.plugin-wp-catalog,.shopify-catalog) { margin-bottom:0; }
