/*! components.css — KA Concept PAGE-SPECIFIC styles only (base lives in style.css).
    Rules duplicated from the shared base (site.css) are removed; remaining per-page rules are
    scoped by body-class to avoid cross-page collisions. url() paths are relative to /assets/.
    @package Antking_WPT_KAconcept */


/* ===== HOMEPAGE (front-page)  (scope: .home) — 216 page rules ===== */
.home h1{font-size:clamp(2rem,4.5vw,3.6rem);font-weight:800;}
.home .section-head{
  text-align:center;
  max-width:720px;
  margin:0 auto 56px;
}
.home .section-head .eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--blue);
  background:var(--blue-soft);
  padding:6px 14px;
  border-radius:99px;
  margin-bottom:14px;
}
.home .btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 26px;
  border-radius:99px;
  font-weight:600;
  font-size:.95rem;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;
}
.home .btn--primary{
  color:#fff;
  background:var(--gradient);
  box-shadow:0 8px 22px rgba(46,167,221,.35);
}
.home .btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(46,167,221,.45);}
.home .btn .arrow{
  display:inline-block;
  transition:transform .25s ease;
}
.home .reveal.delay-4{transition-delay:.32s;}
.home .site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:box-shadow .25s, border-color .25s, padding .25s;
}
@media(max-width:1180px){
.home .brand-logo{height:34px;}
}
.home .brand-text{display:flex;flex-direction:column;line-height:1.05;}
.home .brand-text .b1{
  font-family:var(--h-font);
  font-weight:800;
  font-size:1.05rem;
  color:var(--navy-dark);
  letter-spacing:.02em;
}
.home .brand-text .b2{
  font-size:.66rem;
  letter-spacing:.22em;
  color:var(--blue);
  font-weight:600;
  text-transform:uppercase;
}
.home .hotline-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 20px;
  border-radius:99px;
  background:var(--gradient);
  color:#fff;
  font-weight:700;
  font-size:.95rem;
  white-space:nowrap;
  flex-shrink:0;
  box-shadow:0 8px 22px rgba(46,167,221,.32);
  transition:transform .25s, box-shadow .25s;
}
.home .hotline-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(46,167,221,.45);}
.home .hero{
  position:relative;
  height:100vh;
  min-height:620px;
  overflow:hidden;
  margin-top:78px; 
}
.home .hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
  background-size:cover;
  background-position:center;
}
.home .hero-slide.active{opacity:1;}
.home .hero-slide::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,24,42,.15) 0%, rgba(8,24,42,.45) 60%, rgba(8,24,42,.7) 100%);
}
.home .hero-content{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  z-index:2;
  pointer-events:none;
}
.home .hero-content .container{pointer-events:auto;}
.home .hero-slide .h-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  color:#cfe6f5;
  font-size:.82rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:18px;
  opacity:0;
  transform:translateY(20px);
  transition:.8s .2s;
}
.home .hero-slide .h-eyebrow::before{
  content:"";display:block;width:48px;height:2px;background:var(--blue);
}
.home .hero-slide h1,
.home .hero-slide .h-title{
  font-family: var(--h-font), sans-serif;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  font-weight: 800;
  line-height: 1.25;
  color:#fff;
  max-width:760px;
  margin-bottom:18px;
  opacity:0;
  transform:translateY(28px);
  transition:.9s .35s;
}
.home .hero-slide .h-desc{
  color:#dde9f3;
  font-size:1.1rem;
  max-width:560px;
  margin-bottom:36px;
  opacity:0;
  transform:translateY(28px);
  transition:.9s .5s;
}
.home .hero-slide .h-cta{
  display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;
  transform:translateY(28px);
  transition:.9s .65s;
}
.home .hero-slide.active .h-eyebrow,
.home .hero-slide.active h1,
.home .hero-slide.active .h-title,
.home .hero-slide.active .h-desc,
.home .hero-slide.active .h-cta{opacity:1;transform:none;}
.home .hero-controls{
  position:absolute;
  z-index:3;
  bottom:42px;
  left:0;right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  max-width:var(--container);
  margin:0 auto;
}
.home .hero-dots{display:flex;gap:10px;}
.home .hero-dots button{
  width:36px;height:3px;
  background:rgba(255,255,255,.35);
  border-radius:99px;
  transition:background .25s, transform .25s;
}
.home .hero-dots button.active{background:#fff;transform:scaleY(1.6);}
.home .hero-arrows{display:flex;gap:10px;}
.home .hero-arrows button{
  width:48px;height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  display:grid;place-items:center;
  transition:background .25s, border-color .25s;
  font-size:1.4rem;
}
.home .hero-arrows button:hover{background:#fff;color:var(--navy);border-color:#fff;}
.home .scroll-cue{
  position:absolute;
  z-index:3;
  bottom:42px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:.75rem;
  letter-spacing:.2em;
  opacity:.7;
  pointer-events:none;
}
.home .scroll-cue .line{
  width:1px;height:42px;background:#fff;
  animation:cue 2.2s ease-in-out infinite;
}
@keyframes cue{
  0%,100%{transform:scaleY(.3);transform-origin:top;}
  50%{transform:scaleY(1);transform-origin:top;}
}
.home .intro-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  align-items:center;
}
.home .intro-text .eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--blue);
  background:var(--blue-soft);
  padding:6px 14px;
  border-radius:99px;
  margin-bottom:18px;
}
.home .intro-text h2{margin-bottom:20px;}
.home .intro-text .lead{font-size:1.08rem;color:var(--ink-2);margin-bottom:18px;}
.home .no3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:28px 0 32px;
  padding:24px;
  background:var(--bg-soft);
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
}
.home .no3-item{text-align:center;}
.home .no3-item .big{
  font-family:var(--h-font);
  font-weight:800;
  font-size:1.7rem;
  background:var(--gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:block;
  line-height:1.3;
  margin-bottom:3px;
}
.home .no3-item .lbl{
  font-size:.82rem;
  font-weight:600;
  color:var(--navy-dark);
  letter-spacing:.04em;
}
.home .intro-media{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:var(--shadow-lg);
}
.home .intro-media img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}
.home .intro-media:hover img{transform:scale(1.04);}
.home .intro-badge{
  position:absolute;
  left:24px;bottom:24px;
  padding:18px 22px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:14px;
}
.home .intro-badge .num{
  font-family:var(--h-font);
  font-weight:800;
  font-size:2rem;
  background:var(--gradient);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  line-height:1;
}
.home .intro-badge .txt{font-size:.85rem;color:var(--navy-dark);font-weight:600;line-height:1.35;}
.home .proj-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px;
  gap:18px;
}
.home .proj-item{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  cursor:pointer;
  background:#0f2942;
}
.home .proj-item img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}
.home .proj-item::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(8,24,42,.85) 100%);
  opacity:.5;
  transition:opacity .4s;
  z-index:1;
}
.home .proj-item:hover::before{opacity:.9;}
.home .proj-item:hover img{transform:scale(1.08);}
.home .proj-cap{
  position:absolute;
  z-index:2;
  left:24px;right:24px;bottom:22px;
  color:#fff;
  transform:translateY(6px);
  opacity:.95;
  transition:transform .4s ease, opacity .4s ease;
}
.home .proj-item:hover .proj-cap{transform:none;}
.home .proj-cap .tag{
  display:block;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  color:#cfe6f5;font-weight:600;margin-bottom:8px;
  line-height:1.4;
  background:transparent;
  padding:0;
}
.home .proj-cap .ttl{
  font-family:var(--h-font);
  font-weight:700;font-size:1.25rem;line-height:1.35;
}
.home .proj-item.large{grid-column:span 2;grid-row:span 2;}
.home .proj-item.tall{grid-row:span 2;}
.home .proj-item.wide{grid-column:span 2;}
.home .svc-row{
  margin-bottom:48px;
}
.home .svc-row:last-child{margin-bottom:0;}
.home .svc-row-title{
  display:flex;align-items:center;gap:18px;
  margin-bottom:24px;
}
.home .svc-row-title .num{
  font-family:var(--h-font);
  font-weight:800;
  font-size:.9rem;
  color:var(--blue);
  letter-spacing:.18em;
}
.home .svc-row-title .bar{
  flex:1;height:1px;background:var(--line);
}
.home .svc-row-title h3{
  font-size:1.5rem;
  color:var(--navy-dark);
  margin:0;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.home .svc-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.home .svc-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  aspect-ratio:4/5;
  cursor:pointer;
}
.home .svc-card img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.home .svc-card::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(15,41,66,.85) 100%);
  z-index:1;
  transition:background .4s;
}
.home .svc-card:hover::before{
  background:linear-gradient(180deg, rgba(22,84,143,.15) 0%, rgba(15,41,66,.92) 100%);
}
.home .svc-card:hover img{transform:scale(1.08);}
.home .svc-card-body{
  position:absolute;
  z-index:2;
  left:22px;right:22px;bottom:22px;
  color:#fff;
}
.home .svc-card-body .lbl{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:#cfe6f5;font-weight:600;margin-bottom:6px;
}
.home .svc-card-body h4{
  font-family:var(--h-font);
  font-weight:700;
  font-size:1.4rem;
  color:#fff;
  margin:0 0 8px;
}
.home .svc-card-body .arr{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.85rem;font-weight:600;color:#fff;
  opacity:0;transform:translateY(8px);
  transition:.35s;
}
.home .svc-card:hover .svc-card-body .arr{opacity:1;transform:none;}
.home .svc5-grid{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:center;
}
.home .svc5-card{
  flex:0 1 360px;
  position:relative;
  display:block;
  padding:38px 32px 32px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform .35s, box-shadow .35s, border-color .35s;
}
.home .svc5-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--gradient);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;
}
.home .svc5-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}
.home .svc5-card:hover::before{transform:scaleX(1);}
.home .svc5-step{
  position:absolute;
  top:26px;right:30px;
  font-family:var(--serif);
  font-weight:600;
  font-size:2.6rem;
  line-height:1;
  color:var(--blue-soft);
  transition:color .35s;
}
.home .svc5-card:hover .svc5-step{color:#d3e3f2;}
.home .svc5-icon{
  width:62px;height:62px;
  border-radius:16px;
  background:var(--blue-soft);
  display:grid;place-items:center;
  color:var(--navy);
  margin-bottom:22px;
  transition:background .35s, color .35s;
}
.home .svc5-card:hover .svc5-icon{background:var(--gradient);color:#fff;}
.home .svc5-icon svg{width:30px;height:30px;}
.home .svc5-card h3{font-size:1.2rem;margin-bottom:10px;color:var(--navy-dark);}
.home .svc5-card p{font-size:.96rem;color:var(--muted);margin:0 0 18px;}
.home .svc5-arr{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.88rem;font-weight:600;color:var(--blue);
}
.home .svc5-arr .arrow{transition:transform .25s;}
.home .svc5-card:hover .svc5-arr .arrow{transform:translateX(4px);}
.home .svc5-cta{text-align:center;margin-top:48px;}
@media(max-width:680px){
.home .svc5-card{flex:1 1 100%;}
}
.home .why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.home .why-card{
  padding:36px 30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  transition:transform .35s, box-shadow .35s, border-color .35s;
  position:relative;
  overflow:hidden;
}
.home .why-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--gradient);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;
}
.home .why-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}
.home .why-card:hover::before{transform:scaleX(1);}
.home .why-icon{
  width:60px;height:60px;
  border-radius:14px;
  background:var(--blue-soft);
  display:grid;place-items:center;
  margin-bottom:20px;
  color:var(--navy);
  transition:background .3s, color .3s;
}
.home .why-card:hover .why-icon{background:var(--gradient);color:#fff;}
.home .why-icon svg{width:28px;height:28px;}
.home .why-card h3{font-size:1.15rem;margin-bottom:10px;}
.home .why-card p{font-size:.95rem;color:var(--muted);margin:0;}
.home .counter-section{
  position:relative;
  overflow:hidden;
  padding:80px 0;
}
.home .counter-section::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(46,167,221,.18), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(22,84,143,.5), transparent 60%),
    var(--gradient-dk);
  z-index:0;
}
.home .counter-section::after{
  content:"";
  position:absolute;inset:0;
  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:60px 60px;
  z-index:0;
}
.home .counter-section .container{position:relative;z-index:2;}
.home .counter-section .section-head h2{color:#fff;}
.home .counter-section .section-head p{color:#cfdcea;}
.home .counter-section .section-head .eyebrow{
  background:rgba(255,255,255,.14);
  color:#cfe6f5;
}
.home .counter-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  text-align:center;
}
.home .counter-item{padding:14px;}
.home .counter-item .val{
  font-family:var(--h-font);
  font-weight:800;
  font-size:clamp(2.4rem,4.5vw,3.6rem);
  color:#fff;
  line-height:1;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:4px;
}
.home .counter-item .val .suf{
  font-size:.55em;
  color:var(--blue);
  font-weight:700;
}
.home .counter-item .lbl{
  margin-top:14px;
  font-size:.95rem;
  color:#cfdcea;
  letter-spacing:.04em;
}
.home .counter-item .divider{
  width:36px;height:2px;background:var(--blue);
  margin:14px auto 0;
}
.home .gallery-tabs{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:36px;
}
.home .gallery-tabs button{
  padding:10px 22px;
  font-size:.9rem;
  font-weight:500;
  color:var(--ink-2);
  background:#fff;
  border:1px solid var(--line);
  border-radius:99px;
  transition:.25s;
}
.home .gallery-tabs button.active,
.home .gallery-tabs button:hover{
  background:var(--gradient);
  color:#fff;
  border-color:transparent;
  box-shadow:0 6px 16px rgba(46,167,221,.3);
}
.home .gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.home .gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  aspect-ratio:1/1;
  display:block;
}
.home .gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s ease;
}
.home .gallery-item:hover img{transform:scale(1.06);}
.home .gallery-item .ov{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(0,47,103,.92) 0%, rgba(0,47,103,.35) 45%, rgba(0,47,103,0) 70%);
  opacity:0;transition:opacity .4s ease;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px;
}
.home .gallery-item:hover .ov{
  opacity:1;
}
.home .gallery-item .ov h3{
  color:#fff;font-size:1.1rem;margin:0 0 10px;
  transform:translateY(10px);transition:transform .4s ease .05s;
  font-family:var(--h-font);font-weight:700;line-height:1.25;
}
.home .gallery-item:hover .ov h3{
  transform:none;
}
.home .gallery-item .ov .tags{
  display:flex;flex-wrap:wrap;gap:8px;
  transform:translateY(10px);transition:transform .4s ease .1s;
}
.home .gallery-item:hover .ov .tags{
  transform:none;
}
.home .gallery-item .corner{
  position:absolute;top:14px;left:14px;z-index:2;
}
.home .gallery-item.hide{
  display:none !important;
}
.home .gallery-cta{text-align:center;margin-top:40px;}
.home .gallery-item.tall{grid-row:span 2;aspect-ratio:auto;}
.home .cta-banner{
  background:var(--gradient);
  border-radius:var(--radius-lg);
  padding:56px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:48px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.home .cta-banner::before{
  content:"";
  position:absolute;
  right:-80px;top:-80px;
  width:320px;height:320px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.home .cta-banner::after{
  content:"";
  position:absolute;
  left:-60px;bottom:-100px;
  width:240px;height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}
.home .cta-text{position:relative;z-index:2;}
.home .cta-text .eyebrow{
  display:inline-block;
  color:#fff;
  background:rgba(255,255,255,.18);
  padding:6px 14px;
  font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  border-radius:99px;margin-bottom:14px;
}
.home .cta-text h2{color:#fff;margin-bottom:12px;}
.home .cta-text p{color:rgba(255,255,255,.85);margin:0;}
.home .cta-form{
  position:relative;z-index:2;
  background:#fff;
  border-radius:var(--radius);
  padding:24px;
  box-shadow:var(--shadow-lg);
}
.home .cta-form .field{margin-bottom:14px;}
.home .cta-form label{
  display:block;
  font-size:.8rem;
  font-weight:600;
  color:var(--navy-dark);
  margin-bottom:6px;
}
.home .cta-form input,
.home .cta-form select,
.home .cta-form textarea{
  width:100%;
  padding:13px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  font-family:inherit;
  font-size:.95rem;
  color:var(--ink);
  transition:border-color .2s, box-shadow .2s;
  background:#fff;
}
.home .cta-form input:focus,
.home .cta-form select:focus,
.home .cta-form textarea:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(46,167,221,.12);
}
.home .cta-form .btn{width:100%;justify-content:center;margin-top:6px;}
.home .cta-form .note{font-size:.75rem;color:var(--muted);text-align:center;margin:10px 0 0;}
.home .news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.home .news-card{
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--line);
  transition:transform .35s, box-shadow .35s, border-color .35s;
  display:flex;flex-direction:column;
}
.home .news-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}
.home .news-img{
  aspect-ratio:16/10;
  overflow:hidden;
  position:relative;
}
.home .news-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s ease;
}
.home .news-card:hover .news-img img{transform:scale(1.06);}
.home .news-cat{
  position:absolute;top:14px;left:14px;
  padding:5px 12px;
  background:rgba(255,255,255,.95);
  color:var(--navy);
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  border-radius:99px;
}
.home .news-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.home .news-meta{
  display:flex;align-items:center;gap:14px;
  font-size:.78rem;color:var(--muted);margin-bottom:10px;
}
.home .news-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);}
.home .news-card h3{
  font-size:1.1rem;
  color:var(--navy-dark);
  margin-bottom:12px;
  line-height:1.35;
  flex:1;
}
.home .news-card .read{
  font-size:.85rem;font-weight:600;color:var(--blue);
  display:inline-flex;align-items:center;gap:6px;
  transition:gap .2s;
}
.home .news-card:hover .read{gap:10px;}
.home .partners{padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.home .partners-head{text-align:center;margin-bottom:36px;}
.home .partners-head span{
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);font-weight:600;
}
.home .partners-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:24px;
  align-items:center;
}
.home .partner-logo{
  height:64px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  font-family:var(--h-font);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.04em;
  filter:grayscale(1);
  opacity:.7;
  transition:.3s;
  background:#fff;
}
.home .partner-logo:hover{
  filter:none;opacity:1;
  color:var(--navy);
  border-color:var(--blue);
  transform:translateY(-2px);
}
.home .footer-brand img{height:48px;margin-bottom:18px;filter:brightness(1.4);}
.home .footer-logo{height:40px;width:auto;margin-bottom:20px;filter:none !important;}
.home .footer-brand .name{
  font-family:var(--h-font);
  font-weight:800;
  font-size:1.05rem;
  color:#fff;letter-spacing:.02em;
  margin-bottom:4px;
}
.home .footer-brand .sub{
  font-size:.72rem;letter-spacing:.22em;color:var(--blue);text-transform:uppercase;font-weight:600;margin-bottom:18px;
}
.home .footer-col ul li{margin-bottom:12px;font-size:.92rem;display:flex;align-items:flex-start;gap:12px;color:#9bb1c7;}
.home .footer-col ul li a{color:inherit;transition:color .2s;display:inline-flex;align-items:flex-start;gap:12px;}
.home .footer-form input{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  border-radius:10px;
  color:#fff;
  font-family:inherit;
  font-size:.9rem;
  margin-bottom:10px;
}
.home .footer-form input::placeholder{color:#6c89a8;}
.home .footer-form input:focus{outline:none;border-color:var(--blue);}
.home .footer-form .row{display:flex;gap:10px;}
.home .footer-form .row .btn{flex:1;justify-content:center;padding:12px 18px;}
.home .zalo-btn,
.home .zalo-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 18px;
  background:#0068FF;
  color:#fff;
  border-radius:10px;
  font-weight:600;
  font-size:.9rem;
  transition:transform .2s;
  margin-top:6px;
}
.home .zalo-btn:hover,
.home .zalo-inline:hover{transform:translateY(-2px);}
@media(max-width:1180px) and (min-width:1025px){
.home .brand-text{display:none;}
.home .header-cta .hotline-btn span.txt-long{display:none;}
.home .brand img{height:42px;}
}
@media(max-width:1024px){
.home .brand-text{display:none;}
.home .header-cta .hotline-btn span.txt-long{display:none;}
.home .intro-grid{grid-template-columns:1fr;gap:40px;}
.home .intro-media{aspect-ratio:16/10;}
.home .proj-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}
.home .proj-item.large{grid-column:span 2;grid-row:span 2;}
.home .proj-item.tall{grid-row:span 1;}
.home .proj-item.wide{grid-column:span 2;}
.home .svc-grid{grid-template-columns:repeat(2,1fr);}
.home .why-grid{grid-template-columns:repeat(2,1fr);}
.home .gallery-grid{grid-template-columns:repeat(3,1fr);}
.home .news-grid{grid-template-columns:repeat(2,1fr);}
.home .partners-grid{grid-template-columns:repeat(3,1fr);}
.home .cta-banner{grid-template-columns:1fr;padding:40px;}
.home .nav{
    position:fixed;
    top:74px;left:0;right:0;
    flex-direction:column;
    background:#fff;
    padding:24px;
    gap:0;
    align-items:stretch;
    box-shadow:0 14px 30px rgba(15,41,66,.08);
    border-top:1px solid var(--line);
    transform:translateY(-110%);
    transition:transform .35s ease;
  }
}
@media(max-width:680px){
.home .section{padding:60px 0;}
.home .hero{height:88vh;min-height:560px;}
.home .hero-slide .h-desc{font-size:.98rem;}
.home .hero-slide h1,
.home .hero-slide .h-title{font-size:2.1rem; line-height:1.25;}
.home .no3{grid-template-columns:1fr;}
.home .proj-grid{grid-template-columns:1fr;grid-auto-rows:240px;}
.home .proj-item.large,
.home .proj-item.wide{grid-column:span 1;grid-row:span 1;}
.home .svc-grid{grid-template-columns:1fr;}
.home .why-grid{grid-template-columns:1fr;}
.home .counter-grid{grid-template-columns:repeat(2,1fr);gap:30px;}
.home .gallery-grid{grid-template-columns:repeat(2,1fr);}
.home .news-grid{grid-template-columns:1fr;}
.home .partners-grid{grid-template-columns:repeat(2,1fr);}
.home .cta-banner{padding:32px 24px;}
.home .brand-text{display:none;}
}

