/* Shared components, release 2.6.1. Existing typography, artwork and colors are retained. */
:root {
  --footer-wave-height: clamp(280px, 27vw, 380px);
  --component-border: #242424;
  --component-surface: #080808;--component-padding: var(--frame-pad);
}

/* Continuous partner strip on every device; no visible scrollbar in any mode. */
.partner-row { overflow: hidden; scrollbar-width: none; }
.partner-row::-webkit-scrollbar { display: none; }
.partner-row:not(.is-marquee) { height: auto; min-height: 110px; mask-image: none; -webkit-mask-image: none; }
.partner-row:not(.is-marquee) .logo-track { width: 100%; animation: none !important; transform: none; }
.partner-row:not(.is-marquee) .logo-set { width: 100%; height: auto; padding: 16px 0; flex-wrap: wrap; justify-content: center; gap: 32px; }
.partner-row:not(.is-marquee) [data-kll-duplicate] { display: none; }
.partner-pause { display: block; margin: 0 0 0 auto; padding: 8px 12px; color: #aaa; background: transparent; border: 0; font: 500 12px var(--font-body); cursor: pointer; }
.partner-pause[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
  html.kll-js .partner-row.is-marquee .logo-track { animation: logo-marquee 90s linear infinite !important; }
  html.kll-js .partner-row.is-marquee:is(.is-paused, :hover, :focus-within) .logo-track { animation-play-state: paused !important; }
}

/* Calendar first in DOM and on phones; summary stays on the left on desktop. */
.booking-drawer-toolbar { display: none; }
@media (min-width: 761px) {
  .booking-summary { grid-column: 1; grid-row: 1; }
  .booking-panel { grid-column: 2; grid-row: 1; }
}
@media (max-width: 760px) {
  .booking-section.is-mobile-drawer-open .booking-drawer-toolbar { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; min-height: 56px; padding: 8px 16px; background: #060606; border-bottom: 1px solid var(--line); font-size: 13px; }
  .booking-section.is-mobile-drawer-open .booking-drawer-toolbar .booking-drawer-close { position: static; display: grid; margin: 0; }
  .booking-section.is-mobile-drawer-open .booking-summary { position: static; padding: 24px 18px; border-top: 1px solid var(--line); border-bottom: 0; }
  .booking-section.is-mobile-drawer-open .booking-summary > p,
  .booking-section.is-mobile-drawer-open .booking-facts,
  .booking-section.is-mobile-drawer-open .booking-contact-link { display: block; }
  .booking-section.is-mobile-drawer-open .booking-summary h2 { margin-right: 0; }
  .booking-section.is-mobile-drawer-open .booking-step,
  .booking-section.is-mobile-drawer-open .booking-form,
  .booking-section.is-mobile-drawer-open .booking-review { scroll-margin-top: 68px; }
}

/* One footer: links overlay the bottom of the wave and clear the mobile action bar. */
body { padding-bottom: 0; }
.site-footer { position: relative; display: grid; align-items: end; isolation: isolate; background: #000; }
.site-footer--wave { min-height: var(--footer-wave-height); }
.site-footer .glowing-wave-showcase { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; background: transparent; z-index: 0; }
.site-footer .glowing-wave-showcase::before,
.site-footer .glowing-wave-showcase::after { display: none; }
.glowing-wave-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.glowing-wave-showcase.has-wave-canvas .glowing-wave-fallback { display: none; }
.site-footer .glowing-wave-canvas { display: block; }
.site-footer .site-footer-info { position: relative; z-index: 1; padding: 36px 20px 20px; border: 0; background: linear-gradient(transparent, rgba(0,0,0,.45)) !important; }


@media (max-width: 760px) {
  .site-footer--wave { min-height: 320px; }
  .site-footer .site-footer-info { padding: 24px 12px calc(78px + env(safe-area-inset-bottom, 0px)); }
  
}
@media (prefers-reduced-motion: reduce) {
  .glowing-wave-showcase.has-wave-canvas .glowing-wave-fallback { display: block; }
}

/* End the frame softly: no final horizontal rule or final pink corner points. */
main.framed,
main:not(.framed) > .framed:last-child,
main:not(.framed) > .framed:has(+ .forest-showcase) {
  border-image: linear-gradient(to bottom, var(--line) calc(100% - 120px), transparent) 1;
}
main.framed::after,
main:not(.framed) > .framed:last-child::after,
main:not(.framed) > .framed:has(+ .forest-showcase)::after,
main.framed > :last-child > .grid-points-bottom,
main:not(.framed) > .framed:last-child > .grid-points-bottom,
main:not(.framed) > .framed:has(+ .forest-showcase) > .grid-points-bottom { display: none; }
main.framed > :last-child { border-bottom: 0; }
.forest-showcase { border: 0; }

/* Consistent image-led related cards and CTA on listing and article pages. */
.article-card { min-width: 0; border: 1px solid var(--component-border); border-radius: 8px; overflow: hidden; background: var(--component-surface); }
.article-card-link { display: flex; flex-direction: column; height: 100%; color: #fff; text-decoration: none; }
.article-card-media { aspect-ratio: 5 / 3; overflow: hidden; border-bottom: 1px solid var(--component-border); }
.article-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.article-card-media--placeholder { display: grid; place-items: center; background: radial-gradient(ellipse at center, #20071f, #080808 75%); }
.article-card-media--placeholder img { width: 130px; max-width: 60%; height: auto; opacity: .6; }
.article-card-copy { display: flex; flex: 1; flex-direction: column; gap: 18px; padding: 24px; }
.article-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; color: #aaa; font-size: 12px; line-height: 1.5; }
.article-card-meta > :first-child { color: var(--pink); }
.article-card h3 { margin: 0; font: 400 clamp(28px, 3vw, 34px)/1.1 var(--font-display); text-transform: uppercase; }
.article-card-action { display: flex; justify-content: space-between; align-items: center; margin-top: auto; font-size: 12px; min-height: 28px; }
.article-card:hover { border-color: var(--pink); }
.article-card a:focus-visible { outline-offset: -4px; }
.blog-cta { position: relative;padding: var(--section-pad) var(--component-padding); text-align: center; border-top: 1px solid var(--line); }
.blog-cta h2 { max-width: 780px; margin: 18px auto; font: 400 clamp(40px, 5vw, 58px)/1.02 var(--font-display); text-transform: uppercase; }
.blog-cta > p { max-width: 620px; margin: 0 auto 28px; color: #aaa; font-size: 15px; line-height: 1.7; }
.blog-cta-button, .comment-submit { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; padding: 14px 24px; border: 1px solid var(--pink); border-radius: 4px; background: var(--pink); color: #000; font: 700 12px/1.5 var(--font-body); text-decoration: none; cursor: pointer; }
.blog-cta-button:hover, .comment-submit:hover { background: #fff; border-color: #fff; color: #000; }
.work-load-more { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

/* Native WordPress forms and replies, styled with the site's existing design tokens. */
.blog-comments { padding: 64px var(--component-padding); border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.blog-comments h2 { margin: 0 0 24px; color: #fff; font: 400 clamp(38px, 5vw, 48px)/1.05 var(--font-display); text-transform: uppercase; }
.blog-comments a { color: var(--pink); }
.blog-comments p { color: #aaa; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.comment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.comment-form > p { margin: 0; grid-column: 1 / -1; }
.comment-form .comment-form-author { grid-column: 1; }
.comment-form .comment-form-email { grid-column: 2; }
.comment-form label { display: block; margin-bottom: 8px; color: #eee; font-size: 13px; }
.comment-form :is(input:not([type=checkbox]):not([type=submit]), textarea) { width: 100%; min-width: 0; border: 1px solid var(--component-border); border-radius: 6px; background: var(--component-surface); color: #fff; padding: 13px; font: 400 16px/1.6 var(--font-body); }
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
.comment-form-cookies-consent input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; padding: 0; margin: 3px 0 0; accent-color: var(--pink); }
.comment-form-cookies-consent label { color: #aaa; line-height: 1.6; }
.comment-reply-title small { display: block; margin-top: 12px; font: 400 13px var(--font-body); text-transform: none; }
.comment-list, .comment-list .children { list-style: none; margin: 0 0 32px; padding: 0; }
.comment-list .children { padding-left: clamp(12px, 3vw, 28px); border-left: 1px solid var(--line); }
.comment-body { padding: 24px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.comment-author { color: #fff; font-size: 14px; }
.comment-metadata, .reply { margin-top: 10px; font-size: 12px; line-height: 1.6; }
.comment-awaiting-moderation { color: #ddd; }
.comments-pagination { margin: 24px 0; }
.comments-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 20px; }
@media (max-width: 760px) {
  .blog-cta { }
  .blog-cta h2 { font-size: var(--section-title-mobile); }
  .blog-related-grid { grid-template-columns: 1fr; }
  .article-card-copy { padding: 20px; }
  .comment-form { grid-template-columns: 1fr; }
  .comment-form .comment-form-author, .comment-form .comment-form-email { grid-column: 1; }
}

/* ==========================================================================
   Audit normalisation (v2.7): readable measure, balanced headings, 44px targets.
   ========================================================================== */
h2, h3 { text-wrap: balance; }
.faq-list p,
.project-intro p { max-width: 40rem; text-wrap: pretty; }
.founder-copy p { text-wrap: pretty; }
/* Founder: text and the logo/card row share one measure so their right edges line up. */
.founder-copy,
.founder-meta { max-width: 44rem; }

/* Tap targets: grow the hit area, not the visual. */
.partner-pause { min-height: 44px; min-width: 44px; }
.t-dot { position: relative; width:var(--control-min-size); height:var(--control-min-size); flex-shrink:0; }
.t-dot::after { content: ""; position: absolute; inset:0; }

.booking-contact-link { padding-block: 4px; }
@media (max-width: 767px) { .booking-summary h2 { font-size: 34px; line-height: 1.05; } }
.booking-calendar-nav button { min-width: 44px; min-height: 44px; }
.service-chip, .blog-filter { min-height: 44px; }

/* Social links: a cell is as wide as its label (min 44px) so labels never collide; the row already wraps. */
.socials a, .kll-form-section .socials a { width: auto; min-width: 44px; }
.socials span { white-space: nowrap; }

/* Blog cards follow the site's work-card presentation. */
.article-card { border:0; border-radius:0; background:transparent; overflow:visible; }
.article-card-media { aspect-ratio:5/3; border:1px solid var(--component-border); border-radius:12px; transition:border-color .2s ease; }
.article-card-media img { transition:transform .35s ease; }
.article-card-copy { gap:12px; padding:16px 0 0; }
.article-card h3 { font:600 var(--card-title-size)/1.45 Arial,sans-serif; text-transform:none; color:#eee; letter-spacing:0; text-wrap:pretty; }
.article-card-action { font-size:13px; padding-top:6px; }
.article-card:hover .article-card-media { border-color:var(--pink); }
@media (hover:hover) and (pointer:fine) { .article-card:hover .article-card-media img { transform:scale(1.025); } }
.blog-related-grid,.blog-grid { gap:32px 24px; }
.blog-article-body { max-width:760px; margin-inline:auto; }
.blog-article-body p,.blog-article-body li { line-height:1.8; overflow-wrap:anywhere; }
.blog-comments > .comment-respond,.blog-comments > .comment-list { max-width:760px; margin-inline:auto; }
.blog-comments .comment-reply-title { margin-bottom:24px; }
.blog-comments #commentform { width:100%; max-width:none; margin:0; }
.blog-comments .comment-form { padding:24px; border:1px solid var(--component-border); border-radius:12px; background:rgba(8,8,8,.85); gap:20px; }
.blog-comments .comment-form textarea { min-height:180px; height:180px; }
.blog-comments .comment-form :is(input:not([type=submit]):not([type=checkbox]),textarea):focus { border-color:var(--pink); outline:2px solid var(--pink); outline-offset:2px; }
.blog-comments .comment-form .form-submit { text-align:left; }
.blog-comments .comment-submit { width:auto; min-width:160px; font:700 14px/1.5 Arial,sans-serif; }
.blog-comments .kll-comment-captcha { display:grid; gap:8px; }
.blog-comments .kll-comment-captcha label { margin:0; }
.blog-comments .kll-comment-captcha span { color:#bbb; }
.blog-comments .kll-comment-captcha input[type=text] { max-width:180px; }
.kll-comment-honey { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.blog-comments .kll-comment-note { font-size:13px; }
@media(max-width:760px) {
 .article-card h3 { font-size:var(--card-title-size); }
 .article-card-copy { padding:14px 0 0; }
 .blog-comments { padding:40px var(--component-padding); }
 .blog-comments .comment-form { padding:20px 16px; }
 .blog-comments .comment-submit { width:100%; }
 .blog-related-grid,.blog-grid { gap:28px; }
}
/* Lightweight reveals on touch and constrained devices, independent of heavy effects. */
html.kll-lite.kll-scroll-motion .reveal { opacity:0!important; transform:translateY(12px)!important; filter:none!important; transition:opacity .4s ease var(--reveal-delay,0ms),transform .4s ease var(--reveal-delay,0ms)!important; }
html.kll-lite.kll-scroll-motion .reveal.is-visible { opacity:1!important; transform:none!important; }
@media(prefers-reduced-motion:reduce) { html.kll-scroll-motion .reveal { opacity:1!important; transform:none!important; transition:none!important; filter:none!important; } }

.blog-page .service-list-copy h2 { font-family:Arial,sans-serif; }
/* Compact mobile trust mark */
@media(max-width:760px){
.credibility .badge-wrap{width:112px;gap:0;min-height:66px;}
.credibility .badge-wrap .laurel{width:30px;height:66px;flex:0 0 30px;background-size:contain;}
.credibility .badge-wrap .badge{width:52px;flex:0 0 52px;}
.credibility .badge-wrap .badge small,.credibility .badge-wrap .badge span{font-size:10px;line-height:1.4;}
.credibility .badge-wrap .badge strong{font-size:21px;line-height:1.2;}
}
/* Shared inquiry copy follows the founder introduction typography. */
.kll-sitewide-contact .kll-form-section > p:not(.form-status){font-family:Inter,"Kllakar Body Fallback",Arial,sans-serif;font-size:17px;font-weight:400;color:#d3d3d3;line-height:1.6;}
@media(max-width:760px){.kll-sitewide-contact .kll-form-section > p:not(.form-status){font-size:15px;}}
/* Clear interaction feedback for action buttons, without moving touch targets. */
.kll-form-section form button[type="submit"],.blog-comments .submit,.menu-cta,.work-load-more,.booking-actions button,.booking-slot,.kll-popup-close{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;}
@media(hover:hover) and (pointer:fine){
.kll-form-section form button[type="submit"]:not(:disabled):hover,.blog-comments .submit:not(:disabled):hover{background:#d900d1;color:#fff;box-shadow:0 0 0 2px rgba(252,11,241,.22);}
.menu-cta:hover,.work-load-more:hover{background:#fc0bf1;color:#000;border-color:#fc0bf1;}
.booking-actions button:not(:disabled):hover,.booking-slot:not(:disabled):hover{background:#282028;border-color:#fc0bf1;color:#fff;}
.kll-popup-close:hover{background:#fc0bf1;color:#000;border-color:#fc0bf1;}
}
.kll-form-section form button[type="submit"]:focus-visible,.blog-comments .submit:focus-visible,.menu-cta:focus-visible,.work-load-more:focus-visible,.booking-actions button:focus-visible,.booking-slot:focus-visible,.kll-popup-close:focus-visible{outline:2px solid #fff;outline-offset:4px;}
.kll-form-section form button[type="submit"]:not(:disabled):active{background:#b900b2;}
.kll-booking-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.kll-booking-dialog .kll-popup-heading{position:sticky;top:0;z-index:3;background:#080808;}
.kll-booking-dialog #booking.kll-popup-booking{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden;}
.kll-booking-dialog .booking-layout,.kll-booking-dialog .booking-panel{min-width:0;max-width:100%;}
.kll-booking-dialog .grid-points{display:none;}
@media(prefers-reduced-motion:reduce){.kll-form-section form button,.menu-cta,.work-load-more,.booking-actions button,.kll-popup-close{transition:none;}}
/* Readable article column; override the old split heading/body layout. */
.blog-detail .blog-article-body{width:100%;max-width:720px;min-width:0;margin:0 auto;font-family:Arial,sans-serif;font-size:17px;line-height:1.8;overflow-wrap:anywhere;}
.blog-detail .blog-article-body .blog-copy-section{display:block;grid-template-columns:none;max-width:100%;min-width:0;padding:0;margin:0 0 40px;gap:0;}
.blog-detail .blog-article-body p,.blog-detail .blog-article-body li,.blog-detail .blog-article-body blockquote{font-family:Arial,sans-serif;line-height:1.8;}
.blog-detail .blog-article-body p{font-size:inherit;max-width:none;margin:0 0 1.25em;}
.blog-detail .blog-article-body .blog-lead{font-size:19px;line-height:1.75;margin-bottom:32px;}
.blog-detail .blog-article-body :is(h2,h3,h4,h5,h6){max-width:100%;margin:1.6em 0 .55em;line-height:1.2;}
.blog-detail .blog-article-body h2{font-size:clamp(28px,3vw,36px);}
.blog-detail .blog-article-body h3{font-size:26px;}
.blog-detail .blog-article-body :is(ul,ol){margin:0 0 1.5em;padding-left:1.4em;}
.blog-detail .blog-article-body li{margin-bottom:.55em;}
.blog-detail .blog-article-body :is(img,video,iframe,svg,figure,.wp-block-image,.wp-block-embed,.alignwide,.alignfull){max-width:100%;box-sizing:border-box;}
.blog-detail .blog-article-body :is(img,video){height:auto;}
.blog-detail .blog-article-body :is(figure,.alignwide,.alignfull){margin:24px 0;width:auto;}
.blog-detail .blog-article-body figcaption{font:14px/1.6 Arial,sans-serif;color:#aaa;margin-top:10px;}
.blog-detail .blog-article-body blockquote{margin:24px 0;padding:16px 20px;border-left:2px solid var(--pink);background:#080808;}
.blog-detail .blog-article-body pre{max-width:100%;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;padding:18px;background:#101010;border:1px solid #242424;border-radius:8px;}
.blog-detail .blog-article-body code{white-space:pre-wrap;overflow-wrap:anywhere;}
.blog-detail .blog-article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;}
.blog-detail .blog-article-body td,.blog-detail .blog-article-body th{padding:10px;overflow-wrap:anywhere;}
.blog-detail .blog-article-body .wp-block-columns{max-width:100%;flex-wrap:wrap;}
.blog-detail .blog-article-body .wp-block-column{min-width:0;}
.blog-detail .blog-cover{max-width:1000px;margin-inline:auto;}
.blog-detail .blog-cover img{width:100%;max-height:560px;object-fit:cover;}
.kll-article-discussion{max-width:720px;margin:32px auto 0;border-top:1px solid #242424;padding-top:20px;}
.kll-article-discussion>summary{cursor:pointer;color:#d3d3d3;font:600 15px/1.6 Arial,sans-serif;}
.kll-article-discussion .blog-comments{padding-inline:0;}

/* Related articles follow the main listing's image/copy rows. */
.blog-related .blog-related-grid{display:grid;grid-template-columns:1fr;gap:0;}
.blog-related .article-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);padding:32px 0;border-bottom:1px solid #242424;}
.blog-related .article-card-cover{aspect-ratio:5/3;}
.blog-related .article-card-copy{padding:0;align-self:center;}
.blog-related .article-card h3{font:600 var(--card-title-size)/1.45 Arial,sans-serif;}

/* Minimal article reading tools. */
.blog-page .kll-reading-progress{position:fixed;top:0;left:0;right:0;width:auto;height:3px;z-index:99999;background:rgba(255,255,255,.08);pointer-events:none;}
.kll-reading-progress>span{display:block;width:var(--reading-progress,0%);height:100%;background:var(--pink);}
.admin-bar.blog-page .kll-reading-progress{top:32px;}
.kll-reader{max-width:720px;margin:24px auto 32px;padding:16px 18px;border:1px solid #242424;border-radius:12px;background:#080808;}
.kll-reader[hidden]{display:none;}
.kll-reader-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font:600 13px/1.5 Arial,sans-serif;color:#ddd;}
.kll-reader-heading output{font-weight:400;color:#aaa;}
.kll-reader-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.kll-reader-controls button{min-height:var(--control-min-size);padding:8px 14px;background:#111;border:1px solid #333;border-radius:6px;color:#eee;cursor:pointer;font:600 12px/1.4 Arial,sans-serif;}
.kll-reader-controls button:disabled{opacity:.4;cursor:default;}
.kll-reader-controls button:first-child{background:var(--pink);border-color:var(--pink);color:#000;}
.kll-reader-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.kll-reader-controls progress{flex:1;min-width:80px;width:100px;height:4px;accent-color:var(--pink);}
@media(hover:hover){.kll-reader-controls button:not(:disabled):hover{background:#fff;color:#000;border-color:#fff;}}

/* Center internal hero content while retaining the home composition. */
body:not(.home) main :is(section,header,div):has(>h1){text-align:center;}
body:not(.home) main :is(.project-intro,.blog-article-header){padding-block:clamp(48px,7vw,88px);}
body:not(.home) main h1{max-width:24ch;margin-inline:auto;text-align:center;text-wrap:balance;}
body:not(.home) main :is(section,header,div):has(>h1)>p{max-width:65ch;margin-inline:auto;text-align:center;text-wrap:pretty;}
body:not(.home) main :is(.blog-meta,.hero-actions,.intro-actions){justify-content:center;}
body:not(.home) main :is(.breadcrumbs,.kll-breadcrumbs,[aria-label="Breadcrumb"],[aria-label="Breadcrumbs"]){text-align:center;justify-content:center;}
body:not(.home) main :is(.breadcrumbs,.kll-breadcrumbs,[aria-label="Breadcrumb"],[aria-label="Breadcrumbs"]) ol{justify-content:center;flex-wrap:wrap;}
.blog-back{display:inline-flex;justify-content:center;margin-inline:auto;}

/* Balance the founder copy with the existing side panel. */
#about.founder{grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:clamp(28px,5vw,72px);align-items:start;}
#about .founder-copy{min-width:0;max-width:68ch;}
#about .founder-copy p{max-width:68ch;}
#about .founder-meta{min-width:0;width:100%;max-width:300px;}

/* A single newsletter CTA shared by the article and listing. */
.kll-subscribe{text-align:center;}
.kll-newsletter-details{max-width:480px;margin:24px auto 0;}
.kll-newsletter-details>summary{list-style:none;width:max-content;max-width:100%;margin-inline:auto;}
.kll-newsletter-details>summary::-webkit-details-marker{display:none;}
.kll-newsletter-form{display:grid;gap:16px;margin-top:24px;text-align:left;max-width:100%;}
.kll-newsletter-form label{display:grid;gap:8px;font:14px/1.6 Arial,sans-serif;color:#d3d3d3;}
.kll-newsletter-form input[type=email]{width:100%;min-width:0;box-sizing:border-box;padding:14px 16px;min-height:48px;border:1px solid #333;border-radius:6px;background:#080808;color:#eee;font:16px/1.5 Arial,sans-serif;}
.kll-newsletter-form label.kll-newsletter-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;}
.kll-newsletter-consent input{flex:none;width:16px;height:16px;margin-top:3px;accent-color:var(--pink);}
.kll-newsletter-form .kll-newsletter-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.kll-newsletter-form .blog-cta-button{width:100%;min-height:48px;}
.kll-newsletter-notice{font:14px/1.6 Arial,sans-serif;color:#d3d3d3;margin-top:20px;}
.kll-newsletter-form input:focus-visible{outline:2px solid var(--pink);outline-offset:3px;}
.kll-sitewide-contact .kll-form-section #contact-title{margin-bottom:24px;}

@media(max-width:900px){#about.founder{grid-template-columns:1fr;}#about .founder-copy{max-width:100%;}#about .founder-meta{max-width:360px;}}
@media(max-width:782px){.admin-bar.blog-page .kll-reading-progress{top:46px;}}
@media(max-width:760px){
 .blog-detail .blog-article-body{font-size:16px;}
 .blog-detail .blog-article-body .blog-lead{font-size:17px;}
 .blog-detail .blog-article-body .blog-copy-section{margin-bottom:28px;}
 .blog-related .article-card{grid-template-columns:1fr;gap:16px;padding:28px 0;}
 .blog-related .article-card h3{font-size:var(--card-title-size);}
 .kll-reader{padding:14px;}
 .kll-reader-controls progress{flex-basis:100%;margin-top:6px;}
 .blog-detail .blog-cover img{max-height:360px;}
}
.blog-detail .blog-article-body{padding:0;border:0;box-sizing:border-box;}
.blog-related .article-card{display:block;}
.blog-related .article-card-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);}
.blog-related .article-card-media{aspect-ratio:5/3;min-width:0;}
@media(max-width:760px){.blog-related .article-card-link{grid-template-columns:1fr;gap:16px;}}
/* Targeted article, authority content and founder spacing refinements. */
.blog-detail .blog-article-body,.blog-detail .kll-article-reader,.blog-detail .kll-article-discussion{width:100%;max-width:100%;box-sizing:border-box;}
.blog-detail .blog-article-body{padding:clamp(28px,5vw,64px) clamp(20px,5vw,64px) 0;}
.blog-detail .kll-article-discussion{margin:40px 0 0;padding:24px clamp(20px,5vw,64px) 48px;}
.blog-detail .kll-article-discussion[open]{padding-bottom:56px;}
.blog-detail .kll-article-discussion .blog-comments{margin-top:28px;}
#about.founder{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:clamp(28px,4vw,60px);}
#about .founder-copy{width:100%;max-width:none;}
#about .founder-copy p{max-width:68ch;}
#about .founder-meta{width:100%;max-width:none;display:flex;flex-direction:column;align-items:flex-start;gap:28px;}
#about .founder-card{width:100%;min-width:0;display:flex;align-items:center;gap:16px;}
#about .founder-card .avatar{width:64px;height:64px;flex:0 0 64px;object-fit:cover;}
#about .founder-card>div{min-width:0;flex:1;}
#about .founder-card strong{display:block;font:600 16px/1.5 Arial,sans-serif;}
#about .founder-card span{display:block;font:400 13px/1.6 Arial,sans-serif;max-width:24ch;}
#about .tool-row{width:100%;max-width:280px;}
#about .tool-row img{max-width:100%;height:auto;}
.kll-page-content{box-sizing:border-box;width:100%;max-width:none;padding:clamp(28px,5vw,64px);margin:0;font:400 17px/1.8 Arial,sans-serif;color:#b5b5b5;overflow-wrap:anywhere;text-align:left;}
.kll-page-content p,.kll-page-content li{font:inherit;max-width:none;}
.kll-page-content p{margin:0 0 1.25em;}
.kll-page-content :is(h2,h3,h4){font-family:'Bebas Neue',sans-serif;font-weight:400;line-height:1.2;color:#eee;margin:1.6em 0 .55em;}
.kll-page-content h2{font-size:clamp(28px,3vw,36px);}
.kll-page-content h3{font-size:26px;}
.kll-page-content :is(ul,ol){padding-left:1.4em;margin:0 0 1.5em;}
.kll-page-content li{margin-bottom:.55em;}
.kll-page-content :is(img,iframe,table,pre){max-width:100%;}
.kll-page-content strong{font-weight:700;}
@media(max-width:1000px){#about.founder{grid-template-columns:1fr;}#about .founder-meta{max-width:none;flex-direction:row;align-items:center;gap:32px;}#about .tool-row{flex:0 1 240px;}#about .founder-card{flex:0 1 340px;}}
@media(max-width:600px){#about .founder-meta{flex-direction:column;align-items:flex-start;gap:24px;}#about .tool-row,#about .founder-card{flex:none;} .kll-page-content{font-size:16px;} .blog-detail .kll-article-discussion{margin-top:28px;padding-bottom:36px;}}

.blog-detail .kll-reader{width:calc(100% - clamp(40px,10vw,128px));max-width:none;box-sizing:border-box;margin-inline:auto;}
/* Founder: full text followed by one horizontal credentials/profile row. */
#about.founder{display:block;}
#about .founder-copy,#about .founder-copy p{width:100%;max-width:none;}
#about .founder-meta{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;max-width:none;gap:clamp(24px,6vw,80px);margin-top:var(--space-10,40px);}
#about .tool-row{flex:0 1 42%;width:42%;max-width:280px;min-width:0;margin:0;}
#about .tool-row img{display:block;width:100%;max-width:100%;height:auto;}
#about .founder-card{flex:0 1 340px;width:auto;max-width:52%;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(8px,2vw,16px);margin:0;}
#about .founder-card .avatar{width:clamp(34px,6vw,64px);height:clamp(34px,6vw,64px);flex:0 0 clamp(34px,6vw,64px);}
#about .founder-card>div{flex:1;min-width:0;}
#about .founder-card strong{font-size:clamp(11px,1.4vw,16px);line-height:1.4;}
#about .founder-card span{font-size:clamp(9px,1.1vw,13px);line-height:1.45;text-transform:none;max-width:none;}
@media(max-width:600px){#about .founder-meta{gap:clamp(16px,5vw,24px);margin-top:var(--space-8,32px);}#about .founder-card{max-width:55%;}#about .tool-row{flex-basis:39%;width:39%;}}
/* Mobile only: profile precedes grouped certifications below the full copy. */
@media(max-width:767px){
#about .founder-meta{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:24px;}
#about .founder-card{order:1;flex:none;width:100%;max-width:none;gap:12px;}
#about .founder-card .avatar{width:48px;height:48px;flex-basis:48px;}
#about .founder-card strong{font-size:15px;line-height:1.4;}
#about .founder-card span{font-size:12px;line-height:1.5;}
#about .tool-row{order:2;flex:none;width:100%;max-width:280px;}
#about .tool-row img{width:100%;height:auto;}
}
/* Card typography follows the existing 18 / 17 / 16px listing scale. */
@media(max-width:960px){:root{--card-title-size:17px;}}
@media(max-width:760px){:root{--card-title-size:16px;}}