/* Pagina commerciale Marks Live Band — solo anteprima, nessun tracker/media embed. */
.wedding-page { --w-gold: #c9a45e; background:#070707; color:#f4f1eb; }
.wedding-page em { font-style:normal; color:rgba(244,241,235,.48); }
.wedding-page a:focus-visible, .wedding-page summary:focus-visible {
  outline:2px solid var(--w-gold); outline-offset:5px;
}
.wedding-skip {
  position:absolute; z-index:50; top:-70px; left:16px; background:#f4f1eb;
  padding:12px 18px; color:#0b0b0b; font-weight:700;
}
.wedding-skip:focus { top:10px; }
.wedding-header {
  position:relative; z-index:5; display:flex; align-items:center;
  justify-content:space-between; gap:20px;
  max-width:1600px; margin:auto;
  padding:30px clamp(22px,4.8vw,76px);
}
.wedding-brand { display:inline-flex; flex-direction:column; gap:4px; font-weight:850;
  font-size:24px; letter-spacing:.20em; text-decoration:none; line-height:1; }
.wedding-brand span { font-size:8px; letter-spacing:.24em; color:var(--w-gold); }
.wedding-header-action { display:inline-flex; gap:12px; font-size:11px; letter-spacing:.13em;
  font-weight:800; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4);
  padding:8px 0; white-space:nowrap; }
