/* KHUNG. Design & Build — "Bộ bản vẽ sống". Token trong tokens.css. */
/* ---------- Font tự host: subset latin + vietnamese ---------- */
@font-face{font-family:"Be Vietnam Pro";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/bevn-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/bevn-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/bevn-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/bevn-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Archivo biến thiên (wght 400–800, wdth 100–125 cho số liệu lớn) — có glyph tiếng Việt */
@font-face{font-family:"Archivo";font-weight:400 800;font-stretch:100% 125%;font-style:normal;font-display:swap;src:url(../fonts/archivo-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Archivo";font-weight:400 800;font-stretch:100% 125%;font-style:normal;font-display:swap;src:url(../fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-weight:400 500;font-style:normal;font-display:swap;src:url(../fonts/plexmono-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"IBM Plex Mono";font-weight:400 500;font-style:normal;font-display:swap;src:url(../fonts/plexmono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Nền tảng ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--kh-hd) + 16px)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--kh-paper);color:var(--kh-ink);font:400 var(--kh-fs-md)/var(--kh-lh-body) var(--kh-font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:linear-gradient(var(--kh-grid) 1px,transparent 1px),linear-gradient(90deg,var(--kh-grid) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}
img,video,svg,iframe{max-width:100%;height:auto;display:block}
img{background:var(--kh-paper-2)}
a{color:var(--kh-blue);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--kh-orange-d)}
h1,h2,h3,h4{font-family:var(--kh-font-head);font-weight:600;line-height:var(--kh-lh-head);margin:0 0 .5em;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:var(--kh-fs-h1);font-weight:700}
h1 em,h2 em,.kh-h2 em{font-style:normal;color:var(--kh-blue)}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
strong{font-weight:600}
:focus-visible{outline:2px solid var(--kh-orange);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kh-skip{position:absolute;left:-999px;top:8px;background:var(--kh-ink);color:var(--kh-paper);padding:10px 16px;z-index:300;border-radius:var(--kh-r)}
.kh-skip:focus{left:8px}
.kh-wrap{width:100%;max-width:var(--kh-wrap);margin-inline:auto;padding-inline:var(--kh-gutter)}
.kh-wrap--narrow{max-width:calc(var(--kh-wrap-narrow) + 2*var(--kh-gutter))}
.kh-sec{padding:var(--kh-sec) 0;position:relative}
.kh-sec--tight{padding:var(--kh-s10) 0}
.kh-sec--alt{background:var(--kh-paper-2)}
.kh-sec--dark{background:var(--kh-ink);color:var(--kh-paper)}
.kh-sec--dark a{color:#9FB4D6}
.kh-sec--dark a:hover{color:var(--kh-orange)}
/* texture bê tông mài rất nhẹ trên nền tối */
.kh-sec--dark::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.kh-sec--dark>*{position:relative}
.kh-mt{margin-top:var(--kh-s8)}
.kh-mono{font-family:var(--kh-font-mono);font-size:.92em;letter-spacing:0}
.kh-two{display:grid;gap:var(--kh-s8)}
@media(min-width:900px){.kh-two{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:var(--kh-s12)}}
.kh-two>*,.kh-grid>*,.kh-contact>*,.kh-quote__in>*,.kh-article__grid>*,.kh-est-wrap>*{min-width:0}
.kh-grid{display:grid;gap:var(--kh-s6)}
@media(min-width:640px){.kh-grid--2,.kh-grid--3,.kh-grid--4,.kh-grid--pj{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.kh-grid--3,.kh-grid--pj{grid-template-columns:repeat(3,1fr)}.kh-grid--4{grid-template-columns:repeat(4,1fr)}}
.kh-more{margin:var(--kh-s10) 0 0;text-align:center;display:flex;flex-wrap:wrap;gap:var(--kh-s3);justify-content:center}
.kh-note{font-size:var(--kh-fs-sm);color:var(--kh-ink-3);margin-top:var(--kh-s5)}
.kh-sec--dark .kh-note{color:var(--kh-concrete-2)}

/* nhãn số hiệu bản vẽ, tiêu đề khối */
.kh-tag{display:inline-block;font:500 11px/1 var(--kh-font-mono);letter-spacing:.08em;padding:5px 7px 4px;border:1px solid var(--kh-ink);color:var(--kh-ink);border-radius:var(--kh-r);margin-right:10px;vertical-align:middle;background:var(--kh-white)}
.kh-tag--light,.kh-sec--dark .kh-tag,.kh-head--light .kh-tag{border-color:var(--kh-concrete-2);color:var(--kh-paper);background:transparent}
.kh-eyebrow{font:600 var(--kh-fs-xs)/1.4 var(--kh-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--kh-blue);margin:0 0 var(--kh-s4);display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}
.kh-eyebrow--light,.kh-sec--dark .kh-eyebrow,.kh-head--light .kh-eyebrow{color:var(--kh-concrete-2)}
.kh-h2{font-size:var(--kh-fs-h2)}
.kh-h3{font-size:var(--kh-fs-h3)}
.kh-head{max-width:780px;margin:0 0 var(--kh-s10);position:relative}
.kh-head .kh-h2{margin-bottom:.35em}
.kh-lead{font-size:var(--kh-fs-lg);color:var(--kh-ink-2);max-width:64ch;text-wrap:pretty}
.kh-head--light .kh-lead,.kh-sec--dark .kh-lead{color:var(--kh-concrete)}
.kh-head--light em,.kh-sec--dark em{color:var(--kh-orange)}
.kh-num{display:block;font:700 var(--kh-fs-num)/1 var(--kh-font-head);font-stretch:125%;letter-spacing:-.02em;color:var(--kh-ink)}

/* khung góc đánh dấu (khung tên bản vẽ) */
.kh-corners{position:relative;background:var(--kh-white);border:var(--kh-bw) solid var(--kh-line-2);border-radius:var(--kh-r)}
.kh-corners::before,.kh-corners::after{content:"";position:absolute;width:10px;height:10px;border:1.5px solid var(--kh-ink);pointer-events:none;z-index:2}
.kh-corners::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.kh-corners::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.kh-sec--dark .kh-corners{background:rgba(255,255,255,.04);border-color:rgba(244,243,238,.25)}
.kh-sec--dark .kh-corners::before,.kh-sec--dark .kh-corners::after{border-color:var(--kh-concrete)}

/* nút — bo 2px, không bóng mềm, vùng chạm ≥44px */
.kh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:var(--kh-r);background:var(--kh-ink);color:var(--kh-paper);border:1px solid var(--kh-ink);font:600 .95rem/1.2 var(--kh-font-body);text-decoration:none;cursor:pointer;transition:background var(--kh-t-fast),color var(--kh-t-fast),border-color var(--kh-t-fast),transform var(--kh-t-fast)}
.kh-btn:hover{background:var(--kh-blue-d);border-color:var(--kh-blue-d);color:#fff}
.kh-btn:active{transform:translate(1px,1px)}
.kh-btn--orange{background:var(--kh-orange);border-color:var(--kh-orange);color:#fff;box-shadow:var(--kh-shadow-hard)}
.kh-btn--orange:hover{background:var(--kh-orange-d);border-color:var(--kh-orange-d)}
.kh-btn--orange:active{box-shadow:2px 2px 0 var(--kh-ink)}
.kh-btn--line{background:transparent;color:var(--kh-ink);border-color:var(--kh-ink)}
.kh-btn--line:hover{background:var(--kh-ink);color:var(--kh-paper)}
.kh-btn--light{background:var(--kh-paper);color:var(--kh-ink);border-color:var(--kh-paper)}
.kh-btn--light:hover{background:#fff;border-color:#fff;color:var(--kh-ink)}
.kh-btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.kh-btn--ghost:hover{background:rgba(255,255,255,.1);color:inherit;border-color:currentColor}
.kh-btn--sm{min-height:44px;padding:8px 16px;font-size:.88rem}
.kh-btn--block{display:flex;width:100%;margin-top:var(--kh-s3)}
.kh-link{background:none;border:0;padding:0;color:var(--kh-blue);text-decoration:underline;cursor:pointer;font:inherit;min-height:44px;display:inline-flex;align-items:center}
.kh-link-arrow{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.kh-link-arrow::after{content:"→";transition:transform var(--kh-t-fast)}
.kh-link-arrow:hover::after{transform:translateX(4px)}

/* ---------- Header ---------- */
.kh-hd{position:sticky;top:0;z-index:100;background:rgba(244,243,238,.96);border-bottom:1px solid var(--kh-line)}
@supports(backdrop-filter:blur(8px)){.kh-hd{backdrop-filter:blur(8px)}}
.kh-hd__in{display:flex;align-items:center;justify-content:space-between;height:var(--kh-hd);gap:var(--kh-s4)}
.kh-logo{display:inline-flex;align-items:center;gap:10px;color:var(--kh-ink);text-decoration:none}
.kh-logo b{display:block;font:800 1.35rem/1 var(--kh-font-head);letter-spacing:-.02em}
.kh-logo b i{font-style:normal;color:var(--kh-orange)}
.kh-logo small{display:block;font:500 .62rem/1.2 var(--kh-font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--kh-ink-3);margin-top:3px}
.kh-logo--light,.kh-logo--light small{color:var(--kh-paper)}
.kh-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;background:none;border:1px solid var(--kh-ink);border-radius:var(--kh-r);cursor:pointer}
.kh-burger i{display:block;height:1.5px;background:var(--kh-ink);transition:transform var(--kh-t),opacity var(--kh-t)}
.kh-burger[aria-expanded=true] i:nth-child(2){transform:translateY(6.5px) rotate(45deg)}
.kh-burger[aria-expanded=true] i:nth-child(3){opacity:0}
.kh-burger[aria-expanded=true] i:nth-child(4){transform:translateY(-6.5px) rotate(-45deg)}
.kh-nav{position:fixed;top:var(--kh-hd);left:0;right:0;bottom:0;background:var(--kh-paper);padding:var(--kh-s4) var(--kh-gutter) calc(var(--kh-cta-h) + 24px);overflow:auto;visibility:hidden;opacity:0;transition:opacity var(--kh-t),visibility var(--kh-t)}
.kh-nav.is-open{visibility:visible;opacity:1}
.kh-nav>ul{list-style:none}
.kh-nav>ul>li{border-bottom:1px solid var(--kh-line);display:flex;flex-wrap:wrap;align-items:center}
.kh-nav>ul>li>a{flex:1;display:block;padding:14px 0;color:var(--kh-ink);text-decoration:none;font:600 1.05rem/1.3 var(--kh-font-head)}
.kh-nav__tg{width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
.kh-nav__tg::before{content:"";position:absolute;top:16px;left:17px;width:9px;height:9px;border-right:1.5px solid var(--kh-ink);border-bottom:1.5px solid var(--kh-ink);transform:rotate(45deg);transition:transform var(--kh-t)}
.kh-nav__tg[aria-expanded=true]::before{transform:rotate(-135deg);top:20px}
.kh-sub{list-style:none;flex-basis:100%;display:none;padding:0 0 10px 12px}
.kh-nav__tg[aria-expanded=true]+.kh-sub{display:block}
.kh-sub a{display:block;padding:10px 0;color:var(--kh-ink-2);text-decoration:none;font-size:.95rem}
.kh-sub a:hover{color:var(--kh-orange-d)}
.kh-nav__extra{display:grid;gap:var(--kh-s3);margin-top:var(--kh-s5)}
.kh-search{display:flex;border:1px solid var(--kh-ink);border-radius:var(--kh-r);background:var(--kh-white);overflow:hidden}
.kh-search input{flex:1;min-width:0;border:0;padding:0 12px;min-height:44px;font:inherit;background:transparent;color:var(--kh-ink)}
.kh-search button{border:0;background:var(--kh-ink);color:var(--kh-paper);width:44px;cursor:pointer;display:grid;place-items:center}
.kh-search--big{max-width:620px;margin:var(--kh-s4) 0 0}
.kh-search--big input{min-height:48px;font-size:1rem}
.kh-search--big .kh-btn{border-radius:0;width:auto;box-shadow:none}
.kh-nav__tel{text-decoration:none;color:var(--kh-ink);font-weight:500;display:inline-flex;align-items:center;min-height:44px}
@media(min-width:1024px){
  .kh-burger{display:none}
  .kh-nav{position:static;visibility:visible;opacity:1;padding:0;overflow:visible;background:none;display:flex;align-items:center;gap:var(--kh-s5);flex:1;justify-content:flex-end}
  .kh-nav>ul{display:flex;gap:2px;align-items:center}
  .kh-nav>ul>li{border:0;position:relative}
  .kh-nav>ul>li>a{padding:8px 7px;font:500 .86rem/1.3 var(--kh-font-body);white-space:nowrap}
  .kh-logo small{display:none}
  .kh-nav>ul>li>a:hover{color:var(--kh-orange-d)}
  .kh-nav__tg{width:18px;height:44px;margin-left:-8px}
  .kh-nav__tg::before{left:4px;width:6px;height:6px}
  .kh-sub{position:absolute;top:100%;left:0;min-width:280px;display:block;padding:8px 0;background:var(--kh-white);border:1px solid var(--kh-ink);border-radius:var(--kh-r);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--kh-t-fast),transform var(--kh-t-fast),visibility var(--kh-t-fast)}
  .kh-sub::before{content:"";position:absolute;top:-1px;left:-1px;width:8px;height:8px;border-left:1.5px solid var(--kh-ink);border-top:1.5px solid var(--kh-ink)}
  .has-sub:hover .kh-sub,.has-sub:focus-within .kh-sub,.kh-nav__tg[aria-expanded=true]+.kh-sub{opacity:1;visibility:visible;transform:none}
  .kh-sub a{padding:9px 16px;font-size:.9rem}
  .kh-sub a:hover{background:var(--kh-paper)}
  .kh-nav__extra{display:flex;align-items:center;gap:var(--kh-s3);margin:0}
  .kh-search{width:40px;transition:width var(--kh-t)}
  .kh-search:focus-within{width:240px}
  .kh-search input{padding:0 8px;width:0;flex:1}
  .kh-search button{width:38px}
  .kh-nav__tel{display:none}
}
@media(min-width:1280px){.kh-logo small{display:block}.kh-nav>ul{gap:4px}.kh-nav>ul>li>a{padding:8px 10px;font-size:.92rem}}
@media(min-width:1440px){.kh-nav__tel{display:inline-flex}}

/* ---------- Hero: mặt cắt vẽ dần ---------- */
.kh-hero{position:relative;overflow:hidden;background:var(--kh-paper);border-bottom:1px solid var(--kh-line)}
.kh-hero__in{display:grid;gap:var(--kh-s8);padding:var(--kh-s10) var(--kh-gutter) var(--kh-s12);align-items:center;min-height:calc(100svh - var(--kh-hd) - var(--kh-cta-h))}
.kh-hero__txt h1{max-width:16ch;margin-bottom:.4em}
.kh-hero__txt h1 em{display:block;color:var(--kh-blue)}
.kh-hero__btns{display:flex;flex-wrap:wrap;gap:var(--kh-s3);margin:var(--kh-s6) 0 var(--kh-s5)}
.kh-hero__note{color:var(--kh-ink-3);font-size:var(--kh-fs-sm);margin:0}
.kh-hero__note strong{color:var(--kh-ink)}
.kh-hero__fig{margin:0;position:relative}
.kh-hero__svg{width:100%;height:auto;color:var(--kh-ink);stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kh-hero__svg .kh-grid-lines{stroke:var(--kh-blue)}
.kh-hero__svg .kh-draw path,.kh-hero__svg .kh-draw circle{stroke-dasharray:var(--len,1000);stroke-dashoffset:calc(var(--len,1000) * (1 - var(--p,1)))}
.kh-hero.is-anim .kh-draw path,.kh-hero.is-anim .kh-draw circle{transition:stroke-dashoffset 1s var(--kh-ease)}
.kh-hero.is-anim .kh-draw[data-layer="1"] *{transition-delay:.6s}
.kh-hero.is-anim .kh-draw[data-layer="2"] *{transition-delay:1.2s}
.kh-hero.is-live .kh-draw *{transition-duration:.35s!important;transition-delay:0s!important}
.kh-hero__svg .kh-draw[data-layer="3"]{color:var(--kh-blue)}
.kh-hero__svg .kh-draw.is-hl{color:var(--kh-orange)}
.kh-hero__svg text{stroke:none;fill:var(--kh-ink-3);font-family:var(--kh-font-mono)}
.kh-hero__floors{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin-top:var(--kh-s4)}
.kh-hero__floors a{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--kh-line-2);border-radius:var(--kh-r);background:var(--kh-white);text-decoration:none;color:var(--kh-ink);min-height:56px;transition:border-color var(--kh-t-fast),transform var(--kh-t-fast)}
.kh-hero__floors a .kh-tag{margin:0;align-self:flex-start;font-size:9px;padding:3px 5px}
.kh-hero__floors b{font:600 .85rem/1.2 var(--kh-font-head)}
.kh-hero__floors small{font:400 .7rem/1.2 var(--kh-font-mono);color:var(--kh-ink-3)}
.kh-hero__floors li.is-on a,.kh-hero__floors a:hover{border-color:var(--kh-orange);transform:translateY(-2px)}
.kh-hero__scroll{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:none;align-items:center;gap:8px;text-decoration:none;color:var(--kh-ink-3);font-size:.72rem}
.kh-hero__scroll i{width:1px;height:28px;background:var(--kh-ink-3);display:block;animation:kh-dip 1.6s ease-in-out infinite}
@keyframes kh-dip{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1)}}
@media(min-width:900px){
  .kh-hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--kh-s12);padding-block:var(--kh-s16) var(--kh-s20)}
  .kh-hero__scroll{display:flex}
}
@media(prefers-reduced-motion:reduce){.kh-hero__svg .kh-draw path,.kh-hero__svg .kh-draw circle{stroke-dashoffset:0!important;transition:none}.kh-hero__scroll i{animation:none}}

/* ---------- Dải tin cậy ---------- */
.kh-stats{background:var(--kh-ink);color:var(--kh-paper);padding:var(--kh-s8) 0;position:relative}
.kh-stats ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--kh-s6) var(--kh-s4)}
.kh-stats li{border-left:1px solid rgba(244,243,238,.25);padding-left:var(--kh-s4);display:grid;gap:4px}
.kh-stats .kh-num{color:var(--kh-paper);font-size:clamp(1.9rem,1.3rem + 2.6vw,3.2rem)}
.kh-stats li>span{font-size:var(--kh-fs-sm);color:var(--kh-concrete)}
.kh-stats small{color:var(--kh-concrete-2);font-size:.72rem}
@media(min-width:800px){.kh-stats ul{grid-template-columns:repeat(4,1fr)}}

/* ---------- Dịch vụ theo tầng ---------- */
.kh-floors__list{list-style:none;display:grid;gap:0;counter-reset:f}
.kh-floor{display:grid;grid-template-columns:1fr;gap:var(--kh-s3);padding:var(--kh-s5);margin-top:-1px;background:var(--kh-white);position:relative;transition:background var(--kh-t-fast)}
.kh-floor:hover,.kh-floor.is-on{background:var(--kh-blue-l)}
.kh-floor__lab{display:flex;align-items:center;gap:8px;color:var(--kh-ink-3);font-size:.78rem}
.kh-floor__b h3{margin:0 0 6px}
.kh-floor__b h3 a{text-decoration:none;color:var(--kh-ink)}
.kh-floor__b h3 a:hover{color:var(--kh-orange-d)}
.kh-floor__b p{margin:0 0 6px;color:var(--kh-ink-2);font-size:.95rem}
.kh-floor__p{color:var(--kh-blue)!important;font-size:.82rem!important}
.kh-floor__go{position:absolute;right:var(--kh-s5);top:var(--kh-s5);width:44px;height:44px;border:1px solid var(--kh-ink);border-radius:var(--kh-r);display:grid;place-items:center;text-decoration:none;color:var(--kh-ink);font-size:1.2rem;transition:background var(--kh-t-fast),color var(--kh-t-fast)}
.kh-floor__go:hover{background:var(--kh-orange);border-color:var(--kh-orange);color:#fff}
@media(min-width:800px){.kh-floor{grid-template-columns:200px 1fr 60px;align-items:start;padding:var(--kh-s6) var(--kh-s8)}.kh-floor__go{position:static;justify-self:end}.kh-floor__lab{flex-direction:column;align-items:flex-start;padding-top:4px}}
/* hiệu ứng "tầng": đường kẻ sàn dày */
.kh-floor::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:4px;background:var(--kh-ink);opacity:0;transition:opacity var(--kh-t-fast)}
.kh-floor:hover::after,.kh-floor.is-on::after{opacity:1}

/* ---------- Thẻ dự án: khối ngang + thước tỉ lệ + đường kích thước ---------- */
.kh-pj{display:flex;flex-direction:column;overflow:hidden}
.kh-pj__img{position:relative;display:block;aspect-ratio:7/4;overflow:hidden;background:var(--kh-paper-2)}
.kh-pj__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--kh-t-slow) var(--kh-ease)}
.kh-pj:hover .kh-pj__img img{transform:scale(1.03)}
.kh-pj--wide .kh-pj__img{aspect-ratio:16/8}
@media(min-width:640px){.kh-pj--wide{grid-column:span 2}}
.kh-scale{position:absolute;left:12px;bottom:12px;display:flex;align-items:flex-end;height:14px;pointer-events:none}
.kh-scale i{width:16px;height:6px;border:1px solid #fff;background:#fff}
.kh-scale i:nth-child(2n){background:var(--kh-ink)}
.kh-scale b{position:absolute;bottom:9px;font:500 9px/1 var(--kh-font-mono);color:#fff;text-shadow:0 0 2px #000}
.kh-scale b:first-of-type{left:0}.kh-scale b:last-of-type{left:58px}
.kh-dim{position:absolute;pointer-events:none;font:500 10px/1 var(--kh-font-mono);color:#fff;opacity:0;transition:opacity var(--kh-t)}
.kh-dim i{position:absolute;background:var(--kh-orange);transform-origin:left center;transform:scaleX(0);transition:transform var(--kh-t-slow) var(--kh-ease)}
.kh-dim i::before,.kh-dim i::after{content:"";position:absolute;top:50%;width:0;height:0;border:4px solid transparent}
.kh-dim b{position:absolute;background:var(--kh-ink);padding:3px 5px;border-radius:var(--kh-r);white-space:nowrap}
.kh-dim--w{left:16px;right:16px;top:14px;height:12px}
.kh-dim--w i{left:0;right:0;top:5px;height:1.5px}
.kh-dim--w i::before{left:-1px;margin-top:-4px;border-right-color:var(--kh-orange)}
.kh-dim--w i::after{right:-1px;margin-top:-4px;border-left-color:var(--kh-orange)}
.kh-dim--w b{left:50%;top:-4px;transform:translateX(-50%)}
.kh-dim--d{top:30px;bottom:30px;right:14px;width:12px}
.kh-dim--d i{top:0;bottom:0;right:5px;width:1.5px;transform-origin:center top;transform:scaleY(0)}
.kh-dim--d i::before{top:-1px;left:-3px;border-bottom-color:var(--kh-orange)}
.kh-dim--d i::after{bottom:-1px;top:auto;left:-3px;border-top-color:var(--kh-orange)}
.kh-dim--d b{right:14px;top:50%;transform:translateY(-50%)}
.kh-pj:hover .kh-dim,.kh-pj:focus-within .kh-dim{opacity:1}
.kh-pj:hover .kh-dim i,.kh-pj:focus-within .kh-dim i{transform:none}
@media(hover:none){.kh-dim{opacity:1}.kh-dim i{transform:none}}
.kh-pj__b,.kh-model__b,.kh-diary__b,.kh-post__b{padding:var(--kh-s4) var(--kh-s5) var(--kh-s5);display:grid;gap:4px;flex:1}
.kh-pj__m{font-size:.75rem;color:var(--kh-ink-3);margin:0}
.kh-pj__t{font-size:1.15rem;margin:2px 0 0}
.kh-pj__t a{color:var(--kh-ink);text-decoration:none}
.kh-pj__t a:hover{color:var(--kh-orange-d)}
.kh-pj__s{font-size:var(--kh-fs-sm);color:var(--kh-ink-2);margin:0}
.kh-pj__kv{display:flex;flex-wrap:wrap;gap:4px var(--kh-s4);margin:var(--kh-s3) 0 0;padding-top:var(--kh-s3);border-top:1px dashed var(--kh-line-2)}
.kh-pj__kv div{display:flex;flex-direction:column}
.kh-pj__kv dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--kh-ink-3)}
.kh-pj__kv dd{margin:0;font-size:.88rem;font-weight:500}

/* mẫu nhà, nhật ký, bài viết */
.kh-model,.kh-diary,.kh-post,.kh-region{display:flex;flex-direction:column;overflow:hidden}
.kh-model__img,.kh-diary__img,.kh-post__img,.kh-region__img{display:block;aspect-ratio:10/7;overflow:hidden;position:relative;background:var(--kh-paper-2)}
.kh-model__img img,.kh-diary__img img,.kh-post__img img,.kh-region__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--kh-t-slow) var(--kh-ease)}
.kh-model:hover img,.kh-diary:hover img,.kh-post:hover img,.kh-region:hover img{transform:scale(1.03)}
.kh-model__badge{position:absolute;left:10px;top:10px;background:var(--kh-ink);color:var(--kh-paper);padding:5px 8px;font-size:.72rem;border-radius:var(--kh-r)}
.kh-model__est{margin:var(--kh-s3) 0 0;padding-top:var(--kh-s3);border-top:1px dashed var(--kh-line-2);font-size:.88rem}
.kh-model__est strong{display:block;color:var(--kh-blue);font-size:1rem}
.kh-model__est small{color:var(--kh-ink-3)}
.kh-diary__code{font-size:.75rem;color:var(--kh-blue);margin:0}
.kh-diary__meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--kh-ink-3);margin:4px 0 0}
.kh-prog{height:6px;background:var(--kh-paper-2);border:1px solid var(--kh-line-2);border-radius:var(--kh-r);overflow:hidden;margin-top:var(--kh-s2)}
.kh-prog i{display:block;height:100%;background:var(--kh-orange);transition:width var(--kh-t-slow)}
.kh-prog--big{height:12px}
.kh-post__m{font-size:.75rem;color:var(--kh-ink-3);margin:0}
.kh-post__m a{color:var(--kh-blue);text-decoration:none}
.kh-post h3{font-size:1.1rem;margin:2px 0 4px}
.kh-post h3 a{color:var(--kh-ink);text-decoration:none}
.kh-post h3 a:hover{color:var(--kh-orange-d)}
.kh-post__b p{font-size:var(--kh-fs-sm);color:var(--kh-ink-2);margin:0}
.kh-post__a{font-size:.78rem!important;color:var(--kh-ink-3)!important;margin-top:auto!important;padding-top:var(--kh-s2)}
.kh-region__b{padding:var(--kh-s5)}
.kh-region__b h2 a{color:var(--kh-ink);text-decoration:none}
.kh-region__b p{margin:0 0 6px;font-size:.95rem}
.kh-pillars{margin-top:var(--kh-s8)}
.kh-pillar{display:grid;overflow:hidden}
.kh-pillar__img{display:block;aspect-ratio:7/4;overflow:hidden}
.kh-pillar__img img{width:100%;height:100%;object-fit:cover}
.kh-pillar__b{padding:var(--kh-s5)}
.kh-pillar__b h2 a{color:var(--kh-ink);text-decoration:none}
.kh-pillar__b p{font-size:.95rem;color:var(--kh-ink-2);margin:0 0 6px}
@media(min-width:700px){.kh-pillar{grid-template-columns:1fr 1fr}.kh-pillar__img{aspect-ratio:auto;height:100%}}

