/* Scoped to Pro presentation blocks; the existing store and checkout keep their styles. */
.kpro { --kp-ink:#193b31; --kp-muted:#607068; --kp-cream:#f5f4ed; --kp-line:#dbe2d9; --kp-gold:#c4a262; font-family:Arial,Helvetica,sans-serif; color:var(--kp-ink); font-size:16px; line-height:1.65; background:var(--kp-cream); }
.kpro * { box-sizing:border-box; }
.kpro h1,.kpro h2,.kpro h3,.kpro p { padding:0; color:inherit!important; }
.kpro a { color:inherit; text-decoration:none; }
.kpro h1,.kpro h2 { font-family:Georgia,'Times New Roman',serif!important; font-weight:400!important; letter-spacing:-.045em!important; }
.kpro h1 { font-size:clamp(46px,5.2vw,76px)!important; line-height:1.05!important; margin:25px 0; }
.kpro h2 { font-size:clamp(34px,3.7vw,52px)!important; line-height:1.13!important; margin:16px 0 24px; }
.kpro h3 { font-family:Arial,Helvetica,sans-serif!important; font-size:21px!important; line-height:1.3!important; font-weight:600!important; letter-spacing:-.025em; }
.kpro em { font-weight:400; color:#6c826c; }
.kpro p { margin:0 0 18px; }
.kpro .kpro-eyebrow { font:700 10px/1.6 Arial,Helvetica,sans-serif; letter-spacing:.17em; margin:0; }
.kpro-eyebrow > span { display:inline-block; width:6px; height:6px; margin:0 7px 1px 0; border-radius:50%; background:#5f826b; }
.kpro-nav { max-width:1360px; padding:25px 40px; margin:auto; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--kp-line); gap:30px; }
.kpro-brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.kpro-brand img { width:160px; height:auto; max-height:38px; }
.kpro-brand > span { border:1px solid var(--kp-ink); border-radius:5px; padding:2px 6px; font:700 10px/1.5 Arial,sans-serif; letter-spacing:.1em; }
.kpro-nav nav { display:flex; align-items:center; gap:27px; font-size:12px; }
.kpro-nav nav a { padding:10px 0; }
.kpro-login { border-bottom:1px solid var(--kp-ink); }
.kpro-hero { max-width:1360px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:85px 40px 95px; }
.kpro-lead { font-size:18px; color:var(--kp-muted)!important; max-width:480px; line-height:1.7; }
.kpro-hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin:31px 0 17px; }
.kpro-button { min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:13px 21px; border-radius:6px; font-size:13px; font-weight:600; line-height:1.5; text-align:center; }
.kpro a.kpro-primary { background:#203f33; color:#fff!important; border:1px solid #203f33; box-shadow:0 4px 0 #19372a08; }
.kpro a.kpro-primary:hover { background:#315743; }
.kpro-text-link { font-size:13px; border-bottom:1px solid #829485; padding:8px 0; }
.kpro-fine { font-size:12px; line-height:1.65; color:var(--kp-muted)!important; }
.kpro-hero-proof { display:flex; gap:17px; flex-wrap:wrap; border-top:1px solid var(--kp-line); padding-top:24px; margin-top:28px; font-size:10px; color:#566d5d; }
.kpro-hero-visual { position:relative; padding:35px 0 38px; isolation:isolate; }
.kpro-hero-visual::before { content:''; position:absolute; inset:-10px -20px 0; z-index:-1; background:radial-gradient(ellipse at 80% 40%,#cad8c2,transparent 68%); }
.kpro-app { border:1px solid #3e574832; box-shadow:0 30px 60px #243c3020,0 4px 10px #243c3008; border-radius:12px; overflow:hidden; background:#edf0e9; transform:perspective(1500px) rotateY(-5deg) rotateX(2deg); }
.kpro-app-bar { height:36px; display:flex; align-items:center; justify-content:space-between; gap:15px; background:#25382d; color:#dce5d8; font-size:7px; letter-spacing:.08em; padding:0 12px; }
.kpro-app-bar i { display:inline-block; width:5px; height:5px; background:#95a891; border-radius:50%; margin-right:4px; }
.kpro-app-bar b { margin-left:5px; color:#d5bd8d; }
.kpro-app-body { display:grid; grid-template-columns:110px 1fr; min-height:335px; }
.kpro-app aside { background:#e4eade; display:flex; flex-direction:column; gap:15px; padding:20px 13px; font-size:8px; color:#56634f; }
.kpro-app aside b { color:#234d36; padding:6px 7px; margin:-6px -7px 0; border-radius:5px; background:#cddcc6; }
.kpro-app aside hr { border:0; border-top:1px solid #c7d4c1; margin:7px 0 0; }
.kpro-app aside small { font-size:5px; letter-spacing:.06em; }
.kpro-app-main { padding:24px 18px 18px; }
.kpro-app-main > small { font-size:6px; font-weight:700; letter-spacing:.1em; }
.kpro-app-main h3 { font:500 20px/1.2 Georgia,serif!important; margin:9px 0 18px; }
.kpro-app-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.kpro-app-metrics > div { padding:10px 7px; border:1px solid #dee5d8; border-radius:6px; background:#fff; }
.kpro-app-metrics small { display:block; font-size:6px; margin-bottom:4px; }
.kpro-app-metrics strong { font-size:13px; white-space:nowrap; font-weight:600; }
.kpro-app-chart { background:white; border-radius:7px; padding:12px; margin:10px 0; }
.kpro-app-chart > div:first-child { display:flex; justify-content:space-between; font-size:7px; }
.kpro-app-chart small { font-size:5px; color:#7b8876; }
.kpro-bars { height:85px; display:flex; align-items:end; gap:12px; justify-content:space-around; border-bottom:1px solid #d9e3d3; margin-top:12px; background:repeating-linear-gradient(to top,transparent 0,transparent 20px,#eef1eb 21px); }
.kpro-bars > span { display:flex; align-items:end; height:100%; flex:1; gap:3px; }
.kpro-bars > span::before,.kpro-bars > span::after { content:''; width:50%; border-radius:2px 2px 0 0; background:#718d72; height:var(--income); }
.kpro-bars > span::after { height:var(--expense); background:#cfb791; }
.kpro-app-row { display:flex; align-items:center; justify-content:space-between; gap:7px; background:white; padding:9px; margin-top:6px; border-radius:5px; font-size:7px; }
.kpro-app-row small { display:block; color:#72856a; font-size:6px; margin-top:3px; }
.kpro-chip { display:inline-block; padding:4px 7px; border-radius:4px; background:#e8eee2; color:#516b44; font-size:9px; font-weight:600; }
.kpro-app-row .kpro-chip { font-size:5px; padding:3px 5px; }
.kpro-floating-note { display:flex; gap:11px; align-items:center; position:absolute; bottom:12px; left:-28px; padding:16px 20px; background:#fffef8; border:1px solid #dde2d1; box-shadow:0 15px 30px #21372913; border-radius:9px; }
.kpro-floating-note > span { display:grid; place-items:center; width:32px; height:32px; background:#e2edda; color:#4d6940; border-radius:50%; }
.kpro-floating-note strong { display:block; font-size:10px; }
.kpro-floating-note small { display:block; font-size:8px; color:#687a5f; margin-top:2px; }
.kpro-visual-caption { font-size:8px; color:#6b7863!important; text-align:right; position:absolute; bottom:-25px; right:0; }
.kpro-intro { max-width:860px; margin:auto; padding:85px 40px 40px; text-align:center; }
.kpro-intro > p:last-child { max-width:650px; margin:auto; color:var(--kp-muted); }
.kpro-features { max-width:1280px; padding:20px 40px 90px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.kpro-feature { background:#fffef9; border:1px solid var(--kp-line); border-radius:10px; padding:28px; display:flex; flex-direction:column; }
.kpro-number { color:#829775; font:italic 20px Georgia,serif; margin-bottom:38px; }
.kpro-feature h3 { margin:0 0 15px; }
.kpro-feature > p { font-size:14px; color:var(--kp-muted); margin-bottom:27px; }
.kpro-feature-example { background:#f0f3e9; border:1px solid #e1e7d8; border-radius:6px; padding:15px; margin-top:auto; }
.kpro-feature-example small { display:block; color:#6b7d5b; font-size:9px; margin-bottom:12px; }
.kpro-feature-example strong { display:block; font-size:12px; font-weight:600; }
.kpro-feature-example span { display:block; margin-top:4px; font-size:10px; color:#718266; }
.kpro-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; max-width:1200px; padding:55px 40px 95px; margin:auto; }
.kpro-copy > p:not(.kpro-eyebrow) { color:var(--kp-muted); font-size:15px; }
.kpro-context-cards { display:grid; gap:16px; padding:20px 0; }
.kpro-context-cards article { border:1px solid var(--kp-line); border-radius:10px; background:#fffef9; padding:27px; margin-right:38px; box-shadow:0 15px 40px #1d382d06; }
.kpro-context-cards article:last-child { background:#254332; color:#f2f2e5; margin-right:0; margin-left:38px; }
.kpro-context-cards h3 { font:32px Georgia,serif!important; margin:20px 0 13px; }
.kpro-context-cards p { font-size:13px; opacity:.8; }
.kpro-mini-line { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #82927644; margin-top:18px; padding-top:17px; font-size:10px; }
.kpro-workflow { background:#203c30; color:#f2f3e5; padding:75px max(40px,calc((100vw - 1200px)/2)); }
.kpro-workflow .kpro-eyebrow { color:#bfceaf; }
.kpro-workflow ol { list-style:none!important; padding:35px 0 0!important; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.kpro-workflow li { border-top:1px solid #647a5d; padding-top:23px; }
.kpro-workflow li > span { font:italic 23px Georgia,serif; color:#c2bc88; }
.kpro-workflow h3 { font-size:17px!important; margin:27px 0 10px; }
.kpro-workflow li p { font-size:13px; color:#c0ccb8; max-width:230px; }
.kpro-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:1200px; margin:auto; padding:95px 40px; }
.kpro-detail-grid article { padding:10px 0; }
.kpro-detail-icon { font:30px Georgia,serif; display:block; color:#758765; margin-bottom:25px; }
.kpro-detail-grid article > p:not(.kpro-eyebrow) { color:var(--kp-muted); font-size:14px; }
.kpro ul { padding:0!important; list-style:none!important; margin:25px 0 0; }
.kpro li { margin:0; }
.kpro ul li { font-size:13px; padding:10px 0; border-top:1px solid var(--kp-line); }
.kpro ul li::before { content:'✓'; color:#748e63; margin-right:10px; }
.kpro-offer { padding:80px 40px; max-width:1280px; margin:auto; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:90px; border-top:1px solid var(--kp-line); }
.kpro-offer > div > p:not(.kpro-eyebrow) { max-width:480px; color:var(--kp-muted); font-size:15px; }
.kpro-price-card { background:#fffef9; border:1px solid #cbd6c0; border-radius:12px; padding:35px; box-shadow:0 20px 50px #273e3010; }
.kpro-price-top { display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid var(--kp-line); padding-bottom:22px; }
.kpro-price-top strong { font-size:17px; }
.kpro-price-top > span { font-size:8px; letter-spacing:.09em; }
.kpro-reference { font-size:13px; color:#829078!important; margin:25px 0 0!important; }
.kpro-price { font:65px/1.2 Georgia,serif; letter-spacing:-.04em; margin:5px 0 8px!important; }
.kpro-price > span { font:20px Arial,sans-serif; letter-spacing:0; }
.kpro-price > small { font:13px Arial,sans-serif; margin-left:7px; color:#6f7e64; letter-spacing:0; }
.kpro-trial { font-size:14px; margin-bottom:24px!important; }
.kpro-price-card .kpro-button { width:100%; }
.kpro-price-terms { font-size:11px; line-height:1.65; margin:17px 0!important; color:#69785e!important; }
.kpro-price-card > .kpro-fine { border-top:1px solid var(--kp-line); padding-top:16px; font-size:10px; }
.kpro-faq { max-width:1200px; margin:auto; padding:85px 40px; display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.kpro-faq details { border-top:1px solid var(--kp-line); padding:0 0 2px; }
.kpro-faq summary { display:flex; justify-content:space-between; gap:20px; align-items:center; cursor:pointer; list-style:none; padding:22px 0; font-size:14px; font-weight:600; }
.kpro-faq summary::-webkit-details-marker { display:none; }
.kpro-faq summary > span { font-size:20px; font-weight:400; transition:transform .15s; }
.kpro-faq details[open] summary > span { transform:rotate(45deg); }
.kpro-faq details > p { font-size:13px; line-height:1.75; color:var(--kp-muted); padding:0 30px 17px 0; }
.kpro-footer { border-top:1px solid var(--kp-line); max-width:1280px; margin:auto; padding:45px 40px; display:flex; gap:22px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.kpro-footer p { font-size:11px; margin:0; }
.kpro-footer nav { display:flex; gap:19px; flex-wrap:wrap; font-size:11px; }
.kpro-footer > small { width:100%; font-size:9px; color:#7a8770; }
.kirk-pro-home-promo { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:65px max(35px,calc((100vw - 1160px)/2)); border-block:1px solid #d4ddcd; }
.kirk-pro-home-promo h2 { font-size:40px; margin:12px 0 18px; }
.kirk-pro-home-promo p { max-width:640px; font-size:15px; margin:0; }
.kpro-section,.kpro-section > .et_pb_row,.kpro-section .et_pb_column,.kpro-section .et_pb_text { margin:0!important; padding:0!important; width:100%!important; max-width:none!important; }
.kpro-landing #main-header,.kpro-landing #top-header,.kpro-landing #main-footer,.kpro-landing .et-l--header,.kpro-landing .et-l--footer,.kpro-landing #sidebar { display:none; }
.kpro-landing #page-container { padding-top:0!important; }
.kpro-landing #main-content .container { width:100%; max-width:none; padding-top:0; }
.kpro-landing #left-area { padding:0; width:100%; }
.kpro-landing #main-content .container::before { display:none; }
.kpro-landing .entry-title,.kpro-landing .post-meta { display:none; }
.kpro :focus-visible { outline:2px solid #637f47; outline-offset:5px; }
.kpro [id] { scroll-margin-top:30px; }
@media(max-width:980px) { .kpro-hero { gap:35px; padding-block:60px; } .kpro-app-body { grid-template-columns:80px 1fr; } .kpro-app aside { padding:20px 8px; font-size:7px; } .kpro-app-main { padding:18px 12px; } .kpro-app-metrics strong { font-size:10px; } .kpro-floating-note { left:-15px; padding:12px; } .kpro-split,.kpro-offer,.kpro-faq { gap:40px; } .kpro-feature { padding:22px; } .kpro-detail-grid { gap:35px; } }
@media(max-width:760px) { .kpro-nav { padding:20px 24px; flex-wrap:wrap; gap:15px; } .kpro-nav nav { font-size:11px; gap:20px; width:100%; justify-content:space-between; flex-wrap:wrap; } .kpro-hero { grid-template-columns:1fr; gap:25px; padding:45px 24px 60px; } .kpro-hero-copy { max-width:570px; } .kpro h1 { font-size:52px!important; } .kpro-hero-visual { max-width:580px; width:100%; margin:auto; padding:20px 5px 30px; } .kpro-app-body { grid-template-columns:90px 1fr; } .kpro-app-main { padding:20px 15px; } .kpro-app-metrics strong { font-size:13px; } .kpro-floating-note { left:0; bottom:10px; } .kpro-intro { padding:55px 24px 30px; } .kpro-features { grid-template-columns:1fr; padding:10px 24px 50px; } .kpro-number { margin-bottom:22px; } .kpro-feature { padding:26px; } .kpro-split,.kpro-detail-grid,.kpro-offer,.kpro-faq { grid-template-columns:1fr; padding:55px 24px; gap:25px; } .kpro-workflow { padding:55px 24px; } .kpro-workflow ol { grid-template-columns:1fr 1fr; gap:25px; } .kpro-workflow h3 { margin-top:16px; } .kpro-price-card { padding:28px; } .kpro-detail-grid { gap:35px; } .kpro-footer { padding:35px 24px; flex-direction:column; align-items:flex-start; } .kirk-pro-home-promo { flex-direction:column; align-items:flex-start; padding:45px 24px; } .kpro-visual-caption { bottom:-18px; } }
@media(max-width:400px) { .kpro h1 { font-size:43px!important; } .kpro-app-body { grid-template-columns:65px 1fr; } .kpro-app aside { font-size:6px; } .kpro-app-metrics strong { font-size:10px; } .kpro-app-main { padding:17px 10px; } .kpro-hero-actions { gap:15px; } .kpro-brand img { width:140px; } }
@media(prefers-reduced-motion:reduce) { .kpro * { transition:none!important; scroll-behavior:auto!important; } .kpro-app { transform:none; } }

/* Only the Pro product; Classic product pages and checkout remain owned by WooCommerce. */
.kpro-product #sidebar,.kpro-product #main-content .container:before{display:none!important}
.kpro-product #left-area{width:100%!important;padding-right:0!important}
.kpro-product #main-content{background:#f5f4ed}
.kpro-product #main-content .container{width:min(90%,1240px);padding-top:32px!important}
.kpro-product div.product{padding-top:24px}
.kpro-product div.product .product_title{font:clamp(30px,3.2vw,48px)/1.1 Georgia,serif;color:#193b31;letter-spacing:-1px}
.kpro-product .woocommerce-product-details__short-description{font:16px/1.75 Arial,sans-serif;color:#4c6058;margin:24px 0}
.kpro-product .summary .price{font-size:24px!important;color:#193b31!important;line-height:1.65}
.kpro-product .summary .price del{font-size:18px;color:#717e77}
.kpro-product .summary .price ins{text-decoration:none;font-weight:700}
.kpro-product .summary .cart .single_add_to_cart_button{background:#193b31!important;color:#fff!important;border:0!important;border-radius:8px!important;font:700 16px/1.4 Arial,sans-serif!important;padding:16px 24px!important}
.kpro-product .summary .cart .single_add_to_cart_button:after{display:none!important}
.kpro-product-cover{width:48%;float:left;border-radius:18px;padding:48px;background:#dfe8db;min-height:485px;display:flex;flex-direction:column;align-items:flex-start}
.kpro-product-cover>img{max-width:210px;height:auto}
.kpro-product-badge{background:#193b31;color:#fff;letter-spacing:4px;padding:5px 13px;border-radius:5px;font-size:12px;font-weight:700;margin:14px 0 30px}
.kpro .kpro-product-cover h2,.kpro-product-cover h2{font:38px/1.1 Georgia,serif!important;color:#193b31!important}
.kpro-cover-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;width:100%;padding:30px 0;margin:20px 0;border-top:1px solid #bacaba;border-bottom:1px solid #bacaba}
.kpro-cover-flow span{font:14px/1.8 Arial,sans-serif;color:#4c6058}.kpro-cover-flow strong{font-size:16px;color:#193b31}
.kpro-product-nav{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #dce2d9;padding:0 0 24px;font-size:14px}
.kpro-product-nav a{color:#193b31!important;text-decoration:none!important}
.kpro-purchase-note{border:1px solid #dce2d9;border-radius:12px;padding:20px;background:#fff;margin:20px 0;font-size:14px}
.kpro-purchase-note p{margin:8px 0 0!important;line-height:1.6!important}
@media(max-width:767px){.kpro-product-cover{float:none;width:100%;min-height:0;padding:30px;margin-bottom:28px}.kpro-product-nav{flex-direction:column;gap:12px}.kpro-product-cover h2{font-size:31px!important}}
.kpro-brand img,.kpro-product-cover>img{filter:brightness(0);opacity:.86}

/* Preserve the Pro hierarchy when Divi applies global text presets and wpautop. */
.kpro.et_pb_text{font-family:Arial,Helvetica,sans-serif!important;color:var(--kp-ink)!important}
.kpro p:empty{display:none}
.kpro-app aside>p{display:contents}
.kpro-workflow li>br{display:none}

.kpro-landing .kpro.et_pb_text h1,.kpro-landing .kpro.et_pb_text h2,.kpro-landing .kpro.et_pb_text h3{color:inherit!important}
.kpro-landing .kpro.et_pb_text a.kpro-primary,.kpro.kirk-pro-home-promo a.kpro-primary{color:#fff!important}
