/* Display preferences, motion, service pages and call request. */
:root { --surface:#fff; --surface-soft:#edf2e9; --field:#fff; --accent-soft:#dceadd; }
:root[data-theme="dark"] { color-scheme:dark; --paper:#111c19; --ink:#edf3eb; --muted:#b6c6bb; --line:#34473d; --green:#9bdbb7; --surface:#1b2b24; --surface-soft:#23372c; --field:#17261f; --accent-soft:#345440; }
:root[data-theme="light"] { color-scheme:light; }
body { transition:background-color .3s, color .3s; }
.header-controls { order:3; display:flex; align-items:center; gap:4px; }
.site-header #menu { order:2; margin-left:auto; }
.icon-control { width:36px; height:36px; padding:8px; border:0; border-radius:50%; background:transparent; display:grid; place-items:center; color:var(--green); flex-shrink:0; }
.icon-control:hover { background:var(--surface-soft); }
.icon-control:disabled { opacity:.5; }
.icon-control svg { width:20px; height:20px; }
.icon-sun, .icon-play { display:none; }
[data-theme="dark"] .icon-sun, [data-motion="off"] .icon-play { display:block; }
[data-theme="dark"] .icon-moon, [data-motion="off"] .icon-pause { display:none; }
.services-menu { position:relative; }
.services-menu summary { font-size:13px; padding:10px 0; gap:6px; }
.services-menu summary > span { font-size:16px; }
.services-menu[open] > summary > span { transform:rotate(180deg); }
.services-menu summary.is-current { color:var(--green); }
.services-dropdown { position:absolute; top:calc(100% + 12px); left:-25px; width:285px; padding:12px; border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:0 16px 40px #10291d18; }
.services-dropdown a { display:flex; flex-direction:column; gap:3px; padding:13px; border-radius:10px; }
.services-dropdown a:hover, .services-dropdown a[aria-current="page"] { background:var(--surface-soft); }
.services-dropdown strong { font-size:13px; font-weight:550; }
.services-dropdown a > span { font-size:11px; font-weight:400; color:var(--muted); }
.site-header.is-scrolled .nav-shell { box-shadow:0 8px 30px #122d2212; }
.footer-services { display:flex; justify-content:space-between; gap:30px; padding:0 0 26px; margin-bottom:26px; border-bottom:1px solid var(--line); }
.footer-services nav { display:flex; flex-wrap:wrap; align-items:center; gap:15px 26px; font-size:12px; }
.footer-services a:hover { color:var(--green); }
.footer-services .text-link { padding:0; font-size:12px; flex-shrink:0; }
.preferences-reset { padding:0; background:none; border:0; color:inherit; font:inherit; text-align:left; }
.preferences-reset:hover { text-decoration:underline; }
.service-card > .text-link { margin-top:22px; font-size:12px; }
.service-focus { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; padding-block:35px 55px; }
.focus-copy h2 { font-size:clamp(2.3rem,3.4vw,3.5rem); margin-bottom:24px; }
.focus-copy p { font-size:15px; line-height:1.85; margin-top:17px; }
.ai-signal-card { position:relative; isolation:isolate; overflow:hidden; border:1px solid var(--line); padding:36px; border-radius:28px; background:linear-gradient(145deg,var(--surface),var(--surface-soft)); }
.ai-signal-card > .small-label { display:block; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:14px; }
.signal-row { position:relative; z-index:1; display:flex; align-items:center; gap:20px; padding:25px 0; border-bottom:1px solid var(--line); }
.signal-row:last-of-type { border-bottom:0; }
.signal-icon { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; border:1px solid var(--line); border-radius:13px; font-size:13px; color:var(--green); background:var(--surface); }
.signal-row strong { font-size:20px; font-weight:500; letter-spacing:-.5px; }
.signal-row p { font-size:12px; margin-top:4px; }
.signal-scan { position:absolute; z-index:-1; inset:0; background:linear-gradient(transparent 20%,#6aa28614 50%,transparent 80%); animation:scan 7s ease-in-out infinite alternate; pointer-events:none; }
.deliverable-section { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding:52px; border:1px solid var(--line); border-radius:28px; background:var(--surface-soft); }
.deliverable-section h2 { font-size:clamp(2.3rem,3.4vw,3.5rem); margin-bottom:24px; }
.deliverable-section p { font-size:14px; line-height:1.85; }
.deliverable-section .text-link { margin-top:20px; font-size:13px; }
.deliverable-section .plain-checklist { align-self:center; }
.inline-link { text-decoration:underline; text-underline-offset:3px; color:var(--green); }
.monitor-track { display:flex; justify-content:space-between; position:relative; margin:43px 8px 18px; }
.monitor-track::before { content:''; position:absolute; top:7px; width:100%; height:2px; background:linear-gradient(90deg,var(--line),var(--green)); }
.monitor-track i { width:16px; height:16px; position:relative; border-radius:50%; background:var(--green); border:4px solid var(--surface); box-shadow:0 0 0 1px var(--line); animation:signal-pulse 3s ease-in-out infinite; }
.monitor-track i:nth-child(2) { animation-delay:.4s; }.monitor-track i:nth-child(3) { animation-delay:.8s; }.monitor-track i:nth-child(4) { animation-delay:1.2s; }
.monitor-labels { display:flex; justify-content:space-between; gap:20px; font-size:10px; color:var(--muted); margin-bottom:25px; }
.ai-signal-card .visual-caption { font-size:10px; margin-top:20px; }
.monitor-callout { margin-top:75px; }
.booking-hero { padding-bottom:48px; }
.booking-hero .inner-lead { max-width:670px; margin-top:24px; font-size:17px; }
.booking-shell { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; margin-bottom:90px; align-items:start; }
.booking-aside { padding-top:30px; }
.booking-aside h2 { font-size:32px; margin-bottom:22px; }
.booking-aside p { font-size:14px; line-height:1.85; }
.booking-aside .plain-checklist { margin:25px 0; }
.booking-aside .booking-clarity { font-size:12px; border-top:1px solid var(--line); padding-top:22px; }
.booking-card { border:1px solid var(--line); background:var(--surface); border-radius:28px; padding:38px; box-shadow:0 10px 40px #183a2308; }
.booking-steps { list-style:none; display:flex; gap:14px; padding:0 0 24px; margin:0 0 28px; border-bottom:1px solid var(--line); counter-reset:booking; }
.booking-steps li { counter-increment:booking; display:flex; align-items:center; gap:9px; font-size:11px; color:var(--muted); }
.booking-steps li::before { content:counter(booking); display:grid; place-items:center; width:25px; height:25px; border:1px solid var(--line); border-radius:50%; font-size:10px; }
.booking-steps [aria-current="step"] { color:var(--green); font-weight:600; }
.booking-steps [aria-current="step"]::before { background:var(--accent-soft); border-color:var(--accent-soft); }
.booking-card fieldset { padding:0; border:0; margin:0; min-width:0; }
.booking-card legend, .booking-review h2 { font-size:25px; line-height:1.2; letter-spacing:-.8px; font-weight:550; margin-bottom:25px; }
.booking-card .form-field select { width:100%; color:var(--ink); background:var(--field); border:1px solid var(--line); padding:13px; font:inherit; font-size:14px; border-radius:9px; }
.booking-card .form-field input, .booking-card .form-field textarea { background:var(--field); min-width:0; }
.booking-actions { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:27px; }
.booking-actions .button { font-size:12px; padding:15px 21px; }
.booking-back { font-size:12px; border:0; background:none; padding:12px 0; color:var(--muted); }
.booking-help { font-size:12px; line-height:1.8; margin-block:15px; }
.booking-review dl { margin:0 0 25px; }
.booking-review dl > div { display:grid; grid-template-columns:90px 1fr; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }
.booking-review dt { color:var(--muted); }.booking-review dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.booking-review .booking-send { display:flex; font-size:13px; }
.booking-review .booking-help { text-align:center; }
.booking-error { padding:12px 15px; color:#922f1b; background:#fcf0e7; border:1px solid #d3a98f; border-radius:9px; font-size:12px; margin-bottom:18px; }
.booking-fallback p { margin-bottom:20px; font-size:14px; line-height:1.8; }
.booking-fallback .text-link { font-size:13px; margin-top:15px; }

/* Motion is ornamental and can be stopped from the header. */
.reveal-in { animation:reveal-in .75s var(--ease) both; animation-delay:var(--reveal-delay,0ms); }
.hero-glow { animation:glow-drift 9s ease-in-out infinite alternate; }
.orbit { animation:orbit-turn 30s linear infinite; }.orbit-two { animation-duration:40s; animation-direction:reverse; }.orbit-three { animation-duration:50s; }
.orbit-core { animation:core-float 6s ease-in-out infinite; }
.orbit-point { animation:core-float 5s ease-in-out infinite reverse; }
.gradient-text { background-size:180% 100%; animation:gradient-drift 8s ease-in-out infinite alternate; }
.question-line i { animation:line-glow 3.4s ease-in-out infinite alternate; }.question-line i:nth-child(2) { animation-delay:.5s; }
.reading-progress { position:fixed; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,#c59672,#74ad96); transform:scaleX(var(--progress,0)); transform-origin:left; z-index:40; pointer-events:none; }
@media (hover:hover) and (pointer:fine) {
  .phase-mini, .service-card, .guide-related>a { transition:transform .35s var(--ease),box-shadow .35s; }
  .phase-mini:hover, .service-card:hover, .guide-related>a:hover { transform:translateY(-5px); box-shadow:0 15px 35px #193c2412; }
  .phase-mini .mini-icon { transition:rotate .4s; }.phase-mini:hover .mini-icon { rotate:-8deg; }
}
@keyframes reveal-in { from { opacity:0; translate:0 22px; } to { opacity:1; translate:0 0; } }
@keyframes orbit-turn { to { rotate:360deg; } }
@keyframes core-float { 0%,100% { translate:0 0; } 50% { translate:0 -10px; } }
@keyframes glow-drift { from { translate:-2% -1%; scale:.98; } to { translate:2% 2%; scale:1.07; } }
@keyframes gradient-drift { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@keyframes line-glow { from { opacity:.4; } to { opacity:1; } }
@keyframes scan { from { translate:0 -60%; } to { translate:0 60%; } }
@keyframes signal-pulse { 0%,100% { box-shadow:0 0 0 1px var(--line); } 50% { box-shadow:0 0 0 6px var(--accent-soft); } }

/* Dark palette also covers the original homepage and editorial pages. */
:root[data-theme="dark"] .nav-shell { background:#14231eea; border-color:var(--line); }
:root[data-theme="dark"] :is(.eyebrow,.phase-mini,.service-card,.report-board,.contact-form,.stage-question,.stage-chips>span,.search-line,.document-art,.check-card) { background:var(--surface); border-color:var(--line); }
:root[data-theme="dark"] :is(.service-section,.stage-tinted,.report-demo-section,.about-people,.article-example,.metric-overview,.outcome-box,.price-card,.metric-switch,.stage-illustration,.guide-related>a) { background:var(--surface-soft); border-color:var(--line); }
:root[data-theme="dark"] :is(.contact-section,.page-contatti) { background:radial-gradient(ellipse at 10% 20%,#36504335,transparent 60%),var(--paper); border-color:var(--line); }
:root[data-theme="dark"] .next-step { background:linear-gradient(115deg,#343326,#213d32); border-color:var(--line); }
:root[data-theme="dark"] .visibility-card { background:radial-gradient(ellipse at 100% 0,#735440,transparent 60%),radial-gradient(ellipse at 0 70%,#376d56,transparent 70%),#293f34; }
:root[data-theme="dark"] .hero-glow { background:radial-gradient(ellipse at 25% 49%,#9461411f,transparent 58%),radial-gradient(ellipse at 65% 42%,#439e7221,transparent 56%); }
:root[data-theme="dark"] .gradient-text { background-image:linear-gradient(108deg,#e6b492 8%,#c6c795 42%,#8bd4b5 88%); }
:root[data-theme="dark"] .pill { background:#15251eba; color:var(--ink); border-color:var(--line); }
:root[data-theme="dark"] .pill>span { color:#e6b492; }
:root[data-theme="dark"] .button-dark { background:#c5e5ce; color:#14271b; box-shadow:0 5px 20px #0002; }
:root[data-theme="dark"] .button-dark:hover { background:#def1df; }
:root[data-theme="dark"] .button-white { background:#ecf4e8; color:#193421; }
:root[data-theme="dark"] :is(p,.section-label,.section-index,.small-label,.hero-note,.platform-line,.platform-line>div,.tag,.step-number,.circle-arrow,.report-period,.report-disclaimer strong,.report-disclaimer>span,.deliverable p,.deliverable>span,.metric-overview p,.report-board-foot p,.footer-links nav,.footer-company,.footer-company>a>span,.footer-bottom,.footer-top>p,.direct-contact>span,.contact-channels>p,.form-note,.form-field label>span,.text-muted,.breadcrumbs,.breadcrumbs a,.stage-index,.stage-body .stage-lead,.stage-illustration>span,.stage-question,.stage-chips>span,.plain-checklist li,.question-key dd,.context-grid article>span,.principles-grid article>span,.inner-hero-grid .inner-lead,.article-meta,.article-number,.article-sidebar a,.article-body strong,.article-example .small-label,.question-checklist li,.legal-fields dt,.legal-fields dd,.inventory-list strong,.answer,thead th,tbody th,tbody th span,.check-card small) { color:var(--muted); }
:root[data-theme="dark"] :is(.footer-company strong,.metric-number,.callback-inline,.source-link) { color:var(--green); }
:root[data-theme="dark"] .metric-switch button { color:var(--muted); }
:root[data-theme="dark"] .metric-switch button[aria-pressed="true"] { background:#45614e; color:#f0f5ea; }
:root[data-theme="dark"] .sample-dots>span { background:#354d3c; border-color:#4b6852; }
:root[data-theme="dark"] .sample-dots>.is-active { background:#9bc494; }
:root[data-theme="dark"] .answer.yes { background:#2e4733; color:#bdd7ad; }
:root[data-theme="dark"] .question-key dt { background:#304a37; color:#bdd7ad; border-color:var(--line); }
:root[data-theme="dark"] :is(.form-field input,.form-field textarea) { color:var(--ink); background:var(--field); border-color:var(--line); }
:root[data-theme="dark"] :is(.form-field input,.form-field textarea)::placeholder { color:#91a496; }
:root[data-theme="dark"] .field-error { color:#f0b197; }
:root[data-theme="dark"] .form-status { background:#293e29; color:#c1dab5; border-color:#557d48; }
:root[data-theme="dark"] :is(.form-status.is-error,.booking-error) { color:#f4c0a9; background:#442e25; border-color:#a97558; }
:root[data-theme="dark"] .draft-notice { background:#393225; border-color:#665840; }
:root[data-theme="dark"] .draft-notice strong { color:#e8c69d; }
:root[data-theme="dark"] .draft-notice p { color:#d8c8ad; }
:root[data-theme="dark"] .about-visual { background:radial-gradient(ellipse at 100% 0,#84583e,transparent 65%),radial-gradient(ellipse at 0 100%,#3c6750,transparent 60%),#344a34; }
:root[data-theme="dark"] .about-visual>p { color:#e0efd7; }
:root[data-theme="dark"] :is(.service-visual,.analysis-visual,.content-visual,.verify-visual) { background:radial-gradient(ellipse,var(--surface-soft),transparent 80%); }
:root[data-theme="dark"] .result-line>span,:root[data-theme="dark"] .result-line>i { background:#476247; }
:root[data-theme="dark"] .system-code { color:#536d51; }
:root[data-theme="dark"] :is(.plain-checklist li,.deliverable,.report-board-head,.report-board-foot,td,th,.sample-details,.footer-bottom,.principles-grid article,.stage-tinted .outcome-box,.question-key,.article-sidebar a,.faq-list details,.step-navigation,.context-grid article,.legal-fields>div,.inventory-list>div,.contact-next) { border-color:var(--line); }
:root[data-theme="dark"] .skip-link { background:#c5e5ce; color:#14271b; }
:root[data-theme="dark"] :focus-visible { outline-color:#a7d6b8; }

@media (max-width:1100px) { .nav-shell { gap:14px; padding-left:20px; }.site-header #menu { gap:18px; }.service-focus,.deliverable-section { gap:45px; }.booking-shell { gap:40px; } }
@media (max-width:980px) {
  .nav-shell { flex-wrap:wrap; border-radius:26px; padding:12px 17px; gap:0 12px; min-height:64px; }
  .header-controls { order:2; margin-left:auto; }
  .menu-toggle:not([hidden]) { display:flex; align-items:center; gap:10px; background:none; border:0; padding:9px 0 9px 10px; min-height:36px; font-size:12px; }
  .site-header #menu { order:3; width:100%; margin:12px 0 0; padding-top:14px; border-top:1px solid var(--line); display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .js .site-header #menu:not(.is-open) { display:none; }
  .site-header nav>a:not(.button), .services-menu summary { font-size:14px; padding:13px 6px; }
  .site-header .button { margin-top:10px; justify-content:space-between; font-size:13px; padding:14px 20px; }
  .services-menu summary { justify-content:space-between; }
  .services-dropdown { position:static; width:auto; box-shadow:none; border:0; padding:0 0 7px; background:var(--surface-soft); margin-bottom:8px; }
  .services-dropdown a { padding:11px 14px; }
  .menu-lines { position:relative; width:18px; height:8px; border-top:1px solid currentColor; }
  .menu-lines::after { content:''; position:absolute; right:0; top:5px; width:13px; height:1px; background:currentColor; }
  .booking-shell { grid-template-columns:1fr 1.3fr; gap:30px; }
}
@media (max-width:740px) {
  .service-focus,.deliverable-section,.booking-shell { grid-template-columns:1fr; gap:30px; }
  .service-focus { padding-block:10px 30px; }.ai-signal-card { padding:26px; }.deliverable-section { padding:30px; }
  .footer-services { flex-direction:column; gap:22px; }.footer-services nav { gap:12px 25px; }
  .booking-hero { padding-bottom:20px; }.booking-shell { margin-bottom:55px; }.booking-aside { padding-top:5px; }.booking-aside .plain-checklist { margin-block:12px; }.booking-card { padding:27px; order:-1; }
  .monitor-callout { margin-top:45px; }
}
@media (max-width:440px) {
  .site-header .brand { font-size:16px; gap:7px; }.site-header .brand-mark { width:21px; gap:2px; }.site-header .brand-mark i { width:5px; }
  .nav-shell { padding:10px 12px; gap:0 5px; }.header-controls { gap:0; }.icon-control { width:30px; height:36px; padding:6px; }.menu-toggle:not([hidden]) { gap:7px; padding-left:5px; font-size:11px; }
  .signal-row { gap:14px; }.signal-row strong { font-size:18px; }.signal-icon { width:34px; height:34px; }
  .booking-card { padding:23px 20px; }.booking-steps { gap:10px; }.booking-steps li { gap:5px; font-size:10px; }.booking-steps li::before { width:21px; height:21px; }
  .booking-actions { gap:12px; }.booking-actions .button { padding:14px 16px; font-size:11px; }.booking-review dl>div { grid-template-columns:65px 1fr; gap:12px; }
}
@media (max-width:355px) { .menu-toggle>span:first-child { display:none; }.site-header .brand { font-size:15px; }.deliverable-section { padding:25px; } }
:root[data-motion="off"] { scroll-behavior:auto; }
:root[data-motion="off"] *, :root[data-motion="off"] *::before, :root[data-motion="off"] *::after { animation:none!important; transition:none!important; }
:root[data-motion="off"] .reading-progress { display:none; }
:root[data-motion="off"] :is(.phase-mini,.service-card,.guide-related>a):hover { transform:none; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; }.reading-progress { display:none; } }
@media print { .header-controls,.reading-progress,.booking-card { display:none!important; } .reveal-in { animation:none; } }