/* dịch vụ card, team, reviews, trans */
.kh-svc{padding:var(--kh-s6)}
.kh-svc h3 a{color:var(--kh-ink);text-decoration:none}
.kh-svc h3 a:hover{color:var(--kh-orange-d)}
.kh-svc p{color:var(--kh-ink-2)}
.kh-svc__p{color:var(--kh-blue)!important;font-size:.85rem}
.kh-trans__i{padding:var(--kh-s6);display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
.kh-trans__n{color:var(--kh-orange);font-size:.8rem}
.kh-trans__i p{color:var(--kh-ink-2);font-size:.95rem;flex:1;margin:0}
.kh-team{list-style:none;display:grid;gap:var(--kh-s5);grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.kh-team{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1200px){.kh-team{grid-template-columns:repeat(6,1fr)}.kh-team.kh-team--wide{grid-template-columns:repeat(3,1fr)}}
.kh-team li{padding:0 0 var(--kh-s4);overflow:hidden}
.kh-team__img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--kh-paper-2)}
.kh-team__img img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.kh-team h3{font-size:.98rem;margin:var(--kh-s3) var(--kh-s4) 2px}
.kh-team h3 a{color:var(--kh-ink);text-decoration:none}
.kh-team__r{color:var(--kh-blue);font-size:.78rem;font-weight:600;margin:0 var(--kh-s4) 4px}
.kh-team__c{font-size:.68rem;color:var(--kh-ink-3);margin:0 var(--kh-s4)}
.kh-team li>p:last-child:not(.kh-team__r):not(.kh-team__c){font-size:.85rem;color:var(--kh-ink-2);margin:8px var(--kh-s4) 0}
.kh-reviews{display:grid;gap:var(--kh-s5)}
@media(min-width:700px){.kh-reviews{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.kh-reviews{grid-template-columns:repeat(3,1fr)}}
.kh-rv{margin:0;padding:var(--kh-s6);display:flex;flex-direction:column;gap:var(--kh-s3)}
.kh-stars{color:var(--kh-orange);letter-spacing:2px;font-size:1rem}
.kh-rv blockquote{margin:0;flex:1}
.kh-rv blockquote p{margin:0;font-size:.95rem;color:var(--kh-ink-2)}
.kh-rv figcaption{display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--kh-ink-3);line-height:1.4}
.kh-rv figcaption strong{color:var(--kh-ink);font-size:.95rem}
.kh-rv__av{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:var(--kh-paper-2)}
.kh-rv__av img{width:100%;height:100%;object-fit:cover}
.kh-rv__play{align-self:flex-start;display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 14px;background:var(--kh-ink);color:var(--kh-paper);border:0;border-radius:var(--kh-r);font-weight:600;cursor:pointer;font-size:.85rem}
.kh-rv__play:hover{background:var(--kh-orange)}

