/* Koon & Pipes shared design layer (2026-09-28 refresh).
   Loaded LAST on every page so the whole site shares one type system, header, footer, button style and
   readable text sizes. Page stylesheets still handle layout specific to their page type. */

@font-face{font-family:"Figtree";src:url("/assets/fonts/figtree-var.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("/assets/fonts/figtree-var-italic.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-var.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-var-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}

:root{
  --kp-green:#0b261b;--kp-green-2:#143e2e;--kp-gold:#c8a66a;--kp-gold-light:#ead5a7;--kp-gold-text:#7a5f2e;--kp-tint:#f4ead3;
  --kp-ink:#18241e;--kp-muted:#46544d;--kp-line:#e3ddd1;--kp-paper:#faf8f3;
  --kp-sans:"Figtree","Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --kp-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --kp-gold-grad:linear-gradient(135deg,#ead5a7,#c8a66a);
  /* page stylesheets read these */
  --sans:var(--kp-sans);--serif:var(--kp-serif)
}

/* ---------- Type ---------- */
html body{font-family:var(--kp-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--kp-serif)!important;letter-spacing:-.005em}
.hero-kicker,.eyebrow,.engagement-head .eyebrow,.section-heading>span,.blog-eyebrow,.recognition-kicker,
.recognition-copy>span,.blog-card-meta span,.article-meta span,.library-count,.updated,.hero .eyebrow{letter-spacing:.12em}

/* Readable body text (was 9-12px on articles, legal pages, cards) */
.article-body p,.article-body li,.article-body blockquote{font-size:18px!important;line-height:1.75!important;color:var(--kp-ink)}
.article-body h2{font-size:clamp(26px,2.6vw,32px)!important;line-height:1.2!important;margin-top:1.6em!important}
.article-body aside.key p,.article-body aside.key li{font-size:17px!important}
.article-body aside.key strong,.article-meta span{font-size:12px!important}
.article-disclaimer,.article-disclaimer p{font-size:14px!important;line-height:1.6!important}
.article-sidebar nav a{font-size:14px!important;line-height:1.45!important}
.article-hero p,.insights-hero p{font-size:18px!important;line-height:1.6!important}
.article-card__body p,.blog-card p,.blog-card-body p{font-size:16px!important;line-height:1.6!important}
.legal-main p,.legal-main li{font-size:17px!important;line-height:1.7!important}
.legal-main .notice{font-size:15px!important}
.legal-hero p{font-size:18px!important}
.simple-card p{font-size:17px!important;line-height:1.65!important}
.engagement-step p,.service-card p,.recognition-copy p{font-size:15.5px!important;line-height:1.65!important}
.engagement-head p,.blog-heading p,.recognition-heading p{font-size:17px!important;line-height:1.65!important}
.intro-copy p,.firm-intro p{font-size:17px}

/* Small labels: at least 12px and a darker gold that passes AA contrast on light backgrounds */
.recognition-copy>span,.blog-card-meta span,.section-heading>span,.blog-eyebrow,.library-count,.updated,
.engagement-head .eyebrow,.recognition-kicker,.article-card__body .article-meta span{font-size:12px!important;color:var(--kp-gold-text)!important}
.newsletter-consent{font-size:12px!important}

/* ---------- Buttons: one style, gold = action ---------- */
.kp-btn,.intro-cta,.article-actions a:not(.secondary),.simple-actions a:not(.secondary),.cta-box a,
#consultModal .intake-button:not(.intake-button--secondary),.ref-button--hero{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;
  background:var(--kp-gold-grad)!important;color:var(--kp-green)!important;border:1px solid var(--kp-gold)!important;border-radius:3px;
  font:700 13px/1 var(--kp-sans)!important;letter-spacing:.08em!important;text-transform:uppercase;text-decoration:none!important;
  box-shadow:0 8px 20px rgba(129,92,39,.22);transition:background .2s ease,color .2s ease,transform .2s ease}
.kp-btn:hover,.intro-cta:hover,.article-actions a:not(.secondary):hover,.simple-actions a:not(.secondary):hover,.cta-box a:hover,
#consultModal .intake-button:not(.intake-button--secondary):hover,.ref-button--hero:hover{background:var(--kp-green)!important;color:var(--kp-gold-light)!important;border-color:var(--kp-green)!important;transform:translateY(-1px)}
.ref-button--hero::before{display:none}
.kp-btn--ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important;box-shadow:none}
.kp-btn--ghost:hover{background:#fff!important;color:var(--kp-green)!important}

/* ---------- Shared header (sub-pages) ---------- */
.kp-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--kp-line);box-shadow:0 2px 14px rgba(11,38,27,.05)}
.kp-header__inner{max-width:1200px;margin:0 auto;padding:0 24px;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.kp-header__brand img{display:block;width:210px;height:auto}
.kp-nav{display:flex;align-items:center;gap:28px}
.kp-nav a{font:700 12.5px/1 var(--kp-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--kp-green);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.kp-nav a:hover,.kp-nav a[aria-current="page"]{border-bottom-color:var(--kp-gold)}
.kp-nav a.kp-btn{border-bottom:1px solid var(--kp-gold);padding:0 18px;min-height:42px}
.kp-menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--kp-line);border-radius:3px;background:var(--kp-tint);color:var(--kp-green);font-size:20px;line-height:1;cursor:pointer}
@media (max-width:900px){
  .kp-header__inner{min-height:64px;padding:0 16px}
  .kp-header__brand img{width:170px}
  .kp-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .kp-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--kp-line);box-shadow:0 14px 26px rgba(11,38,27,.12);padding:8px 16px 16px}
  .kp-nav.is-open{display:flex}
  .kp-nav a{padding:15px 4px;border-bottom:1px solid var(--kp-line);font-size:14px}
  .kp-nav a.kp-btn{margin-top:14px;min-height:48px}
}
/* old sub-page header markup is replaced; hide leftovers defensively */
.site-head{display:none!important}

