/* KallisToys footer: own file so it loads even when theme.css is cached or replaced */
/* ===== Footer v2: promise strip, brand + actions, link columns, editorial wordmark ===== */
.footer.kf{position:relative;margin-top:48px;overflow:hidden;background:radial-gradient(90% 120% at 12% 0%,#2a1c17 0%,#17110e 55%,#110c0a 100%);color:#bfae9e;font-size:13.5px;box-shadow:inset 0 1px 0 rgba(201,166,107,.35)}
.kf .wrap{display:block;padding:0}
.kf-promise{padding:0!important;border-bottom:1px solid rgba(201,166,107,.16)}
.kf-promise ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.kf-promise li{display:flex;align-items:center;gap:12px;padding:18px clamp(12px,1.6vw,24px)}
.kf-promise li+li{border-left:1px solid rgba(201,166,107,.14)}
.kf-promise li:first-child{padding-left:0}
.kf-promise .i{flex:none;width:36px;height:36px;padding:9px;border:1px solid rgba(201,166,107,.35);border-radius:50%;color:#e6c88f}
.kf-promise span{display:flex;flex-direction:column;color:#a8978a;font-size:12.5px;line-height:1.4}
.kf-promise b{color:#f6ecdf;font:500 16px/1.25 var(--serif)}
.kf .kf-main{display:grid!important;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.8fr));gap:clamp(22px,3vw,48px);padding:36px 0 28px!important}
.kf-brand .footer-logo img{height:54px}
.kf-brand p{max-width:40ch;margin:12px 0 14px;color:#bfae9e;line-height:1.6}
.kf-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kf-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px;border:1px solid rgba(246,236,223,.22);border-radius:var(--r-sm,8px);color:#f6ecdf!important;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .2s,background .2s,color .2s}
.kf-btn .i{width:15px;height:15px}
.kf-btn:hover{border-color:rgba(246,236,223,.5);background:rgba(255,255,255,.05)}
.kf-btn.is-gold{border-color:#c9a66b;background:linear-gradient(180deg,#e6c88f,#c9a66b);color:#2a1a10!important}
.kf-btn.is-gold:hover{filter:brightness(1.06);background:linear-gradient(180deg,#eed3a0,#d0ae74)}
.kf h3{margin:4px 0 14px;color:#e6c88f;font:800 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.kf ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.kf-main a:not(.kf-btn):not(.footer-logo):not(.tp-fallback),.kf .kt-cookie-open{position:relative;color:#bfae9e;text-decoration:none;transition:color .2s}
.kf-main a:not(.kf-btn):not(.footer-logo):not(.tp-fallback):hover,.kf .kt-cookie-open:hover{color:#fff}
.kf-main li a:not(.kf-btn)::after,.kf .kt-cookie-open::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#e6c88f;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.kf-main li a:not(.kf-btn):hover::after,.kf .kt-cookie-open:hover::after{transform:none}
.kf .kt-cookie-open{text-decoration:none}
.kf .kf-join{color:#e6c88f!important;font-weight:700}
.kf-mark{margin:-6px 0 -0.24em;color:rgba(246,236,223,.045);font:italic 500 clamp(80px,15vw,250px)/1 var(--serif);letter-spacing:-.04em;text-align:center;white-space:nowrap;pointer-events:none;user-select:none;background:linear-gradient(180deg,rgba(230,200,143,.12),rgba(230,200,143,0) 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.kf .footer-base{position:relative;border-top:1px solid rgba(201,166,107,.16);background:rgba(0,0,0,.25)}
.kf .footer-base .wrap{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:14px 0!important;color:#8f7f72;font-size:12.5px}
.kf-top{display:inline-flex;align-items:center;gap:7px;color:#bfae9e!important;font-weight:700;text-decoration:none}
.kf-top .i{width:14px;height:14px;transform:rotate(-90deg);transition:transform .2s}
.kf-top:hover{color:#fff!important}
.kf-top:hover .i{transform:rotate(-90deg) translateX(3px)}
@media(max-width:1100px){.kf-promise ul{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-promise li:nth-child(3){border-left:0;padding-left:0}.kf-promise li:nth-child(n+3){border-top:1px solid rgba(201,166,107,.14)}.kf .kf-main{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-brand{grid-column:1/-1}}
@media(max-width:640px){.kf-promise ul{grid-template-columns:1fr}.kf-promise li{padding:12px 0!important;border-left:0!important}.kf-promise li+li{border-top:1px solid rgba(201,166,107,.14)}.kf .kf-main{grid-template-columns:1fr 1fr}.kf-mark{font-size:22vw}}
/* footer v2.1: neutral near-black (no brown), thin brand-red line on top, no big wordmark */
.footer.kf{background:#141213;color:#b3aaa4;box-shadow:inset 0 2px 0 var(--red)}
.kf-promise{border-bottom-color:rgba(255,255,255,.08)}
.kf-promise li+li{border-left-color:rgba(255,255,255,.07)}
.kf-promise .i{border-color:rgba(255,255,255,.16);color:#f2eae2}
.kf-promise span{color:#948b85}
.kf-brand p,.kf-main a:not(.kf-btn):not(.footer-logo):not(.tp-fallback),.kf .kt-cookie-open{color:#b3aaa4}
.kf h3{color:#f2eae2}
.kf-main li a:not(.kf-btn)::after,.kf .kt-cookie-open::after{background:var(--red)}
.kf .kf-main{padding-bottom:32px!important}
.kf-btn.is-gold{border-color:var(--red);background:var(--red);color:#fff!important}
.kf-btn.is-gold:hover{filter:brightness(1.1);background:var(--red)}
.kf .kf-join{color:#fff!important}
.kf .footer-base{border-top-color:rgba(255,255,255,.08);background:#0e0d0d}
.kf .footer-base .wrap{color:#7f7771}
.kf-mark{display:none}
@media(max-width:1100px){.kf-promise li:nth-child(n+3){border-top-color:rgba(255,255,255,.07)}}
/* footer v3: a brand-red card straddles the edge, then a calm black footer with even columns */
.footer.kf{margin-top:96px;overflow:visible;background:radial-gradient(60% 90% at 50% 0%,rgba(163,25,42,.16),transparent 70%),#121011;box-shadow:none}
.kf-promise{display:none}
.kf .kf-cta{position:relative;top:-54px;margin-bottom:-54px!important}
.kf-cta-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.4vw,32px);padding:clamp(18px,2vw,26px) clamp(20px,2.6vw,36px);border-radius:var(--r);color:#fbf4ea;background:radial-gradient(80% 160% at 12% -20%,#b3212f 0%,#7d1522 45%,#3a0c12 100%);box-shadow:inset 0 -1px 0 rgba(230,200,143,.6),0 30px 60px -30px rgba(40,6,10,.75)}
.kf-cta-seal{width:84px!important;height:84px!important;margin:-10px 0!important}
.kf-cta-copy p{margin:0 0 4px;color:#e6c88f;font:800 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
body .kf-cta-copy h2{margin:0;color:#fdf7ee!important;font:500 clamp(22px,2vw,30px)/1.12 var(--serif)!important;letter-spacing:-.02em}
.kf-cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.kf-cta-main,.kf-cta-alt{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 20px;border-radius:var(--r-sm,8px);font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.kf-cta-main{background:#fbf4ea;color:#5b1019!important;box-shadow:0 12px 24px -14px rgba(0,0,0,.7)}
.kf-cta-main:hover{background:#fff;transform:translateY(-1px)}
.kf-cta-main .i{width:16px;height:16px}
.kf-cta-alt{border:1px solid rgba(240,217,166,.5);color:#f6e7cc!important}
.kf-cta-alt:hover{border-color:#f0d9a6;background:rgba(255,255,255,.07);color:#fff!important}
.kf .kf-main{grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding:44px 0 40px!important}
.kf-brand .footer-logo img{height:50px}
.kf-brand p{max-width:34ch;margin:14px 0 16px;color:#a9a19b;font-size:14px}
.kf h3{margin:6px 0 16px;color:#fff;font:800 11px/1.4 var(--sans);letter-spacing:.16em}
.kf ul{gap:11px}
.kf-main a:not(.kf-btn):not(.footer-logo):not(.tp-fallback),.kf .kt-cookie-open{color:#bdb4ad;font-size:14px}
.kf .footer-base{background:transparent;border-top:1px solid rgba(255,255,255,.08)}
.kf .footer-base .wrap{display:grid!important;grid-template-columns:1fr auto 1fr;padding:18px 0!important;color:#7a726d;font-size:12.5px}
.kf-base-note{color:#7a726d;text-align:center}
.kf-top{justify-self:end}
@media(max-width:1100px){.kf .kf-main{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-brand{grid-column:1/-1}}
@media(max-width:860px){.kf-cta-card{grid-template-columns:auto minmax(0,1fr)}.kf-cta-actions{grid-column:1/-1}.kf .footer-base .wrap{grid-template-columns:1fr auto}.kf-base-note{display:none}}
@media(max-width:560px){.kf-cta-seal{width:60px!important;height:60px!important;margin:0!important}.kf-cta-actions a{flex:1}.kf .kf-main{grid-template-columns:1fr 1fr}}

/* top red bar: service links a size smaller, so they sit calmly next to the centred message */
body .topbar nav{gap:16px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.01em}
body .topbar nav a{opacity:.92}
body .topbar nav a:hover{opacity:1}