/* ---------- Quy trình 9 bước (tab) ---------- */
.kh-proc{display:grid;gap:var(--kh-s5)}
.kh-proc__tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scroll-snap-type:x proximity}
.kh-proc__tabs button{flex:0 0 auto;min-width:150px;scroll-snap-align:start;text-align:left;display:grid;gap:2px;padding:10px 12px;background:transparent;border:1px solid rgba(244,243,238,.3);border-radius:var(--kh-r);color:var(--kh-concrete);cursor:pointer;min-height:64px}
.kh-proc__tabs button .kh-mono{font-size:.7rem;color:var(--kh-concrete-2)}
.kh-proc__tabs button b{font:600 .88rem/1.25 var(--kh-font-head);color:var(--kh-paper)}
.kh-proc__tabs button[aria-selected=true]{background:var(--kh-paper);border-color:var(--kh-paper)}
.kh-proc__tabs button[aria-selected=true] b{color:var(--kh-ink)}
.kh-proc__tabs button[aria-selected=true] .kh-mono{color:var(--kh-orange-d)}
.kh-proc__p{padding:var(--kh-s6);border:1px solid rgba(244,243,238,.3);border-radius:var(--kh-r);background:rgba(255,255,255,.04)}
.kh-proc__p h3{color:var(--kh-paper)}
.kh-proc__p>p{color:var(--kh-concrete)}
.kh-proc__cols{display:grid;gap:var(--kh-s5);margin-top:var(--kh-s4)}
.kh-proc__cols h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kh-concrete-2);margin-bottom:8px}
@media(min-width:700px){.kh-proc__cols{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.kh-proc{grid-template-columns:300px 1fr;align-items:start}.kh-proc__tabs{flex-direction:column;overflow:visible;max-height:none}.kh-proc__tabs button{min-width:0}}
.kh-checks{list-style:none;display:grid;gap:8px}
.kh-checks li{padding-left:26px;position:relative;font-size:.95rem}
.kh-checks li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:7px;border-left:2px solid var(--kh-blue);border-bottom:2px solid var(--kh-blue);transform:rotate(-45deg)}
.kh-sec--dark .kh-checks li::before,.kh-checks--out li::before{border-color:var(--kh-orange)}
.kh-checks--next li::before{border:0;width:8px;height:8px;top:.6em;background:var(--kh-orange);border-radius:50%}
.kh-checks--x li::before{border:0;width:12px;height:12px;top:.45em;background:linear-gradient(45deg,transparent 45%,var(--kh-err) 45%,var(--kh-err) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--kh-err) 45%,var(--kh-err) 55%,transparent 55%)}
.kh-steps{list-style:none;display:grid;gap:var(--kh-s4);counter-reset:s}
@media(min-width:700px){.kh-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.kh-steps{grid-template-columns:repeat(4,1fr)}}
.kh-steps li{padding:var(--kh-s5)}
.kh-steps__n{color:var(--kh-orange);display:block;margin-bottom:6px}
.kh-steps h3{font-size:1.02rem}
.kh-steps p{margin:0;font-size:.88rem;color:var(--kh-ink-2)}
.kh-steps p.kh-mono{color:var(--kh-blue);margin-bottom:6px}

