/* Inbound Hunters — B2B Sales System: shared primitives.
   Loaded after tokens.css, before the per-widget partials.
   Every widget root carries the class .ihss (plus .ihss--cases on the case studies widgets). */

/* ---- Self-hosted IBM Plex Sans (variable, 100–700), latin + latin-ext + greek ---- */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-greek.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---- Root reset (scoped) ---- */
.ihss,.ihss *,.ihss *::before,.ihss *::after{box-sizing:border-box}
.ihss{font-family:var(--ih-font);color:var(--ih-navy);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.4;text-align:left;--ihss-accent:var(--ih-mint)}
:where(.ihss) h1,:where(.ihss) h2,:where(.ihss) h3,:where(.ihss) h4,:where(.ihss) p,:where(.ihss) blockquote,:where(.ihss) ul,:where(.ihss) ol,:where(.ihss) figure{margin:0;padding:0;font-family:inherit}
:where(.ihss) h1,:where(.ihss) h2,:where(.ihss) h3,:where(.ihss) h4{color:inherit}
:where(.ihss) ul,:where(.ihss) ol{list-style:none}
/* Generic element resets use :where() so they never out-rank a widget's single-class rules (e.g. .ihss-site-footer__link, .ihss-btn--purple). */
:where(.ihss) a{color:var(--ih-purple);text-decoration:none;transition:color .15s,opacity .15s,background-color .15s}
:where(.ihss) a:hover{color:var(--ih-purple-hover);text-decoration:underline}
:where(.ihss) img{max-width:100%;height:auto;display:block;border:0}
:where(.ihss) button,:where(.ihss) input,:where(.ihss) select,:where(.ihss) textarea{font-family:inherit;font-size:inherit;color:inherit}
:where(.ihss) button{border:0;background:none;padding:0;cursor:pointer;text-align:inherit;border-radius:0}
.ihss :focus-visible{outline:3px solid var(--ih-mint);outline-offset:2px}
.ihss-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ihss-hidden{display:none!important}

/* ---- Layout ---- */
.ihss-wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.ihss--cases .ihss-wrap{max-width:1180px}
.ihss-sec{padding:86px 0;background:var(--ih-page-bg)}
.ihss--cases .ihss-sec{padding:76px 0}
.ihss-sec--alt{background:var(--ih-section-alt);border-top:1px solid var(--ih-section-alt-bd);border-bottom:1px solid var(--ih-section-alt-bd)}
.ihss-sec--navy{background:var(--ih-navy);color:#fff}
@media (max-width:680px){
  .ihss-wrap{padding:0 20px}
  .ihss-sec{padding:44px 0}
  .ihss--cases .ihss-sec{padding:40px 0}
}

/* ---- Type ---- */
.ihss-eyebrow{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:.2em;line-height:1;color:var(--ih-purple)}
.ihss--cases .ihss-eyebrow{font-size:12px}
.ihss-eyebrow--rule::before{content:'';flex:0 0 auto;width:30px;height:2px;background:var(--ihss-accent)}
.ihss-eyebrow--mint{color:var(--ihss-accent)}
.ihss-h1{font-size:clamp(34px,4.5vw,58px);font-weight:700;line-height:1.05;letter-spacing:-.035em;margin:20px 0 0;text-wrap:pretty}
.ihss--cases .ihss-h1{font-size:clamp(32px,4.3vw,54px)}
.ihss-h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin:14px 0 0;text-wrap:pretty}
.ihss--cases .ihss-h2{font-size:clamp(26px,3.2vw,40px)}
.ihss-lede{font-size:16.5px;line-height:1.55;color:var(--ih-text-light);margin:14px 0 0;text-wrap:pretty}
.ihss-sec--navy .ihss-lede,.ihss-on-navy .ihss-lede{color:var(--ih-lavender)}
.ihss-label{font-size:11.5px;font-weight:700;letter-spacing:.14em;line-height:1.2;color:var(--ih-label)}
.ihss--cases .ihss-label{font-size:11px;letter-spacing:.12em}
.ihss-label--wide{letter-spacing:.16em}
.ihss-label--mint{color:var(--ihss-accent)}
.ihss-label--peri{color:var(--ih-periwinkle)}
.ihss-label--danger{color:var(--ih-danger)}
.ihss-label--success{color:var(--ih-success)}
.ihss-label--purple{color:var(--ih-purple)}
.ihss-sechead{display:flex;align-items:flex-end;gap:32px;flex-wrap:wrap}
.ihss-sechead__main{flex:1;min-width:300px}
.ihss-sechead__aside{flex:0 0 340px;font-size:16.5px;line-height:1.55;color:var(--ih-text-light);margin:0;text-wrap:pretty}
.ihss--cases .ihss-sechead__aside{flex-basis:320px;font-size:16px}
@media (max-width:680px){
  .ihss-eyebrow{gap:10px;font-size:11.5px;letter-spacing:.16em;white-space:nowrap}
  .ihss-eyebrow--rule::before{width:24px}
  .ihss--cases .ihss-eyebrow{font-size:11.5px}
  .ihss-h1{font-size:32px;line-height:1.08;letter-spacing:-.03em;margin-top:16px}
  .ihss--cases .ihss-h1{font-size:30px;line-height:1.1}
  .ihss-h2{font-size:27px;line-height:1.12;margin-top:12px}
  .ihss--cases .ihss-h2{font-size:26px}
  .ihss-lede{font-size:15.5px;line-height:1.5;margin-top:12px}
  .ihss-sechead{gap:12px}
  .ihss-sechead__main{min-width:0;flex-basis:100%}
  .ihss-sechead__aside{flex:1 1 100%;font-size:15.5px}
}

