/* ═══════════════════════════════════════════════════════════════
   BEB Case — template-servizi.css
   Caricato solo su questo template
═══════════════════════════════════════════════════════════════ */

/* ── HERO ─────────────────────────────────────────────────────── */
.svc-hero {
  position:relative;
  padding-top:var(--H);
  min-height:72vh;
  display:flex; align-items:flex-end;
  overflow:hidden;
}
.svc-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center 40%;
  filter:brightness(.22) saturate(.6);
}
.svc-hero-inner {
  position:relative; z-index:2;
  padding:5rem 5vw 6rem;
  max-width:820px;
}
.svc-hero-deco {
  position:absolute; right:-2%; bottom:-8%;
  width:clamp(260px,36vw,500px);
  opacity:.07; pointer-events:none; z-index:1;
}
.svc-hero-deco svg { width:100%; height:auto; display:block; }
.svc-hero-deco path { fill:#F7AE4E; }
.svc-hero .s-label { color:var(--y); }
.svc-hero .s-label::before { background:var(--y); }
.svc-hero h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,5vw,4.6rem);
  font-weight:300; line-height:1.08; color:var(--w);
  margin-bottom:1.4rem;
}
.svc-hero h1 strong { font-weight:700; }
.svc-hero h1 em { font-style:italic; color:var(--y); font-weight:300; }
.svc-hero-lead {
  font-size:1rem; font-weight:300; line-height:1.9;
  color:rgba(255,255,255,.55); max-width:580px; margin-bottom:2.5rem;
}
/* Tab nav servizi */
.svc-tab-strip {
  position:relative; z-index:2;
  border-top:2.5px solid var(--y);
  background:rgba(35,31,32,.97);
  backdrop-filter:blur(12px);
  display:flex; overflow-x:auto; scrollbar-width:none;
  padding:0 5vw;
}
.svc-tab-strip::-webkit-scrollbar { display:none; }
.svc-tab {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.45);
  padding:1.1rem 1.4rem;
  border-bottom:2px solid transparent;
  text-decoration:none; transition:color .2s, border-color .2s;
  white-space:nowrap; flex-shrink:0;
}
.svc-tab:hover { color:rgba(255,255,255,.8); }
.svc-tab.active { color:var(--y); border-bottom-color:var(--y); }
.svc-tab svg { opacity:.7; }

/* ── INTRO SPLIT ─────────────────────────────────────────────── */
.svc-intro { display:grid; grid-template-columns:1fr 1fr; background:var(--w); }
.svc-intro-copy {
  padding:7rem 5vw;
  border-right:1px solid var(--bd);
  display:flex; flex-direction:column; justify-content:center;
}
.svc-intro-copy .s-body { max-width:460px; margin-bottom:2rem; }
.svc-intro-foto { position:relative; overflow:hidden; }
.svc-intro-foto img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.82) brightness(.9); transition:transform .7s ease;
}
.svc-intro:hover .svc-intro-foto img { transform:scale(1.03); }

/* ── SEZIONE PRINCIPALE — vendere / acquistare ──────────────────── */
.svc-main-section { padding:8rem 5vw; position:relative; }
.svc-main-section.dark  { background:var(--k); }
.svc-main-section.light { background:var(--g0); }
.svc-main-section.white { background:var(--w); }
.svc-main-deco {
  position:absolute; right:-2%; top:50%; transform:translateY(-50%);
  width:clamp(220px,28vw,400px); opacity:.05; pointer-events:none;
}
.svc-main-deco.left-deco { left:-2%; right:auto; }
.svc-main-deco svg { width:100%; height:auto; display:block; }
.svc-main-deco.dark-deco path  { fill:#F7AE4E; }
.svc-main-deco.light-deco path { fill:#231F20; }

.svc-two-col {
  display:grid; grid-template-columns:1fr 1fr;
  gap:6rem; align-items:start; position:relative; z-index:1;
}
.svc-two-col.reversed .svc-copy-block { order:2; }
.svc-two-col.reversed .svc-list-block { order:1; }

.svc-number {
  font-family:'Cormorant Garamond',serif;
  font-size:7rem; font-weight:700; line-height:1;
  color:rgba(247,174,78,.15); display:block; margin-bottom:-.5rem;
}
.dark  .svc-number { color:rgba(247,174,78,.12); }
.light .svc-number { color:rgba(35,31,32,.08); }

.svc-copy-block h2 { margin-bottom:1.2rem; }
.dark .svc-copy-block h2 { color:var(--w); }
.dark .svc-copy-block h2 em { color:var(--y); }
.svc-copy-block .s-body { margin-bottom:2rem; }
.dark .svc-copy-block .s-body { color:rgba(255,255,255,.48); }
.light .svc-copy-block h2 { color:var(--k); }

.svc-list { list-style:none; display:flex; flex-direction:column; gap:0; }
.svc-li {
  display:flex; align-items:flex-start; gap:.9rem;
  padding:1.1rem 0; border-bottom:1px solid var(--bd);
  font-size:.88rem; font-weight:300; line-height:1.6; color:var(--mu);
}
.dark .svc-li { border-bottom-color:rgba(255,255,255,.08); color:rgba(255,255,255,.5); }
.svc-li:first-child { padding-top:0; }
.svc-li:last-child { border-bottom:none; }
.svc-li-icon { flex-shrink:0; margin-top:.1rem; }

/* ── STRIP PROMESSE ──────────────────────────────────────────── */
.svc-promise-strip {
  background:var(--y); padding:5rem 5vw;
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; position:relative; overflow:hidden;
}
.svc-promise { padding:2rem 3vw; position:relative; z-index:1; }
.svc-promise-num {
  font-family:'Cormorant Garamond',serif;
  font-size:3.5rem; font-weight:700; color:var(--k);
  line-height:1; display:block; margin-bottom:.4rem;
}
.svc-promise h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem; font-weight:600; color:var(--k); margin-bottom:.5rem;
}
.svc-promise p { font-size:.82rem; font-weight:300; line-height:1.75; color:rgba(35,31,32,.6); }

/* ── SEZIONE PRIVATI — due colonne ───────────────────────────── */
.svc-privati-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; position:relative; z-index:1; }
.svc-col-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem; font-weight:600; color:var(--k);
  margin-bottom:.5rem; display:flex; align-items:center; gap:.8rem;
}
.dark .svc-col-title { color:var(--w); }
.svc-col-subtitle {
  font-size:.82rem; font-weight:300; font-style:italic;
  color:var(--mu); margin-bottom:2rem; padding-bottom:1.5rem;
  border-bottom:2px solid var(--y);
}
.dark .svc-col-subtitle { color:rgba(255,255,255,.4); }

