/* Doc-Rep service pages. Builds on main.css tokens/components. */
.crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mute);margin-bottom:22px}
.crumb a:hover{color:var(--m)}.crumb i{opacity:.5;font-style:normal}
.shero{position:relative;padding:72px 0 84px;overflow:hidden;background:linear-gradient(180deg,var(--soft) 0%,var(--bg) 100%)}
.shero::before{content:"";position:absolute;right:-8%;top:-30%;width:720px;height:720px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 46px,rgba(131,9,72,.07) 46px 47px);pointer-events:none}
.shero .hg{grid-template-columns:1.1fr .9fr;align-items:start}
.shero h1{font-size:clamp(34px,4vw,52px);line-height:1.1;margin-bottom:20px}
.shero h1 .m{color:var(--m);display:block}
.shero .sub{font-size:17px;max-width:540px;margin-bottom:28px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.chips span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;font-weight:600;font-size:13px;color:var(--ink)}
.chips svg{width:15px;height:15px;color:var(--m)}
.hcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 40px 80px -50px rgba(58,4,33,.4)}
.hcard h2{font-size:21px;margin-bottom:4px}.hcard>p{font-size:14.5px;margin-bottom:20px}
.hcard .fine{font-size:12.5px;color:var(--mute);margin-top:10px;display:flex;gap:6px;align-items:center}.hcard .fine svg{width:14px;height:14px;color:var(--m)}
.hcard .ok{display:none;text-align:center;padding:18px 0}.hcard.sent form{display:none}.hcard.sent .ok{display:block}.hcard .ok b{display:block;font:700 20px var(--h);color:var(--ink);margin-bottom:6px}
/* jump links: a slim dot rail on wide screens, an "On this page" chip on smaller ones (never a bar across the page) */
.snav{position:fixed;z-index:880;left:14px;top:50%;transform:translate(-90px,-50%);opacity:0;pointer-events:none;transition:transform .45s var(--ease,ease),opacity .35s}
.snav.show{transform:translate(0,-50%);opacity:1;pointer-events:auto}
.snav .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 8px;margin:0;width:auto;max-width:none;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:99px;box-shadow:0 18px 40px -22px rgba(58,4,33,.45)}
.snav a.l{position:relative;display:block;width:12px;height:12px;padding:0;border-radius:99px;background:#D3C7CE;font-size:0;line-height:0;transition:background .25s,height .25s}
.snav a.l::before{content:"";position:absolute;inset:-8px -8px -8px -8px}
.snav a.l::after{content:attr(data-l);position:absolute;left:26px;top:50%;transform:translate(-6px,-50%);white-space:nowrap;padding:7px 12px;border-radius:9px;background:var(--ink);color:#fff;font:600 12.5px/1 var(--b);opacity:0;pointer-events:none;transition:.2s}
.snav a.l:hover,.snav a.l:focus-visible{background:var(--m)}
.snav a.l:hover::after,.snav a.l:focus-visible::after{opacity:1;transform:translate(0,-50%)}
.snav a.l.on{background:var(--m);height:26px}
.snav .btn,.snav .snb{display:none}
@media(max-width:1279px){
  .snav{left:12px;right:auto;top:auto;bottom:84px;transform:translateY(20px)}
  .snav.show{transform:none}
  .snav .snb{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 14px 30px -14px rgba(58,4,33,.5);font:700 13px var(--b);color:var(--ink);cursor:pointer}
  .snav .snb svg{width:14px;height:14px;transition:transform .25s}.snav.open .snb svg{transform:rotate(180deg)}
  .snav .wrap{display:none;position:absolute;left:0;bottom:52px;min-width:230px;max-height:60vh;overflow:auto;gap:2px;padding:8px;border-radius:18px;background:#fff}
  .snav.open .wrap{display:flex}
  body.ckb .snav{opacity:0;pointer-events:none}
  .snav a.l{width:auto;height:auto;border-radius:10px;padding:11px 14px;background:none;font:600 14px/1.2 var(--b);color:var(--body);align-self:stretch}
  .snav a.l::before,.snav a.l::after{display:none}
  .snav a.l:hover{background:var(--soft);color:var(--ink)}
  .snav a.l.on{height:auto;background:var(--m-t);color:var(--m)}
}
/* overview cards */
.scards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.sc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:transform .5s var(--ease),box-shadow .5s,border-color .3s}
.sc:hover{transform:translateY(-5px);border-color:var(--m);box-shadow:0 24px 44px -30px rgba(58,4,33,.45)}
.sc .ic{width:42px;height:42px;border-radius:11px;background:var(--m-t);color:var(--m);display:grid;place-items:center;margin-bottom:18px}.sc .ic svg{width:20px;height:20px}
.sc h3{font-size:18px;margin-bottom:8px}.sc p{font-size:14.5px}
.shead{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
.shead .lead{max-width:460px}
/* explorer panel extras (no mock visual on service pages) */
.sp .pn .tag{font:600 clamp(20px,2.2vw,26px)/1.3 var(--h);color:var(--ink);margin-bottom:22px;max-width:520px;letter-spacing:-.015em}
.pn.nov .cl2{grid-template-columns:1fr;gap:12px}
.pn.nov .cl2 li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px;align-items:flex-start}
.pn.nov .cl2 svg{margin-top:5px}
/* benefits + results */
.bn{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.bl{display:grid;gap:12px}
.bl li{display:flex;gap:14px;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;font-weight:600;font-size:15.5px}
.bl svg{flex:none;width:18px;height:18px;color:var(--y);margin-top:3px}
.rs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 14px}
.rs span{padding:8px 14px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:13px}
.note{font-size:13.5px;color:rgba(255,255,255,.7);border-left:3px solid var(--y);padding-left:14px;margin-top:18px}
.dk .bn p{margin-top:16px;max-width:480px}
/* who we work with */
.wwg{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:48px;align-items:start}
.wwg h3{font-size:18px;margin-bottom:18px}
.vt small{display:block;font:500 13px/1.5 var(--b);color:var(--body);margin-top:4px}
.sv.two{grid-template-columns:1fr 1fr}
/* why */
.wy{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.wy .vi{flex-direction:column;gap:14px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}
/* final cta + related */
.fcta{background:var(--m-x);color:rgba(255,255,255,.78);border-radius:24px;padding:64px;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.fcta::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 40px,rgba(255,217,48,.08) 40px 41px)}
.fcta h2{color:#fff;font-size:clamp(26px,3vw,38px);margin-bottom:14px;position:relative}.fcta p{position:relative;max-width:520px}
.fcta .cta{justify-content:flex-end;position:relative}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:36px}
.rel a{display:flex;flex-direction:column;gap:10px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;font:600 15px var(--h);color:var(--ink);transition:.4s var(--ease)}
.rel a:hover{transform:translateY(-4px);border-color:var(--m)}
.rel .ic{width:34px;height:34px;border-radius:9px;background:var(--m-t);color:var(--m);display:grid;place-items:center}.rel .ic svg{width:17px;height:17px}
.rel small{font:500 13px/1.4 var(--b);color:var(--body)}
@media(max-width:980px){
  .shero .hg,.bn,.wwg,.fcta{grid-template-columns:1fr;gap:36px}
  .scards,.wy{grid-template-columns:1fr}.rel{grid-template-columns:1fr 1fr}.fcta{padding:36px 26px}.fcta .cta{justify-content:flex-start}
  .sv.two{grid-template-columns:1fr}
}

.wwg.one{grid-template-columns:minmax(0,760px)}

/* hero form card: top edge lines up with the H1 (offset set by JS, CSS value is the no-JS fallback) */
.shero .hg>.hcard{margin-top:var(--hc-off,77px)}
@media(max-width:980px){.shero .hg>.hcard{margin-top:0}}
