/* =========================================================
   KAMER CONSTRUCTION LTD — Core Stylesheet
   Palette: Deep Navy + Amber
   Built on Bootstrap 5.3
   ========================================================= */

:root{
  /* Brand */
  --k-navy-900:#081527;
  --k-navy-800:#0B1D33;
  --k-navy-700:#122B49;
  --k-navy-600:#1B3A5F;
  --k-navy-500:#2B5183;
  --k-amber-500:#F5A524;
  --k-amber-400:#FFB94A;
  --k-amber-600:#D98A0B;
  --k-amber-soft:#FFF4E0;

  /* Neutrals */
  --k-ink:#101A28;
  --k-body:#4B5A6E;
  --k-muted:#7C8AA0;
  --k-line:#E4E8EF;
  --k-surface:#F5F7FA;
  --k-surface-2:#EDF1F6;
  --k-white:#FFFFFF;

  /* System */
  --k-radius:14px;
  --k-radius-sm:10px;
  --k-radius-lg:22px;
  --k-shadow-sm:0 1px 2px rgba(16,26,40,.06), 0 2px 8px rgba(16,26,40,.05);
  --k-shadow:0 4px 12px rgba(16,26,40,.07), 0 12px 32px rgba(16,26,40,.07);
  --k-shadow-lg:0 18px 50px rgba(8,21,39,.16);
  --k-ease:cubic-bezier(.22,.61,.36,1);

  --k-font-head:'Archivo','Segoe UI',system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --k-font-body:'Inter','Segoe UI',system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- Base ---------- */
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body{
  font-family:var(--k-font-body);
  color:var(--k-body);
  background:var(--k-white);
  font-size:1rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.k-display{
  font-family:var(--k-font-head);
  color:var(--k-ink);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.02em;
}
h1{ font-size:clamp(2rem,1.35rem + 2.9vw,3.6rem); }
h2{ font-size:clamp(1.65rem,1.2rem + 2vw,2.7rem); }
h3{ font-size:clamp(1.2rem,1.05rem + .7vw,1.6rem); }
h4{ font-size:1.125rem; }
p{ margin-bottom:1rem; }
a{ color:var(--k-navy-600); text-decoration:none; transition:color .2s var(--k-ease); }
a:hover{ color:var(--k-amber-600); }
img{ max-width:100%; height:auto; }
::selection{ background:var(--k-amber-500); color:var(--k-navy-900); }

.k-section{ padding:clamp(3.5rem,2.5rem + 4vw,7rem) 0; }
.k-section-sm{ padding:clamp(2.5rem,2rem + 2.5vw,4.5rem) 0; }
.k-bg-surface{ background:var(--k-surface); }
.k-bg-navy{ background:var(--k-navy-800); color:rgba(255,255,255,.78); }
.k-bg-navy h1,.k-bg-navy h2,.k-bg-navy h3,.k-bg-navy h4{ color:#fff; }

/* ---------- Type helpers ---------- */
.k-eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--k-font-head);
  font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--k-amber-600); margin-bottom:.85rem;
}
.k-eyebrow::before{ content:""; width:26px; height:2px; background:var(--k-amber-500); border-radius:2px; }
.k-bg-navy .k-eyebrow{ color:var(--k-amber-400); }
.k-lead{ font-size:1.075rem; color:var(--k-body); max-width:60ch; }
.k-bg-navy .k-lead{ color:rgba(255,255,255,.72); }
.k-section-head{ max-width:720px; margin-bottom:3rem; }
.k-section-head.text-center{ margin-left:auto; margin-right:auto; }
.k-section-head.text-center .k-eyebrow{ justify-content:center; }
.k-section-head.text-center .k-lead{ margin-inline:auto; }

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--k-font-head);
  font-weight:700; letter-spacing:.01em;
  border-radius:var(--k-radius-sm);
  padding:.8rem 1.5rem;
  transition:all .25s var(--k-ease);
  border-width:2px;
}
.btn-lg{ padding:.95rem 1.9rem; font-size:1rem; }
.btn-k-primary{ background:var(--k-amber-500); border-color:var(--k-amber-500); color:var(--k-navy-900); }
.btn-k-primary:hover,.btn-k-primary:focus{
  background:var(--k-amber-400); border-color:var(--k-amber-400); color:var(--k-navy-900);
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(245,165,36,.34);
}
.btn-k-navy{ background:var(--k-navy-800); border-color:var(--k-navy-800); color:#fff; }
.btn-k-navy:hover,.btn-k-navy:focus{ background:var(--k-navy-700); border-color:var(--k-navy-700); color:#fff; transform:translateY(-2px); }
.btn-k-outline{ background:transparent; border-color:rgba(255,255,255,.35); color:#fff; }
.btn-k-outline:hover,.btn-k-outline:focus{ background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }
.btn-k-ghost{ background:transparent; border-color:var(--k-line); color:var(--k-ink); }
.btn-k-ghost:hover,.btn-k-ghost:focus{ border-color:var(--k-navy-800); color:var(--k-navy-800); background:transparent; }

.k-link-arrow{
  font-family:var(--k-font-head); font-weight:700; font-size:.925rem;
  color:var(--k-navy-700); display:inline-flex; align-items:center; gap:.45rem;
}
.k-link-arrow svg{ transition:transform .25s var(--k-ease); }
.k-link-arrow:hover{ color:var(--k-amber-600); }
.k-link-arrow:hover svg{ transform:translateX(4px); }

/* ---------- Top bar ---------- */
.k-topbar{
  background:var(--k-navy-900);
  color:rgba(255,255,255,.66);
  font-size:.82rem;
  padding:.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.k-topbar a{ color:rgba(255,255,255,.82); }
.k-topbar a:hover{ color:var(--k-amber-400); }
.k-topbar-item{ display:inline-flex; align-items:center; gap:.45rem; }
.k-topbar-sep{ color:rgba(255,255,255,.2); margin:0 .9rem; }

/* Language switcher */
.k-lang{ display:inline-flex; align-items:center; background:rgba(255,255,255,.08); border-radius:999px; padding:3px; gap:2px; }
.k-lang button,.k-lang a{
  border:0; background:transparent; color:rgba(255,255,255,.7); text-decoration:none;
  display:inline-block; line-height:1.35;
  font-family:var(--k-font-head); font-weight:700; font-size:.72rem; letter-spacing:.06em;
  padding:.24rem .6rem; border-radius:999px; cursor:pointer; transition:all .2s var(--k-ease);
}
.k-lang button:hover,.k-lang a:hover{ color:#fff; }
.k-lang button.is-active,.k-lang a.is-active{ background:var(--k-amber-500); color:var(--k-navy-900); }
.k-lang--light button,.k-lang--light a{ color:var(--k-muted); }
.k-lang--light{ background:var(--k-surface-2); }
.k-lang--light button:hover,.k-lang--light a:hover{ color:var(--k-ink); }

/* ---------- Navbar ---------- */
.k-navbar{
  background:#fff;
  padding:.85rem 0;
  box-shadow:0 1px 0 var(--k-line);
  transition:box-shadow .3s var(--k-ease), padding .3s var(--k-ease);
}
.k-navbar.is-stuck{ box-shadow:var(--k-shadow-sm); padding:.6rem 0; }
.k-brand{ display:inline-flex; align-items:center; gap:.7rem; }
.k-brand-mark{
  width:42px; height:42px; border-radius:11px;
  background:var(--k-navy-800);
  display:grid; place-items:center; flex:none;
  box-shadow:inset 0 0 0 2px var(--k-amber-500);
}
.k-brand-mark svg{ width:22px; height:22px; }
.k-brand-text{ line-height:1.1; }
.k-brand-name{
  font-family:var(--k-font-head); font-weight:800; font-size:1.08rem;
  color:var(--k-navy-800); letter-spacing:-.02em; display:block;
}
.k-brand-sub{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--k-muted); font-weight:600; }

.k-navbar .navbar-nav{ gap:.15rem; }
.k-navbar .nav-link{
  font-family:var(--k-font-head); font-weight:600; font-size:.94rem;
  color:var(--k-ink); padding:.55rem .85rem !important; border-radius:8px;
  position:relative; transition:all .2s var(--k-ease);
}
.k-navbar .nav-link:hover{ color:var(--k-navy-600); background:var(--k-surface); }
.k-navbar .nav-link.active{ color:var(--k-navy-800); }
.k-navbar .nav-link.active::after{
  content:""; position:absolute; left:.85rem; right:.85rem; bottom:.22rem;
  height:2px; background:var(--k-amber-500); border-radius:2px;
}
.k-navbar .dropdown-menu{
  border:1px solid var(--k-line); border-radius:var(--k-radius);
  box-shadow:var(--k-shadow); padding:.5rem; margin-top:.5rem; min-width:290px;
}
.k-navbar .dropdown-item{
  font-size:.9rem; font-weight:500; border-radius:8px; padding:.6rem .75rem; color:var(--k-body);
  white-space:normal;
}
.k-navbar .dropdown-item:hover,.k-navbar .dropdown-item:focus{ background:var(--k-surface); color:var(--k-navy-800); }
.k-navbar .dropdown-item.active{ background:var(--k-amber-soft); color:var(--k-navy-800); }
.navbar-toggler{ border:1px solid var(--k-line); padding:.45rem .6rem; border-radius:9px; }
.navbar-toggler:focus{ box-shadow:0 0 0 3px rgba(245,165,36,.3); }

@media (max-width:991.98px){
  .k-navbar .navbar-collapse{
    margin-top:.85rem; padding:.6rem; border-top:1px solid var(--k-line);
    max-height:78vh; overflow-y:auto;
  }
  .k-navbar .nav-link{ padding:.7rem .6rem !important; }
  .k-navbar .nav-link.active::after{ left:.6rem; right:auto; width:18px; }
  .k-navbar .dropdown-menu{ box-shadow:none; border:0; background:var(--k-surface); margin:.25rem 0 .5rem; }
  .k-nav-cta{ display:block; margin-top:.75rem; }
  .k-nav-cta .btn{ width:100%; }
}

/* ---------- Hero ---------- */
.k-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1100px 520px at 82% -8%, rgba(245,165,36,.20), transparent 60%),
    linear-gradient(155deg, var(--k-navy-800) 0%, var(--k-navy-900) 58%, #060F1D 100%);
  color:rgba(255,255,255,.8);
  padding:clamp(3.5rem,2.5rem + 5vw,6.5rem) 0 clamp(3rem,2rem + 4vw,5.5rem);
}
.k-hero::before{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.038) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.038) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 76%);
  mask-image:radial-gradient(circle at 30% 40%,#000,transparent 76%);
}
.k-hero > .container{ position:relative; z-index:2; }
.k-hero h1{ color:#fff; }
.k-hero h1 em{ font-style:normal; color:var(--k-amber-400); }
.k-hero-lead{ color:rgba(255,255,255,.74); font-size:1.1rem; max-width:34rem; }
.k-hero-badge{
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.88); border-radius:999px; padding:.42rem 1rem;
  font-size:.8rem; font-weight:600; margin-bottom:1.35rem; backdrop-filter:blur(6px);
}
.k-hero-badge .k-dot{ width:7px; height:7px; border-radius:50%; background:#4ADE80; box-shadow:0 0 0 4px rgba(74,222,128,.18); }
.k-hero-media{ position:relative; }
.k-hero-media img{
  border-radius:var(--k-radius-lg); box-shadow:var(--k-shadow-lg); width:100%;
  border:1px solid rgba(255,255,255,.1);
}
.k-hero-chip{
  position:absolute; left:-8px; bottom:-18px;
  background:#fff; border-radius:var(--k-radius); padding:.85rem 1.15rem;
  box-shadow:var(--k-shadow-lg); display:flex; align-items:center; gap:.8rem; max-width:250px;
}
.k-hero-chip .k-chip-ico{
  width:40px; height:40px; border-radius:10px; background:var(--k-amber-soft);
  display:grid; place-items:center; flex:none; color:var(--k-amber-600);
}
.k-hero-chip strong{ display:block; font-family:var(--k-font-head); color:var(--k-ink); font-size:.95rem; line-height:1.2; }
.k-hero-chip span{ font-size:.78rem; color:var(--k-muted); }
@media (max-width:991.98px){ .k-hero-chip{ display:none; } }

/* Trust strip */
.k-trust{ border-top:1px solid rgba(255,255,255,.1); margin-top:clamp(2.5rem,2rem + 2vw,3.75rem); padding-top:2rem; }
.k-trust-item strong{
  display:block; font-family:var(--k-font-head); font-size:1.6rem; color:#fff; line-height:1.1; font-weight:800;
}
.k-trust-item span{ font-size:.82rem; color:rgba(255,255,255,.58); }

/* ---------- Page header (inner pages) ---------- */
.k-pagehead{
  position:relative;
  background:
    radial-gradient(800px 380px at 88% 0%, rgba(245,165,36,.16), transparent 62%),
    linear-gradient(150deg,var(--k-navy-800),var(--k-navy-900));
  color:rgba(255,255,255,.75);
  padding:clamp(2.75rem,2rem + 3vw,4.75rem) 0 clamp(2.5rem,2rem + 2.5vw,4rem);
  overflow:hidden;
}
.k-pagehead::before{
  content:""; position:absolute; inset:0; opacity:.45;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(circle at 20% 50%,#000,transparent 78%);
  mask-image:radial-gradient(circle at 20% 50%,#000,transparent 78%);
}
.k-pagehead > .container{ position:relative; z-index:2; }
.k-pagehead h1{ color:#fff; margin-bottom:.6rem; }
.k-pagehead p{ color:rgba(255,255,255,.7); max-width:56ch; margin-bottom:0; }
.k-crumb{ font-size:.85rem; margin-bottom:1rem; }
.k-crumb ol{ display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; margin:0; align-items:center; }
.k-crumb a{ color:rgba(255,255,255,.62); }
.k-crumb a:hover{ color:var(--k-amber-400); }
.k-crumb li[aria-current]{ color:var(--k-amber-400); font-weight:600; }
.k-crumb li + li::before{ content:"/"; margin-right:.5rem; color:rgba(255,255,255,.28); }

/* ---------- Cards ---------- */
.k-card{
  background:#fff; border:1px solid var(--k-line); border-radius:var(--k-radius);
  padding:1.85rem; height:100%; position:relative; overflow:hidden;
  transition:transform .3s var(--k-ease), box-shadow .3s var(--k-ease), border-color .3s var(--k-ease);
}
.k-card::after{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--k-amber-500); transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--k-ease);
}
.k-card:hover{ transform:translateY(-5px); box-shadow:var(--k-shadow); border-color:transparent; }
.k-card:hover::after{ transform:scaleX(1); }
.k-card h3{ font-size:1.18rem; margin-bottom:.6rem; }
.k-card p{ font-size:.94rem; margin-bottom:1.1rem; }
.k-card-ico{
  width:56px; height:56px; border-radius:14px; display:grid; place-items:center;
  background:var(--k-navy-800); color:var(--k-amber-500); margin-bottom:1.25rem;
  transition:background .3s var(--k-ease);
}
.k-card:hover .k-card-ico{ background:var(--k-amber-500); color:var(--k-navy-900); }
.k-card-ico svg{ width:26px; height:26px; }
.k-card > *{ position:relative; z-index:1; }
.k-card .k-card-num{
  position:absolute; right:1.25rem; top:.85rem;
  font-family:var(--k-font-head); font-size:3rem; font-weight:800;
  color:var(--k-surface-2); line-height:1; z-index:0; pointer-events:none;
  transition:color .3s var(--k-ease);
}
.k-card:hover .k-card-num{ color:var(--k-amber-soft); }

/* Feature list */
.k-ticks{ list-style:none; padding:0; margin:0; }
.k-ticks li{ position:relative; padding-left:2rem; margin-bottom:.75rem; font-size:.96rem; }
.k-ticks li::before{
  content:""; position:absolute; left:0; top:.28rem; width:20px; height:20px; border-radius:50%;
  background:var(--k-amber-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D98A0B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
}
.k-bg-navy .k-ticks li::before{ background-color:rgba(245,165,36,.18); }

/* Media / about */
.k-media-frame{ position:relative; border-radius:var(--k-radius-lg); overflow:hidden; box-shadow:var(--k-shadow); }
.k-media-frame img{ display:block; width:100%; }
.k-badge-est{
  position:absolute; right:1.25rem; bottom:1.25rem;
  background:var(--k-amber-500); color:var(--k-navy-900); border-radius:var(--k-radius);
  padding:.9rem 1.15rem; text-align:center; box-shadow:var(--k-shadow-lg);
}
.k-badge-est strong{ display:block; font-family:var(--k-font-head); font-size:1.5rem; line-height:1; }
.k-badge-est span{ font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }

/* Process steps */
.k-step{ position:relative; padding-top:1.5rem; }
.k-step-n{
  width:52px; height:52px; border-radius:50%; background:#fff; border:2px solid var(--k-amber-500);
  display:grid; place-items:center; font-family:var(--k-font-head); font-weight:800; font-size:1.15rem;
  color:var(--k-navy-800); margin-bottom:1.15rem; position:relative; z-index:2;
}
.k-step::before{
  content:""; position:absolute; left:52px; right:-1rem; top:calc(1.5rem + 26px); height:2px;
  background:repeating-linear-gradient(90deg,var(--k-line) 0 8px,transparent 8px 16px);
}
.k-step:last-child::before{ display:none; }
@media (max-width:767.98px){ .k-step::before{ display:none; } .k-step{ padding-top:.5rem; } }
.k-step h4{ margin-bottom:.5rem; }
.k-step p{ font-size:.93rem; margin-bottom:0; }

/* ---------- Gallery ---------- */
.k-filter{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:2.25rem; }
.k-filter button{
  border:1px solid var(--k-line); background:#fff; color:var(--k-body);
  font-family:var(--k-font-head); font-weight:600; font-size:.875rem;
  padding:.55rem 1.15rem; border-radius:999px; cursor:pointer; transition:all .22s var(--k-ease);
}
.k-filter button:hover{ border-color:var(--k-navy-500); color:var(--k-navy-700); }
.k-filter button.is-active{ background:var(--k-navy-800); border-color:var(--k-navy-800); color:#fff; }
.k-gal-item{ transition:opacity .3s var(--k-ease), transform .3s var(--k-ease); }
.k-gal-item.is-hidden{ display:none; }
.k-gal-card{
  position:relative; display:block; border-radius:var(--k-radius); overflow:hidden;
  background:var(--k-surface-2); box-shadow:var(--k-shadow-sm); cursor:pointer;
}
.k-gal-card img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s var(--k-ease); }
.k-gal-card:hover img{ transform:scale(1.06); }
.k-gal-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:1.15rem; color:#fff; opacity:0; transition:opacity .3s var(--k-ease);
  background:linear-gradient(to top,rgba(8,21,39,.9) 0%,rgba(8,21,39,.45) 45%,transparent 100%);
}
.k-gal-card:hover .k-gal-overlay,.k-gal-card:focus-visible .k-gal-overlay{ opacity:1; }
.k-gal-overlay strong{ font-family:var(--k-font-head); font-size:1.02rem; display:block; }
.k-gal-overlay span{ font-size:.8rem; color:var(--k-amber-400); font-weight:600; }
@media (hover:none){ .k-gal-overlay{ opacity:1; background:linear-gradient(to top,rgba(8,21,39,.88),transparent 62%); } }

/* Lightbox */
.k-lightbox{
  position:fixed; inset:0; z-index:1080; background:rgba(6,14,26,.94);
  display:none; align-items:center; justify-content:center; padding:1.25rem;
}
.k-lightbox.is-open{ display:flex; }
.k-lightbox img{ max-width:min(1040px,94vw); max-height:80vh; border-radius:var(--k-radius); box-shadow:var(--k-shadow-lg); }
.k-lightbox-cap{ color:#fff; text-align:center; margin-top:1rem; font-family:var(--k-font-head); font-weight:600; }
.k-lb-btn{
  position:absolute; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:#fff;
  width:46px; height:46px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  transition:background .2s var(--k-ease); font-size:1.35rem; line-height:1;
}
.k-lb-btn:hover{ background:rgba(255,255,255,.25); }
.k-lb-close{ top:1.1rem; right:1.1rem; }
.k-lb-prev{ left:1.1rem; top:50%; transform:translateY(-50%); }
.k-lb-next{ right:1.1rem; top:50%; transform:translateY(-50%); }

/* ---------- Testimonials ---------- */
.k-quote{
  background:#fff; border:1px solid var(--k-line); border-radius:var(--k-radius);
  padding:1.85rem; height:100%; position:relative;
  transition:box-shadow .3s var(--k-ease), transform .3s var(--k-ease);
}
.k-quote:hover{ box-shadow:var(--k-shadow); transform:translateY(-4px); }
.k-quote-mark{
  font-family:var(--k-font-head); font-size:3.4rem; line-height:.7; color:var(--k-amber-500);
  display:block; margin-bottom:.65rem;
}
.k-quote p{ font-size:.97rem; color:var(--k-body); }
.k-stars{ color:var(--k-amber-500); font-size:.92rem; letter-spacing:.12em; margin-bottom:.85rem; }
.k-quote-by{ display:flex; align-items:center; gap:.8rem; margin-top:1.35rem; padding-top:1.15rem; border-top:1px solid var(--k-line); }
.k-avatar{
  width:44px; height:44px; border-radius:50%; background:var(--k-navy-800); color:var(--k-amber-500);
  display:grid; place-items:center; font-family:var(--k-font-head); font-weight:800; font-size:.95rem; flex:none;
}
.k-quote-by strong{ display:block; font-family:var(--k-font-head); color:var(--k-ink); font-size:.95rem; line-height:1.25; }
.k-quote-by span{ font-size:.82rem; color:var(--k-muted); }
.k-sample{
  display:inline-block; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  background:var(--k-amber-soft); color:var(--k-amber-600); border:1px solid rgba(217,138,11,.24);
  padding:.16rem .5rem; border-radius:6px; margin-bottom:.9rem;
}

/* Logos row */
.k-logo-tile{
  border:1px dashed var(--k-line); border-radius:var(--k-radius-sm); background:#fff;
  display:grid; place-items:center; padding:1.4rem 1rem; height:100%;
  font-family:var(--k-font-head); font-weight:700; color:var(--k-muted); font-size:.9rem; text-align:center;
  transition:all .25s var(--k-ease);
}
.k-logo-tile:hover{ border-color:var(--k-amber-500); color:var(--k-navy-700); }

/* ---------- CTA band ---------- */
.k-cta{
  background:linear-gradient(120deg,var(--k-amber-500),var(--k-amber-400));
  color:var(--k-navy-900); border-radius:var(--k-radius-lg); padding:clamp(2rem,1.5rem + 2.5vw,3.25rem);
  position:relative; overflow:hidden;
}
.k-cta::before{
  content:""; position:absolute; right:-60px; top:-60px; width:280px; height:280px; border-radius:50%;
  background:rgba(255,255,255,.18);
}
.k-cta > *{ position:relative; z-index:1; }
.k-cta h2{ color:var(--k-navy-900); margin-bottom:.5rem; }
.k-cta p{ color:rgba(8,21,39,.72); margin-bottom:0; }

/* ---------- Contact ---------- */
.k-info-card{
  background:#fff; border:1px solid var(--k-line); border-radius:var(--k-radius);
  padding:1.6rem; height:100%; transition:box-shadow .3s var(--k-ease), transform .3s var(--k-ease);
}
.k-info-card:hover{ box-shadow:var(--k-shadow); transform:translateY(-4px); }
.k-info-ico{
  width:48px; height:48px; border-radius:12px; background:var(--k-amber-soft); color:var(--k-amber-600);
  display:grid; place-items:center; margin-bottom:1rem;
}
.k-info-card h4{ font-size:1rem; margin-bottom:.4rem; }
.k-info-card p,.k-info-card address{ font-size:.93rem; margin-bottom:0; font-style:normal; color:var(--k-body); }

.form-label{ font-family:var(--k-font-head); font-weight:600; font-size:.875rem; color:var(--k-ink); margin-bottom:.4rem; }
.form-control,.form-select{
  border:1px solid var(--k-line); border-radius:var(--k-radius-sm); padding:.75rem .95rem;
  font-size:.95rem; background:#fff; color:var(--k-ink); transition:border-color .2s var(--k-ease), box-shadow .2s var(--k-ease);
}
.form-control:focus,.form-select:focus{ border-color:var(--k-amber-500); box-shadow:0 0 0 4px rgba(245,165,36,.16); }
.form-control::placeholder{ color:#A7B2C2; }
.k-form-wrap{ background:#fff; border:1px solid var(--k-line); border-radius:var(--k-radius-lg); padding:clamp(1.5rem,1.2rem + 1.4vw,2.5rem); box-shadow:var(--k-shadow-sm); }
.k-map{ border-radius:var(--k-radius-lg); overflow:hidden; border:1px solid var(--k-line); box-shadow:var(--k-shadow-sm); }
.k-map iframe{ display:block; width:100%; height:420px; border:0; }
.k-alert-ok{
  display:none; background:#E9F8EF; border:1px solid #B7E4C7; color:#14713B;
  border-radius:var(--k-radius-sm); padding:.9rem 1.1rem; font-size:.92rem; margin-bottom:1.25rem;
}
.k-alert-ok.is-shown{ display:block; }

/* Accordion */
.accordion-item{ border:1px solid var(--k-line); border-radius:var(--k-radius) !important; margin-bottom:.75rem; overflow:hidden; }
.accordion-button{
  font-family:var(--k-font-head); font-weight:700; color:var(--k-ink); font-size:1rem;
  padding:1.1rem 1.25rem; background:#fff;
}
.accordion-button:not(.collapsed){ background:var(--k-amber-soft); color:var(--k-navy-800); box-shadow:none; }
.accordion-button:focus{ box-shadow:0 0 0 3px rgba(245,165,36,.22); border-color:transparent; }
.accordion-body{ font-size:.95rem; padding:0 1.25rem 1.25rem; }

/* Service detail sidebar */
.k-side{ background:var(--k-surface); border:1px solid var(--k-line); border-radius:var(--k-radius); padding:1.35rem; margin-bottom:1.5rem; }
.k-side h4{ font-size:1rem; margin-bottom:1rem; }
.k-side-list{ list-style:none; padding:0; margin:0; }
.k-side-list li + li{ border-top:1px solid var(--k-line); }
.k-side-list a{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  padding:.72rem .25rem; font-size:.93rem; font-weight:500; color:var(--k-body);
}
.k-side-list a:hover{ color:var(--k-navy-800); }
.k-side-list a.is-active{ color:var(--k-navy-800); font-weight:700; }
.k-side-list a.is-active::after{ content:""; width:6px; height:6px; border-radius:50%; background:var(--k-amber-500); flex:none; }
.k-side-cta{ background:var(--k-navy-800); color:rgba(255,255,255,.75); border-radius:var(--k-radius); padding:1.6rem; }
.k-side-cta h4{ color:#fff; }
.k-side-cta p{ font-size:.9rem; }
.k-prose h2{ font-size:1.7rem; margin:2.25rem 0 .9rem; }
.k-prose h3{ font-size:1.28rem; margin:1.9rem 0 .75rem; }
.k-prose > :first-child{ margin-top:0; }
.k-prose img{ border-radius:var(--k-radius); margin-bottom:1.5rem; }

/* ---------- Footer ---------- */
.k-footer{ background:var(--k-navy-900); color:rgba(255,255,255,.62); padding-top:clamp(3rem,2.4rem + 2vw,4.5rem); font-size:.93rem; }
.k-footer h5{
  color:#fff; font-family:var(--k-font-head); font-size:.82rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:1.15rem;
}
.k-footer a{ color:rgba(255,255,255,.62); }
.k-footer a:hover{ color:var(--k-amber-400); }
.k-footer ul{ list-style:none; padding:0; margin:0; }
.k-footer li{ margin-bottom:.55rem; }
.k-footer .k-brand-name{ color:#fff; }
.k-footer .k-brand-sub{ color:rgba(255,255,255,.42); }
.k-footer-bottom{
  border-top:1px solid rgba(255,255,255,.09); margin-top:clamp(2rem,1.6rem + 1.4vw,3rem);
  padding:1.35rem 0; font-size:.85rem; color:rgba(255,255,255,.45);
}
.k-social{ display:flex; gap:.55rem; }
.k-social a{
  width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.07);
  display:grid; place-items:center; color:rgba(255,255,255,.7); transition:all .22s var(--k-ease);
}
.k-social a:hover{ background:var(--k-amber-500); color:var(--k-navy-900); transform:translateY(-2px); }
.k-social svg{ width:17px; height:17px; }

/* Floating call button (mobile) */
.k-fab{
  position:fixed; right:1rem; bottom:1rem; z-index:1040;
  width:54px; height:54px; border-radius:50%; background:var(--k-amber-500); color:var(--k-navy-900);
  display:none; place-items:center; box-shadow:0 8px 24px rgba(245,165,36,.42);
}
.k-fab:hover{ color:var(--k-navy-900); transform:translateY(-2px); }
@media (max-width:767.98px){ .k-fab{ display:grid; } }

/* ---------- Reveal on scroll ---------- */
.k-reveal{ opacity:0; transform:translateY(22px); transition:opacity .65s var(--k-ease), transform .65s var(--k-ease); }
.k-reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
  .k-reveal{ opacity:1; transform:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- Language visibility utility ---------- */
html[lang="tr"] [data-lang-only="en"]{ display:none !important; }
html[lang="en-GB"] [data-lang-only="tr"]{ display:none !important; }

/* ---------- Layout safety ---------- */
/* Bootstrap rows with large gutters carry a negative margin wider than the
   container padding, which pushes 12px of horizontal scroll on phones.
   Columns are stacked below lg anyway, so the x-gutter can safely shrink. */
@media (max-width:991.98px){
  .container > .row.g-5,
  .container > .row.gx-5,
  .container > * > .row.g-5{ --bs-gutter-x:1.5rem; }
}
html{ overflow-x:clip; }

/* Full-width buttons on the narrowest screens only */
@media (max-width:575.98px){ .k-btn-block-sm{ display:block; width:100%; } }

/* Accessibility */
.k-skip{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.k-skip:focus{
  position:fixed; left:0; top:0; z-index:1200; width:auto; height:auto;
  margin:0; clip:auto; overflow:visible;
  background:var(--k-amber-500); color:var(--k-navy-900); padding:.7rem 1.1rem;
  font-family:var(--k-font-head); font-weight:700; border-radius:0 0 8px 0;
}
:focus-visible{ outline:3px solid var(--k-amber-500); outline-offset:2px; border-radius:4px; }

/* company facts list */
.k-form-wrap dl .row:last-child{ border-bottom:0 !important; }
.k-form-wrap dl .row:first-child{ padding-top:0 !important; }

/* ---------- Inline icon sizing ---------- */
.k-ic{ width:15px; height:15px; flex:none; }
.k-topbar-item{ white-space:nowrap; }
.k-topbar svg,.k-info-card svg,.k-fab svg{ flex:none; }
.k-info-ico svg{ width:22px; height:22px; }
.k-hero-chip .k-chip-ico svg{ width:20px; height:20px; }
.k-fab svg{ width:22px; height:22px; }
.k-link-arrow svg{ flex:none; }
.k-card-ico svg,.k-info-ico svg{ stroke-width:1.9; }

/* ---------- Service detail sidebar sticks while you read ---------- */
@media (min-width:992px){
  .k-sticky{ position:sticky; top:104px; }
}
/* Map keeps a background if the embed cannot load */
.k-map{ background:var(--k-surface-2); }