/* ===== PROJECTS ARCHIVE + loai-du-an taxonomy  (scope: .ka-thietke-archive) — 39 page rules ===== */
.ka-thietke-archive .page-hero.ph-projects{background-image:url('img/proj-1.jpg');}
.ka-thietke-archive .filter-bar{position:sticky;top:70px;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);}
.ka-thietke-archive .filter-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 0;}
.ka-thietke-archive .filter-pills{display:flex;flex-wrap:wrap;gap:10px;}
.ka-thietke-archive .pill{padding:9px 20px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font-size:.9rem;font-weight:600;transition:.22s;}
.ka-thietke-archive .pill:hover{border-color:var(--blue);color:var(--navy);}
.ka-thietke-archive .pill.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.ka-thietke-archive .sort-wrap{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.86rem;}
.ka-thietke-archive .sort-wrap select{padding:9px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.88rem;
  color:var(--ink);background:#fff;}
.ka-thietke-archive .sort-wrap select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,114,178,.12);}
.ka-thietke-archive .proj-count{color:var(--muted);font-size:.92rem;margin-bottom:28px;}
.ka-thietke-archive .proj-count b{color:var(--navy);font-weight:700;}
.ka-thietke-archive .masonry{column-count:3;column-gap:24px;}
.ka-thietke-archive .proj-card, .search-results .proj-card, .proj-card{break-inside:avoid;margin-bottom:24px;position:relative;border-radius:var(--radius-lg);overflow:hidden;
  display:block;box-shadow:var(--shadow-sm);transition:box-shadow .35s, transform .35s;}
