/* Hero-only rules; saved templates share the same canonical renderer. */
html body.home .site-main > .kamilex-hero.kl-concierge {
	background: #fbfcff !important;
	min-height: 0 !important;
	padding: clamp(36px, 7vw, 100px) max(20px, calc((100vw - 1160px) / 2)) !important;
	display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
	text-align: left; isolation: isolate; overflow: visible;
}

.kl-concierge::before, .kl-concierge::after { display: none !important; }
.kl-concierge > div { width: 100%; max-width: none !important; margin: 0 !important; min-width: 0; }
.kl-concierge p { margin: 0; }
.kl-concierge__intro { position: relative; isolation: isolate; overflow: hidden; border-radius: 20px; min-height: 660px; padding: 28px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; }
.kl-concierge__intro::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #fbfcff 0%, rgba(251,252,255,.96) 23%, rgba(251,252,255,.12) 43%, rgba(251,252,255,.08) 65%, #fbfcff 91%); }
.kl-concierge__portrait { position: absolute; inset: 100px 0 0; z-index: -2; display: block; width: 100%; height: calc(100% - 100px); object-fit: cover; object-position: center top; margin: 0; border-radius: 20px; }
.kl-concierge__choices { align-self: center; }
.kl-concierge .kl-concierge__eyebrow { color: var(--kamilex-coral, #ff687d); font-size: 13px; font-weight: 700; letter-spacing: .05em; }
/* Override the legacy homepage's important heading rules only inside this hero. */
html body.home .kamilex-hero.kl-concierge h1 { font-size: clamp(32px, 3.7vw, 54px) !important; line-height: 1.4 !important; letter-spacing: -.04em !important; margin: 22px 0 !important; color: #302c29; }
.kl-concierge__intro .kl-concierge__sub { margin-top: auto; padding-top: 260px; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
	.kl-concierge .kl-concierge__eyebrow {
		background-image: linear-gradient(90deg, #cf3c79 0%, #8e54b6 25%, #2778bd 50%, #8e54b6 75%, #cf3c79 100%);
		background-size: 200% 100%;
		background-clip: text; -webkit-background-clip: text;
		color: transparent; -webkit-text-fill-color: transparent;
		animation: kl-concierge-colour-flow 7s linear infinite;
	}
}
@keyframes kl-concierge-colour-flow { from { background-position: 200% 50%; } to { background-position: 0% 50%; } }
@media (prefers-reduced-motion: reduce) { .kl-concierge .kl-concierge__eyebrow { animation: none; background-position: 50% 50%; } }
@media (forced-colors: active) { .kl-concierge .kl-concierge__eyebrow { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; animation: none; } }
html body.home .kamilex-hero.kl-concierge .kl-concierge__sub { font-size: clamp(20px, 2vw, 27px) !important; font-weight: 800 !important; line-height: 1.5 !important; margin-top: auto !important; letter-spacing: -.035em; color: #24212a !important; text-shadow: 0 1px 12px #fff; }
.kl-concierge .kl-concierge__description { margin-top: 18px; color: #645e58; font-size: 14px; line-height: 1.9; }
.kl-concierge .kl-concierge__prompt { font-weight: 600; margin-bottom: 16px; color: #403a35; }
.kl-concierge__topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kl-concierge__topic { margin: 0; min-width: 0; }
.kl-concierge summary { display: flex; align-items: center; justify-content: space-between; gap: 4px; list-style: none; cursor: pointer; border: 1px solid #dfd6cb; border-radius: 14px; padding: 15px 16px; background: #fff; color: #403a35; font-size: 15px; font-weight: 600; min-height: 52px; box-sizing: border-box; }
.kl-concierge summary::-webkit-details-marker { display: none; }
.kl-concierge summary { border-color: #dce7f0; box-shadow: 0 3px 12px rgba(75,157,227,.04); }
.kl-concierge summary span { color: var(--kamilex-blue, #4b9de3); }
.kl-concierge summary:hover, .kl-concierge details[open] summary { border-color: var(--kamilex-blue, #4b9de3); background: #f1f8ff; }
.kl-concierge details[open] { grid-column: 1 / -1; }
.kl-concierge__answer { background: #fff; border-radius: 14px; padding: 20px; margin-top: 8px; color: #4c453e; font-size: 14px; line-height: 1.8; }
.kl-concierge .kl-concierge__hint { font-size: 12px; color: #357bb5; }
.kl-concierge__answer h2 { font-size: 18px; line-height: 1.6; margin: 8px 0; }
.kl-concierge__answer a { display: inline-block; padding: 12px 0 0; color: #357bb5; font-weight: 600; }
.kl-concierge .kl-concierge__cta { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; margin-top: 18px; border-radius: 14px; background: #a64f36; color: #fff; text-decoration: none; font-weight: 700; }
.kl-concierge .kl-concierge__cta { border: 2px solid transparent; color: #292630; background: linear-gradient(#fff, #fff) padding-box, var(--kamilex-brand-gradient, linear-gradient(110deg, #ff687d, #4b9de3)) border-box; box-shadow: 0 13px 30px rgba(48,44,57,.14); }
.kl-concierge__cta:hover { filter: brightness(.95); }
.kl-concierge a:focus-visible, .kl-concierge summary:focus-visible { outline: 3px solid #317183; outline-offset: 4px; }
.kl-concierge .kl-concierge__note { font-size: 11px; color: #6c625a; line-height: 1.7; margin-top: 10px; }
@media (max-width: 782px) {
	html body.home .site-main > .kamilex-hero.kl-concierge { grid-template-columns: 1fr; gap: 26px; padding: 32px 20px 36px !important; }
	html body.home .kamilex-hero.kl-concierge h1 { margin: 16px 0 !important; }
	.kl-concierge .kl-concierge__description { margin-top: 12px; font-size: 13px; }
	.kl-concierge summary { padding: 13px; font-size: 14px; }
	.kl-concierge__intro { min-height: 560px; padding: 22px 18px; }
	.kl-concierge__portrait { height: calc(100% - 100px); margin: 0; object-position: center top; object-fit: contain; }
	.kl-concierge__intro .kl-concierge__sub { padding-top: 230px; }
	html body.home .kamilex-hero.kl-concierge .kl-concierge__sub { font-size: 20px !important; text-wrap: balance; }
}

/* Quick-answer entrance: retain the brand, put the three choices first. */
html body.home .site-main > .kamilex-hero.kl-concierge { padding-top: 36px !important; padding-bottom: 36px !important; gap: 32px; }
.kl-concierge__intro { min-height: 350px; }
.kl-concierge__intro .kl-concierge__sub { padding-top: 0; }
html body.home .kamilex-hero.kl-concierge .kl-concierge__sub { margin-top: 0 !important; font-size: 18px !important; }
.kl-concierge__portrait { inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: right top; border-radius: 0; opacity: 1; -webkit-mask-image: linear-gradient(90deg,transparent 20%,#000 67%); mask-image: linear-gradient(90deg,transparent 20%,#000 67%); }
.kl-concierge__intro::after { background: linear-gradient(90deg,#fbfcff 8%,rgba(251,252,255,.96) 28%,rgba(251,252,255,.7) 48%,rgba(251,252,255,.12) 76%,rgba(251,252,255,0)), linear-gradient(0deg,#fbfcff,rgba(251,252,255,0) 20%); }
.kl-concierge .kl-concierge__description { color: #302c39; font-weight: 700; text-shadow: 0 1px 8px #fff; }
.kl-concierge__intro h1, .kl-concierge__intro p { position: relative; max-width: 85%; }
.kl-concierge__topics { grid-template-columns: 1fr; }
.kl-concierge .kl-concierge__iron-entry { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:15px 16px; border:1px solid #dce7f0; border-radius:14px; background:#fff; box-shadow:0 3px 12px rgba(75,157,227,.04); color:#403a35; font-size:15px; font-weight:600; text-decoration:none; }
.kl-concierge__iron-entry span { color:var(--kamilex-blue,#4b9de3); }
.kl-concierge .kl-concierge__iron-entry:hover { border-color:var(--kamilex-blue,#4b9de3); background:#f1f8ff; }
.kl-concierge__more { width: 100%; border: 1px solid #91aed4; border-radius: 12px; padding: 13px; margin-top: 18px; background: #f4f8ff; color: #302c39; font: inherit; font-weight: 700; cursor: pointer; }
.kl-concierge__reset { border: 0; background: none; padding: 14px 0; color: #4b5363; text-decoration: underline; font: inherit; cursor: pointer; }
.kl-concierge__followup { border-top: 1px solid #e2e6ee; margin-top: 16px; padding-top: 12px; }
.kl-concierge__followup[hidden] { display: none !important; }
.kl-concierge__followup h3 { font-size: 17px; }
.kl-concierge__followup a { display: block; }
.kl-concierge button:focus-visible { outline: 3px solid #317183; outline-offset: 3px; }
@media (max-width: 782px) {
	html body.home .site-main > .kamilex-hero.kl-concierge { padding: 16px 20px 28px !important; gap: 18px; }
	.kl-concierge__intro { min-height: 290px; padding: 14px 0; }
	html body.home .kamilex-hero.kl-concierge h1 { font-size: 28px !important; margin: 12px 0 !important; }
	.kl-concierge__intro h1, .kl-concierge__intro p { max-width: 100%; }
	.kl-concierge__portrait { opacity: 1; width: 100%; object-fit: contain; height: 100%; object-position: right top; }
	.kl-concierge__intro .kl-concierge__sub { padding-top: 0; }
	html body.home .kamilex-hero.kl-concierge .kl-concierge__sub { font-size: 15px !important; text-wrap: initial; }
	.kl-concierge__choices { align-self: start; }
}

/* Clear return destination from product pages; preserve the existing hero. */
#kamilex-consultation { scroll-margin-top: 110px; }
.kl-concierge__choices .kl-concierge__expectation { margin: 0 0 20px; line-height: 1.6; color: #302c39; }
.kl-concierge__expectation strong { display: block; box-sizing: border-box; padding: 14px; border: 1px solid #e5d9ef; border-radius: 14px; background: linear-gradient(110deg, #ffe5ec 0%, #f0e8fb 48%, #dfedff 100%); color: #30243f; font-size: clamp(20px, 5.6vw, 28px); font-weight: 900; line-height: 1.5; letter-spacing: -.035em; box-shadow: 0 5px 18px rgba(99, 74, 140, .08); }
.kl-concierge__expectation span { display: block; margin-top: 10px; font-size: 14px; color: #555d6c; }
