:root { color-scheme: dark; --muted: #b8b8ae; --cta-ink: #0c1c0c; --cta-hover: #74c472; }
:root[data-site-theme="light"] { color-scheme: light; --bg: #f7f8f2; --panel: #fff; --line: #d9ded1; --ink: #20271e; --dim: #606956; --muted: #56614f; --green: #32782f; --green-dark: #40863a; --cta-ink: #fff; --green-ink: #fff; --cta-hover: #286226; }
body, body > header, .f, .platform-shot, .theme-service { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
.logo-on-light { display: none !important; }
[data-site-theme="light"] .logo-on-dark { display: none !important; }
[data-site-theme="light"] .logo-on-light { display: block !important; }
.site-theme-toggle { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 1px solid var(--line); border-radius: 50%; background: var(--panel); color: var(--ink); cursor: pointer; transition: transform .2s, border-color .2s; }
.site-theme-toggle:hover { border-color: var(--green); transform: rotate(12deg); }
.site-theme-toggle:focus-visible, .pill:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.site-theme-toggle svg { width: 20px; height: 20px; }
.site-theme-toggle .moon { display: none; }
[data-site-theme="light"] .site-theme-toggle .sun { display: none; }
[data-site-theme="light"] .site-theme-toggle .moon { display: block; }
.pill, nav.main a.pill, nav.main a.pill:hover { color: var(--cta-ink); }
.pill:hover { background: var(--cta-hover); }
.pill.ghost { color: var(--ink); }
.pill { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.pill:hover { transform: translateY(-3px); box-shadow: 0 8px 24px color-mix(in srgb, var(--green) 20%, transparent); }
.hero h1 span { background: linear-gradient(110deg, var(--dim) 10%, var(--green) 42%, var(--ink) 50%, var(--green) 58%, var(--dim) 90%); background-size: 240% 100%; background-clip: text; -webkit-background-clip: text; color: transparent; animation: site-title-light 3.5s ease-out both; }
@keyframes site-title-light { from { background-position: 100% 50%; } to { background-position: 0% 50%; } }
@keyframes site-aurora { 0% { transform: translate(40px, -20px) scale(.8); opacity: .12; } 60% { transform: translate(-30px, 35px) scale(1.12); } 100% { transform: none; } }
.hero .blob { animation: site-aurora 4.5s ease-out both; }
.hero-card { transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) rotate(2deg); transition: transform .25s ease-out; }
.f, .theme-service { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .3s; }
@media (hover:hover) and (pointer:fine) { .f:hover, .theme-service:hover { transform: translateY(-6px); border-color: var(--green-dark); box-shadow: 0 16px 40px color-mix(in srgb, var(--green) 9%, transparent); } }
[data-site-theme="light"] .hero-card { box-shadow: 0 25px 65px #324f2924; }
[data-site-theme="light"] .hero-card .ph { background: linear-gradient(135deg, #d9e9cf, #edf2e6); }
[data-site-theme="light"] .mini { background: #f1f5ec; }
.theme-services-heading p:not(.num), .theme-service p, .theme-service li, .theme-service-price span, .theme-services-note, .platform-compare-help, .platform-shot p, .platform-note, .platform-lightbox-note { color: var(--muted); }
[data-site-theme="light"] .theme-service, [data-site-theme="light"] .theme-service .pill.ghost, [data-site-theme="light"] .platform-lightbox button { border-color: var(--line); }
[data-site-theme="light"] #prezzi article { background: var(--panel) !important; border-color: var(--line) !important; }
[data-site-theme="light"] .platform-theme-labels { background: #1c1c19; color: #f4f2ec; }
[data-site-theme="light"] .theme-request-header>p:not(.num), [data-site-theme="light"] .theme-request-form .optional, [data-site-theme="light"] .theme-request-form .theme-request-privacy, [data-site-theme="light"] .theme-request-actions p { color: var(--muted); }
[data-site-theme="light"] .theme-request-form input::placeholder, [data-site-theme="light"] .theme-request-form textarea::placeholder { color: var(--dim); }
[data-site-theme="light"] .theme-request-form [data-theme-error] { color: #9f2929; }
[data-site-theme="light"] .final p.cf-err { color: #a5262b; }
body>.o9-dialog { --o9-dim: var(--muted); --o9-green-ink: var(--cta-ink); }
@media(max-width:480px) { body > header .container { padding-inline: 1rem; gap: .5rem; } .logo { height: 28px; } nav.main { gap: .45rem; } nav.main .pill { padding: .6rem .8rem; font-size: .85rem; } .hero .pill.ghost { margin: .8rem 0 0 !important; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } .hero-card { transform: rotate(2deg); } .hero-cursor { display:none; } .tag-order, .tag-paid { opacity:1; } }
[data-site-theme="light"] body>.o9-dialog { --o9-dim: var(--muted); --o9-line: var(--line); --o9-green-ink: var(--cta-ink); }
@media (forced-colors: active) { .hero h1 span { background: none; color: CanvasText; } }