.ka-thietke-archive .proj-card:hover, .search-results .proj-card:hover, .proj-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.ka-thietke-archive .proj-card img, .search-results .proj-card img, .proj-card img{width:100%;display:block;transition:transform .7s ease;}
.ka-thietke-archive .proj-card:hover img, .search-results .proj-card:hover img, .proj-card:hover img{transform:scale(1.06);}
.ka-thietke-archive .proj-card .ov, .search-results .proj-card .ov, .proj-card .ov{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,47,103,.92) 0%, rgba(0,47,103,.35) 45%, rgba(0,47,103,0) 70%);
  opacity:0;transition:opacity .4s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;}
.ka-thietke-archive .proj-card:hover .ov, .search-results .proj-card:hover .ov, .proj-card:hover .ov{opacity:1;}
.ka-thietke-archive .proj-card .ov h3, .search-results .proj-card .ov h3, .proj-card .ov h3{color:#fff;font-size:1.2rem;margin:0 0 12px;transform:translateY(10px);transition:transform .4s ease .05s;}
.ka-thietke-archive .proj-card:hover .ov h3, .search-results .proj-card:hover .ov h3, .proj-card:hover .ov h3{transform:none;}
.ka-thietke-archive .proj-card .ov .tags, .search-results .proj-card .ov .tags, .proj-card .ov .tags{display:flex;flex-wrap:wrap;gap:8px;transform:translateY(10px);transition:transform .4s ease .1s;}
.ka-thietke-archive .proj-card:hover .ov .tags, .search-results .proj-card:hover .ov .tags, .proj-card:hover .ov .tags{transform:none;}
.ka-thietke-archive .proj-card .corner, .search-results .proj-card .corner, .proj-card .corner{position:absolute;top:16px;left:16px;z-index:2;}
.ka-thietke-archive .proj-card.hide, .search-results .proj-card.hide, .proj-card.hide{display:none !important;}
.ka-thietke-archive .pagination-wrap{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:48px;}
.ka-thietke-archive .page-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);color:var(--navy);font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:transparent;cursor:pointer;}
.ka-thietke-archive .page-btn:hover,
.ka-thietke-archive .page-btn.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(41,114,178,.3);}
.ka-thietke-archive .page-btn:disabled{opacity:0.35;cursor:not-allowed;pointer-events:none;}
.ka-thietke-archive .cta-strip{background:var(--gradient);border-radius:var(--radius-lg);padding:56px;text-align:center;position:relative;overflow:hidden;}
.ka-thietke-archive .cta-strip::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08);}
.ka-thietke-archive .cta-strip h2{color:#fff;margin-bottom:10px;position:relative;}
.ka-thietke-archive .cta-strip p{color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 26px;position:relative;}
.ka-thietke-archive .cta-strip .btn{position:relative;}
@media(max-width:1024px){
.ka-thietke-archive .masonry{column-count:2;}
.ka-thietke-archive .filter-bar{top:0;}
}
@media(max-width:680px){
.ka-thietke-archive .masonry{column-count:1;}
.ka-thietke-archive .cta-strip{padding:36px 24px;}
.ka-thietke-archive .filter-inner{justify-content:flex-start;}
}

/* ===== PROJECT SINGLE  (scope: .single-thiet-ke) — 69 page rules ===== */
.single-thiet-ke .proj-hero{position:relative;margin-top:70px;height:60vh;min-height:460px;display:flex;align-items:flex-end;overflow:hidden;
  background:url('img/proj-1.jpg') center/cover no-repeat;}
.single-thiet-ke .proj-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(0,30,66,.9) 0%, rgba(0,30,66,.25) 55%, rgba(0,30,66,.15) 100%);}
.single-thiet-ke .proj-hero .container{position:relative;z-index:2;padding-bottom:46px;}
.single-thiet-ke .proj-hero .breadcrumb{margin-bottom:16px;}
.single-thiet-ke .proj-hero h1{color:#fff;margin:10px 0 8px;max-width:820px;}
.single-thiet-ke .proj-hero .loc{display:inline-flex;align-items:center;gap:8px;color:#dbe8f4;font-size:1rem;}
.single-thiet-ke .info-bar{position:sticky;top:70px;z-index:40;background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.single-thiet-ke .info-grid{display:grid;grid-template-columns:repeat(5,1fr);}
.single-thiet-ke .info-cell{padding:20px 18px;text-align:center;border-right:1px solid var(--line);}
.single-thiet-ke .info-cell:last-child{border-right:none;}
.single-thiet-ke .info-cell .k{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px;}
.single-thiet-ke .info-cell .v{font-family:var(--h-font);font-weight:700;color:var(--navy-dark);font-size:1.05rem;}
.single-thiet-ke .concept{max-width:820px;margin:0 auto;}
.single-thiet-ke .concept p{font-size:1.06rem;line-height:1.8;}
.single-thiet-ke .bq{border-left:4px solid var(--navy);background:var(--bg-soft);padding:26px 32px;margin:32px 0;border-radius:0 var(--radius) var(--radius) 0;}
.single-thiet-ke .bq p{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.5;color:var(--navy-dark);margin:0;}
.single-thiet-ke .room{margin-bottom:64px;}
.single-thiet-ke .room:last-child{margin-bottom:0;}
.single-thiet-ke .room-head{max-width:760px;margin-bottom:24px;}
.single-thiet-ke .room-head .eyebrow{margin-bottom:10px;}
.single-thiet-ke .room-head p{color:var(--muted);margin:0;}
.single-thiet-ke .room-grid{display:grid;gap:18px;}
.single-thiet-ke .room-grid.g2{grid-template-columns:1fr 1fr;}
.single-thiet-ke .room-grid.g3{grid-template-columns:2fr 1fr;}
.single-thiet-ke .room-grid.g3 .full{grid-row:span 2;}
.single-thiet-ke .room-grid img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .5s ease, box-shadow .4s;}
.single-thiet-ke .room-grid img:hover{transform:scale(1.02);box-shadow:var(--shadow-md);}
.single-thiet-ke .room-grid.g2 img{aspect-ratio:4/3;}
.single-thiet-ke .room-grid.g3 img{aspect-ratio:auto;}
.single-thiet-ke .hl{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:64px;}
.single-thiet-ke .hl:last-child{margin-bottom:0;}
.single-thiet-ke .hl:nth-child(even) .hl-media{order:2;}
.single-thiet-ke .hl-media{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg);}
.single-thiet-ke .hl-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.single-thiet-ke .hl-media:hover img{transform:scale(1.05);}
.single-thiet-ke .hl-text .eyebrow{margin-bottom:12px;}
.single-thiet-ke .hl-text p{color:var(--ink-2);margin:0;}
.single-thiet-ke .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.single-thiet-ke .rel-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s, box-shadow .35s;display:block;}
.single-thiet-ke .rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.single-thiet-ke .rel-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease;}
.single-thiet-ke .rel-card:hover img{transform:scale(1.05);}
.single-thiet-ke .rel-card .cap{padding:18px 20px;}
.single-thiet-ke .rel-card .cap h3{font-size:1.08rem;margin:6px 0 0;}
.single-thiet-ke .rel-cta{text-align:center;margin-top:42px;}
.single-thiet-ke .mini-cta{background:var(--gradient);border-radius:var(--radius-lg);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;position:relative;overflow:hidden;}
.single-thiet-ke .mini-cta::before{content:"";position:absolute;right:-70px;top:-70px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);}
.single-thiet-ke .mini-cta .t{position:relative;z-index:2;}
.single-thiet-ke .mini-cta .t h2{color:#fff;margin-bottom:10px;}
.single-thiet-ke .mini-cta .t p{color:rgba(255,255,255,.9);margin:0;}
.single-thiet-ke .mini-form{position:relative;z-index:2;background:#fff;border-radius:var(--radius);padding:26px;display:grid;gap:14px;box-shadow:var(--shadow-lg);}
.single-thiet-ke .mini-form input{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.95rem;}
.single-thiet-ke .mini-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,114,178,.12);}
.single-thiet-ke .mini-form .btn{justify-content:center;}

