@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500;700&display=swap');:root{--teal:#00a9b4;--deep:#063b46;--gold:#c89529;--bg:#f3fafa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:#18323a}a{text-decoration:none;color:inherit}header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(16px);box-shadow:0 4px 25px #062b3510}.bar{max-width:1300px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:9px 24px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--deep);font-size:13px}.brand img{width:64px;height:64px;object-fit:contain}.nav{display:flex;align-items:center;gap:21px;font-size:13px;font-weight:700}.nav a:hover,.nav a.active{color:var(--teal)}.actions{display:flex;gap:10px}.actions select,.menu{padding:10px;border:1px solid #cde2e2;border-radius:10px;background:white}.menu{display:none;cursor:pointer}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.btn{display:inline-block;background:var(--teal);color:white;padding:14px 25px;border-radius:50px;font-weight:800;transition:.3s;border:0;cursor:pointer}.btn.gold{background:linear-gradient(135deg,#a77715,#e8ba53);color:#fff}.btn:hover,.tile:hover{transform:translateY(-4px);box-shadow:0 15px 35px #053d4822}.hero{min-height:77vh;background:linear-gradient(90deg,#002833ed 0%,#002833b0 45%,#0028331c 100%),url('assets/hero-klc.webp') center/cover;display:flex;align-items:center;color:white}.hero .inner{width:min(1200px,90%);margin:auto}.hero h1{font-size:clamp(38px,5vw,75px);max-width:700px;line-height:1.09}.hero p{max-width:560px;font-size:19px;line-height:1.7}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.eyebrow{letter-spacing:2.6px;font-size:12px;font-weight:800;color:var(--gold)}.eyebrow.light{color:#ffdc8e}h1,h2,h3{font-family:'Playfair Display',Georgia,serif}h2{font-size:clamp(31px,4vw,48px);margin:12px 0 24px}.section{padding:85px max(5%,calc((100% - 1200px)/2))}.muted{background:var(--bg)}.lead{font-size:18px;line-height:1.8;max-width:850px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tile{background:white;border:1px solid #e0eeee;border-radius:22px;padding:29px;transition:.3s;box-shadow:0 8px 22px #0033440b}.tile .symbol{font-size:35px;color:var(--gold)}.tile p,.split p,.policy p{line-height:1.85;color:#536d72}.section-action{margin-top:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.stats strong{font-size:48px;color:var(--teal)}.stats span{display:block;line-height:1.6}.ticker{overflow:hidden;background:var(--deep);color:white;padding:17px 0;white-space:nowrap}.track{display:flex;width:max-content;animation:scroll 32s linear infinite;gap:45px;font-weight:700}@keyframes scroll{to{transform:translateX(-33.333%)}}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.split img{width:100%;border-radius:24px;box-shadow:0 20px 45px #00334420}.area-pills{display:flex;gap:13px;flex-wrap:wrap}.area-pills span{border:1px solid #c7e5e5;border-radius:50px;padding:15px 21px;background:white;font-weight:700;color:var(--deep)}.center{text-align:center}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.gallery-item{position:relative;cursor:pointer;border:0;padding:0;border-radius:17px;overflow:hidden;aspect-ratio:1.42;background:#d9f0f0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item span{position:absolute;right:12px;bottom:12px;background:#003b47b9;color:white;padding:7px 10px;border-radius:8px}.lightbox{display:none;position:fixed;inset:0;background:#001d24ed;z-index:100;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;top:14px;right:22px;background:none;border:0;color:white;font-size:42px;cursor:pointer}.formgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}form,.contact-panel{background:white;padding:30px;border-radius:22px;box-shadow:0 12px 35px #00334412}label{display:block;font-weight:700;margin:14px 0 7px}input,textarea,form select{width:100%;padding:13px;border:1px solid #c8dfdf;border-radius:10px;font:inherit}textarea{min-height:120px}form button{margin-top:18px}.note{background:#fff8e6;padding:15px;border-left:4px solid var(--gold);border-radius:8px;font-size:13px}.contact-panel{line-height:1.8;overflow-wrap:anywhere}.contact-panel a,.policy a{color:#087b87;text-decoration:underline}.policy{max-width:920px}.floats{position:fixed;right:22px;bottom:20px;z-index:30;display:flex;flex-direction:column;gap:12px;align-items:end}.bubble{width:58px;height:58px;border-radius:50%;border:0;display:grid;place-items:center;font-size:24px;cursor:pointer;box-shadow:0 8px 25px #002a3b30}.phone{background:#f3c652}.chat{background:var(--teal);color:white}.phonebox,.chatbox{display:none;background:white;border:1px solid #d8eeee;box-shadow:0 12px 40px #00334430;padding:18px;border-radius:17px;width:min(340px,calc(100vw - 28px))}.phonebox.open,.chatbox.open{display:block}.phonebox a{display:block;color:#087b87;margin-top:8px}.chatbox small{color:#607b80}.chatinput{display:flex;gap:6px;margin:12px 0}.chatinput input{min-width:0}.chatinput button{border:0;border-radius:10px;background:var(--teal);color:white;padding:0 14px;cursor:pointer}#chatlog{max-height:240px;overflow:auto;margin-top:12px;font-size:13px;line-height:1.5}#chatlog p{background:#f1f8f8;padding:10px;border-radius:10px;margin:7px 0}#chatlog p.user{background:#fff4d9}footer{background:#072d37;color:white;padding:65px 5% 25px}.footgrid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.7fr 1fr 1.2fr 1.5fr;gap:30px}footer a{display:block;margin:9px 0;color:#d4e5e7;overflow-wrap:anywhere}footer p{color:#c1d9dc;line-height:1.8}.copyright{max-width:1200px;margin:35px auto 0;border-top:1px solid #ffffff25;padding-top:22px;color:#b4d0d4;font-size:12px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){.nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:25px;box-shadow:0 15px 20px #0001}.nav.open{display:flex}.menu{display:block}.grid,.gallery{grid-template-columns:repeat(2,1fr)}.footgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.bar{padding:8px 12px}.brand img{width:48px;height:48px}.brand span{font-size:11px}.nav{top:65px}.section{padding:60px 6%}.grid,.stats,.footgrid,.gallery,.split,.formgrid{grid-template-columns:1fr}.hero{min-height:75vh;background-position:58% center}.hero h1{font-size:40px}.hero p{font-size:16px}.floats{right:12px}.tile{padding:22px}.gallery-item{aspect-ratio:1.6}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.track{animation:none}}

