/* ===== Inner-page styles (services / guides / blog) — layers on top of site.css ===== */
.ip-hero{padding:128px 0 52px;background:var(--surface);border-bottom:1px solid var(--line-soft)}
.ip-hero .wrap{max-width:880px}
.breadcrumb{font-family:var(--display);font-size:13px;font-weight:600;color:var(--grey);margin-bottom:18px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.breadcrumb a{color:var(--grey)}
.breadcrumb a:hover{color:var(--blue)}
.breadcrumb .sep{color:var(--line)}
.ip-hero h1{font-size:clamp(31px,5vw,47px);margin:10px 0 16px}
.ip-hero .sub{font-size:19px;line-height:1.55;color:var(--ink-2);max-width:700px}
.ip-meta{margin-top:18px;font-size:13.5px;color:var(--grey);font-family:var(--display);font-weight:500}
.ip-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.ip-body{padding:54px 0 64px}
.ip-body .wrap{max-width:820px}

.answer-block{background:var(--blue-soft);border-left:4px solid var(--blue);border-radius:0 16px 16px 0;padding:22px 26px;margin:0 0 30px;font-size:18px;line-height:1.62;color:var(--ink)}
.answer-block b,.answer-block strong{color:var(--blue-dark)}

.toc{background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:22px 26px;margin:0 0 36px}
.toc h4{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--grey);margin-bottom:14px;font-family:var(--display)}
.toc ol{list-style:decimal;margin:0;padding:0 0 0 4px;columns:2;column-gap:30px}
.toc li{margin:0 0 9px 18px}
.toc a{color:var(--ink-2);font-size:15px;font-family:var(--display);font-weight:500}
.toc a:hover{color:var(--blue)}

.prose h2{font-size:clamp(24px,3.6vw,33px);margin:50px 0 16px;scroll-margin-top:88px}
.prose h3{font-size:20px;margin:32px 0 10px}
.prose p{margin:0 0 18px;color:var(--ink-2);font-size:17px;line-height:1.7}
.prose>ul,.prose>ol{margin:0 0 22px;padding:0;list-style:none}
.prose ul li{position:relative;padding:0 0 0 30px;margin:0 0 13px;color:var(--ink-2);font-size:17px;line-height:1.6}
.prose ul li::before{content:'';position:absolute;left:0;top:4px;width:18px;height:18px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%232BC579" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') no-repeat center/contain}
.prose ol{counter-reset:n}
.prose ol li{position:relative;padding:2px 0 0 42px;margin:0 0 18px;counter-increment:n;color:var(--ink-2);font-size:17px;line-height:1.6}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--display);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.prose ol li b,.prose ol li strong{color:var(--ink)}
.prose a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--blue-soft);font-weight:500}
.prose a:hover{text-decoration-color:var(--blue)}
.prose strong{color:var(--ink)}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:18px;margin:26px 0 12px}
.icard{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.icard .ic{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.icard .ic svg{width:22px;height:22px}
.icard h3{font-size:16.5px;margin:0 0 6px}
.icard p{font-size:14.5px;color:var(--grey);margin:0;line-height:1.55}

.callout{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:18px;padding:26px 28px;margin:26px 0;box-shadow:var(--shadow-sm)}
.callout h3{margin:0 0 8px;font-size:18px}
.callout p:last-child{margin-bottom:0}

.ip-cta{background:var(--surface-2);border:1px solid var(--line);border-radius:28px;padding:clamp(34px,5vw,52px);text-align:center;color:#fff;margin:44px 0 8px}
.ip-cta .eyebrow{color:var(--g-blue);margin-bottom:10px}
.ip-cta h2{color:#fff;font-size:clamp(24px,3.6vw,33px);margin:0 0 12px}
.ip-cta p{color:rgba(255,255,255,.82);max-width:560px;margin:0 auto 26px;font-size:17px;line-height:1.6}
.ip-cta .ip-actions{justify-content:center}

.related{border-top:1px solid var(--line-soft);margin-top:48px;padding-top:30px}
.related h4{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--grey);margin-bottom:14px;font-family:var(--display)}
.related a{display:inline-flex;align-items:center;gap:6px;color:var(--blue-dark);font-family:var(--display);font-weight:600;font-size:15px;margin-right:24px}

/* ===== 2026-07-04: lead form, sticky mobile call bar, nav phone ===== */
.nav-phone{font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--ink-2);margin-right:14px;white-space:nowrap}
.nav-phone:hover{color:var(--blue)}
@media(max-width:1080px){.nav-phone{display:none}}
.lead-form-wrap{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius,20px);padding:36px 32px;margin:40px auto 8px;max-width:720px;box-shadow:0 0 60px rgba(43,197,121,.08)}
.lead-form-wrap h2{font-family:var(--display);font-size:clamp(24px,3.4vw,32px);margin-bottom:10px}
.lead-form-wrap>p{color:var(--grey);font-size:15.5px;margin-bottom:22px;line-height:1.6}
.lead-form label{display:block;font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:14px}
.lead-form input:not([type=checkbox]),.lead-form textarea{display:block;width:100%;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink);font-size:15px;font-family:var(--body);transition:border-color .15s}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--blue)}
.lead-form ::placeholder{color:var(--grey-2)}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:640px){.lf-row{grid-template-columns:1fr}}
.lead-form button.btn{width:100%;margin-top:4px}
.lf-note{color:var(--grey);font-size:13.5px;margin-top:14px;text-align:center}
.lf-note a{color:var(--blue)}
.mcall{display:none}
@media(max-width:820px){
  .mcall{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(10,15,22,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mcall .btn{flex:1;text-align:center;justify-content:center}
  body{padding-bottom:76px}
}
