:root{--ivory:#f2eee5;--paper:#faf8f2;--graphite:#252428;--muted:#6d6966;--line:#d7d0c5;--violet:#7663a8;--focus:#5c469a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--graphite);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}h1,h2,p{margin:0}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--graphite);color:#fff;padding:14px}.skip:focus{top:10px}button:focus-visible,a:focus-visible,input:focus-visible+span{outline:3px solid var(--focus);outline-offset:4px}.demo-bar{min-height:32px;padding:7px 4vw;display:flex;justify-content:space-between;gap:18px;background:var(--graphite);color:#fff;font-size:.72rem;line-height:1.45}.demo-bar a{text-decoration:underline;text-underline-offset:3px}.header{height:94px;padding:0 5vw;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line)}.brand{font:700 1.9rem/1 Arial,sans-serif;letter-spacing:.12em}.brand>span{color:var(--violet)}.brand small{display:block;margin-top:7px;font:600 .5rem/1 Arial,sans-serif;letter-spacing:.28em}.header>p{margin-right:auto;padding-left:28px;border-left:1px solid var(--line);font:italic 1rem/1.35 Georgia,serif;color:var(--muted)}.header-summary{min-height:48px;padding:10px 18px;border:1px solid var(--graphite);border-radius:40px;background:transparent;display:flex;gap:24px;align-items:center;font-size:.78rem}.header-summary span{font-weight:700}.hero{min-height:600px;display:grid;grid-template-columns:minmax(300px,.65fr) minmax(520px,1.35fr);align-items:center;padding:35px 5vw 15px;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:.64rem;letter-spacing:.17em;font-weight:700;color:var(--muted);line-height:1.5}.hero h1{font:400 clamp(3.7rem,6vw,6.8rem)/.91 Georgia,serif;letter-spacing:-.067em;margin:20px 0 28px}.hero h1 em{font-weight:400;color:var(--violet)}.hero-copy>p:last-child{max-width:370px;font-size:1rem;line-height:1.7;color:var(--muted)}.stage{position:relative;height:min(57vw,620px);min-height:470px}.stage:before{content:"";position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:#ded5c8;left:16%;top:6%;filter:blur(1px)}canvas,.fallback{position:absolute;inset:0;width:100%;height:100%;display:block}.fallback svg{width:100%;height:100%}.stage-caption{position:absolute;left:8%;right:3%;bottom:4%;display:flex;justify-content:space-between;align-items:end;gap:20px}.stage-caption span{font:italic 1.15rem Georgia,serif}.stage-caption small{max-width:180px;text-align:right;color:var(--muted);line-height:1.5}.configurator{background:var(--paper);border-top:1px solid var(--line)}.config-panel{width:min(1260px,90vw);margin:auto;padding:80px 0}.config-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}.config-heading h2,dialog h2{font:400 clamp(2.5rem,4vw,4.5rem)/1 Georgia,serif;letter-spacing:-.05em;margin-top:10px}.text-button{border:0;border-bottom:1px solid;background:none;padding:10px 0;font-size:.78rem}fieldset{border:0;border-top:1px solid var(--line);padding:28px 0;margin:0;display:grid;grid-template-columns:180px 1fr;gap:30px}legend{float:left;width:180px;font-size:.82rem;font-weight:700;line-height:1.5}legend span{color:var(--violet);margin-right:15px}.swatches,.segmented,.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.swatches input,.segmented input,.checks input{position:absolute;opacity:0;width:1px;height:1px}.swatches span,.segmented span,.checks span{min-height:62px;border:1px solid var(--line);border-radius:8px;background:transparent;padding:9px 14px;display:flex;align-items:center;gap:11px;font-size:.82rem;cursor:pointer}.swatches i{width:31px;height:31px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #0002}.swatches input:checked+span,.segmented input:checked+span,.checks input:checked+span{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet);background:#f1edf8}.segmented{grid-template-columns:repeat(3,1fr)}.segmented span,.checks span{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.segmented small,.checks small{font-size:.67rem;color:var(--muted)}.checks{grid-template-columns:repeat(3,1fr)}.checks label span:before{content:"+";margin-left:auto;position:absolute;right:15px;font-size:1.1rem}.checks label{position:relative}.checks input:checked+span:before{content:"✓"}.total{border-top:1px solid var(--graphite);margin-top:15px;padding-top:30px;display:flex;align-items:center;justify-content:flex-end;gap:45px}.total>div{margin-right:auto}.total small,.total strong{display:block}.total strong{font:400 2rem Georgia,serif;margin:5px 0}.total p{font-size:.7rem;color:var(--muted)}.primary{border:0;background:var(--graphite);color:#fff;min-height:54px;padding:14px 22px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:40px}.primary:hover{background:var(--violet)}footer{min-height:130px;padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}footer p{font-size:.75rem;color:var(--muted)}dialog{width:min(620px,calc(100% - 30px));border:0;border-radius:14px;padding:32px;background:var(--paper);box-shadow:0 24px 100px #24212655}dialog::backdrop{background:#26232a88;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:25px}.dialog-top button{border:1px solid var(--line);background:none;width:44px;height:44px;border-radius:50%;font-size:1.6rem}.dialog-top h2{font-size:2.7rem}.dialog-top+.summary{}dl{margin:18px 0}dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.85rem}dt{color:var(--muted)}dd{margin:0;text-align:right}.dialog-total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0}.dialog-total strong{font:400 1.8rem Georgia,serif}.notice{background:#eee8dc;padding:14px;font-size:.75rem;line-height:1.6}.notice strong{display:block}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions button:last-child{border:1px solid var(--line);background:none;min-height:54px;padding:12px 18px;border-radius:4px}
@media(max-width:800px){.demo-bar{font-size:.62rem;padding-inline:18px}.header{height:78px;padding-inline:20px}.brand{font-size:1.5rem}.header>p,.header-summary span{display:none}.header-summary{min-width:96px;justify-content:center;margin-left:auto}.hero{display:block;padding:24px 20px 3px;min-height:auto}.hero-copy .eyebrow{font-size:.57rem}.hero h1{font-size:clamp(3rem,14.5vw,4.4rem);margin:11px 0 9px;max-width:350px}.hero-copy>p:last-child{font-size:.8rem;line-height:1.45;max-width:315px}.stage{height:278px;min-height:0;margin-top:-22px}.stage:before{width:84%;left:8%;top:9%}.stage-caption{bottom:5px;left:0}.stage-caption span{font-size:.9rem}.stage-caption small{display:none}.config-panel{width:calc(100% - 40px);padding:35px 0 48px}.config-heading{margin-bottom:24px}.config-heading h2{font-size:2.45rem}fieldset{display:block;padding:21px 0}legend{float:none;width:auto;margin-bottom:13px}.swatches{grid-template-columns:repeat(4,1fr);gap:6px}.swatches span{min-height:64px;padding:6px;flex-direction:column;gap:4px;font-size:.62rem}.swatches i{width:28px;height:28px}.segmented,.checks{gap:6px}.segmented span,.checks span{padding:8px;min-height:65px;font-size:.72rem}.segmented small,.checks small{font-size:.57rem}.checks label span:before{right:8px;top:6px}.total{display:block}.total .primary{width:100%;margin-top:21px}.total strong{font-size:1.7rem}footer{display:block;padding:30px 20px}footer p{margin-top:20px;line-height:1.5}.dialog-actions{flex-direction:column}.dialog-actions button{width:100%}}
@media(max-width:390px){.hero{padding-top:18px}.hero h1{font-size:3.1rem}.stage{height:260px}.config-panel{width:calc(100% - 30px);padding-top:30px}.swatches span{font-size:.58rem}.segmented span,.checks span{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Configuratore: prodotto sempre visibile accanto alle scelte. */
[hidden]{display:none!important}
.nojs{min-height:70vh;display:grid;place-content:center;gap:20px;text-align:center;padding:40px}.nojs p{font:400 2rem/1.25 Georgia,serif}.nojs a{text-decoration:underline;text-underline-offset:5px}
.hero{min-height:0;display:block;padding:42px 5vw 28px}.hero-copy{display:grid;grid-template-columns:.75fr 1.25fr;align-items:end;column-gap:40px}.hero-copy .eyebrow{grid-column:1/-1}.hero h1{font-size:clamp(3.2rem,5.2vw,5.8rem);margin:12px 0 0;max-width:740px}.hero-copy>p:last-child{justify-self:end;margin-bottom:8px}
.product-workspace{width:min(1440px,92vw);margin:0 auto 70px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(410px,.88fr);align-items:start;gap:3.5%;position:relative}
.product-workspace .stage{position:sticky;top:20px;height:min(68vh,700px);min-height:520px;border-radius:16px;overflow:hidden;background:#e9e1d5}
.product-workspace .stage:before{width:78%;left:11%;top:8%;background:#d8cdbf}
.product-workspace .configurator{border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.product-workspace .config-panel{width:auto;padding:34px 32px}
.product-workspace .config-heading{margin-bottom:28px}.product-workspace .config-heading h2{font-size:clamp(2rem,3vw,3.2rem)}
.product-workspace fieldset{display:block;padding:22px 0}.product-workspace legend{float:none;width:auto;margin-bottom:13px}
.product-workspace .swatches span{font-size:.75rem}.product-workspace .segmented span,.product-workspace .checks span{font-size:.875rem}.product-workspace .segmented small,.product-workspace .checks small,.product-workspace .total p{font-size:.7rem}
.product-workspace .swatches span,.product-workspace .segmented span,.product-workspace .checks span{min-height:58px}
.product-workspace .total{gap:20px}.product-workspace .primary{gap:22px}
@media(max-width:900px){
  .hero{padding:25px 20px 18px}.hero-copy{display:block}.hero h1{font-size:clamp(2.7rem,11vw,4.4rem);margin:9px 0}.hero-copy>p:last-child{font-size:.875rem;max-width:360px}
  .product-workspace{width:100%;display:block;margin-bottom:35px}
  .product-workspace .stage{position:sticky;top:0;z-index:5;height:250px;min-height:0;border-radius:0;background:var(--ivory);box-shadow:0 10px 22px rgba(45,40,40,.07)}
  .product-workspace .stage:before{width:68%;left:16%;top:4%}.product-workspace .stage-caption{left:20px;right:20px;bottom:9px}.product-workspace .stage-caption span{font-size:.875rem}.product-workspace .stage-caption small{display:block;font-size:.6875rem}
  .product-workspace .configurator{width:calc(100% - 30px);margin:14px auto 0;border-radius:12px}
  .product-workspace .config-panel{width:auto;padding:27px 18px 32px}.product-workspace .config-heading{margin-bottom:18px}.product-workspace .config-heading h2{font-size:2.25rem}
  .product-workspace fieldset{padding:20px 0}.product-workspace legend{font-size:.8125rem}
  .product-workspace .swatches span{font-size:.75rem}.product-workspace .segmented span,.product-workspace .checks span{font-size:.875rem}.product-workspace .segmented small,.product-workspace .checks small{font-size:.6875rem}
  .product-workspace .swatches i{width:30px;height:30px}
}
@media(max-width:390px){.hero h1{font-size:2.8rem}.product-workspace .stage{height:235px}.product-workspace .stage-caption small{max-width:130px}.product-workspace .config-heading h2{font-size:2.1rem}}