/* ---- Buttons (pills) ---- */
.ihss-btn{display:inline-block;border-radius:999px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:opacity .15s,background-color .15s,color .15s}
.ihss-btn:hover{text-decoration:none}
.ihss-btn--mint{background:var(--ihss-accent);color:var(--ih-mint-on);font-size:16px;padding:16px 26px}
.ihss-btn--mint:hover{opacity:.88;color:var(--ih-mint-on)}
.ihss-btn--purple{background:var(--ih-purple);color:#fff;font-size:16.5px;padding:16px 30px}
.ihss-btn--purple:hover{background:var(--ih-purple-hover);color:#fff}
.ihss-btn--ghost{border-color:rgba(124,140,245,.6);color:#fff;font-weight:600;font-size:17px;padding:17px 28px}
.ihss-btn--ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.ihss-btn--outline{border-color:var(--ih-input-border);background:#fff;color:var(--ih-text);font-weight:600;font-size:16px;padding:16px 22px}
.ihss-btn--outline:hover{background:var(--ih-section-alt);color:var(--ih-text)}
.ihss-btn--sm{font-size:15px;padding:12px 22px}
.ihss-btn--lg{font-size:17px;padding:17px 30px}
@media (max-width:680px){
  .ihss-btn{white-space:normal}
  .ihss-btn--block-m{display:block;width:100%}
}

/* ---- Surfaces ---- */
.ihss-card{background:var(--ih-card-bg);border:1px solid var(--ih-card-border);border-radius:16px}
.ihss-tile{flex:0 0 auto;display:grid;place-items:center;border-radius:10px;font-weight:700;background:var(--ih-purple-bg);color:var(--ih-purple)}
.ihss-check{flex:0 0 auto;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--ih-purple);color:#fff;margin-top:2px}
.ihss-check--success{background:var(--ih-success)}
.ihss-check--soft{width:20px;height:20px;border-radius:6px;font-size:11px;background:#eef0f7;color:var(--ih-purple)}
.ihss-plate{flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--ih-logo-plate-bd);border-radius:12px;background:#fff;padding:0 18px;max-width:100%}
.ihss-plate img{width:auto;height:auto;object-fit:contain;max-width:100%}
.ihss-divider{border-top:1px solid var(--ih-card-border-lt)}

/* ---- Grids ---- */
.ihss-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ihss-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ihss-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ihss-g6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ihss-conv{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:36px;align-items:start}
.ihss--cases .ihss-g2{gap:20px}
@media (max-width:1040px){
  .ihss-g4,.ihss-g6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ihss-conv{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:980px){
  .ihss--cases .ihss-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .ihss-g2,.ihss-g3,.ihss-g4,.ihss-g6{grid-template-columns:minmax(0,1fr);gap:14px}
  .ihss-conv{gap:20px}
}

/* ---- Form controls ---- */
.ihss input[type=text],.ihss input[type=email],.ihss input[type=number],.ihss input[type=tel],.ihss input[type=url],.ihss select,.ihss textarea{width:100%;border:1px solid var(--ih-input-border);border-radius:10px;padding:13px 14px;font-size:16px;line-height:1.3;color:var(--ih-navy);background:#fff;outline:none;box-shadow:none;margin:0;appearance:auto;-webkit-appearance:auto}
.ihss input:focus,.ihss select:focus,.ihss textarea:focus{border-color:var(--ih-purple);box-shadow:0 0 0 3px rgba(94,23,235,.12)}
.ihss input::placeholder,.ihss textarea::placeholder{color:var(--ih-placeholder);opacity:1}
.ihss-field label,.ihss-label-field{display:block;font-size:14px;font-weight:600;color:var(--ih-text);margin-bottom:6px}
.ihss-alert{background:var(--ih-danger-bg);border:1px solid var(--ih-danger-border);border-radius:10px;padding:12px 14px;font-size:14.5px;line-height:1.4;color:var(--ih-danger-dark)}

/* ---- Elementor container hooks (set as CSS classes on the page containers by the installer) ---- */
.ihss-sticky-top{position:sticky;top:0;z-index:50}
.ihss-sticky-bottom{position:sticky;bottom:0;z-index:45}
.ihss-page-root{background:var(--ih-page-bg)}

/* ---- Motion / misc ---- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){.ihss *{animation:none!important;transition:none!important}}
