/* Kaufungen location page — independent visual system using only global brand tokens. */
.kfg-page { --kfg-ink:#102330; --kfg-ink-2:#1a2a36; --kfg-paper:#f8fafb; --kfg-line:#dce4e8; --kfg-coral:var(--primary,#ef4933); --kfg-mint:#c9f1df; color:var(--kfg-ink); background:#fff; font-family:var(--font-body,Roboto,sans-serif); }
.kfg-page *, .kfg-page *::before, .kfg-page *::after { box-sizing:border-box; }
.kfg-page a { text-decoration:none; }
.kfg-shell { width:min(1160px, calc(100% - 48px)); margin:0 auto; }
.kfg-label, .kfg-eyebrow { color:var(--kfg-coral); font-size:.73rem; font-weight:900; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; }
.kfg-label { margin:0 0 13px; }
.kfg-section-heading h2, .kfg-process h2, .kfg-faq h2, .kfg-final h2 { color:var(--kfg-ink); font-family:var(--font-display,Roboto,sans-serif); font-size:clamp(2rem,4vw,3.45rem)!important; font-weight:900; letter-spacing:-.045em; line-height:1.02; margin:0; }
.kfg-section-heading > p:last-child, .kfg-process-title > p:not(.kfg-label), .kfg-faq-grid > div:first-child > p:last-child, .kfg-final p:not(.kfg-label) { color:var(--c-text-soft,#475569); font-size:1rem; line-height:1.72; }

/* Hero: the page starts as a dark dispatch console rather than a conventional image banner. */
.kfg-hero { background:var(--kfg-ink); color:#fff; isolation:isolate; overflow:hidden; padding:33px 0 72px; position:relative; }
.kfg-hero::before { background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:38px 38px; content:""; inset:0; mask-image:linear-gradient(90deg,#000,transparent 72%); opacity:.48; position:absolute; z-index:-1; }
.kfg-orbit { border:1px solid rgba(201,241,223,.15); border-radius:50%; position:absolute; z-index:-1; }
.kfg-orbit-one { height:700px; right:-280px; top:-295px; width:700px; }
.kfg-orbit-two { height:480px; right:-140px; top:-170px; width:480px; }
.kfg-crumb { align-items:center; color:rgba(255,255,255,.55); display:flex; font-size:.82rem; gap:8px; margin:0 0 61px; }
.kfg-crumb a { color:rgba(255,255,255,.74); }
.kfg-crumb a:hover { color:#fff; }
.kfg-crumb strong { color:#fff; font-weight:700; }
.kfg-hero-grid { align-items:center; display:grid; gap:65px; grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr); }
.kfg-eyebrow { align-items:center; color:var(--kfg-mint); display:flex; gap:9px; margin:0 0 18px; }
.kfg-status-dot { background:#59d692; border-radius:50%; box-shadow:0 0 0 5px rgba(89,214,146,.11); display:inline-block; height:7px; width:7px; }
.kfg-hero h1 { color:#fff; font-family:var(--font-display,Roboto,sans-serif); font-size:clamp(3.2rem,6.4vw,5.9rem)!important; font-weight:900; letter-spacing:-.07em; line-height:.9; margin:0; }
.kfg-hero h1 em { color:var(--kfg-coral); font-style:normal; }
.kfg-intro { color:rgba(255,255,255,.72); font-size:1.08rem; line-height:1.7; margin:29px 0; max-width:590px; }
.kfg-hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:25px; }
.kfg-button { align-items:center; border:1px solid transparent; border-radius:4px; display:inline-flex; font-size:.91rem; font-weight:900; gap:10px; justify-content:center; letter-spacing:.01em; min-height:52px; padding:0 20px; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.kfg-button:hover { transform:translateY(-2px); }
.kfg-button-primary { background:var(--kfg-coral); box-shadow:0 13px 24px rgba(239,73,51,.22); color:#fff; }
.kfg-button-primary:hover { background:var(--primary-hover,#8f2315); color:#fff; }
.kfg-text-link { color:#fff; font-size:.88rem; font-weight:800; }
.kfg-text-link i { color:var(--kfg-coral); margin-left:5px; }
.kfg-proof { display:flex; flex-wrap:wrap; gap:9px 23px; list-style:none; margin:35px 0 0; padding:0; }
.kfg-proof li { color:rgba(255,255,255,.66); font-size:.79rem; }
.kfg-proof i { color:var(--kfg-mint); margin-right:5px; }

.kfg-dispatch { background:#f7fcf9; box-shadow:18px 18px 0 rgba(239,73,51,.9); color:var(--kfg-ink); min-height:400px; padding:26px 28px 19px; position:relative; }
.kfg-dispatch::after { border:1px solid rgba(16,35,48,.11); content:""; inset:9px; pointer-events:none; position:absolute; }
.kfg-dispatch > * { position:relative; z-index:1; }
.kfg-dispatch-top { align-items:center; display:flex; font-size:.65rem; font-weight:900; justify-content:space-between; letter-spacing:.13em; }
.kfg-online { align-items:center; color:#218259; display:flex; gap:5px; }
.kfg-online b { background:#28b879; border-radius:50%; height:6px; width:6px; }
.kfg-lock-symbol { align-items:center; background:var(--kfg-ink); border-radius:50%; color:var(--kfg-mint); display:flex; font-size:2rem; height:72px; justify-content:center; margin:31px 0 21px; transform:rotate(-13deg); width:72px; }
.kfg-dispatch-label { color:var(--c-text-soft,#475569); font-size:.79rem; font-weight:700; margin:0 0 5px; text-transform:uppercase; }
.kfg-phone { color:var(--kfg-ink); display:block; font-family:var(--font-display,Roboto,sans-serif); font-size:clamp(1.45rem,3vw,2.08rem); font-weight:900; letter-spacing:-.035em; line-height:1.1; }
.kfg-phone:hover { color:var(--kfg-coral); }
.kfg-dispatch-copy { color:var(--c-text-soft,#475569); font-size:.84rem; line-height:1.55; margin:17px 0; max-width:330px; }
.kfg-button-light { background:var(--kfg-ink); color:#fff; width:100%; }
.kfg-button-light:hover { background:var(--primary-hover,#8f2315); color:#fff; }
.kfg-dispatch-footer { border-top:1px solid rgba(16,35,48,.13); color:var(--c-text-soft,#475569); display:flex; font-size:.73rem; gap:7px; margin-top:18px; padding-top:14px; }
.kfg-dispatch-footer i { color:var(--kfg-coral); }

.kfg-situation { padding:110px 0 104px; }
.kfg-heading-split { align-items:end; display:grid; gap:46px; grid-template-columns:1.1fr .9fr; margin-bottom:46px; }
.kfg-heading-split > p { margin:0 0 3px; max-width:430px; }
.kfg-situation-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }
.kfg-situation-card { border:1px solid var(--kfg-line); min-height:285px; overflow:hidden; padding:29px; position:relative; transition:background .2s ease, transform .2s ease; }
.kfg-situation-card:hover { background:#f8fbfa; transform:translateY(-4px); }
.kfg-situation-card .kfg-number { color:#97a4aa; font-family:var(--font-display,Roboto,sans-serif); font-size:.76rem; font-weight:900; letter-spacing:.12em; position:absolute; right:26px; top:26px; }
.kfg-situation-card > i { color:var(--kfg-coral); display:block; font-size:2rem; margin:33px 0 25px; }
.kfg-situation-card h3 { color:var(--kfg-ink); font-size:1.18rem; font-weight:900; margin:0 0 9px; }
.kfg-situation-card p { color:var(--c-text-soft,#475569); font-size:.9rem; line-height:1.62; margin:0; }
.kfg-situation-featured { background:var(--kfg-ink); border-color:var(--kfg-ink); }
.kfg-situation-featured:hover { background:#233b4a; }
.kfg-situation-featured h3 { color:#fff; }
.kfg-situation-featured p { color:rgba(255,255,255,.7); }
.kfg-situation-featured .kfg-number { color:rgba(255,255,255,.5); }

.kfg-process { background:var(--kfg-paper); border-bottom:1px solid var(--kfg-line); border-top:1px solid var(--kfg-line); padding:103px 0; }
.kfg-process-grid { align-items:start; display:grid; gap:95px; grid-template-columns:.8fr 1.2fr; }
.kfg-process-title > p:not(.kfg-label) { margin:22px 0 27px; max-width:385px; }
.kfg-button-outline { border-color:var(--kfg-ink); color:var(--kfg-ink); }
.kfg-button-outline:hover { background:var(--kfg-ink); color:#fff; }
.kfg-steps { counter-reset:step; list-style:none; margin:0; padding:0; }
.kfg-steps li { border-bottom:1px solid var(--kfg-line); display:grid; gap:24px; grid-template-columns:51px 1fr; padding:0 0 24px; }
.kfg-steps li + li { padding-top:24px; }
.kfg-steps li > span { align-items:center; background:#e8efed; border-radius:50%; color:var(--kfg-ink); display:flex; font-family:var(--font-display,Roboto,sans-serif); font-size:.74rem; font-weight:900; height:40px; justify-content:center; }
.kfg-steps h3 { color:var(--kfg-ink); font-size:1rem; font-weight:900; margin:2px 0 7px; }
.kfg-steps p { color:var(--c-text-soft,#475569); font-size:.9rem; line-height:1.5; margin:0; }

.kfg-services { padding:108px 0; }
.kfg-services .kfg-section-heading { margin-bottom:42px; max-width:650px; }
.kfg-services .kfg-section-heading > p:last-child { margin:16px 0 0; }
.kfg-service-list { border-top:2px solid var(--kfg-ink); }
.kfg-service-list article { align-items:center; border-bottom:1px solid var(--kfg-line); display:grid; gap:21px; grid-template-columns:68px 1fr 24px; min-height:137px; padding:20px 4px; transition:padding .2s ease, background .2s ease; }
.kfg-service-list article:hover { background:var(--kfg-paper); padding-left:17px; padding-right:17px; }
.kfg-service-icon { align-items:center; background:var(--primary-l,#fde5e1); border-radius:50%; color:var(--kfg-coral); display:flex; font-size:1.4rem; height:53px; justify-content:center; width:53px; }
.kfg-service-list h3 { color:var(--kfg-ink); font-size:1.2rem; font-weight:900; margin:0 0 5px; }
.kfg-service-list p { color:var(--c-text-soft,#475569); font-size:.9rem; margin:0; }
.kfg-arrow { color:var(--kfg-coral); font-size:1.2rem; }

.kfg-area { background:var(--kfg-ink); color:#fff; padding:104px 0; }
.kfg-area .kfg-label { color:var(--kfg-mint); }
.kfg-area h2 { color:#fff; }
.kfg-area-heading { align-items:end; display:grid; gap:40px; grid-template-columns:1fr .95fr; margin-bottom:42px; }
.kfg-area-heading > p:last-child { color:rgba(255,255,255,.67); margin:0; max-width:470px; }
.kfg-map-frame { border:1px solid rgba(255,255,255,.2); min-height:400px; overflow:hidden; position:relative; }
.kfg-map { height:400px; width:100%; }
.kfg-map-note { align-items:center; background:#fff; bottom:19px; box-shadow:0 10px 28px rgba(0,0,0,.22); color:var(--kfg-ink); display:flex; gap:11px; left:19px; padding:12px 15px; position:absolute; z-index:500; }
.kfg-map-note > span { align-items:center; background:var(--primary-l,#fde5e1); border-radius:50%; color:var(--kfg-coral); display:flex; height:34px; justify-content:center; width:34px; }
.kfg-map-note strong, .kfg-map-note small { display:block; }
.kfg-map-note strong { font-size:.82rem; font-weight:900; }
.kfg-map-note small { color:var(--c-text-soft,#475569); font-size:.67rem; margin-top:2px; }
.kfg-map-note a { color:var(--kfg-ink); margin-left:14px; }

.kfg-faq { padding:105px 0; }
.kfg-faq-grid { display:grid; gap:86px; grid-template-columns:.77fr 1.23fr; }
.kfg-faq-grid > div:first-child > p:last-child { margin:23px 0 0; max-width:380px; }
.kfg-accordion { border-top:1px solid var(--kfg-line); }
.kfg-accordion details { border-bottom:1px solid var(--kfg-line); }
.kfg-accordion summary { align-items:center; cursor:pointer; display:flex; font-size:1rem; font-weight:900; gap:20px; justify-content:space-between; list-style:none; padding:23px 0; }
.kfg-accordion summary::-webkit-details-marker { display:none; }
.kfg-accordion summary i { color:var(--kfg-coral); transition:transform .2s ease; }
.kfg-accordion details[open] summary i { transform:rotate(45deg); }
.kfg-accordion details p { color:var(--c-text-soft,#475569); font-size:.91rem; line-height:1.62; margin:0; max-width:655px; padding:0 37px 22px 0; }

.kfg-final { padding:0 0 101px; }
.kfg-final-card { align-items:center; background:var(--primary-l,#fde5e1); border-left:5px solid var(--kfg-coral); display:flex; gap:45px; justify-content:space-between; padding:46px 52px; }
.kfg-final h2 { font-size:clamp(1.8rem,3vw,2.65rem)!important; }
.kfg-final p:not(.kfg-label) { margin:12px 0 0; max-width:550px; }
.kfg-final-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px; }
.kfg-whatsapp { color:#187445; font-size:.85rem; font-weight:900; white-space:nowrap; }
.kfg-whatsapp i { font-size:1.05rem; margin-right:5px; }
.kfg-mobile-call { display:none; }

@media (max-width:900px) { .kfg-hero-grid,.kfg-process-grid,.kfg-faq-grid { gap:52px; grid-template-columns:1fr; } .kfg-dispatch { max-width:470px; } .kfg-heading-split,.kfg-area-heading { grid-template-columns:1fr; } .kfg-heading-split { gap:20px; } .kfg-situation-grid { grid-template-columns:1fr; } .kfg-situation-card { min-height:220px; } .kfg-situation-card > i { margin:20px 0; } .kfg-process-title > p:not(.kfg-label) { max-width:600px; } .kfg-faq-grid > div:first-child > p:last-child { max-width:620px; } .kfg-final-card { align-items:flex-start; flex-direction:column; } }
@media (max-width:620px) { .kfg-shell { width:min(100% - 34px,1160px); } .kfg-hero { padding-bottom:57px; } .kfg-crumb { margin-bottom:42px; } .kfg-hero h1 { font-size:3.45rem!important; } .kfg-intro { font-size:1rem; } .kfg-hero-actions { align-items:flex-start; flex-direction:column; gap:16px; } .kfg-proof { display:grid; gap:10px; } .kfg-dispatch { box-shadow:10px 10px 0 rgba(239,73,51,.9); padding:24px 21px 18px; } .kfg-situation,.kfg-process,.kfg-services,.kfg-area,.kfg-faq { padding:75px 0; } .kfg-section-heading h2,.kfg-process h2,.kfg-faq h2 { font-size:2.25rem!important; } .kfg-service-list article { gap:14px; grid-template-columns:52px 1fr 17px; min-height:120px; } .kfg-service-icon { height:43px; width:43px; } .kfg-service-list h3 { font-size:1.04rem; } .kfg-service-list p { font-size:.82rem; line-height:1.45; } .kfg-map,.kfg-map-frame { height:355px; min-height:355px; } .kfg-map-note { bottom:13px; left:13px; max-width:calc(100% - 26px); padding:9px; } .kfg-map-note small { font-size:.6rem; } .kfg-map-note a { margin-left:5px; } .kfg-final { padding-bottom:84px; } .kfg-final-card { gap:27px; padding:32px 25px; } .kfg-final-actions { align-items:stretch; flex-direction:column; width:100%; } .kfg-final-actions .kfg-button { width:100%; } .kfg-whatsapp { text-align:center; } .kfg-mobile-call { align-items:center; background:var(--kfg-coral); bottom:12px; box-shadow:0 10px 28px rgba(143,35,21,.28); color:#fff; display:flex; font-size:.85rem; font-weight:900; gap:9px; justify-content:center; left:17px; min-height:52px; position:fixed; right:17px; z-index:1000; } .kfg-page .site-footer { padding-bottom:70px; } }
