/* ==========================================================================
   Kentuckiana Commercial Co. — Site stylesheet
   Single source of truth. Design tokens (verbatim from design-system/tokens.css)
   + production component layer built from the locked styleguide.
   Brand DNA: dark, cool, corporate. Navy is a PRIMARY SURFACE. Cobalt is the
   single sharp accent. Cool slate neutrals. Archivo (display) + Public Sans.
   ========================================================================== */

/* ---------------------------------------------------------------- TOKENS */
:root {
  --kcc-navy:           #0D1B2A;
  --kcc-navy-deep:      #081320;
  --kcc-navy-700:       #14243A;
  --kcc-navy-600:       #1B2F4D;
  --kcc-cobalt:         #2563EB;
  --kcc-cobalt-bright:  #3B82F6;
  --kcc-cobalt-deep:    #1D4ED8;
  --kcc-cobalt-tint:    #EFF4FE;

  --kcc-paper:    #F7F9FC;
  --kcc-surface:  #FFFFFF;
  --kcc-slate-100:#F1F5F9;
  --kcc-slate-200:#E2E8F0;
  --kcc-slate-300:#CBD5E1;
  --kcc-slate-400:#94A3B8;
  --kcc-slate-500:#64748B;
  --kcc-slate-600:#475569;
  --kcc-slate-700:#334155;
  --kcc-white:    #FFFFFF;

  --kcc-success: #16A34A;
  --kcc-error:   #DC2626;
  --kcc-warning: #B45309;

  /* role tokens — light context (default) */
  --kcc-bg:          var(--kcc-paper);
  --kcc-surface-bg:  var(--kcc-surface);
  --kcc-text:        var(--kcc-navy);
  --kcc-text-muted:  var(--kcc-slate-500);
  --kcc-border:      var(--kcc-slate-200);
  --kcc-accent:      var(--kcc-cobalt);
  --kcc-accent-hover:var(--kcc-cobalt-deep);

  --kcc-font-display: 'Archivo', system-ui, -apple-system, sans-serif;
  --kcc-font-body:    'Public Sans', system-ui, -apple-system, sans-serif;
  --kcc-font-mono:    'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;

  --kcc-text-xs:   0.75rem;
  --kcc-text-sm:   0.875rem;
  --kcc-text-base: 1rem;
  --kcc-text-lg:   1.125rem;
  --kcc-h4:        1.375rem;
  --kcc-h3:        clamp(1.5rem, 2.4vw, 1.875rem);
  --kcc-h2:        clamp(1.875rem, 3.4vw, 2.5rem);
  --kcc-h1:        clamp(2.5rem, 5vw, 3.5rem);
  --kcc-display:   clamp(3rem, 6.5vw, 4.5rem);

  --kcc-lh-tight: 1.05;
  --kcc-lh-head:  1.15;
  --kcc-lh-body:  1.65;

  --kcc-fw-regular: 400;
  --kcc-fw-medium:  500;
  --kcc-fw-semibold:600;
  --kcc-fw-bold:    700;
  --kcc-fw-display: 800;

  --kcc-tracking-tight: -0.02em;
  --kcc-tracking-label: 0.16em;

  --kcc-space-1: 4px;  --kcc-space-2: 8px;  --kcc-space-3: 12px; --kcc-space-4: 16px;
  --kcc-space-5: 20px; --kcc-space-6: 24px; --kcc-space-8: 32px; --kcc-space-10: 40px;
  --kcc-space-12: 48px; --kcc-space-16: 64px; --kcc-space-20: 80px; --kcc-space-24: 96px;

  --kcc-radius-sm: 2px;
  --kcc-radius:    4px;
  --kcc-radius-lg: 6px;
  --kcc-radius-pill: 999px;

  --kcc-shadow-sm: 0 1px 2px rgba(13,27,42,.06);
  --kcc-shadow:    0 6px 20px rgba(13,27,42,.08);
  --kcc-shadow-lg: 0 20px 48px rgba(13,27,42,.14);

  --kcc-container:  1200px;
  --kcc-container-narrow: 760px;
  --kcc-section-y:  clamp(56px, 8vw, 120px);
  --kcc-gutter:     clamp(20px, 4vw, 40px);
  --kcc-ease:       cubic-bezier(.22,.61,.36,1);
  --kcc-transition: 200ms var(--kcc-ease);

  --kcc-header-h: 72px;
}