/* CF7 compatibility for mini-form */
.single-thiet-ke .mini-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.single-thiet-ke .mini-form .wpcf7-submit {
  width: 100%;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  padding: 13px 16px;
  background: var(--gradient);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform .25s, box-shadow .25s;
}
.single-thiet-ke .mini-form .wpcf7-submit:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
@media(max-width:1024px){
.single-thiet-ke .info-grid{grid-template-columns:repeat(3,1fr);}
.single-thiet-ke .info-cell:nth-child(3){border-right:none;}
.single-thiet-ke .info-cell{border-bottom:1px solid var(--line);}
.single-thiet-ke .hl{grid-template-columns:1fr;gap:28px;}
.single-thiet-ke .hl:nth-child(even) .hl-media{order:0;}
.single-thiet-ke .rel-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
.single-thiet-ke .proj-hero{height:auto;min-height:0;padding:120px 0 36px;}
.single-thiet-ke .info-grid{grid-template-columns:repeat(2,1fr);}
.single-thiet-ke .info-cell:nth-child(3){border-right:1px solid var(--line);}
.single-thiet-ke .info-cell:nth-child(2n){border-right:none;}
.single-thiet-ke .room-grid.g2,
.single-thiet-ke .room-grid.g3{grid-template-columns:1fr;}
.single-thiet-ke .room-grid.g3 .full{grid-row:auto;}
.single-thiet-ke .rel-grid{grid-template-columns:1fr;}
.single-thiet-ke .mini-cta{grid-template-columns:1fr;padding:28px 22px;}
.single-thiet-ke .bq p{font-size:1.25rem;}
}

/* ===== BLOG ARCHIVE + chu-de taxonomy  (scope: .ka-blog-archive) — 50 page rules ===== */
.ka-blog-archive .page-hero.ph-blog{background-image:url('img/g7.jpg');}
.ka-blog-archive .featured{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.ka-blog-archive .featured-media{position:relative;overflow:hidden;aspect-ratio:16/11;}
.ka-blog-archive .featured-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.ka-blog-archive .featured:hover .featured-media img{transform:scale(1.04);}
.ka-blog-archive .featured-body{padding:14px 44px 14px 4px;}
.ka-blog-archive .featured-body .badge{margin-bottom:14px;}
.ka-blog-archive .featured-body h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:14px;}
.ka-blog-archive .featured-body h2 a:hover{color:var(--blue);}
.ka-blog-archive .post-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.85rem;margin-bottom:14px;}
.ka-blog-archive .post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--muted);}
.ka-blog-archive .featured-body p{color:var(--ink-2);margin-bottom:22px;}
.ka-blog-archive .badge{display:inline-flex;align-items:center;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy);background:var(--blue-soft);padding:6px 13px;border-radius:8px;}
.ka-blog-archive .cat-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:44px;}
.ka-blog-archive .cat-pill{padding:9px 20px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font-size:.9rem;font-weight:600;transition:.22s;}
.ka-blog-archive .cat-pill:hover{border-color:var(--blue);color:var(--navy);}
.ka-blog-archive .cat-pill.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.ka-blog-archive .art-grid, .search-results .art-grid, .art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.ka-blog-archive .art-card, .search-results .art-card, .art-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .35s, box-shadow .35s, border-color .35s;}
.ka-blog-archive .art-card:hover, .search-results .art-card:hover, .art-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.ka-blog-archive .art-media, .search-results .art-media, .art-media{overflow:hidden;aspect-ratio:16/9;}
.ka-blog-archive .art-media img, .search-results .art-media img, .art-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.ka-blog-archive .art-card:hover .art-media img, .search-results .art-card:hover .art-media img, .art-card:hover .art-media img{transform:scale(1.06);}
.ka-blog-archive .art-body, .search-results .art-body, .art-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.ka-blog-archive .art-body .badge, .search-results .art-body .badge, .art-body .badge{align-self:flex-start;margin-bottom:12px;}
.ka-blog-archive .art-body h3, .search-results .art-body h3, .art-body h3{font-size:1.14rem;margin-bottom:10px;line-height:1.35;transition:color .25s;}
.ka-blog-archive .art-card:hover .art-body h3, .search-results .art-card:hover .art-body h3, .art-card:hover .art-body h3{color:var(--blue);}
.ka-blog-archive .art-body .post-meta, .search-results .art-body .post-meta, .art-body .post-meta{margin-bottom:10px;}
.ka-blog-archive .art-body .excerpt, .search-results .art-body .excerpt, .art-body .excerpt{color:var(--muted);font-size:.92rem;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ka-blog-archive .art-card.hide{display:none;}
.ka-blog-archive .pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:48px;}
.ka-blog-archive .pager button{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font-weight:600;font-size:.92rem;transition:.2s;}
.ka-blog-archive .pager button:hover{border-color:var(--blue);color:var(--navy);}
.ka-blog-archive .pager button.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.ka-blog-archive .pager .ar{width:auto;padding:0 16px;}
.ka-blog-archive .news-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:48px;text-align:center;}
.ka-blog-archive .news-box h2{margin-bottom:8px;}
.ka-blog-archive .news-box p{color:var(--muted);max-width:520px;margin:0 auto 24px;}
.ka-blog-archive .news-form{display:flex;gap:12px;max-width:480px;margin:0 auto;}
.ka-blog-archive .news-form input{flex:1;padding:14px 18px;border:1px solid var(--line);border-radius:99px;font-family:inherit;font-size:.95rem;}
.ka-blog-archive .news-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,114,178,.12);}
@media(max-width:1024px){
.ka-blog-archive .featured{grid-template-columns:1fr;}
.ka-blog-archive .featured-body{padding:0 32px 32px;}
.ka-blog-archive .featured-media{aspect-ratio:16/9;}
.ka-blog-archive .art-grid, .search-results .art-grid, .art-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
.ka-blog-archive .art-grid, .search-results .art-grid, .art-grid{grid-template-columns:1fr;}
.ka-blog-archive .news-form{flex-direction:column;}
.ka-blog-archive .news-form input{border-radius:12px;}
.ka-blog-archive .news-box{padding:32px 22px;}
.ka-blog-archive .featured-body{padding:0 22px 26px;}
}

/* ===== ARTICLE SINGLE  (scope: .single-kinh-nghiem-hay) — 77 page rules ===== */
.single-kinh-nghiem-hay .art-hero{position:relative;margin-top:70px;min-height:460px;display:flex;align-items:flex-end;overflow:hidden;
  background:url('img/news-1.jpg') center/cover no-repeat;}