/* ---------- Bảng (cuộn ngang có bóng gợi ý) ---------- */
.kh-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;border:1px solid var(--kh-line-2);border-radius:var(--kh-r);background:var(--kh-white);
  background-image:linear-gradient(90deg,var(--kh-white) 30%,rgba(255,255,255,0)),linear-gradient(90deg,rgba(255,255,255,0),var(--kh-white) 70%),linear-gradient(90deg,rgba(28,28,28,.18),rgba(28,28,28,0)),linear-gradient(270deg,rgba(28,28,28,.18),rgba(28,28,28,0));
  background-position:left,right,left,right;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}
.kh-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.kh-table th,.kh-table td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--kh-line)}
.kh-table thead th{background:var(--kh-ink);color:var(--kh-paper);font:600 .78rem/1.3 var(--kh-font-body);letter-spacing:.06em;text-transform:uppercase}
.kh-table thead th a{color:var(--kh-paper)}
.kh-table thead th small{display:block;font-weight:400;text-transform:none;letter-spacing:0;color:var(--kh-concrete);margin-top:2px}
.kh-table tbody th{font-weight:600;background:var(--kh-paper)}
.kh-table tfoot th,.kh-table tfoot td{font-weight:700;background:var(--kh-paper)}
.kh-table--cmp{min-width:860px}
.kh-table--cmp td,.kh-table--cmp th{font-size:.86rem}
.kh-cmp__diff{background:var(--kh-orange-l)!important;color:var(--kh-orange-d);font-weight:600}
thead .kh-cmp__diff{background:var(--kh-orange)!important;color:#fff}
.kh-table--est{min-width:0}
.kh-table--price td{font-weight:500;font-size:1.05rem}
.kh-sec--dark .kh-tablewrap{background:transparent;border-color:rgba(244,243,238,.3)}

/* ---------- Khối tiêu đề trang trong ---------- */
.kh-phero{border-bottom:1px solid var(--kh-line);background:var(--kh-paper)}
.kh-phero__in{display:grid;gap:var(--kh-s6);padding-block:var(--kh-s6) var(--kh-s10)}
.kh-phero__txt h1{margin:var(--kh-s2) 0 .4em}
.kh-phero__img{margin:0;overflow:hidden;aspect-ratio:7/4}
.kh-phero__img img{width:100%;height:100%;object-fit:cover}
.kh-phero__img--portrait{aspect-ratio:4/5;max-width:360px}
.kh-404__fig{padding:var(--kh-s5);aspect-ratio:auto;color:var(--kh-ink)}
@media(min-width:900px){.kh-phero.has-img .kh-phero__in,.kh-phero__in:has(.kh-phero__img){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:var(--kh-s12)}.kh-phero__in{padding-block:var(--kh-s8) var(--kh-s12)}}
.kh-crumbs{font-size:.78rem;margin-bottom:var(--kh-s4);font-family:var(--kh-font-mono)}
.kh-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 6px}
.kh-crumbs li+li::before{content:"/";color:var(--kh-ink-3);margin-right:6px}
.kh-crumbs a{color:var(--kh-ink-2);text-decoration:none}
.kh-crumbs a:hover{color:var(--kh-orange-d);text-decoration:underline}
.kh-crumbs span{color:var(--kh-ink-3)}
.kh-facts{background:var(--kh-ink);color:var(--kh-paper);padding:var(--kh-s5) 0}
.kh-facts__dl{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--kh-s4) var(--kh-s5);margin:0}
.kh-facts__dl div{border-left:1px solid rgba(244,243,238,.25);padding-left:12px}
.kh-facts__dl dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kh-concrete-2)}
.kh-facts__dl dd{margin:2px 0 0;font-size:.92rem;font-weight:500}
.kh-facts__dl dd a{color:var(--kh-paper)}
.kh-facts__dl small{color:var(--kh-concrete-2);font-weight:400;font-size:.75rem}
@media(min-width:800px){.kh-facts__dl{grid-template-columns:repeat(4,1fr)}}
.kh-kv{margin:0;display:grid;gap:10px}
.kh-kv div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:baseline;border-bottom:1px dashed var(--kh-line-2);padding-bottom:8px}
.kh-kv dt{color:var(--kh-ink-2);font-size:.9rem}
.kh-kv dd{margin:0;font-weight:600;font-size:.92rem;text-align:right}
.kh-kv--col div{grid-template-columns:1fr}
.kh-kv--col dd{text-align:left;font-weight:400;font-size:.88rem}
.kh-side{padding:var(--kh-s5);margin-bottom:var(--kh-s5)}
.kh-side h2{font-size:1.1rem}
.kh-side h2 a{color:var(--kh-ink);text-decoration:none}
.kh-side p{font-size:.92rem;color:var(--kh-ink-2)}
.kh-side__list{list-style:none;display:grid;gap:8px;font-size:.92rem}
.kh-side__list--num{list-style:decimal;padding-left:20px;color:var(--kh-ink-2)}
.kh-side__list--dl a{display:block;padding:8px 0 8px 24px;position:relative}
.kh-side__list--dl a::before{content:"↓";position:absolute;left:0;color:var(--kh-orange)}
.kh-side__team{list-style:none;display:grid;gap:8px}
.kh-side__team li{display:grid;font-size:.9rem}
.kh-side__team span{color:var(--kh-ink-3);font-size:.8rem}
.kh-termlist{list-style:none;display:grid;gap:4px}
.kh-termlist li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--kh-line-2)}
.kh-termlist a{text-decoration:none;font-weight:500;color:var(--kh-ink)}
.kh-termlist a:hover{color:var(--kh-orange-d)}
.kh-termlist .kh-mono{color:var(--kh-ink-3);font-size:.78rem;white-space:nowrap}
.kh-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.kh-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border:1px solid var(--kh-ink);border-radius:var(--kh-r);background:var(--kh-white);color:var(--kh-ink);text-decoration:none;font-size:.86rem;font-weight:500;cursor:pointer;transition:background var(--kh-t-fast),color var(--kh-t-fast)}
.kh-chip .kh-mono{font-size:.72rem;color:var(--kh-ink-3)}
.kh-chip:hover{background:var(--kh-blue-l)}
.kh-chip.is-on,.kh-chip[aria-pressed=true]{background:var(--kh-ink);color:var(--kh-paper)}
.kh-chip.is-on .kh-mono{color:var(--kh-concrete)}
.kh-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.kh-tags li{padding:5px 10px;border:1px dashed var(--kh-line-2);border-radius:var(--kh-r);font-size:.82rem;background:var(--kh-white)}
.kh-tags--big li{padding:12px 18px;font-size:.95rem;font-weight:500;border-style:solid}
.kh-notice{padding:var(--kh-s5) var(--kh-s6)}
.kh-notice p:last-child,.kh-notice ul{margin-bottom:0}
.kh-notice--inline{margin-top:var(--kh-s4);padding:10px 14px;background:var(--kh-orange-l);border-color:var(--kh-orange)}
.kh-notice--inline p{margin:0;font-size:.8rem;color:var(--kh-orange-d)}
.kh-empty{padding:var(--kh-s8);text-align:center;border:1px dashed var(--kh-line-2);margin-top:var(--kh-s5)}

