
:root{
  --ink:#0d1010;--ink2:#151919;--paper:#f3eee6;--paper2:#e8dfd3;--white:#fff;
  --red:#ad3327;--red2:#812219;--gold:#c9a260;--muted:#6d706d;--line:#d8cec1;
  --header:88px;--shadow:0 22px 60px rgba(0,0,0,.15);--radius:14px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;background:var(--paper);color:#1b1d1d;font-family:Inter,Arial,sans-serif;line-height:1.65}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:#fff;padding:12px 16px}
.skip-link:focus{top:16px}
.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:100;background:rgba(12,15,15,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.navbar{height:100%;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{width:42px;height:48px;display:grid;place-items:center;color:var(--gold)}
.brand-mark svg{width:42px;height:48px}
.brand-text{font-weight:700;letter-spacing:.08em;line-height:1.05;text-transform:uppercase}
.brand-text small{display:block;color:#e45345;font-size:.64rem;letter-spacing:.26em;margin-top:7px}
.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.main-nav a{font-size:.75rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:#d8d9d6}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:#fff}
.header-button{margin-left:6px}
.menu-button{display:none;background:transparent;color:#fff;border:0;width:46px;height:46px}
.mobile-nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:var(--ink);padding:10px 18px 24px;border-top:1px solid rgba(255,255,255,.1)}
.mobile-nav.open{display:block}.mobile-nav a{display:block;color:#fff;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}
main{padding-top:var(--header)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:6px;border:1px solid transparent;font-size:.8rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;transition:.2s}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red2);transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff}.btn-outline{border-color:currentColor}
.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.19em;font-size:.76rem;font-weight:800;margin:0 0 12px}
.display{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,6vw,5.8rem);line-height:.98;letter-spacing:-.035em;margin:0}
.h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1.04;margin:0}
.lead{font-size:1.1rem;color:#d8d9d6;max-width:690px}.copy{color:var(--muted);max-width:760px}
.hero{min-height:690px;color:#fff;display:flex;align-items:center;background:
linear-gradient(90deg,rgba(6,8,8,.95),rgba(6,8,8,.70) 48%,rgba(6,8,8,.30)),
radial-gradient(circle at 74% 42%,#625143 0 9%,transparent 10%),
linear-gradient(135deg,#181d1d,#49372d 58%,#121515);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:610px;height:610px;right:-100px;bottom:-250px;border:1px solid rgba(201,162,96,.28);border-radius:50%;box-shadow:0 0 0 70px rgba(201,162,96,.04),0 0 0 150px rgba(201,162,96,.03)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .75fr;gap:58px;align-items:center;padding:76px 0}
.hero .display span{color:#fff}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.form-card{background:#fbf8f3;color:#1d1f1e;padding:28px;border-radius:12px;box-shadow:var(--shadow)}
.form-card h2{font-size:1rem;text-transform:uppercase;letter-spacing:.07em;margin:0 0 18px}
.field{margin-bottom:14px}.field label{display:block;font-size:.76rem;font-weight:800;margin:0 0 5px}
.control{width:100%;min-height:48px;border:1px solid #d9d0c5;border-radius:5px;background:#fff;padding:10px 12px}
textarea.control{min-height:115px}.form-card .btn{width:100%}
.icon-strip{background:var(--ink2);color:#fff}.icon-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.icon-item{display:flex;gap:14px;align-items:center;padding:25px 17px;border-right:1px solid rgba(255,255,255,.12)}
.icon-item:last-child{border:0}.icon-circle{width:46px;height:46px;min-width:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center}
.icon-circle svg{width:22px;height:22px;stroke:#fff;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.icon-item strong{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.045em}.icon-item small{color:#bcbfbc}
.section{padding:92px 0}.section-alt{background:#e9e1d7}.section-dark{background:var(--ink);color:#fff}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:0 14px 38px rgba(42,34,26,.07)}
.card h3{font-family:Georgia,serif;font-size:1.5rem;margin:12px 0}.card p{color:var(--muted)}
.card-link{color:var(--red);font-weight:800;font-size:.78rem;text-transform:uppercase}
.feature-list{list-style:none;padding:0;margin:28px 0}.feature-list li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}
.page-hero{background:var(--ink);color:#fff;padding:68px 0 42px;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;width:440px;height:440px;right:-70px;top:-220px;border:1px solid rgba(201,162,96,.3);border-radius:50%}
.breadcrumbs{font-size:.78rem;color:#b8bbb8;margin-bottom:18px}.breadcrumbs a{color:#fff}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.price-card{background:#fff;border:1px solid #ded5c9;padding:30px;border-radius:14px;position:relative}
.price-card.featured{border:2px solid var(--red);transform:translateY(-8px)}
.price-label{font-weight:800;text-transform:uppercase;font-size:.78rem;color:var(--red)}
.price{font-family:Georgia,serif;font-size:2.6rem;margin:12px 0}.price small{font-family:Inter,sans-serif;font-size:.9rem;color:var(--muted)}
.table-wrap{overflow:auto;background:#fff;border-radius:12px;margin-top:34px}table{width:100%;border-collapse:collapse;min-width:690px}th,td{padding:16px 18px;text-align:left;border-bottom:1px solid #e4ddd4}th{background:#171a1a;color:#fff}
.faq details{background:#fff;padding:19px 21px;border-bottom:1px solid var(--line)}summary{font-weight:800;cursor:pointer}
.location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.location-grid a{background:#fff;padding:13px 15px;border-radius:7px;border:1px solid #ddd4c9;font-weight:700;font-size:.9rem}.location-grid a:hover{border-color:var(--red);color:var(--red)}
.cta{background:var(--red);color:#fff;padding:52px 0}.cta-row{display:flex;justify-content:space-between;gap:30px;align-items:center}
.contact-list a{display:block;margin:12px 0;font-weight:700}.contact-list a:hover{text-decoration:underline}
.site-footer{background:#090b0b;color:#fff;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:44px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-brand{display:flex;align-items:flex-start;gap:12px}.footer-brand-copy{padding-top:1px}
.footer-grid h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.footer-grid a,.footer-grid p{display:block;color:#afb2af;margin:8px 0;font-size:.88rem}.copyright{padding-top:20px;color:#777b77;font-size:.78rem}
.legal h2{margin-top:36px}.legal p,.legal li{color:#555}
.notice{background:#fff7df;border-left:4px solid var(--gold);padding:16px 18px;margin:24px 0}
@media(max-width:1050px){.main-nav,.header-button{display:none}.menu-button{display:grid;place-items:center;margin-left:auto}.hero-grid{grid-template-columns:1fr}.form-card{max-width:650px}.icon-grid{grid-template-columns:repeat(2,1fr)}.icon-item:nth-child(2n){border-right:0}.cards,.price-grid{grid-template-columns:repeat(2,1fr)}.location-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){:root{--header:76px}.container{width:min(100% - 28px,1160px)}.hero{min-height:auto}.hero-grid{padding:64px 0}.display{font-size:clamp(3rem,15vw,4.5rem)}.actions{display:grid}.actions .btn{width:100%}.icon-grid,.cards,.price-grid,.split,.footer-grid{grid-template-columns:1fr}.icon-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.price-card.featured{transform:none}.location-grid{grid-template-columns:repeat(2,1fr)}.cta-row{display:block}.cta-row .actions{margin-top:24px}.section{padding:70px 0}}

/* Aggiornamenti grafici */
.card .icon-circle{
  background:var(--ink);
  border-color:var(--gold);
}
.card .icon-circle svg{
  width:22px;
  height:22px;
  stroke:#fff;
  fill:none;
}
.card.clickable{
  padding:0;
  overflow:hidden;
}
.card.clickable > a{
  display:block;
  height:100%;
  padding:28px;
}
.card.clickable:hover{
  transform:none;
  box-shadow:0 18px 42px rgba(42,34,26,.10);
  border-color:var(--gold);
}
.card.clickable a:focus-visible{
  outline:3px solid var(--red);
  outline-offset:-3px;
}

/* Card prezzi tutte della stessa altezza e CTA allineate in basso */
.price-grid{
  align-items:stretch;
}
.price-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.price-card p{
  flex-grow:1;
}
.price-card .btn{
  width:100%;
  margin-top:auto;
}

/* Carosello recensioni */
.testimonial-carousel{position:relative;margin-top:36px}
.testimonial-viewport{overflow:hidden;border-radius:16px}
.testimonial-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.testimonial-slide{min-width:100%;padding:4px}
.testimonial-card{background:#fff;border:1px solid #ddd4c8;border-radius:16px;padding:42px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 46px rgba(42,34,26,.08)}
.testimonial-quote-mark{width:46px;height:46px;color:var(--gold);margin-bottom:20px}
.testimonial-card blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.42;color:#202222}
.testimonial-meta{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-top:30px;padding-top:22px;border-top:1px solid #e4ddd4}
.testimonial-person strong{display:block;font-size:.95rem}.testimonial-person span{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}
.testimonial-rating{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--red);white-space:nowrap}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}
.carousel-arrows{display:flex;gap:10px}.carousel-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:transparent;color:var(--ink);display:grid;place-items:center}.carousel-button:hover{background:var(--ink);color:#fff}.carousel-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.carousel-dots{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.carousel-dot{width:9px;height:9px;border:0;border-radius:50%;background:#c6bdb1;padding:0}.carousel-dot.active{background:var(--red);transform:scale(1.25)}
.review-disclaimer{font-size:.82rem;color:#6c6e6b;margin-top:18px}
.home-reviews{background:#e9e1d7}
@media(min-width:900px){.testimonial-slide{min-width:50%}.testimonial-card{margin:0 10px}}
@media(max-width:700px){.testimonial-card{padding:28px;min-height:360px}.testimonial-meta{display:block}.testimonial-rating{margin-top:12px}.carousel-controls{align-items:flex-start}.carousel-dots{max-width:170px}}


/* Spazio ridotto dopo le hero interne */
.page-hero + .section{
  padding-top:42px;
}


/* Allineamento carosello recensioni con il contenuto della sezione */
.testimonial-carousel{
  width:100%;
  margin-left:0;
  margin-right:0;
}
.testimonial-viewport{
  width:100%;
  overflow:hidden;
}
.testimonial-track{
  margin-left:0;
  margin-right:0;
}
.testimonial-slide{
  padding-left:0;
  padding-right:16px;
}
.testimonial-slide:last-child{
  padding-right:0;
}
@media(max-width:700px){
  .testimonial-slide{
    padding-right:0;
  }
}

.testimonial-card{margin:0;}


/* Servizi correlati */
.related-services .cards{
  align-items:stretch;
}
.related-service-card{
  height:100%;
}
.related-service-card > a{
  display:flex;
  flex-direction:column;
  height:100%;
}
.related-service-card p{
  flex-grow:1;
}
.related-service-card:hover{
  transform:none;
}


/* Pagine legali complete */
.legal-complete{
  font-size:1rem;
}
.legal-complete > .container{
  max-width:none;
}
.legal-update{
  color:var(--muted);
  font-size:.84rem;
  margin-bottom:18px;
}
.legal-toc{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:26px 28px;
  margin:30px 0 44px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 28px;
}
.legal-toc h2{
  grid-column:1/-1;
  margin:0 0 10px;
  font-family:Georgia,serif;
}
.legal-toc a{
  color:var(--red);
  font-weight:700;
  font-size:.9rem;
}
.legal-complete h2{
  scroll-margin-top:calc(var(--header) + 24px);
  font-family:Georgia,serif;
  font-size:2rem;
  line-height:1.2;
  margin:52px 0 18px;
}
.legal-complete h3{
  font-family:Georgia,serif;
  font-size:1.35rem;
  margin:30px 0 10px;
}
.legal-complete p,
.legal-complete li{
  color:#4f5250;
}
.legal-complete li{
  margin:7px 0;
}
.legal-data-box{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px 28px;
  margin:20px 0;
}
.legal-data-box p{
  margin:0;
}
.legal-table-wrap{
  overflow:auto;
  margin:24px 0;
  border-radius:12px;
  border:1px solid var(--line);
}
.legal-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:#fff;
}
.legal-table th,
.legal-table td{
  text-align:left;
  vertical-align:top;
  padding:15px 17px;
  border-bottom:1px solid #e7dfd5;
}
.legal-table th{
  background:var(--ink2);
  color:#fff;
}
.legal-table tr:last-child td{
  border-bottom:0;
}
@media(max-width:700px){
  .legal-toc,
  .legal-data-box{
    grid-template-columns:1fr;
  }
  .legal-toc h2{
    grid-column:auto;
  }
  .legal-complete h2{
    font-size:1.7rem;
  }
}


/* Cookie consent */
.cookie-consent{
  position:fixed;
  inset:auto 18px 18px 18px;
  z-index:1000;
  display:none;
  max-width:1180px;
  margin:auto;
  background:#111414;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  padding:22px;
}
.cookie-consent.is-visible{
  display:block;
}
.cookie-consent-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}
.cookie-consent h2{
  margin:0 0 6px;
  font-family:Georgia,serif;
  font-size:1.45rem;
}
.cookie-consent p{
  margin:0;
  color:#c6c9c6;
  font-size:.9rem;
}
.cookie-consent p a{
  color:#fff;
  text-decoration:underline;
}
.cookie-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cookie-actions .btn{
  min-height:44px;
  padding:0 16px;
}
.cookie-panel{
  display:none;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
}
.cookie-panel.is-open{
  display:block;
}
.cookie-option{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.cookie-option:last-child{
  border-bottom:0;
}
.cookie-option strong{
  display:block;
}
.cookie-option small{
  display:block;
  color:#aeb2ae;
  margin-top:4px;
}
.cookie-switch{
  width:46px;
  height:26px;
  flex:0 0 auto;
  accent-color:var(--red);
}

.form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0 18px;
  font-size:.82rem;
  color:#555;
}
.form-consent input{
  margin-top:4px;
  accent-color:var(--red);
}
.form-consent a{
  color:var(--red);
  text-decoration:underline;
}
.form-consent-error{
  display:none;
  color:#a90000;
  font-size:.78rem;
  margin-top:-10px;
  margin-bottom:14px;
}
.form-consent-error.is-visible{
  display:block;
}
@media(max-width:760px){
  .cookie-consent{
    inset:auto 10px 10px 10px;
    padding:18px;
  }
  .cookie-consent-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .cookie-actions{
    justify-content:stretch;
    display:grid;
  }
  .cookie-actions .btn{
    width:100%;
  }
}


/* Cookie consent popup iniziale */
.cookie-consent{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index:1200;
  display:none;
  width:min(1180px,calc(100% - 36px));
  background:#111414;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  padding:22px;
}
.cookie-consent.is-visible{
  display:block;
}
.cookie-consent-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}
.cookie-consent h2{
  margin:0 0 6px;
  font-family:Georgia,serif;
  font-size:1.45rem;
}
.cookie-consent p{
  margin:0;
  color:#c6c9c6;
  font-size:.9rem;
}
.cookie-consent p a{
  color:#fff;
  text-decoration:underline;
}
.cookie-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cookie-actions .btn{
  min-height:44px;
  padding:0 16px;
}
.cookie-panel{
  display:none;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
}
.cookie-panel.is-open{
  display:block;
}
.cookie-option{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.cookie-option:last-child{
  border-bottom:0;
}
.cookie-option strong{
  display:block;
}
.cookie-option small{
  display:block;
  color:#aeb2ae;
  margin-top:4px;
}
.cookie-switch{
  width:46px;
  height:26px;
  flex:0 0 auto;
  accent-color:var(--red);
}
@media(max-width:760px){
  .cookie-consent{
    bottom:10px;
    width:calc(100% - 20px);
    padding:18px;
  }
  .cookie-consent-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .cookie-actions{
    display:grid;
    justify-content:stretch;
  }
  .cookie-actions .btn{
    width:100%;
  }
}


/* Pagina gestione preferenze cookie */
.cookie-preferences-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px;
  box-shadow:0 16px 38px rgba(42,34,26,.07);
}
.cookie-preference-row{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-start;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.cookie-preference-row:first-child{
  padding-top:0;
}
.cookie-preference-row p{
  margin:5px 0 0;
  color:var(--muted);
}
.cookie-preference-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.cookie-reset-button{
  color:var(--ink);
}
.cookie-preference-status{
  min-height:24px;
  margin:18px 0 0;
  color:var(--red);
  font-weight:700;
}
@media(max-width:700px){
  .cookie-preference-row{
    gap:18px;
  }
  .cookie-preference-actions{
    display:grid;
  }
  .cookie-preference-actions .btn{
    width:100%;
  }
}