.kcc-dark {
  --kcc-bg:           var(--kcc-navy);
  --kcc-surface-bg:   var(--kcc-navy-700);
  --kcc-text:         #FFFFFF;
  --kcc-text-muted:   #8AA0C0;
  --kcc-border:       rgba(255,255,255,.12);
  --kcc-accent:       var(--kcc-cobalt-bright);
  --kcc-accent-hover: #60A5FA;
}

/* ---------------------------------------------------------------- BASE */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--kcc-font-body);
  color:var(--kcc-text);
  background:var(--kcc-bg);
  line-height:var(--kcc-lh-body);
  font-size:var(--kcc-text-base);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--kcc-accent);text-decoration:none}
::selection{background:var(--kcc-cobalt);color:#fff}
:focus-visible{outline:2px solid var(--kcc-cobalt);outline-offset:2px;border-radius:2px}

h1,h2,h3,h4,h5{
  font-family:var(--kcc-font-display);
  font-weight:var(--kcc-fw-display);
  letter-spacing:var(--kcc-tracking-tight);
  line-height:var(--kcc-lh-head);
  color:var(--kcc-text);
}
h2{font-size:var(--kcc-h2);font-weight:700}
h3{font-size:var(--kcc-h3);font-weight:700}
h4{font-size:var(--kcc-h4);font-weight:700}

.wrap{max-width:var(--kcc-container);margin:0 auto;padding:0 var(--kcc-gutter);width:100%}
.wrap-narrow{max-width:var(--kcc-container-narrow);margin:0 auto;padding:0 var(--kcc-gutter)}
section{padding:var(--kcc-section-y) 0}
.section-tight{padding:clamp(40px,5vw,72px) 0}

.eyebrow{
  display:inline-block;font-family:var(--kcc-font-body);font-weight:var(--kcc-fw-semibold);
  font-size:var(--kcc-text-xs);letter-spacing:var(--kcc-tracking-label);
  text-transform:uppercase;color:var(--kcc-accent);margin-bottom:14px;
}
.lead{font-size:var(--kcc-text-lg);color:var(--kcc-text-muted);line-height:1.6}
.muted{color:var(--kcc-text-muted)}
.mono{font-family:var(--kcc-font-mono)}
.center{text-align:center}
.maxw-60{max-width:60ch}
.mx-auto{margin-left:auto;margin-right:auto}

/* section header block */
.sec-head{max-width:64ch}
.sec-head.center{margin:0 auto;text-align:center}
.sec-head h2{margin-bottom:14px}
.sec-head .lead{margin-top:6px}

/* ---------------------------------------------------------------- BUTTONS */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--kcc-font-body);font-weight:var(--kcc-fw-semibold);font-size:var(--kcc-text-base);
  padding:14px 26px;border-radius:var(--kcc-radius);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;transition:var(--kcc-transition);white-space:nowrap;line-height:1.1;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--kcc-accent);color:#fff;box-shadow:0 1px 2px rgba(13,27,42,.18)}
.btn-primary:hover{background:var(--kcc-accent-hover);transform:translateY(-1px);box-shadow:var(--kcc-shadow)}
.btn-secondary{background:transparent;color:var(--kcc-text);border-color:var(--kcc-slate-300)}
.btn-secondary:hover{border-color:var(--kcc-navy);background:var(--kcc-slate-100)}
.kcc-dark .btn-secondary{color:#fff;border-color:rgba(255,255,255,.28)}
.kcc-dark .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.btn-lg{padding:17px 34px;font-size:var(--kcc-text-lg)}
.btn-block{width:100%}
.link-more{
  display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--kcc-text-sm);
  color:var(--kcc-accent);border-bottom:1px solid currentColor;padding-bottom:1px;transition:gap var(--kcc-transition);
}
.link-more:hover{gap:10px}