/* ── QUOTE BANNER ────────────────────────────────────────────── */
.svc-quote-banner { height:380px; position:relative; overflow:hidden; }
.svc-quote-banner img {
  width:100%; height:100%; object-fit:cover;
  object-position:center 55%;
  filter:brightness(.35) saturate(.6); display:block;
}
.svc-quote-overlay {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:0 5vw; text-align:center;
}
.svc-qtext {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.6rem,3vw,2.8rem);
  font-style:italic; font-weight:300;
  color:var(--w); line-height:1.35; max-width:780px;
}
.svc-qtext em { color:var(--y); font-style:normal; font-weight:600; }
.svc-qattr {
  display:block; margin-top:1rem;
  font-size:.65rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.35);
}

/* ── OPERATORI — full dark ──────────────────────────────────── */
.svc-operatori { display:grid; grid-template-columns:1fr 1fr; position:relative; }
.svc-op-photo { position:relative; overflow:hidden; min-height:560px; }
.svc-op-photo img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.72) brightness(.8); transition:transform .7s ease;
}
.svc-operatori:hover .svc-op-photo img { transform:scale(1.04); }
.svc-op-copy {
  background:var(--k); padding:6rem 5vw;
  display:flex; flex-direction:column; justify-content:center;
  border-left:2px solid rgba(247,174,78,.15);
  position:relative; z-index:1;
}
.svc-op-copy h2 { color:var(--w); }
.svc-op-copy h2 em { color:var(--y); }
.svc-op-copy .s-body { color:rgba(255,255,255,.45); margin-bottom:2.5rem; }

/* ── CTA FINALE ──────────────────────────────────────────────── */
.svc-cta {
  background:var(--g0); padding:7rem 5vw;
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
  border-top:2.5px solid var(--y);
}
.svc-cta h2 { margin-bottom:.8rem; }
.svc-cta h2 em { color:var(--yd); }
.svc-cta .s-body { max-width:480px; margin-bottom:0; }
.svc-cta-box { background:var(--k); padding:3rem; }
.svc-cta-box-ey {
  font-size:.62rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--y); margin-bottom:1.4rem; display:block;
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width:1024px) {
  .svc-two-col { grid-template-columns:1fr; gap:3rem; }
  .svc-two-col.reversed .svc-copy-block { order:unset; }
  .svc-two-col.reversed .svc-list-block { order:unset; }
  .svc-privati-grid { grid-template-columns:1fr; gap:3rem; }
  .svc-operatori { grid-template-columns:1fr; }
  .svc-op-photo { min-height:360px; }
  .svc-intro { grid-template-columns:1fr; }
  .svc-intro-foto { height:340px; }
  .svc-cta { grid-template-columns:1fr; gap:3rem; }
  .svc-promise-strip { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .svc-hero-inner { padding:4rem 4vw 5rem; }
  .svc-main-section { padding:5rem 4vw; }
  .svc-op-copy { padding:3.5rem 4vw; }
  .svc-cta { padding:5rem 4vw; }
  .svc-cta-box { padding:2rem 1.5rem; }
  .svc-quote-banner { height:280px; }
  .svc-number { font-size:4.5rem; }
  .svc-intro-copy { padding:4rem 4vw; }
  .svc-promise-strip { padding:4rem 4vw; }
}
