/*
Theme Name: Long Khanh HP Child
Description: Child theme for the Long Khanh HP service website.
Author: LT Groups
Template: flatsome
Version: 1.0.0
Text Domain: longkhanhhp
*/

:root {
  --lk-blue: #0b3b60;
  --lk-blue-dark: #072a45;
  --lk-cyan: #0e7490;
  --lk-orange: #f97316;
  --lk-orange-dark: #d9570b;
  --lk-ink: #11202d;
  --lk-muted: #5d6b78;
  --lk-soft: #edf7fa;
  --lk-line: #dce7ec;
  --lk-white: #fff;
  --lk-shadow: 0 18px 45px rgba(7, 42, 69, .12);
}

html { scroll-behavior: smooth; }
body.lk-site { margin: 0; color: var(--lk-ink); background: #fff; font-family: Inter, Arial, sans-serif; }
.lk-site * { box-sizing: border-box; }
.lk-site a { color: inherit; text-decoration: none; }
.lk-container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.lk-eyebrow { margin: 0 0 12px; color: var(--lk-orange-dark); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lk-title { margin: 0; color: var(--lk-blue-dark); font-size: clamp(32px, 4vw, 52px); line-height: 1.08; letter-spacing: -.035em; }
.lk-lead { color: var(--lk-muted); font-size: 18px; line-height: 1.75; }

.lk-topbar { background: var(--lk-blue-dark); color: #d8edf5; font-size: 14px; }
.lk-topbar__inner { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; }
.lk-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(220,231,236,.85); backdrop-filter: blur(14px); }
.lk-header__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lk-brand { display: flex; align-items: center; gap: 12px; font-weight: 900; color: var(--lk-blue-dark); letter-spacing: -.02em; }
.lk-brand__mark { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--lk-cyan), var(--lk-blue)); border-radius: 14px 14px 14px 4px; box-shadow: 0 8px 22px rgba(14,116,144,.28); }
.lk-brand__mark svg { width: 26px; height: 26px; }
.lk-brand__text small { display: block; margin-top: 2px; color: var(--lk-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lk-nav { display: flex; align-items: center; gap: 26px; font-size: 15px; font-weight: 700; }
.lk-nav a:hover { color: var(--lk-orange-dark); }
.lk-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border-radius: 13px; background: var(--lk-orange); color: #fff !important; font-weight: 800; box-shadow: 0 10px 25px rgba(249,115,22,.25); transition: transform .2s ease, background .2s ease; }
.lk-btn:hover { transform: translateY(-2px); background: var(--lk-orange-dark); }
.lk-btn--ghost { color: var(--lk-blue-dark) !important; background: #fff; border: 1px solid var(--lk-line); box-shadow: none; }
.lk-btn--ghost:hover { background: var(--lk-soft); }

.lk-hero { position: relative; overflow: hidden; padding: 82px 0 72px; background: radial-gradient(circle at 86% 10%, rgba(14,116,144,.22), transparent 32%), linear-gradient(135deg, #f7fbfd 0%, #e9f7f9 52%, #fff5ed 100%); }
.lk-hero::before { content: ''; position: absolute; inset: auto -80px -220px auto; width: 520px; height: 520px; border: 72px solid rgba(249,115,22,.08); border-radius: 50%; }
.lk-hero__grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center; }
.lk-hero h1 { max-width: 720px; margin: 0; color: var(--lk-blue-dark); font-size: clamp(44px, 6vw, 76px); line-height: .98; letter-spacing: -.055em; }
.lk-hero h1 span { color: var(--lk-orange); }
.lk-hero__copy { max-width: 650px; margin: 26px 0 30px; color: #405364; font-size: 19px; line-height: 1.75; }
.lk-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lk-trust { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 30px; color: var(--lk-muted); font-size: 14px; font-weight: 700; }
.lk-trust span { display: inline-flex; align-items: center; gap: 8px; }
.lk-trust i { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #dff5ea; color: #138a54; font-style: normal; }
.lk-visual { position: relative; min-height: 470px; }
.lk-visual__panel { position: absolute; inset: 18px 0 0 28px; overflow: hidden; border: 8px solid rgba(255,255,255,.82); border-radius: 42px 42px 42px 12px; background: linear-gradient(150deg, #0e7490, #0b3b60 72%); box-shadow: var(--lk-shadow); }
.lk-visual__panel::before, .lk-visual__panel::after { content: ''; position: absolute; border-radius: 50%; }
.lk-visual__panel::before { width: 330px; height: 330px; top: -90px; right: -70px; background: rgba(255,255,255,.10); }
.lk-visual__panel::after { width: 230px; height: 230px; bottom: -95px; left: -55px; border: 40px solid rgba(249,115,22,.55); }
.lk-visual__icon { position: absolute; inset: 82px auto auto 72px; width: 190px; height: 190px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; }
.lk-visual__icon svg { width: 112px; height: 112px; }
.lk-float-card { position: absolute; right: -8px; bottom: 46px; width: min(280px, 78%); padding: 22px; border-radius: 18px; background: #fff; box-shadow: var(--lk-shadow); }
.lk-float-card strong { display: block; margin-bottom: 8px; color: var(--lk-blue-dark); font-size: 20px; }
.lk-float-card p { margin: 0; color: var(--lk-muted); line-height: 1.6; }

.lk-strip { position: relative; z-index: 3; margin-top: -28px; }
.lk-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--lk-line); border-radius: 20px; background: #fff; box-shadow: var(--lk-shadow); }
.lk-strip__item { padding: 24px 28px; }
.lk-strip__item + .lk-strip__item { border-left: 1px solid var(--lk-line); }
.lk-strip strong { display: block; margin-bottom: 4px; color: var(--lk-blue-dark); font-size: 18px; }
.lk-strip span { color: var(--lk-muted); font-size: 14px; }

.lk-section { padding: 96px 0; }
.lk-section--soft { background: var(--lk-soft); }
.lk-heading { max-width: 720px; margin-bottom: 44px; }
.lk-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lk-card { min-height: 270px; padding: 30px; border: 1px solid var(--lk-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(7,42,69,.07); transition: transform .2s ease, box-shadow .2s ease; }
.lk-card:hover { transform: translateY(-5px); box-shadow: var(--lk-shadow); }
.lk-card__icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 16px; color: var(--lk-cyan); background: #e4f7fa; font-size: 26px; font-weight: 900; }
.lk-card h3 { margin: 0 0 12px; color: var(--lk-blue-dark); font-size: 22px; }
.lk-card p { margin: 0; color: var(--lk-muted); line-height: 1.7; }

.lk-split { display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; }
.lk-feature-box { position: relative; min-height: 470px; overflow: hidden; border-radius: 30px 30px 30px 8px; background: linear-gradient(145deg, var(--lk-blue-dark), var(--lk-cyan)); box-shadow: var(--lk-shadow); }
.lk-feature-box::after { content: ''; position: absolute; width: 320px; height: 320px; right: -100px; bottom: -110px; border: 52px solid rgba(249,115,22,.8); border-radius: 50%; }
.lk-feature-box__content { position: absolute; z-index: 2; inset: auto 36px 38px; color: #fff; }
.lk-feature-box__content strong { display: block; font-size: 34px; line-height: 1.1; }
.lk-feature-box__content span { display: block; margin-top: 12px; color: #d4eef4; line-height: 1.6; }
.lk-checks { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; }
.lk-checks li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; color: #435362; line-height: 1.65; }
.lk-checks b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: #def4e8; color: #138a54; }

.lk-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: process; }
.lk-step { position: relative; padding: 28px 24px; border-top: 4px solid var(--lk-orange); border-radius: 0 0 18px 18px; background: #fff; box-shadow: 0 10px 28px rgba(7,42,69,.07); counter-increment: process; }
.lk-step::before { content: '0' counter(process); display: block; margin-bottom: 18px; color: var(--lk-orange); font-size: 14px; font-weight: 900; letter-spacing: .1em; }
.lk-step h3 { margin: 0 0 10px; color: var(--lk-blue-dark); font-size: 19px; }
.lk-step p { margin: 0; color: var(--lk-muted); font-size: 15px; line-height: 1.65; }

.lk-cta { padding: 36px 0 92px; }
.lk-cta__box { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 48px; overflow: hidden; border-radius: 28px; background: linear-gradient(120deg, var(--lk-blue-dark), var(--lk-blue)); color: #fff; box-shadow: var(--lk-shadow); }
.lk-cta__box h2 { max-width: 680px; margin: 0 0 12px; color: #fff; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; }
.lk-cta__box p { margin: 0; color: #cde5ee; }
.lk-footer { padding: 30px 0; background: #061f33; color: #b9ced8; font-size: 14px; }
.lk-footer__inner { display: flex; justify-content: space-between; gap: 20px; }

@media (max-width: 920px) {
  .lk-nav a:not(.lk-btn) { display: none; }
  .lk-hero__grid, .lk-split { grid-template-columns: 1fr; }
  .lk-visual { min-height: 390px; }
  .lk-services { grid-template-columns: repeat(2, 1fr); }
  .lk-process { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .lk-container { width: min(100% - 28px, 1160px); }
  .lk-topbar__inner span:last-child { display: none; }
  .lk-header__inner { min-height: 68px; }
  .lk-brand__text small { display: none; }
  .lk-nav { gap: 8px; }
  .lk-nav .lk-btn { min-height: 42px; padding: 0 14px; font-size: 13px; }
  .lk-hero { padding: 58px 0 62px; }
  .lk-hero h1 { font-size: 46px; }
  .lk-hero__copy { font-size: 17px; }
  .lk-actions .lk-btn { width: 100%; }
  .lk-visual { min-height: 340px; }
  .lk-visual__panel { inset: 12px 8px 0; }
  .lk-visual__icon { inset: 56px auto auto 45px; width: 150px; height: 150px; }
  .lk-visual__icon svg { width: 86px; height: 86px; }
  .lk-float-card { right: 0; bottom: 25px; }
  .lk-strip__grid, .lk-services, .lk-process { grid-template-columns: 1fr; }
  .lk-strip__item + .lk-strip__item { border-left: 0; border-top: 1px solid var(--lk-line); }
  .lk-section { padding: 72px 0; }
  .lk-feature-box { min-height: 380px; }
  .lk-cta__box { display: block; padding: 34px 26px; }
  .lk-cta__box .lk-btn { width: 100%; margin-top: 24px; }
  .lk-footer__inner { display: block; }
}
