/* Health & Care Turkey: page sections built from editable blocks.
   Loaded on the site and inside the block editor, so the editor shows the real design.
   Generated from gb/blocks.css (icons are filled in by the build). */

/* ---------- Colours that follow the block background ---------- */
.has-mint-background-color { --hct-line: #A9D9C0; --hct-soft: #2F4A41; }
.has-peach-background-color { --hct-line: #EDB8A2; --hct-soft: #4F3A31; }
.has-sand-background-color { --hct-line: #EBCB8B; --hct-soft: #4A4128; }
.has-cream-background-color { --hct-line: #F2C7B3; --hct-soft: #4F3A31; }
.has-leaf-background-color { --hct-line: #7FCBA6; --hct-soft: #1D3A33; }
.has-coral-background-color { --hct-line: #E99B7C; --hct-soft: #3D2A22; }
.has-sun-background-color { --hct-line: #E8B93A; --hct-soft: #3B3418; }
.has-forest-background-color, .has-pine-background-color { --hct-line: rgba(255, 255, 255, 0.16); --hct-soft: #CFE6DB; }

/* ---------- Sections and shared type ---------- */
.hct-sec { max-width: 1600px; margin: 0 auto; padding: 120px 20px 0; box-sizing: border-box; }
.hct-sec--hero { padding-top: 16px; }
.hct-sec--overview { padding-top: 96px; }
.hct-sec--tight { padding-top: 20px; }
.hct-sec[id] { scroll-margin-top: 160px; }
.hct-sec :is(h1, h2, h3, h4, p, ul, ol, figure, details),
.hct-subnav :is(ul, p) { margin: 0; }
/* Block margins start at zero (one class of weight, so the section rules below can set their own). */
:where(.hct-sec, .hct-subnav) :is(.wp-block-image, .wp-block-buttons, .wp-block-cover, .wp-block-details, .wp-block-group, .wp-block-list) { margin-top: 0; margin-bottom: 0; }
.hct-sec a { text-underline-offset: 3px; }
.hct-sec * { box-sizing: border-box; }

.hct-h1 { font-weight: 600; font-size: clamp(44px, 5.8vw, 88px); line-height: 0.95; letter-spacing: -0.05em; text-wrap: balance; color: inherit; }
.hct-h1--home { font-size: clamp(44px, 6vw, 92px); }
.hct-h2 { font-weight: 600; font-size: clamp(36px, 4.2vw, 60px); line-height: 0.98; letter-spacing: -0.045em; text-wrap: balance; }
.hct-h2--home { font-size: clamp(36px, 4.4vw, 64px); }
.hct-h2--narrow { max-width: 13em; }
.hct-sec--recovery .hct-h2--narrow, .hct-sec--bento .hct-h2--narrow { max-width: 12em; }
.hct-h3 { font-weight: 600; font-size: clamp(30px, 3vw, 42px); line-height: 1.02; letter-spacing: -0.04em; }
.hct-h3.hct-h3--md { font-size: clamp(28px, 2.8vw, 40px); }
.hct-h3.hct-h3--sm { margin-top: 4px; font-size: 24px; line-height: 1.6; letter-spacing: -0.03em; }
.hct-lead { font-size: 20px; line-height: 1.55; color: #CFE6DB; max-width: 30em; text-wrap: pretty; }
.hct-text { color: #3A4D47; text-wrap: pretty; }

.hct-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 48px; }
.hct-head__text { color: #4C5E58; max-width: 28em; text-wrap: pretty; }
.has-forest-background-color .hct-head__text { color: #CFE6DB; }
.hct-head--tabs { gap: 24px 48px; }
.hct-head__main { display: flex; flex-direction: column; gap: 14px; max-width: 34em; }
.hct-head__main .hct-head__text { max-width: none; }

/* ---------- Pills and tags ---------- */
.hct-chip { display: inline-block; align-self: flex-start; padding: 6px 14px; border-radius: 999px; background: #FFFFFF; color: #0F2420; font-size: 14px; font-weight: 600; line-height: 1.6; }
.hct-chip--mint { padding: 4px 10px; background: #CDEFDD; color: #134E43; font-size: 12px; font-weight: 700; }
.hct-chip--dashed { padding: 10px 18px; border: 1.5px dashed #D9916F; background: rgba(255, 255, 255, 0.6); color: #4F3A31; font-size: 15px; }
.hct-tag { align-self: flex-start; padding: 6px 14px; border-radius: 999px; background: #FFD45C; color: #0F2420; font-size: 14px; font-weight: 700; }
.hct-tag--leaf { background: #9BE0BF; }
.hct-tag--coral { background: #FFB79A; }

/* ---------- Buttons (block styles of the Button block) ---------- */
.hct-actions.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-button[class*="is-style-hct-"] { margin: 0; }
.wp-block-button[class*="is-style-hct-"] > .wp-block-button__link {
	display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border: 0; border-radius: 999px;
	font-family: inherit; font-weight: 600; font-size: 16px; line-height: 1.2; text-decoration: none; text-align: center; box-shadow: none;
	transition: background-color 0.18s;
}
.wp-block-button.is-style-hct-sun > .wp-block-button__link { min-height: 58px; padding: 0 30px; background: #FFD45C; color: #0F2420; font-size: 17px; }
.wp-block-button.is-style-hct-sun > .wp-block-button__link:hover { background: #FFC72E; color: #0F2420; }
.wp-block-button.is-style-hct-primary > .wp-block-button__link { background: #134E43; color: #FFFFFF; }
.wp-block-button.is-style-hct-primary > .wp-block-button__link:hover { background: #0B3A31; color: #FFFFFF; }
.wp-block-button.is-style-hct-glass > .wp-block-button__link,
.wp-block-button.is-style-hct-wa-glass > .wp-block-button__link { min-height: 58px; padding: 0 24px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.35); color: #FFFFFF; font-size: 17px; }
.wp-block-button.is-style-hct-glass > .wp-block-button__link:hover,
.wp-block-button.is-style-hct-wa-glass > .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.16); color: #FFFFFF; }
.wp-block-button.is-style-hct-outline > .wp-block-button__link,
.wp-block-button.is-style-hct-wa-outline > .wp-block-button__link { min-height: 50px; padding: 0 20px; background: transparent; border: 1px solid #CFDCD5; color: #0F2420; font-size: 15px; }
.wp-block-button.is-style-hct-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-hct-wa-outline > .wp-block-button__link:hover { background: #F2F9F5; color: #0F2420; }
.wp-block-button.is-style-hct-wa-glass > .wp-block-button__link::before,
.wp-block-button.is-style-hct-wa-outline > .wp-block-button__link::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239BE0BF' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E") center / 20px no-repeat; }
.wp-block-button.is-style-hct-wa-outline > .wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23134E43' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E"); }
.hct-stack > .wp-block-buttons, .hct-faq__intro > .wp-block-buttons { align-self: flex-start; }
.hct-actions--push.wp-block-buttons { margin-top: auto; align-self: flex-start; }
.hct-card--tab .wp-block-button > .wp-block-button__link { min-height: 52px; padding: 0 24px; }

/* ---------- Lists with check marks (block styles of the List block) ---------- */
ul.is-style-hct-checks, ol.is-style-hct-checks { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; }
.is-style-hct-checks > li { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--hct-line, #DCE5E0); }
.is-style-hct-checks:not(.hct-lines) > li:last-child { border-bottom: 1px solid var(--hct-line, #DCE5E0); }
.is-style-hct-checks > li::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='11' fill='%23134E43'/%3E%3Cpath d='m7.5 12.2 3 3 6-6.2' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }
.hct-card .is-style-hct-checks { margin: 0; }
.hct-card .is-style-hct-checks > li { align-items: flex-start; padding: 12px 0; }
.hct-card .is-style-hct-checks > li::before { margin-top: 2px; }
.hct-clinics .is-style-hct-checks { margin-top: 8px; }
.hct-clinics .is-style-hct-checks > li { font-size: 16px; }
ul.is-style-hct-checks-sun { list-style: none; margin: 8px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255, 255, 255, 0.16); display: flex; flex-wrap: wrap; gap: 12px 28px; }
.is-style-hct-checks-sun > li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #E3F1EA; }
.is-style-hct-checks-sun > li::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='11' fill='%23FFD45C'/%3E%3Cpath d='m7.5 12.2 3 3 6-6.2' fill='none' stroke='%230F2420' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }

/* ---------- Icons: a coloured square with a line icon ---------- */
.hct-tone--pine { --tone-bg: #134E43; --tone-fg: #FFD45C; }
.hct-tone--mint { --tone-bg: #CDEFDD; --tone-fg: #134E43; }
.hct-tone--foam { --tone-bg: #E6F4EC; --tone-fg: #134E43; }
.hct-tone--sand { --tone-bg: #FFF0DC; --tone-fg: #8A5A00; }
.hct-tone--sky { --tone-bg: #E3EEFF; --tone-fg: #2D5BB8; }
.hct-tone--rose { --tone-bg: #FFE6DB; --tone-fg: #A2482A; }
.hct-tone--sun { --tone-bg: #FFD45C; --tone-fg: #0F2420; }
.hct-ico--shield { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.hct-ico--bed { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8'/%3E%3Cpath d='M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4'/%3E%3Cpath d='M12 4v6'/%3E%3Cpath d='M2 18h20'/%3E%3C/svg%3E"); }
.hct-ico--car { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Cpath d='M9 17h6'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E"); }
.hct-ico--translate { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 6 6'/%3E%3Cpath d='m4 14 6-6 2-3'/%3E%3Cpath d='M2 5h12'/%3E%3Cpath d='M7 2h1'/%3E%3Cpath d='m22 22-5-10-5 10'/%3E%3Cpath d='M14 18h6'/%3E%3C/svg%3E"); }
.hct-ico--chat { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E"); }
.hct-ico--plane { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E"); }
.hct-ico--card { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); }
.hct-ico--mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }

/* ---------- Hero ---------- */
.hct-hero { border-radius: 36px; overflow: hidden; padding: clamp(28px, 4.5vw, 64px) clamp(22px, 4vw, 64px); display: flex; flex-wrap: wrap; gap: 44px 56px; align-items: center; }
.hct-hero--home { padding: clamp(32px, 5vw, 72px) clamp(22px, 4vw, 64px); gap: 48px 56px; }
.hct-hero__text { flex: 1.15 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.hct-hero--home .hct-hero__text { gap: 28px; }
.hct-hero__media.wp-block-cover { flex: 1 1 400px; min-width: 0; border-radius: 28px; overflow: hidden; background: #2C6457; padding: 20px; align-items: flex-end; justify-content: flex-start; color: #0F2420; }
.hct-hero__media > .wp-block-cover__inner-container { width: 100%; color: #0F2420; }
.hct-hero__media--home.wp-block-cover { align-items: stretch; }
.hct-hero__media--home > .wp-block-cover__inner-container { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 20px; }
.hct-stats { margin-top: 8px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr)); gap: 10px; }
.hct-stat { padding: 16px 18px; border-radius: 20px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14); }
.hct-stat__label { font-size: 13px; color: #CFE6DB; }
.hct-stat .hct-stat__value { margin-top: 2px; font-size: 24px; font-weight: 650; line-height: 1.2; letter-spacing: -0.03em; }
.hct-crumbs a { text-underline-offset: 3px; }

.hct-float-card { width: min(320px, 100%); padding: 18px; border-radius: 24px; background: rgba(255, 255, 255, 0.97); color: #0F2420; box-shadow: rgba(0, 0, 0, 0.45) 0 24px 48px -20px; display: flex; flex-direction: column; gap: 10px; }
.hct-float-card--trip { width: min(300px, 100%); gap: 12px; }
.hct-float-card__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.hct-float-card__title { font-size: 17px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.6; }
.hct-float-card__head .hct-chip { align-self: center; }
ul.hct-dayrows { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
/* Label floats in the left padding, so the same rule works on the site and in the editor
   (where the text sits in an extra element). */
.hct-dayrows > li { display: flow-root; padding: 10px 0 0 66px; border-top: 1px solid #E3EEE8; font-size: 14px; line-height: 1.4; }
.hct-dayrows > li strong { float: left; width: 56px; margin-left: -66px; font-size: 13px; font-weight: 700; line-height: 19.6px; color: #134E43; }
.hct-dayrows--wide > li { padding-left: 84px; }
.hct-dayrows--wide > li strong { width: 74px; margin-left: -84px; }
.hct-float-card:has(.hct-dayrows--wide) { width: min(330px, 100%); }
.hct-trip-row { position: relative; min-height: 36px; padding: 0 32px 0 48px; display: flex; flex-direction: column; justify-content: center; line-height: 1.3; }
.hct-trip-row::before { content: ""; position: absolute; left: 0; top: 50%; width: 36px; height: 36px; margin-top: -18px; border-radius: 12px; background: var(--tone-bg, #E6F4EC); }
.hct-trip-row::after { content: ""; position: absolute; left: 9px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: var(--tone-fg, #134E43); -webkit-mask: var(--ico) center / 18px no-repeat; mask: var(--ico) center / 18px no-repeat; }
.hct-trip-row__title { font-size: 14px; }
.hct-trip-row__title::after { content: ""; position: absolute; right: 0; top: 50%; width: 20px; height: 20px; margin-top: -10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Ccircle cx='12' cy='12' r='11' fill='%23134E43'/%3E%3Cpath d='m7.5 12.2 3 3 6-6.2' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }
.hct-trip-row__text { font-size: 13px; color: #4C5E58; }
.hct-badge { align-self: flex-end; max-width: 250px; padding: 18px 20px; border-radius: 24px; color: #0F2420; box-shadow: rgba(0, 0, 0, 0.5) 0 24px 48px -20px; }
.hct-badge__big { font-weight: 650; font-size: 36px; line-height: 1; letter-spacing: -0.04em; }
.hct-badge .hct-badge__text { margin-top: 6px; font-size: 14px; line-height: 1.4; }

/* ---------- Sticky page menu ---------- */
.hct-subnav { position: sticky; top: 96px; z-index: 30; max-width: 1600px; margin: 0 auto; padding: 16px 20px 0; box-sizing: border-box; }
ul.hct-subnav__list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; border-radius: 999px; background: rgba(255, 255, 255, 0.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid #DCEBE3; width: fit-content; max-width: 100%; box-sizing: border-box; }
.hct-subnav__list > li { display: flex; }
.hct-subnav__list a { min-height: 40px; padding: 0 16px; border-radius: 999px; color: #0F2420; text-decoration: none; font-size: 14px; font-weight: 600; display: flex; align-items: center; transition: background-color 0.18s; }
.hct-subnav__list a:hover, .hct-subnav__list a.is-current { background: #E6F4EC; color: #0F2420; }

/* ---------- Image boxes (Image block filling a rounded box) ---------- */
.hct-media.wp-block-image { position: relative; border-radius: 32px; overflow: hidden; background: #E6F4EC; }
.hct-media.wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.hct-pos-50-25 img { object-position: 50% 25%; } .hct-pos-50-30 img { object-position: 50% 30%; } .hct-pos-50-35 img { object-position: 50% 35%; }
.hct-pos-40-30 img { object-position: 40% 30%; } .hct-pos-50-45 img { object-position: 50% 45%; } .hct-pos-50-60 img { object-position: 50% 60%; }
.hct-pos-50-20 img { object-position: 50% 20%; } .hct-pos-50-40 img { object-position: 50% 40%; } .hct-pos-60-30 img { object-position: 60% 30%; }

/* ---------- Is it right for you? ---------- */
.hct-sec--overview { display: flex; flex-wrap: wrap; gap: 40px 72px; align-items: center; }
.hct-media--overview { flex: 1 1 460px; min-width: 0; min-height: 460px; }
.hct-stack { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }

/* ---------- Option cards ---------- */
.hct-cards { margin-top: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); gap: 20px; }
.hct-cards--3 { grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); }
.hct-card { border-radius: 32px; padding: clamp(26px, 3.6vw, 48px); display: flex; flex-direction: column; gap: 18px; }
.hct-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.hct-card__text { color: var(--hct-soft, #3A4D47); text-wrap: pretty; }

/* ---------- Your days in Turkey ---------- */
.hct-panel { border-radius: 36px; padding: clamp(28px, 5vw, 72px) clamp(22px, 4vw, 64px); }
.hct-panel--dark { padding: clamp(36px, 5.5vw, 80px) clamp(22px, 4vw, 64px); }
.hct-days { margin-top: 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; align-items: stretch; }
.hct-day { border-radius: 28px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.14); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.hct-day.has-background { border: 0; }
.hct-day__text { color: #CFE6DB; }
.hct-day.has-background .hct-day__text { color: #4C5E58; }
ol.hct-numlist { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; counter-reset: hct-n; }
.hct-numlist > li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; padding: 9px 0; border-top: 1px solid #E3EEE8; font-size: 15px; line-height: 1.45; counter-increment: hct-n; }
.hct-numlist > li::before { content: counter(hct-n); font-weight: 700; color: #134E43; }
.hct-media--thumb.wp-block-image { margin-top: auto; min-height: 180px; border-radius: 20px; background: #2C6457; }

/* ---------- Recovery timeline ---------- */
ol.hct-timeline { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 28px 16px; }
.hct-timeline > li { --dot: #134E43; --line: #3E8A72; position: relative; display: block; padding-top: 26px; font-size: 16px; line-height: 1.5; }
.hct-timeline > li strong { display: block; margin-bottom: 10px; font-size: 15px; font-weight: 700; color: #134E43; line-height: 1.6; }
.hct-timeline > li::before { content: ""; position: absolute; left: 0; top: 0; width: 16px; height: 16px; border-radius: 999px; background: var(--dot); }
.hct-timeline > li::after { content: ""; position: absolute; left: 24px; right: 0; top: 6.5px; height: 3px; border-radius: 999px; background: var(--line); transform-origin: 0 50%; }
.hct-timeline > li:nth-child(2) { --dot: #3E8A72; --line: #6CB497; }
.hct-timeline > li:nth-child(3) { --dot: #6CB497; --line: #9BE0BF; }
.hct-timeline > li:nth-child(4) { --dot: #9BE0BF; --line: #FFD45C; }
.hct-timeline > li:nth-child(n+5) { --dot: #FFD45C; --line: #FFD45C; }
.hct-timeline > li:last-child { --dot: #FFD45C; }
/* Six steps: the first step keeps the dark line, the colours move one step later. */
.hct-timeline:has(> li:nth-child(6)) > li:first-child { --line: #134E43; }
.hct-timeline:has(> li:nth-child(6)) > li:nth-child(2) { --dot: #134E43; --line: #3E8A72; }
.hct-timeline:has(> li:nth-child(6)) > li:nth-child(3) { --dot: #3E8A72; --line: #6CB497; }
.hct-timeline:has(> li:nth-child(6)) > li:nth-child(4) { --dot: #6CB497; --line: #9BE0BF; }
.hct-timeline:has(> li:nth-child(6)) > li:nth-child(5) { --dot: #9BE0BF; --line: #FFD45C; }
.hct-timeline > li:last-child::before { box-shadow: #FFF1C4 0 0 0 5px; }
.hct-timeline > li:last-child::after { display: none; }

/* ---------- Before and after ---------- */
.hct-results { margin-top: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 20px; }
.hct-result { border-radius: 28px; background: #F2F7F4; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.hct-ba { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hct-shot.wp-block-image { position: relative; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; background: #FFFFFF; }
.hct-shot--after.wp-block-image { background: #E6F4EC; }
.hct-shot.wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hct-shot.wp-block-image img[src*="placeholder-photo"] { object-fit: none; }
.hct-shot.wp-block-image:has(img[src*="placeholder-photo"]) { border: 1.5px dashed #9DB8AC; }
.hct-shot.wp-block-image figcaption { position: absolute; left: 10px; top: 10px; z-index: 1; margin: 0; padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.92); color: #3A4D47; font-size: 13px; font-weight: 600; line-height: 1.5; }
.hct-result__caption { padding: 0 6px 4px; font-size: 15px; color: #4C5E58; }

/* ---------- Included in the package ---------- */
.hct-panel--included { display: flex; flex-wrap: wrap; gap: 40px 64px; align-items: flex-start; }
.hct-included__intro { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.hct-included__intro .hct-head__text { color: var(--hct-soft, #4F3A31); max-width: 26em; }
.hct-included__grid { flex: 2 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 12px; }
.hct-inc { position: relative; min-height: 80px; padding: 18px 18px 18px 76px; border-radius: 22px; background: #FFFFFF; display: flex; flex-direction: column; justify-content: center; line-height: 1.35; color: #0F2420; }
.hct-inc::before { content: ""; position: absolute; left: 18px; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 14px; background: var(--tone-bg, #CDEFDD); }
.hct-inc::after { content: ""; position: absolute; left: 29px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: var(--tone-fg, #134E43); -webkit-mask: var(--ico) center / 22px no-repeat; mask: var(--ico) center / 22px no-repeat; }
.hct-inc__title { font-size: 16px; font-weight: 700; }
.hct-inc__text { font-size: 14px; color: #5A443B; }

/* ---------- Questions (Details blocks) ---------- */
.hct-sec--faq { display: flex; flex-wrap: wrap; gap: 32px 72px; align-items: flex-start; }
.hct-faq__intro { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.hct-faq__intro .hct-head__text { max-width: 24em; }
.hct-faq__list { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; border-bottom: 1px solid #DCE5E0; }
.hct-faq__list > .wp-block-details { border-top: 1px solid #DCE5E0; }
.hct-faq__list .wp-block-details > summary { min-height: 72px; padding: 18px 8px; border-radius: 12px; color: #0F2420; font-size: 19px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.25; display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; transition: background-color 0.18s; }
.hct-faq__list .wp-block-details > summary::-webkit-details-marker { display: none; }
.hct-faq__list .wp-block-details > summary::marker { content: ""; }
.hct-faq__list .wp-block-details > summary:hover { background: #F6FAF8; }
.hct-faq__list .wp-block-details > summary::after { content: ""; width: 36px; height: 36px; flex-shrink: 0; border-radius: 999px; background: #E6F4EC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23134E43' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 18px no-repeat; transition: transform 0.2s, background-color 0.2s; }
.hct-faq__list .wp-block-details[open] > summary::after { transform: rotate(45deg); background-color: #134E43; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.hct-faq__list .wp-block-details > :not(summary) { margin: 0; padding: 0 56px 22px 8px; color: #3A4D47; max-width: 44em; }

/* ---------- Quote form panels ---------- */
.hct-quote { border-radius: 36px; overflow: hidden; display: flex; flex-wrap: wrap; align-items: stretch; }
.hct-quote__intro { flex: 1 1 420px; min-width: 0; padding: clamp(28px, 5vw, 64px) clamp(22px, 4vw, 56px); display: flex; flex-direction: column; gap: 22px; }
.hct-quote__intro .hct-head__text { color: var(--hct-soft, #2F4A41); max-width: 28em; }
.hct-media--quote.wp-block-image { flex: 1 1 0%; min-height: 260px; border-radius: 24px; background: #A9D9C0; }
.hct-quote-form--photos { flex: 1.1 1 460px; min-width: 0; padding: clamp(16px, 3vw, 32px); }
.hct-quote--home { padding: clamp(28px, 5vw, 72px) clamp(22px, 4vw, 64px); gap: 48px 64px; align-items: flex-start; }
.hct-quote--home .hct-quote__intro { flex: 1 1 340px; padding: 0; }

/* ---------- Homepage: treatments with tabs ---------- */
.hct-tabs { margin-top: 36px; }
.hct-tab-panel + .hct-tab-panel { margin-top: 36px; }
.hct-tab-label { margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #4C5E58; }
.hct-tabs-ready .hct-tab-label { display: none; }
.hct-tabs-ready .hct-tab-panel + .hct-tab-panel { margin-top: 0; }
.hct-tab-split { display: flex; flex-wrap: wrap; gap: 20px; }
.hct-media--tab.wp-block-image { flex: 1 1 460px; min-height: 500px; background: #CDEFDD; }
.hct-card--tab { flex: 1 1 440px; min-width: 0; padding: clamp(26px, 3.6vw, 52px); }
.hct-trows { margin-top: 6px; display: flex; flex-direction: column; }
.hct-trow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--hct-line, #DCE5E0); }
.hct-trow__main { display: flex; flex-direction: column; align-items: flex-start; }
.hct-trow__title { font-size: 17px; font-weight: 700; }
.hct-trow__title strong { font-weight: inherit; }
.hct-trow__title a { color: #0F2420; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.hct-trow__title a::after { content: ""; width: 16px; height: 16px; flex-shrink: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / 16px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / 16px no-repeat; transition: translate 0.25s ease; }
.hct-trow__title a:hover { color: #0F2420; }
.hct-trow__title a:hover::after { translate: 4px 0; }
.hct-trow__text { font-size: 15px; color: var(--hct-soft, #3A4D47); }
.hct-trow .hct-chip { align-self: center; padding: 6px 12px; font-size: 13px; white-space: nowrap; }
.hct-more a { font-weight: 600; font-size: 16px; color: #134E43; text-underline-offset: 4px; }
.hct-tablist { display: flex; flex-wrap: wrap; gap: 4px; padding: 5px; border-radius: 999px; background: #E6F4EC; }
.hct-tablist .b-tab { min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: transparent; color: #1D3A33; font-family: inherit; font-weight: 600; font-size: 15px; cursor: pointer; transition: background-color 0.2s, color 0.2s; }
.hct-tablist .b-tab[aria-selected="true"] { background: #134E43; color: #FFFFFF; }

/* ---------- Homepage: one price, everything included ---------- */
.hct-bento { margin-top: 44px; display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "fl fl ho in" "tr tm ho pc" "cta cta cta cta"; }
.hct-g-fl { grid-area: fl; } .hct-g-ho { grid-area: ho; } .hct-g-in { grid-area: in; } .hct-g-tr { grid-area: tr; }
.hct-g-tm { grid-area: tm; } .hct-g-pc { grid-area: pc; } .hct-g-cta { grid-area: cta; }
.hct-tile { border-radius: 30px; overflow: hidden; }
.hct-tile--photo.wp-block-cover { padding: 28px; align-items: flex-end; justify-content: flex-start; background: #2A4A43; color: #FFFFFF; }
.hct-tile--photo > .wp-block-cover__inner-container { display: flex; flex-direction: column; gap: 4px; color: #FFFFFF; }
.hct-tile__title { font-weight: 600; font-size: 26px; letter-spacing: -0.03em; }
.hct-tile__text { font-size: 15px; color: rgba(255, 255, 255, 0.88); max-width: 26em; }
.hct-tile--icon { position: relative; min-height: 280px; padding: 104px 28px 28px; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; }
.hct-tile--icon::before { content: ""; position: absolute; left: 28px; top: 28px; width: 52px; height: 52px; border-radius: 16px; background: rgba(255, 255, 255, 0.6); }
.hct-tile--icon::after { content: ""; position: absolute; left: 41px; top: 41px; width: 26px; height: 26px; background: #0F2420; -webkit-mask: var(--ico) center / 26px no-repeat; mask: var(--ico) center / 26px no-repeat; }
.hct-tile--icon.has-pine-background-color::before { background: rgba(255, 255, 255, 0.12); }
.hct-tile--icon.has-pine-background-color::after { background: #FFD45C; }
.hct-tile--icon.has-leaf-background-color::before { background: rgba(255, 255, 255, 0.65); }
.hct-tile--icon.has-leaf-background-color::after { background: #134E43; }
.hct-tile--icon .hct-tile__text { color: var(--hct-soft, #1D3A33); }
.hct-tile--cta { padding: clamp(24px, 3vw, 36px) clamp(24px, 3.5vw, 44px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; }
.hct-tile__copy { display: flex; flex-direction: column; gap: 6px; }
.hct-cta__title { font-weight: 600; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; letter-spacing: -0.035em; }
.hct-cta__text { font-size: 16px; color: #3B3418; }
.hct-tile--cta .wp-block-button > .wp-block-button__link { min-height: 56px; padding: 0 28px; font-size: 17px; white-space: nowrap; }
@media (max-width: 1000px) { .hct-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "fl fl" "ho in" "ho tr" "tm pc" "cta cta"; } }
@media (max-width: 620px) { .hct-bento { grid-template-columns: minmax(0, 1fr); grid-template-areas: "fl" "ho" "in" "tr" "tm" "pc" "cta"; } }

/* ---------- Homepage: clinics ---------- */
.hct-clinics { border-radius: 36px; padding: clamp(20px, 3vw, 32px); display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: center; }
.hct-media--clinic.wp-block-image { flex: 1.2 1 500px; min-width: 0; min-height: 440px; border-radius: 28px; background: #FFD9C6; }
.hct-clinics__text { flex: 1 1 380px; min-width: 0; padding: clamp(4px, 2vw, 24px) clamp(4px, 2vw, 28px) clamp(4px, 2vw, 24px) 0; display: flex; flex-direction: column; gap: 20px; }
.hct-clinics__text .hct-head__text { color: var(--hct-soft, #4F3A31); max-width: none; }
.hct-chips { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- Homepage: how it works ---------- */
.hct-panel--how { padding: clamp(40px, 6vw, 88px) clamp(22px, 4vw, 64px); overflow: hidden; }
.hct-steps { margin-top: 56px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 40px 28px; counter-reset: hct-step; }
.hct-step { --num: #FFD45C; position: relative; display: flex; flex-direction: column; gap: 12px; counter-increment: hct-step; }
.hct-step::before { content: counter(hct-step); width: 44px; height: 44px; border-radius: 999px; background: var(--num); color: #0F2420; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.hct-step::after { content: ""; position: absolute; left: 56px; right: 0; top: 21px; border-top: 2px dashed rgba(255, 255, 255, 0.25); transform-origin: 0 50%; }
.hct-step:nth-child(2) { --num: #9BE0BF; } .hct-step:nth-child(3) { --num: #FFB79A; } .hct-step:nth-child(4) { --num: #FFFFFF; }
.hct-step:last-child::after { display: none; }
.hct-step .hct-step__title { margin-top: 8px; font-size: 20px; font-weight: 700; line-height: 1.3; color: #FFFFFF; }
.hct-step__text { font-size: 16px; line-height: 1.6; color: #CFE6DB; }
.hct-banner.wp-block-cover { margin-top: 64px; border-radius: 28px; overflow: hidden; padding: clamp(24px, 4vw, 48px); align-items: flex-end; justify-content: flex-start; background: #2C6457; color: #FFFFFF; }
.hct-banner > .wp-block-cover__inner-container { width: auto; max-width: calc(520px - 2 * clamp(24px, 4vw, 48px)); display: flex; flex-direction: column; gap: 8px; color: #FFFFFF; }
.hct-banner__title { font-weight: 600; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.05; letter-spacing: -0.035em; }
.hct-banner__text { font-size: 16px; color: rgba(255, 255, 255, 0.9); }

/* ---------- Contact cards (theme block) ---------- */
.hct-contact-cards a { text-decoration: none; }

/* ---------- Phone ---------- */
@media (max-width: 640px) {
	.hct-sec { padding-top: 72px; }
	.hct-sec--hero { padding-top: 16px; }
	.hct-sec--tight { padding-top: 20px; }
	.hct-sec--overview { padding-top: 40px; }
	.hct-hero, .hct-hero--home { padding: 28px 20px 20px; gap: 28px; }
	.hct-hero__text, .hct-hero--home .hct-hero__text { gap: 20px; }
	.hct-h1, .hct-h1--home { font-size: 40px; }
	.hct-lead { font-size: 17px; }
	.hct-hero .hct-actions .wp-block-button.is-style-hct-sun { flex: 1 1 100%; }
	.hct-hero .hct-actions .wp-block-button.is-style-hct-sun > .wp-block-button__link { min-height: 52px; font-size: 16px; }
	.hct-hero .hct-actions .wp-block-button:is(.is-style-hct-wa-glass, .is-style-hct-glass) { display: none; }
	.hct-hero__points.is-style-hct-checks-sun { padding-top: 16px; gap: 8px 20px; }
	.hct-hero__media.wp-block-cover { flex-basis: 100%; min-height: 280px !important; }
	.hct-hero__media--home.wp-block-cover { min-height: 300px !important; padding: 14px; }
	.hct-hero__media .hct-float-card { display: none; }
	.hct-hero__media--home > .wp-block-cover__inner-container { justify-content: flex-end; }
	.hct-badge { max-width: 200px; padding: 14px 16px; }
	.hct-badge__big { font-size: 28px; }
	.hct-stats { margin-top: 0; gap: 8px; }
	.hct-stat { padding: 12px 14px; border-radius: 16px; }
	.hct-stat .hct-stat__value { font-size: 19px; }
	.hct-subnav { top: 86px; padding-top: 10px; }
	ul.hct-subnav__list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	ul.hct-subnav__list::-webkit-scrollbar { display: none; }
	.hct-subnav__list a { flex: 0 0 auto; min-height: 38px; padding: 0 14px; font-size: 13px; white-space: nowrap; }
	.hct-media--overview.wp-block-image { min-height: 280px; }
	ol.hct-timeline { gap: 0; margin-top: 32px; }
	.hct-timeline > li { display: block; padding: 0 0 20px 26px; }
	.hct-timeline > li strong { margin-bottom: 2px; }
	.hct-timeline > li::before { top: 4px; }
	.hct-timeline > li::after { left: 6.5px; right: auto; top: 26px; bottom: 2px; width: 3px; height: auto; transform-origin: 50% 0; }
	.hct-results { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 28px -20px 0; padding: 0 20px 4px; scrollbar-width: none; }
	.hct-result { flex: 0 0 82%; scroll-snap-align: center; }
	.hct-quote__intro { padding: 28px 20px 4px; }
	.hct-quote .hct-media--quote { display: none; }
	.hct-quote-form--photos { padding: 12px; }
	.hct-quote--home { padding: 28px 14px 14px; gap: 28px; }
	.hct-quote--home .hct-quote__intro { padding: 0; }
	.hct-tablist { width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.hct-tablist .b-tab { flex: 1 0 auto; min-height: 44px; padding: 0 14px; }
	.b-contact { gap: 12px !important; padding: 10px 12px 10px 10px !important; }
	.b-contact > span:first-child { width: 40px !important; height: 40px !important; border-radius: 14px !important; }
	.b-contact strong { font-size: clamp(12px, 3.5vw, 18px) !important; }
	.b-quote-card { padding: 22px 16px !important; }
	.b-opt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
	.b-opt { min-height: 52px !important; padding: 8px 10px 8px 12px !important; font-size: 14px !important; line-height: 1.25; }
}
@media (max-width: 360px) {
	.wp-block-button[class*="is-style-hct-"] > .wp-block-button__link { white-space: normal; }
	.hct-h1, .hct-h1--home { font-size: 34px; }
}

/* ---------- Long Dutch and German words ---------- */
.hct-sec :is(h1, h2, h3, p, li, a, summary, figcaption) { overflow-wrap: break-word; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: no-preference) {
	/* page load */
	.hct-sec--hero .hct-hero__text { animation: bUp 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
	.hct-sec--hero .hct-h1 { animation: tWipe 1.1s 0.2s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
	.hct-sec--hero .wp-block-cover__image-background { animation: tImg 1.5s 0.1s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
	.hct-sec--hero .hct-float-card { animation: bUp 0.7s 0.35s cubic-bezier(0.2, 0.7, 0.2, 1) both, tFloat 7s 1.4s ease-in-out infinite; }
	.hct-sec--hero .hct-badge { animation: bUp 0.7s 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both, tFloat 8s 2s ease-in-out infinite; }
	.hct-sec--hero :is(.hct-stat, .hct-hero__points > li) { animation: bUp 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
	.hct-sec--hero :is(.hct-stat, .hct-hero__points > li):nth-child(1) { animation-delay: 0.5s; }
	.hct-sec--hero :is(.hct-stat, .hct-hero__points > li):nth-child(2) { animation-delay: 0.58s; }
	.hct-sec--hero :is(.hct-stat, .hct-hero__points > li):nth-child(3) { animation-delay: 0.66s; }
	.hct-sec--hero :is(.hct-stat, .hct-hero__points > li):nth-child(4) { animation-delay: 0.74s; }

	/* buttons: lift, light sweep, press */
	.wp-block-button[class*="is-style-hct-"] > .wp-block-button__link { position: relative; isolation: isolate; overflow: hidden; transition: background-color 0.2s ease, translate 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), scale 0.15s ease, box-shadow 0.3s ease; }
	.wp-block-button:is(.is-style-hct-primary, .is-style-hct-sun, .is-style-hct-glass, .is-style-hct-wa-glass) > .wp-block-button__link::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(105deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.42) 50%, rgba(255, 255, 255, 0) 70%); translate: -120% 0; transition: translate 0.8s cubic-bezier(0.2, 0.7, 0.2, 1); }
	.wp-block-button[class*="is-style-hct-"] > .wp-block-button__link:hover::after { translate: 120% 0; }
	.wp-block-button[class*="is-style-hct-"] > .wp-block-button__link:hover { translate: 0 -2px; }
	.wp-block-button.is-style-hct-primary > .wp-block-button__link:hover { box-shadow: 0 16px 30px -14px rgba(19, 78, 67, 0.7); }
	.wp-block-button.is-style-hct-sun > .wp-block-button__link:hover { box-shadow: 0 16px 32px -12px rgba(255, 199, 46, 0.8); }
	.wp-block-button[class*="is-style-hct-"] > .wp-block-button__link:active { translate: 0 0; scale: 0.97; }
	.wp-block-button[class*="is-style-hct-wa"] > .wp-block-button__link::before { transition: rotate 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), scale 0.35s cubic-bezier(0.2, 0.7, 0.2, 1); }
	.wp-block-button[class*="is-style-hct-wa"] > .wp-block-button__link:hover::before { rotate: -12deg; scale: 1.12; }

	/* images and cards on hover */
	.hct-sec .hct-media img, .hct-sec:not(.hct-sec--hero) .wp-block-cover__image-background { transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
	.hct-sec .hct-media:hover img, .hct-sec:not(.hct-sec--hero) .wp-block-cover:hover .wp-block-cover__image-background { transform: scale(1.045); }
	:is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc) { transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease; }
	:is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc):hover { transform: translateY(-4px); box-shadow: 0 26px 44px -30px rgba(15, 36, 32, 0.5); }
	.hct-inc:hover::after, .hct-tile--icon:hover::after { animation: tWiggle 0.6s ease both; }

	/* things that open */
	.hct-faq__list .wp-block-details[open] > :not(summary) { animation: tPanel 0.35s ease both; }
	.hct-tabs-ready .hct-tab-panel:not([hidden]) { animation: tPanel 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; }

	/* scroll reveals, tied to the scroll position */
	@supports (animation-timeline: view()) {
		.hct-sec:not(.hct-sec--hero) h2 { animation: tHead linear both; animation-timeline: view(); animation-range: entry 0% entry calc(100% + 140px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-head, .hct-included__intro, .hct-faq__intro, .hct-quote__intro, .hct-stack, .hct-clinics__text) > p { animation: tRise linear both; animation-timeline: view(); animation-range: entry 0% entry calc(100% + 120px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-media img, .wp-block-cover__image-background) { animation: tImg linear both; animation-timeline: view(); animation-range: entry 0% entry 75%; }
		.hct-sec:not(.hct-sec--hero) :is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc, .hct-step, .hct-timeline > li, .is-style-hct-checks > li, .hct-trow, .hct-faq__list > .wp-block-details) { animation: tRise linear both; animation-timeline: view(); animation-range: entry 0% entry calc(100% + 40px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc, .hct-step, .hct-timeline > li, .is-style-hct-checks > li, .hct-trow, .hct-faq__list > .wp-block-details):nth-child(2) { animation-range: entry 15% entry calc(100% + 70px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc, .hct-step, .hct-timeline > li, .is-style-hct-checks > li, .hct-trow, .hct-faq__list > .wp-block-details):nth-child(3) { animation-range: entry 30% entry calc(100% + 100px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc, .hct-step, .hct-timeline > li, .is-style-hct-checks > li, .hct-trow, .hct-faq__list > .wp-block-details):nth-child(4) { animation-range: entry 45% entry calc(100% + 130px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc, .hct-step, .hct-timeline > li, .is-style-hct-checks > li, .hct-trow, .hct-faq__list > .wp-block-details):nth-child(5) { animation-range: entry 60% entry calc(100% + 160px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-card, .hct-day, .hct-result, .hct-tile, .hct-inc, .hct-step, .hct-timeline > li, .is-style-hct-checks > li, .hct-trow, .hct-faq__list > .wp-block-details):nth-child(n+6) { animation-range: entry 75% entry calc(100% + 190px); }
		.hct-sec:not(.hct-sec--hero) :is(.hct-inc, .hct-tile--icon, .hct-step)::before,
		.hct-sec:not(.hct-sec--hero) .is-style-hct-checks > li::before { animation: tPop linear both; animation-timeline: view(); animation-range: entry 40% entry calc(100% + 120px); }
		.hct-sec:not(.hct-sec--hero) .hct-timeline > li::before { animation: tPop linear both; animation-timeline: view(); animation-range: entry 50% entry calc(100% + 140px); }
		.hct-sec:not(.hct-sec--hero) .hct-timeline > li::after { animation: tLine linear both; animation-timeline: view(); animation-range: entry 60% entry calc(100% + 200px); }
		.hct-sec:not(.hct-sec--hero) .hct-step::after { animation: tLine linear both; animation-timeline: view(); animation-range: entry 60% entry calc(100% + 200px); }
	}
}
@media (prefers-reduced-motion: no-preference) and (max-width: 640px) {
	.hct-sec:not(.hct-sec--hero) .hct-timeline > li::after { animation: none; }
}