/* ---------- Shared footer (every page) ---------- */
.kp-footer{background:var(--kp-green);color:#d6e2da;font:400 15px/1.6 var(--kp-sans)}
.kp-footer a{color:#f1e6cc;text-decoration:none}
.kp-footer a:hover{color:#fff;text-decoration:underline}
.kp-footer__grid{max-width:1200px;margin:0 auto;padding:56px 24px 34px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.kp-footer__brand img{width:220px;height:auto;display:block;margin-bottom:18px}
.kp-footer h2{font:700 12.5px/1 var(--kp-sans)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--kp-gold-light);margin:6px 0 16px}
.kp-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.kp-footer address{font-style:normal;display:grid;gap:6px}
.kp-footer__social{display:flex;gap:10px;margin-top:18px}
.kp-footer__social a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(234,213,167,.45);border-radius:50%}
.kp-footer__social svg{width:17px;height:17px;fill:currentColor}
.kp-footer__legal{max-width:1200px;margin:0 auto;padding:22px 24px 30px;border-top:1px solid rgba(234,213,167,.18);font-size:13px;line-height:1.6;color:#b9c9be;display:grid;gap:8px}
@media (max-width:900px){.kp-footer__grid{grid-template-columns:1fr 1fr;gap:28px;padding:44px 20px 26px}.kp-footer__brand{grid-column:1/-1}}
@media (max-width:520px){.kp-footer__grid{grid-template-columns:1fr}}
/* old footers are replaced; keep the page filling the viewport so the footer sits at the bottom */
body:has(> .kp-header){min-height:100vh;display:flex;flex-direction:column}
body:has(> .kp-header)>main{flex:1 0 auto}

/* ---------- Mobile call / consultation bar (every page) ---------- */
.kp-mobilebar{display:none}
@media (max-width:760px){
  .kp-mobilebar{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--kp-line);box-shadow:0 -8px 22px rgba(11,38,27,.12)}
  .kp-mobilebar a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:3px;font:700 13px/1 var(--kp-sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
  .kp-mobilebar__call{border:1px solid var(--kp-green);color:var(--kp-green);background:#fff}
  .kp-mobilebar__consult{background:var(--kp-gold-grad);color:var(--kp-green);border:1px solid var(--kp-gold)}
  body{padding-bottom:72px}
  .back-to-top,#backToTop{bottom:84px!important}
}

/* ---------- Team page: three equal columns, uniform 4:5 headshot crops ---------- */
.kp-team-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.kp-team-grid .card{display:flex;flex-direction:column}
.kp-team-grid .card img{width:100%;height:auto!important;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%}
.kp-team-grid .card strong{margin-top:auto}
@media (max-width:900px){.kp-team-grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:560px){.kp-team-grid{grid-template-columns:1fr!important}}

/* ---------- Practice pages: related reading + related practice links ---------- */
.kp-practice-extras{margin:36px 0 28px}
.kp-extra{background:#fff;border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);padding:24px 26px}
.kp-extra h2{margin:0 0 14px;font-size:22px!important;line-height:1.2;color:var(--kp-green)}
.kp-extra--links h2+ul{margin-bottom:22px}
.kp-extra ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 28px}
.kp-extra ul a{color:var(--kp-green);font-weight:600;text-decoration:underline;text-decoration-color:var(--kp-gold);text-underline-offset:3px}

/* ---------- Matter pages (non-competes, collections, construction, buying/selling a business) ---------- */
.kp-matter{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:8px 0 8px}
.kp-matter__block{background:#fff;border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);padding:26px 28px}
.kp-matter__block h2{margin:0 0 14px;font-size:24px!important;line-height:1.2;color:var(--kp-green)}
.kp-matter__block ul{margin:0;padding-left:1.15em;display:grid;gap:10px}
.kp-matter__block li{font-size:16.5px;line-height:1.6;color:var(--kp-ink)}
.kp-matter__block li::marker{color:var(--kp-gold)}
.kp-matter__note{margin:18px 0 0;font-size:13.5px!important;line-height:1.55;color:var(--kp-muted)}
@media (max-width:860px){.kp-matter{grid-template-columns:1fr}}

/* ---------- Homepage: Google reviews carousel ---------- */
.kp-reviews{background:var(--kp-paper);padding:64px 0 56px;border-top:1px solid var(--kp-line);border-bottom:1px solid var(--kp-line)}
.kp-reviews__head{text-align:center;max-width:760px;margin:0 auto 28px}
.kp-reviews__kicker{display:block;font:700 12px/1.4 var(--kp-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--kp-gold-text);margin-bottom:10px}
.kp-reviews__head h2{margin:0 0 12px;font-size:clamp(28px,3.4vw,40px);line-height:1.15;color:var(--kp-green)}
.kp-reviews__summary{margin:0;font:600 18px/1.4 var(--kp-sans);color:var(--kp-ink)}
.kp-reviews__stars,.kp-review__stars{color:#c9971c;letter-spacing:.08em}
.kp-reviews__viewport{overflow:hidden;margin:0 -24px;padding:6px 24px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.kp-reviews__track{list-style:none;margin:0;padding:0;display:flex;gap:20px;width:max-content}
.kp-reviews__viewport.is-looping .kp-reviews__track{animation:kp-reviews-scroll var(--kp-reviews-duration,60s) linear infinite}
.kp-reviews__viewport:hover .kp-reviews__track,.kp-reviews__viewport:focus-within .kp-reviews__track{animation-play-state:paused}
@keyframes kp-reviews-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}
.kp-review{flex:0 0 340px;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);padding:22px 24px;box-shadow:0 10px 24px rgba(11,38,27,.06)}
.kp-review__stars{margin:0;font-size:16px}
.kp-review__text{margin:0;font:400 16px/1.6 var(--kp-sans);color:var(--kp-ink);flex:1}
.kp-review__author{margin:0;font:700 13px/1.4 var(--kp-sans);letter-spacing:.04em;color:var(--kp-muted)}
.kp-reviews__actions{text-align:center;margin:26px 0 0}
.kp-reviews__link{font:700 13px/1 var(--kp-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kp-green);text-decoration:underline;text-decoration-color:var(--kp-gold);text-underline-offset:4px}
.kp-reviews__disclaimer{max-width:760px;margin:14px auto 0;text-align:center;font-size:13px;line-height:1.55;color:var(--kp-muted)}
@media (prefers-reduced-motion:reduce){
  .kp-reviews__viewport{overflow-x:auto;mask-image:none}
  .kp-reviews__viewport.is-looping .kp-reviews__track{animation:none}
  .kp-review[aria-hidden="true"]{display:none}
}
@media (max-width:560px){.kp-review{flex-basis:280px}}

/* ---------- Homepage: compact recognition strip (near the bottom) ---------- */
.kp-recognition{background:#fff;padding:26px 0;border-top:1px solid var(--kp-line)}
.kp-recognition__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 44px}
.kp-recognition__item{display:flex;align-items:center;gap:14px;margin:0}
.kp-recognition__item img{height:64px;width:auto;object-fit:contain}
.kp-recognition__item figcaption{display:grid;gap:2px}
.kp-recognition__item strong{font:700 14px/1.3 var(--kp-sans);color:var(--kp-green)}
.kp-recognition__item span{font-size:13px;color:var(--kp-muted)}
.kp-recognition__note{flex-basis:100%;margin:0;text-align:center;font-size:11.5px;color:var(--kp-muted)}

/* ---------- Practice hub: index of specific matter pages ---------- */
.kp-matter-index{margin:40px 0 28px;background:#fff;border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);padding:26px 28px}
.kp-matter-index h2{margin:0 0 18px;font-size:26px!important;color:var(--kp-green)}
.kp-matter-index__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px 32px}
.kp-matter-index h3{margin:0 0 10px;font:700 12.5px/1.3 var(--kp-sans)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--kp-gold-text)}
.kp-matter-index ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kp-matter-index a{color:var(--kp-green);font-weight:600;text-decoration:underline;text-decoration-color:var(--kp-gold);text-underline-offset:3px}

/* ---------- Homepage: practice cards (link straight to practice and matter pages) ---------- */
.kp-practices{background:#fff;padding:72px 0 64px}
.kp-practices .section-heading{text-align:center;margin-bottom:34px}
.kp-practices__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kp-practice-card{display:flex;flex-direction:column;background:var(--kp-paper);border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);padding:26px 24px 22px}
.kp-practice-card h3{margin:0 0 10px;font-size:23px;line-height:1.2}
.kp-practice-card h3 a{color:var(--kp-green);text-decoration:none}
.kp-practice-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--kp-gold)}
.kp-practice-card p{margin:0 0 16px;font-size:15.5px;line-height:1.6;color:var(--kp-muted)}
.kp-practice-card ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;flex:1}
.kp-practice-card li a{font-size:15px;font-weight:600;color:var(--kp-green);text-decoration:underline;text-decoration-color:rgba(200,166,106,.7);text-underline-offset:3px}
.kp-practice-card__more{font:700 12px/1.3 var(--kp-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kp-gold-text);text-decoration:none}
.kp-practice-card__more:hover{color:var(--kp-green)}
@media (max-width:1100px){.kp-practices__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.kp-practices__grid{grid-template-columns:1fr}.kp-practices{padding:52px 0 44px}}
.team-section .section-heading p:empty{display:none}
.kp-matter__block li a{color:var(--kp-green);font-weight:600;text-decoration:underline;text-decoration-color:var(--kp-gold);text-underline-offset:3px}
.kp-matter--groups{margin-bottom:8px}
.content .section-title{margin-top:0}

/* ---------- Typography polish (2026-09-29): no one-word last lines, balanced headings ---------- */
h1,h2,h3,h4,.hero-copy,.kp-reviews__summary,.section-heading p{text-wrap:balance}
p,li,blockquote,figcaption{text-wrap:pretty}
.hero-copy{max-width:46ch!important;margin-left:auto;margin-right:auto}
.hero .hero-kicker{margin-bottom:14px}

/* Practice cards: align title / description / links / footer rows across cards (subgrid). */
@supports (grid-template-rows:subgrid){
  .kp-practices__grid{grid-auto-rows:auto}
  .kp-practice-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
  .kp-practice-card ul{align-content:start}
  .kp-practice-card__more{align-self:end}
}
/* Grouped matter lists: a lone last box spans the full row instead of leaving an empty half. */
.kp-matter--groups>.kp-matter__block:last-child:nth-child(odd){grid-column:1/-1}
.kp-matter--groups>.kp-matter__block:last-child:nth-child(odd) ul{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));column-gap:28px}

