/* iconpractice marketing site — shared base styles.
   Everything else is inline on the elements so sections can be lifted
   into components one-for-one. Hover states live here because inline
   styles can't express them. */
*{box-sizing:border-box}
body{margin:0;background:#f1f5f9}
a{color:#0c4a6e;text-decoration:none}
a:hover{color:#075985}
img{max-width:100%}
input[type=range]{accent-color:#0284c7;width:100%}

.ip-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid #e8eef4}
.ip-header__bar{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 56px}
.ip-header__logo{height:32px;width:auto;display:block}
.ip-nav{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500;color:#334155}
.ip-nav a{color:#334155}
.ip-nav a:hover{color:#0c4a6e}
.ip-nav__login{color:#0c4a6e !important;font-weight:600}
.ip-nav__cta{background:#e0702f;color:#fff !important;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px}
.ip-nav__cta:hover{background:#c05a20;color:#fff !important}
.ip-burger{display:none;width:44px;height:44px;margin-right:-10px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.ip-burger span{position:absolute;left:11px;width:22px;height:2px;border-radius:2px;background:#0c4a6e;transition:transform .18s ease-out,opacity .12s linear}
.ip-burger span:nth-child(1){top:15px}
.ip-burger span:nth-child(2){top:21px}
.ip-burger span:nth-child(3){top:27px}
.ip-burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.ip-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ip-burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
.ip-panel{display:none}
.ip-panel__inner{min-height:370px;display:flex;flex-direction:column;justify-content:space-between;padding:8px 0 28px;background:#fff}
.ip-panel__links{display:flex;flex-direction:column}
.ip-panel__links a{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;font-size:18px;font-weight:600;color:#0f172a;border-bottom:1px solid #f1f5f9}
.ip-panel__links a:active{background:#f8fafc}
.ip-panel__foot{padding:24px 24px 0;display:flex;flex-direction:column;gap:12px}
.ip-panel__cta{background:#e0702f;color:#fff !important;text-align:center;padding:15px;border-radius:8px;font-weight:600;font-size:16px}
.ip-panel__login{text-align:center;padding:15px;border-radius:8px;font-weight:600;font-size:16px;color:#0c4a6e;border:1px solid #cbd8e4}
body.ip-lock{overflow:hidden}

.hv1:hover{background:#c05a20 !important;color:#fff !important}
.hv2:hover{border-color:#94a3b8 !important;color:#0f172a !important}
.hv3:hover{background:#075985 !important;color:#fff !important}
.hv4:hover{color:#9a3412 !important}
.hv5:hover{color:#fff !important}
.hv6:hover{color:#0c4a6e !important}
.hv7:hover{color:#075985 !important}

/* Number inputs in the TCL calculator */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
input:focus{outline:2px solid #7dd3fc;outline-offset:0}

/* Sidebar collapses below the article on narrow screens */
@media (max-width: 1000px){
  [style*="344px"]{grid-template-columns:1fr !important}
  aside [style*="position:sticky"]{position:static !important}
}
/* The calculator table is wide by nature — let it scroll rather than squash */
@media (max-width: 900px){
  .ip-header__bar{padding:0 18px;height:60px}
  .ip-header__logo{height:26px}
  .ip-nav{display:none}
  .ip-burger{display:block}
  .ip-panel{display:block;max-height:0;overflow:hidden;transition:max-height .18s ease-out}
  .ip-header--open .ip-panel{max-height:80vh;overflow-y:auto;border-top:1px solid #e8eef4}
  table{min-width:680px}
  [style*="overflow:hidden"] > table{min-width:0}
}

/* Estimator segmented control */
.est-seg{flex:1;text-align:center;padding:10px 6px;border-radius:9px;font:600 12.5px 'Public Sans';cursor:pointer;user-select:none;border:1px solid #d8e2ea;background:#fff;color:#52677a}
.est-seg[aria-pressed="true"]{border-color:#0c4a6e;background:#0c4a6e;color:#fff}

/* Markdown-rendered blog post content */
.blog-content > *:first-child{margin-top:0}
.blog-content > *:last-child{margin-bottom:0}
.blog-content p{font-size:17.5px;line-height:1.75;color:#334155;margin:0 0 22px;text-wrap:pretty}
.blog-content h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:27px;font-weight:800;line-height:1.22;color:#0f172a;letter-spacing:0;margin:44px 0 16px;scroll-margin-top:24px;text-wrap:balance}
.blog-content h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:21px;font-weight:800;line-height:1.3;color:#0f172a;letter-spacing:0;margin:34px 0 12px;text-wrap:balance}
.blog-content ul,.blog-content ol{margin:0 0 26px;padding-left:24px}
.blog-content li{font-size:17px;line-height:1.7;color:#334155;margin:0 0 10px;padding-left:4px;text-wrap:pretty}
.blog-content li::marker{color:#0284c7;font-weight:700}
.blog-content strong{font-weight:700;color:#0f172a}
.blog-content a{font-weight:600;color:#0c4a6e;text-decoration:underline;text-decoration-color:#bae0f2;text-underline-offset:3px}
.blog-content a:hover{color:#075985;text-decoration-color:#075985}
.blog-content blockquote{margin:32px 0;padding:4px 0 4px 22px;border-left:4px solid #0284c7;color:#475569}
.blog-content pre{margin:28px 0;padding:18px 20px;border:1px solid #dbe6ef;border-radius:12px;background:#f6fafd;overflow:auto;font:500 14px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#0f172a}
.blog-content code{font:600 .92em ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#eef6fb;color:#0c4a6e;border-radius:5px;padding:2px 5px}
.blog-content pre code{font:inherit;background:transparent;color:inherit;border-radius:0;padding:0}

/* Coarse responsive pass — the design is authored at 1240px.
   Refine these breakpoints during build. */
@media (max-width: 1000px){
  section > div, [style*="max-width:1240px"]{max-width:100% !important}
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:1.15fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:minmax(420px,46%) 1fr"],
  [style*="grid-template-columns:280px 1fr"],
  [style*="grid-template-columns:1.4fr 1fr 1fr 1fr"]{grid-template-columns:1fr !important}
}
@media (max-width: 700px){
  [style*="padding:88px 56px"]{padding:56px 24px !important}
  [style*="padding:60px 56px"],[style*="padding:56px 56px"]{padding:44px 24px !important}
}