/* bộ lọc */
.kh-filter{padding:var(--kh-s5)}
.kh-filter__row{display:grid;gap:var(--kh-s4)}
.kh-filter fieldset{border:0;padding:0;margin:0;min-width:0}
.kh-filter legend{font-size:.72rem;color:var(--kh-ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;padding:0}
.kh-filter .kh-chip{min-height:36px;padding:4px 12px;font-size:.82rem}
.kh-filter__bar{display:flex;justify-content:space-between;align-items:center;margin:var(--kh-s4) 0 0;padding-top:var(--kh-s4);border-top:1px dashed var(--kh-line-2);font-size:.82rem;color:var(--kh-ink-2)}
.kh-filter__bar .kh-link{min-height:36px}
.kh-pj[hidden],.kh-model[hidden]{display:none}

/* gallery, plans, video */
.kh-gal{display:grid;gap:var(--kh-s3);grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.kh-gal{grid-template-columns:repeat(3,1fr)}}
.kh-gal__i{display:block;overflow:hidden;aspect-ratio:10/7}
.kh-gal__i--big{grid-column:span 2;aspect-ratio:7/4}
.kh-gal__i img{width:100%;height:100%;object-fit:cover;transition:transform var(--kh-t-slow) var(--kh-ease)}
.kh-gal__i:hover img{transform:scale(1.03)}
.kh-plans{display:grid;gap:var(--kh-s5)}
@media(min-width:700px){.kh-plans{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.kh-plans{grid-template-columns:repeat(3,1fr)}}
.kh-plans__i{margin:0;padding:var(--kh-s4);display:flex;flex-direction:column;color:var(--kh-ink)}
.kh-plans__btn{background:none;border:0;padding:0;cursor:zoom-in;display:block;color:var(--kh-blue);width:100%}
.kh-plans__btn svg,.kh-plans__i--sec svg{width:100%;height:auto;max-height:420px;margin-inline:auto}
.kh-plan{font-family:var(--kh-font-mono)}
.kh-plan text{font-family:var(--kh-font-mono)}
.kh-plans__i figcaption{margin-top:var(--kh-s3);padding-top:var(--kh-s3);border-top:1px dashed var(--kh-line-2);display:grid;gap:4px;font-size:.88rem}
.kh-plans__i figcaption strong{display:flex;justify-content:space-between}
.kh-plans__rooms{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;font-size:.78rem;color:var(--kh-ink-2)}
.kh-plans__rooms .kh-mono{color:var(--kh-ink-3)}
.kh-section{color:var(--kh-ink)}
.kh-section--404{max-width:360px;margin:auto}
.kh-video{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;max-width:1100px;margin-inline:auto}
.kh-video img,.kh-video video{width:100%;height:100%;object-fit:cover}
.kh-video__play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:2px solid #fff;background:rgba(28,28,28,.6);color:#fff;font-size:1.6rem;cursor:pointer;display:grid;place-items:center;transition:background var(--kh-t-fast)}
.kh-video__play:hover{background:var(--kh-orange)}

/* lightbox / dialog */
.kh-lb{border:0;padding:0;border-radius:var(--kh-r);background:var(--kh-white);max-width:min(94vw,1100px);width:100%;overflow:visible;color:var(--kh-ink)}
.kh-lb::backdrop{background:rgba(28,28,28,.85)}
.kh-lb__body{display:grid;place-items:center;max-height:80vh;overflow:auto;padding:var(--kh-s4)}
.kh-lb__body img{max-height:76vh;width:auto;max-width:100%;object-fit:contain}
.kh-lb__body svg{width:100%;max-width:640px;height:auto;max-height:74vh;color:var(--kh-blue)}
.kh-lb__cap{margin:0;padding:10px var(--kh-s4) var(--kh-s4);font-size:.85rem;color:var(--kh-ink-2);text-align:center}
.kh-lb__cap:empty{display:none}
.kh-lb__x{position:absolute;top:-46px;right:0;width:44px;height:44px;border:0;border-radius:var(--kh-r);background:var(--kh-paper);font-size:1.6rem;line-height:1;cursor:pointer}
.kh-lb--video{background:#000;max-width:min(94vw,440px)}
.kh-lb--video video{width:100%;max-height:86vh;display:block}

/* ---------- Form ---------- */
.kh-form{padding:var(--kh-s6)}
.kh-form__grid{display:grid;gap:var(--kh-s3)}
@media(min-width:640px){.kh-form__grid{grid-template-columns:1fr 1fr}.kh-field--full{grid-column:span 2}}
.kh-field{display:grid;gap:5px;font-size:.84rem;font-weight:600}
.kh-field input,.kh-field select,.kh-field textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--kh-line-2);border-radius:var(--kh-r);background:var(--kh-white);font:400 1rem var(--kh-font-body);color:var(--kh-ink)}
.kh-field textarea{min-height:90px;resize:vertical}
.kh-field input:focus,.kh-field select:focus,.kh-field textarea:focus{border-color:var(--kh-blue);outline:0;box-shadow:0 0 0 3px rgba(34,64,107,.18)}
.kh-field input[aria-invalid=true]{border-color:var(--kh-err)}
.kh-hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.kh-consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--kh-ink-2);margin-top:var(--kh-s4);cursor:pointer}
.kh-consent input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--kh-blue)}
.kh-form__msg{min-height:1.4em;margin:var(--kh-s3) 0 0;font-size:.9rem;color:var(--kh-err)}
.kh-form__msg.is-ok{color:var(--kh-ok)}
.kh-quote__in{display:grid;gap:var(--kh-s8)}
@media(min-width:960px){.kh-quote__in{grid-template-columns:1fr 1.1fr;gap:var(--kh-s16);align-items:start}}
.kh-lookup{display:grid;gap:var(--kh-s3);max-width:520px;margin-top:var(--kh-s5)}
@media(min-width:600px){.kh-lookup{grid-template-columns:1fr auto;align-items:end}.kh-lookup .kh-form__msg,.kh-lookup .kh-note{grid-column:span 2}}

