/*
Theme Name: DEBUSS Studio
Author: Debuss Audio
Description: Sito vetrina Debuss Audio con homepage e presentazione debuss 2813.
Version: 1.0.0
Text Domain: debuss-studio
License: GPLv2 or later
*/

:root {
  --bg:#070910;
  --panel:#101320;
  --text:#f4f5fc;
  --muted:#afb5cc;
  --line:#ffffff19;
  --purple:#ac86ff;
  --cyan:#66deff;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:35px }
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.65;
}
a { color:inherit; text-decoration:none }
a:hover { color:var(--cyan) }
a:focus-visible,summary:focus-visible {
  outline:3px solid var(--cyan);
  outline-offset:6px;
}
img { max-width:100%; height:auto }
.wrap { width:min(1180px,90%); margin-inline:auto }
.skip {
  position:absolute; left:12px; top:-100px;
  padding:12px; background:white; color:black; z-index:100;
}
.skip:focus { top:12px }
.topbar {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; min-height:100px; border-bottom:1px solid var(--line);
}
.brand { font-weight:800; letter-spacing:.2em; font-size:20px }
.brand span { color:var(--purple); font-weight:400 }
.brand .custom-logo { display:block; width:150px; max-height:95px; object-fit:contain }
nav { display:flex; flex-wrap:wrap; gap:26px; font-size:13px; color:var(--muted) }
.hero {
  position:relative; padding:100px 0 85px;
  background:
    radial-gradient(ellipse at 80% 30%,#684ac12b,transparent 55%),
    radial-gradient(ellipse at 10% 10%,#19557122,transparent 55%);
}
.hero-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:35px }
.eyebrow {
  display:block; color:var(--cyan); text-transform:uppercase;
  font-size:11px; font-weight:700; letter-spacing:.24em; margin-bottom:25px;
}
h1,h2,h3,p { margin-top:0 }
h1 { font-size:clamp(48px,6.4vw,88px); line-height:1.04; letter-spacing:-.065em; margin-bottom:28px }
h1 span {
  color:var(--purple);
  background:linear-gradient(100deg,#c4a6ff,#77d8ff);
  background-clip:text; -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.lead { font-size:18px; color:var(--muted); max-width:530px }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px }
.button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:12px 22px; border-radius:7px;
  background:#b49aff; color:#10101a; font-size:13px; font-weight:700;
  border:1px solid transparent;
}
.button:hover { background:#cdbbff; color:#10101a }
.button.secondary { background:transparent; color:var(--text); border-color:#ffffff35 }
.button.secondary:hover { border-color:var(--cyan); color:var(--cyan) }
.hero-art { text-align:center }
.hero-art img {
  display:block; width:100%; border-radius:14px;
  box-shadow:0 35px 110px #0007;
}
.wave { height:280px; display:flex; align-items:center; justify-content:center; gap:12px }
.wave i {
  display:block; width:16px; height:var(--height);
  border-radius:20px; background:linear-gradient(#b48aff,#62dfff);
  box-shadow:0 0 22px #8469fb60;
}
.hero-caption { font-size:10px; letter-spacing:.3em; color:var(--muted); margin-top:22px }
.ribbon {
  border-block:1px solid var(--line);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px;
  padding-block:20px; font-size:11px; letter-spacing:.12em; color:var(--muted);
}
.section { padding-block:90px; border-bottom:1px solid var(--line) }
.section-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:25px; margin-bottom:38px;
}
h2 { font-size:clamp(30px,4vw,49px); line-height:1.12; letter-spacing:-.045em; margin-bottom:16px }
.section-head p { max-width:390px; color:var(--muted); font-size:14px; margin-bottom:0 }
.product {
  display:grid; grid-template-columns:1fr 1fr; overflow:hidden;
  border:1px solid var(--line); border-radius:18px; background:var(--panel);
}
.product-art {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:55px 25px; min-height:350px;
  background:radial-gradient(ellipse at center,#44317566,transparent 75%),#0b0e18;
}
.product-art .wordmark { letter-spacing:.3em; font-size:12px; color:var(--muted) }
.product-art strong {
  font-size:clamp(85px,12vw,155px); line-height:1.2;
  letter-spacing:-.075em; font-weight:400; color:#d7d6ed;
}
.product-art small { color:var(--purple); letter-spacing:.22em; font-size:10px }
.product-image { width:100%; max-height:420px; object-fit:contain }
.product-copy { padding:45px }
.product-copy h3 { font-size:32px; letter-spacing:-.035em; margin-bottom:17px }
.product-copy p { color:var(--muted); font-size:15px }
.pills { display:flex; flex-wrap:wrap; gap:8px; margin:25px 0 }
.pills span { font-size:11px; border:1px solid #ffffff26; padding:5px 10px; border-radius:5px }
.note { font-size:12px!important; color:var(--muted); margin:20px 0 0 }
.features { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:45px }
.feature { border-top:1px solid var(--line); padding-top:24px }
.feature small { color:var(--purple); font-size:11px; letter-spacing:.12em }
.feature h3 { font-size:19px; margin:15px 0 10px }
.feature p { color:var(--muted); font-size:14px; margin:0 }
.about { display:grid; grid-template-columns:1fr 1fr; gap:70px }
.about p { color:var(--muted) }
.quote { font-size:clamp(26px,3vw,38px); line-height:1.3; letter-spacing:-.03em }
.support { display:grid; grid-template-columns:1fr 1fr; gap:70px }
.support p { color:var(--muted) }
details { padding:19px 0; border-bottom:1px solid var(--line) }
summary { cursor:pointer; font-size:15px; font-weight:700 }
details p { font-size:14px; margin:15px 0 0 }
footer { padding:35px 0; color:var(--muted); font-size:12px }
.footer-row { display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px }
.entry { min-height:55vh; padding-block:65px; overflow-wrap:anywhere }
.entry a { color:var(--cyan); text-decoration:underline }
.entry h1 { font-size:clamp(36px,5vw,65px) }
.entry article { margin-bottom:45px }
.entry input,.entry textarea,.entry select { max-width:100% }
@media(max-width:760px) {
  .topbar { padding-block:18px; align-items:flex-start }
  .brand { font-size:15px }
  nav { gap:12px; font-size:12px; justify-content:flex-end }
  .hero { padding:60px 0 40px }
  .hero-grid,.product,.about,.support { grid-template-columns:1fr; gap:30px }
  .hero-art { max-width:470px; margin:auto }
  .section { padding-block:60px }
  .section-head { display:block }
  .section-head p { margin-top:20px }
  .features { grid-template-columns:1fr; gap:24px }
  .product-copy { padding:28px }
  .product-art { min-height:260px }
  .ribbon { justify-content:center; text-align:center }
  .lead { font-size:16px }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
}