/* Focused marketing pages. Existing account and booking styles remain in styles.css. */
.kc-marketing { --kc-accent: #71e1c3; --font-display: var(--font-body); }
.kc-marketing { font-variant-ligatures: none; font-feature-settings: "liga" 0, "clig" 0, "calt" 0; }
.kc-marketing button, .kc-marketing .btn { min-height: 44px; touch-action: manipulation; -webkit-tap-highlight-color: transparent; font-family: var(--font-body); font-variant-ligatures: none; font-feature-settings: "liga" 0, "clig" 0, "calt" 0; }
.kc-marketing .container { max-width: 1180px; }
.kc-marketing .brand-label { letter-spacing: .13em; font-size: .58rem; }
.kc-marketing .nav-menu { gap: 1.2rem; }
.kc-marketing .nav-link { font-size: .8rem; }
.kc-marketing .nav-actions > .btn { white-space: nowrap; }
.kc-hero { padding: 95px 0 90px; }
.kc-hero-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; align-items: center; }
.kc-eyebrow { color: var(--kc-accent); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.kc-marketing h1, .kc-marketing h2, .kc-marketing h3 { font-family: var(--font-display); color: #f5f7fc; line-height: 1.12; }
.kc-hero h1 { font-size: clamp(2.8rem, 4.5vw, 4.3rem); letter-spacing: -.045em; font-weight: 600; }
.kc-hero h1 em { color: var(--kc-accent); font-style: normal; }
.kc-lead { font-size: 1.05rem; color: #c5ccda; max-width: 570px; margin-top: 26px; line-height: 1.8; }
.kc-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 30px; }
.kc-text-link { color: #dfe8f4; font-size: .88rem; font-weight: 600; text-decoration: none; }
.kc-text-link:hover { color: var(--kc-accent); }
.kc-hero-note { font-size: .76rem; color: #adb9cb; margin-top: 24px; max-width: 470px; }
.kc-hero-note strong { color: #edf6fc; }
.kc-flow-card { border: 1px solid #344251; border-radius: 22px; background: linear-gradient(135deg,rgba(28,43,55,.94),rgba(9,16,26,.96)); box-shadow: 0 35px 90px #0005; transform: rotate(1deg); }
.kc-window-bar { padding: 17px 23px; border-bottom: 1px solid #ffffff16; display: flex; align-items: center; gap: 9px; color: #c8d3df; font-size: .72rem; }
.kc-window-dots { margin-left: auto; font-size: .55rem; letter-spacing: 4px; color: #637786; }
.kc-status-dot { width: 7px; height: 7px; background: var(--kc-accent); border-radius: 50%; display: inline-block; flex-shrink: 0; }
.kc-flow-body { padding: 30px; }
.kc-flow-body > .kc-eyebrow { font-size: .61rem; }
.kc-flow-step { display: flex; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid #ffffff12; }
.kc-step-num { color: var(--kc-accent); font: 500 .85rem var(--font-display); border: 1px solid #71e1c33b; border-radius: 50%; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.kc-flow-step h2 { font-size: 1.45rem; margin-bottom: 7px; }
.kc-flow-step p { font-size: .8rem; color: #b7c5d4; }
.kc-flow-note { margin-top: 24px; font-size: .72rem; color: #a9b8c8; }
.kc-section { padding: 70px 0; scroll-margin-top: 95px; }
.kc-section-heading { max-width: 690px; margin-bottom: 32px; }
.kc-section-heading h2, .kc-founder h2, .kc-final h2 { font-size: clamp(2rem,3.2vw,3rem); font-weight: 500; letter-spacing: -.025em; }
.kc-section-heading > p:last-child { margin-top: 16px; color: #bac6d6; }
.kc-grid { display: grid; gap: 22px; }
.kc-grid-two { grid-template-columns: repeat(2,1fr); }
.kc-grid-three { grid-template-columns: repeat(3,1fr); }
.kc-grid-four { grid-template-columns: repeat(4,1fr); gap: 32px; }
.kc-card { padding: 32px; border: 1px solid #ffffff20; border-radius: 20px; background: rgba(15,23,35,.83); }
.kc-card h3 { font-size: 1.5rem; font-weight: 500; margin-bottom: 16px; }
.kc-card p { color: #bdc9d8; font-size: .9rem; }
.kc-audience { text-decoration: none; display: block; transition: border-color .2s, background .2s; }
.kc-audience:hover { border-color: #71e1c36b; background: #13232b; }
.kc-audience h3 { font-size: 1.85rem; }
.kc-audience .kc-text-link { display: block; margin-top: 25px; color: var(--kc-accent); }
.kc-example-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.kc-example-copy h3 { font-size: 1.25rem; margin: 24px 0 10px; }
.kc-example-copy p { color: #bdc9d8; }
.kc-note { font-size: .78rem !important; color: #aebdd0 !important; margin-top: 20px; }
.kc-demo-label { color: #9cb4c4; font-size: .68rem; margin-bottom: 24px; display: flex; align-items: center; gap: 8px; }
.kc-demo dl { margin: 20px 0 24px; }
.kc-demo dl > div { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid #ffffff12; padding: 12px 0; font-size: .82rem; }
.kc-demo dt { color: #aab8c7; }
.kc-demo dd { color: #f1f5fa; text-align: right; }
.kc-demo-result { padding: 20px; border-left: 2px solid var(--kc-accent); background: #71e1c30a; margin-top: 24px; }
.kc-demo-result strong { color: var(--kc-accent); font-size: .85rem; }
.kc-demo-result p { margin-top: 10px; font-size: .82rem; }
.kc-tool { padding: 26px; }
.kc-tool-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.kc-tool-form { display:grid; gap:14px; }
.kc-tool-form label { display:grid; gap:7px; color:#aebdca; font-size:.72rem; font-weight:600; }
.kc-tool-form select, .kc-tool-form input { width:100%; min-height:44px; padding:10px 12px; border:1px solid #ffffff25; border-radius:10px; background:#0b1a23; color:#f3f8fc; font:inherit; }
.kc-tool-check { grid-template-columns:auto 1fr !important; align-items:center; gap:10px !important; }
.kc-tool-check input { width:18px; min-height:18px; }
.kc-tool-output { border:1px solid #71e1c33d; border-radius:14px; background:#71e1c309; padding:20px; }
.kc-tool-output h3 { margin:0 0 14px; font-size:1.15rem; }
.kc-tool-metric { color:#fff; font:600 1.65rem var(--font-display); margin-bottom:8px; }
.kc-tool-summary { color:#c2d0dc; font-size:.8rem; line-height:1.65; }
.kc-workflow-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:17px; }
.kc-workflow-steps span { padding:10px; border:1px solid #ffffff18; border-radius:9px; color:#afc1cf; font-size:.66rem; text-align:center; }
.kc-demo-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.kc-demo-tab { min-height:42px; border:1px solid #ffffff24; border-radius:999px; padding:8px 14px; background:#0d1b25; color:#c5d1dc; font:600 .72rem var(--font-body); cursor:pointer; }
.kc-demo-tab[aria-selected="true"] { color:#07120f; background:var(--kc-accent); border-color:var(--kc-accent); }
.kc-demo-panel { border-top:1px solid #ffffff15; padding-top:18px; }
.kc-mini-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.kc-mini-choice { min-height:40px; border:1px solid #ffffff22; border-radius:9px; background:#10212b; color:#e7eff6; padding:8px 12px; font:600 .72rem var(--font-body); cursor:pointer; }
.kc-mini-choice[aria-pressed="true"] { border-color:var(--kc-accent); color:var(--kc-accent); background:#71e1c312; }
.kc-staff-card { margin-top:15px; padding:15px; border-left:2px solid var(--kc-accent); background:#71e1c30a; }
.kc-staff-card strong { color:var(--kc-accent); font-size:.8rem; }
.kc-staff-card ul { margin:10px 0 0; padding-left:18px; color:#bdcbd7; font-size:.75rem; line-height:1.7; }
.kc-package { display: flex; flex-direction: column; }
.kc-package h3 { min-height: 54px; }
.kc-package .kc-price, .kc-price { color: #fff; font-family: var(--font-display); font-size: 2.4rem; letter-spacing: -.03em; line-height: 1.2; margin-bottom: 18px; }
.kc-price span { font: 400 .8rem var(--font-body); color: #aebed0; letter-spacing: 0; }
.kc-price small { font-size: .85rem; letter-spacing: 0; }
.kc-package ul { padding: 20px 0 25px; list-style: none; flex: 1; }
.kc-package li { font-size: .8rem; color: #c5d0dd; padding: 9px 0 9px 21px; position: relative; }
.kc-package li::before { content: '✓'; color: var(--kc-accent); position: absolute; left: 0; }
.kc-package .btn { width: 100%; justify-content: center; font-size: .79rem; padding: 14px 12px; white-space: normal; }
.kc-featured { border-color: #71e1c380; background: linear-gradient(155deg,#15302c,#101927 80%); box-shadow: 0 0 35px #71e1c309; }
.kc-scope-note { margin-top: 25px; font-size: .78rem; color: #abbacd; line-height: 1.8; }
.kc-scope-note p + p { margin-top: 10px; }
.kc-blueprint { margin-top: 34px; padding: 28px 32px; border: 1px solid #ffffff24; border-radius: 16px; display: flex; gap: 32px; justify-content: space-between; align-items: center; }
.kc-blueprint .kc-eyebrow { margin-bottom: 8px; }
.kc-blueprint h3 { font-size: 1.35rem; margin-bottom: 10px; }
.kc-blueprint p:last-child { max-width: 650px; color: #bac7d7; font-size: .82rem; }
.kc-blueprint .btn { flex-shrink: 0; }
.kc-process h3 { font-size: 1.25rem; margin: 22px 0 14px; }
.kc-process p { font-size: .86rem; color: #b8c6d6; }
.kc-founder { display: flex; align-items: center; gap: 42px; padding: 42px; }
.kc-founder img { object-fit: cover; border-radius: 20px; flex-shrink: 0; }
.kc-founder p { margin-top: 16px; }
.kc-founder .kc-eyebrow { margin-top: 0; color: var(--kc-accent); }
.kc-founder-points { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 24px; font-size: .76rem; color: var(--kc-accent); }
.kc-faq { max-width: 850px !important; }
.kc-faq details { border-bottom: 1px solid #ffffff21; }
.kc-faq summary { padding: 23px 32px 23px 0; cursor: pointer; font-size: 1rem; color: #eef3f8; }
.kc-faq details p { padding-bottom: 24px; color: #bac8d9; font-size: .9rem; }
.kc-final { text-align: center; padding: 55px 30px; background: linear-gradient(135deg,#16302d,#111d31); }
.kc-final > p { margin-top: 20px; }
.kc-final .kc-eyebrow { color: var(--kc-accent); margin-top: 0; }
.kc-final .kc-actions { justify-content: center; }
.kc-footer { display: flex; justify-content: space-between; gap: 50px; }
.kc-footer-brand { font-family: var(--font-display); font-size: 1.2rem; letter-spacing: .08em; color: #fff; }
.kc-footer p, .kc-footer a { font-size: .8rem; color: #b9c7d8; }
.kc-footer p { margin: 12px 0; }
.kc-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px; }
.kc-anchor { display: block; scroll-margin-top: 100px; }
[hidden] { display: none !important; }
@media (max-width: 1100px) {
  .kc-marketing .nav-menu { gap: .75rem; }
  .kc-marketing .nav-link { font-size: .72rem; }
  .kc-marketing .nav-actions { gap: .5rem; }
  .kc-marketing .nav-actions > .btn { padding: .7rem .9rem; font-size: .75rem; }
  .kc-hero-grid { gap: 30px; }
  .kc-card { padding: 25px; }
  .kc-package .kc-price { font-size: 2rem; }
}
@media (max-width: 900px) {
  .kc-hero-grid, .kc-example-grid { grid-template-columns: 1fr; gap: 38px; }
  .kc-hero { padding: 80px 0 45px; }
  .kc-hero h1 { font-size: clamp(2.8rem,7vw,4.2rem); max-width: 700px; }
  .kc-flow-card { max-width: 620px; width: 100%; transform: none; }
  .kc-grid-three { grid-template-columns: 1fr; }
  .kc-grid-four { grid-template-columns: 1fr 1fr; }
  .kc-package h3 { min-height: 0; }
  .kc-package .btn { width: auto; align-self: flex-start; padding: 14px 22px; }
  .kc-blueprint { align-items: flex-start; flex-direction: column; gap: 22px; }
}
@media (max-width: 700px) {
  .kc-tool-grid { grid-template-columns:1fr; }
  .kc-workflow-steps { grid-template-columns:1fr; }
  .kc-demo-tab { flex:1 1 120px; }
}
@media (max-width: 768px) {
  .kc-marketing .nav-link { font-size: 1rem; }
  .kc-marketing .nav-menu { gap: 1rem; }
  .kc-marketing .nav-actions > .btn { display: none; }
  .kc-marketing #desktopAuthContainer { display: none !important; }
  .kc-section { padding: 45px 0; }
  .kc-grid-two { grid-template-columns: 1fr; }
  .kc-founder { align-items: flex-start; flex-direction: column; gap: 24px; padding: 28px; }
  .kc-founder img { width: 125px; height: 125px; }
  .kc-footer { flex-direction: column; gap: 28px; }
}
@media (max-width: 480px) {
  .kc-hero h1 { font-size: 2.75rem; }
  .kc-hero { padding-top: 65px; }
  .kc-lead { font-size: .95rem; }
  .kc-actions { gap: 18px; }
  .kc-flow-body { padding: 23px; }
  .kc-grid-four { grid-template-columns: 1fr; gap: 28px; }
  .kc-process { display: grid; grid-template-columns: 38px 1fr; gap: 0 18px; }
  .kc-process h3 { margin: 8px 0 12px; }
  .kc-process p { grid-column: 2; }
  .kc-window-dots { display: none; }
  .kc-blueprint { padding: 24px; }
  .kc-final { padding: 35px 22px; }
}
