/* ===== SOFIA — SERVICE PAGE STYLES (uses sofia-core.css tokens) ===== */
.spagehead{ width:min(100% - 12vw, 1320px); margin-inline:auto; padding:21vh 0 8vh; }
.spagehead .crumb{ display:flex; align-items:center; gap:10px; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--soft); margin-bottom:30px; }
.spagehead .crumb a{ text-decoration:none; color:var(--soft); transition:color .25s; }
.spagehead .crumb a:hover{ color:var(--accent); }
.spagehead .crumb .sl{ color:var(--hair); }
.spagehead .crumb b{ color:var(--ink); font-weight:600; }
.spagehead .kick{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:22px; }
.spagehead h1{ font-weight:800; font-size:clamp(44px,8vw,108px); line-height:.86; letter-spacing:-.045em; overflow-wrap:anywhere; }
.spagehead h1 em{ font-style:italic; font-weight:300; color:var(--accent); }
.spagehead .lede{ margin-top:34px; font-weight:300; font-size:clamp(20px,2.4vw,30px); line-height:1.4; letter-spacing:-.015em; max-width:26ch; color:var(--ink); text-wrap:pretty; }

.sblock{ padding:11vh 0; border-top:1px solid var(--hair); }
.sblock.alt{ background:var(--surface); transition:background .5s, border-color .5s; }
.swrap{ width:min(100% - 12vw, 1320px); margin-inline:auto; }
.sgrid{ display:grid; grid-template-columns:repeat(12,1fr); gap:30px 24px; }
.slab{ grid-column:1/3; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--soft); padding-top:6px; }
.sbody{ grid-column:4/12; }
.sbody p{ font-size:clamp(18px,2.1vw,27px); font-weight:300; line-height:1.5; letter-spacing:-.012em; text-wrap:pretty; }
.sbody p + p{ margin-top:1em; }
.sbody em{ font-style:italic; color:var(--accent); }

.steps{ grid-column:4/13; }
.step{ display:grid; grid-template-columns:60px 1fr; gap:24px; padding:30px 0; border-top:1px solid var(--hair); align-items:start; }
.step:first-child{ border-top:none; padding-top:0; }
.step .sn{ font-size:12px; color:var(--accent); font-weight:600; padding-top:5px; font-variant-numeric:tabular-nums; }
.step .st{ font-size:clamp(18px,2vw,24px); font-weight:600; letter-spacing:-.015em; }
.step .sd{ margin-top:8px; font-size:15px; line-height:1.65; color:var(--soft); max-width:60ch; text-wrap:pretty; }

.delv{ grid-column:4/13; display:flex; flex-wrap:wrap; gap:9px; }
.delv span{ font-size:13px; padding:8px 14px; border:1px solid var(--hair); border-radius:100px; color:var(--ink); }

.related{ grid-column:4/13; display:flex; flex-wrap:wrap; gap:14px; }
.related a{ text-decoration:none; font-size:13px; letter-spacing:.02em; color:var(--ink); border:1px solid var(--hair); border-radius:100px; padding:10px 18px; transition:color .25s, border-color .25s, gap .25s; display:inline-flex; align-items:center; gap:9px; }
.related a:hover{ color:var(--accent); border-color:var(--accent); }

/* FAQ — same lightweight accordion language as the home page */
.sfaq .list{ grid-column:4/12; }
.sfaq h2.slab{ font-weight:inherit; }
.sfaq details{ border-top:1px solid var(--hair); }
.sfaq details:last-child{ border-bottom:1px solid var(--hair); }
.sfaq summary{ cursor:pointer; list-style:none; padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:clamp(16px,1.6vw,20px); font-weight:500; letter-spacing:-.01em; color:var(--ink); transition:color .25s; }
.sfaq summary::-webkit-details-marker{ display:none; }
.sfaq summary:hover{ color:var(--accent); }
.sfaq .ic{ flex-shrink:0; width:18px; height:18px; position:relative; }
.sfaq .ic::before,.sfaq .ic::after{ content:""; position:absolute; background:var(--soft); transition:transform .3s, background .25s; }
.sfaq .ic::before{ top:8px; left:0; width:18px; height:1.5px; }
.sfaq .ic::after{ left:8px; top:0; width:1.5px; height:18px; }
.sfaq details[open] summary{ color:var(--accent); }
.sfaq details[open] .ic::before{ background:var(--accent); }
.sfaq details[open] .ic::after{ transform:scaleY(0); }
.sfaq .ans{ padding:0 0 26px; max-width:64ch; }
.sfaq .ans p{ font-size:15px; line-height:1.7; color:var(--soft); text-wrap:pretty; }

.scta{ padding:16vh 0 12vh; border-top:1px solid var(--hair); }
.scta .swrap{ display:grid; grid-template-columns:repeat(12,1fr); gap:24px; align-items:end; }
.scta .pre{ grid-column:1/13; font-size:13px; letter-spacing:.04em; color:var(--soft); margin-bottom:22px; }
.scta .big{ grid-column:1/11; text-decoration:none; color:var(--ink); font-weight:800; font-size:clamp(38px,8vw,104px); line-height:.86; letter-spacing:-.045em; display:inline-block; }
.scta .big em{ font-style:italic; font-weight:300; color:var(--accent); }

@media (max-width:860px){
  .slab,.sbody,.steps,.delv,.related,.sfaq .list{ grid-column:1/13 !important; }
  .slab{ margin-bottom:14px; }
  .scta .big{ grid-column:1/13; }
}