.single-kinh-nghiem-hay .art-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(0,30,66,.92) 0%, rgba(0,30,66,.35) 60%, rgba(0,30,66,.2) 100%);}
.single-kinh-nghiem-hay .art-hero .container{position:relative;z-index:2;padding-bottom:44px;max-width:900px;}
.single-kinh-nghiem-hay .art-hero .breadcrumb{margin-bottom:14px;}
.single-kinh-nghiem-hay .art-hero .badge{margin-bottom:14px;}
.single-kinh-nghiem-hay .art-hero h1{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem);margin:0 0 18px;}
.single-kinh-nghiem-hay .author-line{display:flex;align-items:center;gap:12px;color:#dbe8f4;font-size:.9rem;}
.single-kinh-nghiem-hay .author-line .av{width:40px;height:40px;border-radius:50%;background:var(--gradient);display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--h-font);font-size:.95rem;}
.single-kinh-nghiem-hay .author-line .dot{width:4px;height:4px;border-radius:50%;background:#9bb1c7;}
.single-kinh-nghiem-hay .badge{display:inline-flex;align-items:center;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;background:var(--gradient);padding:6px 13px;border-radius:8px;}
.single-kinh-nghiem-hay .hero-cap{background:var(--bg-soft);border-bottom:1px solid var(--line);}
.single-kinh-nghiem-hay .hero-cap .container{padding:12px 24px;}
.single-kinh-nghiem-hay .hero-cap p{margin:0;font-size:.84rem;color:var(--muted);font-style:italic;text-align:center;}
.single-kinh-nghiem-hay .post-wrap{display:grid;grid-template-columns:1fr;gap:56px;align-items:start;}
.single-kinh-nghiem-hay .post-wrap.has-sidebar{grid-template-columns:1fr 320px;}
.single-kinh-nghiem-hay .post-wrap.no-sidebar .post-body{max-width:900px;margin:0 auto;}
.single-kinh-nghiem-hay .post-body{max-width:720px;}
.single-kinh-nghiem-hay .post-body p{font-size:1.06rem;line-height:1.85;color:var(--ink-2);margin-bottom:1.4em;}
.single-kinh-nghiem-hay .post-body h2{font-size:1.7rem;margin:1.8em 0 .7em;padding-bottom:.4em;border-bottom:1px solid var(--line);scroll-margin-top:160px;}
.single-kinh-nghiem-hay .post-body h3{font-size:1.28rem;margin:1.4em 0 .5em;color:var(--navy);}
.single-kinh-nghiem-hay .post-body ul,
.single-kinh-nghiem-hay .post-body ol{margin:0 0 1.5em;padding-left:0;list-style:none;}
.single-kinh-nghiem-hay .post-body ul li,
.single-kinh-nghiem-hay .post-body ol li{position:relative;padding-left:30px;margin-bottom:14px;font-size:1.04rem;line-height:1.7;color:var(--ink-2);}
.single-kinh-nghiem-hay .post-body ul li::before{content:"";position:absolute;left:6px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--blue);}
.single-kinh-nghiem-hay .post-body ol{counter-reset:li;}
.single-kinh-nghiem-hay .post-body ol li{counter-increment:li;}
.single-kinh-nghiem-hay .post-body ol li::before{content:counter(li);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;
  background:var(--blue-soft);color:var(--navy);font-size:.82rem;font-weight:700;display:grid;place-items:center;font-family:var(--h-font);}
.single-kinh-nghiem-hay .post-body blockquote{border-left:4px solid var(--navy);padding:6px 0 6px 28px;margin:1.6em 0;}
.single-kinh-nghiem-hay .post-body blockquote p{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.5;color:var(--navy-dark);margin:0;}
.single-kinh-nghiem-hay .post-body figure{margin:1.8em 0;}
.single-kinh-nghiem-hay .post-body figure img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.single-kinh-nghiem-hay .post-body figcaption{font-size:.84rem;color:var(--muted);font-style:italic;text-align:center;margin-top:10px;}
.single-kinh-nghiem-hay .tip-box{background:var(--blue-soft);border-radius:var(--radius);padding:22px 26px;margin:1.8em 0;}
.single-kinh-nghiem-hay .tip-box strong{color:var(--navy-dark);font-family:var(--h-font);}
.single-kinh-nghiem-hay .tip-box p:last-child{margin-bottom:0;}
.single-kinh-nghiem-hay .post-side{position:sticky;top:96px;display:grid;gap:24px;}
.single-kinh-nghiem-hay .toc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;}
.single-kinh-nghiem-hay .toc h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.single-kinh-nghiem-hay .toc ul{list-style:none;margin:0;padding:0;}
.single-kinh-nghiem-hay .toc li{margin-bottom:2px;}
.single-kinh-nghiem-hay .toc a{display:block;padding:7px 12px;border-radius:8px;font-size:.9rem;color:var(--ink-2);border-left:2px solid transparent;transition:.2s;}
.single-kinh-nghiem-hay .toc a:hover{background:var(--bg-soft);color:var(--navy);}
.single-kinh-nghiem-hay .toc a.active{background:var(--blue-soft);color:var(--navy);font-weight:600;border-left-color:var(--blue);}
.single-kinh-nghiem-hay .side-author{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;text-align:center;}
.single-kinh-nghiem-hay .side-author .av{width:64px;height:64px;border-radius:50%;background:var(--gradient);display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--h-font);font-size:1.3rem;margin:0 auto 12px;}
.single-kinh-nghiem-hay .side-author .nm{font-family:var(--h-font);font-weight:700;color:var(--navy-dark);}
.single-kinh-nghiem-hay .side-author .role{font-size:.84rem;color:var(--muted);margin-bottom:4px;}
.single-kinh-nghiem-hay .share{display:flex;gap:10px;justify-content:center;}
.single-kinh-nghiem-hay .share button,
.single-kinh-nghiem-hay .share a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);transition:.2s;}
.single-kinh-nghiem-hay .share button:hover,
.single-kinh-nghiem-hay .share a:hover{border-color:var(--blue);color:var(--navy);background:var(--bg-soft);}
.single-kinh-nghiem-hay .author-bio{display:flex;gap:22px;align-items:flex-start;background:var(--bg-soft);border-radius:var(--radius-lg);padding:30px 32px;margin-top:48px;}
.single-kinh-nghiem-hay .author-bio .av{flex-shrink:0;width:72px;height:72px;border-radius:50%;background:var(--gradient);display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--h-font);font-size:1.5rem;}
.single-kinh-nghiem-hay .author-bio .nm{font-family:var(--h-font);font-weight:700;color:var(--navy-dark);font-size:1.1rem;}
.single-kinh-nghiem-hay .author-bio .role{font-size:.86rem;color:var(--blue);margin-bottom:8px;font-weight:600;}
.single-kinh-nghiem-hay .author-bio p{font-size:.95rem;color:var(--ink-2);margin:0 0 10px;}
.single-kinh-nghiem-hay .author-bio a{font-size:.9rem;font-weight:600;color:var(--navy);}
.single-kinh-nghiem-hay .author-bio a:hover{color:var(--blue);}
.single-kinh-nghiem-hay .share-bar{position:fixed;bottom:0;left:0;right:0;z-index:80;background:#fff;border-top:1px solid var(--line);
  display:none;justify-content:space-around;padding:10px 14px;box-shadow:0 -6px 20px rgba(15,41,66,.08);}
.single-kinh-nghiem-hay .share-bar a,
.single-kinh-nghiem-hay .share-bar button{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink-2);padding:8px 12px;}
.single-kinh-nghiem-hay .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.single-kinh-nghiem-hay .rel-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s, box-shadow .35s;}
.single-kinh-nghiem-hay .rel-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.single-kinh-nghiem-hay .rel-card img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.single-kinh-nghiem-hay .rel-card .cap{padding:18px 20px;}
.single-kinh-nghiem-hay .rel-card .badge{color:var(--navy);background:var(--blue-soft);margin-bottom:8px;}
.single-kinh-nghiem-hay .rel-card h3{font-size:1.04rem;margin:0;line-height:1.4;}
.single-kinh-nghiem-hay .rel-card:hover h3{color:var(--blue);}
.single-kinh-nghiem-hay .post-cta{background:var(--gradient);border-radius:var(--radius-lg);padding:44px;text-align:center;position:relative;overflow:hidden;}
.single-kinh-nghiem-hay .post-cta::before{content:"";position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);}
.single-kinh-nghiem-hay .post-cta h2{color:#fff;margin-bottom:10px;position:relative;}
.single-kinh-nghiem-hay .post-cta p{color:rgba(255,255,255,.9);max-width:520px;margin:0 auto 24px;position:relative;}
.single-kinh-nghiem-hay .post-cta .btn{position:relative;}
@media(max-width:980px){
.single-kinh-nghiem-hay .post-wrap{grid-template-columns:1fr;}
.single-kinh-nghiem-hay .post-side{position:static;order:-1;grid-template-columns:1fr;}
.single-kinh-nghiem-hay .side-author{display:none;}
.single-kinh-nghiem-hay .rel-grid{grid-template-columns:1fr;}
}
@media(max-width:680px){
.single-kinh-nghiem-hay .share-bar{display:flex;}
body{padding-bottom:60px;}
.single-kinh-nghiem-hay .author-bio{flex-direction:column;align-items:center;text-align:center;}
.single-kinh-nghiem-hay .post-cta{padding:30px 22px;}
}

/* ===== SERVICES PAGE  (scope: .ka-dichvu) — 129 page rules ===== */
.ka-dichvu .page-hero{position:relative;margin-top:70px;min-height:440px;display:flex;align-items:center;overflow:hidden;
  background:url('img/hero-2.jpg') center/cover no-repeat;}
.ka-dichvu .page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg, rgba(0,47,103,.88) 0%, rgba(17,88,137,.66) 55%, rgba(14,39,66,.4) 100%);}
.ka-dichvu .breadcrumb{display:flex;align-items:center;gap:10px;color:#bfd6ea;font-size:.85rem;margin-bottom:18px;}
.ka-dichvu .page-hero h1{color:#fff;max-width:760px;margin-bottom:14px;}
.ka-dichvu .page-hero .sub{color:#dbe8f4;font-size:1.12rem;max-width:560px;margin:0;}
.ka-dichvu .intro-lead{text-align:center;max-width:840px;margin:0 auto;}
.ka-dichvu .intro-lead .big{font-size:1.3rem;color:var(--ink);line-height:1.6;}
.ka-dichvu .intro-lead .big strong{color:var(--navy);}
.ka-dichvu .no3-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px;}
.ka-dichvu .no3-chip{
  display:inline-flex;
  align-items:center;
  gap: 4px;
  padding:12px 22px;
  border:1px solid var(--line);
  border-radius:99px;
  background:var(--bg-soft);
  font-weight:600;
  color:var(--navy-dark);
  font-size:.95rem;
  }
.ka-dichvu .no3-chip b{color:var(--blue);font-weight:700;}
.ka-dichvu .zz{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:96px;scroll-margin-top:110px;}
.ka-dichvu .zz:last-child{margin-bottom:0;}
.ka-dichvu .zz:nth-child(even) .zz-media{order:2;}
.ka-dichvu .zz-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg);}
.ka-dichvu .zz-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.ka-dichvu .zz-media:hover img{transform:scale(1.05);}
.ka-dichvu .zz-step{position:absolute;top:18px;left:18px;width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.92);
  display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--navy);box-shadow:var(--shadow-sm);}