/* ---------- Ước tính chi phí ---------- */
.kh-est-wrap{display:grid;gap:var(--kh-s8)}
@media(min-width:1000px){.kh-est-wrap{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
.kh-est{background:var(--kh-white);border:1px solid var(--kh-ink);border-radius:var(--kh-r);position:relative}
.kh-est::before{content:"F-000 · CÔNG CỤ ƯỚC TÍNH";position:absolute;top:-1px;left:-1px;font:500 10px/1 var(--kh-font-mono);letter-spacing:.1em;background:var(--kh-ink);color:var(--kh-paper);padding:5px 8px}
.kh-est__prog{list-style:none;display:flex;gap:4px;padding:var(--kh-s8) var(--kh-s5) 0;counter-reset:e}
.kh-est__prog li{flex:1;font-size:.7rem;color:var(--kh-ink-3);border-top:3px solid var(--kh-line);padding-top:6px;display:grid;gap:2px}
.kh-est__prog li .kh-mono{font-size:.68rem}
.kh-est__prog li.is-on{border-top-color:var(--kh-orange);color:var(--kh-ink)}
.kh-est__prog li.is-done{border-top-color:var(--kh-ink)}
@media(max-width:600px){.kh-est__prog li{font-size:0}.kh-est__prog li .kh-mono{font-size:.68rem}.kh-est__prog li.is-on{font-size:.7rem}}
.kh-est__form{padding:var(--kh-s5)}
.kh-est__step{display:none;border:0;padding:0;margin:0;min-width:0}
.kh-est__step.is-on{display:block}
.kh-est legend{font:600 1.15rem/1.3 var(--kh-font-head);margin-bottom:var(--kh-s4);padding:0}
.kh-opts{display:grid;gap:10px}
@media(min-width:600px){.kh-opts--2{grid-template-columns:1fr 1fr}.kh-opts--3{grid-template-columns:repeat(3,1fr)}}
.kh-opt{cursor:pointer;position:relative}
.kh-opt input{position:absolute;opacity:0;width:1px;height:1px}
.kh-opt span{display:grid;gap:3px;min-height:56px;padding:12px 14px;border:1px solid var(--kh-line-2);border-radius:var(--kh-r);background:var(--kh-paper);transition:border-color var(--kh-t-fast),background var(--kh-t-fast)}
.kh-opt strong{font-family:var(--kh-font-head);font-size:.95rem}
.kh-opt small{font-size:.78rem;color:var(--kh-ink-2);line-height:1.4}
.kh-opt b{font-weight:500;color:var(--kh-blue);font-size:.85rem}
.kh-opt input:checked+span{border-color:var(--kh-ink);background:var(--kh-blue-l);box-shadow:inset 0 0 0 1px var(--kh-ink)}
.kh-opt input:focus-visible+span{outline:2px solid var(--kh-orange);outline-offset:2px}
.kh-est__grid{display:grid;gap:var(--kh-s3)}
@media(min-width:600px){.kh-est__grid{grid-template-columns:1fr 1fr}}
.kh-est__calc{margin:var(--kh-s4) 0 0;padding:10px 12px;background:var(--kh-paper);border-left:3px solid var(--kh-blue);font-size:.85rem;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.kh-est__calc output{font-weight:600;color:var(--kh-blue)}
.kh-est__calc .kh-link{min-height:0;font-size:.82rem}
.kh-est__coef{font-size:.82rem;color:var(--kh-ink-2);padding:8px 12px}
.kh-est__result{display:none}
.kh-est__result.is-on{display:block}
.kh-est__range{font:700 clamp(1.5rem,1rem + 2.4vw,2.4rem)/1.1 var(--kh-font-mono);color:var(--kh-ink);margin:0 0 6px;letter-spacing:-.02em}
.kh-est__sub{color:var(--kh-ink-2);font-size:.92rem;margin-bottom:var(--kh-s4)}
.kh-est__kv{display:grid;grid-template-columns:1fr 1fr;gap:var(--kh-s3);margin:var(--kh-s4) 0}
.kh-est__kv div{border:1px dashed var(--kh-line-2);padding:10px 12px;border-radius:var(--kh-r)}
.kh-est__kv dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--kh-ink-3)}
.kh-est__kv dd{margin:2px 0 0;font-weight:600}
.kh-est__disclaimer{font-size:.8rem;color:var(--kh-ink-3);padding:10px 12px;background:var(--kh-orange-l);border-left:3px solid var(--kh-orange)}
.kh-est__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--kh-s4)}
.kh-est__nav{display:flex;justify-content:space-between;gap:8px;margin-top:var(--kh-s5);padding-top:var(--kh-s4);border-top:1px solid var(--kh-line)}
.kh-est__nav [data-next]{margin-left:auto}
.kh-est--compact .kh-est__form{padding:var(--kh-s4)}
.kh-pkg{padding:var(--kh-s6);display:flex;flex-direction:column;gap:6px}
.kh-pkg.is-hl{border-color:var(--kh-orange);box-shadow:var(--kh-shadow-hard)}
.kh-pkg.is-hl::before,.kh-pkg.is-hl::after{border-color:var(--kh-orange)}
.kh-pkg__p{color:var(--kh-ink-3);font-size:.8rem;margin:0}
.kh-pkg__t{font-size:1.35rem;font-weight:600;color:var(--kh-blue);margin:0 0 4px}
.kh-pkg p{font-size:.9rem;color:var(--kh-ink-2);margin:0}
.kh-est-side .kh-side{margin-bottom:var(--kh-s4)}

