/* ============================================================
   WELDONE EVENTS — Service detail pages (shared)
   ============================================================ */

/* intro */
.sd-intro-grid{
  display:grid; grid-template-columns:.9fr 1.4fr; gap:clamp(40px, 6vw, 100px);
}
.sd-side{ position:relative; }
.sd-side .inner{ position:sticky; top:120px; }
.sd-side .svc-index{
  font-family:var(--font-display); font-style:italic; font-size:clamp(3.4rem, 6vw, 5.4rem);
  line-height:1; background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  display:block; margin-bottom:18px;
}
.sd-side .eyebrow{ margin-bottom:14px; }
.sd-side p{ font-size:.9rem; color:var(--ink-3); max-width:26ch; }
.sd-copy .lead{
  font-family:var(--font-display); font-size:clamp(1.3rem, 2.2vw, 1.7rem);
  font-style:italic; line-height:1.5; color:var(--ink);
}
.sd-copy p + p{ margin-top:20px; }
.sd-copy .drop::first-letter{
  font-family:var(--font-display); font-size:3.2em; line-height:.8;
  float:left; margin:8px 12px 0 0; color:var(--gold); font-style:italic;
}

/* features */
.sd-features{ display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
.sd-feat{
  padding:clamp(26px, 2.6vw, 38px);
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(165deg, var(--bg-3), transparent 75%);
  transition:transform .5s var(--ease), border-color .4s, box-shadow .5s;
  position:relative; overflow:hidden;
}
.sd-feat::after{
  content:"✦"; position:absolute; right:18px; top:14px; color:var(--line); font-size:1.1rem;
  transition:color .4s, transform .6s var(--ease);
}
.sd-feat:hover{ transform:translateY(-7px); border-color:var(--gold); box-shadow:var(--shadow); }
.sd-feat:hover::after{ color:var(--gold); transform:rotate(180deg) scale(1.25); }
.sd-feat h3{ font-size:1.28rem; margin-bottom:12px; padding-right:20px; }
.sd-feat p{ font-size:.9rem; color:var(--ink-2); }

/* steps */
.sd-steps{ display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(26px, 4vw, 60px); position:relative; }
.sd-steps::before{
  content:""; position:absolute; top:44px; left:8%; right:8%; height:1px;
  background:linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
}
.sd-step{ text-align:center; position:relative; padding-top:0; }
.sd-step .num{
  width:88px; height:88px; margin:0 auto 26px; border-radius:50%;
  display:grid; place-items:center; position:relative; z-index:2;
  background:var(--bg); border:1px solid var(--line);
  font-family:var(--font-display); font-style:italic; font-weight:600; font-size:1.7rem; color:var(--gold);
  transition:all .5s var(--ease);
}
.sd-step:hover .num{
  background:var(--grad-gold); color:#1d0f16; border-color:transparent;
  transform:scale(1.08) rotate(-6deg); box-shadow:0 18px 40px -14px rgba(217,143,156,.5);
}
.bg-2 .sd-step .num{ background:var(--bg-2); }
.sd-step:hover .num{ background:var(--grad-gold); }
.sd-step h3{ font-size:1.4rem; margin-bottom:10px; }
.sd-step p{ font-size:.92rem; color:var(--ink-2); max-width:34ch; margin-inline:auto; }

/* editorial sections */
.sd-row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px, 6vw, 100px); align-items:center; }
.sd-row + .sd-row{ margin-top:clamp(70px, 9vw, 120px); }
.sd-row:nth-child(even) .sd-row-media{ order:2; }
.sd-row-media .frame-media{ aspect-ratio:4/3.2; }
.sd-row-media img{ width:100%; height:100%; object-fit:cover; }
.sd-row-copy .tag{
  display:inline-block; font-size:.68rem; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold); border:1px solid var(--line); border-radius:99px;
  padding:8px 18px; margin-bottom:20px; font-weight:500;
}
.sd-row-copy h2{ margin-bottom:16px; }
.sd-row-copy p + p{ margin-top:14px; }
.sd-row-copy p{ color:var(--ink-2); }

/* faq */
.sd-faq-grid{ display:grid; grid-template-columns:.8fr 1.4fr; gap:clamp(40px, 6vw, 100px); align-items:start; }
.sd-faq-side{ position:sticky; top:120px; }
.sd-faq-side .script{ font-size:2rem; display:block; margin-top:10px; }
.sd-faq-side p{ margin-top:16px; color:var(--ink-2); font-size:.95rem; max-width:34ch; }

/* next / prev navigation */
.sd-nav{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.sd-nav a{
  padding:clamp(40px, 5vw, 70px) var(--gutter);
  display:flex; flex-direction:column; gap:8px;
  position:relative; overflow:hidden; transition:background .45s;
}
.sd-nav a + a{ border-left:1px solid var(--line); text-align:right; align-items:flex-end; }
.sd-nav a:hover{ background:var(--bg-2); }
.sd-nav small{
  font-size:.66rem; letter-spacing:.4em; text-transform:uppercase; color:var(--gold); font-weight:500;
}
.sd-nav b{
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.5rem, 3vw, 2.4rem); color:var(--ink);
  transition:color .35s, transform .5s var(--ease);
}
.sd-nav a:hover b{ color:var(--gold); transform:translateX(10px); }
.sd-nav a + a:hover b{ transform:translateX(-10px); }

@media (max-width:1024px){
  .sd-features{ grid-template-columns:1fr 1fr; }
}
@media (max-width:860px){
  .sd-intro-grid{ grid-template-columns:1fr; gap:34px; }
  .sd-side .inner{ position:static; }
  .sd-steps{ grid-template-columns:1fr; gap:40px; }
  .sd-steps::before{ display:none; }
  .sd-row{ grid-template-columns:1fr; gap:40px; }
  .sd-row:nth-child(even) .sd-row-media{ order:0; }
  .sd-faq-grid{ grid-template-columns:1fr; gap:40px; }
  .sd-faq-side{ position:static; }
}
@media (max-width:640px){
  .sd-features{ grid-template-columns:1fr; }
  .sd-nav{ grid-template-columns:1fr; }
  .sd-nav a + a{ border-left:none; border-top:1px solid var(--line); }
}