/* =====================================================================================
   Design pass (2026-09-29): one container, one header, consistent rhythm and details.
   ===================================================================================== */
:root{--kp-container:1160px;--kp-gutter:20px;--kp-section:clamp(56px,7vw,96px)}
.wrap{width:min(var(--kp-container),calc(100% - 2*var(--kp-gutter)))!important;margin-inline:auto!important}
.kp-header__inner,.kp-footer__grid,.kp-footer__legal{max-width:calc(var(--kp-container) + 2*var(--kp-gutter))!important;padding-left:var(--kp-gutter)!important;padding-right:var(--kp-gutter)!important}
.kp-header__phone{font-weight:700!important;letter-spacing:.04em!important;white-space:nowrap}
@media (min-width:901px){.kp-header__phone{border-bottom:0!important}}
a[href^="tel:"],.kp-nowrap{white-space:nowrap}

/* Headings: one weight for display type */
h1,h2{font-weight:600!important}
h3{font-weight:600}

/* Section rhythm on the homepage */
.kp-practices,.team-section,.kp-reviews{padding-top:var(--kp-section)!important;padding-bottom:var(--kp-section)!important}
.kp-practices+.team-section{padding-top:0!important}

/* Buttons: flat gold, no glow */
.kp-btn,.intro-cta,.article-actions a:not(.secondary),.simple-actions a:not(.secondary),.cta-box a,#consultModal .intake-button:not(.intake-button--secondary),.ref-button--hero{box-shadow:none!important;border-color:#b8955a!important}