/* ---------------------------------------------------------------- HEADER */
.site-header{
  position:sticky;top:0;z-index:50;background:var(--kcc-navy);
  border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow var(--kcc-transition),background var(--kcc-transition);
}
.site-header.scrolled{box-shadow:0 8px 30px rgba(0,0,0,.28);background:rgba(8,19,32,.96);backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--kcc-header-h);gap:24px}
.nav .brand{display:flex;align-items:center;flex:none}
.nav .brand svg{height:38px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{
  color:#C4D2E6;font-weight:var(--kcc-fw-medium);font-size:var(--kcc-text-sm);
  letter-spacing:.01em;position:relative;padding:6px 0;transition:color var(--kcc-transition);
}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff}
.nav-links a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--kcc-cobalt-bright);
}
.nav-cta{display:flex;align-items:center;gap:12px;flex:none}
.nav-cta .btn{padding:11px 20px;font-size:var(--kcc-text-sm)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  content:"";display:block;width:24px;height:2px;background:#fff;transition:var(--kcc-transition);position:relative;
}
.nav-toggle span::before{position:absolute;top:-7px}
.nav-toggle span::after{position:absolute;top:7px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{top:0;transform:rotate(45deg)}
.nav-open .nav-toggle span::after{top:0;transform:rotate(-45deg)}

/* ---------------------------------------------------------------- HERO */
.hero{position:relative;overflow:hidden;background:var(--kcc-navy);color:#fff;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-bg::after{ /* cohesive uniform navy wash — one even tone (no seam, no off-color patch) */
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(9,19,33,.85) 0%, rgba(8,17,29,.9) 100%),
    radial-gradient(130% 120% at 26% 42%, rgba(8,19,32,.28), rgba(8,19,32,0) 72%);
}
.hero::before{ /* faint cobalt glow */
  content:"";position:absolute;right:-8%;top:-30%;width:46%;height:150%;z-index:-1;
  background:radial-gradient(circle at 60% 40%,rgba(59,130,246,.28),transparent 62%);pointer-events:none;
}
.hero .wrap{position:relative;z-index:1;padding-top:clamp(24px,3.2vw,44px);padding-bottom:clamp(56px,7vw,92px)}
.hero .eyebrow{color:var(--kcc-cobalt-bright)}
.hero h1{font-size:var(--kcc-display);max-width:17ch;margin:0 0 22px;color:#fff}
.hero .lead{font-size:var(--kcc-text-lg);color:#C4D2E6;max-width:58ch;margin:0 0 34px}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
/* compact inner-page hero (no full photo) */
.page-hero{background:var(--kcc-navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;right:-10%;top:-40%;width:44%;height:170%;z-index:-1;background:radial-gradient(circle at 60% 40%,rgba(59,130,246,.22),transparent 64%)}
.page-hero::after{content:"";position:absolute;right:clamp(-20px,3vw,56px);top:50%;transform:translateY(-50%);width:clamp(200px,24vw,360px);height:clamp(200px,24vw,360px);z-index:-1;opacity:.2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='15' y='19' width='44' height='44' fill='none' stroke='%233B82F6' stroke-width='1.4'/%3E%3Crect x='41' y='37' width='44' height='44' fill='none' stroke='%233B82F6' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat}
.page-hero.has-photo::after{display:none}
.page-hero .wrap{padding-top:clamp(48px,6vw,76px);padding-bottom:clamp(44px,6vw,68px)}
.page-hero .eyebrow{color:var(--kcc-cobalt-bright)}
.page-hero h1{color:#fff;font-size:var(--kcc-h1);max-width:20ch;margin:0 0 16px}
.page-hero .lead{color:#C4D2E6;max-width:62ch}
.page-hero.has-photo .hero-bg{position:absolute;inset:0;z-index:-2}
.page-hero.has-photo .hero-bg img{width:100%;height:100%;object-fit:cover}
.page-hero.has-photo .hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(150% 135% at 24% 46%,rgba(8,19,32,.95) 0%,rgba(9,20,34,.85) 42%,rgba(11,23,38,.7) 78%,rgba(12,25,40,.64) 100%)}

/* ---------------------------------------------------------------- TRUST STRIP */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--kcc-border);border:1px solid var(--kcc-border)}
.trust>div{background:var(--kcc-bg);padding:24px 22px}
.trust .t-k{font-family:var(--kcc-font-mono);font-size:var(--kcc-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--kcc-accent);margin-bottom:7px}
.trust .t-v{font-weight:var(--kcc-fw-semibold);font-size:var(--kcc-text-base);line-height:1.3}
/* trust strip riding the bottom of the hero */
.hero-trust{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.12)}
.hero-trust .trust{background:rgba(255,255,255,.12);border:0}
.hero-trust .trust>div{background:rgba(8,19,32,.5);backdrop-filter:blur(2px)}
.hero-trust .t-k{color:var(--kcc-cobalt-bright)}
.hero-trust .t-v{color:#fff}

/* ---------------------------------------------------------------- CARDS */
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{
  background:var(--kcc-surface-bg);border:1px solid var(--kcc-border);border-radius:var(--kcc-radius-lg);
  padding:28px;transition:var(--kcc-transition);display:flex;flex-direction:column;position:relative;
}
a.card{color:inherit}
.card:hover{box-shadow:var(--kcc-shadow);transform:translateY(-3px);border-color:var(--kcc-cobalt)}
.card .ico{
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  background:var(--kcc-cobalt-tint);border-radius:var(--kcc-radius);margin-bottom:18px;flex:none;
}
.card .ico svg{width:22px;height:22px;stroke:var(--kcc-cobalt);fill:none;stroke-width:1.8}
.kcc-dark .card .ico{background:rgba(59,130,246,.14)}
.kcc-dark .card .ico svg{stroke:var(--kcc-cobalt-bright)}
.card h4{font-size:var(--kcc-h4);margin-bottom:9px}
.card h3{margin-bottom:9px}
.card p{font-size:var(--kcc-text-sm);color:var(--kcc-text-muted);margin-bottom:0;flex:1}
.card .link-more{margin-top:16px;align-self:flex-start}
.card .tag{font-family:var(--kcc-font-mono);font-size:var(--kcc-text-xs);color:var(--kcc-slate-400);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}

/* photo card (property type with image) */
.pcard{overflow:hidden;padding:0}
.pcard .ph{aspect-ratio:16/10;overflow:hidden;background:var(--kcc-navy)}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 400ms var(--kcc-ease)}
.pcard:hover .ph img{transform:scale(1.04)}
.pcard .bd{padding:24px 26px 28px}

/* ---------------------------------------------------------------- PROCESS STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{position:relative;padding-top:18px;border-top:2px solid var(--kcc-border)}
.step .n{font-family:var(--kcc-font-mono);font-size:var(--kcc-text-sm);color:var(--kcc-accent);font-weight:500;margin-bottom:10px}
.step h4{font-size:var(--kcc-text-lg);font-weight:700;margin-bottom:8px}
.step p{font-size:var(--kcc-text-sm);color:var(--kcc-text-muted)}
.kcc-dark .step{border-top-color:rgba(255,255,255,.16)}

/* ---------------------------------------------------------------- SPLIT / FEATURE */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.split .media{border-radius:var(--kcc-radius-lg);overflow:hidden;border:1px solid var(--kcc-border);position:relative}
.split .media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split-reverse .media{order:-1}

/* checklist */
.checklist{list-style:none;display:grid;gap:14px;margin:6px 0}
.checklist li{position:relative;padding-left:32px;color:var(--kcc-text);line-height:1.5}
.checklist li::before{
  content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;
  background:var(--kcc-cobalt-tint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;
}
.kcc-dark .checklist li{color:#D7E2F1}
.kcc-dark .checklist li::before{background-color:rgba(59,130,246,.16)}

/* ---------------------------------------------------------------- STAT BAND */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--kcc-border)}
.stats>div{background:var(--kcc-bg);padding:28px 22px;text-align:center}
.stats .num{font-family:var(--kcc-font-display);font-weight:800;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--kcc-text);letter-spacing:-.02em;line-height:1}
.stats .lbl{font-size:var(--kcc-text-sm);color:var(--kcc-text-muted);margin-top:8px}