/* KLC professional navigation and action system - v2 */
:root{--nav-ink:#063b46;--gold-bright:#ffd447;--gold-dark:#aa7300}
header{z-index:45;border-bottom:1px solid rgba(10,72,83,.07);background:rgba(255,255,255,.96);box-shadow:0 6px 30px rgba(3,57,70,.075)}
.bar{max-width:1390px;min-height:83px;gap:24px}
.brand{gap:12px;flex-shrink:0;line-height:1.35;letter-spacing:.025em;transition:transform .25s ease}
.brand:hover{transform:translateY(-2px)}
.brand img{filter:drop-shadow(0 3px 7px rgba(1,53,67,.12))}
.nav{gap:6px;align-items:center;border-radius:99px;padding:5px;background:linear-gradient(135deg,#effafa,#fff);border:1px solid rgba(9,128,142,.09);box-shadow:inset 0 1px 2px #ffffffb0}
.nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:99px;color:var(--nav-ink);font-weight:800;font-size:13px;letter-spacing:.01em;white-space:nowrap;transition:color .25s,background .25s,transform .25s,box-shadow .25s}
.nav a:not(.nav-contact)::after{content:'';position:absolute;bottom:6px;left:50%;width:0;height:2px;border-radius:2px;background:var(--teal);transform:translateX(-50%);transition:width .28s cubic-bezier(.25,.8,.25,1)}
.nav a:not(.nav-contact):hover::after,.nav a.active:not(.nav-contact)::after{width:calc(100% - 28px)}
.nav a:not(.nav-contact):hover{color:#008fa2;background:#dff6f8;transform:translateY(-2px)}
.nav a.active:not(.nav-contact){color:#008a9a;background:#e2f5f6;box-shadow:inset 0 1px 2px #d4edef}
.nav a.nav-contact,.nav a.nav-contact.active{background:linear-gradient(115deg,#ffe882 0%,#ffd139 45%,#f6ba18 100%);color:#47300a;box-shadow:0 4px 0 #d99718,0 9px 21px rgba(213,149,0,.24);padding-inline:20px;font-weight:900;border:1px solid rgba(255,255,255,.75)}
.nav a.nav-contact:hover,.nav a.nav-contact.active:hover{color:#2c210a;background:linear-gradient(115deg,#ffef97,#ffdf50,#ffc61c);transform:translateY(-3px);box-shadow:0 6px 0 #d99718,0 12px 26px rgba(213,149,0,.3)}
.nav a.nav-contact.active{outline:2px solid rgba(230,164,3,.22);outline-offset:3px}
.actions select{background:#fff;border-radius:13px;border:1px solid #c7e0e4;min-width:64px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.actions select:hover,.actions select:focus-visible{border-color:var(--teal);box-shadow:0 0 0 3px #00a9b41a}
.nav a:focus-visible,.bubble:focus-visible,.menu:focus-visible,.call-now:focus-visible{outline:3px solid #0799ac;outline-offset:3px}
/* Original ribbon reintroduced in About Us with smooth endless right-to-left travel */
.coverage-marquee{margin:0 0 25px;padding:17px 0;overflow:hidden;border-radius:19px;background:linear-gradient(110deg,#04323f,#075466 50%,#04323f);box-shadow:0 12px 24px rgba(3,64,80,.12);color:#fff;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.coverage-marquee-track{width:max-content;display:flex;animation:coverage-move 32s linear infinite}
.coverage-marquee-group{display:flex;align-items:center;flex:none;gap:36px;padding-right:36px}
.coverage-city{font-size:15px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.coverage-city span{color:#ffd447;margin-right:10px}
.coverage-marquee:hover .coverage-marquee-track{animation-play-state:paused}
@keyframes coverage-move{from{transform:translateX(-50%)}to{transform:translateX(0)}}
/* Phone 1 / Phone 2 direct actions, with separate readable disclosure cards */
.floats{gap:12px;right:22px;bottom:22px;z-index:48}
.call-shortcut{position:relative;display:flex;align-items:center;justify-content:flex-end}
.bubble{position:relative;transition:transform .25s,box-shadow .25s;display:grid;place-items:center;flex:none}
.bubble:hover{transform:translateY(-3px) scale(1.045);box-shadow:0 14px 32px rgba(5,51,64,.28)}
.phone-first{background:linear-gradient(145deg,#ffe488,#ffc82f);color:#192d32}
.phone-second{background:linear-gradient(145deg,#075263,#047d91);color:#fff}
.bubble-index{position:absolute;bottom:5px;right:5px;background:#fff;color:#064456;min-width:18px;height:18px;display:grid;place-items:center;font-size:11px;line-height:1;font-weight:900;border-radius:99px;box-shadow:0 2px 6px #002b3420}
.bubble-tooltip{pointer-events:none;position:absolute;right:70px;top:50%;transform:translateY(-50%) translateX(6px);border-radius:11px;padding:7px 12px;white-space:nowrap;background:#052f3a;color:white;font-size:12px;font-weight:800;opacity:0;transition:opacity .2s,transform .2s}
.call-shortcut:hover .bubble-tooltip,.call-shortcut:focus-within .bubble-tooltip{opacity:1;transform:translateY(-50%) translateX(0)}
.call-panel{position:absolute;right:72px;top:50%;transform:translateY(-50%);width:225px;border-radius:19px;padding:17px;background:#fff;border:1px solid #ccebed;box-shadow:0 16px 45px #042d3840;display:flex;flex-direction:column;align-items:stretch;gap:9px;color:#082e3b;z-index:2}
.call-panel[hidden]{display:none}
.call-panel-kicker{font-size:12px;letter-spacing:.045em;text-transform:uppercase;color:#487680;font-weight:800}
.call-panel strong{font-size:16px}
.call-now{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);border-radius:99px;padding:10px;color:#fff;font-weight:800;font-size:13px;transition:background .2s,transform .2s}
.call-now:hover{background:#067d8a;transform:translateY(-2px)}
.call-second .call-now{background:#04576a}
.call-second .call-now:hover{background:#023b4a}
.chatbox{max-height:min(500px,75vh);overflow:auto}
@media(max-width:1120px){.bar{gap:10px}.nav{gap:2px}.nav a{padding:10px 9px;font-size:12px}.nav a.nav-contact{padding:10px 14px}.brand{font-size:12px}.brand img{width:55px;height:55px}}
@media(max-width:1000px){.bar{min-height:72px}.nav{display:none;position:absolute;top:100%;left:15px;right:15px;padding:14px;gap:7px;border:1px solid #c9e6e8;border-radius:22px;box-shadow:0 20px 55px #003b4730;background:#fff;flex-direction:column;align-items:stretch;max-height:calc(100vh - 90px);overflow:auto}.nav.open{display:flex;animation:nav-appear .25s ease both}.nav a{padding:13px 16px;font-size:14px;justify-content:flex-start}.nav a.nav-contact,.nav a.nav-contact.active{justify-content:center;padding:14px 20px}.nav a:not(.nav-contact)::after{left:16px;transform:none}.nav a:not(.nav-contact):hover::after,.nav a.active:not(.nav-contact)::after{width:45px}@keyframes nav-appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu{display:block;border-radius:13px}}
@media(max-width:650px){.bar{min-height:64px;padding:7px 13px}.brand img{height:47px;width:47px}.call-panel{right:63px;width:min(220px,calc(100vw - 90px))}.bubble{width:52px;height:52px}.bubble-index{right:3px;bottom:2px}.floats{right:12px;bottom:15px}.coverage-marquee{border-radius:13px}.coverage-marquee-group{gap:24px;padding-right:24px}.coverage-city{font-size:13px}}
@media(prefers-reduced-motion:reduce){.coverage-marquee-track{animation:none}.nav a,.bubble,.call-now,.brand{transition:none!important}.nav.open{animation:none}}

.call-shortcut.is-open .bubble-tooltip{opacity:0;visibility:hidden}
