/* Musica Suite – stile delle pagine interne (estratto dalla home 08/11/2026) */
:root{
  --cream:#F5EFE4; --night:#14112B; --night-2:#1C1838; --night-3:#2A2550; --night-line:#3A3358;
  --on-night:#F5EFE4; --on-night-2:#C9C3E0; --on-night-3:#9C96B8;
  --coral:#EE5533; --coral-strong:#D63A1E; --coral-hover:#B9301A;
  --violet:#8070F5; --violet-strong:#5A48D6; --lime:#DDF247; --gold:#D4A017; --ok:#2F7D4F;
  /* sezioni chiare: cambiano col tema */
  --l-bg:#F5EFE4; --l-bg-2:#EDE5D6; --l-surface:#FFFDF8; --l-ink:#14112B; --l-ink-2:#4A4560; --l-ink-3:#655F78;
  --l-line:#DCD3C2; --l-accent:#D63A1E; --l-violet:#5A48D6; --l-focus:#5A48D6;
  --font-display:'Syne','Arial Black',system-ui,sans-serif;
  --font-body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-serif:'Instrument Serif',Georgia,serif;
  --r-sm:10px; --r-md:18px; --r-lg:28px; --r-xl:40px;
  --shadow-lg:0 40px 90px rgba(20,17,43,.28);
  --wrap:1200px; --gutter:20px; --sec:72px;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
@media (min-width:700px){:root{--gutter:28px;--sec:96px}}
@media (min-width:1100px){:root{--gutter:32px;--sec:120px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --l-bg:#171430; --l-bg-2:#1E1A3A; --l-surface:#241F45; --l-ink:#F3EEE5; --l-ink-2:#CFC9DD; --l-ink-3:#A39DB9;
  --l-line:#3A3358; --l-accent:#F07457; --l-violet:#A79CFA; --l-focus:#DDF247; color-scheme:dark;}}
:root[data-theme="dark"]{
  --l-bg:#171430; --l-bg-2:#1E1A3A; --l-surface:#241F45; --l-ink:#F3EEE5; --l-ink-2:#CFC9DD; --l-ink-3:#A39DB9;
  --l-line:#3A3358; --l-accent:#F07457; --l-violet:#A79CFA; --l-focus:#DDF247; color-scheme:dark;}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--night);color:var(--on-night);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--lime);color:var(--night);padding:10px 16px;border-radius:var(--r-sm);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}
.light :focus-visible{outline-color:var(--l-focus)}

/* tipografia */
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.light .eyebrow{color:var(--l-accent)}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(32px,4.6vw,56px)}
h3{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--on-night-2);max-width:60ch}
.light .lead{color:var(--l-ink-2)}
.hl{color:var(--coral)} .light .hl{color:var(--l-accent)}

/* sezioni */
section{position:relative}
.sec{padding:var(--sec) 0}
.dark{background:var(--night);color:var(--on-night)}
.dark-2{background:var(--night-2);color:var(--on-night)}
.light{background:var(--l-bg);color:var(--l-ink)}
.light-2{background:var(--l-bg-2);color:var(--l-ink)}
.light-2 .eyebrow{color:var(--l-accent)}
.light-2 .lead{color:var(--l-ink-2)}
.head{display:grid;gap:18px;margin-bottom:48px;max-width:780px}
@media (min-width:1100px){.head{margin-bottom:64px}}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .2s,transform .2s var(--ease),border-color .2s}
.btn-primary{background:var(--coral-strong);color:#fff}
.btn-primary:hover{background:var(--coral-hover);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:rgba(245,239,228,.32);color:var(--on-night)}
.btn-ghost:hover{border-color:var(--on-night);background:rgba(245,239,228,.06)}
.light .btn-ghost{border-color:var(--l-line);color:var(--l-ink)}
.btn svg{width:18px;height:18px}
.site-head{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-head.scrolled{background:rgba(20,17,43,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--night-line)}
.head-row{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.03em;color:var(--on-night)}
.brand svg{width:30px;height:30px}
.brand b{color:var(--coral);font-weight:800}
.nav{display:none}
.nav ul{display:flex;gap:4px}
.nav a{display:block;white-space:nowrap;padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:500;font-size:15px;color:var(--on-night-2)}
.nav a:hover{color:var(--on-night);background:rgba(245,239,228,.07)}
.head-cta{display:none}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1.5px solid var(--night-line);background:transparent;cursor:pointer}
.menu-btn svg{width:22px;height:22px}
.mobile-nav{display:none;background:var(--night);border-top:1px solid var(--night-line);padding:12px var(--gutter) 24px}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:14px 4px;font-size:18px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--night-line)}
.mobile-nav .btn{width:100%;margin-top:20px}
@media (min-width:960px){
  .nav,.head-cta{display:block}.head-cta{display:inline-flex;min-height:44px;font-size:15px}
  .menu-btn,.mobile-nav,.mobile-nav.open{display:none}
  .head-cta{white-space:nowrap}
}
@media (min-width:960px) and (max-width:1180px){.nav ul{gap:0}.nav a{padding:10px 9px;font-size:14px}.head-cta{padding:0 18px}}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;gap:40px}
@media (min-width:1000px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:80px}.faq-grid .head{position:sticky;top:110px;align-self:start}}
.faq details{border-bottom:1.5px solid var(--l-line)}
.faq details:first-child{border-top:1.5px solid var(--l-ink)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:clamp(18px,1.8vw,21px);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:22px;height:22px;background:linear-gradient(var(--l-accent),var(--l-accent)) center/100% 2px no-repeat,linear-gradient(var(--l-accent),var(--l-accent)) center/2px 100% no-repeat;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--l-ink-2);max-width:62ch}
.faq details p a{color:var(--l-accent);font-weight:600}