/* ---------------------------------------------------------------- CTA BAND */
.cta-band{background:var(--kcc-navy);color:#fff;text-align:center;position:relative;overflow:hidden;isolation:isolate}
.cta-band::before{content:"";position:absolute;left:50%;top:-60%;width:60%;height:220%;transform:translateX(-50%);z-index:-1;background:radial-gradient(circle,rgba(59,130,246,.22),transparent 60%)}
.cta-band h2{color:#fff;max-width:22ch;margin:0 auto 16px}
.cta-band .lead{color:#C4D2E6;max-width:56ch;margin:0 auto 30px}
.cta-band .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* OMG band */
.omg-band{background:var(--kcc-navy-deep);color:#fff}
.omg-band .split{align-items:center}
.omg-band h2{color:#fff}
.omg-band .lead{color:#C4D2E6}
.omg-logos{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.omg-logos a{
  font-size:var(--kcc-text-sm);font-weight:600;color:#C4D2E6;border:1px solid rgba(255,255,255,.18);
  padding:9px 16px;border-radius:var(--kcc-radius);transition:var(--kcc-transition);
}
.omg-logos a:hover{border-color:var(--kcc-cobalt-bright);color:#fff;background:rgba(59,130,246,.1)}

/* ---------------------------------------------------------------- FORM */
.form{display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{font-weight:var(--kcc-fw-semibold);font-size:var(--kcc-text-sm);display:block;margin-bottom:7px}
.field .req{color:var(--kcc-cobalt)}
.form input,.form select,.form textarea{
  width:100%;padding:13px 15px;font-family:inherit;font-size:var(--kcc-text-base);color:var(--kcc-text);
  background:var(--kcc-surface);border:1.5px solid var(--kcc-border);border-radius:var(--kcc-radius);transition:var(--kcc-transition);
}
.form textarea{resize:vertical;min-height:120px}
.form input::placeholder,.form textarea::placeholder{color:var(--kcc-slate-400)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--kcc-accent);box-shadow:0 0 0 3px var(--kcc-cobalt-tint)}
.form .hint{font-size:var(--kcc-text-xs);color:var(--kcc-text-muted);margin-top:6px}
.form-card{background:var(--kcc-surface);border:1px solid var(--kcc-border);border-radius:var(--kcc-radius-lg);padding:clamp(26px,3vw,40px);box-shadow:var(--kcc-shadow-sm)}

/* ---------------------------------------------------------------- FAQ */
.faq{max-width:var(--kcc-container-narrow);margin:0 auto;display:grid;gap:0}
.faq details{border-bottom:1px solid var(--kcc-border)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--kcc-font-display);font-weight:700;font-size:var(--kcc-text-lg);color:var(--kcc-text);letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:6px;top:26px;width:14px;height:14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;transition:transform var(--kcc-transition);
}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq .ans{padding:0 0 24px;color:var(--kcc-text-muted);font-size:var(--kcc-text-base);line-height:1.7}
.faq .ans p+p{margin-top:12px}

/* ---------------------------------------------------------------- BREADCRUMB */
.crumb{font-size:var(--kcc-text-sm);color:var(--kcc-text-muted);padding:18px 0 0}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.crumb a{color:var(--kcc-text-muted)}
.crumb a:hover{color:var(--kcc-accent)}
.crumb li:not(:last-child)::after{content:"/";margin-left:8px;color:var(--kcc-slate-300)}
.crumb li[aria-current]{color:var(--kcc-text)}
.kcc-dark .crumb a,.page-hero .crumb a{color:#9DB2CE}
.page-hero .crumb{color:#9DB2CE}
.page-hero .crumb li[aria-current]{color:#fff}
.page-hero .crumb li:not(:last-child)::after{color:rgba(255,255,255,.3)}

/* ---------------------------------------------------------------- PROSE (long-form) */
.prose{max-width:var(--kcc-container-narrow);margin:0 auto;font-size:var(--kcc-text-lg);line-height:1.75;color:var(--kcc-slate-700)}
.prose h2{font-size:var(--kcc-h2);margin:48px 0 16px;color:var(--kcc-navy)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:var(--kcc-h3);margin:36px 0 12px;color:var(--kcc-navy)}
.prose p{margin-bottom:20px}
.prose ul,.prose ol{margin:0 0 20px 0;padding-left:0;list-style:none;display:grid;gap:12px}
.prose ul li{position:relative;padding-left:30px}
.prose ul li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--kcc-cobalt);border-radius:1px}
.prose ol{counter-reset:n}
.prose ol li{position:relative;padding-left:38px;counter-increment:n}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:2px;width:24px;height:24px;background:var(--kcc-cobalt-tint);color:var(--kcc-cobalt-deep);border-radius:var(--kcc-radius-sm);font-family:var(--kcc-font-mono);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.prose strong{color:var(--kcc-navy);font-weight:700}
.prose a{border-bottom:1px solid var(--kcc-slate-300)}
.prose a:hover{border-color:var(--kcc-cobalt)}

/* disclaimer / callout */
.callout{border-left:3px solid var(--kcc-cobalt);background:var(--kcc-slate-100);padding:20px 24px;border-radius:0 var(--kcc-radius) var(--kcc-radius) 0;font-size:var(--kcc-text-base);color:var(--kcc-slate-700);margin:28px 0}
.callout strong{color:var(--kcc-navy)}
.disclaimer{font-size:var(--kcc-text-sm);color:var(--kcc-text-muted);background:var(--kcc-slate-100);border:1px solid var(--kcc-border);border-radius:var(--kcc-radius);padding:18px 22px;margin:28px 0;line-height:1.6}

/* related links block */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related a{display:block;padding:18px 20px;border:1px solid var(--kcc-border);border-radius:var(--kcc-radius);background:var(--kcc-surface);font-weight:600;font-size:var(--kcc-text-sm);color:var(--kcc-text);transition:var(--kcc-transition)}
.related a:hover{border-color:var(--kcc-cobalt);color:var(--kcc-cobalt);transform:translateY(-2px);box-shadow:var(--kcc-shadow-sm)}
.related a span{display:block;font-family:var(--kcc-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--kcc-slate-400);margin-bottom:5px;font-weight:400}

/* ---------------------------------------------------------------- FOOTER */
.site-footer{background:var(--kcc-navy-deep);color:#fff;padding:clamp(56px,7vw,84px) 0 32px}
.site-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.site-footer .brand svg{height:34px;margin-bottom:18px}
.site-footer .tag{color:#8AA0C0;font-size:var(--kcc-text-sm);max-width:34ch;line-height:1.6}
.site-footer .fcontact{margin-top:18px;font-size:var(--kcc-text-sm);color:#C4D2E6;display:grid;gap:6px}
.site-footer .fcontact a{color:#C4D2E6}
.site-footer .fcontact .mono{color:#fff}
.site-footer h5{font-family:var(--kcc-font-body);font-weight:700;font-size:var(--kcc-text-xs);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.site-footer ul{list-style:none;display:grid;gap:10px}
.site-footer ul a{color:#9DB2CE;font-size:var(--kcc-text-sm);transition:color var(--kcc-transition)}
.site-footer ul a:hover{color:#fff}
.site-footer .portfolio{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:24px;font-size:var(--kcc-text-sm);color:#8AA0C0;display:flex;flex-wrap:wrap;gap:8px 0;align-items:center;justify-content:space-between}
.site-footer .portfolio .links a{color:#9DB2CE}
.site-footer .portfolio .links a:hover{color:var(--kcc-cobalt-bright)}
.site-footer .portfolio .sep{color:rgba(255,255,255,.25);margin:0 10px}
.site-footer .legal{margin-top:18px;font-size:var(--kcc-text-xs);color:#5B7196;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.site-footer .legal a{color:#7D97BD}
.site-footer .legal a:hover{color:#fff}

/* ---------------------------------------------------------------- UTIL */
.bg-surface{background:var(--kcc-surface)}
.bg-paper{background:var(--kcc-paper)}
.bg-navy{background:var(--kcc-navy)}
.divider{height:1px;background:var(--kcc-border);border:0}
.skip-link{position:absolute;left:-999px;top:0;background:var(--kcc-cobalt);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:0}
.mt-0{margin-top:0}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}
.mb-0{margin-bottom:0}

/* ---------------------------------------------------------------- RESPONSIVE */
@media (max-width:1000px){
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .site-footer .brand{grid-column:1/-1}
}
@media (max-width:880px){
  .nav-links,.nav-cta .btn{display:none}
  .nav-toggle{display:flex}
  .site-header.nav-open .nav-links{
    display:flex;position:absolute;top:var(--kcc-header-h);left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:var(--kcc-navy-deep);border-bottom:1px solid rgba(255,255,255,.1);padding:8px 0;
  }
  .site-header.nav-open .nav-links a{padding:14px var(--kcc-gutter);font-size:var(--kcc-text-base)}
  .site-header.nav-open .nav-links a[aria-current="page"]::after{display:none}
  .grid-3,.grid-4,.steps,.stats,.related{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:32px}
  .split-reverse .media{order:0}
  .trust{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .grid-3,.grid-4,.grid-2,.steps,.stats,.trust,.related,.form .row{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2.1rem,9vw,2.8rem)}
  .btn{width:100%}
  .hero .cta-row .btn,.cta-band .cta-row .btn{width:100%}
  .site-footer .cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ============================ design-review refinements ============================ */
.grid{gap:24px}                                   /* P1: premium breathing room */
.card .ico{border-radius:var(--kcc-radius-sm)}    /* P8: hard edges to match the logo */
.card .ico svg{width:24px;height:24px;stroke-width:2}
.hero .lead{max-width:52ch}                        /* P9: sharper measure */
/* (hero image filter removed — uniform navy wash handles tone; no discoloration) */
.hero-trust .trust>div{background:rgba(8,19,32,.72)} /* P10: legible cells over photo */
.kcc-dark .step{border-top-color:var(--kcc-cobalt-bright)} /* P6: cobalt step keyline */
.site-footer .legal{color:#8AA0C0}                 /* P11: WCAG contrast on navy */
.split-top{align-items:start}                       /* P4: stop the intro floating */
/* P1: Situations cards get a distinct left-keyline treatment (breaks the twin-grid mirror) */
.sit-cards .card{border-left:3px solid var(--kcc-cobalt)}
.sit-cards .card .ico{width:auto;height:auto;background:none;border-radius:0;margin:0 0 12px}
.sit-cards .card .ico svg{width:26px;height:26px}
.sit-cards .card:hover{border-left-color:var(--kcc-cobalt-deep)}
