/* Premium Clean (no box-shadow) - Basic Theme modules
   Goal: modern spacing + typography + borders, without breaking layout.
*/

:root{
  --pc-radius: 16px;
  --pc-radius-sm: 12px;
  --pc-border: #e9e9ee;
  --pc-text: #111318;
  --pc-muted: rgba(17,19,24,.68);
  --pc-bg: #ffffff;
  --pc-bg-soft: #f7f7fb;
  --pc-pri: #111318;
  --pc-pri-contrast: #ffffff;
  --pc-gap: 20px;
}

/* Shared primitives (HB) */
.hb-sec{padding:72px 0;}
.hb-sec--full{padding:72px 0;}
.hb-cont{max-width:1120px;margin:0 auto;padding:0 16px;}

.hb-section{padding:72px 16px;max-width:1120px;margin:0 auto;}
.hb-section__head{margin-bottom:28px;}
.hb-title{font-size:28px;line-height:1.2;letter-spacing:-.02em;color:var(--pc-text);margin:0;}
.hb-subtitle{margin:10px 0 0;color:var(--pc-muted);max-width:680px;font-size:16px;}
.hb-empty{padding:14px 16px;border:1px dashed var(--pc-border);border-radius:var(--pc-radius-sm);color:var(--pc-muted);}

.hb-grid{display:grid;gap:var(--pc-gap);}
.hb-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.hb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width: 980px){.hb-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}.hb-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 560px){.hb-grid--4,.hb-grid--3{grid-template-columns:1fr;}}

.hb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 18px;text-decoration:none;border:1px solid var(--pc-border);font-weight:600;line-height:1;color:var(--pc-text);background:transparent;}
.hb-btn--primary,.hb-btn--pri{background:var(--pc-pri);border-color:var(--pc-pri);color:var(--pc-pri-contrast);}
.hb-btn--ghost{background:transparent;color:var(--pc-text);}
.hb-btn--glass{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:saturate(140%) blur(8px);}
.hb-play{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.45);font-size:12px;}

/* Hero */
.hb-hero{padding:90px 16px;max-width:1120px;margin:0 auto;}
.hb-hero__inner{max-width:760px;}
.hb-hero__title{font-size:clamp(34px,4.8vw,56px);line-height:1.12;letter-spacing:-.03em;margin:0;color:var(--pc-text);}
.hb-hero__subtitle{margin:14px 0 0;color:var(--pc-muted);font-size:18px;line-height:1.6;}
.hb-hero__actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;}
.hb-hero--center{text-align:center;}
.hb-hero--center .hb-hero__inner{margin:0 auto;}
.hb-hero--center .hb-hero__actions{justify-content:center;}

/* Icon cards */
.hb-icons .hb-card{border:1px solid var(--pc-border);border-radius:var(--pc-radius);padding:26px;background:var(--pc-bg);}
.hb-card__icon{font-size:28px;line-height:1;margin-bottom:12px;}
.hb-card__title{font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px;color:var(--pc-text);}
.hb-card__text{color:var(--pc-muted);line-height:1.6;font-size:15px;}

/* Stats */
.hb-stats .hb-grid{align-items:stretch;}
.hb-stat{border:1px solid var(--pc-border);border-radius:var(--pc-radius);padding:22px;background:var(--pc-bg);text-align:center;}
.hb-stat__val{font-size:36px;font-weight:800;letter-spacing:-.02em;color:var(--pc-text);}
.hb-stat__lbl{margin-top:6px;color:var(--pc-muted);font-size:14px;}

/* Testimonials */
.hb-quote{border:1px solid var(--pc-border);border-radius:var(--pc-radius);padding:24px;background:var(--pc-bg);}
.hb-quote__text{font-size:15.5px;line-height:1.7;color:var(--pc-text);}
.hb-quote__who{margin-top:14px;font-weight:700;color:var(--pc-text);}
.hb-quote__role{font-weight:500;color:var(--pc-muted);margin-left:8px;}