/* ---------- footer ---------- */
.foot{background:#0E0C20;color:var(--on-night-2);padding:56px 0 32px;font-size:15px}
.foot-grid{display:grid;gap:32px}
@media (min-width:860px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.foot h3{font-family:var(--font-body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-3);margin-bottom:12px}
.foot a{text-decoration:none}.foot a:hover{color:var(--on-night);text-decoration:underline}
.foot li{padding:3px 0}
.foot .legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--night-line);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--on-night-3)}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;color:inherit;font-size:inherit}
.linkbtn:hover{color:var(--on-night);text-decoration:underline}

/* ---------- pagine interne ---------- */
.site-head{position:sticky;top:0;background:rgba(20,17,43,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--night-line)}
.hero-in{padding-top:56px}
.hero-grid{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.hero-grid{grid-template-columns:1.2fr 1fr}}
.hero-in h1{font-size:clamp(38px,5.6vw,68px);margin:14px 0 22px}
.crumbs{font-size:14px;color:var(--on-night-3);margin-bottom:18px}
.crumbs a{color:var(--on-night-2)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.shot{margin:0}
.shot img{width:100%;height:auto;border-radius:var(--r-md);box-shadow:var(--shadow-lg);background:var(--l-surface)}
.shot.tall img{max-width:320px;margin:0 auto}
.shot figcaption{font-size:13px;color:var(--on-night-3);margin-top:10px;text-align:center}
.light .shot figcaption,.light-2 .shot figcaption{color:var(--l-ink-3)}
.sec .wrap > .shot{margin-top:48px}
.owl-badge{width:min(320px,70%);height:auto;margin:0 auto}
.cols{display:grid;gap:36px}
@media (min-width:900px){.cols{grid-template-columns:1.4fr 1fr;gap:64px;align-items:start}}
.txt h2{margin-bottom:24px;font-size:clamp(30px,3.6vw,46px)}
.txt p{color:var(--l-ink-2);max-width:62ch;margin-bottom:16px}
.punti{display:grid;gap:12px}
.punti li{background:var(--l-surface);border:1.5px solid var(--l-line);border-radius:var(--r-sm);padding:14px 16px 14px 44px;position:relative;font-weight:500}
.punti li::before{content:"♪";position:absolute;left:16px;top:13px;color:var(--l-accent);font-weight:700}
.faq h2{font-size:clamp(28px,3.6vw,44px)}
.fine{text-align:left}
.fine h2{margin-bottom:18px}
.altre{margin-top:56px;padding-top:28px;border-top:1px solid var(--night-line)}
.altre h3{font-family:var(--font-body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-3);margin-bottom:14px}
.altre ul{display:flex;flex-wrap:wrap;gap:10px}
.altre a{display:inline-block;padding:9px 16px;border:1.5px solid var(--night-line);border-radius:999px;text-decoration:none;color:var(--on-night-2);font-size:15px}
.altre a:hover{border-color:var(--on-night);color:var(--on-night)}
