/* HourLLC service pages (Oct 29 2026, staged-20261029-services-public) */
.svc-main{background:#f5f7fb;min-height:60vh;padding:20px 0 48px}
.svc-wrap{max-width:640px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.svc-back{display:inline-block;color:#5b6678;text-decoration:none;font-size:15px;padding:10px 0;min-height:44px;box-sizing:border-box}
.svc-h1{font-size:28px;line-height:1.2;margin:6px 0 8px;letter-spacing:-.01em}
.svc-h2{font-size:19px;margin:22px 0 6px}
.svc-lede,.svc-desc{color:#3d4a5c;font-size:16px;line-height:1.55;margin:8px 0 0}
.svc-price{font-size:26px;font-weight:800;color:#2453ff}.svc-price small{font-size:15px;color:#5b6678;font-weight:600}
.svc-meta{margin:6px 0 0;color:#5b6678;font-size:15px}
.svc-hero{margin:0 0 16px}
.svc-card{background:#fff;border:1px solid #e3e8ef;border-radius:16px;padding:18px 16px 20px;box-shadow:0 1px 2px rgba(12,22,38,.04)}
.svc-f{margin:14px 0 0}
.svc-l{display:block;font-weight:600;font-size:15px;margin:0 0 6px;color:#0c1626}
.svc-req{color:#d33}
.svc-help{display:block;color:#5b6678;font-size:13.5px;margin-top:5px}
.svc-card input:not([type=checkbox]):not([type=file]),.svc-card select,.svc-card textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px;border:1px solid #cfd7e3;border-radius:10px;background:#fff;color:#0c1626;min-height:48px}
.svc-card input[type=file]{width:100%;font-size:15px;min-height:44px}
.svc-card textarea{min-height:110px;resize:vertical}
.svc-fs{border:0;padding:0;margin:0}.svc-opt{display:flex;align-items:center;gap:10px;min-height:44px;font-size:16px}.svc-opt input{width:20px;height:20px}
.svc-sigbox{position:relative}.svc-sig{display:block;width:100%;height:150px;border:1px dashed #9aa8bd;border-radius:10px;background:#fbfcfe;touch-action:none}
.svc-sigclr{position:absolute;right:6px;top:6px;border:1px solid #cfd7e3;background:#fff;border-radius:8px;padding:8px 12px;font:inherit;font-size:14px;min-height:36px}
.svc-rep{border:1px solid #e3e8ef;border-radius:12px;padding:10px 12px 14px;margin:8px 0 0;background:#fbfcfe}
.svc-reph{font-weight:700;font-size:14px;color:#2453ff;display:flex;align-items:center;justify-content:space-between;min-height:32px}
.svc-rm{border:0;background:none;color:#d33;font:inherit;font-size:14px;min-height:40px;padding:0 4px}
.svc-add{width:100%;margin-top:10px;border:1px dashed #9aa8bd;background:#fff;border-radius:10px;min-height:46px;font:inherit;font-size:15px;color:#2453ff;font-weight:600}
.svc-pay{width:100%;margin-top:18px;min-height:54px}
.svc-small,.svc-note{color:#5b6678;font-size:13.5px;text-align:center;margin:10px 0 0}.svc-note{text-align:left;margin-top:18px}
.svc-err{background:#fff1f1;border:1px solid #f3c2c2;color:#a11;border-radius:10px;padding:12px;margin-top:16px;font-size:15px}
.svc-info{background:#eef3ff;border:1px solid #cdd9ff;border-radius:10px;padding:12px;margin-bottom:6px;font-size:15px}
.svc-loading{color:#5b6678}
.svc-list{display:grid;gap:12px;margin-top:18px}
.svc-item{display:block;background:#fff;border:1px solid #e3e8ef;border-radius:14px;padding:16px;text-decoration:none;color:#0c1626}
.svc-item-t{display:block;font-weight:700;font-size:18px}.svc-item-d{display:block;color:#3d4a5c;font-size:15px;margin-top:4px;line-height:1.45}.svc-item-p{display:block;color:#2453ff;font-weight:700;margin-top:8px}
.svc-na{text-align:center;margin-top:24px}.svc-na h1{font-size:22px}
.svc-thanks{text-align:center;padding:10px 0}.svc-check{width:56px;height:56px;border-radius:50%;background:#e7f7ee;color:#1a8a4a;font-size:30px;line-height:56px;margin:0 auto 6px}
@media (min-width:720px){.svc-h1{font-size:34px}.svc-card{padding:26px 28px}}
.svc-price.svc-quote{font-size:22px}
.svc-from{color:#5b6678;font-size:14px;margin:6px 0 0}

/* Oct 29 2026 promos2: promo code on service orders */
.svc-promo{margin:4px 0 12px}
.svc-promo-open{background:none;border:0;padding:4px 0;color:#2453ff;font-weight:600;font-size:15px;cursor:pointer}
.svc-promo-row{display:flex;gap:8px;margin-top:6px}
.svc-promo-row .svc-in{flex:1;min-width:0;height:46px;border:1px solid #d5dce7;border-radius:12px;padding:0 14px;font-size:16px;text-transform:uppercase}
.svc-promo-msg{margin-top:8px;font-size:14px;color:#067a53}
.svc-promo-msg.bad{color:#b42318}
.svc-promo-rm{background:none;border:0;color:#2453ff;font-weight:600;cursor:pointer;padding:0 0 0 6px}

/* Nov 1 2026 public services redesign (staged-20261101-public-services): card grid with icons, clear price, Order button */
.svc-main:has(.sv-hero){padding-top:0}
.sv-wrap{max-width:1120px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.sv-hero{background:linear-gradient(180deg,#eaf0ff 0%,#f5f7fb 100%);border-bottom:1px solid #e3e8ef;padding:28px 0 22px}
.sv-kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1a3fd6;background:#fff;border:1px solid #cdd9ff;border-radius:999px;padding:5px 11px;margin:0 0 12px}
.sv-h1{font-size:28px;line-height:1.15;letter-spacing:-.02em;margin:0 0 10px;color:#0c1626;overflow-wrap:anywhere}
.sv-lede{font-size:16.5px;line-height:1.5;color:#334155;margin:0;max-width:640px}
.sv-signin{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center;margin:16px 0 0;padding:12px 14px;background:#fff;border:1px solid #e3e8ef;border-radius:14px;text-decoration:none;color:#334155;font-size:15px;min-height:48px;box-sizing:border-box;max-width:640px}
.sv-signin b{color:#2453ff}
.sv-jump{display:flex;gap:8px;overflow-x:auto;margin:16px -16px 0;padding:0 16px 4px;scrollbar-width:none}.sv-jump::-webkit-scrollbar{display:none}
.sv-jump a{flex:none;font-size:14px;font-weight:600;color:#0c1626;text-decoration:none;background:#fff;border:1px solid #cfd7e3;border-radius:999px;padding:9px 14px;min-height:40px;box-sizing:border-box;display:inline-flex;align-items:center}
.sv-sec{padding:26px 0 6px;scroll-margin-top:72px}
.sv-h2{font-size:21px;letter-spacing:-.01em;margin:0 0 4px;color:#0c1626}
.sv-sub{color:#5b6678;font-size:15px;line-height:1.5;margin:0 0 14px}
.sv-grid{display:grid;grid-template-columns:1fr;gap:12px}
.sv-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;background:#fff;border:1px solid #e3e8ef;border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(12,22,38,.05);transition:box-shadow .15s,border-color .15s}
.sv-card:hover{box-shadow:0 1px 2px rgba(12,22,38,.06),0 8px 24px rgba(12,22,38,.08);border-color:#cfd7e3}
.sv-ic{width:44px;height:44px;border-radius:12px;background:#eaf0ff;color:#2453ff;display:flex;align-items:center;justify-content:center;flex:none}
.sv-ic svg{width:24px;height:24px}
.sv-body{min-width:0}
.sv-t{font-size:17px;line-height:1.3;margin:2px 0 4px;overflow-wrap:anywhere}.sv-t a{color:#0c1626;text-decoration:none}
.sv-t a::after{content:"";position:absolute;inset:0;border-radius:16px}
.sv-d{color:#3d4a5c;font-size:14.5px;line-height:1.5;margin:0}
.sv-eta{display:flex;align-items:center;gap:6px;color:#5b6678;font-size:13.5px;margin:8px 0 0}.sv-eta svg{width:15px;height:15px;flex:none}
.sv-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #eef1f6}
.sv-p{margin:0;min-width:0;display:flex;flex-direction:column;line-height:1.15}
.sv-pre{font-size:12px;font-weight:600;color:#5b6678;text-transform:uppercase;letter-spacing:.04em}
.sv-amt{font-size:22px;font-weight:800;color:#0c1626;letter-spacing:-.01em}.sv-amt-q{font-size:17px}
.sv-pn{font-size:12.5px;color:#5b6678;margin-top:3px}
.sv-go{position:relative;z-index:1;flex:none;min-height:46px;min-width:104px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:15.5px}
.sv-help{padding:22px 0 8px}
.sv-helpbox{display:flex;flex-direction:column;gap:14px;background:#0c1626;color:#fff;border-radius:18px;padding:20px}
.sv-helpbox h2{font-size:19px;margin:0 0 4px;color:#fff}.sv-helpbox p{margin:0;color:#c9d3e3;font-size:15px;line-height:1.5}
.sv-helpbox .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.sv-dhero{display:flex;gap:14px;align-items:flex-start;margin:4px 0 10px}
.sv-dhero .sv-ic{width:52px;height:52px;border-radius:14px}.sv-dhero .sv-ic svg{width:28px;height:28px}
.sv-dhero > div{min-width:0}
.sv-h1-d{font-size:24px;margin:0 0 6px}
.sv-dhero .svc-h1{margin:0 0 6px;font-size:24px}
.sv-dprice{font-size:24px;font-weight:800;color:#2453ff;margin:0}.sv-dprice small{font-size:14px;color:#5b6678;font-weight:600}
.sv-cust{font-size:14.5px;color:#5b6678;background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:10px 12px;margin:14px 0}
.sv-cust a{color:#2453ff;font-weight:600}
.sv-detail .svc-desc{margin-bottom:4px}
.co-h{font-size:17px;margin:20px 0 2px;color:#0c1626}.co-h:first-child{margin-top:0}
.co-fixed{font-size:16px;padding:12px;border:1px solid #e3e8ef;border-radius:10px;background:#f5f7fb;color:#0c1626;min-height:48px;box-sizing:border-box}
.co-sum{margin-top:18px}
.co-hint{margin:0;color:#5b6678;font-size:14.5px;background:#f5f7fb;border-radius:10px;padding:12px}.co-bad{color:#a11;background:#fff1f1}
.co-lines{border:1px solid #e3e8ef;border-radius:12px;padding:10px 12px;background:#fbfcfe;font-size:14.5px}
.co-lines div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:#334155}.co-lines span:first-child{min-width:0;overflow-wrap:anywhere}.co-lines span:last-child{white-space:nowrap}
.co-lines .co-tot{border-top:1px solid #e3e8ef;margin-top:4px;padding-top:9px;font-weight:800;color:#0c1626;font-size:16.5px}
@media (min-width:640px){.sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-card{display:flex;flex-direction:column}.sv-card .sv-ic{margin-bottom:8px}.sv-foot{margin-top:auto}.sv-body{flex:1;margin-bottom:12px}
  .sv-h1{font-size:38px}.sv-hero{padding:44px 0 32px}.sv-helpbox{flex-direction:row;align-items:center;justify-content:space-between;padding:26px 28px}.sv-wrap{padding:0 28px}.sv-jump{margin:18px 0 0;padding:0}}
@media (min-width:1000px){.sv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:370px){.sv-card{grid-template-columns:40px minmax(0,1fr);padding:14px;gap:4px 12px}.sv-ic{width:40px;height:40px}.sv-amt{font-size:20px}.sv-go{min-width:92px;padding:0 14px}.sv-h1{font-size:26px}}

/* Nov 1 2026 Request a quote (no price line on the card; sheet form on /services; inline form on an unpriced service's page) */
.sv-card-q .sv-foot{justify-content:stretch}
.sv-go-q{width:100%;min-height:48px;box-sizing:border-box}
.sv-opt{font-weight:400;color:#5b6678}
.sv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.sv-qlede{color:#5b6678;font-size:15px;margin:2px 0 12px}
.sv-qf textarea{width:100%;box-sizing:border-box;min-height:96px}
.sv-qf .sv-qsend{width:100%;min-height:50px;margin-top:6px}
.sv-qdone{text-align:center;padding:8px 0}.sv-qdone h2{font-size:20px;margin:6px 0 8px}.sv-qdone p{color:#3d4a5c;margin:0;font-size:15px;line-height:1.5}
.co-q{display:flex;flex-direction:column;gap:10px}.co-q p{margin:0}
html.sv-noscroll,html.sv-noscroll body{overflow:hidden}
.sv-qm{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.sv-qm-bg{position:absolute;inset:0;background:rgba(12,22,38,.55)}
.sv-qm-card{position:relative;background:#fff;width:100%;max-width:520px;max-height:92vh;max-height:92dvh;overflow-y:auto;border-radius:18px 18px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;box-shadow:0 -8px 30px rgba(12,22,38,.25)}
.sv-qm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.sv-qm-top > div{min-width:0}
.sv-qm-k{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a3fd6}
.sv-qm-h{margin:2px 0 0;font-size:19px;line-height:1.25;color:#0c1626;overflow-wrap:anywhere}
.sv-qm-x{flex:none;width:44px;height:44px;border:0;border-radius:12px;background:#f1f4f9;color:#0c1626;font-size:26px;line-height:1;cursor:pointer}
.sv-qm-card .svc-f input,.sv-qm-card .svc-f textarea{width:100%;box-sizing:border-box}
@media (min-width:640px){.sv-qm{align-items:center}.sv-qm-card{border-radius:18px;padding:22px 24px}}
.sv-qm-card input:not([type=checkbox]),.sv-qm-card textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px;border:1px solid #cfd7e3;border-radius:10px;background:#fff;color:#0c1626;min-height:48px}
.sv-qm-card textarea{min-height:96px;resize:vertical}