/* Video banner (background video stays behind) */
.vb{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--pc-border);background:#0e0f12;min-height:420px;display:flex;align-items:stretch;}
.vb__media{position:absolute;inset:0;}
.vb__video{width:100%;height:100%;object-fit:cover;display:block;}
.vb__overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(14,15,18,.82) 0%, rgba(14,15,18,.52) 55%, rgba(14,15,18,.25) 100%);}
.vb__content{position:relative;z-index:2;padding:54px;max-width:720px;color:#fff;}
.vb__kicker{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.92;}
.vb__title{margin:16px 0 0;font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.02em;}
.vb__sub{margin:12px 0 0;opacity:.85;line-height:1.65;font-size:16px;}
.vb__actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;}
@media (max-width: 720px){.vb{min-height:360px;}.vb__content{padding:28px;}}

/* Blog cards (shared) */
.blog-card{border:1px solid var(--pc-border);border-radius:var(--pc-radius);overflow:hidden;background:#fff;}
.blog-card__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;}
.blog-card__body{padding:18px;}
.blog-card__title{font-size:16.5px;line-height:1.35;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--pc-text);}
.blog-card__meta{margin-top:10px;color:var(--pc-muted);font-size:13px;}

/* Banner module basics (keep safe) */
.bn{border:1px solid var(--pc-border);border-radius:22px;overflow:hidden;background:var(--pc-bg-soft);}

/* Slider Style 1 (carousel) */
.s1{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--pc-border);}
.s1-track{display:flex;transition:transform .45s ease;will-change:transform;}
.s1-slide{min-width:100%;position:relative;}
.s1-img{width:100%;height:520px;object-fit:cover;display:block;}
.s1-ov{position:absolute;inset:0;background:linear-gradient(90deg, rgba(14,15,18,.80) 0%, rgba(14,15,18,.45) 55%, rgba(14,15,18,.22) 100%);}
.s1-c{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:56px;max-width:760px;color:#fff;}
.s1-k{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.92;width:fit-content;}
.s1-t{margin:16px 0 0;font-size:clamp(30px,4.6vw,52px);line-height:1.12;letter-spacing:-.03em;}
.s1-s{margin:12px 0 0;opacity:.86;line-height:1.65;font-size:16px;}
.s1-nav{position:absolute;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.22);color:#fff;width:42px;height:42px;border-radius:999px;cursor:pointer;}
.s1-prev{left:16px;}
.s1-next{right:16px;}
.s1-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;}
.s1-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;}
.s1-dot.is-a{background:#fff;}
@media (max-width: 720px){.s1-img{height:420px;}.s1-c{padding:28px;}.s1-prev{left:10px;}.s1-next{right:10px;}}

/* Slider Style 2 (editorial grid like screenshot) */
.s2{padding:0 16px;max-width:1120px;margin:0 auto;}
.s2-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.s2-t{position:relative;display:block;border-radius:22px;overflow:hidden;border:1px solid var(--pc-border);background:#0e0f12;min-height:300px;text-decoration:none;}
.s2-i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.s2-ov{position:absolute;inset:0;background:linear-gradient(180deg, rgba(14,15,18,.15) 0%, rgba(14,15,18,.65) 72%, rgba(14,15,18,.82) 100%);}
.s2-pill{position:absolute;left:14px;bottom:14px;z-index:2;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 14px;color:#fff;font-weight:700;font-size:13px;background:rgba(0,0,0,.16);backdrop-filter:saturate(140%) blur(8px);}
.s2-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;color:#fff;}
.s2-badge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.95;margin-bottom:12px;}
.s2-big{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2;}
.s2-mid{margin-top:10px;opacity:.86;line-height:1.55;}
@media (max-width: 980px){.s2-g{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 560px){.s2-g{grid-template-columns:1fr;}.s2-t{min-height:240px;}}