/* ---------- Bài viết ---------- */
.kh-article__meta{font-size:.78rem;color:var(--kh-ink-3);margin-top:var(--kh-s3)}
.kh-article__grid{display:grid;gap:var(--kh-s8)}
@media(min-width:1000px){.kh-article__grid{grid-template-columns:minmax(0,1fr) 300px;gap:var(--kh-s16);align-items:start}.kh-article__side{position:sticky;top:calc(var(--kh-hd) + 16px)}}
.kh-prose{font-size:1.02rem;max-width:72ch}
.kh-prose>*:first-child{margin-top:0}
.kh-prose h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);margin:1.6em 0 .6em;padding-top:.6em;border-top:1px solid var(--kh-line);position:relative}
.kh-prose h2::before{content:"";position:absolute;left:0;top:-1px;width:40px;height:3px;background:var(--kh-orange)}
.kh-prose h3{font-size:1.15rem;margin:1.3em 0 .5em}
.kh-prose ul,.kh-prose ol{padding-left:22px;margin:0 0 1.2em}
.kh-prose li{margin-bottom:.35em}
.kh-prose img{border:1px solid var(--kh-line-2);border-radius:var(--kh-r);margin:1.2em 0}
.kh-prose figure{margin:1.2em 0}
.kh-prose figcaption{font-size:.82rem;color:var(--kh-ink-3);font-family:var(--kh-font-mono);margin-top:6px}
.kh-prose table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.2em 0;display:block;overflow-x:auto}
.kh-prose th,.kh-prose td{border:1px solid var(--kh-line-2);padding:8px 12px;text-align:left;vertical-align:top}
.kh-prose th{background:var(--kh-paper);font-weight:600}
.kh-prose blockquote{margin:1.4em 0;padding:12px 20px;border-left:3px solid var(--kh-blue);background:var(--kh-blue-l);font-style:normal}
.kh-prose blockquote p:last-child{margin:0}
.kh-prose .kh-callout{padding:14px 18px;border:1px solid var(--kh-ink);border-radius:var(--kh-r);background:var(--kh-white);margin:1.4em 0;position:relative}
.kh-prose .kh-callout::before{content:"GHI CHÚ";position:absolute;top:-9px;left:12px;font:500 9px/1 var(--kh-font-mono);letter-spacing:.1em;background:var(--kh-ink);color:var(--kh-paper);padding:4px 6px}
.kh-prose .kh-callout--warn{border-color:var(--kh-orange)}
.kh-prose .kh-callout--warn::before{content:"LƯU Ý";background:var(--kh-orange)}
.kh-prose code{font-family:var(--kh-font-mono);font-size:.9em;background:var(--kh-paper-2);padding:1px 5px;border-radius:var(--kh-r)}
.kh-toc{margin:0 0 var(--kh-s8);padding:var(--kh-s4) var(--kh-s5);border:1px dashed var(--kh-ink);border-radius:var(--kh-r);background:var(--kh-white)}
.kh-toc ol{list-style:none;counter-reset:t;display:grid;gap:4px}
.kh-toc li{counter-increment:t;font-size:.9rem}
.kh-toc li::before{content:counter(t,decimal-leading-zero) " ";font-family:var(--kh-font-mono);color:var(--kh-orange);font-size:.78rem}
.kh-toc a{text-decoration:none;color:var(--kh-ink)}
.kh-toc a:hover{color:var(--kh-orange-d);text-decoration:underline}
.kh-sources{margin-top:var(--kh-s10);font-size:.88rem}
.kh-sources h2{font-size:1.1rem}
.kh-sources ol{padding-left:20px;color:var(--kh-ink-2)}
.kh-author{display:grid;gap:var(--kh-s4);padding:var(--kh-s5);margin-top:var(--kh-s10)}
@media(min-width:600px){.kh-author{grid-template-columns:96px 1fr}}
.kh-author__img{width:96px;height:96px;overflow:hidden;border-radius:var(--kh-r)}
.kh-author__img img{width:100%;height:100%;object-fit:cover}
.kh-author h2{font-size:1.1rem;margin:0 0 2px}
.kh-author h2 a{color:var(--kh-ink);text-decoration:none}
.kh-author__r{color:var(--kh-blue);font-size:.85rem;font-weight:600;margin:0 0 6px}
.kh-author__c{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.kh-author__c li{font-size:.72rem;padding:3px 8px;border:1px dashed var(--kh-line-2);border-radius:var(--kh-r);background:var(--kh-paper)}
.kh-author__d{font-size:.75rem;color:var(--kh-ink-3);margin:0}
.pagination{margin-top:var(--kh-s10)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--kh-ink);border-radius:var(--kh-r);text-decoration:none;color:var(--kh-ink);font-family:var(--kh-font-mono);font-size:.85rem;background:var(--kh-white)}
.pagination .page-numbers.current{background:var(--kh-ink);color:var(--kh-paper)}
.pagination .page-numbers:hover{background:var(--kh-blue-l)}

/* ---------- FAQ, CTA, rel, map ---------- */
.kh-faq__in{max-width:900px}
.kh-faq__list details{border:1px solid var(--kh-line-2);border-radius:var(--kh-r);background:var(--kh-white);margin-bottom:8px}
.kh-faq__list summary{list-style:none;cursor:pointer;padding:14px 48px 14px 18px;position:relative;min-height:52px;display:flex;align-items:center}
.kh-faq__list summary::-webkit-details-marker{display:none}
.kh-faq__list summary h3{margin:0;font-size:1rem;font-weight:600}
.kh-faq__list summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid var(--kh-ink);border-radius:var(--kh-r);display:grid;place-items:center;font-family:var(--kh-font-mono);font-size:1.1rem;transition:transform var(--kh-t)}
.kh-faq__list details[open] summary::after{content:"–";background:var(--kh-ink);color:var(--kh-paper)}
.kh-faq__a{padding:0 18px 16px;color:var(--kh-ink-2);font-size:.95rem}
.kh-faq__a p{margin:0}
.kh-faq--page .kh-faq__in{max-width:none}
.kh-cta{background:var(--kh-blue);color:var(--kh-paper);padding:var(--kh-sec) 0;position:relative;overflow:hidden}
.kh-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:40px 40px}
.kh-cta__in{position:relative;display:grid;gap:var(--kh-s6)}
.kh-cta h2{color:#fff}
.kh-cta p{color:var(--kh-concrete);max-width:56ch}
.kh-cta__btns{display:flex;flex-wrap:wrap;gap:10px;align-content:center}
.kh-cta .kh-btn--orange{box-shadow:4px 4px 0 rgba(0,0,0,.35)}
@media(min-width:900px){.kh-cta__in{grid-template-columns:1.3fr 1fr;align-items:center}.kh-cta__btns{justify-content:flex-end}}
.kh-rel{padding:var(--kh-s8) 0;border-top:1px solid var(--kh-line);background:var(--kh-paper-2)}
.kh-rel h2{font-size:1rem;margin-bottom:var(--kh-s3)}
.kh-rel ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9rem}
.kh-rel li.is-cur a{color:var(--kh-ink-3);text-decoration:none;pointer-events:none}
.kh-map{aspect-ratio:16/10;overflow:hidden;background:var(--kh-paper-2);background-image:linear-gradient(var(--kh-line) 1px,transparent 1px),linear-gradient(90deg,var(--kh-line) 1px,transparent 1px);background-size:40px 40px}
.kh-map iframe{width:100%;height:100%;border:0}
.kh-map__ph{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:var(--kh-s5);text-align:center}
.kh-map__ph p{font-size:.85rem;color:var(--kh-ink-2);margin:0}
.kh-contact{display:grid;gap:var(--kh-s8)}
@media(min-width:960px){.kh-contact{grid-template-columns:1fr 1.1fr;gap:var(--kh-s16);align-items:start}}
.kh-contact__nap p{margin-bottom:12px;font-size:.95rem}
.kh-contact__nap strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kh-ink-3)}