.wedding-header-action span { color:var(--w-gold); }
.wedding-hero { position:relative; min-height:730px; min-height:min(820px,90svh);
  display:flex; align-items:center; padding:85px clamp(24px,7.6vw,128px) 115px;
  background:radial-gradient(circle at 82% 36%,rgba(201,164,94,.13),transparent 28%),linear-gradient(128deg,#101010 10%,#070707 78%);
  overflow:hidden;
}
.wedding-hero:before { content:""; position:absolute; inset:0;
  opacity:.18; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:112px 112px;
}
.wedding-hero-inner { max-width:1120px; position:relative; z-index:1; }
.wedding-eyebrow,.wedding-section-label {
  font-size:11px; font-weight:850; letter-spacing:.22em; color:var(--w-gold);
}
.wedding-eyebrow { margin:0 0 24px; }
.wedding-hero h1 { margin:0; font-size:clamp(52px,7.8vw,124px);
  font-weight:850; letter-spacing:-.064em; line-height:.92; max-width:1100px;
  overflow-wrap:normal;
}
.wedding-hero h1 em { display:block; }
.wedding-lead { max-width:690px; font-size:clamp(18px,2vw,26px);
  line-height:1.48; color:rgba(244,241,235,.79); margin:36px 0 0;
}
.wedding-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:35px; }
.wedding-btn { text-decoration:none; display:inline-flex; align-items:center; justify-content:space-between;
  gap:18px; padding:17px 21px; border:1px solid rgba(255,255,255,.32);
  font-size:13px; font-weight:750; min-height:54px; transition:background .2s,color .2s,border-color .2s;
}
.wedding-btn:hover { border-color:var(--w-gold); }
.wedding-btn-primary { background:var(--w-gold); color:#12100a; border-color:var(--w-gold); }
.wedding-btn-primary:hover { background:#e0c188; }
.wedding-btn-secondary { background:transparent; }
.wedding-btn-text { border-color:transparent; text-decoration:underline; text-underline-offset:5px; }
.wedding-hero-note { margin:28px 0 0; font-size:12px; color:rgba(244,241,235,.54); }
.wedding-hero-marker { position:absolute; bottom:30px; right:clamp(22px,4vw,70px);
  color:rgba(244,241,235,.36); letter-spacing:.2em; font-size:10px; }
.wedding-intro,.wedding-service,.wedding-proof,.wedding-faq,.wedding-contact {
  padding:clamp(84px,10vw,150px) clamp(24px,7vw,120px);
}
.wedding-intro { background:#eeeae2; color:#101010; display:grid;
  grid-template-columns:1fr 2fr; gap:35px; }
.wedding-intro .wedding-section-label { color:#947333; }
.wedding-intro h2,.wedding-service h2,.wedding-proof h2,.wedding-faq h2,.wedding-contact h2 {
  font-size:clamp(43px,6vw,91px); letter-spacing:-.055em; line-height:.97; margin:0;
  max-width:1100px; font-weight:850;
}
.wedding-intro h2 span { color:rgba(11,11,11,.40); }
.wedding-intro p { max-width:780px; font-size:clamp(17px,1.6vw,22px); line-height:1.65;
  color:rgba(11,11,11,.75); margin:29px 0 0;
}
.wedding-intro strong { color:#0b0b0b; }
.wedding-service { background:#101010; }
.wedding-service h2 { margin:28px 0 56px; }
.wedding-service h2 span,.wedding-proof h2 span,.wedding-faq h2 span,.wedding-contact h2 span {
  color:rgba(244,241,235,.44);
}
.wedding-phases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.17); border-left:1px solid rgba(255,255,255,.17); }
.wedding-phases article { padding:30px 25px 48px; min-height:250px;
  border-right:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17);
}
.wedding-phase-index { font-size:10px; font-weight:800; color:var(--w-gold); letter-spacing:.16em; }
.wedding-phases h3 { font-size:clamp(25px,2.8vw,42px); font-weight:850;
  letter-spacing:-.03em; margin:33px 0 0; }
.wedding-phases p { max-width:400px; line-height:1.6; color:rgba(244,241,235,.68);
  margin:17px 0 0; font-size:16px; }
.wedding-proof { background:#eeeae2; color:#0b0b0b; }
.wedding-proof .wedding-section-label { color:#947333; }
.wedding-proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,7vw,110px);
  align-items:start; margin-top:28px; }
.wedding-proof h2 span { color:rgba(11,11,11,.40); }
.wedding-proof p { font-size:19px; line-height:1.65; color:rgba(11,11,11,.70); max-width:550px; }
.wedding-proof-links { border-top:1px solid rgba(11,11,11,.3); }
.wedding-proof-links a { display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:22px 2px; text-decoration:none; font-size:17px; font-weight:750;
  border-bottom:1px solid rgba(11,11,11,.3);
}
.wedding-proof-links a:hover { color:#806222; }
.wedding-proof-links a span:first-child { display:flex; flex-direction:column; gap:8px; }
.wedding-proof-links small { font-size:10px; letter-spacing:.17em; font-weight:800; color:#947333; }
.wedding-faq { background:#090909; }
.wedding-faq h2 { margin:30px 0 42px; }
.wedding-faq-list { max-width:990px; border-top:1px solid rgba(255,255,255,.22); }
.wedding-faq details { border-bottom:1px solid rgba(255,255,255,.22); }
.wedding-faq summary { cursor:pointer; position:relative; padding:23px 38px 23px 0;
  font-size:clamp(17px,2vw,23px); font-weight:750; list-style:none; }
.wedding-faq summary::-webkit-details-marker { display:none; }
.wedding-faq summary:after { content:"+"; position:absolute; right:6px; top:22px;
  color:var(--w-gold); font-size:25px; font-weight:400; }
.wedding-faq details[open] summary:after { content:"−"; }
.wedding-faq details p { max-width:750px; margin:0 40px 24px 0;
  font-size:16px; line-height:1.7; color:rgba(244,241,235,.68); }
.wedding-contact { background:#15120e;
  background-image:radial-gradient(circle at 85% 50%,rgba(201,164,94,.14),transparent 36%);
}
.wedding-contact h2 { margin:28px 0; }
.wedding-contact p { max-width:700px; font-size:clamp(17px,1.7vw,22px);
  line-height:1.6; color:rgba(244,241,235,.72); }
.wedding-footer { padding:35px clamp(24px,7vw,120px); border-top:1px solid rgba(255,255,255,.14);
  display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; align-items:center;
  font-size:12px; color:rgba(244,241,235,.6); }
.wedding-footer>a { text-decoration:none; font-size:19px; font-weight:850; letter-spacing:.18em; color:#f4f1eb; }
.wedding-footer nav { display:flex; gap:20px; }
.wedding-footer nav a { text-decoration:none; }
@media(max-width:900px) {
  .wedding-intro { grid-template-columns:1fr; }
  .wedding-phases { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wedding-proof-grid { grid-template-columns:1fr; }
}
@media(max-width:650px) {
  .wedding-header { padding:22px 20px; }
  .wedding-brand { font-size:20px; }
  .wedding-header-action { font-size:10px; }
  .wedding-hero { min-height:680px; padding:80px 20px 95px; }
  .wedding-hero h1 { font-size:clamp(45px,11.8vw,69px); }
  .wedding-hero h1 em { overflow-wrap:anywhere; }
  .wedding-lead { margin-top:27px; }
  .wedding-actions { align-items:stretch; flex-direction:column; }
  .wedding-btn { width:100%; }
  .wedding-intro,.wedding-service,.wedding-proof,.wedding-faq,.wedding-contact {
    padding:86px 21px;
  }
  .wedding-intro h2,.wedding-service h2,.wedding-proof h2,.wedding-faq h2,.wedding-contact h2 {
    font-size:clamp(40px,10.5vw,64px); overflow-wrap:break-word;
  }
  .wedding-phases { grid-template-columns:1fr; border-left:0; }
  .wedding-phases article { border-right:0; min-height:0; padding:27px 0 37px; }
  .wedding-phases h3 { margin-top:27px; }
  .wedding-proof-links a { font-size:15px; }
  .wedding-footer { align-items:flex-start; flex-direction:column; padding:32px 21px; }
}
@media(prefers-reduced-motion:reduce) {
  .wedding-btn { transition:none; }
}
