/* Kottman Consulting overrides — loaded after style.css */

@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-Thin.woff2") format("woff2"); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-ThinItalic.woff2") format("woff2"); font-weight: 100; font-style: italic; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-BoldItalic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-ExtraBold.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Editorial Today"; src: url("../fonts/editorial-today/EditorialToday-ExtraBoldItalic.woff2") format("woff2"); font-weight: 800; font-style: italic; font-display: swap; }

:root {
  --font-heading: "Editorial Today", Georgia, "Times New Roman", serif;
}

/* Headings use Editorial Today; body text keeps the template's Hanken Grotesk */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.banner-content-wrapper-three .title span,
.banner-area-five-wrapper .title,
.title-faq-4 .title,
.rts-cta-4-area .cta-main-wrapper .title,
.team-title-4 .title {
  font-family: var(--font-heading);
}

/* Accordion headers wrap buttons, not display text */
.accordion-header {
  font-family: inherit;
}

/* ---------- Kottman Consulting layout additions ---------- */

html { scroll-behavior: smooth; }
section[id], div[id] { scroll-margin-top: 90px; }

/* Wordmark logo (replaces template SVG) */
.kc-logo {
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #fff;
  text-decoration: none;
}
.kc-logo span { color: inherit; opacity: 0.55; }
.rts-footer-area-one .kc-logo { color: #141414; font-size: 36px; display: inline-block; margin-bottom: 20px; }
.rts-dark .rts-footer-area-one .kc-logo { color: #fff; }

/* Mortiflix button, top right */
.header-one .action-area { display: flex; align-items: center; gap: 24px; }
.kc-mortiflix-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 100px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background 0.3s, color 0.3s;
}
.kc-mortiflix-btn:hover { background: #fff; color: #111; }
.kc-mortiflix-btn i { font-size: 12px; }
@media (max-width: 575px) {
  .kc-mortiflix-btn { padding: 8px 14px; font-size: 12px; }
  .header-one .action-area { gap: 14px; }
}

/* Hero */
.kc-hero-sub {
  color: rgba(255, 255, 255, 0.75);
  font-size: 18px;
  max-width: 620px;
  margin: 10px auto 0;
}
.kc-hero-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 40px;
}
.kc-btn {
  display: inline-block;
  padding: 16px 34px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.kc-btn-light { background: #fff; color: #111; border: 1px solid #fff; }
.kc-btn-light:hover { background: transparent; color: #fff; }
.kc-btn-outline { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.6); }
.kc-btn-outline:hover { background: #fff; color: #111; }

/* Services */
.kc-service-icon { font-size: 54px; color: #fff; }

/* About */
.kc-eyebrow {
  display: inline-block;
  margin-bottom: 15px;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.7;
}
.kc-inline-link { text-decoration: underline; text-underline-offset: 3px; }
.kc-pricing-lead { margin-top: 30px; font-size: 18px; line-height: 1.6; max-width: 460px; }
.kc-btn-dark { background: #111; color: #fff; border: 1px solid #111; }
.kc-btn-dark:hover { background: transparent; color: #111; }

/* The template's .container goes full-bleed below 1400px; keep content off the screen edge */
@media (max-width: 1399px) {
  .container { padding-left: 30px; padding-right: 30px; }
}
@media (max-width: 575px) {
  .container { padding-left: 18px; padding-right: 18px; }
}

/* ---------- Licensed / self-made imagery ---------- */

/* Hero: Envato photo "Abstract Dark Background with Gray Dot Pattern" (Rawpixel), see LICENSES.md */
.banner-7-bg {
  background-color: #0b0b0b;
  background-image: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), url(../images/kc/hero-dots.jpg);
  background-image: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), image-set(url(../images/kc/hero-dots.webp) type("image/webp"), url(../images/kc/hero-dots.jpg) type("image/jpeg"));
  background-size: cover;
  background-position: center;
}

/* Film-grain overlay generated with SVG noise instead of the template's texture */
.bg-noise::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
}

/* Process step icons (replace template PNG icons) */
.kc-process-icon { font-size: 44px; color: #171717; }
.rts-dark .kc-process-icon { color: #fff; }
.rts-dark .index-six .single-working-process-three .icon { background: transparent; mix-blend-mode: normal; }

/* CTA without template artwork */
.kc-cta { padding-left: 60px; padding-right: 60px; }
@media (max-width: 767px) { .kc-cta { padding-left: 25px; padding-right: 25px; } }

/* About image (Envato photo, see LICENSES.md) */
.kc-about-image img { width: 100%; height: auto; border-radius: 12px; display: block; }
.about-area-7-start .row { align-items: center; }

/* "Strategy. Brand. Growth." over the video: a feathered glow behind the heading for legibility.
   Drawn as a radial gradient on ::before. The h2 is overflow:hidden (split-text animation), so the
   glow must stay inside the h2 box and fade to zero before its edges or it shows as a hard bar.
   Light mode = dark text on a white glow; dark mode = white text on a dark glow. */
.title-area-inner.large-image .kc-glow-title,
.title-area-inner.large-image .kc-glow-title span {
  color: #171717;
}
.title-area-inner.large-image .kc-glow-title { isolation: isolate; }
.title-area-inner.large-image .kc-glow-title::before {
  content: "";
  position: absolute;
  inset: 0;
  /* ellipse centered on the line that overlaps the video; its edge stays inside the h2 box */
  background: radial-gradient(ellipse 46% 43% at 50% 56%,
    rgba(255, 255, 255, 0.92) 0%,
    rgba(255, 255, 255, 0.7) 35%,
    rgba(255, 255, 255, 0.32) 65%,
    rgba(255, 255, 255, 0.08) 85%,
    rgba(255, 255, 255, 0) 100%);
  z-index: -1;
  pointer-events: none;
}
.rts-dark .title-area-inner.large-image .kc-glow-title,
.rts-dark .title-area-inner.large-image .kc-glow-title span {
  color: #fff !important;
}
.rts-dark .title-area-inner.large-image .kc-glow-title::before {
  background: radial-gradient(ellipse 46% 43% at 50% 56%,
    rgba(0, 0, 0, 0.85) 0%,
    rgba(0, 0, 0, 0.62) 35%,
    rgba(0, 0, 0, 0.28) 65%,
    rgba(0, 0, 0, 0.07) 85%,
    rgba(0, 0, 0, 0) 100%);
}

/* Keep hero words whole when the headline wraps on small screens */
.banner-inner-7 .title { word-break: normal; overflow-wrap: normal; hyphens: none; }
.banner-inner-7 .title div { white-space: nowrap; }

/* Center the service cards on phones */
@media (max-width: 767px) {
  .single-service-style-seven { text-align: center; }
  .single-service-style-seven .icon { display: flex; justify-content: center; }
  .single-service-style-seven .title-1 br { display: none; }
  .single-service-style-seven .read-more-area-service-seven { justify-content: center; }
  .service-main-wrapper-6 { text-align: center; }
}

@media (max-width: 767px) {
  /* Keep the hero's intended line breaks on phones: AI-FORWARD / CONSULTING / THAT GROWS / YOUR BUSINESS */
  .banner-inner-7 .title br { display: inline; }
  .single-service-style-seven p.disc { margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; }
  /* Theme toggle: small icon in the bottom-left corner instead of floating over the text */
  .modal-sidebar-scroll { top: auto; bottom: 20px; left: 15px; right: auto; transform: none; -webkit-transform: none; }
  .modal-sidebar-scroll ul li span { display: none; }
}

/* Phones: put "Strategy. Brand. Growth." above the video instead of overlapping its top edge */
@media (max-width: 767px) {
  .title-area-inner.large-image .title { margin-bottom: 24px; }
  .title-area-inner.large-image .kc-glow-title::before { display: none; }
}

/* Pricing: consulting + software upkeep */
.kc-price-list { margin-top: 30px; display: grid; gap: 28px; max-width: 480px; }
.kc-price-item { padding-left: 20px; border-left: 2px solid #171717; }
.kc-price-item p { margin: 8px 0 0; font-size: 16px; line-height: 1.6; }
.kc-price-name { margin: 0; font-size: 26px; font-family: var(--font-heading); }
.kc-price-unit { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.65; }
.rts-dark .kc-price-item { border-left-color: #fff; }
@media (max-width: 767px) { .kc-price-list { margin-left: auto; margin-right: auto; } }
.kc-price-name { color: #171717; }
.rts-dark .kc-price-name { color: #fff; }

/* Internal tools pitch band */
.kc-tools-band { background: #f4f4f2; }
.kc-tools-title { color: #171717; font-size: 64px; line-height: 1.1; margin: 10px 0 0; text-transform: uppercase; }
.kc-tools-copy { font-size: 18px; line-height: 1.7; color: #3a3a3a; }
.rts-dark .kc-tools-band { background: #111; }
.rts-dark .kc-tools-title { color: #fff; }
.rts-dark .kc-tools-copy { color: rgba(255, 255, 255, 0.75); }
.rts-dark .kc-btn-dark { background: #fff; color: #111; border-color: #fff; }
.rts-dark .kc-btn-dark:hover { background: transparent; color: #fff; }
@media (max-width: 991px) { .kc-tools-title { font-size: 44px; } }
@media (max-width: 767px) { .kc-tools-band { text-align: center; } .kc-tools-title { font-size: 36px; } }