/* ---------- Diary single, checklist, jobs, contract ---------- */
.kh-diary__hero{padding:var(--kh-s6)}
.kh-diary__big{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0}
.kh-diary__big span{font-size:.88rem;color:var(--kh-ink-2)}
.kh-diary__phases{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:var(--kh-s3);font-size:.72rem;color:var(--kh-ink-3)}
.kh-diary__phases li{border-top:2px solid var(--kh-line-2);padding-top:4px}
.kh-diary__phases li.is-done{border-top-color:var(--kh-orange);color:var(--kh-ink)}
.kh-weeks{list-style:none;display:grid;gap:var(--kh-s5)}
.kh-week{padding:var(--kh-s5)}
.kh-week__h h3{font-size:1.1rem;margin:8px 0 2px}
.kh-week__h p{font-size:.8rem;color:var(--kh-ink-3);margin:0}
.kh-week__imgs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:var(--kh-s4) 0}
@media(min-width:700px){.kh-week__imgs{grid-template-columns:repeat(4,1fr)}}
.kh-week__img{position:relative;display:block;aspect-ratio:10/7;overflow:hidden;border:1px solid var(--kh-line-2)}
.kh-week__img img{width:100%;height:100%;object-fit:cover}
.kh-week__date{position:absolute;right:6px;bottom:6px;background:rgba(28,28,28,.8);color:#fff;font-size:.65rem;padding:3px 6px}
.kh-week__cols{display:grid;gap:var(--kh-s4)}
@media(min-width:700px){.kh-week__cols{grid-template-columns:1fr 1fr}}
.kh-week__cols h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kh-ink-3);margin-bottom:8px}
.kh-week__note{margin:var(--kh-s4) 0 0;padding:10px 14px;background:var(--kh-paper);border-left:3px solid var(--kh-blue);font-size:.9rem}
.kh-check-wrap{display:grid;gap:var(--kh-s5);max-width:900px}
.kh-check-head{padding:var(--kh-s5);display:grid;gap:8px;position:sticky;top:calc(var(--kh-hd) + 8px);z-index:5}
.kh-check-head p{margin:0;font-size:.9rem}
.kh-check-head__btns{display:flex;flex-wrap:wrap;gap:8px}
.kh-check-group{border:0;padding:var(--kh-s5);margin:0;min-width:0}
.kh-check-group legend{font:600 1.1rem/1.3 var(--kh-font-head);padding:0;margin-bottom:var(--kh-s3);float:left;width:100%}
.kh-check-list{list-style:none;display:grid;gap:4px;clear:both}
.kh-check{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:10px 0;cursor:pointer;border-bottom:1px dashed var(--kh-line)}
.kh-check input{position:absolute;opacity:0;width:1px;height:1px}
.kh-check__box{width:22px;height:22px;border:1.5px solid var(--kh-ink);border-radius:var(--kh-r);margin-top:2px;position:relative;background:var(--kh-white)}
.kh-check input:checked+.kh-check__box{background:var(--kh-ink)}
.kh-check input:checked+.kh-check__box::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border-right:2px solid var(--kh-paper);border-bottom:2px solid var(--kh-paper);transform:rotate(45deg)}
.kh-check input:focus-visible+.kh-check__box{outline:2px solid var(--kh-orange);outline-offset:2px}
.kh-check__t{display:grid;gap:2px}
.kh-check__t strong{font-size:.95rem}
.kh-check__t small{font-size:.82rem;color:var(--kh-ink-2)}
.kh-check input:checked~.kh-check__t strong{color:var(--kh-ink-3);text-decoration:line-through}
.kh-jobs{display:grid;gap:var(--kh-s3)}
.kh-job summary{list-style:none;cursor:pointer;padding:var(--kh-s5);display:grid;gap:4px;position:relative;padding-right:56px}
.kh-job summary::-webkit-details-marker{display:none}
.kh-job summary h2{margin:6px 0 0}
.kh-job summary p{margin:0;font-size:.8rem;color:var(--kh-ink-3)}
.kh-job summary::after{content:"+";position:absolute;right:18px;top:22px;width:32px;height:32px;border:1px solid var(--kh-ink);border-radius:var(--kh-r);display:grid;place-items:center;font-family:var(--kh-font-mono)}
.kh-job[open] summary::after{content:"–";background:var(--kh-ink);color:var(--kh-paper)}
.kh-job__b{padding:0 var(--kh-s5) var(--kh-s5)}
.kh-job__cols{display:grid;gap:var(--kh-s4);margin:var(--kh-s3) 0 var(--kh-s4)}
@media(min-width:700px){.kh-job__cols{grid-template-columns:1fr 1fr}}
.kh-job__cols h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--kh-ink-3)}
.kh-contract{padding:clamp(20px,4vw,56px);max-width:none;font-size:.95rem}
.kh-contract__h{text-align:center;margin-bottom:var(--kh-s8)}
.kh-contract__h h2{border:0;padding:0;font-size:1.3rem;margin:12px 0 6px}
.kh-contract__h h2::before{display:none}
.kh-contract__h p{font-size:.8rem;margin:0}
.kh-contract h2{font-size:1.05rem}
.kh-contract__sign{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:var(--kh-s12);text-align:center;font-weight:600;font-size:.85rem;letter-spacing:.08em}
.kh-contract__sign span{padding-top:80px;border-top:1px dashed var(--kh-line-2)}

/* ---------- Footer, thanh CTA dính đáy ---------- */
.kh-ft{background:var(--kh-ink);color:var(--kh-concrete);padding:var(--kh-s12) 0 calc(var(--kh-cta-h) + var(--kh-s6));position:relative;font-size:.92rem}
.kh-ft::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.kh-ft>*{position:relative}
.kh-ft__grid{display:grid;gap:var(--kh-s8)}
@media(min-width:700px){.kh-ft__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.kh-ft__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
.kh-ft__brand p{margin-top:var(--kh-s4);color:var(--kh-concrete-2)}
.kh-ft__legal{margin:0;display:grid;gap:8px;font-size:.72rem;color:var(--kh-concrete-2)}
.kh-ft__legal dt{color:var(--kh-paper);font-weight:500}
.kh-ft__legal dd{margin:0}
.kh-ft__h{font:600 .75rem/1.3 var(--kh-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--kh-paper);margin-bottom:var(--kh-s4)}
.kh-ft ul{list-style:none;display:grid;gap:8px}
.kh-ft a{color:var(--kh-concrete);text-decoration:none}
.kh-ft a:hover{color:var(--kh-orange);text-decoration:underline}
.kh-ft address{font-style:normal}
.kh-ft address p{margin-bottom:8px}
.kh-ft__pol{display:flex!important;flex-wrap:wrap;gap:6px 16px!important;margin-top:var(--kh-s4);font-size:.82rem}
.kh-ft__bar{margin-top:var(--kh-s10);padding-top:var(--kh-s5);border-top:1px solid rgba(244,243,238,.15);font-size:.72rem;color:var(--kh-concrete-2)}
.kh-ft__bar p{margin:0}
.kh-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr 1.3fr;background:var(--kh-ink);border-top:1px solid rgba(244,243,238,.2);height:var(--kh-cta-h);padding-bottom:env(safe-area-inset-bottom)}
.kh-stickybar a{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--kh-paper);text-decoration:none;font:600 .85rem/1 var(--kh-font-body);min-height:44px;border-right:1px solid rgba(244,243,238,.15)}
.kh-stickybar a.is-cta{background:var(--kh-orange);border:0}
@media(min-width:1024px){.kh-stickybar{display:none}.kh-ft{padding-bottom:var(--kh-s8)}.kh-hero__in{min-height:0}}

/* ---------- In ---------- */
@media print{
  body{background:#fff;color:#000}
  .kh-hd,.kh-ft,.kh-stickybar,.kh-cta,.kh-rel,.kh-crumbs,.kh-hero__btns,.kh-est__nav,.kh-est__actions,.kh-check-head__btns,.kh-faq,.kh-sec--alt:not(.kh-print-keep){display:none!important}
  .kh-corners,.kh-est{border-color:#000}
  body.kh-print-est main>*:not(.kh-print-only){display:none}
  body.kh-print-est .kh-print-only{display:block}
  .kh-contract{border:0;padding:0}
  a{color:#000;text-decoration:none}
}
.kh-print-only{display:none}
