/* ===== Shared header: services mega menu + mobile nav ===== */
.nav{gap:20px}
.lsc-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}
.lsc-menu>li{position:relative}
.lsc-menu>li>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-family:var(--body);font-weight:600;font-size:.98rem;color:var(--text);padding:24px 0}
.lsc-menu>li>a:hover,.lsc-menu>li>a.active{color:var(--crim)}
.lsc-menu>li>a svg{width:16px;height:16px;transition:transform .25s}
.has-mm:hover>a svg,.has-mm:focus-within>a svg{transform:rotate(180deg)}
.mm{position:absolute;left:50%;top:100%;transform:translate(-50%,10px);width:min(880px,92vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 60px -24px rgba(20,33,61,.35);padding:26px 28px 18px;opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:60}
.has-mm:hover .mm,.has-mm:focus-within .mm{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mm:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mm-in{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.mm-h{margin:0 0 10px;font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mm ul{list-style:none;margin:0;padding:0}
.mm li a{display:block;padding:6px 0;font-family:var(--body);font-size:.93rem;line-height:1.35;color:var(--text);text-decoration:none;transition:color .2s,transform .2s}
.mm li a:hover,.mm li a[aria-current]{color:var(--crim);transform:translateX(3px)}
.mm-all{display:block;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--body);font-weight:700;font-size:.92rem;color:var(--navy);text-decoration:none}
.mm-all:hover{color:var(--crim)}
.nav-r{display:flex;align-items:center;gap:10px}
.mnav-btn{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.mnav-btn span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:transform .25s,opacity .25s}
.mnav-open .mnav-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mnav-open .mnav-btn span:nth-child(2){opacity:0}
.mnav-open .mnav-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .nav ul.lsc-menu{display:none}
  .mnav-btn{display:flex}
  .nav-r .btn{padding:9px 14px;font-size:.85rem}
  .mnav-open .nav ul.lsc-menu{display:flex;position:fixed;left:0;right:0;top:var(--mnav-top,110px);bottom:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:12px 20px 40px;overflow-y:auto;z-index:70;border-top:1px solid var(--line)}
  .mnav-open .lsc-menu>li>a{padding:14px 2px;font-size:1.05rem;border-bottom:1px solid var(--line);justify-content:space-between}
  .mnav-open .mm{position:static;transform:none;opacity:1;visibility:visible;width:auto;box-shadow:none;border:0;padding:6px 0 0;display:none}
  .mnav-open .has-mm.open .mm{display:block}
  .mnav-open .has-mm.open>a svg{transform:rotate(180deg)}
  .mnav-open .mm-in{grid-template-columns:1fr;gap:14px}
  .mnav-open .mm li a{padding:9px 0}
  body.mnav-open{overflow:hidden}
}
@media(max-width:520px){.brand{font-size:1rem}.nav-r .btn{display:none}}

/* ===== Service pages ===== */
.sv-page{background:#fff}
.sv-narrow{max-width:960px}
.sv-hero{position:relative;overflow:hidden;isolation:isolate;color:#e9ecf5;background:linear-gradient(160deg,#0a1226 0%,#101d3c 52%,#1a1530 100%);padding:34px 0 76px}
.sv-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#b08d3c,transparent)}
.sv-hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.sv-hero-bg span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.sv-hero-bg .b1{width:480px;height:480px;right:-140px;top:-160px;background:radial-gradient(circle,#9b1c31,transparent 65%);animation:svDrift 20s ease-in-out infinite alternate}
.sv-hero-bg .b2{width:420px;height:420px;left:-160px;bottom:-200px;background:radial-gradient(circle,#2d4a8f,transparent 65%);animation:svDrift 24s ease-in-out infinite alternate-reverse}
@keyframes svDrift{to{transform:translate(-50px,40px) scale(1.1)}}
.sv-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--body);font-size:.9rem;color:#9aa4ba;margin-bottom:46px}
.sv-crumb a{color:#cfd6e6;text-decoration:none}
.sv-crumb a:hover{color:#f3dc9a}
.sv-crumb .sep{opacity:.5}
.sv-crumb [aria-current]{color:#f3dc9a}
.sv-eyebrow{display:inline-block;font-family:var(--body);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f3dc9a;margin-bottom:14px}
.sv-eyebrow.dk{color:var(--gold)}
.sv-hero h1{font-family:var(--serif);color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.14;margin:0 0 22px;max-width:900px;letter-spacing:-.01em}
.sv-lead{max-width:760px}
.sv-lead p{font-family:var(--body);font-size:1.13rem;line-height:1.8;color:#c3cadb;margin:0 0 14px}
.sv-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.sv-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:12px;font-family:var(--body);font-weight:700;font-size:1rem;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;position:relative;overflow:hidden}
.sv-btn svg{width:18px;height:18px;flex:none;transition:transform .25s}
.sv-primary{background:linear-gradient(135deg,#b3223c,#86152a);color:#fff;box-shadow:0 10px 26px -10px rgba(179,34,60,.75)}
.sv-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(179,34,60,.85)}
.sv-primary:hover svg{transform:translateX(3px)}
.sv-ghost{color:#fff;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
.sv-ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(243,220,154,.6)}
.sv-sec .sv-ghost,.hb-card .sv-ghost{color:var(--navy);border-color:var(--line);background:#fff}
.sv-sec .sv-ghost:hover{border-color:var(--gold)}
.sv-btn.sm{padding:11px 18px;font-size:.95rem}
.sv-trust{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:26px 0 0;padding:0;font-family:var(--body);font-size:.93rem;color:#dfe3ee}
.sv-trust li{display:flex;align-items:center;gap:8px}
.sv-trust svg{width:18px;height:18px;color:#f3dc9a;background:rgba(243,220,154,.12);border-radius:50%;padding:2px;flex:none}

/* on-page jump bar */
.sv-jump{position:sticky;top:72px;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.sv-jump .wrap{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.sv-jump .wrap::-webkit-scrollbar{display:none}
.sv-jump span{font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);white-space:nowrap;margin-right:8px}
.sv-jump a{white-space:nowrap;font-family:var(--body);font-weight:600;font-size:.9rem;color:var(--text);text-decoration:none;padding:7px 14px;border-radius:999px;border:1px solid var(--line);transition:.2s}
.sv-jump a:hover{border-color:var(--gold);color:var(--navy)}
.sv-jump a.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* sections */
.sv-sec{padding:84px 0;scroll-margin-top:120px}
.sv-sec.alt{background:linear-gradient(180deg,#fbfaf6,#f6f3ec)}
.sv-head{margin-bottom:28px}
.sv-head.center{text-align:center}
.sv-sec h2{font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.2;color:var(--navy);margin:0;padding-bottom:16px;position:relative}
.sv-head h2:after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--crim))}
.sv-head.center h2:after{left:50%;margin-left:-32px}
.sv-h2sm{font-size:clamp(1.4rem,2.4vw,1.8rem)!important}
.sv-sec p{font-family:var(--body);font-size:1.08rem;line-height:1.85;color:#3e434d;max-width:76ch;margin:0 0 16px}
.sv-sec h3{font-family:var(--serif);color:var(--navy);font-size:1.18rem;line-height:1.35;margin:26px 0 10px}
.sv-sec a:not(.sv-btn):not(.sv-more){color:var(--crim);text-decoration:underline;text-decoration-color:rgba(155,28,49,.35);text-underline-offset:3px}
.sv-sec a:not(.sv-btn):not(.sv-more):hover{text-decoration-color:var(--crim)}
.sv-list{list-style:none;margin:6px 0 18px;padding:0}
.sv-list li{position:relative;padding-left:28px;margin:0 0 10px;font-family:var(--body);font-size:1.04rem;line-height:1.7;color:#3e434d}
.sv-list li:before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--crim))}
.sv-list.sm li{font-size:.98rem;margin-bottom:7px;padding-left:24px}
.sv-list.sm li:before{width:7px;height:7px;top:.68em}
.sv-ol{counter-reset:svo;list-style:none;margin:10px 0 20px;padding:0;max-width:76ch}
.sv-ol li{counter-increment:svo;position:relative;padding:14px 18px 14px 62px;margin-bottom:10px;background:#fff;border:1px solid var(--line);border-radius:12px;font-family:var(--body);font-size:1.03rem;line-height:1.65;color:#3e434d}
.sv-ol li:before{content:counter(svo);position:absolute;left:16px;top:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#f3dc9a;font-family:var(--serif);font-weight:700;font-size:.95rem;font-variant-numeric:lining-nums}
.sv-note{font-style:italic;color:var(--soft)!important}
.sv-disc{font-size:.9rem!important;line-height:1.7!important;color:#6b7180!important;font-style:italic;max-width:none!important;margin-top:22px!important}
.sv-safety{background:#fff7ed;border:1px solid #f2d9b8;border-left:4px solid #c2410c;border-radius:12px;padding:16px 20px;font-size:1rem!important;margin-top:22px!important;max-width:none!important}
.sv-sec.alt .sv-safety{background:#fff}

/* situation cards */
.sv-sits{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0 10px}
.sv-sit{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative}
.sv-sit:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(var(--gold),var(--crim))}
.sv-sit:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(20,33,61,.4);border-color:#e3d6b4}
.sv-sit h3{margin:0 0 6px!important;font-size:1.06rem!important}
.sv-sit p{margin:0!important;font-size:1rem!important;line-height:1.7!important}

/* tables */
.sv-table-wrap{margin:22px 0 10px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(20,33,61,.04)}
.sv-table{width:100%;border-collapse:collapse;font-family:var(--body)}
.sv-table thead th{background:var(--navy);color:#f3dc9a;text-align:left;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:15px 18px}
.sv-table td,.sv-table tbody th{padding:15px 18px;border-top:1px solid var(--line);font-size:1rem;line-height:1.6;color:#3e434d;vertical-align:top;text-align:left}
.sv-table tbody th{font-weight:700;color:var(--navy)}
.sv-table tbody tr:nth-child(even){background:#fbfaf6}
.sv-table tbody tr:hover{background:#f6f1e4}
.sv-table td:last-child{font-weight:600;color:var(--navy)}
@media(max-width:720px){
  .sv-table thead{display:none}
  .sv-table,.sv-table tbody,.sv-table tr,.sv-table td,.sv-table tbody th{display:block;width:100%}
  .sv-table tr{padding:14px 16px;border-top:1px solid var(--line)}
  .sv-table tbody tr:first-child{border-top:0}
  .sv-table td,.sv-table tbody th{border:0;padding:4px 0}
  .sv-table td:before,.sv-table tbody th:before{content:attr(data-label);display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:2px}
  .sv-table td[data-label=""]:before{display:none}
}

/* flowcharts */
.sv-flowsec.problem{--acc:#b08d3c;--acc2:#e7cf8a;--tint:#fbf6e9;background:linear-gradient(180deg,#fff,#fbfaf6)}
.sv-flowsec.solution{--acc:#b3223c;--acc2:#f0a6b3;--tint:#fcf0f2;background:linear-gradient(180deg,#fdf8f9,#fff)}
.sv-flowhead{margin-bottom:22px}
.sv-flowtag{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-family:var(--body);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.sv-flowtag svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--tint);border:1px solid var(--acc);color:var(--acc)}
.sv-flowhead h2:after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;border-radius:3px;background:var(--acc)}
.sv-flow{list-style:none;margin:34px 0 0;padding:0 0 0 64px;position:relative}
.sv-flow:before{content:"";position:absolute;left:21px;top:22px;bottom:30px;width:2px;background:linear-gradient(var(--acc),var(--acc2));transform-origin:top;transform:scaleY(var(--flowp,0));transition:transform .2s linear}
.sv-flow:after{content:"";position:absolute;left:21px;top:22px;bottom:30px;width:2px;background:var(--line);z-index:-1}
.sv-flowsec{position:relative;isolation:isolate}
.sv-flow>li{position:relative;margin:0 0 26px}
.sv-flow>li:last-child{margin-bottom:0}
.sv-flow>li:not(:last-child):after{content:"";position:absolute;left:-49px;bottom:-21px;width:12px;height:12px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(45deg);opacity:.75;background:transparent}
.sv-dot{position:absolute;left:-64px;top:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--acc);color:var(--navy);font-family:var(--serif);font-weight:700;font-size:1.05rem;font-variant-numeric:lining-nums;box-shadow:0 0 0 6px #fff;transition:background .4s,color .4s,transform .4s}
.sv-flow>li.lit .sv-dot{background:var(--acc);color:#fff;transform:scale(1.05)}
.sv-dot.fork{font-size:1.1rem}
.sv-box,.sv-forkin{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 26px 18px;box-shadow:0 1px 2px rgba(20,33,61,.04);transition:transform .3s,box-shadow .3s,border-color .3s}
.sv-box:hover{transform:translateX(4px);box-shadow:0 16px 34px -22px rgba(20,33,61,.45)}
.sv-step.hl .sv-box{background:var(--tint);border-color:var(--acc);box-shadow:0 18px 40px -26px var(--acc)}
.sv-step.hl .sv-dot{background:var(--acc);color:#fff}
.sv-step.hl .sv-steplabel:after{content:"Key step";margin-left:10px;padding:2px 9px;border-radius:999px;background:var(--acc);color:#fff;font-size:.66rem;letter-spacing:.12em}
.sv-steplabel{display:flex;align-items:center;margin:0 0 4px!important;font-family:var(--body);font-size:.72rem!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)!important}
.sv-box h3,.sv-forkin h3{margin:0 0 10px!important;font-size:1.22rem!important}
.sv-box p,.sv-forkin p{font-size:1.02rem!important;line-height:1.75!important;margin:0 0 10px!important}
.sv-quote{font-style:italic;color:var(--navy)!important;border-left:3px solid var(--acc);padding:4px 0 4px 14px;background:linear-gradient(90deg,var(--tint),transparent)}
.sv-quote em{font-style:italic}
.sv-forkin{background:linear-gradient(135deg,#14213d,#1f3260);border-color:#14213d;color:#dfe4ef}
.sv-forkin .sv-steplabel{color:#f3dc9a!important}
.sv-forkin h3{color:#fff!important}
.sv-forkin>p{color:#cfd6e6!important}
.sv-fork .sv-dot{background:var(--navy);color:#f3dc9a;border-color:var(--navy)}
.sv-branch,.sv-outs{display:grid;gap:14px;margin-top:14px}
.sv-branch.n2,.sv-outs.n2{grid-template-columns:repeat(2,1fr)}
.sv-branch.n3,.sv-outs.n3{grid-template-columns:repeat(3,1fr)}
.sv-bcol,.sv-ocard{background:rgba(255,255,255,.06);border:1px solid rgba(243,220,154,.22);border-radius:12px;padding:16px 18px}
.sv-bcol h4,.sv-ocard h4{margin:0 0 10px;font-family:var(--serif);font-size:1.05rem;color:#f3dc9a}
.sv-bcol ul{list-style:none;margin:0;padding:0}
.sv-bcol li{position:relative;padding-left:18px;margin-bottom:8px;font-family:var(--body);font-size:.96rem;line-height:1.6;color:#dfe4ef}
.sv-bcol li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--acc2)}
.sv-ocard p{color:#dfe4ef!important;font-size:.98rem!important;margin:0!important}
.sv-ocard{position:relative;padding-top:20px}
.sv-ocard:before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--acc2)}
.sv-flownote{margin:16px 0 0!important;font-style:italic;font-size:.96rem!important;color:#b9c2d6!important}

/* in-detail cards */
.sv-dcards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:10px}
.sv-dcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 24px 20px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.sv-dcard:before{content:"";position:absolute;left:0;top:0;height:3px;width:44px;background:linear-gradient(90deg,var(--gold),var(--crim));transition:width .45s}
.sv-dcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(20,33,61,.4);border-color:#e3d6b4}
.sv-dcard:hover:before{width:100%}
.sv-dcard h3{margin:0 0 14px!important}
.sv-dcard p{font-size:1rem!important;line-height:1.75!important}
.sv-pr{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:0 0 12px}
.sv-pr span{font-family:var(--body);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap;margin-top:3px}
.sv-pr.pb span{background:#fbf6e9;color:#8a6a24;border:1px solid #ecdcb0}
.sv-pr.hp span{background:#fcf0f2;color:#9b1c31;border:1px solid #f1c9d0}
.sv-pr p{margin:0!important}
.sv-more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-family:var(--body);font-weight:700;font-size:.95rem;color:var(--crim);text-decoration:none}
.sv-more span{transition:transform .25s}
.sv-more:hover span{transform:translateX(4px)}

/* promise */
.sv-promise{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 8px}
.sv-do,.sv-never{border-radius:18px;padding:26px 26px 18px;border:1px solid var(--line);background:#fff}
.sv-do{border-top:4px solid #2f7d4f}
.sv-never{border-top:4px solid var(--crim)}
.sv-promise h3{display:flex;align-items:center;gap:10px;margin:0 0 16px!important}
.sv-pi{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none}
.sv-pi svg{width:17px;height:17px}
.sv-do .sv-pi{background:#e8f4ec;color:#2f7d4f}
.sv-never .sv-pi{background:#fcecef;color:var(--crim)}
.sv-promise ul{list-style:none;margin:0;padding:0}
.sv-promise li{position:relative;padding:0 0 12px 26px;margin-bottom:12px;border-bottom:1px dashed var(--line);font-family:var(--body);font-size:1rem;line-height:1.6;color:#3e434d}
.sv-promise li:last-child{border-bottom:0;margin-bottom:0}
.sv-do li:before,.sv-never li:before{position:absolute;left:0;top:0;font-weight:700}
.sv-do li:before{content:"\2713";color:#2f7d4f}
.sv-never li:before{content:"\2715";color:var(--crim)}

/* FAQ */
.sv-faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0;transition:border-color .25s,box-shadow .25s}
.sv-faq[open]{border-color:#e3d6b4;box-shadow:0 14px 30px -22px rgba(20,33,61,.4)}
.sv-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-family:var(--serif);font-weight:700;font-size:1.08rem;color:var(--navy)}
.sv-faq summary::-webkit-details-marker{display:none}
.sv-faq summary:after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--crim);font-family:var(--body);font-size:1.2rem;transition:transform .3s,background .3s}
.sv-faq[open] summary:after{content:"\2013";background:var(--navy);color:#fff;border-color:var(--navy)}
.sv-faq-a{padding:0 24px 8px}
.sv-faq-a p{font-size:1.02rem!important}

/* CTA band */
.sv-ctaband{padding:84px 0;background:#fff}
.sv-ctabox{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;padding:52px 48px;background:linear-gradient(150deg,#0a1226,#14213d 55%,#2a1530);color:#dfe4ef;text-align:center}
.sv-ctabox:before{content:"";position:absolute;right:-120px;top:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(176,141,60,.38),transparent 65%);z-index:-1}
.sv-ctabox:after{content:"";position:absolute;left:-120px;bottom:-160px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(155,28,49,.35),transparent 65%);z-index:-1}
.sv-ctabox h2{font-family:var(--serif);color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.2;margin:0 0 16px}
.sv-ctabox p{font-family:var(--body);color:#c9d0de;font-size:1.1rem;line-height:1.8;max-width:640px;margin:0 auto 10px}
.sv-ctabox .sv-cta{justify-content:center}
.sv-ctaband .sv-disc{text-align:center;max-width:820px!important;margin:22px auto 0!important;font-family:var(--body)}

/* people also search for (keyword tags) */
.sv-pasf{padding:20px 0 70px;background:#fff}
.sv-pasf .also-search{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 26px}
.sv-pasf summary h2{font-family:var(--serif);color:var(--navy);margin:0}
.sv-pasf summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.sv-pasf summary::-webkit-details-marker{display:none}
.sv-pasf summary:after{content:"+";color:var(--crim);font-size:1.9rem;line-height:1}
.sv-pasf details[open] summary:after{content:"\2013"}

/* hub */
.hb-index{padding:56px 0 30px;background:linear-gradient(180deg,#fbfaf6,#fff)}
.hb-idx{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hb-idxcol{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 18px}
.hb-idxh{display:block;font-family:var(--serif);font-weight:700;font-size:1.06rem;color:var(--navy)!important;text-decoration:none!important;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.hb-idxcol ul{list-style:none;margin:0;padding:0}
.hb-idxcol li a{display:flex;align-items:baseline;gap:10px;padding:6px 0;font-family:var(--body);font-size:.95rem;line-height:1.35;color:var(--text)!important;text-decoration:none!important;transition:color .2s,transform .2s}
.hb-idxcol li a:hover{color:var(--crim)!important;transform:translateX(3px)}
.hb-idxcol i{font-style:normal;font-family:var(--serif);font-size:.78rem;color:var(--gold);font-variant-numeric:lining-nums}
.hb-group{padding-top:56px}
.hb-group:nth-of-type(odd){background:linear-gradient(180deg,#fbfaf6,#f6f3ec)}
.hb-ghead{margin-bottom:26px}
.hb-gtitle{font-size:clamp(1.8rem,3.4vw,2.5rem)!important}
.hb-gtitle:after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--crim))}
.hb-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.hb-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 28px 24px;display:flex;flex-direction:column;scroll-margin-top:110px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.hb-card:before{content:"";position:absolute;left:0;top:0;height:3px;width:56px;background:linear-gradient(90deg,var(--gold),var(--crim));transition:width .45s}
.hb-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px -26px rgba(20,33,61,.45);border-color:#e3d6b4}
.hb-card:hover:before{width:100%}
.hb-cardhead{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.hb-num{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#14213d,#1f3260);color:#f3dc9a;font-family:var(--serif);font-weight:700;font-variant-numeric:lining-nums}
.hb-card h2{font-size:1.4rem!important;padding:0!important;margin:0!important}
.hb-card h2 a{color:var(--navy)!important;text-decoration:none!important}
.hb-card h2 a:hover{color:var(--crim)!important}
.hb-body p{font-size:1rem!important;line-height:1.75!important}
.hb-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 4px}
.hb-list{background:#fbfaf6;border:1px solid var(--line);border-radius:12px;padding:14px 16px 6px}
.hb-list h3{margin:0 0 10px!important;font-family:var(--body)!important;font-size:.72rem!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important}
.hb-list.inc h3{color:var(--crim)!important}
.hb-good{margin:14px 0 0!important;padding:12px 14px;border-radius:12px;background:#f3f5fa;font-size:.96rem!important;line-height:1.65!important;max-width:none!important}
.hb-good span{display:block;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:3px}
.hb-foot{margin-top:auto;padding-top:18px}

/* reveal */
.sv-rv{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.sv-rv.sv-vis{opacity:1;transform:none}

@media(max-width:1000px){.hb-idx{grid-template-columns:1fr 1fr}.mm-in{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.hb-cards,.sv-dcards{grid-template-columns:1fr}.sv-branch.n3,.sv-outs.n3{grid-template-columns:1fr}}
@media(max-width:720px){
  .sv-hero{padding:22px 0 56px}.sv-crumb{margin-bottom:30px}
  .sv-sec,.sv-ctaband{padding:60px 0}
  .sv-sits,.sv-promise,.hb-lists,.sv-branch.n2,.sv-outs.n2{grid-template-columns:1fr}
  .sv-flow{padding-left:50px}.sv-flow:before,.sv-flow:after{left:16px}
  .sv-dot{left:-50px;width:34px;height:34px;font-size:.9rem;top:16px;box-shadow:0 0 0 4px #fff}
  .sv-flow>li:not(:last-child):after{left:-39px}
  .sv-box,.sv-forkin{padding:18px 18px 12px}
  .sv-ctabox{padding:40px 22px}
  .sv-btn{width:100%;justify-content:center}
  .hb-idx{grid-template-columns:1fr}
  .hb-card{padding:22px 20px 20px}
  .sv-jump{top:72px}
}
@media(prefers-reduced-motion:reduce){.sv-rv{opacity:1;transform:none;transition:none}.sv-hero-bg span{animation:none}.sv-flow:before{transform:none}}
.nav .mm ul{display:block!important;gap:0}
.sv-pr{display:block;margin:0 0 14px}
.sv-pr span{display:inline-block;margin:0 0 6px}
.sv-more{display:inline-block}
.sv-forkin h3::first-letter{text-transform:uppercase}
.sv-flownote{margin-top:20px!important}

@media(max-width:900px){.mnav-open .lsc-menu>li>a{display:flex;width:100%}.mnav-open .has-mm .mm,.mnav-open .has-mm:hover .mm,.mnav-open .has-mm:focus-within .mm{transform:none!important;left:auto;right:auto;width:auto}.mnav-open .mm-all{margin-bottom:10px}.mnav-open .floating{display:none}}

.hb-dual{display:flex;flex-direction:column;gap:2px}
.hb-dual a{display:block}
