/*
Theme Name: HebTraCon Corpiva Child V2
Theme URI: https://www.hebtracon.de/
Description: Individuelles Corpiva Child Theme für HebTraCon GmbH Trade & Consulting. Fokus auf Sales Support, B2B Telemarketing, Business Development und Projektmanagement.
Author: HebTraCon GmbH Trade & Consulting
Template: corpiva
Version: 2.0.0
Text Domain: hebtracon-child
*/

:root {
  --htc-bg: #0b1118;
  --htc-bg-2: #121a24;
  --htc-surface: #182230;
  --htc-surface-soft: #eef1f4;
  --htc-paper: #f7f7f5;
  --htc-white: #ffffff;
  --htc-text: #17202a;
  --htc-text-soft: #5c6773;
  --htc-light: #e7ecf1;
  --htc-accent: #a91f32;
  --htc-accent-2: #d24b5e;
  --htc-copper: #747b84;
  --htc-line: rgba(255,255,255,.12);
  --htc-shadow: 0 24px 80px rgba(8, 15, 24, .18);
  --htc-radius: 22px;
  --htc-radius-sm: 14px;
  --htc-max: 1240px;
  --htc-header: 80px;
  --htc-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body.htc-child-active {
  margin: 0;
  background: var(--htc-paper);
  color: var(--htc-text);
  font-family: var(--htc-font);
  font-size: 17px;
  line-height: 1.66;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.htc-child-active *, body.htc-child-active *::before, body.htc-child-active *::after { box-sizing: border-box; }
body.htc-child-active img { max-width: 100%; height: auto; }
body.htc-child-active a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
body.htc-child-active h1, body.htc-child-active h2, body.htc-child-active h3, body.htc-child-active h4 {
  margin: 0 0 .55em;
  color: inherit;
  font-family: var(--htc-font);
  font-weight: 760;
  line-height: 1.08;
  letter-spacing: -.035em;
}
body.htc-child-active h1 { font-size: clamp(3.2rem, 7vw, 6.65rem); }
body.htc-child-active h2 { font-size: clamp(2.15rem, 4vw, 4.1rem); }
body.htc-child-active h3 { font-size: clamp(1.35rem, 2.1vw, 2rem); }
body.htc-child-active p { margin: 0 0 1.3em; }
body.htc-child-active ul { margin: 0; padding-left: 1.15rem; }

.htc-skip-link {
  position: fixed; left: 16px; top: -120px; z-index: 999999;
  background: #fff; color: #111; padding: 12px 18px; border-radius: 8px;
}
.htc-skip-link:focus { top: 16px; }

.htc-wrap { width: min(calc(100% - 40px), var(--htc-max)); margin-inline: auto; }
.htc-narrow { width: min(calc(100% - 40px), 850px); margin-inline: auto; }
.htc-section { padding: clamp(72px, 8vw, 126px) 0; position: relative; }
.htc-section--dark { background: var(--htc-bg); color: var(--htc-white); }
.htc-section--ink { background: var(--htc-bg-2); color: var(--htc-white); }
.htc-section--soft { background: var(--htc-surface-soft); }
.htc-section--white { background: var(--htc-white); }
.htc-section--tight { padding: 48px 0; }
.htc-section__head { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(300px,.75fr); gap: 48px; align-items: end; margin-bottom: 48px; }
.htc-section__head p { color: var(--htc-text-soft); max-width: 680px; }
.htc-section--dark .htc-section__head p, .htc-section--ink .htc-section__head p { color: #bac4ce; }

.htc-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin-bottom: 20px; font-size: .78rem; line-height: 1.3; font-weight: 760;
  letter-spacing: .14em; text-transform: uppercase; color: var(--htc-accent);
}
.htc-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.htc-lead { font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.55; color: #c5cdd6; max-width: 790px; }
.htc-copy-large { font-size: clamp(1.18rem, 1.8vw, 1.45rem); line-height: 1.6; }
.htc-muted { color: var(--htc-text-soft); }
.htc-kicker { font-size: .8rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; color: var(--htc-accent); }
.htc-rule { height: 1px; background: rgba(20,30,40,.12); margin: 32px 0; }
.htc-section--dark .htc-rule, .htc-section--ink .htc-rule { background: var(--htc-line); }

/* Header */
.htc-header {
  position: sticky; top: 0; z-index: 1000; min-height: var(--htc-header);
  background: rgba(8,13,20,.92); backdrop-filter: blur(16px); color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.admin-bar .htc-header { top: 32px; }
.htc-header__inner { min-height: var(--htc-header); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.htc-brand { display: flex; align-items: center; gap: 16px; color: #fff; text-decoration: none; min-width: max-content; }
.htc-brand__mark {
  width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%;
  display: grid; place-items: center; font-weight: 800; letter-spacing: -.06em;
  background: radial-gradient(circle at 35% 30%, rgba(210,75,94,.32), transparent 40%), #111a25;
}
.htc-brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.htc-brand__text strong { font-size: 1.08rem; letter-spacing: -.02em; }
.htc-brand__text span { margin-top: 4px; color: #9ea8b3; font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.htc-header .custom-logo { max-height: 48px; width: auto; }
.htc-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.htc-nav ul { list-style: none; display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; }
.htc-nav li { margin: 0; }
.htc-nav a { display: block; padding: 12px 13px; color: #d7dde4; text-decoration: none; font-size: .9rem; font-weight: 650; border-radius: 10px; }
.htc-nav a:hover, .htc-nav .current-menu-item > a, .htc-nav .current_page_item > a { color: #fff; background: rgba(255,255,255,.07); }
.htc-header__cta { margin-left: 10px; }
.htc-menu-toggle {
  display: none; border: 1px solid rgba(255,255,255,.18); background: transparent; color: #fff;
  width: 46px; height: 46px; border-radius: 12px; cursor: pointer;
}
.htc-menu-toggle span, .htc-menu-toggle::before, .htc-menu-toggle::after { content:""; display:block; width:21px; height:2px; background:currentColor; margin:5px auto; transition:.2s; }

/* Buttons */
.htc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 22px; border-radius: 999px; border: 1px solid transparent;
  text-decoration: none !important; font-size: .94rem; font-weight: 760; letter-spacing: -.01em;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.htc-btn:hover { transform: translateY(-2px); }
.htc-btn--primary { background: var(--htc-accent-2); color: #10141b !important; }
.htc-btn--primary:hover { background: #b9273c; }
.htc-btn--ghost { color: #fff !important; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.035); }
.htc-btn--ghost:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.07); }
.htc-btn--dark { background: var(--htc-bg); color: #fff !important; }
.htc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

/* Hero */
.htc-hero { background: var(--htc-bg); color: #fff; min-height: min(820px, calc(100vh - var(--htc-header))); display: flex; align-items: stretch; overflow: hidden; }
.htc-hero__grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(380px,.8fr); align-items: center; gap: clamp(30px,5vw,78px); width: 100%; padding: clamp(72px,8vw,112px) 0; }
.htc-hero__copy { position: relative; z-index: 2; }
.htc-hero h1 span { color: var(--htc-accent-2); }
.htc-hero__visual { position: relative; align-self: stretch; min-height: 590px; }
.htc-hero__photo {
  position: absolute; inset: 0; border-radius: 30px; overflow: hidden; background: #18212d url('assets/images/hero.webp') center 24%/cover no-repeat;
  box-shadow: var(--htc-shadow); border: 1px solid rgba(255,255,255,.1);
}
.htc-hero__photo::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 42%, rgba(5,10,16,.45)); }
.htc-hero__signal {
  position: absolute; right: -20px; bottom: 36px; width: 280px; padding: 22px; border-radius: 18px;
  background: rgba(17,26,37,.88); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 50px rgba(0,0,0,.25); z-index: 2;
}
.htc-hero__signal strong { display: block; font-size: 1rem; margin-bottom: 7px; }
.htc-hero__signal span { color: #aeb9c4; font-size: .85rem; line-height: 1.45; display: block; }
.htc-signal-line { height: 2px; width: 100%; background: linear-gradient(90deg, var(--htc-accent-2), var(--htc-copper), transparent); margin: 13px 0; }

.htc-proofbar { background: #111923; border-top: 1px solid var(--htc-line); color: #fff; }
.htc-proofbar__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.htc-proof { padding: 25px 24px; border-right: 1px solid var(--htc-line); }
.htc-proof:first-child { border-left: 1px solid var(--htc-line); }
.htc-proof strong { display: block; font-size: .96rem; margin-bottom: 4px; }
.htc-proof span { color: #8f9aa6; font-size: .79rem; }

/* Cards */
.htc-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.htc-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.htc-card { position: relative; background: #fff; border: 1px solid rgba(12,22,34,.1); border-radius: var(--htc-radius); padding: clamp(28px,3vw,42px); box-shadow: 0 14px 40px rgba(23,33,44,.045); }
.htc-card--dark { background: var(--htc-surface); color: #fff; border-color: rgba(255,255,255,.09); }
.htc-card__num { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 32px; padding: 0 12px; margin-bottom: 40px; border-radius: 999px; background: #edf0f3; color: #5c6570; font-size: .76rem; font-weight: 800; letter-spacing: .08em; }
.htc-card--dark .htc-card__num { background: rgba(255,255,255,.08); color: #b8c2cd; }
.htc-card p { color: var(--htc-text-soft); }
.htc-card--dark p { color: #aeb9c4; }
.htc-card__link { display: inline-block; margin-top: 12px; color: var(--htc-accent); font-weight: 760; text-decoration: none; }
.htc-card__link::after { content: " ↗"; }

/* Media split */
.htc-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(42px,7vw,92px); align-items: center; }
.htc-split--reverse .htc-split__media { order: 2; }
.htc-media { min-height: 520px; border-radius: 28px; background-position: center; background-size: cover; background-repeat: no-repeat; box-shadow: var(--htc-shadow); }
.htc-media--telemarketing { background-image: url('assets/images/telemarketing.webp'); }
.htc-media--strategy { background-image: url('assets/images/strategy.webp'); }
.htc-media--consulting { background-image: url('assets/images/consulting.webp'); }
.htc-media--partners { background-image: url('assets/images/partners.webp'); }
.htc-media--presentation { background-image: url('assets/images/presentation.webp'); }
.htc-media--short { min-height: 410px; }

/* Principles */
.htc-principles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.12); border-radius: 24px; overflow: hidden; }
.htc-principle { padding: 28px 24px; min-height: 170px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.htc-principle:nth-child(4n) { border-right: 0; }
.htc-principle:nth-child(n+5) { border-bottom: 0; }
.htc-principle span { color: var(--htc-accent-2); font-weight: 780; font-size: .73rem; letter-spacing: .1em; }
.htc-principle strong { display: block; margin-top: 26px; font-size: 1.06rem; }
.htc-principle p { margin: 8px 0 0; color: #9faab5; font-size: .88rem; line-height: 1.5; }

/* Process */
.htc-process { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid rgba(20,30,40,.16); }
.htc-step { padding: 32px 28px 0 0; position: relative; }
.htc-step::before { content:""; position:absolute; top:-4px; left:0; width:8px; height:8px; border-radius:50%; background: var(--htc-accent); box-shadow: 0 0 0 7px rgba(169,31,50,.12); }
.htc-step span { font-weight: 800; color: var(--htc-accent); font-size: .75rem; letter-spacing: .08em; }
.htc-step h3 { font-size: 1.25rem; margin-top: 30px; }
.htc-step p { font-size: .91rem; color: var(--htc-text-soft); }

/* Quote / Statement */
.htc-statement { border-left: 3px solid var(--htc-accent); padding: 6px 0 6px 28px; font-size: clamp(1.45rem,3vw,2.65rem); line-height: 1.25; font-weight: 710; letter-spacing: -.03em; }
.htc-statement small { display: block; margin-top: 20px; font-size: .85rem; line-height: 1.5; color: #99a4b0; letter-spacing: 0; font-weight: 500; }

/* Page hero */
.htc-page-hero { padding: clamp(74px,8vw,118px) 0 clamp(62px,7vw,96px); background: var(--htc-bg); color: #fff; overflow: hidden; }
.htc-page-hero__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(300px,.75fr); gap: 60px; align-items: end; }
.htc-page-hero h1 { font-size: clamp(2.8rem,6vw,5.7rem); }
.htc-page-hero p { color: #bec7d0; font-size: clamp(1.12rem,1.8vw,1.38rem); max-width: 720px; }
.htc-page-hero__aside { padding: 28px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; }
.htc-page-hero__aside strong { display: block; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: var(--htc-accent-2); margin-bottom: 14px; }
.htc-page-hero__aside p { font-size: .95rem; line-height: 1.55; margin: 0; color: #9da9b4; }

/* Lists */
.htc-checklist { list-style: none; padding: 0 !important; display: grid; gap: 13px; }
.htc-checklist li { padding: 14px 0 14px 30px; border-bottom: 1px solid rgba(15,25,35,.1); position: relative; }
.htc-checklist li::before { content:""; width: 10px; height: 10px; border: 2px solid var(--htc-accent); border-radius: 50%; position:absolute; left:0; top:22px; }
.htc-section--dark .htc-checklist li, .htc-section--ink .htc-checklist li { border-color: var(--htc-line); }

/* CTA */
.htc-cta { background: linear-gradient(120deg, #111a25, #151e29 55%, #2b171a); color: #fff; border-radius: 30px; padding: clamp(38px,6vw,78px); overflow: hidden; position: relative; }
.htc-cta::after { content:""; position:absolute; width:380px; height:380px; border-radius:50%; right:-180px; top:-170px; background: radial-gradient(circle, rgba(210,75,94,.25), transparent 65%); }
.htc-cta__grid { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; position:relative; z-index:1; }
.htc-cta p { color: #afb9c4; max-width: 720px; }

/* Contact */
.htc-contact-grid { display:grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); gap: 56px; align-items: start; }
.htc-contact-box { background: var(--htc-bg); color:#fff; border-radius: 24px; padding: 34px; position: sticky; top: calc(var(--htc-header) + 30px); }
.htc-contact-box a { color: #fff; }
.htc-contact-box p { color:#aeb8c2; }
.htc-contact-lines { list-style:none; padding:0 !important; display:grid; gap:18px; margin-top:30px !important; }
.htc-contact-lines li { padding-top:16px; border-top:1px solid var(--htc-line); }
.htc-contact-lines small { display:block; color:#7f8b98; margin-bottom:5px; text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; }
.htc-form { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:18px; }
.htc-field { display:flex; flex-direction:column; gap:7px; }
.htc-field--full { grid-column: 1 / -1; }
.htc-field label { font-weight:700; font-size:.86rem; }
.htc-field input, .htc-field select, .htc-field textarea {
  width:100%; border:1px solid #cfd6dd; background:#fff; border-radius:12px; padding:13px 14px; min-height:50px;
  font:inherit; color:#16202a; outline:none; box-shadow:none;
}
.htc-field textarea { min-height:170px; resize:vertical; }
.htc-field input:focus, .htc-field select:focus, .htc-field textarea:focus { border-color:var(--htc-accent); box-shadow:0 0 0 3px rgba(169,31,50,.12); }
.htc-checkbox { display:flex; gap:10px; align-items:flex-start; font-size:.82rem; color:#56616c; }
.htc-checkbox input { margin-top:5px; }
.htc-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.htc-form-status { padding:14px 16px; border-radius:12px; margin-bottom:20px; }
.htc-form-status--success { background:#e8f5ed; color:#205c38; border:1px solid #b8dfc6; }
.htc-form-status--error { background:#fff0f0; color:#7a2424; border:1px solid #edc1c1; }

/* Footer */
.htc-footer { background:#080d13; color:#fff; padding:70px 0 30px; }
.htc-footer__grid { display:grid; grid-template-columns: 1.15fr .75fr .75fr; gap:60px; padding-bottom:54px; }
.htc-footer h3 { font-size:1rem; letter-spacing:0; margin-bottom:18px; }
.htc-footer p { color:#929eaa; max-width:520px; }
.htc-footer a { color:#c8d0d8; text-decoration:none; }
.htc-footer a:hover { color:#fff; }
.htc-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.htc-footer__bottom { display:flex; justify-content:space-between; gap:30px; padding-top:26px; border-top:1px solid var(--htc-line); color:#7f8b97; font-size:.78rem; }
.htc-footer__legal { display:flex; gap:18px; flex-wrap:wrap; }

/* WP content safety */
.htc-main .alignwide { width:min(calc(100% - 40px),var(--htc-max)); margin-inline:auto; }
.htc-main .alignfull { width:100%; }
.htc-main > .entry-content { margin:0; }
.htc-main .wp-block-image { margin:0; }

/* Motion */
.htc-reveal { opacity:0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.htc-reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .htc-reveal { opacity:1; transform:none; transition:none; }
  .htc-btn { transition:none; }
}

@media (max-width: 1060px) {
  .htc-header__cta { display:none; }
  .htc-nav a { padding-inline:9px; }
  .htc-hero__grid { grid-template-columns: 1fr .72fr; }
  .htc-principles { grid-template-columns: repeat(2,1fr); }
  .htc-principle:nth-child(2n) { border-right:0; }
  .htc-principle:nth-child(4) { border-right:0; }
  .htc-principle:nth-child(n+5) { border-bottom:1px solid rgba(255,255,255,.1); }
  .htc-principle:nth-last-child(-n+2) { border-bottom:0; }
}

@media (max-width: 860px) {
  .admin-bar .htc-header { top:46px; }
  .htc-menu-toggle { display:block; margin-left:auto; }
  .htc-nav { display:none; position:absolute; top:calc(100% + 1px); left:0; right:0; padding:18px 20px 24px; background:#0b1118; border-bottom:1px solid rgba(255,255,255,.08); }
  .htc-nav.is-open { display:block; }
  .htc-nav ul { display:grid; width:min(100%,var(--htc-max)); margin:auto; }
  .htc-nav a { padding:13px 10px; }
  .htc-section__head, .htc-page-hero__grid, .htc-split, .htc-contact-grid, .htc-cta__grid { grid-template-columns:1fr; }
  .htc-split--reverse .htc-split__media { order:0; }
  .htc-hero { min-height:auto; }
  .htc-hero__grid { grid-template-columns:1fr; }
  .htc-hero__visual { min-height:610px; }
  .htc-hero__signal { right:14px; bottom:18px; }
  .htc-proofbar__grid { grid-template-columns:repeat(2,1fr); }
  .htc-proof:nth-child(3) { border-left:1px solid var(--htc-line); }
  .htc-grid-3 { grid-template-columns:1fr; }
  .htc-grid-2 { grid-template-columns:1fr; }
  .htc-process { grid-template-columns:1fr 1fr; row-gap:32px; }
  .htc-contact-box { position:static; }
  .htc-footer__grid { grid-template-columns:1fr 1fr; }
  .htc-footer__grid > :first-child { grid-column:1 / -1; }
}

@media (max-width: 560px) {
  :root { --htc-header: 70px; }
  .htc-wrap, .htc-narrow { width:min(calc(100% - 28px),var(--htc-max)); }
  .htc-brand__text span { display:none; }
  .htc-hero__grid { padding-top:58px; }
  .htc-hero__visual { min-height:500px; }
  .htc-hero__signal { position:absolute; left:14px; right:14px; width:auto; }
  .htc-proofbar__grid { grid-template-columns:1fr; }
  .htc-proof, .htc-proof:first-child, .htc-proof:nth-child(3) { border-left:1px solid var(--htc-line); }
  .htc-principles { grid-template-columns:1fr; }
  .htc-principle, .htc-principle:nth-child(2n), .htc-principle:nth-child(4n) { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .htc-principle:last-child { border-bottom:0; }
  .htc-process { grid-template-columns:1fr; }
  .htc-media { min-height:360px; }
  .htc-form { grid-template-columns:1fr; }
  .htc-field--full { grid-column:auto; }
  .htc-footer__grid { grid-template-columns:1fr; gap:38px; }
  .htc-footer__grid > :first-child { grid-column:auto; }
  .htc-footer__bottom { flex-direction:column; }
}

/* ============================================================
   HebTraCon V2 brand system
   ============================================================ */
:root {
  --htc-brand-red: #a91f32;
  --htc-brand-red-light: #d24b5e;
  --htc-brand-gray: #454444;
  --htc-header-light: #f7f7f5;
}

/* Header: light brand stage instead of boxed logo */
.htc-header {
  background: rgba(247,247,245,.97);
  color: var(--htc-text);
  border-bottom: 1px solid rgba(15,25,35,.10);
  box-shadow: 0 8px 28px rgba(8,15,24,.06);
}
.htc-header__inner { min-height: 88px; }
.htc-brand--image { min-width: 0; width: 224px; flex: 0 0 224px; }
.htc-brand--image img { display:block; width:100%; height:auto; max-height:62px; object-fit:contain; object-position:left center; }
.htc-nav a { color:#303942; }
.htc-nav a:hover, .htc-nav .current-menu-item > a, .htc-nav .current_page_item > a { color:#141a20; background:rgba(169,31,50,.08); }
.htc-menu-toggle { border-color:rgba(15,25,35,.20); color:#151b21; }
.htc-menu-toggle span, .htc-menu-toggle::before, .htc-menu-toggle::after { background:currentColor; }
.htc-btn--primary { background:var(--htc-brand-red); color:#fff !important; box-shadow:0 9px 24px rgba(169,31,50,.18); }
.htc-btn--primary:hover { background:#8f1829; }
.htc-btn--dark:hover { background:#1a2531; }
.htc-card__link, .htc-kicker, .htc-eyebrow, .htc-step span { color:var(--htc-brand-red); }
.htc-page-hero__aside strong, .htc-principle span { color:var(--htc-brand-red-light); }
.htc-hero h1 span { color:var(--htc-brand-red-light); }
.htc-signal-line { background:linear-gradient(90deg,var(--htc-brand-red-light),#7c8792,transparent); }
.htc-statement { border-left-color:var(--htc-brand-red); }
.htc-step::before { background:var(--htc-brand-red); box-shadow:0 0 0 7px rgba(169,31,50,.13); }
.htc-checklist li::before { border-color:var(--htc-brand-red); }
.htc-field input:focus, .htc-field select:focus, .htc-field textarea:focus { border-color:var(--htc-brand-red); box-shadow:0 0 0 3px rgba(169,31,50,.11); }
.htc-cta { background:linear-gradient(120deg,#111a25,#151e29 56%,#2b171a); }
.htc-cta::after { background:radial-gradient(circle,rgba(210,75,94,.24),transparent 65%); }

/* New image language */
.htc-media--telemarketing { background-image:url('assets/images/telemarketing.webp'); }
.htc-media--strategy { background-image:url('assets/images/strategy.webp'); }
.htc-media--consulting { background-image:url('assets/images/consulting.webp'); }
.htc-media--partners { background-image:url('assets/images/partners.webp'); }
.htc-media--presentation { background-image:url('assets/images/presentation.webp'); }
.htc-media--founder { background-image:url('assets/images/founder.webp'); background-position:center 24%; }
.htc-media--sales-individual { background-image:url('assets/images/sales-individual.webp'); }
.htc-media--project-team { background-image:url('assets/images/project-team.webp'); }

/* Footer brand drawn as live type so it remains legible on dark background */
.htc-footer-brand { display:inline-flex; flex-direction:column; text-decoration:none !important; line-height:1; }
.htc-footer-brand strong { font-size:1.6rem; font-weight:700; letter-spacing:-.055em; color:var(--htc-brand-red-light); }
.htc-footer-brand strong span { color:#d5d9dd; }
.htc-footer-brand small { margin-top:7px; color:#8f9aa4; text-transform:uppercase; letter-spacing:.22em; font-size:.54rem; }

/* Legal pages */
.htc-legal { max-width:900px; }
.htc-legal h2 { font-size:clamp(1.55rem,2.5vw,2.2rem); margin-top:2.2em; }
.htc-legal h3 { font-size:1.18rem; margin-top:1.8em; }
.htc-legal p, .htc-legal li { color:#4f5b66; }
.htc-legal a { color:var(--htc-brand-red); }
.htc-legal-note { padding:18px 20px; background:#f2f3f3; border-left:3px solid var(--htc-brand-red); border-radius:0 10px 10px 0; }

@media (max-width: 1060px) {
  .htc-brand--image { width:190px; flex-basis:190px; }
}
@media (max-width: 860px) {
  .htc-nav { background:#f7f7f5; border-bottom:1px solid rgba(15,25,35,.10); }
  .htc-nav a { color:#242c34; }
}
@media (max-width:560px) {
  :root { --htc-header:72px; }
  .htc-header__inner { min-height:72px; }
  .htc-brand--image { width:158px; flex-basis:158px; }
  .htc-brand--image img { max-height:52px; }
}
.htc-media--founder-presentation { background-image:url('assets/images/hero.webp'); background-position:center center; }
