/* ==========================================================================
   KAI India — page-specific pieces referenced from the Elementor layouts
   ========================================================================== */
.kai-site a { color: var(--kai-blue-bright); }
.kai-site button:hover, .kai-site button:focus { background-color: transparent; }

/* Header */
.kai-site .kai-header-nav { min-width: 0; }
.kai-site .kai-btn--shop .elementor-button { padding: 10px 16px; font-size: 12px; letter-spacing: .16em; border-width: 1.5px; }
@media (max-width: 1024px) { .kai-site .kai-header-nav { flex-grow: 0 !important; } }

/* Buttons – extra variants */
.kai-site .kai-btn--tight .elementor-button { letter-spacing: .05em; font-size: 13.5px; font-weight: 500; padding: 15px 27px; }
.kai-site .kai-btn--thin .elementor-button { border-width: 1.5px; font-weight: 500; letter-spacing: .22em; font-size: 12px; padding: 15px 24px; }
.kai-site .kai-btn--case-sm .elementor-button { letter-spacing: .1em; font-size: 12.5px; font-weight: 700; padding: 13px 20px; }
.kai-site .kai-btn--navyline .elementor-button { background: transparent; color: var(--kai-navy-2); border: 1.5px solid var(--kai-navy-2); --sweep: var(--kai-navy-2); padding: 20px 28px; }
.kai-site .kai-btn--navyline .elementor-button:hover { color: #fff; }
.kai-site .kai-btn--ink .elementor-button { color: var(--kai-navy-2); }

/* Home hero */
.kai-site .kai-hero-home { overflow: hidden; }
.kai-site .kai-hero-title .elementor-heading-title { font-size: clamp(44px, 5.2vw, 66px); line-height: 1.02; color: #0f2a49; }
.kai-site .kai-hero-copy p { color: #3c4a5c; font-size: 16.5px; }
.kai-hero-jp { position: absolute; right: 48px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; gap: 6px; font-family: var(--kai-jp); color: #45607e; pointer-events: none; animation: kai-kanji-in 1.4s var(--kai-ease) both .4s; }
.kai-hero-jp span { writing-mode: vertical-rl; font-size: 17px; letter-spacing: .35em; }
.kai-hero-jp i { font-style: normal; font-size: 8px; color: var(--kai-red); border: 1px solid var(--kai-red); padding: 6px 4px; writing-mode: vertical-rl; }
.kai-site .kai-hero-home .elementor-widget-html { position: absolute; inset: 0; pointer-events: none; }
@media (max-width: 767px) {
	.kai-site .kai-hero-home::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(220,236,253,.92) 0%, rgba(220,236,253,.75) 55%, rgba(220,236,253,.2) 100%); z-index: 0; }
	.kai-site .kai-hero-home > * { position: relative; z-index: 1; }
}

/* Why choose KAI band */
.kai-site .kai-why-title .elementor-heading-title { font-family: var(--kai-sans); font-weight: 800; color: #fff; font-size: 30px; letter-spacing: .08em; }

/* Seal */
.kai-site .kai-seal-wrap { position: absolute !important; right: 40px; bottom: 36px; width: auto !important; }
.kai-seal { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1.5px solid var(--kai-red); color: var(--kai-red); font-family: var(--kai-jp); font-size: 9px; transition: transform .6s var(--kai-ease), background .4s, color .4s; }
.kai-seal:hover, .e-con:hover > .kai-seal-wrap .kai-seal { transform: rotate(-8deg) scale(1.08); background: var(--kai-red); color: #fff; }

/* Sustainability */
.kai-site .kai-sus { overflow: hidden; }
.kai-site .kai-sus-leaves { align-self: stretch; }
.kai-site .kai-sus-leaves img { height: 100%; width: 100%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, #000 60%, transparent); mask-image: linear-gradient(90deg, #000 60%, transparent); }
.kai-site .kai-sus .kai-text p { color: #2f3744; font-size: 17px; line-height: 1.45; }
@media (max-width: 1024px) { .kai-site .kai-sus .kai-divide-x > .e-con { border-right: 0 !important; } }

/* Collections / categories */
.kai-site .kai-h2--cat .elementor-heading-title { font-size: clamp(26px, 3vw, 36px); letter-spacing: .01em; }
.kai-site .kai-coll-card--wide .kai-coll-title .elementor-heading-title { font-size: 22px; }

/* Heritage figure + floating card */
.kai-site .kai-float-card--br { right: 24px; bottom: 24px; }
.kai-site .kai-float-card--static { position: relative !important; }
.kai-site .kai-float-title .elementor-heading-title { font-family: var(--kai-serif-2); font-size: 19px; letter-spacing: .08em; text-transform: uppercase; color: var(--kai-ink); }
.kai-site .kai-micro--xs p, .kai-site .kai-micro.kai-micro--xs .elementor-heading-title { font-size: 10px; letter-spacing: .2em; }
.kai-site .kai-micro--ink p, .kai-site .kai-micro--ink .elementor-heading-title { color: var(--kai-ink) !important; }
.kai-site .kai-micro--red .elementor-heading-title, .kai-site .kai-micro--red p { color: var(--kai-red) !important; font-weight: 600; }
.kai-site .kai-micro--blue p { color: #8792a6; }
.kai-site .kai-micro--light p, .kai-site .kai-micro--light .elementor-heading-title { color: rgba(255,255,255,.88) !important; }
.kai-site .kai-micro--lg .elementor-heading-title { font-size: 15px; letter-spacing: .32em; line-height: 1.55; }
.kai-site .kai-micro--faint p { color: #a9adb4; }
.kai-site .kai-text--xs p, .kai-site .kai-text--xs { font-size: 12.5px; line-height: 1.6; }
.kai-site .kai-stat-box sup, .kai-site .kai-stat sup { font-size: .45em; vertical-align: super; margin-left: 2px; }

/* Leadership */
.kai-site .kai-cyan-rule { display: block; width: 32px; height: 2px; background: #38b6ff; margin-bottom: 10px; transition: width .5s var(--kai-ease); }
.kai-site .e-con:hover > .elementor-widget-html .kai-cyan-rule { width: 56px; }
.kai-site .kai-person .elementor-heading-title { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #2a2f37; }

/* What we do */
.kai-site .kai-eyebrow--reddash .elementor-heading-title::before { background: var(--kai-red); }
.kai-site .kai-on-dark .kai-eyebrow--dash .elementor-heading-title { color: #fff; }
.kai-site .kai-hero-vtext { position: absolute !important; right: 36px; top: 120px; width: auto !important; }
.kai-site .kai-hero-vtext .elementor-heading-title { color: rgba(255,255,255,.85); border-left: 1px solid rgba(255,255,255,.5); padding-left: 10px; font-size: 10px; letter-spacing: .32em; }
.kai-site .kai-hero-seki { position: absolute !important; right: 38px; bottom: 100px; width: auto !important; }
.kai-site .kai-hero-seki .elementor-heading-title { font-family: var(--kai-jp); font-size: 10px; color: rgba(255,255,255,.7); letter-spacing: .1em; }
.kai-site .kai-tag--bl.kai-tag--redbar { bottom: 34px; left: 24px; top: auto; }
.kai-site .kai-tag--redbar .elementor-heading-title { border-left: 2px solid var(--kai-red); font-size: 11px; padding: 10px 16px; }
.kai-site .kai-tag--inline { position: relative !important; top: auto !important; left: auto !important; }
.kai-site .kai-tag--inline .elementor-heading-title { display: inline-block; font-size: 10px; padding: 6px 12px; }
.kai-site .kai-cap-text p { color: rgba(255,255,255,.88); font-size: 12.5px; margin: 0; letter-spacing: .02em; }
.kai-site .kai-cap-kicker .elementor-heading-title { color: #fff; font-family: var(--kai-sans); font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; }
.kai-site .kai-cap-kicker--dot .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--kai-red); animation: kai-ping 2s infinite; }
.kai-site .kai-figure--framed { background: #fff; border: 1px solid #e3e3de; padding: 12px 12px 14px; transition: box-shadow .6s var(--kai-ease), transform .6s var(--kai-ease); }
.kai-site .kai-figure--framed:hover { box-shadow: 0 30px 50px -34px rgba(0,0,0,.45); transform: translateY(-4px); }
.kai-site .kai-figure--bordered { border: 1px solid rgba(255,255,255,.18); }
.kai-site .kai-figure--shadow { box-shadow: 0 20px 40px -28px rgba(0,0,0,.6); }
.kai-site .kai-figure__foot .kai-micro .elementor-heading-title { color: #555a62; }
.kai-site .kai-side-vtext { margin-top: 24px; }
.kai-site .kai-side-vtext .elementor-heading-title { font-size: 10px; color: #6d7178; }
.kai-site .kai-side--dark { border-left-color: rgba(255,255,255,.25); }
.kai-site .kai-side--light .kai-micro .elementor-heading-title { color: rgba(255,255,255,.8); font-weight: 700; }
.kai-site .kai-on-dark .kai-side .kai-micro.kai-micro--red .elementor-heading-title { color: var(--kai-red) !important; }
.kai-site #oem .kai-side { border-left: 2px solid var(--kai-ink); }
.kai-site #oem .kai-side-item { border-bottom-color: var(--kai-ink); }

/* Why KAI */
.kai-site .kai-eyebrow--indent .elementor-heading-title { padding-left: 8px; }
.kai-site .kai-rule--sm .elementor-heading-title::after { width: 40px; margin-top: 22px; }
.kai-site .kai-figure--why .kai-figure__cap { padding: 22px 24px !important; }
.kai-site .kai-figure--why .kai-figure__cap .elementor-heading-title { font-size: 11.5px; letter-spacing: .24em; }
.kai-site .kai-vline-right .elementor-heading-title, .kai-site .kai-vline-right { border-right: 1px solid rgba(255,255,255,.55); padding-right: 18px; }
.kai-site .kai-vline-left .elementor-heading-title { border-left: 1px solid rgba(255,255,255,.55); padding-left: 22px; }
.kai-site .kai-micro--right .elementor-heading-title { text-align: right; line-height: 1.75; letter-spacing: .3em; }
.kai-site .kai-jp-sign .elementor-heading-title { font-family: var(--kai-jp); font-size: 22px; color: rgba(255,255,255,.75); letter-spacing: .3em; }
.kai-site .kai-cta-title .elementor-heading-title { font-family: var(--kai-sans); font-weight: 400; font-size: clamp(38px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -.02em; color: #fff; }
.kai-site .kai-bar-blue .elementor-heading-title { border-left: 2px solid var(--kai-blue-bright); padding: 24px 0 24px 18px; letter-spacing: .26em; line-height: 1.75; font-size: 12px; font-weight: 600; }

/* Brands */
.kai-site .kai-side-arrows { position: absolute !important; left: -28px; right: -28px; top: 42%; z-index: 4; pointer-events: none; width: auto !important; }
.kai-site .kai-side-arrows .kai-arrows { justify-content: space-between; }
.kai-site .kai-side-arrows .kai-arrow { pointer-events: auto; }
@media (max-width: 1300px) { .kai-site .kai-side-arrows { left: -6px; right: -6px; } }
.kai-site .kai-brand-card .kai-arrow-link { padding-top: 6px; }
.kai-site .kai-h2--slate .elementor-heading-title { color: #4a5160; }
.kai-site .kai-figure--brand { border: 1px solid #ddd; }
.kai-site .kai-tag--outline .elementor-heading-title { background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.9); backdrop-filter: blur(2px); }
.kai-site .kai-mono-head .elementor-heading-title { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.kai-site .kai-split-line { display: block; width: 18px; height: 1.5px; background: var(--kai-blue-bright); margin: 12px 0 12px auto; }

/* Careers */
.kai-site .kai-careers-fig { overflow: hidden; }
.kai-site .kai-italic-quote .elementor-heading-title { font-family: var(--kai-serif); font-style: italic; font-size: clamp(26px, 2.6vw, 32px); line-height: 1.3; color: #fff; }
.kai-site .kai-bar-red .elementor-heading-title { border-left: 2px solid var(--kai-red); padding-left: 22px; }
.kai-site .kai-indent { padding-left: 24px; }
.kai-site .kai-stamp-abs { position: absolute !important; right: -18px; bottom: 0; z-index: 3; width: auto !important; }
.kai-stamp-box { width: 80px; height: 78px; background: #fff; border: 1px solid #dcdcd6; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; box-shadow: 0 0 0 8px #fff inset, 0 0 0 9px #e2e2dc inset; transition: transform .6s var(--kai-ease); }
.kai-stamp-box b { font-family: var(--kai-sans); font-size: 10px; letter-spacing: .2em; color: var(--kai-navy); }
.kai-stamp-box span { font-family: var(--kai-jp); font-size: 8px; color: var(--kai-red); }
.kai-stamp-box:hover { transform: rotate(-6deg) scale(1.06); }
.kai-site .kai-h3--xl .elementor-heading-title { font-size: clamp(28px, 2.6vw, 32px); font-weight: 400; color: #fff; }
.kai-site .kai-pill .elementor-heading-title b { margin-right: 4px; }

/* Contact */
.kai-site .kai-eyebrow--dash-after .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; }
.kai-site .kai-eyebrow--dash-after .elementor-heading-title::after { content: ""; width: 32px; height: 1.5px; background: currentColor; transition: width .5s var(--kai-ease); }
.kai-site .e-con:hover > .kai-eyebrow--dash-after .elementor-heading-title::after { width: 48px; }
.kai-site .kai-eyebrow--xs .elementor-heading-title { font-size: 10.5px; }
.kai-site .kai-eyebrow--dot .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
.kai-site .kai-eyebrow--dot .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.kai-site .kai-jp-small .elementor-heading-title { font-family: var(--kai-jp); font-size: 12px; color: rgba(255,255,255,.6); letter-spacing: .1em; }
.kai-site .kai-office-title .elementor-heading-title { color: var(--kai-navy-2); font-size: 15px; letter-spacing: .04em; text-transform: uppercase; }
.kai-site .kai-office-title--sm .elementor-heading-title { font-size: 12.5px; letter-spacing: .03em; }
.kai-site .kai-hairline-top--dark { border-top-color: rgba(255,255,255,.14); }
.kai-site .kai-on-dark .kai-micro a { color: rgba(255,255,255,.75); }
.kai-site .kai-on-dark .kai-micro a:hover { color: #fff; }
.kai-site .kai-serif-caption .elementor-heading-title { font-family: var(--kai-serif); font-size: 20px; color: #fff; letter-spacing: .02em; }
.kai-site .kai-big-link .elementor-heading-title { font-family: var(--kai-sans); font-size: 15px; font-weight: 600; }
.kai-site .kai-form-card { box-shadow: 0 30px 60px -48px rgba(0,0,0,.4); }
.kai-site #how-can-we-help .kai-text p { color: rgba(255,255,255,.85); }

@media (max-width: 1024px) {
	.kai-site .kai-side { border-left: 0; padding-left: 0 !important; border-top: 1px solid rgba(17,20,24,.15); padding-top: 20px !important; }
	.kai-site .kai-side--light, .kai-site .kai-side--dark { border-top-color: rgba(255,255,255,.25); }
	.kai-site .kai-side-arrows { display: none; }
	.kai-site .kai-stamp-abs { right: 12px; bottom: -10px; }
}
@media (max-width: 767px) {
	.kai-site .kai-seal-wrap { right: 20px; bottom: 20px; }
	.kai-site .kai-hero-vtext, .kai-site .kai-hero-seki { display: none; }
}

.kai-site .kai-logo { flex-shrink: 0; }
.kai-site .kai-logo img { width: 100%; height: auto; }

/* nav centred between logo and actions */
.kai-site .kai-header-nav .kai-nav { width: 100%; }
.kai-site .kai-feature .elementor-heading-title { font-size: 18px; letter-spacing: .18em; white-space: nowrap; }
@media (max-width: 1180px) { .kai-site .kai-feature .elementor-heading-title { font-size: 15px; letter-spacing: .12em; white-space: normal; } }
.kai-site .kai-cat-card .kai-sans-title .elementor-heading-title { text-transform: uppercase; letter-spacing: .02em; }

/* Elementor renders button icons as inline SVG that use `fill` – follow the text colour. */
.kai-site .kai-btn .elementor-button, .kai-site .kai-btn .elementor-button-icon svg { fill: currentColor; }
.kai-site .kai-btn--play .elementor-button:hover .elementor-button-icon svg { fill: #fff; }
.kai-site .elementor-icon svg { fill: currentColor; }
