:root{
    --gold:#c9a55c;
    --gold-dark:#ad8746;
    --dark:#17181c;
    --dark-2:#1f2024;
  }
  html{overflow-x:hidden;}
  body{font-family:'Plus Jakarta Sans',Arial,sans-serif; color:#232323; overflow-x:hidden; padding-top:74px;}
  h1,h2,h3,h4,.navbar-brand{font-family:'Plus Jakarta Sans',Arial,sans-serif;}
  @media (max-width:767.98px){
    .container{--bs-gutter-x:1.5rem;}
  }
  .text-gold{color:var(--gold)!important;}
  .bg-dark-custom{background:var(--dark)!important;}
  .btn-gold{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:600;}
  .btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#171717;}
  .btn-outline-gold{border:1px solid var(--gold);color:var(--gold);font-weight:600;}
  .btn-outline-gold:hover{background:var(--gold);color:#171717;}
  .btn{transition:transform .2s ease,box-shadow .2s ease;}
  .btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.15);}
  .section-title{font-weight:800;letter-spacing:.01em;}
  .section-heading-centered{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    text-align:left;
    margin-bottom:1.5rem;
  }
  .section-heading-centered .see-all-link,
  .section-heading-centered .btn{
    flex-shrink:0;
  }
  .category-ribbon{
    position:relative;
    display:grid;
    grid-template-columns:minmax(132px,.45fr) minmax(0,1fr) minmax(132px,.45fr);
    align-items:center;
    gap:0;
    min-height:52px;
    margin-bottom:1.65rem;
    padding:0;
    overflow:hidden;
    border-radius:0;
    background:
      linear-gradient(90deg,rgba(173,135,70,.98),rgba(190,158,100,.94) 52%,rgba(173,135,70,.98)),
      var(--gold-dark);
    box-shadow:0 8px 22px rgba(23,24,28,.08);
  }
  .category-ribbon::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,0) 18%),
      repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 1px,rgba(255,255,255,0) 1px 14px);
    opacity:.32;
  }
  .category-ribbon__label{
    position:relative;
    z-index:1;
    align-self:stretch;
    display:flex;
    align-items:center;
    min-width:132px;
    width:max-content;
    padding:0 2.2rem 0 1.1rem;
    background:var(--dark-2);
    color:#fff;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .category-ribbon__label::after{
    content:"";
    position:absolute;
    top:0;
    right:-30px;
    width:30px;
    height:100%;
    background:var(--dark-2);
    clip-path:polygon(0 0,100% 0,0 100%);
  }
  .category-ribbon__title{
    position:relative;
    z-index:1;
    align-self:stretch;
    justify-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:clamp(1.25rem,2.2vw,2rem);
    font-weight:800;
    line-height:1;
    letter-spacing:.12em;
    text-align:center;
    transform:translateY(.08em);
  }
  .category-ribbon__link{
    position:relative;
    z-index:1;
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:.28rem;
    padding-right:1.1rem;
    color:#fff;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .2s ease,transform .2s ease;
  }
  .category-ribbon .category-ribbon__link:hover{
    color:#171717!important;
    transform:translateX(2px);
  }
  .navbar-nav .nav-link{text-transform:uppercase;font-size:.88rem;font-weight:600;letter-spacing:.04em;color:#e7e7e7!important;transition:color .2s ease;}
  .navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--gold)!important;}
  .header-hotline-link{
    display:inline-flex;
    align-items:center;
    gap:.15rem;
    transition:color .2s ease,transform .2s ease,text-shadow .2s ease;
  }
  .header-hotline-link i{
    transition:transform .2s ease,color .2s ease;
  }
  .header-hotline-link:hover,
  .header-hotline-link:focus{
    color:var(--gold)!important;
    transform:translateY(-1px);
    text-shadow:0 0 14px rgba(201,165,92,.35);
  }
  .header-hotline-link:hover i,
  .header-hotline-link:focus i{
    color:#f0c66f!important;
    transform:rotate(-10deg) scale(1.08);
  }
  .nav-offcanvas{
    background:var(--dark)!important;
    color:#fff;
  }
  .nav-offcanvas .offcanvas-header{
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:1rem 1.1rem;
  }
  .nav-offcanvas .btn-close{filter:invert(1) grayscale(1);opacity:.85;}
  .offcanvas-brand-copy{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#b8b8b8;}
  .offcanvas-nav-icon{display:none;}
  .offcanvas-contact{
    border:1px solid rgba(201,165,92,.24);
    background:linear-gradient(135deg,rgba(201,165,92,.16),rgba(255,255,255,.04));
    border-radius:.9rem;
    padding:1rem;
  }
  .offcanvas-contact .contact-label{
    color:#b8b8b8;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .offcanvas-action{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:42px;
    border-radius:.65rem;
    text-decoration:none;
    font-weight:700;
    font-size:.82rem;
  }
  .dropdown-menu-dark .dropdown-item{transition:background-color .2s ease,color .2s ease;}
  .dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{background-color:rgba(201,165,92,.15);color:var(--gold);}
  .navbar-brand{transition:opacity .2s ease;}
  .navbar-brand:hover{opacity:.85;}
  .logo-chip{display:inline-flex;align-items:center;}
  .logo-chip img{height:48px;width:auto;display:block;}
  .logo-chip.logo-chip-lg img{height:54px;}

  .navbar-toggler{padding:.2rem .45rem;border:none;font-size:.9rem;}
  .navbar-toggler:focus{box-shadow:0 0 0 .15rem rgba(201,165,92,.4);}

  .navbar-sticky{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1040;
    box-shadow:0 2px 12px rgba(0,0,0,.22);
  }
  .navbar-sticky,
  .mobile-bottom-nav,
  .floating-contact{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    will-change:transform;
  }

  @media (max-width:991.98px){
    body{padding-top:62px;}
    .navbar-sticky{padding-top:.25rem!important;padding-bottom:.25rem!important;}
    .navbar-sticky>.container-fluid{padding-left:1rem!important;padding-right:1rem!important;}
    .logo-chip img{height:44px;}
    .navbar-toggler{padding:.35rem .55rem;font-size:1.15rem;}
    .nav-offcanvas{
      width:min(86vw,360px)!important;
      min-height:100dvh;
      border-right:1px solid rgba(201,165,92,.28)!important;
      box-shadow:10px 0 30px rgba(0,0,0,.42);
    }
    .nav-offcanvas .offcanvas-header{
      background:var(--dark);
      align-items:center;
    }
    .nav-offcanvas .offcanvas-header .logo-chip img{height:46px;}
    .nav-offcanvas .offcanvas-body{
      display:flex;
      flex-direction:column;
      padding:1rem 1.1rem 1.25rem;
      background:
        linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 34%),
        var(--dark);
      overflow-y:auto;
    }
    .nav-offcanvas .navbar-nav{gap:.35rem;}
    .nav-offcanvas .nav-link{
      display:flex;
      align-items:center;
      gap:.75rem;
      min-height:48px;
      padding:.7rem .85rem;
      border:1px solid rgba(255,255,255,.08);
      border-radius:.75rem;
      background:rgba(255,255,255,.035);
    }
    .nav-offcanvas .nav-link:hover,
    .nav-offcanvas .nav-link.active{
      border-color:rgba(201,165,92,.36);
      background:rgba(201,165,92,.12);
    }
    .offcanvas-nav-icon{
      display:inline-flex;
      width:26px;
      height:26px;
      border-radius:50%;
      align-items:center;
      justify-content:center;
      color:var(--gold);
      background:rgba(201,165,92,.12);
      font-size:.9rem;
      flex:0 0 auto;
    }
    .nav-offcanvas .dropdown-menu{
      position:static!important;
      transform:none!important;
      margin:.35rem 0 .15rem 2.6rem!important;
      border:1px solid rgba(255,255,255,.08);
      border-radius:.75rem;
      background:#202126;
    }
    .offcanvas-contact{margin-top:auto!important;}
  }
  @media (min-width:992px){
    .nav-offcanvas{flex-grow:1;}
    .nav-offcanvas .offcanvas-body{display:flex;align-items:center;padding:0;overflow:visible;}
    .offcanvas-contact{display:none;}
    .navbar-sticky .dropdown:hover>.dropdown-menu,
    .navbar-sticky .dropdown:focus-within>.dropdown-menu{
      display:block;
      opacity:1;
      visibility:visible;
      transform:translateY(0);
      pointer-events:auto;
    }
    .navbar-sticky .dropdown:hover>.dropdown-toggle,
    .navbar-sticky .dropdown:focus-within>.dropdown-toggle{
      color:var(--gold)!important;
    }
    .navbar-sticky .dropdown-menu{
      display:block;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transform:translateY(8px);
      transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    }
  }

  .hero-section{
    margin-top:-1px;
    padding-top:140px;
    padding-bottom:110px;
    background:
      linear-gradient(90deg, rgba(15,16,19,.88) 0%, rgba(15,16,19,.55) 55%, rgba(15,16,19,.25) 100%),
      url('../img/kienancons/hero.webp') center/cover no-repeat;
  }
  @media (max-width:991.98px){
    .hero-section{padding-top:88px;padding-bottom:80px;}
  }
  @media (max-width:767.98px){
    .hero-section{
      padding-top:42px;
      padding-bottom:48px;
      background-position:center top;
    }
    .hero-section .text-gold.fw-semibold.mb-2{
      font-size:.72rem;
      margin-bottom:.35rem!important;
    }
    .hero-section h1.display-4{
      font-size:clamp(1.85rem, 9vw, 2.45rem);
      line-height:.95;
    }
    .hero-section h1.text-gold{margin-bottom:1rem!important;}
    .hero-section p{display:none;}
    .hero-section .d-flex.flex-wrap.gap-3.mt-4{
      gap:.65rem!important;
      margin-top:1rem!important;
    }
    .hero-section .btn-lg{
      flex:1 1 0;
      min-width:0;
      padding:.65rem .7rem!important;
      font-size:.82rem;
      border-radius:.55rem;
      white-space:nowrap;
    }
    .hero-section .stats-panel{
      display:none!important;
    }
  }
  .icon-badge{
    width:52px;height:52px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(201,165,92,.15);color:var(--gold);font-size:1.4rem;flex:0 0 auto;
    transition:background-color .25s ease,transform .25s ease;
  }
  .stats-panel{
    background:rgba(23,24,28,.7);
    border:1px solid rgba(255,255,255,.08);
    border-radius:1rem;
    backdrop-filter:blur(2px);
  }
  .stats-panel>div{transition:transform .25s ease;}
  .stats-panel>div:hover{transform:translateY(-3px);}
  .stats-panel>div:hover .icon-badge{background:rgba(201,165,92,.3);transform:scale(1.08);}

  .services-strip{margin-top:-70px;position:relative;z-index:3;}
  .services-strip>.bg-white{padding-top:1.75rem!important;padding-bottom:1.75rem!important;}
  .services-row{align-items:center;}
  .service-col{
    min-height:120px;
    border-right:1px solid #eee;
    transition:transform .25s ease;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .service-col:last-child{border-right:none;}
  .service-icon-img{
    width:96px;
    height:82px;
    object-fit:contain;
    display:block;
    transition:transform .25s ease;
  }
  .service-col:hover{transform:translateY(-4px);}
  .service-col:hover .service-icon-img{transform:scale(1.08);}
  .service-col .text-muted br{display:none;}
  @media (min-width:992px){
    .services-row>.service-col{
      flex:0 0 20%;
      max-width:20%;
      width:20%;
    }
  }
  @media (max-width:767.98px){
    .services-strip{
      margin-top:0;
      padding-left:0;
      padding-right:0;
      padding-top:.55rem;
      padding-bottom:.15rem;
    }
    .services-strip>.bg-white{
      background:transparent!important;
      box-shadow:none!important;
      padding:0!important;
      border-radius:0!important;
    }
    .services-strip .carousel-wrap{padding:0;}
    .services-strip .carousel-nav{
      display:none!important;
      width:30px;
      height:30px;
      font-size:.85rem;
      background:#fff;
    }
    .services-strip .carousel-nav.prev{left:0;}
    .services-strip .carousel-nav.next{right:0;}
    .services-strip+section{
      margin-top:0!important;
      padding-top:.35rem!important;
    }
    .service-col{
      min-height:0;
      border:0;
      border-radius:0;
      background:transparent;
      padding:.15rem .06rem;
    }
    .service-icon-img{
      width:50px;
      height:46px;
    }
    .service-col .fw-bold{
      font-size:.52rem;
      line-height:1.15;
      margin-top:.2rem!important;
    }
    .service-col .text-muted{
      display:block;
      font-size:.45rem;
      line-height:1.15;
      margin-top:0;
    }
    .service-col .text-muted br{display:block;}
  }

  .projects-row{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem;}
  .project-card{
    position:relative;
    display:block;
    overflow:hidden;
    height:100%;
    color:#232323;
    text-decoration:none;
    background:#fff;
    border:1px solid rgba(23,24,28,.06);
    border-radius:1.05rem;
    box-shadow:0 0 16px rgba(23,24,28,.09);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  }
  .project-card img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    height:auto;
    object-fit:cover;
    transition:transform .35s ease,filter .35s ease;
  }
  .project-card:hover{
    color:#171717;
    border-color:rgba(201,165,92,.42);
    box-shadow:0 6px 18px rgba(23,24,28,.14);
    transform:translateY(-5px);
  }
  .project-card:hover img{
    filter:saturate(1.04) brightness(1.03);
    transform:scale(1.04);
  }
  .project-card .card-caption{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:.48rem .6rem .55rem;
    background:#fff;
    text-align:center;
  }
  .project-card .card-caption .fw-bold{
    color:#232323;
    font-size:.82rem;
    line-height:1.25;
    letter-spacing:.01em;
  }

  .mini-card{overflow:hidden;border-radius:.6rem;}
  .mini-card img{width:100%;height:150px;object-fit:cover;border-radius:.6rem;transition:transform .4s ease;}
  .mini-card:hover img{transform:scale(1.08);}
  .mini-card .cap{font-size:.78rem;font-weight:700;text-transform:uppercase;text-align:center;margin-top:.6rem;letter-spacing:.02em;transition:color .2s ease;}
  .mini-card:hover .cap{color:var(--gold);}

  /* Mobile horizontal carousel: services / project / mini-card grids swipe instead of stacking */
  .carousel-wrap{position:relative;}
  .carousel-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    width:34px;height:34px;border-radius:50%;border:none;padding:0;
    background:rgba(255,255,255,.78);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
    display:none;align-items:center;justify-content:center;
    color:#171717;font-size:1rem;z-index:6;
    box-shadow:0 2px 10px rgba(0,0,0,.18);
    transition:opacity .2s ease,background-color .2s ease;
  }
  .carousel-nav:active{background:#fff;}
  .carousel-nav.prev{left:2px;}
  .carousel-nav.next{right:2px;}
  .carousel-nav[disabled]{opacity:.3;pointer-events:none;}
  @media (max-width:767.98px){
    .carousel-nav{display:flex;}
    .mobile-scroll{
      flex-wrap:nowrap!important;
      justify-content:flex-start!important;
      overflow-x:auto;
      overflow-y:visible;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      -ms-overflow-style:none;
      scrollbar-width:none;
      padding:4px 14px 8px!important;
      scroll-padding-left:14px;
      scroll-padding-right:14px;
    }
    .mobile-scroll::-webkit-scrollbar{display:none;}
    .mobile-scroll>*{scroll-snap-align:start;}
    .services-row.mobile-scroll{
      --bs-gutter-x:0;
      --bs-gutter-y:0;
      margin-left:0!important;
      margin-right:0!important;
      padding:0!important;
      overflow:visible;
      scroll-snap-type:none;
    }
    .services-row.mobile-scroll>*{flex:0 0 20%!important;max-width:20%!important;width:20%!important;}
    .projects-row.mobile-scroll{
      --bs-gutter-x:.25rem;
      --bs-gutter-y:.25rem;
      margin-left:0!important;
      margin-right:0!important;
      padding-left:2px!important;
      padding-right:2px!important;
    }
    .projects-row.mobile-scroll>*{flex:0 0 25%!important;max-width:25%!important;width:25%!important;}
    .projects-row .project-card{
      border-radius:.65rem;
      box-shadow:0 0 8px rgba(23,24,28,.08);
    }
    .projects-row .project-card:hover{
      box-shadow:0 3px 10px rgba(23,24,28,.1);
      transform:translateY(-2px);
    }
    .projects-row .project-card .card-caption{
      min-height:28px;
      padding:.24rem .22rem .28rem;
    }
    .projects-row .project-card .card-caption .fw-bold{font-size:.5rem;line-height:1.15;}
    .minicards-row.mobile-scroll>*{flex:0 0 40%!important;max-width:40%!important;width:40%!important;}
    .project-section{
      padding-top:.8rem!important;
      padding-bottom:.75rem!important;
      margin-top:0!important;
      margin-bottom:0!important;
    }
    .project-section .section-heading-centered{
      margin-bottom:.7rem;
    }
    .project-section .category-ribbon{
      grid-template-columns:auto minmax(0,1fr) auto;
      min-height:36px;
      margin-bottom:.7rem;
      box-shadow:0 5px 14px rgba(23,24,28,.08);
    }
    .category-ribbon__label{
      min-width:0;
      padding:0 1.25rem 0 .55rem;
      font-size:.6rem;
      letter-spacing:.04em;
    }
    .category-ribbon__label::after{
      right:-18px;
      width:18px;
    }
    .category-ribbon__title{
      font-size:.88rem;
      line-height:1.1;
      letter-spacing:.07em;
      padding-left:.9rem;
    }
    .category-ribbon__link{
      gap:.12rem;
      padding-right:.55rem;
      font-size:.5rem;
      letter-spacing:0;
    }
    .project-section .mobile-scroll{
      padding-top:1px!important;
      padding-bottom:3px!important;
    }
  }

  .library-section{
    background:
      linear-gradient(90deg, rgba(15,16,19,.92) 20%, rgba(15,16,19,.55) 100%),
      url('../img/kienancons/interior-banner.webp') center/cover no-repeat;
    color:#fff;
  }
  .library-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:80px;}
  .library-item .lib-icon{
    width:66px;height:66px;border-radius:50%;border:1px solid rgba(255,255,255,.38);
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.94);
    overflow:hidden;
    transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
  }
  .library-item .lib-icon img{
    width:88%;
    height:88%;
    object-fit:contain;
    display:block;
  }
  .library-item span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#eee;transition:color .2s ease;}
  .library-item:hover .lib-icon{border-color:var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.28);transform:scale(1.08);}
  .library-item:hover span{color:var(--gold);}
  @media (max-width:767.98px){
    .library-section{padding-top:1.45rem!important;padding-bottom:1.45rem!important;}
    .library-heading{gap:.65rem!important;margin-bottom:1rem!important;}
    .library-heading h2{
      font-size:1.18rem;
      line-height:1.15;
      letter-spacing:0;
    }
    .library-section .btn-gold{
      padding:.34rem .52rem;
      font-size:.58rem;
      line-height:1.1;
      white-space:nowrap;
    }
    .library-section .btn-gold .bi{margin-left:.25rem!important;}
    .section-heading-centered{gap:.65rem;}
    .section-heading-centered .see-all-link,
    .section-heading-centered .btn{display:inline-flex;align-items:center;width:max-content;}
    .library-row{
      gap:.65rem 0!important;
      justify-content:flex-start!important;
      overflow:visible!important;
      padding:0!important;
    }
    .library-item{
      flex:0 0 20%;
      max-width:20%;
      min-width:0;
      gap:.25rem;
    }
    .library-item .lib-icon{
      width:42px;
      height:42px;
    }
    .library-item span{
      font-size:.52rem;
      line-height:1.1;
      letter-spacing:.02em;
    }
  }

  .feature-col{
    border-right:1px solid #eee;border-bottom:1px solid #eee;
    transition:transform .25s ease;padding:1rem .5rem;
  }
  .feature-col i{transition:transform .25s ease;}
  .feature-col:hover{transform:translateY(-4px);}
  .feature-col:hover i{transform:scale(1.15);}
  .feature-text .text-muted br{display:none;}
  .feature-col:nth-child(2n){border-right:none;}
  .feature-col:nth-last-child(-n+2){border-bottom:none;}
  @media (min-width:768px){
    .feature-col{border-bottom:none;}
    .feature-col:nth-child(2n){border-right:1px solid #eee;}
    .feature-col:last-child{border-right:none;}
  }

  .team-photo{width:150px;height:150px;object-fit:cover;border-radius:50%;transition:transform .3s ease,box-shadow .3s ease;}
  .team-photo:hover{transform:scale(1.05);box-shadow:0 0 0 6px rgba(201,165,92,.25);}
  .social-mini{
    width:34px;height:34px;border-radius:50%;border:1px solid #ddd;
    display:inline-flex;align-items:center;justify-content:center;color:#555;font-size:.85rem;
    transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
  }
  .social-mini:hover{background:var(--gold);border-color:var(--gold);color:#171717;transform:translateY(-2px);}
  .cta-band{
    position:relative;
    padding:4.5rem 0;
    color:#fff;
    background:
      linear-gradient(90deg,rgba(15,16,19,.93) 0%,rgba(15,16,19,.74) 48%,rgba(15,16,19,.42) 100%),
      url('../img/kienancons/proj-biet-thu.webp') center/cover no-repeat;
  }
  .cta-card__badge{
    display:inline-flex;
    align-items:center;
    padding:.4rem 1rem;
    border-radius:999px;
    border:1px solid rgba(201,165,92,.45);
    background:rgba(201,165,92,.16);
    backdrop-filter:blur(2px);
    color:var(--gold);
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .cta-band h2{font-size:1.7rem;text-shadow:0 2px 12px rgba(0,0,0,.35);}
  .cta-card__sub{opacity:.9;}
  @media (max-width:767.98px){
    .cta-band{
      padding:2.75rem 0;
      text-align:center;
      background:
        linear-gradient(180deg,rgba(15,16,19,.88) 0%,rgba(15,16,19,.82) 60%,rgba(15,16,19,.9) 100%),
        url('../img/kienancons/proj-biet-thu.webp') center/cover no-repeat;
    }
    .cta-band h2{font-size:1.15rem;}
    .cta-band .btn-lg{font-size:.85rem;padding:.6rem 1.1rem;}
  }
  @media (max-width:767.98px){
    .features-section{
      padding-top:.55rem!important;
      padding-bottom:.45rem!important;
    }
    .features-section .row{
      --bs-gutter-x:0;
      --bs-gutter-y:0;
    }
    .feature-col{padding:.18rem .12rem;}
    .feature-col i{font-size:1.55rem!important;}
    .feature-text .fw-bold{
      font-size:.64rem;
      line-height:1.18;
      margin-top:.12rem!important;
    }
    .feature-text .text-muted{
      font-size:.56rem;
      line-height:1.22;
    }
    .feature-text .text-muted br{display:block;}
    .team-section{
      padding-top:1rem!important;
      padding-bottom:1.1rem!important;
    }
    .team-section h2{
      font-size:1.05rem;
      line-height:1.15;
      margin-bottom:.9rem!important;
    }
    .team-row{
      --bs-gutter-x:.35rem;
      --bs-gutter-y:0;
      padding-left:2px!important;
      padding-right:2px!important;
    }
    .team-row>*{flex:0 0 33.333333%!important;max-width:33.333333%!important;width:33.333333%!important;}
    .team-photo{
      width:72px;
      height:72px;
      margin-bottom:.45rem!important;
    }
    .team-row .fw-bold{font-size:.62rem;line-height:1.12;}
    .team-row .small{font-size:.5rem;line-height:1.2;margin-bottom:.3rem!important;}
    .social-mini{
      width:22px;
      height:22px;
      font-size:.56rem;
    }
    .team-row .d-flex.justify-content-center{gap:.25rem!important;}
  }

  footer ul{color:#c9c9c9;}
  footer a{color:#c9c9c9;text-decoration:none;transition:color .2s ease;}
  footer a:hover{color:var(--gold);}
  footer .social-mini{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.42);
  }
  footer .social-mini:nth-child(1){color:#1877f2;border-color:rgba(24,119,242,.72);}
  footer .social-mini:nth-child(2){color:#25f4ee;border-color:rgba(37,244,238,.68);}
  footer .social-mini:nth-child(3){color:#ff3b30;border-color:rgba(255,59,48,.72);}
  footer .social-mini:nth-child(4){color:#e4405f;border-color:rgba(228,64,95,.72);}
  footer .social-mini:hover{
    color:#fff;
    box-shadow:0 8px 18px rgba(0,0,0,.28);
  }
  footer .social-mini:nth-child(1):hover{background:#1877f2;border-color:#1877f2;}
  footer .social-mini:nth-child(2):hover{background:linear-gradient(135deg,#25f4ee,#fe2c55);border-color:#25f4ee;}
  footer .social-mini:nth-child(3):hover{background:#ff0000;border-color:#ff0000;}
  footer .social-mini:nth-child(4):hover{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);border-color:#dd2a7b;}

  .see-all-link{transition:color .2s ease;}
  .see-all-link:hover{color:var(--gold)!important;}
  .see-all-link i{transition:transform .2s ease;display:inline-block;}
  .see-all-link:hover i{transform:translateX(4px);}

  /* Bottom fixed nav (mobile only) */
  .mobile-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;height:60px;z-index:1030;
    background:var(--dark);border-top:1px solid rgba(255,255,255,.08);
    display:flex;align-items:flex-end;box-shadow:0 -2px 12px rgba(0,0,0,.3);
  }
  .mb-nav-item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;padding-bottom:.5rem;color:#cfcfcf;text-decoration:none;
    font-size:.6rem;text-transform:uppercase;letter-spacing:.02em;transition:color .2s ease;
  }
  .mb-nav-item i{font-size:1.15rem;}
  .mb-nav-item:hover,.mb-nav-item:active{color:var(--gold);}
  .mb-nav-hotline{position:relative;margin-top:-24px;}
  .mb-nav-hotline-circle{
    position:relative;
    width:52px;height:52px;border-radius:50%;
    background:
      radial-gradient(circle at 32% 24%, #f4d686 0 18%, transparent 19%),
      linear-gradient(145deg,#d8b45f,#bd9145);
    display:flex;align-items:center;justify-content:center;color:#fff;
    font-size:1.26rem;border:5px solid var(--dark);
    box-shadow:
      0 10px 28px rgba(201,165,92,.34),
      0 0 0 1px rgba(255,255,255,.16) inset,
      0 2px 8px rgba(0,0,0,.42) inset;
    margin-bottom:2px;
    animation:mbHotlineGlow 2.6s ease-in-out infinite;
  }
  .mb-nav-hotline-circle::before{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:50%;
    border:1px solid rgba(216,180,95,.5);
    box-shadow:0 0 24px rgba(201,165,92,.28);
    animation:mbHotlineRing 2.6s ease-out infinite;
  }
  .mb-nav-hotline-circle::after{
    content:"";
    position:absolute;
    inset:7px 12px auto 12px;
    height:11px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0));
    pointer-events:none;
  }
  .mb-nav-hotline-circle i{
    position:relative;
    z-index:1;
    text-shadow:0 2px 5px rgba(62,42,12,.45);
    filter:drop-shadow(0 1px 2px rgba(52,35,10,.36));
    animation:mbHotlineIcon 2.6s ease-in-out infinite;
  }
  .mb-nav-hotline span{color:#e7e7e7;}
  @keyframes mbHotlineGlow{
    0%,100%{
      transform:translateY(0) scale(1);
      box-shadow:
        0 10px 28px rgba(201,165,92,.34),
        0 0 0 1px rgba(255,255,255,.16) inset,
        0 2px 8px rgba(0,0,0,.42) inset;
    }
    48%{
      transform:translateY(-1px) scale(1.035);
      box-shadow:
        0 12px 34px rgba(201,165,92,.58),
        0 0 0 1px rgba(255,255,255,.22) inset,
        0 2px 8px rgba(0,0,0,.36) inset;
    }
  }
  @keyframes mbHotlineRing{
    0%{opacity:.62;transform:scale(.78);}
    68%,100%{opacity:0;transform:scale(1.2);}
  }
  @keyframes mbHotlineIcon{
    0%,100%{transform:rotate(0deg) scale(1);}
    44%{transform:rotate(-8deg) scale(1.04);}
    52%{transform:rotate(8deg) scale(1.04);}
    60%{transform:rotate(0deg) scale(1);}
  }
  body{padding-bottom:0;}
  @media (max-width:991.98px){ body{padding-bottom:60px;} }

  /* Floating contact stack (Zalo / Messenger / Hotline / back-to-top) */
  .floating-contact{
    position:fixed;right:16px;bottom:74px;z-index:1035;
    display:flex;flex-direction:column;align-items:center;gap:10px;
  }
  @media (min-width:992px){ .floating-contact{bottom:24px;right:24px;} }
  .fc-btn{
    width:46px;height:46px;border-radius:50%;flex:0 0 auto;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.15rem;text-decoration:none;
    box-shadow:0 4px 12px rgba(0,0,0,.35);transition:transform .15s ease;
  }
  .fc-btn:hover{transform:scale(1.08);color:#fff;}
  .fc-btn-muted{
    width:38px;height:38px;font-size:.95rem;background:rgba(23,24,28,.8);border:1px solid rgba(255,255,255,.18);
    opacity:0;pointer-events:none;transition:opacity .25s ease,transform .15s ease;
  }
  .fc-btn-muted.show{opacity:1;pointer-events:auto;}
  .fc-btn-zalo{background:#0068ff;}
  .fc-btn-zalo img{width:24px;height:24px;object-fit:contain;display:block;}
  .fc-btn-messenger{background:linear-gradient(135deg,#00c6ff,#0078ff);}
  .fc-btn-hotline{
    width:46px;height:46px;font-size:1.15rem;background:var(--gold);color:#fff;
    animation:fcPulse 2.4s infinite;
  }
  @media (max-width:991.98px){
    .floating-contact .fc-btn-zalo,
    .floating-contact .fc-btn-messenger,
    .floating-contact .fc-btn-hotline{display:none!important;}
  }
  @keyframes fcPulse{
    0%{box-shadow:0 0 0 0 rgba(201,165,92,.55);}
    70%{box-shadow:0 0 0 12px rgba(201,165,92,0);}
    100%{box-shadow:0 0 0 0 rgba(201,165,92,0);}
  }

/* Shared KIEN AN CONS inner pages */
.kc-page{background:#f6f6f4;min-height:60vh;}
.kc-page-hero{
  background:
    linear-gradient(90deg,rgba(15,16,19,.92),rgba(15,16,19,.72)),
    url('../img/kienancons/interior-banner.webp') center/cover no-repeat;
  color:#fff;
  padding:3rem 0 3.4rem;
}
.kc-page-hero__content{max-width:760px;}
.kc-page-hero h1,.kc-detail-hero h1{
  font-weight:800;
  font-size:clamp(2rem,5vw,4rem);
  line-height:1;
  margin:.45rem 0 .85rem;
}
.kc-page-hero p,.kc-detail-hero p{color:rgba(255,255,255,.78);font-size:1.05rem;max-width:680px;}
.kc-eyebrow{display:inline-block;color:var(--gold);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.kc-breadcrumb{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;font-size:.82rem;color:rgba(255,255,255,.62);}
.kc-breadcrumb a{color:#fff;text-decoration:none;}
.kc-breadcrumb a:hover{color:var(--gold);}
.kc-breadcrumb i{font-size:.68rem;color:var(--gold);}

.kc-list-layout{padding-top:2.2rem;padding-bottom:4rem;}
.kc-filter-panel{
  position:sticky;
  top:92px;
  background:var(--dark);
  border:1px solid rgba(201,165,92,.22);
  border-radius:.75rem;
  padding:1.15rem;
  color:#e7e7e7;
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}
.kc-filter-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;margin-bottom:1rem;}
.kc-filter-panel__head h2{font-size:1.15rem;margin:0;color:#fff;font-weight:800;}
.kc-filter-panel__head a{color:#fff;text-decoration:none;}
.kc-filter-group{margin-bottom:1.2rem;}
.kc-filter-group>label,.kc-filter-group h6{display:block;color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin-bottom:.55rem;}
.kc-filter-panel .form-control,.kc-filter-panel .form-select{
  background:#25272c;
  color:#fff;
  border-color:rgba(255,255,255,.14);
}
.kc-filter-panel .form-control::placeholder{color:#9ca0a8;}
.kc-filter-panel .form-check{margin-bottom:.45rem;}
.kc-filter-panel .form-check-input{background-color:#25272c;border-color:rgba(255,255,255,.24);}
.kc-filter-panel .form-check-input:checked{background-color:var(--gold);border-color:var(--gold);}
.kc-filter-panel .form-check-label{color:#d9d9d9;font-size:.92rem;}

.kc-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;}
.kc-result-head h2{font-weight:800;margin:.2rem 0 0;text-transform:uppercase;}
.kc-result-count{display:inline-flex;align-items:center;min-height:34px;padding:.3rem .8rem;border-radius:999px;background:#fff;border:1px solid #e5e1d8;font-weight:700;color:#3a3a3a;}
.kc-list-card,.kc-news-card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
  border:1px solid #ebe7de;
  border-radius:.75rem;
  overflow:hidden;
  text-decoration:none;
  color:#242424;
  box-shadow:0 10px 24px rgba(20,20,20,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.kc-list-card:hover,.kc-news-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(20,20,20,.12);border-color:rgba(201,165,92,.55);color:#242424;}
.kc-list-card__media,.kc-news-card__media{position:relative;display:block;aspect-ratio:4/3;background:#ddd;overflow:hidden;}
.kc-list-card__media img,.kc-news-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kc-list-card:hover img,.kc-news-card:hover img{transform:scale(1.05);}
.kc-list-card__body,.kc-news-card__body{display:flex;flex-direction:column;gap:.45rem;padding:1rem;flex:1;}
.kc-list-card__kicker{color:var(--gold-dark);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.kc-list-card__title,.kc-news-card__title{font-weight:800;line-height:1.2;text-transform:uppercase;}
.kc-list-card__desc,.kc-news-card__desc{color:#666;font-size:.86rem;line-height:1.45;flex:1;}
.kc-list-card__link{color:var(--gold-dark);font-weight:800;font-size:.8rem;text-transform:uppercase;}
.kc-list-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:auto;}
.kc-list-card__price{color:#242424;font-size:.82rem;font-weight:800;line-height:1;white-space:nowrap;}
.kc-empty{background:#fff;border:1px dashed #d5ccb8;border-radius:.75rem;text-align:center;padding:3rem 1rem;color:#777;}
.kc-empty i{display:block;font-size:2.5rem;color:var(--gold);margin-bottom:.6rem;}

.kc-detail-hero{
  background:
    linear-gradient(90deg,rgba(15,16,19,.94),rgba(15,16,19,.65)),
    url('../img/kienancons/hero.webp') center/cover no-repeat;
  color:#fff;
  padding:3rem 0 4rem;
}
.kc-detail-hero--article{background:linear-gradient(90deg,rgba(15,16,19,.94),rgba(15,16,19,.7)),url('../img/kienancons/interior-banner.webp') center/cover no-repeat;}
.kc-detail-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.35rem;}
.kc-detail-price{cursor:default;}
.kc-detail-media{position:relative;display:block;border-radius:.75rem;overflow:hidden;box-shadow:0 24px 54px rgba(0,0,0,.3);background:#2a2c31;}

/* Watermark tự động ở góc trên bên trái cho mọi card sản phẩm, bài viết (trang chủ, danh sách, chi tiết & ảnh CKEditor) */
.project-card::after,
.kc-list-card__media::after,
.kc-news-card__media::after,
.kc-detail-media::after,
.kc-content-panel .ck-content figure:not(.table)::after,
.kc-content-panel .ck-content figure.image::after,
.kc-content-panel .ck-content .kc-wm-wrap::after{
  content:"";
  position:absolute;
  top:.5rem;
  left:.5rem;
  width:clamp(42px,24%,64px);
  aspect-ratio:800/788;
  background:url('../img/kienancons/watermark.webp') center/contain no-repeat;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.68)) drop-shadow(0 0 6px rgba(0,0,0,.32));
  pointer-events:none;
  z-index:2;
}
.kc-detail-media::after,
.kc-content-panel .ck-content figure:not(.table)::after,
.kc-content-panel .ck-content figure.image::after,
.kc-content-panel .ck-content .kc-wm-wrap::after{
  top:.85rem;
  left:.85rem;
  width:clamp(68px,19%,112px);
}
@media (max-width:767.98px){
  .projects-row .project-card::after{
    top:.24rem;
    left:.24rem;
    width:clamp(22px,26%,32px);
  }
  .kc-list-card__media::after,
  .kc-news-card__media::after{
    top:.38rem;
    left:.38rem;
    width:clamp(36px,24%,52px);
  }
  .kc-detail-media::after,
  .kc-content-panel .ck-content figure:not(.table)::after,
  .kc-content-panel .ck-content figure.image::after,
  .kc-content-panel .ck-content .kc-wm-wrap::after{
    top:.55rem;
    left:.55rem;
    width:clamp(54px,20%,82px);
  }
}
.kc-detail-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.kc-detail-body{padding-top:2.4rem;padding-bottom:3.5rem;}
.kc-content-panel,.kc-side-panel{
  background:#fff;
  border:1px solid #ebe7de;
  border-radius:.75rem;
  padding:1.4rem;
  box-shadow:0 10px 24px rgba(20,20,20,.06);
}
.kc-content-panel h2{font-weight:800;margin:.25rem 0 1rem;}
.kc-content-panel p{color:#555;line-height:1.7;}
.kc-content-panel .ck-content img{max-width:100%;height:auto;}
.kc-content-panel .ck-content>img,
.kc-content-panel .ck-content p>img{display:block;margin:1.35rem auto;}
.kc-content-panel .ck-content figure:not(.table),
.kc-content-panel .ck-content figure.image{
  position:relative;
  display:table;
  clear:both;
  max-width:100%;
  margin:1.35rem auto;
  text-align:center;
}
.kc-content-panel .ck-content .kc-wm-wrap{
  position:relative;
  display:inline-block;
  max-width:100%;
}
.kc-content-panel .ck-content figure:not(.table)>img,
.kc-content-panel .ck-content figure.image>img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}
.kc-content-panel .ck-content figure.image figcaption{
  caption-side:bottom;
  color:#777;
  font-size:.9rem;
  line-height:1.45;
  padding:.55rem .7rem 0;
}
.kc-content-panel .ck-content .image-style-align-center,
.kc-content-panel .ck-content .image-style-block-align-center{
  float:none;
  margin-left:auto;
  margin-right:auto;
}
.kc-content-panel .ck-content .image-style-align-left,
.kc-content-panel .ck-content .image-style-block-align-left{
  float:left;
  margin:.35rem 1.35rem 1rem 0;
}
.kc-content-panel .ck-content .image-style-align-right,
.kc-content-panel .ck-content .image-style-block-align-right,
.kc-content-panel .ck-content .image-style-side{
  float:right;
  margin:.35rem 0 1rem 1.35rem;
}
.kc-content-panel .ck-content .line-height-100{line-height:1;}
.kc-content-panel .ck-content .line-height-120{line-height:1.2;}
.kc-content-panel .ck-content .line-height-150{line-height:1.5;}
.kc-content-panel .ck-content .line-height-180{line-height:1.8;}
.kc-content-panel .ck-content .line-height-200{line-height:2;}
.kc-content-panel .ck-content::after{content:"";display:block;clear:both;}
.kc-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.kc-feature-grid>div{border:1px solid #eee4d0;border-radius:.65rem;padding:1rem;background:#fbfaf7;}
.kc-feature-grid i{font-size:1.5rem;color:var(--gold-dark);}
.kc-feature-grid strong{display:block;margin:.4rem 0 .25rem;}
.kc-feature-grid span{display:block;color:#666;font-size:.86rem;line-height:1.4;}
.kc-side-panel{position:sticky;top:92px;}
.kc-side-panel dl{margin:1rem 0;}
.kc-side-panel dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#777;}
.kc-side-panel dd{font-weight:700;margin-bottom:.8rem;}
.kc-side-panel a{color:inherit;}
.kc-side-price{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .9rem;border-radius:.35rem;background:var(--gold);color:#171717;font-weight:800;}
.kc-related-section{padding-bottom:3.5rem;}
.kc-related-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem;}
.kc-related-list a{display:flex;gap:.75rem;text-decoration:none;color:#242424;}
.kc-related-list img{width:76px;height:76px;object-fit:cover;border-radius:.5rem;}
.kc-related-list strong{display:block;line-height:1.25;}
.kc-related-list small{color:#777;}
.kc-article-meta{display:flex;flex-wrap:wrap;gap:1rem;color:rgba(255,255,255,.78);font-weight:700;}
.kc-article-meta span{display:inline-flex;align-items:center;gap:.35rem;}
.kc-prev-next{display:flex;justify-content:space-between;gap:1rem;margin-top:1.2rem;}

.kc-contact-section,.kc-about-section,.kc-values-section{padding-top:2.5rem;padding-bottom:3.5rem;}
.kc-contact-stack{display:grid;gap:1rem;}
.kc-contact-item,.kc-contact-form,.kc-map-panel,.kc-value-card,.kc-stat,.kc-about-media{
  background:#fff;border:1px solid #ebe7de;border-radius:.75rem;box-shadow:0 10px 24px rgba(20,20,20,.06);
}
.kc-contact-item{padding:1.2rem;}
.kc-contact-item i{font-size:1.7rem;color:var(--gold-dark);}
.kc-contact-item span{display:block;margin:.6rem 0 .2rem;color:#777;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;}
.kc-contact-item strong{display:block;line-height:1.35;}
.kc-contact-item a{color:inherit;text-decoration:none;}
.kc-contact-form{padding:1.4rem;}
.kc-contact-form h2{font-weight:800;margin:.25rem 0 1rem;}
.kc-contact-form textarea{min-height:150px;}
.input-group .kc-country-select{flex:0 0 auto;width:auto;max-width:7.5rem;}
/* Honeypot chống bot: ẩn khỏi người dùng thật nhưng vẫn nằm trong DOM để bot tự động điền form dính bẫy */
.kc-hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}
.kc-map-panel{margin-top:1.5rem;overflow:hidden;}
.kc-map-panel iframe{display:block;width:100%;height:360px;border:0;}
.kc-about-media{overflow:hidden;}
.kc-about-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.kc-about-section h2{font-weight:800;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;margin:.35rem 0 1rem;}
.kc-about-section p{color:#555;line-height:1.7;}
.kc-about-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;}
.kc-stat-section{padding-bottom:1.5rem;}
.kc-stat{padding:1.2rem;text-align:center;}
.kc-stat strong{display:block;color:var(--gold-dark);font-size:2rem;font-weight:800;line-height:1;}
.kc-stat span{display:block;margin-top:.4rem;font-size:.82rem;text-transform:uppercase;font-weight:800;color:#555;}
.kc-value-card{height:100%;padding:1.25rem;}
.kc-value-card i{font-size:2rem;color:var(--gold-dark);}
.kc-value-card h3{font-size:1.15rem;font-weight:800;margin:.75rem 0 .5rem;}
.kc-value-card p{color:#666;margin:0;line-height:1.55;}

.pagination .page-link{color:#242424;border-color:#e5e1d8;}
.pagination .active .page-link{background:var(--gold);border-color:var(--gold);color:#171717;font-weight:800;}

.kc-auth-page{background:#f6f6f4;min-height:60vh;}
.kc-auth-hero{
  background:
    linear-gradient(90deg,rgba(15,16,19,.94),rgba(15,16,19,.7)),
    url('../img/kienancons/interior-banner.webp') center/cover no-repeat;
  color:#fff;
  padding:3rem 0 4rem;
}
.kc-auth-hero--compact{padding-bottom:3rem;}
.kc-auth-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,460px);
  gap:2rem;
  align-items:center;
}
.kc-auth-copy h1,.kc-auth-message h1{
  font-weight:800;
  font-size:clamp(2rem,4.5vw,4rem);
  line-height:1;
  margin:.45rem 0 .9rem;
}
.kc-auth-copy p,.kc-auth-message p{color:rgba(255,255,255,.78);font-size:1.05rem;max-width:620px;}
.kc-auth-panel,.kc-account-card{
  background:#fff;
  color:#242424;
  border:1px solid rgba(201,165,92,.22);
  border-radius:.75rem;
  box-shadow:0 22px 54px rgba(0,0,0,.22);
}
.kc-auth-panel{padding:1.4rem;}
.kc-auth-panel__head{margin-bottom:1.2rem;}
.kc-auth-panel__head h2{font-weight:800;margin:.25rem 0 0;text-transform:uppercase;}
.kc-auth-panel__head p{color:#666;margin:.45rem 0 0;line-height:1.55;}
.kc-field{margin-bottom:1rem;}
.kc-field label{display:block;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#333;margin-bottom:.4rem;}
.kc-field .form-control{
  min-height:46px;
  border-color:#e1d8c8;
  border-radius:.45rem;
  box-shadow:none;
}
.kc-field .form-control:focus{border-color:var(--gold);box-shadow:0 0 0 .18rem rgba(201,165,92,.18);}
.kc-field small{display:block;margin-top:.4rem;color:#777;font-size:.78rem;line-height:1.45;}
.kc-field ul{margin:.45rem 0 0;padding-left:1rem;color:#777;}
.kc-auth-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;color:#666;font-size:.9rem;}
.kc-auth-links a{color:var(--gold-dark);font-weight:800;text-decoration:none;}
.kc-auth-links a:hover{text-decoration:underline;}
.kc-auth-message{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  padding:2.2rem;
  border:1px solid rgba(201,165,92,.28);
  border-radius:.75rem;
  background:rgba(20,21,24,.72);
  box-shadow:0 22px 54px rgba(0,0,0,.24);
  backdrop-filter:blur(6px);
}
.kc-auth-message__icon{
  width:68px;
  height:68px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--gold);
  color:#171717;
  font-size:2rem;
  margin-bottom:1rem;
}
.kc-auth-alert{
  display:grid;
  gap:.85rem;
  padding:1rem;
  border:1px solid #ead8aa;
  border-radius:.65rem;
  background:#fff9ea;
  color:#3a321f;
}
.kc-auth-alert i{font-size:1.6rem;color:var(--gold-dark);}
.kc-auth-alert p{margin:0;line-height:1.55;}
.kc-account-grid{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:1.5rem;
  align-items:start;
}
.kc-account-nav{position:sticky;top:92px;}
.kc-account-card{padding:1rem;}
.kc-account-card__user{text-align:center;padding:.5rem .5rem 1rem;border-bottom:1px solid #eee4d0;margin-bottom:1rem;}
.kc-account-card__user img{width:82px;height:82px;object-fit:cover;border-radius:50%;box-shadow:0 8px 18px rgba(0,0,0,.12);}
.kc-account-card__user span{display:block;color:#777;font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.06em;margin-top:.65rem;}
.kc-account-card__user strong{display:block;font-size:1.05rem;}
.kc-account-menu{display:grid;gap:.5rem;}
.kc-account-menu a{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:#333;
  text-decoration:none;
  border:1px solid #eee4d0;
  border-radius:.5rem;
  padding:.75rem .85rem;
  font-weight:700;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.kc-account-menu a:hover,.kc-account-menu a.active{background:#17181c;border-color:#17181c;color:#fff;}
.kc-account-menu i{color:var(--gold-dark);}
.kc-account-menu a:hover i,.kc-account-menu a.active i{color:var(--gold);}
.kc-form-actions{display:flex;justify-content:space-between;gap:.85rem;flex-wrap:wrap;margin-top:1.2rem;}
.kc-order-list{display:grid;gap:1rem;}
.kc-order-card{
  border:1px solid #eee4d0;
  border-radius:.75rem;
  padding:1rem;
  background:#fbfaf7;
}
.kc-order-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid #eee4d0;padding-bottom:.85rem;margin-bottom:.85rem;}
.kc-order-card__head h3{font-weight:800;margin:.2rem 0 0;}
.kc-order-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;color:#666;font-size:.9rem;margin-bottom:.85rem;}
.kc-order-meta span{display:inline-flex;align-items:center;gap:.35rem;}
.kc-order-meta i{color:var(--gold-dark);}
.kc-order-meta strong{margin-left:auto;color:#171717;font-size:1.05rem;}
.kc-order-items{display:grid;gap:.65rem;}
.kc-order-item{
  display:flex;
  gap:.75rem;
  align-items:center;
  padding:.65rem;
  border:1px solid #f0e8d8;
  border-radius:.6rem;
  background:#fff;
}
.kc-order-item__media{
  width:54px;
  height:54px;
  flex:0 0 auto;
  border-radius:.45rem;
  overflow:hidden;
  background:#f3efe5;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-dark);
}
.kc-order-item__media img{width:100%;height:100%;object-fit:cover;}
.kc-order-item__body{display:grid;gap:.15rem;}
.kc-order-item__body strong{line-height:1.25;}
.kc-order-item__body small{color:#777;}
.kc-empty--compact{padding:1rem;}
.kc-feedback-panel{
  background:#fff;
  border:1px solid #ebe7de;
  border-radius:.75rem;
  padding:1.4rem;
  box-shadow:0 10px 24px rgba(20,20,20,.06);
}
.kc-feedback-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;}
.kc-feedback-head h2{font-weight:800;margin:.2rem 0 0;}
.kc-comment-form,.kc-review-form{
  display:grid;
  gap:.75rem;
  border:1px solid #eee4d0;
  border-radius:.7rem;
  padding:1rem;
  background:#fbfaf7;
  margin-bottom:1.2rem;
}
.kc-comment-form label,.kc-review-form label{
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#333;
}
.kc-comment-form textarea,.kc-review-form textarea{
  min-height:110px;
  border-color:#e1d8c8;
  box-shadow:none;
}
.kc-comment-form textarea:focus,.kc-review-form textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 .18rem rgba(201,165,92,.18);
}
.kc-login-prompt{
  display:flex;
  align-items:center;
  gap:.65rem;
  border:1px dashed #d8c58f;
  border-radius:.65rem;
  padding:.85rem 1rem;
  background:#fff9ea;
  color:#4a3d1f;
  margin-bottom:1.2rem;
}
.kc-login-prompt i{color:var(--gold-dark);font-size:1.25rem;}
.kc-login-prompt a{color:var(--gold-dark);font-weight:800;text-decoration:none;}
.kc-login-prompt a:hover{text-decoration:underline;}
.kc-comment-list,.kc-review-list{display:grid;gap:.8rem;}
.kc-comment{
  display:flex;
  gap:.75rem;
  border:1px solid #eee4d0;
  border-radius:.7rem;
  padding:.85rem;
  background:#fff;
}
.kc-comment--reply{margin-left:2.2rem;background:#fbfaf7;}
.kc-comment__avatar{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#17181c;
  color:var(--gold);
}
.kc-comment__body{flex:1;min-width:0;}
.kc-comment__head,.kc-review-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.25rem;}
.kc-comment__head small,.kc-review-card__head small{color:#777;font-size:.78rem;}
.kc-comment p,.kc-review-card p{margin:0;color:#555;line-height:1.6;}
.kc-comment__reply{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:0;
  background:transparent;
  color:var(--gold-dark);
  font-weight:800;
  padding:.35rem 0 0;
}
.kc-reply-form{display:grid;gap:.55rem;margin-top:.75rem;}
.kc-reply-form textarea{border-color:#e1d8c8;}
.kc-rating-input{
  display:flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:.15rem;
}
.kc-rating-input input{position:absolute;opacity:0;pointer-events:none;}
.kc-rating-input label{
  cursor:pointer;
  color:#d6cbb5;
  font-size:1.55rem;
  line-height:1;
  transition:color .15s ease,transform .15s ease;
}
.kc-rating-input label:hover,
.kc-rating-input label:hover ~ label,
.kc-rating-input input:checked ~ label{color:var(--gold);}
.kc-rating-input label:hover{transform:translateY(-1px);}
.kc-review-card{
  border:1px solid #eee4d0;
  border-radius:.7rem;
  padding:.9rem;
  background:#fff;
}
.kc-stars{display:flex;gap:.15rem;color:var(--gold);margin-bottom:.45rem;}

@media (max-width:767.98px){
  .kc-page-hero,.kc-detail-hero{padding:1.8rem 0 2.2rem;}
  .kc-breadcrumb{margin-bottom:1.2rem;}
  .kc-list-layout{padding-top:1.2rem;}
  .kc-result-head{align-items:flex-start;}
  .kc-result-head h2{font-size:1.35rem;}
  .kc-list-card__body,.kc-news-card__body{padding:.65rem;}
  .kc-list-card__title,.kc-news-card__title{font-size:.75rem;}
  .kc-list-card__desc,.kc-news-card__desc{display:none;}
  .kc-list-card__link{font-size:.66rem;}
  .kc-list-card__meta{align-items:flex-start;flex-direction:column;gap:.35rem;}
  .kc-list-card__price{font-size:.75rem;}
  .kc-feature-grid{grid-template-columns:1fr;}
  .kc-side-panel{position:static;}
  .kc-contact-section,.kc-about-section,.kc-values-section{padding-top:1.4rem;padding-bottom:2rem;}
  .kc-auth-hero{padding:1.8rem 0 2.2rem;}
  .kc-auth-grid,.kc-account-grid{grid-template-columns:1fr;}
  .kc-auth-copy h1,.kc-auth-message h1{font-size:2rem;}
  .kc-auth-panel,.kc-auth-message{padding:1rem;}
  .kc-account-nav{position:static;}
  .kc-auth-links{display:grid;gap:.45rem;text-align:center;justify-content:center;}
  .kc-form-actions{display:grid;}
  .kc-order-card__head{display:grid;}
  .kc-order-meta{display:grid;gap:.45rem;}
  .kc-order-meta strong{margin-left:0;}
  .kc-feedback-head{display:grid;}
  .kc-comment--reply{margin-left:1rem;}
  .kc-comment__head,.kc-review-card__head{display:grid;gap:.15rem;}
  .kc-content-panel .ck-content .image-style-align-left,
  .kc-content-panel .ck-content .image-style-block-align-left,
  .kc-content-panel .ck-content .image-style-align-right,
  .kc-content-panel .ck-content .image-style-block-align-right,
  .kc-content-panel .ck-content .image-style-side{
    float:none;
    margin:1.35rem auto;
  }
}

@media (min-width:768px) and (max-width:991.98px){
  .kc-auth-grid,.kc-account-grid{grid-template-columns:1fr;}
  .kc-account-nav{position:static;}
}