.ka-dichvu .zz-text .eyebrow{margin-bottom:14px;}
.ka-dichvu .zz-text h2{margin-bottom:16px;}
.ka-dichvu .zz-text p{font-size:1.02rem;color:var(--ink-2);margin-bottom:20px;}
.ka-dichvu .zz-inc, .zz-inc{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px;}
.ka-dichvu .zz-inc li, .zz-inc li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--ink-2);}
.ka-dichvu .zz-inc .ck, .zz-inc .ck{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--blue-soft);color:var(--navy);
  display:grid;place-items:center;margin-top:1px;}
.ka-dichvu .zz-inc .ck svg, .zz-inc .ck svg{width:13px;height:13px;}
.ka-dichvu .prep{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius);
  padding:30px 34px;max-width:920px;margin:0 auto 64px;box-shadow:var(--shadow-sm);}
.ka-dichvu .prep h3{font-size:1.15rem;margin-bottom:6px;}
.ka-dichvu .prep .pp{color:var(--muted);font-size:.92rem;margin-bottom:18px;}
.ka-dichvu .prep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 32px;}
.ka-dichvu .prep-grid li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem;color:var(--ink-2);list-style:none;}
.ka-dichvu .prep-grid .d{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-top:9px;}
.ka-dichvu .prep-grid{padding:0;margin:0;}
.ka-dichvu .timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;position:relative;}
.ka-dichvu .tl-step{position:relative;padding-top:8px;}
.ka-dichvu .tl-num{font-family:var(--serif);font-weight:700;font-size:3.4rem;line-height:1;color:var(--navy);
  -webkit-text-stroke:0;display:inline-block;margin-bottom:6px;}
.ka-dichvu .tl-num .dot{color:var(--blue);}
.ka-dichvu .tl-bar{height:3px;background:var(--line);border-radius:3px;margin:10px 0 16px;position:relative;overflow:hidden;}
.ka-dichvu .tl-bar::after{content:"";position:absolute;inset:0;width:40%;background:var(--gradient);}
.ka-dichvu .tl-step h4{font-size:1.05rem;color:var(--navy-dark);margin-bottom:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.01em;}
.ka-dichvu .tl-step p{font-size:.9rem;color:var(--muted);margin:0;line-height:1.6;}
.ka-dichvu .std-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ka-dichvu .std-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);
  overflow:hidden;transition:background .3s,border-color .3s;}
.ka-dichvu .std-card[open]:not(.is-closing){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);}
.ka-dichvu .std-card summary{list-style:none;cursor:pointer;padding:26px 26px;display:flex;align-items:flex-start;gap:16px;}
.ka-dichvu .std-card summary::-webkit-details-marker{display:none;}
.ka-dichvu .std-ic, .std-ic{flex-shrink:0;width:50px;height:50px;border-radius:13px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#bfe0f5;}
.ka-dichvu .std-ic svg, .std-ic svg{width:25px;height:25px;}
.ka-dichvu .std-head{flex:1;}
.ka-dichvu .std-grp{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#8fb8d8;font-weight:600;margin-bottom:4px;}
.ka-dichvu .std-card h3{color:#fff;font-size:1.12rem;margin:0;line-height:1.25;}
.ka-dichvu .std-count{font-size:.82rem;color:#bfe0f5;margin-top:6px;font-weight:500;}
.ka-dichvu .std-tog{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:transparent !important;
  display:grid;place-items:center;transition:transform .3s, background .3s;position:relative;}
.ka-dichvu .std-tog::before,
.ka-dichvu .std-tog::after{content:"";position:absolute;background:#fff;border-radius:1px;left:50%;top:50%;transform:translate(-50%, -50%);transition:transform .3s;}
.ka-dichvu .std-tog::before{width:12px;height:1.5px;}
.ka-dichvu .std-tog::after{width:1.5px;height:12px;}
.ka-dichvu .std-card[open]:not(.is-closing) .std-tog{background:var(--blue);border-color:var(--blue);}
.ka-dichvu .std-card[open]:not(.is-closing) .std-tog::before,
.ka-dichvu .std-card[open]:not(.is-closing) .std-tog::after{transform:translate(-50%, -50%) rotate(45deg);}
.ka-dichvu .std-body{padding:0 26px 26px 92px;}
.ka-dichvu .std-body ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.ka-dichvu .std-body li{position:relative;padding-left:20px;font-size:.92rem;color:#d6e6f3;line-height:1.55;}
.ka-dichvu .std-body li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--blue);}
.ka-dichvu .std-cta{text-align:center;margin-top:48px;}
.ka-dichvu .std-cta .btn--white{box-shadow:0 8px 22px rgba(0,0,0,.2);}
.ka-dichvu .price-note{max-width:760px;margin:0 auto 40px;text-align:center;color:var(--muted);font-size:1rem;}
.ka-dichvu .price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:980px;margin:0 auto;}
.ka-dichvu .price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.ka-dichvu .price-card .ph{padding:22px 28px;background:var(--gradient-dk);color:#fff;display:flex;align-items:center;gap:12px;}
.ka-dichvu .price-card .ph .pk{font-family:var(--serif);font-weight:700;font-size:1.6rem;opacity:.6;}
.ka-dichvu .price-card .ph h3{color:#fff;margin:0;font-size:1.15rem;}
.ka-dichvu .price-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 28px;border-bottom:1px solid var(--line);}
.ka-dichvu .price-row:last-child{border-bottom:none;}
.ka-dichvu .price-row .lbl{color:var(--ink-2);font-size:.98rem;max-width:60%;}
.ka-dichvu .price-row .val{font-family:var(--h-font);font-weight:800;color:var(--navy);font-size:1.4rem;white-space:nowrap;}
.ka-dichvu .price-row .val small{font-size:.8rem;color:var(--muted);font-weight:600;}
.ka-dichvu .price-cta{text-align:center;margin-top:40px;}
.ka-dichvu .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.ka-dichvu .why-card{padding:32px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  transition:transform .35s,box-shadow .35s,border-color .35s;position:relative;overflow:hidden;}
.ka-dichvu .why-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.ka-dichvu .why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.ka-dichvu .why-card:hover::before{transform:scaleX(1);}
.ka-dichvu .why-icon, .why-icon{width:56px;height:56px;border-radius:14px;background:var(--blue-soft);display:grid;place-items:center;margin-bottom:18px;color:var(--navy);transition:background .3s,color .3s;}
.ka-dichvu .why-card:hover .why-icon, .why-card:hover .why-icon{background:var(--gradient);color:#fff;}
.ka-dichvu .why-icon svg, .why-icon svg{width:26px;height:26px;}
.ka-dichvu .why-card h3{font-size:1.08rem;margin-bottom:8px;}
.ka-dichvu .why-card p{font-size:.92rem;color:var(--muted);margin:0;}
.ka-dichvu .faq{max-width:860px;margin:0 auto;}
.ka-dichvu .faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;overflow:hidden;transition:box-shadow .3s,border-color .3s;}
.ka-dichvu .faq-item[open]:not(.is-closing){box-shadow:var(--shadow-sm);border-color:var(--blue);}
.ka-dichvu .faq-item summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-family:var(--h-font);font-weight:600;color:var(--navy-dark);font-size:1.05rem;}
.ka-dichvu .faq-item summary::-webkit-details-marker{display:none;}
.ka-dichvu .faq-item .q-ic{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:transparent !important;display:grid;place-items:center;transition:transform .3s,background .3s,color .3s;position:relative;}
.ka-dichvu .faq-item .q-ic::before,
.ka-dichvu .faq-item .q-ic::after{content:"";position:absolute;background:var(--navy);border-radius:1px;left:50%;top:50%;transform:translate(-50%, -50%);transition:transform .3s, background .3s;}
.ka-dichvu .faq-item .q-ic::before{width:12px;height:1.5px;}
.ka-dichvu .faq-item .q-ic::after{width:1.5px;height:12px;}
.ka-dichvu .faq-item[open]:not(.is-closing) .q-ic{background:var(--gradient);}
.ka-dichvu .faq-item[open]:not(.is-closing) .q-ic::before,
.ka-dichvu .faq-item[open]:not(.is-closing) .q-ic::after{transform:translate(-50%, -50%) rotate(45deg);background:#fff;}
.ka-dichvu .faq-item .ans{padding:0 26px 24px;color:var(--ink-2);font-size:.98rem;line-height:1.7;}
.ka-dichvu .cta-banner{background:var(--gradient);border-radius:var(--radius-lg);padding:56px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;position:relative;overflow:hidden;}
.ka-dichvu .cta-banner::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08);}
.ka-dichvu .cta-banner::after{content:"";position:absolute;left:-60px;bottom:-100px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.06);}
.ka-dichvu .cta-text{position:relative;z-index:2;}
.ka-dichvu .cta-text .eyebrow{color:#fff;background:rgba(255,255,255,.18);}
.ka-dichvu .cta-text h2{color:#fff;margin-bottom:12px;}
.ka-dichvu .cta-text p{color:rgba(255,255,255,.88);margin:0;}
.ka-dichvu .cta-form{position:relative;z-index:2;background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-lg);}
.ka-dichvu .cta-form .fr{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ka-dichvu .cta-form .field{margin-bottom:14px;}
.ka-dichvu .cta-form .field.full{grid-column:1 / -1;}
.ka-dichvu .cta-form label{display:block;font-size:.8rem;font-weight:600;color:var(--navy-dark);margin-bottom:6px;}
.ka-dichvu .cta-form input,
.ka-dichvu .cta-form select{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.95rem;color:var(--ink);transition:border-color .2s,box-shadow .2s;background:#fff;}
.ka-dichvu .cta-form input:focus,
.ka-dichvu .cta-form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,114,178,.12);}
.ka-dichvu .cta-form .btn{width:100%;justify-content:center;margin-top:6px;}
.ka-dichvu .cta-form .note{font-size:.75rem;color:var(--muted);text-align:center;margin:10px 0 0;}
.ka-dichvu .footer-col ul li{margin-bottom:12px;font-size:.92rem;display:flex;align-items:flex-start;gap:12px;color:#9bb1c7;}
.ka-dichvu .footer-col ul li a{color:inherit;transition:color .2s;display:inline-flex;align-items:flex-start;gap:12px;}
@media(max-width:1024px){
.ka-dichvu .zz{grid-template-columns:1fr;gap:32px;margin-bottom:64px;}
.ka-dichvu .zz:nth-child(even) .zz-media{order:0;}
.ka-dichvu .std-grid{grid-template-columns:repeat(2,1fr);}
.ka-dichvu .std-body{padding-left:26px;}
.ka-dichvu .why-grid{grid-template-columns:repeat(2,1fr);}
.ka-dichvu .timeline{grid-template-columns:repeat(2,1fr);gap:32px 22px;}
.ka-dichvu .cta-banner{grid-template-columns:1fr;padding:40px;}
}
@media(max-width:680px){
.ka-dichvu .price-grid{grid-template-columns:1fr;}
.ka-dichvu .std-grid{grid-template-columns:1fr;}
.ka-dichvu .why-grid{grid-template-columns:1fr;}
.ka-dichvu .timeline{grid-template-columns:1fr;}
.ka-dichvu .prep-grid{grid-template-columns:1fr;}
.ka-dichvu .cta-form .fr{grid-template-columns:1fr;}
.ka-dichvu .cta-banner{padding:28px 22px;}
}

/* ===== CONTACT PAGE  (scope: .ka-lienhe) — 72 page rules ===== */
.ka-lienhe .page-hero.ph-contact{background-image:url('img/g7.jpg');min-height:360px;}
.ka-lienhe .contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start;}
.ka-lienhe .ci-list{display:grid;gap:18px;margin-bottom:28px;}
.ka-lienhe .ci-item{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;transition:box-shadow .3s, border-color .3s;}
.ka-lienhe .ci-item:hover{box-shadow:var(--shadow-sm);border-color:var(--blue);}
.ka-lienhe .ci-ic{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;}
.ka-lienhe .ci-ic svg{width:22px;height:22px;}
.ka-lienhe .ci-item .k{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:3px;}
.ka-lienhe .ci-item .v{font-weight:600;color:var(--navy-dark);font-size:1.02rem;}
.ka-lienhe .ci-item .v a:hover{color:var(--blue);}
.ka-lienhe .contact-socials{display:flex;gap:10px;margin-bottom:18px;}
.ka-lienhe .contact-socials a{width:44px;height:44px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--line);display:grid;place-items:center;color:var(--navy);transition:.25s;}
.ka-lienhe .contact-socials a:hover{background:var(--gradient);color:#fff;border-color:transparent;transform:translateY(-2px);}
.ka-lienhe .zalo-big{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px;background:#0068FF;color:#fff;border-radius:var(--radius);font-weight:700;font-size:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px rgba(0,104,255,.3);}
.ka-lienhe .zalo-big:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,104,255,.4);}
.ka-lienhe .contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-sm);}
.ka-lienhe .contact-form h2{font-size:1.5rem;margin-bottom:6px;}
.ka-lienhe .contact-form .fdesc{color:var(--muted);font-size:.95rem;margin-bottom:24px;}
.ka-lienhe .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ka-lienhe .field{margin-bottom:16px;}
.ka-lienhe .field.full{grid-column:1 / -1;}
.ka-lienhe .field label{display:block;font-size:.82rem;font-weight:600;color:var(--navy-dark);margin-bottom:6px;}
.ka-lienhe .field label .req{color:#d23;}
.ka-lienhe .field input,
.ka-lienhe .field select,
.ka-lienhe .field textarea{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.95rem;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;}
.ka-lienhe .field textarea{resize:vertical;min-height:96px;}
.ka-lienhe .field input:focus,
.ka-lienhe .field select:focus,
.ka-lienhe .field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,114,178,.12);}
.ka-lienhe .check{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--ink-2);margin-bottom:18px;}
.ka-lienhe .check input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy);}
.ka-lienhe .contact-form .btn{width:100%;justify-content:center;}

