/*
Theme Name: GSG Kick Ass Follow-Up Child
Theme URI: https://kickassfollowup.com
Description: GSG child theme for Kick Ass Follow-Up (Hello Elementor parent).
Author: The Get Smart Group
Author URI: https://thegetsmartgroup.com
Template: hello-elementor
Version: 1.0.0
Text Domain: gsg-kaf-child
*/
:root{--kaf-black:#000;--kaf-orange:#FC5D01;--kaf-white:#fff;--kaf-ink:#111;--kaf-gray:#f4f4f2;--kaf-muted:#5b5b5b;--kaf-line:#e6e6e6;
--kaf-display:"Barlow Condensed","Anton",Impact,"Arial Narrow",sans-serif;--kaf-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--kaf-body);color:var(--kaf-ink);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.kaf-display{font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.005em;line-height:.95}
a{color:var(--kaf-orange)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.kaf-accent{color:var(--kaf-orange)}
/* skip link */
.skip-link.screen-reader-text:focus{background:#fff;color:#000;z-index:100000}

/* ---------- Header ---------- */
.kaf-header{position:sticky;top:0;z-index:999;background:#fff;border-bottom:3px solid var(--kaf-black);transition:box-shadow .2s}
.admin-bar .kaf-header{top:32px}
.kaf-header.kaf-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.kaf-header .elementor-nav-menu--main .elementor-item{font-family:var(--kaf-display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:19px;letter-spacing:.02em;color:#000;padding:10px 12px}
.kaf-header .elementor-nav-menu--main .elementor-item:hover,.kaf-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--kaf-orange)}
.kaf-header .elementor-menu-toggle{background:#000;color:#fff;border-radius:6px;font-size:24px;padding:8px}
.kaf-header .elementor-menu-toggle svg{fill:#fff}
.kaf-header .elementor-nav-menu--dropdown{background:#000;border-top:3px solid var(--kaf-orange)}
.kaf-header .elementor-nav-menu--dropdown a{color:#fff!important;font-family:var(--kaf-display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:22px;padding:14px 22px!important;border-bottom:1px solid #222}
.kaf-header .elementor-nav-menu--dropdown a:hover,.kaf-header .elementor-nav-menu--dropdown a.elementor-item-active{background:#111!important;color:var(--kaf-orange)!important}
.kaf-header .kaf-login a{font-weight:700;color:#000;text-decoration:none;font-size:15px;white-space:nowrap}
.kaf-header .kaf-login a:hover{color:var(--kaf-orange)}
.kaf-mobile-only{display:none!important}
@media (max-width:1024px){.kaf-header .kaf-hide-tablet{display:none!important}.kaf-mobile-only{display:block!important}}
@media (max-width:1180px) and (min-width:1025px){.kaf-header .elementor-nav-menu--main .elementor-item{font-size:17px;padding:10px 8px}}

/* ---------- Buttons ---------- */
.kaf-btn .elementor-button{font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.03em;font-size:20px;line-height:1;padding:16px 28px;border-radius:6px;background:var(--kaf-orange);color:#000;border:3px solid var(--kaf-orange);box-shadow:4px 4px 0 #000;transition:transform .12s,box-shadow .12s,background .12s}
.kaf-btn .elementor-button:hover,.kaf-btn .elementor-button:focus{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000;background:#ff7a2e;color:#000}
.kaf-btn-ghost .elementor-button{background:transparent;color:#000;border-color:#000;box-shadow:none}
.kaf-btn-ghost .elementor-button:hover{background:#000;color:#fff;box-shadow:none;transform:none}
.kaf-dark .kaf-btn .elementor-button{box-shadow:4px 4px 0 #fff}
.kaf-dark .kaf-btn .elementor-button:hover{box-shadow:6px 6px 0 #fff}
.kaf-dark .kaf-btn-ghost .elementor-button{color:#fff;border-color:#fff;box-shadow:none}
.kaf-dark .kaf-btn-ghost .elementor-button:hover{background:#fff;color:#000;box-shadow:none}
.kaf-btn-sm .elementor-button{font-size:17px;padding:11px 18px;box-shadow:3px 3px 0 #000}

/* ---------- Sections ---------- */
.kaf-dark{background:#000;color:#fff}
.kaf-dark h1,.kaf-dark h2,.kaf-dark h3,.kaf-dark .elementor-heading-title{color:#fff}
.kaf-dark p,.kaf-dark li{color:#e9e9e9}
.kaf-gray{background:var(--kaf-gray)}
.kaf-orange{background:var(--kaf-orange);color:#000}
.kaf-orange h2,.kaf-orange .elementor-heading-title{color:#000}
.kaf-hero{background:#000 radial-gradient(1000px 500px at 85% 20%,rgba(252,93,1,.35),transparent 60%);color:#fff;position:relative;overflow:hidden}
.kaf-hero::after{content:"";position:absolute;inset:auto -10% -1px -10%;height:14px;background:repeating-linear-gradient(-45deg,var(--kaf-orange) 0 18px,#000 18px 36px)}
.kaf-hero .elementor-heading-title{color:#fff}
.kaf-h1 .elementor-heading-title{font-size:clamp(46px,7.2vw,96px)}
.kaf-h1-sm .elementor-heading-title{font-size:clamp(42px,6vw,78px)}
.kaf-h2 .elementor-heading-title{font-size:clamp(36px,4.6vw,60px)}
.kaf-h3 .elementor-heading-title{font-size:clamp(26px,2.4vw,32px)}
.kaf-eyebrow .elementor-heading-title{font-family:var(--kaf-body);font-style:normal;font-weight:800;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--kaf-orange)}
.kaf-orange .kaf-eyebrow .elementor-heading-title{color:#000}
.kaf-lead{font-size:20px;line-height:1.55;max-width:760px}
.kaf-center{text-align:center}
.kaf-center .kaf-lead{margin-left:auto;margin-right:auto}
.kaf-hero .kaf-lead p{color:#ddd}
.kaf-note{font-size:14px;color:var(--kaf-muted)}
.kaf-dark .kaf-note,.kaf-hero .kaf-note{color:#aaa}

/* cards */
.kaf-card{background:#fff;border:3px solid #000;border-radius:10px;box-shadow:6px 6px 0 #000;height:100%}
.kaf-dark .kaf-card{background:#111;border-color:#333;box-shadow:6px 6px 0 var(--kaf-orange)}
.kaf-card h3{font-size:28px;margin:0 0 10px}
.kaf-card p{margin:0 0 10px;line-height:1.55}
.kaf-step-num{display:inline-block;font-family:var(--kaf-display);font-style:italic;font-weight:900;font-size:22px;background:var(--kaf-orange);color:#000;border-radius:6px;padding:4px 12px;margin-bottom:14px}
.kaf-ticks{list-style:none;margin:0;padding:0}
.kaf-ticks li{position:relative;padding:7px 0 7px 30px;line-height:1.45;border-bottom:1px dashed var(--kaf-line)}
.kaf-ticks li:last-child{border-bottom:0}
.kaf-ticks li::before{content:"";position:absolute;left:0;top:11px;width:18px;height:18px;border-radius:4px;background:var(--kaf-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23000' stroke-width='3'/%3E%3C/svg%3E") center/14px no-repeat}
.kaf-dark .kaf-ticks li{border-color:#2a2a2a}

/* timeline */
.kaf-timeline{list-style:none;margin:0;padding:0;counter-reset:t}
.kaf-timeline li{position:relative;padding:0 0 26px 74px}
.kaf-timeline li::before{content:attr(data-t);position:absolute;left:0;top:0;width:58px;font-family:var(--kaf-display);font-style:italic;font-weight:900;font-size:20px;color:#000;background:var(--kaf-orange);border-radius:6px;text-align:center;padding:4px 0}
.kaf-timeline li::after{content:"";position:absolute;left:28px;top:36px;bottom:4px;width:3px;background:#333}
.kaf-timeline li:last-child::after{display:none}
.kaf-timeline strong{display:block;font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:24px;line-height:1.05;margin-bottom:4px;color:#fff}
.kaf-gray .kaf-timeline strong,.kaf-light-tl .kaf-timeline strong{color:#000}

/* pricing */
.kaf-price-card{position:relative;background:#fff;border:3px solid #000;border-radius:12px;padding:34px 28px 30px;box-shadow:8px 8px 0 #000;display:flex;flex-direction:column;height:100%}
.kaf-price-card.kaf-popular{border-color:var(--kaf-orange);box-shadow:8px 8px 0 var(--kaf-orange)}
.kaf-price-card .kaf-badge-pop{position:absolute;top:-17px;left:24px;background:var(--kaf-orange);color:#000;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:5px;border:2px solid #000}
.kaf-price-card h3{font-size:34px;margin:0 0 4px}
.kaf-price{font-family:var(--kaf-display);font-style:italic;font-weight:900;font-size:64px;line-height:1;margin:10px 0 4px}
.kaf-price small{font-family:var(--kaf-body);font-style:normal;font-weight:600;font-size:17px;color:var(--kaf-muted)}
.kaf-price-sub{color:var(--kaf-muted);margin:0 0 18px;font-size:15px}
.kaf-price-card .kaf-ticks{margin-bottom:24px;flex:1}
.kaf-price-card .kaf-cta{display:block;text-align:center;font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:20px;padding:15px 18px;border-radius:6px;background:#000;color:#fff;text-decoration:none;border:3px solid #000;transition:background .12s,color .12s}
.kaf-price-card .kaf-cta:hover{background:var(--kaf-orange);color:#000}
.kaf-price-card.kaf-popular .kaf-cta{background:var(--kaf-orange);color:#000;border-color:var(--kaf-orange)}
.kaf-price-card.kaf-popular .kaf-cta:hover{background:#000;color:#fff;border-color:#000}
.kaf-price-card .kaf-cta-alt{display:block;text-align:center;margin-top:12px;font-weight:700;color:#000;font-size:15px}
.kaf-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;align-items:stretch}
@media (max-width:1024px){.kaf-pricing-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto;gap:40px}}
.kaf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:3px solid #000;border-radius:10px}
.kaf-table{width:100%;border-collapse:collapse;min-width:640px;background:#fff}
.kaf-table th,.kaf-table td{padding:13px 16px;border-bottom:1px solid var(--kaf-line);text-align:left;font-size:15px;vertical-align:top}
.kaf-table thead th{background:#000;color:#fff;font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:20px}
.kaf-table thead th.kaf-col-pop{background:var(--kaf-orange);color:#000}
.kaf-table tbody th{font-weight:600}
.kaf-table td.y{font-weight:700}
.kaf-table tr:nth-child(even) td,.kaf-table tr:nth-child(even) th{background:#fafafa}

/* chips / industries */
.kaf-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0;padding:0;list-style:none}
.kaf-chips li{font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:22px;border:3px solid #fff;color:#fff;border-radius:8px;padding:8px 16px}
.kaf-chips li:nth-child(3n+1){background:var(--kaf-orange);color:#000;border-color:var(--kaf-orange)}
.kaf-gray .kaf-chips li,.kaf-light .kaf-chips li{border-color:#000;color:#000}

/* FAQ */
.kaf-faq details{border:3px solid #000;border-radius:10px;margin:0 0 14px;background:#fff;box-shadow:4px 4px 0 #000}
.kaf-faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 20px;position:relative;font-weight:800;font-size:18px;line-height:1.35}
.kaf-faq summary::-webkit-details-marker{display:none}
.kaf-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:6px;background:var(--kaf-orange);color:#000;font-weight:900;font-size:22px;line-height:28px;text-align:center}
.kaf-faq details[open] summary::after{content:"–"}
.kaf-faq details[open] summary{border-bottom:1px dashed var(--kaf-line)}
.kaf-faq .kaf-faq-a{padding:14px 20px 18px;line-height:1.6}
.kaf-faq .kaf-faq-a p{margin:0 0 10px}
.kaf-faq h2{margin:42px 0 16px;font-size:clamp(30px,3.2vw,40px)}
.kaf-faq h2:first-child{margin-top:0}

/* form */
.kaf-form-card{background:#fff;border:3px solid #000;border-radius:12px;box-shadow:8px 8px 0 var(--kaf-orange)}
.kaf-form .elementor-field-group .elementor-field-label{font-weight:700;font-size:15px;color:#000;margin-bottom:6px}
.kaf-form .elementor-field-textual,.kaf-form select{border:2px solid #000!important;border-radius:6px!important;font-size:16px!important;min-height:48px;background:#fff!important;color:#000!important}
.kaf-form textarea.elementor-field-textual{min-height:120px}
.kaf-form .elementor-field-textual:focus{outline:3px solid var(--kaf-orange);outline-offset:1px}
.kaf-form .elementor-button{font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:21px;background:var(--kaf-orange)!important;color:#000!important;border:3px solid #000;border-radius:6px;box-shadow:4px 4px 0 #000;min-height:54px}
.kaf-form .elementor-button:hover{background:#000!important;color:#fff!important}
.kaf-form .elementor-message-success{background:#000;color:#fff;border-left:6px solid var(--kaf-orange);padding:16px 18px;border-radius:6px;font-weight:600}
.kaf-form .elementor-field-type-acceptance label,.kaf-form .elementor-field-subgroup label{font-size:13px;line-height:1.45;color:#333}

/* legal */
.kaf-legal{max-width:860px;margin:0 auto;line-height:1.7}
.kaf-legal h2{font-size:32px;margin:36px 0 12px}
.kaf-legal-flag{background:#fff4ec;border:2px dashed var(--kaf-orange);padding:14px 18px;border-radius:8px;font-weight:600}

/* ---------- Footer ---------- */
.kaf-footer{background:#000;color:#cfcfcf;border-top:6px solid var(--kaf-orange)}
.kaf-footer a{color:#fff;text-decoration:none}
.kaf-footer a:hover{color:var(--kaf-orange)}
.kaf-footer h2.elementor-heading-title{color:#fff;font-size:24px}
.kaf-footer .kaf-foot-links{list-style:none;margin:0;padding:0}
.kaf-footer .kaf-foot-links li{padding:5px 0}
.kaf-footer .kaf-legal-line,.kaf-footer .kaf-legal-line p{font-size:13px;color:#9a9a9a}
.kaf-footer .kaf-legal-line a{color:#cfcfcf}

/* ---------- Mobile ---------- */
@media (max-width:767px){
 .kaf-lead{font-size:18px}
 .kaf-btn .elementor-button{font-size:18px;padding:15px 22px}
 .kaf-price{font-size:56px}
 .kaf-chips li{font-size:19px}
 .kaf-timeline li{padding-left:66px}
}

/* hero + orange band button variants */
.kaf-hero .kaf-btn .elementor-button{box-shadow:4px 4px 0 #fff}
.kaf-hero .kaf-btn .elementor-button:hover{box-shadow:6px 6px 0 #fff}
.kaf-hero .kaf-btn-ghost .elementor-button{color:#fff;border-color:#fff;box-shadow:none;background:transparent}
.kaf-hero .kaf-btn-ghost .elementor-button:hover{background:#fff;color:#000;box-shadow:none}
.kaf-orange .kaf-btn .elementor-button{background:#000;color:#fff;border-color:#000;box-shadow:4px 4px 0 #fff}
.kaf-orange .kaf-btn .elementor-button:hover{background:#111;color:var(--kaf-orange);box-shadow:6px 6px 0 #fff}
.kaf-orange .kaf-btn-ghost .elementor-button{background:transparent;color:#000;border-color:#000;box-shadow:none}
.kaf-orange .kaf-btn-ghost .elementor-button:hover{background:#000;color:#fff;box-shadow:none}
.kaf-orange .kaf-card{box-shadow:6px 6px 0 #000}
.kaf-hero a:not(.elementor-button){color:var(--kaf-orange);font-weight:700}
.kaf-price-foot{text-align:center;margin-top:28px}

/* hero phone mock */
.kaf-phone{background:#0d0d0d;border:3px solid #fff;border-radius:28px;padding:20px 18px 14px;max-width:420px;margin:0 auto;box-shadow:10px 10px 0 var(--kaf-orange)}
.kaf-phone-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--kaf-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:22px;color:#fff;border-bottom:1px solid #2a2a2a;padding-bottom:10px;margin-bottom:12px}
.kaf-live{font-family:var(--kaf-body);font-style:normal;font-size:12px;letter-spacing:.14em;background:var(--kaf-orange);color:#000;border-radius:4px;padding:3px 8px}
.kaf-feed{list-style:none;margin:0;padding:0}
.kaf-feed li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;color:#ddd;font-size:15px;line-height:1.4}
.kaf-feed b{flex:0 0 52px;font-family:var(--kaf-display);font-style:italic;font-weight:900;font-size:18px;color:var(--kaf-orange)}
.kaf-feed .kaf-bubble span{background:#1f1f1f;border-radius:14px 14px 14px 4px;padding:10px 12px;color:#fff}
.kaf-feed .kaf-hot span{color:#fff;font-weight:700}
.kaf-feed .kaf-hot b{color:#000;background:var(--kaf-orange);border-radius:4px;text-align:center;font-size:16px}
.kaf-phone-foot{margin:8px 0 0;text-align:right;font-size:11px;color:#888;letter-spacing:.08em;text-transform:uppercase}

/* fixes after QA round 1 */
.kaf-price-card{text-align:left}
.kaf-header .elementor-widget-image{flex-shrink:0}
.kaf-header .elementor-widget-image img{width:230px;max-width:none;height:auto;display:block}
@media (max-width:1024px){.kaf-header .elementor-widget-image img{width:210px}}
@media (max-width:767px){.kaf-header .elementor-widget-image img{width:178px}}
.kaf-foot-nav .elementor-nav-menu--main .elementor-item,.kaf-foot-nav .elementor-nav-menu a{padding:5px 0!important;color:#fff;font-size:16px;font-weight:400;line-height:1.5}
.kaf-foot-nav .elementor-nav-menu a:hover{color:var(--kaf-orange)}
.kaf-foot-nav .elementor-nav-menu li{margin:0}
.kaf-footer .kaf-foot-links li{padding:5px 0;line-height:1.5;font-size:16px}
.kaf-footer .elementor-widget-image{text-align:left}
.kaf-swipe{display:none;text-align:center;margin:0 0 8px}
@media (max-width:767px){.kaf-swipe{display:block}}
