/* Chomotkar Agency: front-end styles */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-body, 'Jost', sans-serif); font-size: 16.5px; line-height: 1.65; color: var(--text, #1d1e22); background: #fff; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-family: var(--font-head, 'Jost', sans-serif); margin: 0; line-height: 1.15; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.cag-i { flex: none; }
.screen-reader-text { position: absolute; left: -9999px; }
.screen-reader-text:focus { left: 8px; top: 8px; z-index: 999; background: #fff; padding: 8px 12px; border-radius: 8px; }

.cag-container { width: min(1180px, 100% - 48px); margin-inline: auto; }
.cag-container--narrow { width: min(780px, 100% - 48px); }

/* Buttons */
.cag-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--primary); background: var(--primary); color: #fff; padding: 14px 28px; border-radius: 14px; font: 500 14px/1.2 var(--font-body); cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.cag-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 35%, transparent); }
.cag-btn--sm { padding: 10px 20px; font-size: 13px; border-radius: 12px; }
.cag-btn--ghost { background: transparent; color: var(--text); border-color: rgba(0,0,0,.15); }
.cag-btn--ghost:hover { box-shadow: none; border-color: var(--text); }
.cag-btn--light { background: #fff; color: var(--primary); border-color: #fff; }
.cag-btn--light:hover { box-shadow: 0 10px 24px rgba(0,0,0,.2); }

/* Titles */
.cag-title { font-size: clamp(26px, 3.3vw, 38px); font-weight: 700; letter-spacing: -.01em; }
.cag-title .hl { display: block; color: var(--primary); }
.cag-h1 { font-size: clamp(34px, 5.6vw, 62px); font-weight: 700; line-height: 1.08; }

/* Header */
.cag-header { background: #fff; z-index: 50; position: relative; transition: box-shadow .2s; }
.cag-header.is-sticky { position: sticky; top: 0; }
body.admin-bar .cag-header.is-sticky { top: 32px; }
.cag-header.is-scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.06); }
.cag-header__in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 18px 0; }
.cag-logo { display: inline-flex; align-items: center; gap: 9px; justify-self: start; font-family: var(--font-head); font-weight: 700; font-size: 22px; }
.cag-logo img { max-height: 38px; width: auto; }
.cag-logo__mark { color: var(--primary); display: inline-flex; }
.cag-logo__mark svg { fill: currentColor; stroke: currentColor; stroke-width: 1; }
.cag-nav ul { display: flex; gap: 38px; }
.cag-nav a { font-size: 13px; font-weight: 500; position: relative; padding: 6px 0; }
.cag-nav a::after { content: ''; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--primary); transition: width .2s; }
.cag-nav a:hover::after { width: 100%; }
.cag-header__actions { display: flex; align-items: center; gap: 12px; justify-self: end; }
.cag-burger { display: none; width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; padding: 0; }
.cag-burger span { display: block; width: 24px; height: 2px; background: var(--text); border-radius: 2px; transition: transform .2s, opacity .2s; }
.cag-burger[aria-expanded=true] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.cag-burger[aria-expanded=true] span:nth-child(2) { opacity: 0; }
.cag-burger[aria-expanded=true] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Hero */
.cag-hero { background: #fff; padding: 28px 0 0; text-align: center; overflow: hidden; }
.cag-badge { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; font-size: 12.5px; font-weight: 600; }
.cag-avatars { display: inline-flex; }
.cag-avatars img, .cag-avatar { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; margin-left: -9px; background: #ddd; }
.cag-avatars > :first-child { margin-left: 0; }
.cag-avatar--0 { background: linear-gradient(135deg, #f3c9a8, #d99a73); }
.cag-avatar--1 { background: linear-gradient(135deg, #b8c4ff, #7c8cf0); }
.cag-avatar--2 { background: linear-gradient(135deg, #ffd6e0, #f08ca8); }
.cag-avatar--3 { background: linear-gradient(135deg, #c9f0dd, #6fcf9f); }
.cag-lead { max-width: 480px; margin: 22px auto 0; font-size: 14.5px; color: #3a3c44; }
.cag-hero__btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }


/* Sections */
.cag-section { background: var(--bg); padding: 84px 0 0; }
.cag-section:last-of-type { padding-bottom: 90px; }
.cag-stats + .cag-section { padding-top: 70px; }
.cag-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 36px; }
.cag-sec-head__desc { max-width: 340px; margin: 0; font-size: 13.5px; }
.cag-sec-head--center { justify-content: center; text-align: center; }

/* Offices */
.cag-offices { display: grid; gap: 14px; grid-template-columns: 1fr; }
.cag-offices--2 { grid-template-columns: 1.55fr 1fr; }
.cag-offices--3 { grid-template-columns: 1.4fr 1fr 1fr; }
.cag-office { position: relative; display: block; border-radius: calc(var(--radius) + 2px); overflow: hidden; min-height: 300px; background: #ccd6ec; }
.cag-office img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.cag-office:hover img { transform: scale(1.05); }
.cag-office__arrow { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid; place-items: center; transition: transform .2s; }
.cag-office:hover .cag-office__arrow { transform: translateX(3px); }
.cag-office__label { position: absolute; left: 16px; bottom: 16px; background: #fff; border-radius: 22px; padding: 14px 26px 14px 22px; display: flex; flex-direction: column; max-width: calc(100% - 32px); }
.cag-office__label strong { font-family: var(--font-head); font-size: 15px; display: flex; align-items: center; gap: 8px; }
.cag-office__label strong::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); }
.cag-office__label em { font-style: normal; font-size: 13.5px; }

/* Cards & grids */
.cag-grid { display: grid; gap: 16px; }
.cag-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cag-card { background: #fff; border-radius: var(--radius); padding: 28px; }
.cag-service { display: flex; flex-direction: column; min-height: 230px; transition: transform .25s, box-shadow .25s; }
.cag-service:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.cag-ico { width: 46px; height: 46px; border-radius: 50%; display: inline-grid; place-items: center; flex: none; }
.cag-service h3 { font-size: 17px; margin: 22px 0 8px; font-family: var(--font-body); font-weight: 600; }
.cag-service p { font-size: 13.5px; color: #4a4c55; margin: 0; }
.cag-more { margin-top: auto; padding-top: 22px; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; transition: gap .2s; }
.cag-more:hover { gap: 12px; color: var(--primary); }
.cag-tone-blue { background: color-mix(in srgb, var(--primary) 13%, #fff); color: var(--primary); }
.cag-tone-coral { background: #ffe9e2; color: #e5522e; }
.cag-tone-teal { background: #d9f3f1; color: #0d8a85; }
.cag-tone-amber { background: #fff1d6; color: #c77a00; }
.cag-tone-pink { background: #ffe4f1; color: #d63384; }
.cag-tone-sky { background: #dff1ff; color: #1b82d1; }
.cag-tone-green { background: #dcf5e8; color: #178a56; }
.cag-tone-gray { background: #e8edf7; color: #38435f; }

/* Portfolio */
.cag-work { padding: 12px; display: block; transition: transform .25s, box-shadow .25s; }
.cag-work:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.cag-work__img { display: block; border-radius: calc(var(--radius) - 8px); overflow: hidden; aspect-ratio: 4 / 3; background: #e1e8f6; }
.cag-work__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.cag-work:hover .cag-work__img img { transform: scale(1.05); }
.cag-work__body { display: block; padding: 16px 12px 8px; }
.cag-work__body small { display: inline-block; font-size: 11.5px; font-weight: 600; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, #fff); padding: 3px 10px; border-radius: 99px; margin-bottom: 8px; }
.cag-work__body strong { display: block; font-family: var(--font-body); font-weight: 600; font-size: 16px; }

/* Process */
.cag-dark { background: var(--dark); color: #fff; border-radius: calc(var(--radius) + 12px); padding: 64px 48px; }
.cag-dark .cag-title { color: #fff; }
.cag-dark .cag-sec-head { margin-bottom: 44px; }
.cag-steps { display: grid; gap: 24px; grid-template-columns: repeat(4, 1fr); }
.cag-steps--1 { grid-template-columns: 1fr; }
.cag-steps--2 { grid-template-columns: repeat(2, 1fr); }
.cag-steps--3 { grid-template-columns: repeat(3, 1fr); }
.cag-steps li { border-top: 1px solid rgba(255,255,255,.18); padding-top: 22px; }
.cag-steps__n { font-family: var(--font-head); font-size: 40px; font-weight: 700; color: var(--primary); display: block; margin-bottom: 14px; line-height: 1; }
.cag-steps h3 { font-size: 18px; margin-bottom: 8px; font-family: var(--font-body); font-weight: 600; }
.cag-steps p { font-size: 13.5px; color: #b9bbc4; margin: 0; }

/* Testimonials */
.cag-quote { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.cag-stars { display: flex; gap: 3px; color: #f5a623; }
.cag-stars svg { fill: currentColor; }
.cag-quote blockquote { margin: 0; font-size: 14.5px; color: #3a3c44; }
.cag-quote figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.cag-quote figcaption img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.cag-avatar--lg { width: 44px; height: 44px; margin: 0; display: grid; place-items: center; background: color-mix(in srgb, var(--primary) 14%, #fff); color: var(--primary); font-weight: 700; border: 0; font-family: var(--font-head); }
.cag-quote strong { display: block; font-size: 14px; }
.cag-quote small { color: #6b6e78; font-size: 12.5px; }

/* CTA */
.cag-cta__box { background: var(--primary); color: #fff; border-radius: calc(var(--radius) + 12px); padding: 72px 32px; text-align: center; position: relative; overflow: hidden; }
.cag-cta__box::before, .cag-cta__box::after { content: ''; position: absolute; border-radius: 50%; background: rgba(255,255,255,.08); }
.cag-cta__box::before { width: 360px; height: 360px; left: -120px; top: -160px; }
.cag-cta__box::after { width: 280px; height: 280px; right: -80px; bottom: -140px; }
.cag-cta__box > * { position: relative; z-index: 1; }
.cag-cta__title { font-size: clamp(28px, 4vw, 46px); color: #fff; }
.cag-cta__title .hl { color: #fff; opacity: .85; }
.cag-cta__box p { max-width: 520px; margin: 18px auto 28px; opacity: .9; }

/* Contact */
.cag-contact { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: start; }
.cag-contact__info p { margin-top: 18px; max-width: 420px; }
.cag-contact__list { display: flex; flex-direction: column; gap: 14px; margin-top: 26px; }
.cag-contact__list li { display: flex; align-items: center; gap: 14px; font-weight: 500; }
.cag-form { display: flex; flex-direction: column; gap: 16px; padding: 32px; }
.cag-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cag-form label span { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; }
.cag-form input, .cag-form textarea { width: 100%; border: 1px solid #d3dcf0; background: #f9fbff; border-radius: 14px; padding: 13px 16px; font: inherit; color: inherit; transition: border-color .15s, box-shadow .15s; }
.cag-form input:focus, .cag-form textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 15%, transparent); background: #fff; }
.cag-form .cag-btn { align-self: flex-start; }
.cag-form__trap { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.cag-alert { padding: 12px 16px; border-radius: 12px; font-size: 14px; }
.cag-alert--ok { background: #dff7ea; color: #0f6b3f; }
.cag-alert--err { background: #fde8e8; color: #a3262b; }

/* Footer */

/* Inner pages */
.cag-inner { background: var(--bg); padding: 70px 0 90px; min-height: 55vh; }
.cag-inner__title { margin-bottom: 30px; }
.cag-content { font-size: 16px; }
.cag-content h2, .cag-content h3 { margin: 1.6em 0 .6em; }
.cag-content img { border-radius: 18px; }
.cag-content a { color: var(--primary); text-decoration: underline; }
.cag-entry__meta { color: #6b6e78; font-size: 13px; margin-bottom: 8px; }
.cag-entry__img { margin-bottom: 28px; border-radius: var(--radius); overflow: hidden; }
.cag-post { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.cag-post > *:not(.cag-post__img) { margin-left: 24px; margin-right: 24px; }
.cag-post__img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.cag-post__title { font-size: 19px; margin: 20px 24px 8px; font-family: var(--font-body); font-weight: 600; }
.cag-post .cag-more { margin-bottom: 24px; }
.navigation.pagination { margin-top: 36px; }
.nav-links { display: flex; gap: 8px; justify-content: center; }
.page-numbers { padding: 8px 14px; border-radius: 10px; background: #fff; }
.page-numbers.current { background: var(--primary); color: #fff; }
.cag-404 { text-align: center; }
.cag-404__code { font-family: var(--font-head); font-size: clamp(80px, 16vw, 160px); font-weight: 800; color: var(--primary); line-height: 1; margin-bottom: 10px; }
.cag-404 .cag-btn { margin-top: 12px; }

/* Reveal animation */
.js body:not(.cag-no-anim) [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.js body:not(.cag-no-anim) [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.js body:not(.cag-no-anim) [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* Tablet */
@media (max-width: 960px) {
	.cag-header__in { grid-template-columns: 1fr auto; }
	.cag-burger { display: flex; }
	.cag-nav { display: none; position: absolute; left: 24px; right: 24px; top: calc(100% - 4px); background: #fff; border-radius: 22px; padding: 14px 22px; box-shadow: 0 20px 50px rgba(0,0,0,.14); }
	.cag-nav.is-open { display: block; }
	.cag-nav ul { flex-direction: column; gap: 0; }
	.cag-nav li a { display: block; padding: 13px 0; font-size: 15px; }
	.cag-nav li + li { border-top: 1px solid #eee; }
	.cag-nav a::after { display: none; }
	.cag-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.cag-offices--2, .cag-offices--3 { grid-template-columns: 1fr; }
	.cag-office { min-height: 240px; }
	.cag-steps, .cag-steps--3 { grid-template-columns: repeat(2, 1fr); }
	.cag-contact { grid-template-columns: 1fr; gap: 32px; }
	.cag-sec-head { align-items: flex-end; }
}
@media (max-width: 720px) {
	body.admin-bar .cag-header.is-sticky { top: 46px; }
	.cag-container { width: min(1180px, 100% - 32px); }
	.cag-sec-head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 26px; }
	.cag-sec-head--center { align-items: center; }
	.cag-section { padding-top: 60px; }
	.cag-grid--3 { gap: 12px; }
	.cag-card { padding: 22px; }
	.cag-dark { padding: 44px 24px; }
	.cag-steps, .cag-steps--2, .cag-steps--3 { grid-template-columns: 1fr; }
	.cag-cta__box { padding: 52px 22px; }
	.cag-form { padding: 22px; }
	.cag-form__row { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.cag-office { min-height: 200px; }
	.cag-office__label { padding: 12px 18px; border-radius: 18px; }
}

/* Clients */
.cag-eyebrow { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, #fff); padding: 6px 14px; border-radius: 99px; margin-bottom: 16px; }
.cag-clients__head > div { max-width: 620px; }
.cag-clients__desc { margin: 14px auto 0; font-size: 14.5px; color: #4a4c55; }
.cag-clients__wall { background: #fff; border-radius: calc(var(--radius) + 8px); padding: 34px 0; display: flex; flex-direction: column; gap: 16px; overflow: hidden; -webkit-mask-image: none; }
.cag-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); }
.cag-marquee__track { display: flex; width: max-content; animation: cagMarquee var(--dur, 30s) linear infinite; }
.cag-marquee.is-reverse .cag-marquee__track { animation-direction: reverse; }
.cag-marquee:hover .cag-marquee__track { animation-play-state: paused; }
@keyframes cagMarquee { to { transform: translateX(-50%); } }
.cag-client { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 76px; min-width: 190px; padding: 0 28px; margin-right: 16px; border-radius: 20px; background: var(--bg); border: 1px solid transparent; transition: background .25s, border-color .25s, transform .25s, box-shadow .25s; flex: none; }
.cag-client:hover { background: #fff; border-color: #d3dcf0; transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.07); }
.cag-client img { max-height: 36px; max-width: 140px; width: auto; object-fit: contain; transition: filter .25s, opacity .25s; }
.is-gray .cag-client img { filter: grayscale(1); opacity: .65; }
.is-gray .cag-client:hover img { filter: none; opacity: 1; }
.cag-client__mark { width: 34px; height: 34px; border-radius: 11px; background: var(--text); color: #fff; display: grid; place-items: center; font: 700 16px/1 var(--font-head); transition: background .25s; }
.cag-client__name { font: 700 17px/1 var(--font-head); letter-spacing: -.01em; color: var(--text); opacity: .75; transition: opacity .25s, color .25s; white-space: nowrap; }
.cag-client:hover .cag-client__mark { background: var(--primary); }
.cag-client:hover .cag-client__name { opacity: 1; color: var(--primary); }
.cag-clients__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; padding: 0 34px; }
.cag-clients__grid .cag-client { margin: 0; min-width: 0; }
@media (max-width: 720px) {
	.cag-clients__wall { padding: 22px 0; }
	.cag-client { height: 62px; min-width: 150px; padding: 0 20px; }
	.cag-clients__grid { padding: 0 16px; grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.cag-marquee__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; row-gap: 12px; }
	.cag-marquee__track [aria-hidden=true] { display: none; }
}
body.cag-no-anim .cag-marquee__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; row-gap: 12px; padding: 0 20px; }
body.cag-no-anim .cag-marquee__track [aria-hidden=true] { display: none; }

/* ===== v1.2 polish & mobile refinements ===== */
html, body { overflow-x: clip; }
::selection { background: var(--primary); color: #fff; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 6px; }

.cag-header { border-bottom: 1px solid transparent; }
.cag-header.is-scrolled { border-bottom-color: #eee; background: rgba(255,255,255,.92); backdrop-filter: saturate(160%) blur(12px); }
.cag-hero { position: relative; background: radial-gradient(60% 55% at 50% 0%, color-mix(in srgb, var(--primary) 9%, #fff) 0%, #fff 70%); }
.cag-badge { background: #fff; border: 1px solid #ececf0; padding: 6px 16px 6px 8px; border-radius: 99px; box-shadow: 0 4px 14px rgba(20,20,40,.05); }
.cag-card { box-shadow: 0 1px 0 rgba(0,0,0,.02), 0 8px 24px rgba(15,30,90,.04); }
.cag-btn { letter-spacing: .005em; }
.cag-sec-head__desc { color: #4a4c55; }

@media (max-width: 960px) {
	.cag-header__in { padding: 14px 0; }
	.cag-nav { left: 16px; right: 16px; }
}
@media (max-width: 720px) {
	body { font-size: 14.5px; }
	.cag-hero { padding-top: 14px; }
	.cag-badge { margin-bottom: 18px; font-size: 12px; }
	.cag-h1 { font-size: clamp(32px, 9.4vw, 44px); }
	.cag-lead { font-size: 14px; margin-top: 16px; padding: 0 4px; }
	.cag-hero__btns { margin-top: 22px; gap: 10px; }
	.cag-hero__btns .cag-btn { flex: 1 1 140px; padding: 13px 18px; }
	.cag-title { font-size: clamp(24px, 7vw, 30px); }
	/* two-up compact cards like the mobile mockup */
	.cag-grid--3 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.cag-card { padding: 18px 16px; border-radius: 22px; }
	.cag-service { min-height: 0; }
	.cag-service h3 { font-size: 15px; margin: 14px 0 6px; }
	.cag-service p { font-size: 12.5px; }
	.cag-more { padding-top: 14px; font-size: 12.5px; }
	.cag-ico { width: 40px; height: 40px; }
	.cag-office { min-height: 210px; border-radius: 24px; }
	.cag-offices { gap: 10px; }
	.cag-work { grid-column: 1 / -1; }
	.cag-work__img { aspect-ratio: 16 / 10; }
	.cag-quote { grid-column: 1 / -1; }
	.cag-contact__list li { font-size: 14px; }
	.cag-form .cag-btn { width: 100%; }
}
@media (max-width: 520px) {
	.cag-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 360px) {
	.cag-grid--3 { grid-template-columns: 1fr; }
}

/* ===== v1.5 Header, split hero, editorial stats, clients ===== */
.cag-header, .cag-header.is-sticky, .cag-header.is-scrolled { position: sticky; position: -webkit-sticky; top: 0; z-index: 100; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
.cag-header { border-bottom: 1px solid #e8edf8; }
.cag-header.is-scrolled { box-shadow: 0 8px 26px rgba(20,20,40,.08); }
body.admin-bar .cag-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cag-header { top: 46px; } }
html { scroll-padding-top: 84px; }

/* Hero: copy left, visual right */
.cag-hero { text-align: left; overflow: visible; padding: 56px 0 96px;
	background: radial-gradient(700px 420px at 85% 10%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 70%), #fff; }
.cag-hero__in { display: grid; grid-template-columns: 1.02fr 1fr; gap: 56px; align-items: center; }
.cag-proof { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 26px; padding: 6px 18px 6px 8px; background: #fff; border: 1px solid #ececf0; border-radius: 99px; box-shadow: 0 6px 18px rgba(20,20,40,.05); }
.cag-proof__txt { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
.cag-proof__txt b { font-size: 12.5px; font-weight: 600; }
.cag-proof .cag-stars { gap: 1px; }
.cag-hero .cag-h1 { font-size: clamp(38px, 5vw, 68px); line-height: 1.04; letter-spacing: -.025em; text-align: left; }
.cag-hero .cag-lead { margin: 24px 0 0; max-width: 500px; font-size: 16px; color: #4a4c55; }
.cag-hero__btns { justify-content: flex-start; margin-top: 32px; }
.cag-hero__btns .cag-btn { padding: 16px 30px; }

.cag-vis { position: relative; width: 100%; aspect-ratio: 1 / 1.02; max-width: 580px; margin-left: auto; }
.cag-vis__bg { position: absolute; inset: 0; border-radius: 44px 44px 44px 120px; overflow: hidden;
	background:
		radial-gradient(60% 40% at 80% 18%, rgba(255,255,255,.28), transparent 70%),
		linear-gradient(155deg, color-mix(in srgb, var(--primary) 78%, #fff) 0%, var(--primary) 55%, color-mix(in srgb, var(--primary) 82%, #000) 100%);
	box-shadow: 0 40px 80px color-mix(in srgb, var(--primary) 30%, transparent); }
.cag-vis__bg::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.35) 1.2px, transparent 1.4px); background-size: 20px 20px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 70%); mask-image: linear-gradient(180deg, #000, transparent 70%); }
.cag-hero__photo { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; border-radius: 0 0 44px 120px; overflow: hidden; }
.cag-hero__photo img { width: 100%; display: block; }
.cag-hero__photo.is-blend { mix-blend-mode: multiply; }
.cag-hero__photo.is-blend img { filter: contrast(1.05); }

.cag-growth { position: absolute; z-index: 3; left: -34px; top: 9%; width: 218px; padding: 16px 18px 12px; background: #fff; border-radius: 24px; box-shadow: 0 24px 50px rgba(20,30,80,.2); color: var(--primary); animation: cagFloat 7s ease-in-out infinite; }
.cag-growth__top { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; font-weight: 600; color: #4a4c55; }
.cag-growth__top i { width: 26px; height: 26px; border-radius: 50%; background: #dff7ea; color: #1fb26b; display: grid; place-items: center; }
.cag-growth strong { display: block; margin-top: 6px; font: 700 34px/1.05 var(--font-head); color: var(--text); letter-spacing: -.02em; }
.cag-growth__chart { display: block; width: 100%; height: 52px; margin: 4px 0 2px; }
.cag-growth small { font-size: 11.5px; color: #7a7c86; }

.cag-ring { position: absolute; z-index: 3; right: 6%; top: 6%; width: 126px; height: 126px; border-radius: 50%; background: #fff; box-shadow: 0 20px 44px rgba(20,30,80,.2); display: grid; place-items: center; }
.cag-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: cagSpin 22s linear infinite; }
.cag-ring__t { font: 700 10.5px var(--font-body); fill: var(--text); letter-spacing: 1px; text-transform: uppercase; }
.cag-ring__c { position: relative; width: 52px; height: 52px; border-radius: 50%; background: var(--primary); color: #fff; display: grid; place-items: center; }
.cag-ring__c svg { position: static; animation: none; width: 24px; height: 24px; fill: currentColor; }
@keyframes cagSpin { to { transform: rotate(360deg); } }

.cag-chip { position: absolute; z-index: 4; display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 20px; padding: 12px 22px 12px 12px; box-shadow: 0 20px 44px rgba(20,30,80,.2); text-align: left; animation: cagFloat 6s ease-in-out infinite; }
.cag-chip .cag-ico { background: color-mix(in srgb, var(--primary) 12%, #fff); color: var(--primary); width: 44px; height: 44px; }
.cag-chip strong { display: block; font: 700 18px/1.1 var(--font-head); }
.cag-chip small { display: block; font-size: 12px; color: #5b5d66; margin-top: 3px; }
.cag-chip--1 { right: -26px; top: 41%; animation-delay: -2s; }
.cag-chip--2 { left: -30px; bottom: 7%; animation-delay: -4s; }
@keyframes cagFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* Stats: editorial row on soft background */
.cag-stats { position: relative; margin-top: -48px; z-index: 5; background: var(--bg); border-radius: 56px 56px 0 0; padding: 64px 0 0; }
.cag-ticker { background: var(--dark); color: #fff; border-radius: 99px; overflow: hidden; padding: 18px 0; margin-bottom: 56px; -webkit-mask-image: none; }
.cag-ticker__track { display: flex; width: max-content; animation: cagMarquee 38s linear infinite; }
.cag-ticker__set { display: flex; align-items: center; flex: none; }
.cag-ticker__set span { font: 600 17px/1 var(--font-head); padding: 0 26px; white-space: nowrap; }
.cag-ticker__set i { color: var(--primary); display: inline-flex; }
.cag-ticker__set i svg { fill: currentColor; }
.cag-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px; }
.cag-stats__grid--1 { grid-template-columns: 1fr; }
.cag-stats__grid--2 { grid-template-columns: repeat(2, 1fr); }
.cag-stats__grid--3 { grid-template-columns: repeat(3, 1fr); }
.cag-stats__grid--5 { grid-template-columns: repeat(5, 1fr); gap: 24px; }
.cag-stat { position: relative; padding-top: 22px; border-top: 1.5px solid rgba(0,0,0,.14); display: flex; flex-direction: column; gap: 6px; }
.cag-stat::before { content: ''; position: absolute; left: 0; top: -2px; width: 44px; height: 3px; background: var(--text); border-radius: 3px; }
.cag-stat__ico { position: absolute; right: 0; top: 20px; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--primary); display: grid; place-items: center; box-shadow: 0 6px 16px rgba(15,30,90,.08); }
.cag-stat__value { font: 700 clamp(46px, 5.6vw, 76px)/1 var(--font-head); letter-spacing: -.035em; color: var(--text); }
.cag-stat__value sup { font-size: .5em; vertical-align: top; position: relative; top: .1em; margin-left: 2px; color: var(--primary); letter-spacing: 0; }
.cag-stat__label { font-size: 14px; font-weight: 500; color: #4a4c55; }
.cag-stat--hl::before { background: var(--primary); width: 72px; }
.cag-stat--hl .cag-stat__value { color: var(--primary); }
.cag-stats + .cag-section { padding-top: 90px; }
.cag-stats + .cag-section, .cag-stats { background: var(--bg); }
.cag-stats { padding-bottom: 0; }

/* Clients */
.cag-client { height: 100px; width: 236px; min-width: 0; padding: 0 28px; margin-right: 16px; }
.cag-client img { width: 100%; height: 60px; max-width: none; max-height: none; object-fit: contain; }
.cag-client__mark { width: 40px; height: 40px; font-size: 18px; }
.cag-client__name { font-size: 19px; }
.cag-clients__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 0 30px; }
.cag-clients__grid .cag-client { width: auto; margin: 0; }

@media (max-width: 1100px) {
	.cag-chip--1 { right: -8px; } .cag-chip--2 { left: -8px; } .cag-growth { left: -10px; }
}
@media (max-width: 960px) {
	.cag-hero { padding: 36px 0 84px; }
	.cag-hero__in { grid-template-columns: 1fr; gap: 44px; }
	.cag-vis { margin: 0 auto; max-width: 560px; }
	.cag-stats__grid, .cag-stats__grid--5 { grid-template-columns: repeat(2, 1fr); gap: 40px 28px; }
	.cag-clients__grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Mobile ---- */
@media (max-width: 720px) {
	.cag-hero { padding: 24px 0 72px; }
	.cag-hero__in { gap: 32px; }
	.cag-proof { margin-bottom: 18px; padding-right: 14px; }
	.cag-hero .cag-h1 { font-size: clamp(34px, 10vw, 46px); }
	.cag-hero .cag-lead { font-size: 14.5px; margin-top: 16px; }
	.cag-hero__btns { margin-top: 22px; gap: 10px; }
	.cag-hero__btns .cag-btn { flex: 1 1 150px; padding: 14px 18px; }
	/* visual becomes a tidy stacked card */
	.cag-vis { aspect-ratio: auto; max-width: none; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "growth ring" "chips chips" "photo photo"; gap: 10px; padding: 14px 14px 0; align-items: center; }
	.cag-vis__bg { border-radius: 30px 30px 30px 72px; }
	.cag-growth, .cag-ring, .cag-chip, .cag-hero__photo { position: relative; left: auto; right: auto; top: auto; bottom: auto; animation: none; }
	.cag-growth { grid-area: growth; width: auto; padding: 13px 14px 8px; border-radius: 20px; }
	.cag-growth strong { font-size: 28px; }
	.cag-growth__chart { height: 36px; }
	.cag-ring { grid-area: ring; width: 92px; height: 92px; }
	.cag-ring__t { font-size: 10px; }
	.cag-ring__c { width: 38px; height: 38px; } .cag-ring__c svg { width: 18px; height: 18px; }
	.cag-chip { padding: 9px 12px 9px 9px; gap: 9px; border-radius: 16px; box-shadow: 0 10px 24px rgba(20,30,80,.16); }
	.cag-chip .cag-ico { width: 34px; height: 34px; }
	.cag-chip strong { font-size: 15px; } .cag-chip small { font-size: 11px; }
	.cag-vis .cag-chip { grid-area: chips; }
	.cag-vis .cag-chip--1 { grid-column: 1 / 2; } .cag-vis .cag-chip--2 { grid-column: 2 / 3; }
	.cag-hero__photo { grid-area: photo; margin: 4px -14px 0; border-radius: 0 0 30px 72px; }
	/* Stats */
	.cag-stats { margin-top: -40px; border-radius: 36px 36px 0 0; padding-top: 44px; }
	.cag-ticker { margin-bottom: 40px; padding: 14px 0; }
	.cag-ticker__set span { font-size: 15px; padding: 0 20px; }
	.cag-stats__grid, .cag-stats__grid--3, .cag-stats__grid--5 { grid-template-columns: repeat(2, 1fr); gap: 34px 20px; }
	.cag-stat { padding-top: 18px; }
	.cag-stat__ico { width: 34px; height: 34px; top: 14px; }
	.cag-stat__ico svg { width: 17px; height: 17px; }
	.cag-stat__value { font-size: clamp(40px, 12vw, 52px); }
	.cag-stat__label { font-size: 13px; }
	.cag-stats + .cag-section { padding-top: 64px; }
	/* Clients */
	.cag-client { height: 80px; width: 190px; padding: 0 20px; }
	.cag-client img { height: 46px; }
	.cag-clients__wall { padding: 22px 0; }
}
@media (max-width: 420px) {
	.cag-vis { grid-template-areas: "growth ring" "chip1 chip2" "photo photo"; }
	.cag-vis .cag-chip--1 { grid-area: chip1; } .cag-vis .cag-chip--2 { grid-area: chip2; }
	.cag-chip small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .cag-ring svg, .cag-chip, .cag-growth, .cag-ticker__track { animation: none; } }

/* v1.5.1 static client grid = hairline logo wall; lighter duotone; balanced headings */
.cag-clients__wall:has(.cag-clients__grid) { padding: 0; }
.cag-clients__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 0; background: #dde5f5; }
.cag-clients__grid .cag-client { width: auto; height: 104px; margin: 0; border-radius: 0; background: #fff; border: 0; box-shadow: none; transform: none; padding: 0 22px; min-width: 0; }
.cag-clients__grid .cag-client:hover { background: var(--bg); box-shadow: none; transform: none; }
.cag-clients__grid .cag-client img { height: 56px; }
.cag-clients__grid .cag-client__mark { background: var(--bg); color: var(--text); }
.cag-clients__grid .cag-client:hover .cag-client__mark { background: var(--primary); color: #fff; }
@media (max-width: 960px) { .cag-clients__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) {
	.cag-clients__grid { grid-template-columns: repeat(2, 1fr); }
	.cag-clients__grid .cag-client { width: auto; height: 92px; flex-direction: column; gap: 8px; padding: 0 12px; }
	.cag-clients__grid .cag-client img { height: 44px; }
	.cag-clients__grid .cag-client__mark { width: 32px; height: 32px; font-size: 15px; border-radius: 10px; }
	.cag-clients__grid .cag-client__name { font-size: 14px; }
	.cag-clients__wall:has(.cag-clients__grid) { border-radius: 24px; }
}
.cag-vis__bg { background:
		radial-gradient(60% 40% at 80% 18%, rgba(255,255,255,.3), transparent 70%),
		linear-gradient(155deg, color-mix(in srgb, var(--primary) 70%, #fff) 0%, color-mix(in srgb, var(--primary) 92%, #fff) 55%, var(--primary) 100%); }
.cag-hero__photo.is-blend img { filter: contrast(1.02) brightness(1.08); }
.cag-title, .cag-h1 { text-wrap: balance; }

/* ===== v1.6 Process timeline ===== */
.cag-proc{list-style:none;margin:0;padding:0;display:grid;gap:22px;grid-template-columns:repeat(4,1fr);position:relative;counter-reset:p}
.cag-proc--1{grid-template-columns:1fr}.cag-proc--2{grid-template-columns:repeat(2,1fr)}.cag-proc--3{grid-template-columns:repeat(3,1fr)}
.cag-proc::before{content:"";position:absolute;left:8%;right:8%;top:27px;border-top:2px dashed color-mix(in srgb,var(--primary) 35%,transparent)}
.cag-proc__item{position:relative;padding-top:0}
.cag-proc__node{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font:700 18px var(--font-head);box-shadow:0 0 0 8px var(--bg),0 10px 22px rgba(29,78,216,.28);margin:0 0 20px 24px}
.cag-proc__card{background:#fff;border:1px solid #dde5f5;border-radius:var(--radius);padding:24px;height:calc(100% - 76px)}
.cag-proc__card .cag-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;margin-bottom:14px;background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary)}
.cag-proc__card h3{font-size:18px;margin:0 0 8px}
.cag-proc__card p{font-size:14px;margin:0;color:#55607c}
.cag-process{background:var(--bg)}
@media(max-width:960px){.cag-proc,.cag-proc--3{grid-template-columns:repeat(2,1fr)}.cag-proc::before{display:none}}
@media(max-width:620px){
.cag-proc,.cag-proc--2,.cag-proc--3{grid-template-columns:1fr;gap:18px;padding-left:34px}
.cag-proc::before{display:block;left:21px;right:auto;top:20px;bottom:20px;border-top:0;border-left:2px dashed color-mix(in srgb,var(--primary) 35%,transparent)}
.cag-proc__node{position:absolute;left:-34px;top:14px;margin:0;width:42px;height:42px;font-size:15px;box-shadow:0 0 0 6px var(--bg)}
.cag-proc__card{height:auto;padding:20px}}

/* ===== v1.6 Footer (flat, full width) ===== */
.cag-footer{background:var(--dark);color:#b4c0de;position:relative;overflow:hidden;padding:76px 0 0;margin:0;border-radius:0}
.cag-footer::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-260px;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 45%,transparent),transparent 70%);pointer-events:none}
.cag-footer .cag-container{position:relative}
.cag-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.4fr;gap:44px;padding-bottom:52px}
.cag-footer__brand p{margin:18px 0 22px;font-size:14px;line-height:1.7;max-width:340px}
.cag-footer h4{color:#fff;font:600 15px var(--font-body);margin:0 0 18px;letter-spacing:.02em}
.cag-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.cag-footer a{color:#b4c0de;text-decoration:none;font-size:14px;transition:color .2s}
.cag-footer a:hover{color:#fff}
.cag-footer__contact li{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.cag-footer__contact svg{flex:none;color:var(--accent2);margin-top:2px}
.cag-social{display:flex;gap:10px;flex-wrap:wrap}
.cag-social a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff}
.cag-social a:hover{background:var(--primary)}
.cag-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px}
.cag-footer__bottom a{display:inline-flex;gap:6px;align-items:center}
@media(max-width:960px){.cag-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cag-footer{padding-top:56px}.cag-footer__grid{grid-template-columns:1fr 1fr;gap:34px 20px}.cag-footer__grid>:first-child,.cag-footer__grid>:last-child{grid-column:1/-1}.cag-footer__bottom{flex-direction:column;align-items:flex-start}}
.cag-sec-head__p{max-width:380px;margin:0;color:#55607c;font-size:15px}
.cag-cta__box{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--dark)))}
.cag-cta__box::after{background:color-mix(in srgb,var(--accent2) 35%,transparent)}
.cag-ticker i{color:var(--accent2)}
@media(max-width:620px){.cag-sec-head__p{max-width:none}}

.cag-logo img{max-height:46px;height:auto}
.cag-footer .cag-logo img{max-height:46px}
@media(max-width:620px){.cag-logo img{max-width:158px!important;max-height:34px}.cag-footer .cag-logo img{max-width:180px!important;max-height:40px}}

/* ===== v1.7 Divisions ===== */
.cag-eyebrow{display:inline-flex;margin:0 0 16px;padding:7px 16px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);font:700 13px var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.cag-kicker{display:inline-block;margin-bottom:12px;font:700 12px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent2)}
.cag-sec-head__p--under{margin-top:14px;max-width:560px}
.cag-divs{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.cag-div--s2{grid-column:span 2}.cag-div--s3{grid-column:span 3}.cag-div--s6{grid-column:span 6}
.cag-div{border:1px solid #e1e8f6;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}
.cag-div:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 40%,#fff);box-shadow:0 18px 40px rgba(15,40,120,.10)}
.cag-div__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.cag-div__n{font:700 34px/1 var(--font-head);color:#dfe6f6}
.cag-div h3{font-size:21px;margin:0 0 8px}
.cag-div>p{margin:0 0 16px;color:#55607c;font-size:14.5px}
.cag-points{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cag-points li{padding:6px 12px;border-radius:999px;background:var(--bg);font:600 12.5px var(--font-body);color:var(--text)}
.cag-div .cag-more{margin-top:auto}
@media(max-width:960px){.cag-divs{grid-template-columns:repeat(2,1fr)}.cag-div--s2,.cag-div--s3{grid-column:span 1}.cag-div--s6{grid-column:span 2}}
@media(max-width:620px){.cag-divs{grid-template-columns:1fr;gap:16px}.cag-div--s2,.cag-div--s3,.cag-div--s6{grid-column:auto}.cag-eyebrow{font-size:11.5px}}

/* ===== v1.8 About, Why, FAQ, filters ===== */
.cag-about{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center}
.cag-about__text{font-size:17px;line-height:1.75;color:#44506b;margin:18px 0 20px}
.cag-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cag-checks li{position:relative;padding-left:32px;font-weight:500}
.cag-checks li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.cag-person{text-align:center;padding:32px 24px;border:1px solid #e1e8f6}
.cag-person__photo{width:112px;height:112px;margin:0 auto 16px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 50%,var(--dark)));display:grid;place-items:center;color:#fff;font:700 44px var(--font-head);box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 12%,#fff)}
.cag-person__photo img{width:100%;height:100%;object-fit:cover}
.cag-person strong{display:block;font:700 20px var(--font-head)}
.cag-person small{display:block;color:#55607c;margin:4px 0 16px}
.cag-social--light{justify-content:center}
.cag-social--light a{background:var(--bg);color:var(--primary)}
.cag-social--light a:hover{background:var(--primary);color:#fff}
.cag-why{background:var(--bg)}
.cag-why .cag-sec-head{margin-bottom:40px}
.cag-why__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.cag-why__item{position:relative;background:#fff;border:1px solid #e1e8f6;border-radius:var(--radius);padding:30px 30px 30px 96px;overflow:hidden}
.cag-why__ico{position:absolute;left:28px;top:30px;width:50px;height:50px;border-radius:16px;background:var(--primary);color:#fff;display:grid;place-items:center}
.cag-why__n{position:absolute;right:24px;top:18px;font:700 40px/1 var(--font-head);color:#e3e9f7}
.cag-why__item h3{font-size:20px;margin:0 0 8px}
.cag-why__item p{margin:0;color:#55607c;font-size:14.5px}
.cag-faq{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:start}
.cag-faq__head{position:sticky;top:110px}
.cag-faq__list{display:grid;gap:12px}
.cag-qa{background:#fff;border:1px solid #e1e8f6;border-radius:20px;padding:0 24px}
.cag-qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 16px var(--font-body)}
.cag-qa summary::-webkit-details-marker{display:none}
.cag-qa summary span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg);position:relative}
.cag-qa summary span::before,.cag-qa summary span::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;background:var(--primary);transition:transform .2s}
.cag-qa summary span::after{transform:rotate(90deg)}
.cag-qa[open] summary span::after{transform:rotate(0)}
.cag-qa[open]{border-color:color-mix(in srgb,var(--primary) 35%,#fff)}
.cag-qa>div{padding:0 0 22px;color:#55607c;font-size:15px;line-height:1.7}
.cag-filters{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 28px}
.cag-filters button{border:1px solid #d3dcf0;background:#fff;border-radius:999px;padding:9px 18px;font:600 13.5px var(--font-body);color:var(--text);cursor:pointer;transition:all .2s}
.cag-filters button:hover{border-color:var(--primary);color:var(--primary)}
.cag-filters button.is-active{background:var(--primary);border-color:var(--primary);color:#fff}
.cag-work.is-hidden{display:none}
.cag-div__price{margin:0 0 14px;font:700 15px var(--font-head);color:var(--primary)}
.cag-form select{width:100%;border:1px solid #d3dcf0;background:#f9fbff;border-radius:14px;padding:13px 16px;font:inherit;color:inherit}
.cag-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent)}
@media(max-width:960px){.cag-about,.cag-faq{grid-template-columns:1fr;gap:28px}.cag-faq__head{position:static}.cag-why__grid{grid-template-columns:1fr}}
@media(max-width:620px){.cag-why__item{padding:84px 22px 24px}.cag-why__ico{left:22px;top:22px}.cag-qa{padding:0 18px}.cag-filters{flex-wrap:nowrap;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:0 16px 6px;scrollbar-width:none}.cag-filters button{white-space:nowrap}}

/* ===== v1.9 Modern hero, floating header, division cards ===== */
.cag-serif .cag-title .hl,.cag-serif .cag-h1 .hl{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:700;letter-spacing:-.01em}
.cag-serif .cag-h1 .hl{font-weight:600}
/* floating pill header */
.cag-header,.cag-header.is-sticky,.cag-header.is-scrolled{background:transparent!important;border-bottom:0!important;box-shadow:none!important;padding:12px 0 0;backdrop-filter:none!important}
.cag-header__in{background:#fff;border-radius:999px;padding:10px 12px 10px 24px!important;box-shadow:0 10px 34px rgba(15,40,120,.12),0 0 0 1px rgba(15,40,120,.05);transition:box-shadow .25s}
.cag-header.is-scrolled .cag-header__in{box-shadow:0 14px 40px rgba(15,40,120,.18),0 0 0 1px rgba(15,40,120,.06)}
.cag-header .cag-container{max-width:min(1180px,calc(100% - 32px))}
body.admin-bar .cag-header{top:32px}
@media(max-width:620px){.cag-header__in{padding:8px 10px 8px 16px!important}.cag-header{padding-top:10px}}
/* hero atmosphere */
.cag-hero{position:relative;overflow:hidden;background:radial-gradient(60% 55% at 85% 12%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 70%),radial-gradient(50% 50% at 5% 70%,color-mix(in srgb,var(--accent2) 18%,transparent),transparent 70%),#fff}
.cag-hero .cag-h1{font-size:clamp(40px,5.4vw,74px);letter-spacing:-.03em}
.cag-hero .cag-h1 .hl{display:block}
.cag-eyebrow{background:#fff;border:1px solid color-mix(in srgb,var(--primary) 22%,#fff);box-shadow:0 6px 18px rgba(15,40,120,.07)}
/* divisions */
.cag-divsec{background:linear-gradient(180deg,#fff,var(--bg) 40%,#fff)}
.cag-sec-head__p--center{margin-left:auto;margin-right:auto;text-align:center}
.cag-divsec .cag-sec-head{margin-bottom:46px}
.cag-dvs{display:grid;gap:22px}
.cag-dv{--dc:#1d4ed8;--dt:#e8efff;position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:stretch;padding:40px 44px;border-radius:calc(var(--radius) + 8px);background:linear-gradient(135deg,var(--dt),#fff 70%);border:1px solid color-mix(in srgb,var(--dc) 14%,#fff);overflow:hidden;transition:transform .3s,box-shadow .3s}
.cag-dv::after{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--dc) 20%,transparent),transparent 70%);pointer-events:none}
.cag-dv:hover{box-shadow:0 26px 60px color-mix(in srgb,var(--dc) 18%,transparent)}
.cag-dv--blue{--dc:#1d4ed8;--dt:#e8efff}.cag-dv--coral{--dc:#e5522e;--dt:#fff0ea}.cag-dv--teal{--dc:#0d8a85;--dt:#e3f6f4}.cag-dv--amber{--dc:#c77a00;--dt:#fff4de}.cag-dv--pink{--dc:#d63384;--dt:#ffe9f3}.cag-dv--sky{--dc:#1b82d1;--dt:#e6f4ff}.cag-dv--green{--dc:#178a56;--dt:#e4f7ec}.cag-dv--gray{--dc:#38435f;--dt:#eef1f7}
.cag-dv__n{position:absolute;right:30px;bottom:6px;font:800 120px/1 var(--font-head);color:color-mix(in srgb,var(--dc) 8%,transparent);pointer-events:none;z-index:0}
.cag-dv__main,.cag-dv__list{position:relative;z-index:1}
.cag-dv__head{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.cag-dv__ico{flex:none;width:68px;height:68px;border-radius:22px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--dc),color-mix(in srgb,var(--dc) 60%,#000));box-shadow:0 12px 26px color-mix(in srgb,var(--dc) 35%,transparent)}
.cag-dv h3{font-size:clamp(26px,3vw,36px);line-height:1.1;margin:0;color:var(--dc);letter-spacing:-.02em}
.cag-dv__tag{margin:6px 0 0;font:500 16px var(--font-body);color:var(--text)}
.cag-dv__desc{margin:0 0 26px;color:#55607c;font-size:15.5px;line-height:1.7;max-width:480px}
.cag-dv__foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cag-dv__cta{display:inline-flex;align-items:center;gap:12px;font:600 15px var(--font-body);color:var(--dc);text-decoration:none}
.cag-dv__arrow{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 8px 20px color-mix(in srgb,var(--dc) 22%,transparent);transition:transform .25s,background .25s,color .25s}
.cag-dv__cta:hover .cag-dv__arrow{background:var(--dc);color:#fff;transform:translate(3px,-3px)}
.cag-dv__price{padding:8px 16px;border-radius:999px;background:#fff;font:700 14px var(--font-head);color:var(--dc)}
.cag-dv__list{background:rgba(255,255,255,.72);backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--dc) 12%,#fff);border-radius:var(--radius);padding:28px 30px;align-self:center}
.cag-dv__list h4{margin:0 0 16px;padding-bottom:16px;border-bottom:2px dotted color-mix(in srgb,var(--dc) 35%,transparent);font:700 16px var(--font-body);color:var(--text)}
.cag-dv__list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.cag-dv__list li{position:relative;padding-left:28px;font:500 14.5px/1.4 var(--font-body)}
.cag-dv__list li::before{content:"";position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:var(--dc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.cag-dvs__more{text-align:center;margin:36px 0 0}
@media(min-width:961px){.cag-dvs.is-stack .cag-dv{position:sticky;top:calc(96px + var(--i)*14px)}}
@media(max-width:960px){.cag-dv{grid-template-columns:1fr;gap:26px;padding:30px 26px}}
@media(max-width:620px){
.cag-dv{padding:24px 20px;border-radius:26px}
.cag-dv__ico{width:56px;height:56px;border-radius:18px}
.cag-dv__n{font-size:84px;right:14px}
.cag-dv__list{padding:20px 18px}
.cag-dv__list ul{grid-template-columns:1fr}
.cag-dv__desc{margin-bottom:20px}}

/* ===== v2.0 section style controls ===== */
.cag-section.cag-bg-white{background:#fff}
.cag-section.cag-bg-soft{background:var(--bg)}
.cag-section.cag-bg-dark{background:var(--dark);color:#d6dcf0}
.cag-section.cag-bg-dark .cag-title,.cag-section.cag-bg-dark h3,.cag-section.cag-bg-dark .cag-kicker{color:#fff}
.cag-section.cag-bg-dark .cag-sec-head__p,.cag-section.cag-bg-dark .cag-sec-head__desc{color:#b4c0de}
.cag-section.cag-bg-dark .cag-title .hl{color:color-mix(in srgb,var(--primary) 55%,#fff)}
.cag-section.cag-bg-brand{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--dark)));color:#e8eeff}
.cag-section.cag-bg-brand .cag-title,.cag-section.cag-bg-brand .cag-title .hl,.cag-section.cag-bg-brand .cag-kicker{color:#fff}
.cag-section.cag-bg-brand .cag-sec-head__p,.cag-section.cag-bg-brand .cag-sec-head__desc{color:#dbe5ff}
.cag-section.cag-bg-white,.cag-section.cag-bg-soft,.cag-section.cag-bg-dark,.cag-section.cag-bg-brand{padding-bottom:84px;margin-top:0}
.cag-sp-compact{padding-top:36px!important}.cag-sp-spacious{padding-top:140px!important}
@media(max-width:620px){.cag-sp-compact{padding-top:24px!important}.cag-sp-spacious{padding-top:90px!important}.cag-section.cag-bg-white,.cag-section.cag-bg-soft,.cag-section.cag-bg-dark,.cag-section.cag-bg-brand{padding-bottom:56px}.cag-hide-m{display:none!important}}
@media(min-width:621px) and (max-width:960px){.cag-hide-d{display:none!important}}
@media(min-width:961px){.cag-hide-d{display:none!important}}
.cag-hero--solo .cag-hero__in{grid-template-columns:1fr;text-align:center;justify-items:center}
.cag-hero--solo .cag-hero__copy{max-width:820px;display:flex;flex-direction:column;align-items:center}
.cag-hero--solo .cag-hero .cag-h1,.cag-hero--solo .cag-h1{text-align:center}
.cag-hero--solo .cag-hero__btns{justify-content:center}
.cag-header--bar .cag-header__in{border-radius:0!important;box-shadow:none!important;padding:14px 0!important;background:transparent}
.cag-header--bar,.cag-header--bar.is-sticky,.cag-header--bar.is-scrolled{background:#fff!important;border-bottom:1px solid #e1e8f6!important;padding-top:0}
.cag-header--bar .cag-container{max-width:var(--cw,1180px)}
.cag-header:not(.is-sticky){position:relative!important}
.cag-dvs:not(.is-stack) .cag-dv{position:relative!important;top:auto!important}
.cag-dvs.no-num .cag-dv__n{display:none}
.cag-grid--2{grid-template-columns:repeat(2,1fr)}
/* keep light cards readable inside dark / brand sections */
.cag-bg-dark .cag-card,.cag-bg-brand .cag-card,.cag-bg-dark .cag-dv,.cag-bg-brand .cag-dv,.cag-bg-dark .cag-why__item,.cag-bg-brand .cag-why__item,.cag-bg-dark .cag-qa,.cag-bg-brand .cag-qa,.cag-bg-dark .cag-person,.cag-bg-brand .cag-person{color:var(--text)}
.cag-bg-dark .cag-card h3,.cag-bg-brand .cag-card h3,.cag-bg-dark .cag-why__item h3,.cag-bg-brand .cag-why__item h3,.cag-bg-dark .cag-person strong,.cag-bg-brand .cag-person strong{color:var(--text)}
.cag-bg-dark .cag-dv h3,.cag-bg-brand .cag-dv h3{color:var(--dc)}
.cag-bg-dark .cag-dv__list h4,.cag-bg-brand .cag-dv__list h4{color:var(--text)}
.cag-bg-dark .cag-work__body strong,.cag-bg-brand .cag-work__body strong{color:var(--text)}

/* ===== v2.1 Mega menu + mobile drawer ===== */
.cag-nav .has-mega{position:relative}
.cag-nav .has-mega>a{display:inline-flex;align-items:center;gap:6px}
.cag-nav .has-mega>a svg{transform:rotate(90deg);transition:transform .2s}
.cag-nav .has-mega:hover>a svg,.cag-nav .has-mega.is-open>a svg{transform:rotate(-90deg)}
.cag-mega{position:absolute;left:50%;top:100%;padding-top:22px;transform:translate(-50%,8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:120}
.cag-nav .has-mega:hover .cag-mega,.cag-nav .has-mega:focus-within .cag-mega,.cag-nav .has-mega.is-open .cag-mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.cag-mega__grid{width:min(760px,86vw);background:#fff;border-radius:26px;padding:14px;box-shadow:0 30px 70px rgba(15,40,120,.2),0 0 0 1px rgba(15,40,120,.06);display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cag-nav .cag-mega__item{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:18px;transition:background .2s;font-size:inherit;padding-bottom:14px}
.cag-nav .cag-mega__item::after{display:none}
.cag-nav .cag-mega__item:hover{background:var(--dt)}
.cag-mega__ico{flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--dc),color-mix(in srgb,var(--dc) 60%,#000))}
.cag-mega__txt{display:grid;gap:3px}
.cag-mega__txt strong{font:700 15px var(--font-body);color:var(--dc)}
.cag-mega__txt small{font:500 12.5px var(--font-body);color:#55607c}
.cag-mega__txt em{font:500 11.5px var(--font-body);font-style:normal;color:#8a93ad}
.cag-drawer{display:none}
.cag-dv--blue{--dc:#1d4ed8;--dt:#e8efff}.cag-dv--coral{--dc:#e5522e;--dt:#fff0ea}.cag-dv--teal{--dc:#0d8a85;--dt:#e3f6f4}.cag-dv--amber{--dc:#c77a00;--dt:#fff4de}.cag-dv--pink{--dc:#d63384;--dt:#ffe9f3}.cag-dv--sky{--dc:#1b82d1;--dt:#e6f4ff}.cag-dv--green{--dc:#178a56;--dt:#e4f7ec}.cag-dv--gray{--dc:#38435f;--dt:#eef1f7}
@media(max-width:960px){
.cag-nav,.cag-nav.is-open{display:none!important}
.cag-header .cag-container{position:static}
.cag-header{position:sticky}
.cag-drawer{position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:#fff;border-radius:28px;padding:10px 22px 22px;box-shadow:0 30px 70px rgba(15,40,120,.22),0 0 0 1px rgba(15,40,120,.06);max-height:calc(100vh - 100px);overflow:auto;-webkit-overflow-scrolling:touch}
.cag-drawer.is-open{display:block}
.cag-drawer[hidden]{display:none}
.cag-drawer__tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e6ebf6;margin:0 -4px 6px}
.cag-drawer__tabs button{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 8px 16px;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:none;font:600 16px var(--font-body);color:#8a93ad;cursor:pointer}
.cag-drawer__tabs button.is-active{color:var(--text);border-bottom-color:var(--accent2)}
.cag-drawer__bubbles{display:inline-flex}
.cag-drawer__bubbles i{width:22px;height:22px;border-radius:50%;background:var(--dt);border:2px solid #fff;margin-left:-8px;position:relative}
.cag-drawer__bubbles i::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--dc)}
.cag-drawer__bubbles i:first-child{margin-left:0}
.cag-drawer__pane{display:none}.cag-drawer__pane.is-active{display:block}
.cag-drawer__links{list-style:none;margin:0;padding:6px 0}
.cag-drawer__links a{display:block;padding:15px 4px;font:500 18px var(--font-body);color:var(--text)}
.cag-drawer__links a:active{color:var(--primary)}
.cag-acc{border-radius:20px;margin:6px 0;transition:background .2s}
.cag-acc.is-open{background:var(--dt)}
.cag-acc__btn{width:100%;display:flex;align-items:center;gap:14px;padding:12px 10px;border:0;background:none;cursor:pointer;text-align:left}
.cag-acc__ico{flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--dc),color-mix(in srgb,var(--dc) 60%,#000))}
.cag-acc__name{flex:1;font:700 18px var(--font-body);color:var(--dc)}
.cag-acc__chev{width:12px;height:12px;border-right:2.5px solid #4a556f;border-bottom:2.5px solid #4a556f;transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s;margin-right:10px}
.cag-acc.is-open .cag-acc__chev{transform:rotate(-135deg) translate(-3px,-3px)}
.cag-acc__body{display:none;padding:2px 16px 18px 70px}
.cag-acc.is-open .cag-acc__body{display:block}
.cag-acc__body p{margin:0 0 10px;font:500 14px var(--font-body);color:var(--text)}
.cag-acc__body ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cag-acc__body li{padding:5px 11px;border-radius:999px;background:#fff;font:600 12px var(--font-body);color:var(--dc)}
.cag-acc__body a{display:inline-flex;align-items:center;gap:6px;font:700 14px var(--font-body);color:var(--dc)}
.cag-drawer__contact{margin-top:14px;padding:22px 20px;border-radius:22px;background:var(--bg)}
.cag-drawer__contact h4{margin:0 0 14px;font:700 19px var(--font-head)}
.cag-drawer__contact ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cag-drawer__contact li{display:flex;gap:12px;align-items:center;font:500 15px var(--font-body)}
.cag-drawer__contact svg{flex:none;color:var(--accent2)}
}
@media(min-width:961px){.cag-drawer{display:none!important}}
.cag-nav>ul>li>a{display:inline-flex;align-items:center;gap:6px;line-height:1.4}

/* ===== v2.2 type refinements + compact mobile menu ===== */
body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.cag-title,.cag-h1{font-family:var(--font-head);letter-spacing:-.02em}
.cag-h1,.cag-hero .cag-h1{font-weight:800;letter-spacing:-.035em}
.cag-title{font-weight:800}
.cag-dv h3,.cag-why__item h3,.cag-card h3{font-weight:700}
@media(max-width:960px){
.cag-drawer{left:8px;right:8px;padding:6px 18px 18px;border-radius:26px}
.cag-drawer__tabs button{font-size:14.5px;padding:15px 6px 13px}
.cag-drawer__links a{font-size:16px;padding:13px 4px}
.cag-acc__name{font-size:16px}
.cag-acc__ico{width:40px;height:40px;border-radius:13px}
.cag-acc__body{padding-left:64px}
.cag-acc__body p{font-size:13px}
.cag-drawer__contact{padding:18px 16px}
.cag-drawer__contact h4{font-size:16.5px;margin-bottom:12px}
.cag-drawer__contact li{font-size:14px}
}

/* ===== v2.3 Jost tuning ===== */
h1,h2,h3,h4,.cag-title,.cag-h1{letter-spacing:-.01em}
.cag-h1,.cag-hero .cag-h1{letter-spacing:-.025em;font-weight:700;line-height:1.02}
.cag-title{font-weight:700}
.cag-nav a{font-size:15px;font-weight:500}
.cag-btn{font-size:15.5px}

/* ===== v2.5 tab separator + colourful division cards ===== */
button,input,select,textarea{font-family:inherit}
.cag-drawer__bubbles{display:none}
.cag-drawer__tabs{position:relative}
.cag-drawer__tabs::after{content:"";position:absolute;left:50%;top:50%;width:1px;height:26px;transform:translateY(-62%);background:linear-gradient(180deg,transparent,#c9d3ea 30%,#c9d3ea 70%,transparent)}
.cag-divsec{background:radial-gradient(40% 30% at 8% 12%,rgba(29,78,216,.10),transparent 70%),radial-gradient(40% 30% at 95% 40%,rgba(229,82,46,.10),transparent 70%),radial-gradient(40% 30% at 5% 80%,rgba(13,138,133,.10),transparent 70%),linear-gradient(180deg,#fff,var(--bg) 40%,#fff)}
.cag-dv{background:linear-gradient(135deg,color-mix(in srgb,var(--dc) 15%,#fff),color-mix(in srgb,var(--dc) 4%,#fff) 70%);border:1px solid color-mix(in srgb,var(--dc) 50%,#fff);box-shadow:0 12px 30px color-mix(in srgb,var(--dc) 12%,transparent)}
.cag-dv::after{background:radial-gradient(circle,color-mix(in srgb,var(--dc) 32%,transparent),transparent 70%)}
.cag-dv__n{color:color-mix(in srgb,var(--dc) 14%,transparent)}
.cag-dv__list{border:1px solid color-mix(in srgb,var(--dc) 35%,#fff);background:rgba(255,255,255,.82)}
.cag-dv__list h4{color:var(--dc)}
.cag-dv__price{border:1px solid color-mix(in srgb,var(--dc) 35%,#fff)}
.cag-dv__arrow{border:1px solid color-mix(in srgb,var(--dc) 30%,#fff)}

/* ===== v2.6 purple + leafy green tones, plus/minus expander ===== */
.cag-dv--purple{--dc:#7c4dff;--dt:#f0eaff}
.cag-dv--green{--dc:#2f9e44;--dt:#e8f7ea}
.cag-tone-purple{background:#efe8ff;color:#7c4dff}
.cag-tone-green{background:#e3f6e7;color:#2f9e44}
.cag-acc__chev{flex:none;width:30px!important;height:30px!important;border:0!important;border-radius:50%;background:var(--dt);position:relative;transform:none!important;margin-right:2px!important;transition:background .2s}
.cag-acc__chev::before,.cag-acc__chev::after{content:"";position:absolute;left:8px;right:8px;top:14px;height:2px;border-radius:2px;background:var(--dc);transition:transform .25s}
.cag-acc__chev::after{transform:rotate(90deg)}
.cag-acc.is-open .cag-acc__chev{background:var(--dc)}
.cag-acc.is-open .cag-acc__chev::before,.cag-acc.is-open .cag-acc__chev::after{background:#fff}
.cag-acc.is-open .cag-acc__chev::after{transform:rotate(0)}

/* ===== v3.0 Cover hero + round header buttons ===== */
.cag-hcta{width:44px;height:44px;border-radius:50%;background:var(--accent2);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px var(--dark);transition:transform .2s;margin-right:4px}
.cag-hcta:hover{transform:rotate(45deg)}
.cag-burger{width:42px!important;height:42px!important;border:1.5px solid var(--accent2)!important;border-radius:50%;gap:4px!important}
.cag-burger span{width:16px!important;background:var(--accent2)!important}
.cag-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
.cag-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}
@media(min-width:961px){.cag-burger{display:none!important}}
.cag-header__actions{gap:10px}
.cag-hero--cover{--hh:84px;margin-top:calc(-1 * var(--hh));padding:calc(var(--hh) + 70px) 0 0;color:#fff;text-align:center;overflow:hidden;position:relative;min-height:min(100vh,860px);display:flex;flex-direction:column;
background:linear-gradient(180deg,var(--dark) 0%,color-mix(in srgb,var(--dark) 78%,var(--primary)) 38%,var(--primary) 100%)}
.cag-hero--cover.has-bg{background:linear-gradient(180deg,color-mix(in srgb,var(--dark) 92%,transparent) 0%,color-mix(in srgb,var(--dark) 70%,transparent) 45%,color-mix(in srgb,var(--primary) 88%,transparent) 100%),var(--hbg) center/cover no-repeat}
.cag-cover__photo{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(1280px,100%);z-index:0;opacity:.95}
.cag-cover__photo img{display:block;width:100%;height:auto}
.cag-cover__photo.is-blend{mix-blend-mode:multiply}
.cag-cover{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;flex:1;padding-bottom:56px}
.cag-cproof{display:inline-flex;align-items:center;gap:14px;padding:8px 22px 8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);backdrop-filter:blur(6px);margin-bottom:36px}
.cag-cproof b{font:600 17px var(--font-body);color:#fff}
.cag-cproof .cag-avatars img,.cag-cproof .cag-avatar{width:40px;height:40px;border-color:rgba(255,255,255,.55)}
.cag-ceyebrow{margin:0 0 14px;font:600 13px var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--accent2) 80%,#fff)}
.cag-hero--cover .cag-h1{color:#fff;text-align:center;font-size:clamp(42px,7.4vw,92px);line-height:1;letter-spacing:-.025em;max-width:1000px;margin:0 auto}
.cag-hero--cover .cag-h1 .hl{display:block;color:#fff;margin-top:4px}
.cag-clead{max-width:720px;margin:26px auto 0;font-size:clamp(17px,2vw,22px);line-height:1.5;color:rgba(255,255,255,.92)}
.cag-cbtns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:40px}
.cag-pillbtn{display:inline-flex;align-items:center;gap:22px;padding:8px 38px 8px 8px;border-radius:999px;background:#05081a;color:#fff;font:600 clamp(18px,2.2vw,24px) var(--font-body);box-shadow:0 0 0 3px rgba(255,255,255,.12),0 18px 40px rgba(0,0,0,.35);transition:transform .2s}
.cag-pillbtn span{width:62px;height:62px;border-radius:50%;background:#fff;color:var(--accent2);display:grid;place-items:center;transition:transform .25s}
.cag-pillbtn:hover{transform:translateY(-2px)}.cag-pillbtn:hover span{transform:rotate(45deg)}
.cag-glassbtn{display:inline-flex;align-items:center;padding:0 30px;min-height:78px;border-radius:999px;border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);backdrop-filter:blur(6px);color:#fff;font:600 18px var(--font-body);transition:background .2s}
.cag-glassbtn:hover{background:rgba(255,255,255,.18)}
.cag-follow{margin-top:64px;width:min(760px,100%)}
.cag-follow__t{display:flex;align-items:center;gap:22px;font:500 22px var(--font-body);color:#fff}
.cag-follow__t i{flex:1;height:1.5px;background:rgba(255,255,255,.7)}
.cag-follow__i{display:flex;gap:16px;justify-content:center;margin-top:22px}
.cag-follow__i a{width:50px;height:50px;border-radius:50%;background:#fff;color:var(--dark);display:grid;place-items:center;transition:transform .2s}
.cag-follow__i a:hover{transform:translateY(-3px);background:var(--accent2);color:#fff}
@media(max-width:620px){
.cag-hero--cover{--hh:72px;padding-top:calc(var(--hh) + 44px);min-height:0}
.cag-cproof{padding:6px 16px 6px 8px;gap:10px;margin-bottom:28px}.cag-cproof b{font-size:14px}.cag-cproof .cag-avatars img,.cag-cproof .cag-avatar{width:32px;height:32px}
.cag-hero--cover .cag-h1{font-size:clamp(38px,12vw,52px)}
.cag-clead{font-size:16.5px;margin-top:20px}
.cag-cbtns{margin-top:30px;flex-direction:column;align-items:center}
.cag-pillbtn{gap:16px;padding-right:28px}.cag-pillbtn span{width:52px;height:52px}
.cag-glassbtn{min-height:56px}
.cag-follow{margin-top:44px}.cag-follow__t{font-size:18px;gap:14px}
.cag-follow__i a{width:44px;height:44px}
.cag-cover__photo{width:150%}}

/* ===== v3.1 mobile polish: header + cover hero ===== */
@media(max-width:960px){
.cag-header__in{padding:7px 8px 7px 16px!important}
.cag-header .cag-logo img{max-height:30px!important;max-width:150px!important}
.cag-hcta{width:40px;height:40px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent2) 45%,transparent);margin-right:2px}
.cag-hcta svg{width:18px;height:18px}
.cag-burger{width:40px!important;height:40px!important;border:0!important;background:var(--bg)!important;gap:4px!important}
.cag-burger span{background:var(--dark)!important;width:16px!important}
.cag-burger[aria-expanded=true]{background:var(--dark)!important}
.cag-burger[aria-expanded=true] span{background:#fff!important}
}
@media(max-width:620px){
.cag-header{padding-top:10px}
.cag-header .cag-container{max-width:calc(100% - 20px)}
.cag-hero--cover{--hh:74px;padding-top:calc(var(--hh) + 34px)}
.cag-cover{padding-bottom:calc(32vw + 70px)}
.cag-cover__photo{width:132%;left:50%}
.cag-cproof{margin-bottom:22px;max-width:100%}
.cag-cproof b{text-align:left;line-height:1.25;font-size:13.5px}
.cag-ceyebrow{font-size:11.5px;letter-spacing:.18em;margin-bottom:12px}
.cag-cbtns{width:100%}
.cag-pillbtn{width:100%;max-width:340px;justify-content:flex-start}
.cag-glassbtn{width:100%;max-width:340px;justify-content:center}
.cag-follow{margin-top:34px}
}

/* ===== v3.2 About (side image) + Founder card ===== */
.cag-about--solo{grid-template-columns:1fr;max-width:820px}
.cag-about__img{border-radius:calc(var(--radius) + 8px);overflow:hidden;aspect-ratio:1/1;box-shadow:0 24px 60px rgba(15,40,120,.16)}
.cag-about__img img{width:100%;height:100%;object-fit:cover;display:block}
.cag-founder{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;padding:44px;border-radius:calc(var(--radius) + 10px);background:linear-gradient(135deg,var(--dark),color-mix(in srgb,var(--dark) 70%,var(--primary)));color:#e6ebfa;position:relative;overflow:hidden}
.cag-founder::after{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-200px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 35%,transparent),transparent 70%)}
.cag-founder__photo{position:relative;z-index:1;width:100%;aspect-ratio:1/1;border-radius:calc(var(--radius) + 2px);overflow:hidden;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 50%,#000));display:grid;place-items:center;color:#fff;font:700 96px var(--font-head)}
.cag-founder__photo img{width:100%;height:100%;object-fit:cover}
.cag-founder__body{position:relative;z-index:1}
.cag-founder .cag-kicker{color:color-mix(in srgb,var(--accent2) 85%,#fff)}
.cag-founder blockquote{margin:6px 0 26px;font:600 clamp(20px,2.4vw,30px)/1.4 var(--font-head);color:#fff;letter-spacing:-.01em}
.cag-founder blockquote::before{content:"\201C";display:block;font:700 64px/0.6 var(--font-head);color:var(--accent2);margin-bottom:8px}
.cag-founder__who{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cag-founder__who strong{display:block;font:700 19px var(--font-head);color:#fff}
.cag-founder__who small{color:#aebbdd;font-size:14px}
@media(max-width:860px){.cag-founder{grid-template-columns:1fr;gap:26px;padding:28px 22px;text-align:left}.cag-founder__photo{width:150px;font-size:60px}}

/* ===== v3.4 header colors, readable titles, hero buttons, booking ===== */
.cag-header__in{background:var(--bg);box-shadow:0 12px 32px rgba(23,23,23,.28),0 0 0 1px rgba(23,23,23,.07)}
.cag-header.is-scrolled .cag-header__in{box-shadow:0 14px 38px rgba(23,23,23,.34),0 0 0 1px rgba(23,23,23,.08)}
.cag-nav a{color:var(--dark);font-weight:600;font-size:14px}
.cag-nav a:hover{color:var(--primary)}
.cag-hcta{background:var(--accent2);color:var(--dark);box-shadow:0 6px 16px color-mix(in srgb,var(--accent2) 50%,transparent)}
.cag-header--dark .cag-header__in{background:rgba(23,23,23,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.12)}
.cag-header--dark .cag-nav a{color:#fff}.cag-header--dark .cag-nav a:hover{color:var(--accent2)}.cag-header--dark .cag-nav a::after{background:var(--accent2)}
@media(max-width:960px){
.cag-burger{background:var(--dark)!important}
.cag-burger span{background:var(--bg)!important}
.cag-burger[aria-expanded=true]{background:var(--primary)!important}
.cag-burger[aria-expanded=true] span{background:#fff!important}
.cag-header--dark .cag-burger{background:var(--accent2)!important}.cag-header--dark .cag-burger span{background:var(--dark)!important}
}
/* titles: clean, easy to read */
.cag-serif .cag-title .hl,.cag-serif .cag-h1 .hl{font-style:normal}
.cag-title .hl{color:var(--primary);font-weight:inherit}
.cag-section.cag-bg-dark .cag-title .hl,.cag-section.cag-bg-brand .cag-title .hl{color:var(--accent2)}
.cag-ceyebrow{letter-spacing:.16em;font-size:13px;color:var(--accent2)}
.cag-hero--cover .cag-h1{font-size:clamp(36px,6vw,74px);line-height:1.1;font-weight:700;letter-spacing:-.02em;text-shadow:0 2px 26px rgba(0,0,0,.4)}
.cag-hero--cover .cag-h1 .hl{color:var(--accent2);font-weight:800;margin-top:6px}
.cag-clead{color:rgba(255,255,255,.94);text-shadow:0 1px 14px rgba(0,0,0,.35)}
/* hero buttons: main color + yellow */
.cag-pillbtn{background:var(--primary);color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2),0 16px 34px rgba(0,0,0,.38)}
.cag-pillbtn span{background:#fff;color:var(--primary)}
.cag-glassbtn{background:var(--accent2);color:var(--dark);border:0;backdrop-filter:none;font-weight:700;box-shadow:0 16px 34px rgba(0,0,0,.32)}
.cag-glassbtn:hover{background:var(--accent2);filter:brightness(1.07);transform:translateY(-2px)}
@media(max-width:620px){
.cag-cbtns .cag-pillbtn,.cag-cbtns .cag-glassbtn{width:min(100%,360px);justify-content:center;min-height:68px;font-size:18px}
.cag-cbtns .cag-pillbtn{justify-content:flex-start}
.cag-hero--cover .cag-h1{font-size:clamp(34px,10.4vw,46px)}
}
/* booking */
.cag-book{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent2) 16%,transparent))}
.cag-book__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.cag-book__info p{font-size:17px;color:color-mix(in srgb,var(--text) 78%,transparent);max-width:480px}
.cag-book__list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.cag-book__list li{display:flex;align-items:center;gap:12px;font-weight:600}
.cag-book__list i{width:22px;height:22px;border-radius:50%;background:var(--accent2);flex:none;position:relative}
.cag-book__list i::after{content:'';position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid var(--dark);border-width:0 2px 2px 0;transform:rotate(45deg)}
.cag-book__hint{margin:-4px 0 0;font-size:13px;color:color-mix(in srgb,var(--text) 65%,transparent)}
.cag-book__hint.is-err{color:#b42318;font-weight:600}
.cag-bookform input[type=date]{min-height:48px}
.cag-bookform option:disabled{color:#999}
@media(max-width:860px){.cag-book__grid{grid-template-columns:1fr;gap:28px}}
.cag-kicker{color:var(--primary)}
.cag-section.cag-bg-dark .cag-kicker,.cag-section.cag-bg-brand .cag-kicker{color:var(--accent2)}
.cag-bookform select,.cag-bookform input{min-height:48px}

/* v3.4.1 smaller hero buttons */
.cag-pillbtn{gap:14px;padding:6px 28px 6px 6px;font-size:18px}
.cag-pillbtn span{width:44px;height:44px}
.cag-glassbtn{min-height:56px;padding:0 26px;font-size:17px}
@media(max-width:620px){
.cag-cbtns{gap:10px;margin-top:24px;flex-direction:row;flex-wrap:nowrap;justify-content:center}
.cag-cbtns .cag-pillbtn,.cag-cbtns .cag-glassbtn{width:auto;flex:1 1 0;min-width:0;min-height:50px;font-size:14px;line-height:1.15;justify-content:center;text-align:center;padding-left:14px;padding-right:14px}
.cag-cbtns .cag-pillbtn{gap:8px;padding:5px 14px 5px 5px;justify-content:flex-start}
.cag-cbtns .cag-pillbtn span{width:38px;height:38px;flex:none}
.cag-cbtns .cag-pillbtn span svg{width:16px;height:16px}
}
@media(max-width:360px){.cag-cbtns{flex-direction:column}.cag-cbtns .cag-pillbtn,.cag-cbtns .cag-glassbtn{width:100%;flex:none}}

/* v3.5 compact hero buttons (mobile) */
@media(max-width:620px){
.cag-hero--cover .cag-cbtns{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px;width:100%}
.cag-hero--cover .cag-cbtns .cag-pillbtn,.cag-hero--cover .cag-cbtns .cag-glassbtn{width:auto!important;flex:none!important;min-width:0;max-width:100%;min-height:46px!important;height:46px;padding:0 22px!important;font-size:15px!important;line-height:1;justify-content:center!important;box-shadow:0 8px 18px rgba(0,0,0,.3)}
.cag-hero--cover .cag-cbtns .cag-pillbtn{gap:10px;padding:0 20px 0 4px!important}
.cag-hero--cover .cag-cbtns .cag-pillbtn span{width:38px!important;height:38px!important}
.cag-hero--cover .cag-cbtns .cag-pillbtn span svg{width:15px;height:15px}
}

/* ===== v3.5 booking: modern picker ===== */
.cag-book__chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px}
.cag-book__chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;background:#fff;border:1px solid color-mix(in srgb,var(--dark) 12%,transparent);font-weight:600;font-size:13.5px}
.cag-book__chips svg{color:var(--primary)}
.cag-book__how{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px}
.cag-book__how li{display:flex;align-items:center;gap:12px;color:color-mix(in srgb,var(--text) 80%,transparent)}
.cag-book__how b{width:28px;height:28px;border-radius:50%;background:var(--dark);color:var(--accent2);display:grid;place-items:center;font-size:13px;flex:none}
.cag-bk-h{display:flex;align-items:center;gap:10px;font-size:17px;margin:4px 0 2px}
.cag-bk-h b{width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:13px}
.cag-bkp{margin:6px 0 0}
.cag-bkp[hidden],.cag-bk-native[hidden]{display:none}
.cag-bkp__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cag-bkp__mon{font-weight:700}
.cag-bkp__arrow{width:34px;height:34px;border-radius:50%;border:1px solid color-mix(in srgb,var(--dark) 15%,transparent);background:#fff;cursor:pointer;font-size:15px;color:var(--dark)}
.cag-bkp__arrow:hover{background:var(--dark);color:#fff}
.cag-bkp__days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:none}
.cag-bkp__days::-webkit-scrollbar{display:none}
.cag-day{flex:none;width:64px;padding:10px 0;border-radius:16px;border:1.5px solid color-mix(in srgb,var(--dark) 12%,transparent);background:#fff;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;scroll-snap-align:start;font-family:inherit;color:var(--dark);transition:.15s}
.cag-day small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.cag-day b{font-size:22px;line-height:1.2}
.cag-day:hover:not(:disabled){border-color:var(--primary)}
.cag-day.is-on{background:var(--primary);border-color:var(--primary);color:#fff}
.cag-day.is-on small{opacity:.85}
.cag-day:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.cag-bkp__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:4px}
.cag-slot{padding:11px 6px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--dark) 12%,transparent);background:#fff;font:600 14px var(--font-body);cursor:pointer;color:var(--dark);transition:.15s}
.cag-slot:hover:not(:disabled){border-color:var(--primary)}
.cag-slot.is-on{background:var(--accent2);border-color:var(--accent2);box-shadow:0 4px 12px color-mix(in srgb,var(--accent2) 55%,transparent)}
.cag-slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.cag-bk-meet{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.cag-bk-meet legend{font-size:14px;font-weight:600;padding:0;margin-bottom:8px;float:left;width:100%}
.cag-chip{position:relative;cursor:pointer;margin:0!important}
.cag-chip input{position:absolute;opacity:0;inset:0;min-height:0!important;width:100%;height:100%;cursor:pointer}
.cag-chip span{display:inline-block!important;padding:9px 16px;border-radius:99px;border:1.5px solid color-mix(in srgb,var(--dark) 14%,transparent);background:#fff;font-weight:600;font-size:13.5px;margin:0!important;transition:.15s}
.cag-chip input:checked+span{background:var(--dark);border-color:var(--dark);color:#fff}
.cag-chip input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.cag-bk-sum{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--dark) 6%,transparent);font-weight:600;font-size:14.5px}
.cag-bk-sum.is-ok{background:color-mix(in srgb,var(--accent2) 28%,#fff)}
.cag-bk-sum svg{color:var(--primary);flex:none}
.cag-book__fine{margin:0;text-align:center;font-size:12.5px;color:color-mix(in srgb,var(--text) 60%,transparent)}
.cag-bookform .cag-btn{width:100%;min-height:52px;font-size:16px}
.cag-bkdone{text-align:center;padding:36px 28px}
.cag-bkdone__ico{width:68px;height:68px;border-radius:50%;background:var(--accent2);color:var(--dark);display:grid;place-items:center;margin:0 auto 14px}
.cag-bkdone h3{font-size:26px;margin:0 0 6px}
.cag-bkdone__sum{margin:22px 0;display:grid;gap:0;text-align:left;border:1px solid color-mix(in srgb,var(--dark) 12%,transparent);border-radius:16px;overflow:hidden}
.cag-bkdone__sum div{display:flex;justify-content:space-between;gap:12px;padding:12px 18px}
.cag-bkdone__sum div+div{border-top:1px solid color-mix(in srgb,var(--dark) 10%,transparent)}
.cag-bkdone__sum dt{color:color-mix(in srgb,var(--text) 65%,transparent)}.cag-bkdone__sum dd{margin:0;font-weight:700;text-align:right}
.cag-bkdone__sum code{background:var(--dark);color:var(--accent2);padding:2px 10px;border-radius:8px;letter-spacing:.1em}
.cag-bkdone__btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
@media(max-width:620px){.cag-day{width:58px}.cag-bkp__slots{grid-template-columns:repeat(3,1fr)}.cag-slot{font-size:13px;padding:10px 2px}.cag-bkdone{padding:28px 18px}}
.cag-book__grid>*{min-width:0}
.cag-bookform,.cag-bkdone{min-width:0;max-width:100%}
.cag-bk-meet{min-width:0}
@media(max-width:860px){.cag-book__grid{grid-template-columns:minmax(0,1fr)}.cag-book__chips span{font-size:12.5px;padding:6px 11px}}
.cag-form .cag-chip,.cag-bk-meet .cag-chip{background:none!important;padding:0!important;box-shadow:none!important;border:0!important;display:inline-block}
.cag-slot:disabled{text-decoration:none;background:color-mix(in srgb,var(--dark) 6%,#fff);font-size:12px;opacity:.6}

/* ===== v3.7 booking calendar ===== */
.cag-cal{border:1.5px solid color-mix(in srgb,var(--dark) 12%,transparent);border-radius:20px;padding:14px 14px 12px;background:#fff}
.cag-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cag-cal__title{font-size:16.5px}
.cag-cal__nav{width:40px;height:40px;border-radius:50%;border:0;background:color-mix(in srgb,var(--dark) 7%,#fff);font-size:24px;line-height:1;cursor:pointer;color:var(--dark);padding:0 0 3px}
.cag-cal__nav:hover:not(:disabled){background:var(--dark);color:#fff}
.cag-cal__nav:disabled{opacity:.3;cursor:not-allowed}
.cag-cal__dow,.cag-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cag-cal__dow span{text-align:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--text) 55%,transparent);padding:4px 0 8px}
.cag-cal__d{aspect-ratio:1;min-height:40px;border:0;border-radius:50%;background:transparent;font:600 15px var(--font-body);color:var(--dark);cursor:pointer;position:relative;transition:background .12s,transform .12s}
.cag-cal__d.is-open{background:color-mix(in srgb,var(--accent2) 26%,#fff)}
.cag-cal__d.is-open:hover{background:var(--accent2);transform:scale(1.06)}
.cag-cal__d.is-on,.cag-cal__d.is-on:hover{background:var(--primary);color:#fff;transform:none;box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 40%,transparent)}
.cag-cal__d.is-off{color:color-mix(in srgb,var(--text) 28%,transparent);cursor:default}
.cag-cal__d.is-full{color:color-mix(in srgb,var(--text) 40%,transparent);background:color-mix(in srgb,var(--dark) 6%,#fff);text-decoration:line-through;cursor:not-allowed}
.cag-cal__d.is-today::after{content:'';position:absolute;left:50%;bottom:5px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--primary)}
.cag-cal__d.is-on.is-today::after{background:#fff}
.cag-cal__legend{display:flex;gap:16px;justify-content:center;margin-top:10px;font-size:12px;color:color-mix(in srgb,var(--text) 65%,transparent)}
.cag-cal__legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.cag-cal__legend .is-open{background:var(--accent2)}.cag-cal__legend .is-full{background:color-mix(in srgb,var(--dark) 18%,#fff)}
.cag-bkp__label{margin:16px 0 8px;font-weight:700;font-size:14.5px}
.cag-slot.is-full{font-size:12px}
@media(max-width:620px){
.cag-cal{padding:12px 8px 10px;border-radius:18px}
.cag-cal__grid,.cag-cal__dow{gap:3px}
.cag-cal__d{min-height:42px;font-size:15px}
.cag-bkp__slots{grid-template-columns:repeat(2,1fr)}
.cag-slot{padding:13px 4px;font-size:14.5px}
}

/* v3.7.1 calendar: never wider than its card */
.cag-bkp,.cag-cal{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.cag-cal__dow,.cag-cal__grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.cag-cal__grid>*{min-width:0}
.cag-cal__d{width:100%;min-height:0;aspect-ratio:1/1;padding:0;font-size:clamp(13px,3.9vw,15px);display:flex;align-items:center;justify-content:center}
.cag-cal__dow span{font-size:clamp(9.5px,2.8vw,11.5px);letter-spacing:.02em}
@media(max-width:620px){
.cag-bookform.cag-form{padding:18px 14px}
.cag-cal{padding:10px 6px 8px}
.cag-cal__grid,.cag-cal__dow{gap:2px}
.cag-cal__title{font-size:15.5px}
.cag-cal__nav{width:36px;height:36px;font-size:22px}
.cag-cal__legend{gap:12px;font-size:11.5px;flex-wrap:wrap}
.cag-bkp__slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cag-slot{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* v3.8 time zone bar + slot labels */
.cag-tzbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;font-size:13.5px;color:color-mix(in srgb,var(--text) 70%,transparent)}
.cag-tzbar select{flex:1;min-width:0;max-width:260px;padding:8px 12px!important;border-radius:99px!important;font-size:13.5px!important;width:auto!important}
.cag-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.2}
.cag-slot em{font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.cag-slot.is-odd:not(.is-on){background:color-mix(in srgb,var(--dark) 4%,#fff)}

/* v3.10 hero badge: avatars never overlap the text */
.cag-cproof{max-width:100%;box-sizing:border-box}
.cag-cproof .cag-avatars{flex:none;display:inline-flex;align-items:center;margin-right:4px}
.cag-cproof .cag-avatars img,.cag-cproof .cag-avatar{flex:none;width:40px;height:40px;object-fit:cover}
.cag-cproof b{flex:1 1 auto;min-width:0;text-align:left;line-height:1.25}
@media(max-width:620px){
.cag-cproof{gap:12px;padding:6px 16px 6px 8px}
.cag-cproof .cag-avatars img,.cag-cproof .cag-avatar{width:30px;height:30px;margin-left:-8px}
.cag-cproof .cag-avatars>:first-child{margin-left:0}
.cag-cproof b{font-size:13px}
}

/* v3.12 contact page */
.cag-cpage{background:var(--bg);padding:130px 0 90px}
.cag-cpage__hero{text-align:center;max-width:720px;margin:0 auto 40px}
.cag-cpage__hero .cag-title{margin:12px 0}
.cag-cpage__hero p{color:var(--muted,#555);font-size:1.05rem}
.cag-cpage__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:44px}
.cag-cpage__card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:18px;box-shadow:0 6px 24px rgba(23,23,23,.06);color:inherit;text-decoration:none;min-width:0}
.cag-cpage__card>span:last-child{min-width:0}
.cag-cpage__card small{display:block;opacity:.6;font-size:.8rem}
.cag-cpage__card b{display:block;overflow-wrap:anywhere;font-weight:600}
a.cag-cpage__card:hover{transform:translateY(-2px)}
.cag-cpage__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.cag-cpage__form h2{font-size:1.6rem;margin:0 0 6px}
.cag-cpage__form>p{margin:0 0 16px;opacity:.7}
.cag-cpage__side{background:var(--dark);color:#fff;border-radius:22px;padding:28px;position:sticky;top:100px}
.cag-cpage__side h3{color:#fff;margin:0 0 10px;font-size:1.35rem}
.cag-cpage__side p{opacity:.8;margin:0 0 14px}
.cag-cpage__side ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.cag-cpage__side li{display:flex;gap:10px;align-items:center}
.cag-cpage__side li svg{color:var(--accent2);flex:none}
.cag-cpage__side .cag-btn{width:100%;justify-content:center}
.cag-cpage__map{margin-top:32px;border-radius:22px;overflow:hidden;box-shadow:0 6px 24px rgba(23,23,23,.08)}
.cag-cpage__map iframe{display:block;width:100%;height:360px;border:0}
@media(max-width:860px){.cag-cpage{padding:100px 0 60px}.cag-cpage__grid{grid-template-columns:minmax(0,1fr)}.cag-cpage__side{position:static}.cag-cpage__cards{grid-template-columns:minmax(0,1fr)}.cag-cpage__map iframe{height:280px}}

/* v3.12.1 sending state */
.cag-btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px;opacity:.9;cursor:progress;pointer-events:none}
.cag-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:cagspin .7s linear infinite;flex:none}
@keyframes cagspin{to{transform:rotate(360deg)}}
.cag-sending{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:rgba(245,201,40,.22);font-size:.9rem;line-height:1.45}
.cag-form.is-sending input,.cag-form.is-sending select,.cag-form.is-sending textarea{opacity:.7;pointer-events:none}
@media(prefers-reduced-motion:reduce){.cag-spin{animation-duration:1.6s}}

/* v3.13 SEO pages */
.cag-crumbs{margin:0 0 18px;font-size:.85rem}
.cag-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cag-crumbs li+li::before{content:"/";margin-right:6px;opacity:.4}
.cag-crumbs a{color:inherit;opacity:.7;text-decoration:none}.cag-crumbs a:hover{opacity:1;text-decoration:underline}
.cag-crumbs li[aria-current]{opacity:.9;font-weight:600}
.cag-cpage__crumbs{display:flex;justify-content:center}
.cag-svpage{background:var(--bg);padding-bottom:70px}
.cag-svpage__hero{padding:130px 0 40px}
.cag-svpage__hero .cag-title{max-width:820px;margin:0 0 10px}
.cag-svpage__tag{font-size:1.15rem;max-width:720px;opacity:.75;margin:0 0 22px}
.cag-svpage__btns{display:flex;flex-wrap:wrap;gap:10px}
.cag-svpage__grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:34px;align-items:start}
.cag-svpage__one{max-width:860px}
.cag-svpage__body h2,.cag-svpage__one h2{margin-top:1.6em}
.cag-svpage__side{position:sticky;top:100px;display:grid;gap:16px}
.cag-svpage__side .cag-card{padding:22px}
.cag-svpage__side h3{margin:0 0 12px;font-size:1.15rem}
.cag-svpage__side ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cag-svpage__side li{display:flex;gap:10px;align-items:flex-start}
.cag-svpage__side li svg{flex:none;margin-top:3px;color:var(--primary)}
.cag-svpage__cta{background:var(--dark)!important;color:#fff}
.cag-svpage__cta h3{color:#fff}.cag-svpage__cta p{opacity:.8;margin:0 0 14px}
.cag-svpage__cta .cag-btn{width:100%;justify-content:center}
.cag-svpage__cta--wide{margin:34px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:24px!important}
.cag-svpage__cta--wide h3{margin:0}.cag-svpage__cta--wide .cag-btn{width:auto}
.cag-svpage__faq{margin-top:34px}
.cag-svpage__faq details{background:#fff;border-radius:14px;padding:14px 18px;margin-bottom:10px;box-shadow:0 4px 16px rgba(23,23,23,.05)}
.cag-svpage__faq summary{cursor:pointer;font-weight:600}
.cag-svpage__faq p{margin:10px 0 0;opacity:.8}
.cag-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 0 28px}
.cag-results div{background:#fff;border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(23,23,23,.05)}
.cag-results b{display:block;font-size:1.8rem;color:var(--primary);line-height:1.1}.cag-results span{opacity:.7;font-size:.9rem}
.cag-related{margin-top:50px}.cag-related h2{margin:0 0 18px}
.cag-related__item{display:flex;flex-direction:column;gap:6px;padding:20px;text-decoration:none;color:inherit}
.cag-related__item span{opacity:.7;font-size:.92rem}.cag-related__item em{font-style:normal;color:var(--primary);font-weight:600;display:inline-flex;gap:6px;align-items:center;margin-top:auto}
.cag-toc{background:#fff;border-radius:16px;padding:16px 20px;margin:0 0 24px;box-shadow:0 4px 16px rgba(23,23,23,.05)}
.cag-toc ol{margin:8px 0 0;padding-left:20px}.cag-toc li.l3{margin-left:16px;font-size:.92em}.cag-toc a{color:inherit}
@media(max-width:860px){.cag-svpage__hero{padding:100px 0 24px}.cag-svpage__grid{grid-template-columns:minmax(0,1fr)}.cag-svpage__side{position:static}.cag-svpage__btns .cag-btn{flex:1 1 100%;justify-content:center}.cag-svpage__cta--wide .cag-btn{width:100%}}

/* ===== v3.14 ===== */
/* 1. CTA banner: readable text on any palette */
.cag-cta__box{color:#fff}
.cag-cta__box::before{background:rgba(255,255,255,.07)}
.cag-cta__box::after{background:rgba(0,0,0,.14)!important;width:300px;height:300px;right:-90px;bottom:-150px}
.cag-cta__title,.cag-cta__title.cag-title{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.18)}
.cag-cta__title .hl,.cag-cta__box .cag-title .hl{color:var(--accent2)!important;opacity:1!important}
.cag-cta__box p{color:#fff!important;opacity:.92}
.cag-cta__box .cag-btn--light{background:#fff;color:var(--dark);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.cag-cta__box .cag-btn--light:hover{background:var(--accent2);color:var(--dark)}

/* 2. Appointment: tidy calendar, slots and form */
.cag-bookform{padding:30px!important}
.cag-bookform .cag-bk-h{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--dark) 8%,transparent)}
.cag-bookform .cag-bk-h:not(:first-of-type){margin-top:26px}
.cag-cal{background:#fff;border:1px solid color-mix(in srgb,var(--dark) 10%,transparent)!important;border-radius:20px!important;padding:18px!important;box-shadow:0 8px 28px rgba(23,23,23,.05)}
.cag-cal__head{margin-bottom:14px!important}
.cag-cal__title{font-size:17px!important;letter-spacing:-.01em}
.cag-cal__nav{width:36px!important;height:36px!important;border-radius:11px!important;font-size:22px;line-height:1;display:grid;place-items:center;background:color-mix(in srgb,var(--dark) 6%,#fff)!important}
.cag-cal__dow,.cag-cal__grid{gap:6px!important}
.cag-cal__dow{margin-bottom:6px}
.cag-cal__dow span{font-size:10.5px!important;letter-spacing:.08em!important;opacity:.6}
.cag-cal__d{aspect-ratio:auto!important;height:46px;min-height:0!important;border-radius:12px!important;font-weight:600!important;font-size:15px!important;display:grid;place-items:center;padding:0;border:1.5px solid transparent!important}
.cag-cal__d.is-open{background:#fff!important;border-color:color-mix(in srgb,var(--dark) 12%,transparent)!important;color:var(--dark)}
.cag-cal__d.is-open::before{content:'';position:absolute;left:50%;bottom:6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent2)}
.cag-cal__d.is-open:hover{background:color-mix(in srgb,var(--accent2) 22%,#fff)!important;border-color:var(--accent2)!important;transform:none!important}
.cag-cal__d.is-on,.cag-cal__d.is-on:hover{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 32%,transparent)!important}
.cag-cal__d.is-on::before{background:var(--accent2)!important}
.cag-cal__d.is-today{border-color:var(--primary)!important}
.cag-cal__d.is-today::after{display:none}
.cag-cal__d.is-full{background:transparent!important;text-decoration:line-through;opacity:.45;border-color:transparent!important}
.cag-cal__d.is-off{opacity:.35}
.cag-cal__legend{margin-top:14px!important;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--dark) 12%,transparent)}
.cag-cal__legend i{border-radius:50%}
.cag-tzbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px;padding:10px 14px;background:color-mix(in srgb,var(--dark) 4%,#fff);border-radius:14px;font-size:13px}
.cag-tzbar select{flex:1 1 180px;min-width:0;border-radius:10px!important;padding:8px 10px!important;font-size:13.5px!important}
.cag-bkp__label{margin:18px 0 10px!important;font-size:15px!important}
.cag-bkp__slots{grid-template-columns:repeat(4,1fr)!important;gap:8px!important}
.cag-slot{padding:11px 4px!important;border-radius:12px!important;font-size:14px!important;font-weight:600;background:#fff}
.cag-slot.is-on{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 30%,transparent)!important}
.cag-slot.is-on small,.cag-slot.is-on em{color:#fff!important}
.cag-book__hint{margin:12px 0 0!important}
.cag-bk-sum{position:sticky;bottom:10px;z-index:3;background:#fff!important;border:1.5px dashed color-mix(in srgb,var(--dark) 18%,transparent);box-shadow:0 8px 22px rgba(23,23,23,.06)}
.cag-bk-sum.is-ok{background:color-mix(in srgb,var(--accent2) 22%,#fff)!important;border:1.5px solid var(--accent2)}
@media(max-width:620px){
.cag-bookform{padding:20px 16px!important}
.cag-cal{padding:12px 10px!important;border-radius:18px!important}
.cag-cal__dow,.cag-cal__grid{gap:4px!important}
.cag-cal__d{height:42px;border-radius:11px!important;font-size:14.5px!important}
.cag-cal__dow span{font-size:9.5px!important;letter-spacing:.04em!important}
.cag-bkp__slots{grid-template-columns:repeat(3,1fr)!important}
.cag-tzbar{padding:10px 12px}
}
@media(max-width:360px){.cag-cal__d{height:38px;font-size:13.5px!important}.cag-bkp__slots{grid-template-columns:repeat(2,1fr)!important}}

/* 3. Modern menu */
@media(min-width:901px){
.cag-nav ul{gap:2px}
.cag-nav>ul>li>a{padding:10px 18px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:-.005em;transition:background .2s,color .2s}
.cag-nav>ul>li>a::after{display:none}
.cag-nav>ul>li>a:hover,.cag-nav>ul>li.has-mega:hover>a,.cag-nav>ul>li.has-mega:focus-within>a{background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--primary)}
.cag-nav>ul>li.is-current>a,.cag-nav>ul>li.is-active>a{background:var(--dark);color:#fff}
.cag-nav>ul>li.is-current>a:hover,.cag-nav>ul>li.is-active>a:hover{background:var(--dark);color:#fff}
.cag-hcta{width:auto!important;height:46px!important;border-radius:999px!important;padding:0 6px 0 22px;gap:12px;display:inline-flex!important;align-items:center;box-shadow:none!important;background:var(--dark)!important;color:#fff!important;font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s}
.cag-hcta:hover{transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(0,0,0,.2)!important}
.cag-hcta__i{width:34px;height:34px;border-radius:50%;background:var(--accent2);color:var(--dark);display:grid;place-items:center;transition:transform .25s}
.cag-hcta:hover .cag-hcta__i{transform:rotate(45deg)}
.cag-hcta:not(:has(.cag-hcta__t)){padding:0 6px!important;width:46px!important}
.cag-mega__grid{width:min(900px,92vw)!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;padding:16px!important;border-radius:28px!important;position:relative}
.cag-mega__grid::before{content:'';position:absolute;top:-7px;left:50%;width:16px;height:16px;margin-left:-8px;background:#fff;transform:rotate(45deg);border-radius:4px 0 0 0;box-shadow:-3px -3px 6px rgba(15,40,120,.05)}
.cag-nav .cag-mega__item{flex-direction:column;gap:12px!important;padding:16px!important;border:1px solid #eceff7;background:#fff;border-radius:20px!important;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}
.cag-nav .cag-mega__item:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,40,120,.12);border-color:transparent;background:var(--dt)}
.cag-mega__ico{width:44px!important;height:44px!important;border-radius:14px!important}
.cag-mega__txt{gap:4px!important}.cag-mega__txt em{display:none}
.cag-mega__txt strong{font-size:15px!important;color:var(--dark)!important}
.cag-nav .cag-mega__promo{position:relative;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;padding:20px;border-radius:20px;background:linear-gradient(145deg,var(--dark),color-mix(in srgb,var(--primary) 70%,var(--dark)));color:#fff;overflow:hidden;min-height:150px;font-size:inherit}
.cag-nav .cag-mega__promo::after{display:none}
.cag-nav .cag-mega__promo::before{content:'';position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:var(--accent2);opacity:.22}
.cag-mega__pk{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-weight:600}
.cag-mega__promo strong{font:700 20px var(--font-head);line-height:1.15;color:#fff}
.cag-mega__promo small{font-size:12.5px;opacity:.8}
.cag-mega__go{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:50%;background:var(--accent2);color:var(--dark);display:grid;place-items:center;transition:transform .25s;z-index:1}
.cag-mega__promo:hover .cag-mega__go{transform:rotate(45deg) scale(1.08)}
}
@media(max-width:900px){
.cag-hcta{width:42px!important;height:42px!important;border-radius:50%!important;display:grid!important;place-items:center;padding:0!important}
.cag-hcta__t{display:none}
.cag-hcta__i{display:grid;place-items:center}
.cag-burger{width:42px!important;height:42px!important;border-radius:50%!important;background:var(--dark)!important;gap:4px!important;transition:background .2s}
.cag-burger span{background:#fff!important;width:18px!important;height:2px!important}
.cag-burger[aria-expanded=true]{background:var(--primary)!important}
.cag-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
.cag-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}
.cag-drawer{border-radius:28px!important;padding:14px 18px 20px!important;background:#fff}
.cag-drawer__tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:color-mix(in srgb,var(--dark) 6%,#fff);border:0!important;border-radius:16px;padding:4px;margin:0 0 8px!important}
.cag-drawer__tabs button{border:0!important;border-radius:12px;padding:12px 8px!important;margin:0!important;font-size:14.5px!important;color:color-mix(in srgb,var(--text) 70%,transparent)}
.cag-drawer__tabs button.is-active{background:#fff;color:var(--dark)!important;box-shadow:0 4px 12px rgba(23,23,23,.1)}
.cag-drawer__links{counter-reset:n;padding:4px 0!important}
.cag-drawer__links li{counter-increment:n;border-bottom:1px solid color-mix(in srgb,var(--dark) 8%,transparent)}
.cag-drawer__links li:last-child{border-bottom:0}
.cag-drawer__links a{display:flex!important;align-items:center;gap:14px;padding:16px 2px!important;font:600 22px/1.1 var(--font-head)!important;letter-spacing:-.01em}
.cag-drawer__links a::before{content:"0" counter(n);font:600 12px var(--font-body);color:var(--primary);width:22px;flex:none;opacity:.8}
.cag-drawer__links a span{flex:1}
.cag-drawer__links a svg{width:20px;height:20px;padding:6px;box-sizing:content-box;border-radius:50%;background:color-mix(in srgb,var(--dark) 6%,#fff);transition:transform .25s,background .2s,color .2s}
.cag-drawer__links a:active svg,.cag-drawer__links a:hover svg{background:var(--accent2);color:var(--dark);transform:rotate(45deg)}
.cag-drawer.is-open .cag-drawer__links li{animation:cagIn .4s both}
.cag-drawer.is-open .cag-drawer__links li:nth-child(2){animation-delay:.05s}.cag-drawer.is-open .cag-drawer__links li:nth-child(3){animation-delay:.1s}.cag-drawer.is-open .cag-drawer__links li:nth-child(4){animation-delay:.15s}.cag-drawer.is-open .cag-drawer__links li:nth-child(5){animation-delay:.2s}.cag-drawer.is-open .cag-drawer__links li:nth-child(6){animation-delay:.25s}
@keyframes cagIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cag-drawer__cta{margin-top:10px}
.cag-drawer__cta .cag-btn{width:100%;justify-content:center;gap:8px;min-height:52px;font-size:16px}
.cag-drawer__contact{margin-top:12px!important;border-radius:20px!important;background:color-mix(in srgb,var(--dark) 4%,#fff)!important}
.cag-acc{border-radius:16px}
}
@media(prefers-reduced-motion:reduce){.cag-drawer.is-open .cag-drawer__links li{animation:none}}
.cag-nav>ul>li>a svg{flex:none}
.cag-bk-sum{position:static!important;margin-top:6px}
@media(max-width:620px){.cag-tzbar span{flex:0 0 100%}.cag-tzbar select{flex:1 1 100%}}

/* v3.14.1 drawer: smaller links, calmer expertise list */
.cag-drawer__links a{font:600 17px/1.2 var(--font-head)!important;padding:13px 2px!important;gap:12px!important}
.cag-drawer__links a::before{font-size:11px!important;width:20px!important}
.cag-drawer__links a svg{width:15px!important;height:15px!important;padding:6px!important}
.cag-drawer__tabs button{font-size:13.5px!important}
.cag-drawer__pane[data-pane="divs"]{display:none}.cag-drawer__pane[data-pane="divs"].is-active{display:grid;gap:8px;padding:4px 0}
.cag-drawer .cag-acc{margin:0!important;border-radius:16px!important;background:#fff!important;border:1px solid color-mix(in srgb,var(--dark) 9%,transparent);transition:border-color .2s,box-shadow .2s}
.cag-drawer .cag-acc.is-open{background:#fff!important;border-color:var(--primary);box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 10%,transparent)}
.cag-drawer .cag-acc__btn{padding:11px 12px!important;gap:12px!important}
.cag-drawer .cag-acc__ico{width:36px!important;height:36px!important;border-radius:11px!important;background:color-mix(in srgb,var(--primary) 9%,#fff)!important;color:var(--primary)!important}
.cag-drawer .cag-acc__ico svg{width:18px;height:18px}
.cag-drawer .cag-acc.is-open .cag-acc__ico{background:var(--primary)!important;color:#fff!important}
.cag-drawer .cag-acc__name{font:600 15px/1.25 var(--font-body)!important;color:var(--dark)!important}
.cag-drawer .cag-acc__chev{width:26px!important;height:26px!important;background:color-mix(in srgb,var(--dark) 6%,#fff)!important;margin-right:0!important}
.cag-drawer .cag-acc__chev::before,.cag-drawer .cag-acc__chev::after{left:7px!important;right:7px!important;top:12px!important;background:var(--dark)!important}
.cag-drawer .cag-acc.is-open .cag-acc__chev{background:var(--accent2)!important}
.cag-drawer .cag-acc.is-open .cag-acc__chev::before,.cag-drawer .cag-acc.is-open .cag-acc__chev::after{background:var(--dark)!important}
.cag-drawer .cag-acc__body{padding:0 14px 14px 60px!important}
.cag-drawer .cag-acc__body p{font-size:13px!important;color:color-mix(in srgb,var(--text) 78%,transparent)!important;margin:0 0 9px!important}
.cag-drawer .cag-acc__body ul{gap:5px!important;margin:0 0 10px!important}
.cag-drawer .cag-acc__body li{background:color-mix(in srgb,var(--dark) 5%,#fff)!important;color:var(--dark)!important;font-size:11.5px!important;font-weight:600;padding:4px 10px!important}
.cag-drawer .cag-acc__body a{color:var(--primary)!important;font-size:13px!important}
.cag-drawer__bubbles{display:none!important}

/* v3.15 theme-coloured logo */
.cag-logo--svg svg{overflow:visible}
.cag-logo--svg .lg-d{fill:var(--accent2)}
.cag-logo--svg .lg-t{fill:var(--text)}
.cag-logo--on-dark .lg-t{fill:#fff}
.cag-logo--svg svg{display:block;width:var(--lw,190px);max-width:100%;aspect-ratio:341/64;height:auto}
.cag-header .cag-logo--svg svg{height:30px;width:160px;max-width:none}
.cag-footer .cag-logo--svg svg{height:44px;width:235px;max-width:none}
@media(max-width:620px){.cag-header .cag-logo--svg svg{height:28px;width:149px}.cag-footer .cag-logo--svg svg{height:40px;width:213px}}

/* ===== v3.16 ===== */
/* header follows the palette */
.cag-header--brand .cag-header__in{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#000))!important;box-shadow:0 12px 32px color-mix(in srgb,var(--primary) 38%,transparent),inset 0 0 0 1px rgba(255,255,255,.16)!important}
.cag-header--brand .cag-nav>ul>li>a{color:#fff}
.cag-header--brand .cag-nav>ul>li>a:hover,.cag-header--brand .cag-nav>ul>li.has-mega:hover>a{background:rgba(255,255,255,.16);color:#fff}
.cag-header--brand .cag-nav>ul>li.is-current>a,.cag-header--brand .cag-nav>ul>li.is-active>a{background:var(--accent2);color:var(--dark)}
.cag-header--brand .cag-hcta{background:var(--accent2)!important;color:var(--dark)!important}
.cag-header--brand .cag-hcta__i{background:var(--dark);color:var(--accent2)}
.cag-header--brand .cag-burger{background:var(--accent2)!important}
.cag-header--brand .cag-burger span{background:var(--dark)!important}
.cag-header--brand .cag-burger[aria-expanded=true]{background:#fff!important}
.cag-header--brand .cag-logo--svg rect{fill:#fff}
.cag-header--brand .cag-logo--svg path[stroke]{stroke:var(--primary)}
.cag-header--brand .cag-logo__text,.cag-header--brand .cag-logo{color:#fff}
.cag-header--brand .cag-logo__mark{color:var(--accent2)}
/* time slots */
.cag-bkp__slots{display:block!important}
.cag-slotgrp{margin:0 0 12px}
.cag-slotgrp h5{margin:0 0 7px;font:700 11px var(--font-body);letter-spacing:.09em;text-transform:uppercase;opacity:.55}
.cag-slotrow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.cag-slot{padding:9px 4px!important;border-radius:10px!important;font-size:13.5px!important;font-weight:600;border:1.5px solid color-mix(in srgb,var(--dark) 12%,transparent)!important;background:#fff!important;line-height:1.1}
.cag-slot span{display:block}
.cag-slot:hover:not(:disabled){border-color:var(--primary)!important;color:var(--primary)}
.cag-slot.is-on{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}
.cag-slot:disabled,.cag-slot.is-full{background:transparent!important;border-style:dashed!important;opacity:.4;text-decoration:line-through}
.cag-bkp__label{margin:16px 0 10px!important;font-size:14px!important}
@media(max-width:620px){.cag-slotrow{grid-template-columns:repeat(3,1fr)}}
/* compact fields */
.cag-form{gap:11px!important;padding:24px!important}
.cag-form__row{gap:11px!important}
.cag-form label span{font-size:12.5px!important;margin-bottom:4px!important;font-weight:600}
.cag-form input,.cag-form select,.cag-form textarea{padding:9px 13px!important;border-radius:11px!important;font-size:14.5px!important;line-height:1.35}
.cag-form textarea{min-height:0!important;height:78px}
.cag-form .cag-btn{padding-top:12px;padding-bottom:12px}
.cag-bookform .cag-btn{align-self:stretch}
.cag-bookform .cag-bk-h:not(:first-of-type){margin-top:16px}
.cag-bk-sum{padding:10px 14px!important;font-size:13.5px!important}
@media(max-width:620px){.cag-form{padding:18px 14px!important}.cag-form input,.cag-form select,.cag-form textarea{font-size:16px!important}}

/* service links + content images */
.cag-nav .cag-mega__item{position:relative}
.cag-nav .cag-mega__main{display:flex;flex-direction:column;gap:12px;font-size:inherit;padding:0;border-radius:0}
.cag-nav .cag-mega__main::after{display:block!important;content:'';position:absolute;inset:0;left:0;bottom:auto;width:auto;height:auto;background:none;border-radius:20px}
.cag-mega__subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;position:relative;z-index:2}
.cag-nav .cag-mega__subs a{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:99px;background:color-mix(in srgb,var(--primary) 9%,#fff);color:var(--primary);font:600 12px var(--font-body)}
.cag-nav .cag-mega__subs a:hover{background:var(--primary);color:#fff}
.cag-nav .cag-mega__subs a::after{display:none}
.cag-pt-link{color:inherit;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.cag-fig{margin:26px 0}
.cag-fig img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 10px 30px rgba(23,23,23,.1)}
.cag-content h2{margin:1.8em 0 .5em;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2}
.cag-content h3{margin:1.4em 0 .4em;font-size:1.2rem}
.cag-content p,.cag-content li{line-height:1.75}
.cag-content ul,.cag-content ol{padding-left:1.3em;display:grid;gap:8px}

/* uploaded logos on the colored / dark header and footer */
.cag-logo--white img{filter:brightness(0) invert(1)}
.cag-logo--badge img{background:#fff;padding:6px 14px;border-radius:14px;box-sizing:content-box}

/* ===== v3.16.3 ===== */
.cag-header--bar.cag-header--brand,.cag-header--bar.cag-header--brand.is-scrolled{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#000))!important;border-bottom:0!important}
.cag-header--bar.cag-header--brand .cag-header__in{background:transparent!important;box-shadow:none!important}
.cag-header--bar.cag-header--dark,.cag-header--bar.cag-header--dark.is-scrolled{background:var(--dark)!important;border-bottom:0!important}
.cag-header--bar.cag-header--dark .cag-header__in{background:transparent!important;box-shadow:none!important}
/* modern time slots */
.cag-bkp__slots{background:color-mix(in srgb,var(--dark) 3.5%,#fff);border-radius:20px;padding:16px 14px 6px;margin-top:6px;border:1px solid color-mix(in srgb,var(--dark) 6%,transparent)}
.cag-slotgrp{margin:0 0 14px!important}
.cag-slotgrp h5{display:flex!important;align-items:center;gap:8px;margin:0 0 10px!important;font:700 13px var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;opacity:1!important;color:var(--dark)}
.cag-slotgrp h5 i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent2) 35%,#fff);color:var(--dark);flex:none}
.cag-slotgrp h5 em{margin-left:auto;font:500 11.5px var(--font-body);font-style:normal;opacity:.55}
.cag-slotrow{gap:8px!important;grid-template-columns:repeat(4,1fr)}
.cag-slot{height:40px;padding:0 6px!important;border:0!important;border-radius:999px!important;background:#fff!important;box-shadow:0 1px 2px rgba(23,23,23,.08),0 0 0 1px color-mix(in srgb,var(--dark) 7%,transparent);font-size:13.5px!important;font-weight:600;display:flex!important;align-items:center;justify-content:center;gap:6px;transition:transform .15s,box-shadow .15s,background .15s}
.cag-slot:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(23,23,23,.1),0 0 0 1.5px var(--primary)!important;color:var(--primary)}
.cag-slot.is-on,.cag-slot.is-on:hover{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 70%,#000))!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 35%,transparent)!important;transform:none}
.cag-slot.is-on::before{content:'';width:12px;height:12px;flex:none;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/contain no-repeat}
.cag-slot:disabled,.cag-slot.is-full{background:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--dark) 5%,transparent) 5px 10px)!important;box-shadow:none!important;opacity:.5;text-decoration:line-through;cursor:not-allowed}
@media(max-width:620px){.cag-bkp__slots{padding:14px 10px 4px;border-radius:18px}.cag-slotrow{grid-template-columns:repeat(3,1fr)}.cag-slot{height:42px}}
.cag-slot{flex-direction:row!important;white-space:nowrap}.cag-slot span{display:inline!important}

/* searchable dropdown */
.cag-ss{position:relative;width:100%}
.cag-ss__native{position:absolute!important;left:0;bottom:0;width:100%;height:1px;opacity:0;pointer-events:none;border:0!important;padding:0!important}
.cag-ss__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;font:inherit;color:inherit;background:#f9fbff;border:1px solid #d3dcf0;border-radius:11px;padding:9px 13px;font-size:14.5px;line-height:1.35;min-height:42px;transition:border-color .15s,box-shadow .15s}
.cag-ss__btn:hover{border-color:color-mix(in srgb,var(--primary,#ad0101) 45%,#d3dcf0)}
.cag-ss.is-open .cag-ss__btn,.cag-ss__btn:focus-visible{outline:none;border-color:var(--primary,#ad0101);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#ad0101) 14%,transparent);background:#fff}
.cag-ss__btn.is-bad{border-color:#dc2626}
.cag-ss__btn.is-ph .cag-ss__txt{opacity:.55}
.cag-ss__txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cag-ss__btn i{flex:none;display:grid;opacity:.6;transition:transform .2s}
.cag-ss.is-open .cag-ss__btn i{transform:rotate(180deg)}
.cag-ss__pop{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);min-width:220px;background:#fff;border:1px solid rgba(23,23,23,.1);border-radius:14px;box-shadow:0 20px 50px rgba(23,23,23,.18);overflow:hidden}
.cag-ss.is-up .cag-ss__pop{top:auto;bottom:calc(100% + 6px)}
.cag-ss__pop[hidden]{display:none}
.cag-ss__qw{padding:8px;border-bottom:1px solid rgba(23,23,23,.07);background:#fafafa}
.cag-ss__q{width:100%!important;box-sizing:border-box;border:1px solid #d3dcf0!important;border-radius:10px!important;padding:9px 12px!important;font:inherit!important;font-size:14px!important;background:#fff!important;box-shadow:none!important;min-height:0!important;height:auto!important}
.cag-ss__q:focus{outline:none;border-color:var(--primary,#ad0101)!important}
.cag-ss__list{list-style:none;margin:0;padding:6px;max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:block!important}
.cag-ss__opt{padding:9px 11px;border-radius:9px;font-size:14px;line-height:1.3;cursor:pointer;margin:0;display:block;color:inherit;background:none!important}
.cag-ss__opt:hover,.cag-ss__opt.is-act{background:color-mix(in srgb,var(--primary,#ad0101) 9%,#fff)!important}
.cag-ss__opt.is-sel{font-weight:700;color:var(--primary,#ad0101)}
.cag-ss__none{padding:16px;text-align:center;font-size:13.5px;opacity:.6}
.cag-fld>span{display:block;font-size:12.5px;font-weight:600;margin-bottom:4px}
@media(max-width:620px){.cag-ss__btn{font-size:16px}.cag-ss__q{font-size:16px!important}.cag-ss__list{max-height:230px}}


/* v3.18 */
.cag-pt-link{color:inherit;font-weight:inherit}
.cag-pt-link svg{opacity:.55;transition:transform .2s,opacity .2s}
.cag-pt-link:hover svg{transform:translateX(3px);opacity:1}
#book{scroll-margin-top:0}

/* v3.18 editor blocks */
.cag-callout{background:var(--primary);color:#fff;border-radius:22px;padding:28px;margin:1.6em 0}
.cag-callout h3,.cag-callout p{color:#fff;margin:.35em 0}
.cag-callout .cag-btn{background:var(--accent2,#F5C928);color:#171717}
.cag-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:1.4em 0}
.cag-cols>div{background:color-mix(in srgb,var(--primary) 6%,#fff);border-radius:18px;padding:18px}
.cag-note,.cag-content blockquote{border-left:4px solid var(--accent2,#F5C928);background:#faf6ea;margin:1.4em 0;padding:8px 18px;border-radius:0 12px 12px 0}
.cag-video{position:relative;margin:1.4em 0}.cag-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:16px}
.cag-content figure{margin:1.4em 0}.cag-content figure img,.cag-content img{max-width:100%;height:auto;border-radius:14px}
.cag-landing .cag-content--landing{max-width:1100px;margin:0 auto;padding:40px 16px}
.cag-content .cag-btn--primary{background:var(--primary);color:#fff;display:inline-flex;padding:12px 24px;border-radius:99px;font-weight:700;text-decoration:none}

/* v3.23 blog */
.cag-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:26px 0}
@media(max-width:960px){.cag-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cag-pgrid{grid-template-columns:1fr;gap:16px}}
.cag-pc{background:#fff;border:1px solid color-mix(in srgb,var(--primary) 12%,#e8e2d4);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.cag-pc:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(0,0,0,.35)}
.cag-pc__img{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#000));overflow:hidden}
.cag-pc__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cag-pc:hover .cag-pc__img img{transform:scale(1.05)}
.cag-pc__ph{display:grid;place-items:center;height:100%;color:var(--accent2,#F5C928)}
.cag-pc__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.cag-pc__cat{align-self:flex-start;font:700 11px/1 Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,#fff);padding:6px 10px;border-radius:99px;text-decoration:none}
.cag-pc__title{font-size:1.18rem;line-height:1.3;margin:0}.cag-pc__title a{color:inherit;text-decoration:none}.cag-pc__title a:hover{color:var(--primary)}
.cag-pc__ex{margin:0;opacity:.75;font-size:.95rem;line-height:1.55}
.cag-pc__meta{margin:auto 0 0;font-size:.82rem;opacity:.6;padding-top:6px}
.cag-blogpage__head{max-width:760px;margin:0 auto 10px;text-align:center}
.cag-blogpage__intro{opacity:.8;margin:6px auto 0}
.cag-blogsearch{display:flex;max-width:480px;margin:18px auto 0;background:#fff;border:1px solid color-mix(in srgb,var(--primary) 18%,#ddd);border-radius:99px;padding:4px 4px 4px 18px}
.cag-blogsearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px}
.cag-blogsearch button{border:0;background:var(--primary);color:#fff;border-radius:99px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}
.cag-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.cag-chips a{padding:8px 16px;border-radius:99px;background:#fff;border:1px solid color-mix(in srgb,var(--primary) 16%,#e2dccd);text-decoration:none;color:inherit;font-weight:600;font-size:.9rem}
.cag-chips a.is-on,.cag-chips a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.cag-blogsec__more{text-align:center;margin:0}
.cag-empty{text-align:center;padding:50px 0}
.cag-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0 8px;font-weight:600;font-size:.9rem}
.cag-share a{padding:7px 14px;border-radius:99px;border:1px solid color-mix(in srgb,var(--primary) 20%,#ddd);text-decoration:none;color:inherit;background:#fff}
.cag-share a:hover{background:var(--primary);color:#fff}

/* ===== v3.25 booking: wide desktop layout ===== */
.cag-book__how{margin-top:22px}
.cag-book__how li{align-items:flex-start}
.cag-book__how span{display:grid;gap:2px;font-size:14px;line-height:1.45}
.cag-book__how strong{font-size:15px;color:inherit}
.cag-book__note{margin:18px 0 0!important;font-size:13px!important;opacity:.75}
@media(min-width:1100px){
 #book .cag-container{max-width:1240px}
 #book .cag-book__grid{grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}
 #book .cag-book__info{position:sticky;top:110px;background:linear-gradient(160deg,var(--dark),color-mix(in srgb,var(--primary) 55%,var(--dark)));color:#fff;border-radius:28px;padding:34px 30px;box-shadow:0 30px 60px -34px rgba(0,0,0,.55)}
 #book .cag-book__info .cag-kicker{color:var(--accent2)}
 #book .cag-book__info h2,#book .cag-book__info .cag-title{color:#fff;font-size:clamp(28px,2.6vw,38px);line-height:1.12}
 #book .cag-book__info .cag-title em,#book .cag-book__info .cag-title span{color:var(--accent2)}
 #book .cag-book__info p{color:rgba(255,255,255,.82);font-size:15.5px;max-width:none}
 #book .cag-book__chips span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
 #book .cag-book__chips svg{color:var(--accent2)}
 #book .cag-book__how b{background:var(--accent2);color:var(--dark)}
 #book .cag-book__how span{color:rgba(255,255,255,.8)}
 #book .cag-book__how strong{color:#fff}
 #book .cag-bookform{padding:30px 32px!important;border-radius:28px}
 #book .cag-bkp:not([hidden]){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:24px;align-items:start}
 #book .cag-bkp .cag-cal{grid-column:1;grid-row:1/span 3}
 #book .cag-bkp .cag-tzbar{grid-column:2;grid-row:1;margin:0}
 #book .cag-bkp .cag-bkp__label{grid-column:2;grid-row:2;margin:16px 0 10px!important}
 #book .cag-bkp .cag-bkp__slots{grid-column:2;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-content:start}
 #book .cag-bk-details{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
 #book .cag-bk-details>.cag-bk-h{grid-column:1/-1;margin-top:20px!important}
 #book .cag-bk-details .cag-form__row{display:contents}
 #book .cag-bk-details>label:last-child{grid-column:1/-1}
 #book .cag-bk-details textarea{min-height:76px}
 #book .cag-bk-submit{display:grid;grid-template-columns:1fr minmax(260px,.8fr);gap:14px;align-items:center;margin-top:20px}
 #book .cag-bk-sum{position:static!important;margin:0}
 #book .cag-bk-submit .cag-btn{margin:0}
}
@media(min-width:861px) and (max-width:1099px){
 #book .cag-book__grid{grid-template-columns:minmax(0,1fr);gap:26px}
 #book .cag-book__info{text-align:left}
 #book .cag-book__how{grid-template-columns:repeat(3,1fr);gap:14px}
}
@media(min-width:1100px){
 #book .cag-bkp:not([hidden]){grid-template-rows:auto auto 1fr}
 #book .cag-book__how{gap:16px}
 #book .cag-book__hint{margin:10px 0 0!important}
}
@media(max-width:860px){.cag-book__how,.cag-book__note{display:none}}

/* ===== v3.26.1 service cards + drawer polish ===== */
.cag-dv h3{font-size:clamp(22px,2.4vw,30px);line-height:1.15}
.cag-dv__end{grid-column:1/-1;position:relative;z-index:1;display:flex;margin-top:4px}
.cag-dv__btn{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 26px;border-radius:999px;background:var(--dc);color:#fff!important;font:700 16px/1.2 var(--font-body);text-decoration:none;box-shadow:0 14px 28px -12px color-mix(in srgb,var(--dc) 70%,transparent);transition:transform .2s,box-shadow .2s}
.cag-dv__btn i{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--dc);display:grid;place-items:center;flex:none;font-style:normal;transition:transform .2s}
.cag-dv__btn:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px color-mix(in srgb,var(--dc) 80%,transparent)}
.cag-dv__btn:hover i{transform:translate(2px,-2px)}
.cag-dv__list li.is-more{grid-column:1/-1;padding:11px 14px 11px 44px;border-radius:14px;background:color-mix(in srgb,var(--dc) 10%,#fff);border:1.5px dashed color-mix(in srgb,var(--dc) 55%,transparent);color:var(--dc);font-weight:700}
.cag-dv__list li.is-more::before{left:12px;top:50%;margin-top:-9.5px}
@media(max-width:960px){.cag-dv__end{margin-top:0}.cag-dv__btn{width:100%}}
@media(max-width:620px){
 .cag-divsec .cag-container{padding-left:10px;padding-right:10px}
 .cag-dv{padding:20px 14px 16px!important;border-radius:22px!important;gap:18px!important}
 .cag-dv__head{gap:12px;margin-bottom:12px}
 .cag-dv__ico{width:46px!important;height:46px!important;border-radius:15px!important}
 .cag-dv__ico svg{width:22px;height:22px}
 .cag-dv h3{font-size:20px;line-height:1.18}
 .cag-dv__tag{font-size:14px;margin-top:3px}
 .cag-dv__desc{font-size:14.5px;line-height:1.6;margin-bottom:6px}
 .cag-dv__list{padding:16px 14px!important;border-radius:20px!important}
 .cag-dv__list h4{font-size:15px;margin-bottom:12px;padding-bottom:12px}
 .cag-dv__list li{font-size:14px}
 .cag-dv__list li.is-more{padding:10px 12px 10px 42px}
 .cag-dv__btn{font-size:15px;padding-left:20px}
 .cag-dv__n{display:none}
}
/* drawer accordion */
.cag-drawer .cag-acc__body{padding:0 12px 14px!important}
.cag-drawer .cag-acc__body p{margin:0 0 10px!important;font-size:13.5px!important}
.cag-drawer .cag-acc__body ul{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0 0 12px!important;padding:0!important;list-style:none}
.cag-drawer .cag-acc__body li{display:block!important;padding:0!important;border-radius:12px!important;font-size:14px!important;line-height:1.3;font-weight:600;background:color-mix(in srgb,var(--dark) 4%,#fff)!important;border:1px solid color-mix(in srgb,var(--dark) 7%,transparent)}
.cag-drawer .cag-acc__body li>a{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:var(--dark)!important;font-size:14px!important;text-decoration:none}
.cag-drawer .cag-acc__body li:not(:has(a)){padding:12px 14px!important}
.cag-drawer .cag-acc__body li>a svg{flex:none;opacity:.6;color:var(--primary)}
.cag-drawer .cag-acc__body li.is-more{background:color-mix(in srgb,var(--primary) 9%,#fff)!important;border:1.5px dashed color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary)!important;font-weight:700}
.cag-drawer .cag-acc__body a.cag-acc__go{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:2px;padding:13px 16px;border-radius:999px;background:var(--primary);color:#fff!important;font-weight:700!important;font-size:14.5px!important;text-decoration:none;box-shadow:0 10px 22px -12px var(--primary)}
.cag-svpage__trust{margin:14px 0 0;font-size:13.5px;font-weight:600;opacity:.8}
.cag-svpage__btns .cag-btn--ghost{font-weight:700}