/* Contact Form 7 Styles compatibility */
.ka-lienhe .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.ka-lienhe .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
  display: block;
}
.ka-lienhe .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .9rem;
  color: var(--ink-2);
  margin-bottom: 18px;
  cursor: pointer;
}
.ka-lienhe .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--navy);
  flex-shrink: 0;
}
.ka-lienhe .contact-form .wpcf7-submit {
  width: 100%;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  padding: 14px 28px;
  background: var(--gradient);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform .25s, box-shadow .25s;
}
.ka-lienhe .contact-form .wpcf7-submit:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.ka-lienhe .fnote{font-size:.82rem;color:var(--muted);text-align:center;margin:12px 0 0;}
.ka-lienhe .map-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:28px;}
.ka-lienhe .map-tab{padding:11px 22px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:.92rem;font-weight:600;transition:.22s;}
.ka-lienhe .map-tab:hover{border-color:var(--blue);color:var(--navy);}
.ka-lienhe .map-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.ka-lienhe .map-panel{display:grid;grid-template-columns:7fr 5fr;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.ka-lienhe .map-frame{min-height:380px;}
.ka-lienhe .map-frame iframe{width:100%;height:100%;border:0;display:block;}
.ka-lienhe .map-info{padding:36px;background:#fff;display:flex;flex-direction:column;justify-content:center;}
.ka-lienhe .map-info .badge{display:inline-block;align-self:flex-start;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);background:var(--blue-soft);padding:6px 13px;border-radius:8px;margin-bottom:14px;}
.ka-lienhe .map-info h3{margin-bottom:10px;}
.ka-lienhe .map-info p{color:var(--ink-2);margin-bottom:18px;}
.ka-lienhe .map-info .row{display:flex;gap:10px;align-items:center;color:var(--ink-2);font-size:.95rem;margin-bottom:10px;}
.ka-lienhe .map-info .row .ico{color:var(--blue);flex-shrink:0;}
.ka-lienhe .map-pane{display:none;}
.ka-lienhe .map-pane.active{display:block;}
.ka-lienhe .faq{max-width:860px;margin:0 auto;}
.ka-lienhe .faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;overflow:hidden;transition:box-shadow .3s,border-color .3s;}
.ka-lienhe .faq-item[open]:not(.is-closing){box-shadow:var(--shadow-sm);border-color:var(--blue);}
.ka-lienhe .faq-item summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-family:var(--h-font);font-weight:600;color:var(--navy-dark);font-size:1.05rem;}
.ka-lienhe .faq-item summary::-webkit-details-marker{display:none;}
.ka-lienhe .faq-item .q-ic{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:transparent !important;display:grid;place-items:center;transition:transform .3s,background .3s,color .3s;position:relative;}
.ka-lienhe .faq-item .q-ic::before,
.ka-lienhe .faq-item .q-ic::after{content:"";position:absolute;background:var(--navy);border-radius:1px;left:50%;top:50%;transform:translate(-50%, -50%);transition:transform .3s, background .3s;}
.ka-lienhe .faq-item .q-ic::before{width:12px;height:1.5px;}
.ka-lienhe .faq-item .q-ic::after{width:1.5px;height:12px;}
.ka-lienhe .faq-item[open]:not(.is-closing) .q-ic{background:var(--gradient);}
.ka-lienhe .faq-item[open]:not(.is-closing) .q-ic::before,
.ka-lienhe .faq-item[open]:not(.is-closing) .q-ic::after{transform:translate(-50%, -50%) rotate(45deg);background:#fff;}
.ka-lienhe .faq-item .ans{padding:0 26px 24px;color:var(--ink-2);font-size:.98rem;line-height:1.7;}
.ka-lienhe .cta3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ka-lienhe .cta3 a{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 28px;text-align:center;transition:transform .35s,box-shadow .35s,border-color .35s;}
.ka-lienhe .cta3 a:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.ka-lienhe .cta3 .ic{width:60px;height:60px;border-radius:16px;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;margin:0 auto 16px;transition:background .3s,color .3s;}
.ka-lienhe .cta3 a:hover .ic{background:var(--gradient);color:#fff;}
.ka-lienhe .cta3 .ic svg{width:28px;height:28px;}
.ka-lienhe .cta3 h3{font-size:1.12rem;margin-bottom:6px;}
.ka-lienhe .cta3 p{color:var(--muted);font-size:.9rem;margin:0;}
@media(max-width:1024px){
.ka-lienhe .contact-grid{grid-template-columns:1fr;}
.ka-lienhe .map-panel{grid-template-columns:1fr;}
.ka-lienhe .map-frame{min-height:300px;}
.ka-lienhe .cta3{grid-template-columns:1fr;}
}
@media(max-width:680px){
.ka-lienhe .fgrid{grid-template-columns:1fr;}
.ka-lienhe .contact-form{padding:26px 22px;}
.ka-lienhe .map-info{padding:26px 22px;}
}

/* ===== CONVERSION ADD-ONS (not from source) — global ===== */
.footer-note{color:#9bb1c7;font-size:.92rem;margin-bottom:14px;}
.footer-cta-btn{margin-bottom:12px;}
.nav .nav-list{display:contents;}
.nav .nav-list li{list-style:none;margin:0;}
.nav .current-menu-item>a,.nav .current_page_item>a,.nav .current-menu-parent>a{color:var(--navy);}
.nav .current-menu-item>a::after,.nav .current_page_item>a::after{width:100%;}
@supports(-webkit-touch-callout:none){.home .hero{min-height:-webkit-fill-available;}}

/* ===== CONTACT FORM 7 STATUS NOTIFICATION STYLES ===== */
.wpcf7-response-output {
  margin: 20px 0 0 !important;
  padding: 14px 20px !important;
  border-radius: 10px !important;
  font-family: var(--body-font), "Be Vietnam Pro", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  line-height: 1.5 !important;
  border: 1px solid transparent !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

/* Success status alert styling */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7-response-output.wpcf7-mail-sent-ok {
  background-color: #e6f6ec !important;
  border-color: #b3e6c4 !important;
  color: #155724 !important;
}

/* Failed status alert styling */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7-response-output.wpcf7-mail-sent-ng {
  background-color: #fdf2f2 !important;
  border-color: #f8b4b4 !important;
  color: #9b1c1c !important;
}

/* Validation errors alert styling */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7-response-output.wpcf7-validation-errors {
  background-color: #fffbeb !important;
  border-color: #fde68a !important;
  color: #92400e !important;
}


/* ============================================================
   SMART LAYOUT FOR PROJECT DETAIL (cpt: thiet-ke)
   ============================================================ */
.single-thiet-ke .project-content {
    width: 100%;
}
/* Default Gutenberg blocks / paragraphs / headings constraint */
.single-thiet-ke .project-content > p,
.single-thiet-ke .project-content > h1,
.single-thiet-ke .project-content > h2,
.single-thiet-ke .project-content > h3,
.single-thiet-ke .project-content > h4,
.single-thiet-ke .project-content > h5,
.single-thiet-ke .project-content > h6,
.single-thiet-ke .project-content > ul,
.single-thiet-ke .project-content > ol,
.single-thiet-ke .project-content > blockquote,
.single-thiet-ke .project-content > .wp-block-group {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
/* Full-bleed sections & containers */
.single-thiet-ke .project-content > section,
.single-thiet-ke .project-content > div.section,
.single-thiet-ke .project-content > .alignfull {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* ============================================================
   COMMENTS STYLING
   ============================================================ */
.comment-list {
    margin: 32px 0;
    padding: 0;
    list-style: none;
}
.comment-list .comment {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
    list-style-type: none;
}
.comment-list .comment:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.comment-body {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.comment-body .avatar {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    object-fit: cover;
    background: var(--blue-soft);
    border: 1px solid var(--line);
    flex-shrink: 0;
}
.comment-meta {
    font-size: .88rem;
    color: var(--muted);
    margin-bottom: 6px;
}
.comment-author {
    font-weight: 700;
    color: var(--navy-dark);
    margin-right: 8px;
}
.comment-metadata a {
    color: var(--muted);
}
.comment-metadata a:hover {
    color: var(--blue);
}
.comment-content {
    font-size: .96rem;
    line-height: 1.6;
    color: var(--ink-2);
}
.comment-content p {
    margin-bottom: 8px;
}
.comment-content p:last-child {
    margin-bottom: 0;
}
.reply {
    margin-top: 8px;
}
.comment-reply-link {
    display: inline-flex;
    align-items: center;
    font-size: .84rem;
    font-weight: 600;
    color: var(--blue);
    transition: color .2s;
}
.comment-reply-link:hover {
    color: var(--navy-dark);
}

/* Nested replies indent */
.comment-list .children {
    list-style: none;
    margin: 20px 0 0 68px;
    padding: 0;
}
@media (max-width: 680px) {
    .comment-body {
        gap: 12px;
    }
    .comment-list .children {
        margin-left: 20px;
    }
}

/* Comment Reply Form customization */
.comment-respond {
    background: var(--bg-soft);
    padding: 32px;
    border-radius: var(--radius);
    border: 1px solid var(--line);
    margin-top: 32px;
}


/* ============================================================
   SMART LAYOUT FOR PROJECT DETAIL (cpt: thiet-ke)
   ============================================================ */
.single-thiet-ke .project-content {
    width: 100%;
}
/* Default Gutenberg blocks / paragraphs / headings constraint */
.single-thiet-ke .project-content > p,
.single-thiet-ke .project-content > h1,
.single-thiet-ke .project-content > h2,
.single-thiet-ke .project-content > h3,
.single-thiet-ke .project-content > h4,
.single-thiet-ke .project-content > h5,
.single-thiet-ke .project-content > h6,
.single-thiet-ke .project-content > ul,
.single-thiet-ke .project-content > ol,
.single-thiet-ke .project-content > blockquote,
.single-thiet-ke .project-content > .wp-block-group {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
/* Full-bleed sections & containers */
.single-thiet-ke .project-content > section,
.single-thiet-ke .project-content > div.section,
.single-thiet-ke .project-content > .alignfull {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* ============================================================
   COMMENTS STYLING
   ============================================================ */
.comment-list {
    margin: 32px 0;
    padding: 0;
    list-style: none;
}
.comment-list .comment {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
    list-style-type: none;
}
.comment-list .comment:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.comment-body {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.comment-body .avatar {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    object-fit: cover;
    background: var(--blue-soft);
    border: 1px solid var(--line);
    flex-shrink: 0;
}
.comment-meta {
    font-size: .88rem;
    color: var(--muted);
    margin-bottom: 6px;
}
.comment-author {
    font-weight: 700;
    color: var(--navy-dark);
    margin-right: 8px;
}
.comment-metadata a {
    color: var(--muted);
}
.comment-metadata a:hover {
    color: var(--blue);
}
.comment-content {
    font-size: .96rem;
    line-height: 1.6;
    color: var(--ink-2);
}
.comment-content p {
    margin-bottom: 8px;
}
.comment-content p:last-child {
    margin-bottom: 0;
}
.reply {
    margin-top: 8px;
}
.comment-reply-link {
    display: inline-flex;
    align-items: center;
    font-size: .84rem;
    font-weight: 600;
    color: var(--blue);
    transition: color .2s;
}
.comment-reply-link:hover {
    color: var(--navy-dark);
}

/* Nested replies indent */
.comment-list .children {
    list-style: none;
    margin: 20px 0 0 68px;
    padding: 0;
}
@media (max-width: 680px) {
    .comment-body {
        gap: 12px;
    }
    .comment-list .children {
        margin-left: 20px;
    }
}

/* Comment Reply Form customization */
.comment-respond {
    background: var(--bg-soft);
    padding: 32px;
    border-radius: var(--radius);
    border: 1px solid var(--line);
    margin-top: 32px;
}
.comment-reply-title {
    font-size: 1.3rem;
    font-family: var(--h-font);
    color: var(--navy-dark);
    margin-bottom: 20px;
    font-weight: 700;
}
#cancel-comment-reply-link {
    font-size: .85rem;
    color: #e00;
    font-weight: 500;
    margin-left: 10px;
    text-decoration: underline;
}

.comment-form-wrapper input[type="text"],
.comment-form-wrapper input[type="email"],
.comment-form-wrapper textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1.5px solid var(--line);
    border-radius: 10px;
    background: #fff;
    font-family: inherit;
    font-size: .95rem;
    transition: border-color .2s, box-shadow .2s;
}
.comment-form-wrapper textarea {
    height: 120px;
    resize: vertical;
}
.comment-form-wrapper input[type="text"]:focus,
.comment-form-wrapper input[type="email"]:focus,
.comment-form-wrapper textarea:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(41,114,178,.12);
}

/* ============================================================
   BENTO GRID UI FOR PORTFOLIO ARCHIVE (.ka-thietke-archive)
   ============================================================ */
.ka-thietke-archive .proj-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 260px;
  gap: 20px;
  grid-auto-flow: dense;
}
.ka-thietke-archive .proj-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  display: block;
  height: 100%;
  margin-bottom: 0 !important;
  box-shadow: 0 2px 12px rgba(0,30,60,.08);
  border: 1px solid rgba(0,30,60,.06);
  transition: box-shadow .4s ease, transform .4s ease, border-color .4s ease;
}
.ka-thietke-archive .proj-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,30,60,.16);
  border-color: transparent;
}
.ka-thietke-archive .proj-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.25,.46,.45,.94);
}
.ka-thietke-archive .proj-card:hover img {
  transform: scale(1.08);
}

/* Overlay gradient – positioned at bottom for all card sizes */
.ka-thietke-archive .proj-card .ov {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Bento grid spans */
.ka-thietke-archive .proj-card.large {
  grid-column: span 2;
  grid-row: span 2;
}
.ka-thietke-archive .proj-card.tall {
  grid-row: span 2;
}
.ka-thietke-archive .proj-card.wide {
  grid-column: span 2;
}

/* Responsive bento layouts */
@media(max-width: 1024px) {
  .ka-thietke-archive .proj-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 220px;
    gap: 16px;
    grid-auto-flow: dense;
  }
  .ka-thietke-archive .proj-card.large {
    grid-column: span 2;
    grid-row: span 2;
  }
  .ka-thietke-archive .proj-card.tall {
    grid-row: span 2;
  }
  .ka-thietke-archive .proj-card.wide {
    grid-column: span 2;
  }
}
@media(max-width: 680px) {
  .ka-thietke-archive .proj-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
    gap: 16px;
  }
  .ka-thietke-archive .proj-card.large,
  .ka-thietke-archive .proj-card.wide {
    grid-column: span 1;
    grid-row: span 1;
  }
  .ka-thietke-archive .proj-card.tall {
    grid-row: span 1;
  }
}