/* Consultation band: heading + two actions */
.kp-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.cta-box a.kp-cta-phone{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important}
.cta-box a.kp-cta-phone:hover{background:#fff!important;color:var(--kp-green)!important}

/* Mobile: the back-to-top button must never cover the call/consult bar */
@media (max-width:760px){.back-to-top,#backToTop,#backtop{display:none!important}}

/* Practice cards: keep lists at the top even without subgrid */
.kp-practice-card ul{align-content:start}

/* Attorney cards: softer, taller fade instead of a hard band */
.attorney-card::after{inset:40% 0 0!important;background:linear-gradient(to top,rgba(11,38,27,.94) 0%,rgba(11,38,27,.6) 38%,rgba(11,38,27,0) 100%)!important}
.attorney-card img{background:#eef0ee}

/* Reviews: compact when there are no review cards yet */
.kp-reviews:not(.has-reviews){padding-top:48px!important;padding-bottom:44px!important}
.kp-reviews:not(.has-reviews) .kp-reviews__head{margin-bottom:6px}
.kp-reviews:not(.has-reviews) .kp-reviews__head h2{font-size:clamp(24px,2.6vw,30px)}

/* Recognition strip: aligned rows on phones */
@media (max-width:640px){.kp-recognition__inner{flex-direction:column;align-items:stretch}.kp-recognition__item{width:min(100%,420px);margin-inline:auto}}

/* Contact band: contact details + newsletter side by side, same green as the footer (no seam) */
.contact-band{background:var(--kp-green)!important;padding:var(--kp-section) 0!important;border-bottom:1px solid rgba(234,213,167,.16)}
.kp-contact{display:grid!important;grid-template-columns:1fr 1.25fr;gap:56px;align-items:start;text-align:left}
.kp-contact h2{margin:0 0 16px;color:#fff;font-size:clamp(28px,3vw,36px)}
.kp-contact h3{margin:0 0 8px;color:#fff;font-size:22px}
.kp-contact__lines{font-style:normal;display:grid;gap:8px;margin:0 0 22px}
.kp-contact__lines a{color:#f1e6cc;text-decoration:none;font-size:17px;line-height:1.5}
.kp-contact__lines a:hover{text-decoration:underline}
.kp-contact__lede{margin:0 0 16px;color:#c9d6ce;font-size:15.5px}
.kp-contact .newsletter{display:grid!important;grid-template-columns:1fr 1fr auto;gap:10px;margin:0!important;max-width:none!important}
.kp-contact .newsletter input:not([type=hidden]){height:48px;border:1px solid rgba(255,255,255,.2);background:#f6f4ef;padding:0 14px;font:400 15px var(--kp-sans);color:var(--kp-ink);border-radius:3px}
.kp-contact .newsletter button{height:48px;padding:0 22px;font:700 13px/1 var(--kp-sans)!important;letter-spacing:.08em;text-transform:uppercase;background:var(--kp-gold-grad);color:var(--kp-green);border:1px solid #b8955a;border-radius:3px;cursor:pointer}
.kp-contact .newsletter-consent{margin:12px 0 0!important;color:#aebfb4!important;text-align:left!important}
.kp-contact .newsletter-consent a{color:#f1e6cc}
@media (max-width:860px){.kp-contact{grid-template-columns:1fr;gap:40px}.kp-contact .newsletter{grid-template-columns:1fr}}
.kp-footer{border-top:0}
@media (max-width:900px){.kp-footer__legal{padding-left:var(--kp-gutter)!important;padding-right:var(--kp-gutter)!important}}

/* Practice hub index: balanced columns */
.kp-matter-index__grid{display:block!important;column-count:3;column-gap:36px}
.kp-matter-index__grid>div{break-inside:avoid;margin-bottom:22px}
@media (max-width:900px){.kp-matter-index__grid{column-count:2}}
@media (max-width:560px){.kp-matter-index__grid{column-count:1}}
.practice-areas-grid .card,.card-grid .card{border-top:3px solid var(--kp-gold)!important}

/* Matter pages and hubs */
.kp-matter{align-items:start}
.kp-matter__block li a::after{content:" →";color:var(--kp-gold-text);text-decoration:none;display:inline-block;margin-left:2px}
.kp-extra ul{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}
.kp-extra--links h2+ul{margin-bottom:0!important}
.kp-extra--links ul+h2{margin-top:22px}
.kp-matter__block--office ul{list-style:none;padding-left:0}
.kp-matter__block--office li{font-size:17px}

/* Subpage heroes: a quiet skyline texture instead of an empty flat band */
main>section.hero:not(#home){background:linear-gradient(115deg,rgba(7,28,19,.97) 0%,rgba(14,50,35,.93) 55%,rgba(18,63,44,.82) 100%),url('/assets/hero-01-miami-skyline-1200.webp') center 62%/cover!important}

/* Team page and bios */
.kp-team-grid .card img,.card img{border:0!important;background:var(--kp-paper)}
.profile>img{border:0!important;background:var(--kp-paper);position:sticky;top:100px}
@media (max-width:900px){.profile>img{position:static}}
.meta section{border-top:3px solid var(--kp-gold)!important}
.meta li::marker{color:var(--kp-gold)}
.meta section:last-child:nth-child(odd){grid-column:1/-1}

/* Blog */
.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
@media (max-width:720px){.article-grid{grid-template-columns:1fr!important}}
.article-card__art{height:170px!important;background:linear-gradient(160deg,rgba(7,28,19,.9),rgba(18,63,44,.75)),url('/assets/hero-01-miami-skyline-800.webp') center/cover!important;border-bottom:3px solid var(--kp-gold)}
.article-card__art span{display:none}
.filters button{font-size:12px!important;min-height:40px!important;padding:0 16px!important}
.insights-hero:after{display:none!important}
.insights-hero .eyebrow,.article-card__body .article-meta span,.article-card a{font-size:12px!important}
.library-tools{align-items:center}

/* Fixes found in the design check (2026-09-29) */
.skip:not(:focus){box-shadow:none!important}
html,body{overflow-x:clip!important}           /* 'hidden' on html/body breaks the sticky header */
.kp-contact h2,.kp-contact h3{text-align:left!important}
.attorney-card::after{inset:48% 0 0!important;background:linear-gradient(to top,rgba(11,38,27,.94) 0%,rgba(11,38,27,.62) 42%,rgba(11,38,27,0) 100%)!important}
.kp-recognition__item img{width:104px;height:64px;object-fit:contain;flex:0 0 104px}
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}

/* Recognition: logos only (Peyton, 2026-09-29); more badges can be added as <img class="kp-badge"> */
.kp-recognition{padding:34px 0!important}
.kp-recognition__inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:center;gap:28px 56px}
.kp-badge{height:92px;width:auto;object-fit:contain}
.kp-badge--wide{height:78px}
@media (max-width:640px){.kp-badge{height:76px}.kp-badge--wide{height:64px}.kp-recognition__inner{gap:24px 36px}}
.hero .kp-hero-actions{margin-top:34px}
@media (max-width:640px){.hero .kp-hero-actions{margin-top:28px}}

/* =====================================================================================
   Four practices + Fractional GC flagship (2026-09-29)
   ===================================================================================== */
/* Credential strip under the homepage hero */
.kp-creds{background:#fff;border-bottom:1px solid var(--kp-line)}
.kp-creds__inner{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.kp-creds__inner p{margin:0;padding:20px 12px;font:500 15px/1.4 var(--kp-sans);color:var(--kp-muted)}
.kp-creds__inner p+p{border-left:1px solid var(--kp-line)}
.kp-creds strong{color:var(--kp-green);font-weight:700}
@media (max-width:760px){.kp-creds__inner{grid-template-columns:1fr}.kp-creds__inner p{padding:12px}.kp-creds__inner p+p{border-left:0;border-top:1px solid var(--kp-line)}}

/* Practice cards: icon + featured Fractional GC card */
.kp-practice-card__icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--kp-gold);border-radius:50%;color:var(--kp-gold-text);margin-bottom:16px}
.kp-practice-card__icon svg{width:24px;height:24px}
@supports (grid-template-rows:subgrid){.kp-practice-card{grid-row:span 5!important}}
.kp-practice-card{transition:transform .2s ease,box-shadow .2s ease}
.kp-practice-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,38,27,.08)}
.kp-practice-card--featured{background:var(--kp-green)!important;border-color:var(--kp-green)!important;border-top-color:var(--kp-gold)!important}
.kp-practice-card--featured h3 a,.kp-practice-card--featured h2 a{color:#fff!important}
.kp-practice-card--featured p{color:#c9d6ce!important}
.kp-practice-card--featured li a{color:#f1e6cc!important}
.kp-practice-card--featured .kp-practice-card__icon{color:var(--kp-gold-light);border-color:var(--kp-gold-light)}
.kp-practice-card--featured .kp-practice-card__more{color:var(--kp-gold-light)}
.kp-practices__grid--index .kp-practice-card h2{margin:0 0 10px;font-size:25px!important;line-height:1.2}
.kp-practices__grid--index .kp-practice-card h2 a{color:var(--kp-green);text-decoration:none}
.kp-secondary{margin:32px 0 28px;padding:24px 28px;background:#fff;border:1px solid var(--kp-line);display:grid;grid-template-columns:1fr auto;gap:8px 32px;align-items:center}
.kp-secondary h2{margin:0;font-size:22px!important;color:var(--kp-green)}
.kp-secondary p{margin:0;grid-column:1;color:var(--kp-muted);font-size:15.5px}
.kp-secondary ul{grid-column:2;grid-row:1/span 2;list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kp-secondary a{color:var(--kp-green);font-weight:600;text-decoration:underline;text-decoration-color:var(--kp-gold);text-underline-offset:3px}
@media (max-width:760px){.kp-secondary{grid-template-columns:1fr}.kp-secondary ul{grid-column:1;grid-row:auto}}

/* Homepage Fractional GC feature band */
.kp-fgc-band{background:var(--kp-green);color:#d6e2da;padding:var(--kp-section) 0;position:relative;overflow:hidden}
.kp-fgc-band::before{content:"";position:absolute;inset:0;background:url('/assets/hero-01-miami-skyline-1200.webp') center/cover;opacity:.07}
.kp-fgc-band__inner{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.kp-fgc-band__kicker{display:block;font:700 12px/1.4 var(--kp-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--kp-gold-light);margin-bottom:12px}
.kp-fgc-band h2{margin:0 0 16px;color:#fff;font-size:clamp(30px,3.4vw,44px);line-height:1.12}
.kp-fgc-band p{margin:0 0 26px;font-size:17.5px;line-height:1.65;color:#c9d6ce;max-width:58ch}
.kp-fgc-band__actions{display:flex;flex-wrap:wrap;gap:12px}
.kp-fgc-band__list{list-style:none;margin:0;padding:28px 30px;display:grid;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(234,213,167,.25);border-top:3px solid var(--kp-gold)}
.kp-fgc-band__list li{position:relative;padding-left:30px;color:#f1e6cc;font-size:16.5px;line-height:1.45}
.kp-fgc-band__list li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;border:1px solid var(--kp-gold);background:radial-gradient(circle,var(--kp-gold) 0 3px,transparent 3.5px)}
@media (max-width:860px){.kp-fgc-band__inner{grid-template-columns:1fr;gap:32px}}

/* Fractional GC page */
.kp-hero-actions--left{justify-content:flex-start!important;margin-top:24px}
.kp-fgc__intro{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;margin-bottom:48px}
.kp-fgc__intro h2{margin:0 0 14px;font-size:clamp(26px,2.8vw,34px)!important;color:var(--kp-green)}
.kp-fgc__intro p{font-size:18px;line-height:1.7;color:var(--kp-ink);margin:0}
.kp-fgc__fit{background:#fff;border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);padding:24px 26px}
.kp-fgc__fit h3{margin:0 0 12px;font-size:19px;color:var(--kp-green)}
.kp-fgc__fit ul{margin:0;padding-left:1.1em;display:grid;gap:9px}
.kp-fgc__fit li{font-size:16px;line-height:1.5}
.kp-fgc__fit li::marker{color:var(--kp-gold)}
.kp-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:52px}
.kp-feature{background:#fff;border:1px solid var(--kp-line);padding:26px 24px}
.kp-feature__icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--kp-tint);color:var(--kp-gold-text);margin-bottom:14px}
.kp-feature__icon svg{width:22px;height:22px}
.kp-feature h3{margin:0 0 8px;font-size:20px;color:var(--kp-green)}
.kp-feature p{margin:0;font-size:15.5px;line-height:1.6;color:var(--kp-muted)}
@media (max-width:980px){.kp-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.kp-feature-grid{grid-template-columns:1fr}.kp-fgc__intro{grid-template-columns:1fr}}
.kp-steps{list-style:none;margin:0 0 52px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:none}
.kp-step{position:relative;background:#fff;border:1px solid var(--kp-line);padding:26px 24px 24px}
.kp-step__num{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:var(--kp-green);color:var(--kp-gold-light);font:700 16px/1 var(--kp-sans);margin-bottom:14px}
.kp-step h3{margin:0 0 8px;font-size:20px;color:var(--kp-green)}
.kp-step p{margin:0;font-size:15.5px;line-height:1.6;color:var(--kp-muted)}
@media (max-width:860px){.kp-steps{grid-template-columns:1fr}}
.kp-compare-wrap{overflow-x:auto;margin-bottom:52px;border:1px solid var(--kp-line);background:#fff}
.kp-compare{width:100%;border-collapse:collapse;min-width:640px}
.kp-compare th,.kp-compare td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--kp-line);font-size:15.5px;line-height:1.5;vertical-align:top}
.kp-compare thead th{font:700 12.5px/1.3 var(--kp-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kp-muted);background:var(--kp-paper)}
.kp-compare tbody th{font-weight:700;color:var(--kp-green);width:24%}
.kp-compare .is-featured{background:#fbf6ea}
.kp-compare thead .is-featured{background:var(--kp-green);color:var(--kp-gold-light)}
.kp-compare tr:last-child th,.kp-compare tr:last-child td{border-bottom:0}
.kp-faq{display:grid;gap:10px;margin-bottom:40px}
.kp-faq__item{background:#fff;border:1px solid var(--kp-line)}
.kp-faq__item summary{cursor:pointer;list-style:none;padding:18px 52px 18px 22px;font:600 17px/1.4 var(--kp-sans);color:var(--kp-green);position:relative}
.kp-faq__item summary::-webkit-details-marker{display:none}
.kp-faq__item summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font:400 24px/1 var(--kp-sans);color:var(--kp-gold-text)}
.kp-faq__item[open] summary::after{content:"−"}
.kp-faq__item p{margin:0;padding:0 22px 20px;font-size:16.5px;line-height:1.65;color:var(--kp-ink)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.kp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* =====================================================================================
   Design review round 3 (2026-09-29)
   ===================================================================================== */
/* Links in lists: read as one item, unbroken underline */
.kp-practice-card li a,.kp-matter__block li a,.kp-extra a,.kp-secondary a,.kp-matter-index a{text-wrap:balance;text-decoration-skip-ink:none;text-decoration-thickness:1px;text-underline-offset:4px}
.kp-practice-card li{line-height:1.35}

/* Comparison table: balanced cells; stacked on phones so the fractional column is never off-screen */
.kp-compare td{text-wrap:balance}
.kp-compare tbody th{width:19%}
@media (max-width:640px){
  .kp-compare{min-width:0}
  .kp-compare thead{display:none}
  .kp-compare tr,.kp-compare th,.kp-compare td{display:block;width:auto!important}
  .kp-compare tbody tr{border-bottom:1px solid var(--kp-line);padding:6px 0}
  .kp-compare tbody th{padding-bottom:4px;border:0;font-size:16px}
  .kp-compare td{border:0;padding:6px 18px}
  .kp-compare td::before{content:attr(data-label);display:block;font:700 11.5px/1.3 var(--kp-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kp-muted);margin-bottom:2px}
  .kp-compare td.is-featured{background:#fbf6ea}
}

/* Consultation box: heading + text on the left, actions on the right */
.cta-box{display:grid!important;grid-template-columns:1fr auto;column-gap:48px;align-items:center;border-top:3px solid var(--kp-gold)!important}
.cta-box h2{line-height:1.2!important;grid-column:1}
.cta-box p{max-width:58ch;grid-column:1}
.cta-box .kp-cta-actions{grid-column:2;grid-row:1/span 2;margin:0}
@media (max-width:760px){.cta-box{grid-template-columns:1fr}.cta-box .kp-cta-actions{grid-column:1;grid-row:auto;margin-top:8px}.kp-cta-actions a{flex:1 1 100%}}

/* Fewer gold rules: keep them for featured items, CTAs and practice cards only */
.kp-matter__block,.kp-extra,.meta section,.kp-fgc__fit,.kp-matter-index{border-top:1px solid var(--kp-line)!important}
.kp-secondary{padding:24px}
.kp-secondary h2{line-height:1.2!important}

/* Stronger headline type and gold eyebrow rule on subpages */
main>section.hero:not(#home) h1{font-size:clamp(40px,5.2vw,68px)!important;letter-spacing:-.015em;line-height:1.05}
main>section.hero:not(#home) .eyebrow{display:inline-flex;align-items:center;gap:12px}
main>section.hero:not(#home) .eyebrow::before{content:"";width:28px;height:1px;background:var(--kp-gold)}
@media (max-width:640px){.breadcrumbs{display:none!important}}

/* Team page: photos edge to edge in their cards */
.kp-team-grid .card{overflow:hidden}
.kp-team-grid .card img{margin:-26px -26px 18px!important;width:calc(100% + 52px)!important;max-width:none}
.kp-team-grid .card h2{margin-bottom:8px}

/* Homepage partner cards: cleaner fade, readable labels, shorter on phones */
.attorney-card::after{inset:58% 0 0!important;background:linear-gradient(to top,rgba(11,38,27,.96) 0%,rgba(11,38,27,.7) 40%,rgba(11,38,27,0) 100%)!important}
.attorney-info small,.attorney-info>span{font-size:12px!important;font-weight:600!important;letter-spacing:.08em}
@media (max-width:640px){.attorney-card,.attorney-card img{height:auto!important;min-height:0!important;aspect-ratio:1/1}}

/* Reviews without review cards: a slim proof line */
.kp-reviews:not(.has-reviews) h2{display:none}
.kp-reviews:not(.has-reviews) .kp-reviews__summary{font-size:20px}
.kp-badge,.kp-badge--wide{height:72px!important}

/* Contact band: no duplicate address in the footer on the homepage; matched headings; flat button */
body:has(.contact-band) .kp-footer__brand address{display:none}
.kp-contact h3{font-size:clamp(28px,3vw,36px)!important;margin-bottom:12px!important}
.kp-contact .newsletter button{box-shadow:none!important}

/* Footer divider aligned with the content */
.kp-footer__legal{border-top:0!important;background:linear-gradient(rgba(234,213,167,.18),rgba(234,213,167,.18)) top/calc(100% - 2*var(--kp-gutter)) 1px no-repeat}
@media (max-width:520px){.kp-footer__grid{grid-template-columns:1fr 1fr!important}.kp-footer__brand{grid-column:1/-1}}

/* Phones: one button in the first screen (the sticky bar already has Call), lighter menu button, clean bottom */
@media (max-width:760px){
  .hero .kp-btn--ghost,.cta-box a.kp-cta-phone{display:none!important}
  .hero .kp-hero-actions .kp-btn{width:100%}
  body{padding-bottom:0!important}
  .kp-footer__legal{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
  p,li{text-wrap:wrap}
}
.kp-menu-toggle{background:none!important;border-color:transparent!important;font-size:24px!important}

/* Fractional GC page and band */
.kp-fgc-band h2{text-wrap:pretty}
.kp-fgc__intro{align-items:center}
@media (max-width:640px){.kp-feature{display:grid;grid-template-columns:44px 1fr;column-gap:16px}.kp-feature__icon{grid-row:1/span 2;margin:0}.kp-feature h3{align-self:center}.kp-feature p{grid-column:1/-1;margin-top:8px}}

/* Credential strip set into the bottom of the homepage hero (translucent band) */
.kp-creds{position:relative;z-index:3;margin-top:-66px;background:rgba(7,28,19,.66)!important;border:0!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(234,213,167,.28)!important}
.kp-creds__inner p{color:#d6e2da!important;padding:22px 12px!important}
.kp-creds__inner p+p{border-left:1px solid rgba(234,213,167,.22)!important}
.kp-creds strong{color:#fff!important}
@media (max-width:760px){.kp-creds{margin-top:0;background:var(--kp-green)!important}.kp-creds__inner p+p{border-left:0!important;border-top:1px solid rgba(234,213,167,.18)!important}.kp-creds__inner p{padding:12px!important}}
.kp-contact h2,.kp-contact h3{line-height:1.15!important}
