/* ==========================================================================
   The Specialists Aruba — 2026 Revamp
   Brand: cream #eae2ce · charcoal #2d2d2d · pink #ff80ff · mustard #f7b43e
          lime #cad372 · orange #ff8243 · sage #a5bfbb
   Type:  Headlines Meaty Nineties (web fallback: Fraunces soft/wonky)
          Body Helvetica Neue Light (web fallback: Albert Sans 300)
          Accents ATP Krawel (web fallback: Caveat Brush)
   ========================================================================== */

:root {
	--ts-cream: #eae2ce;
	--ts-cream-2: #f3eee2;
	--ts-cream-3: #ddd3b9;
	--ts-ink: #2d2d2d;
	--ts-ink-2: #4a4a48;
	--ts-pink: #ff80ff;
	--ts-mustard: #f7b43e;
	--ts-lime: #cad372;
	--ts-orange: #ff8243;
	--ts-sage: #a5bfbb;

	--ts-display: "Meaty Nineties", "Fraunces", "Cooper Black", Georgia, serif;
	--ts-body: "Helvetica Neue", "Albert Sans", Helvetica, Arial, sans-serif;
	--ts-accent: "ATP Krawel", "Caveat Brush", "Comic Sans MS", cursive;

	--ts-radius: 28px;
	--ts-radius-lg: 44px;
	--ts-wrap: 1240px;
	--ts-gutter: clamp(18px, 4vw, 40px);
	--ts-section: clamp(64px, 9vw, 120px);
	--ts-shadow: 0 1px 0 rgba(45,45,45,.06), 0 18px 40px -18px rgba(45,45,45,.35);
	--ts-ease: cubic-bezier(.2,.8,.2,1);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body.ts-2026,
body.ts-2026 #page,
body.ts-2026 .main-container {
	background: var(--ts-cream) !important;
	color: var(--ts-ink);
	font-family: var(--ts-body) !important;
	font-weight: 300;
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.ts-2026 p,
body.ts-2026 li,
body.ts-2026 td,
body.ts-2026 input,
body.ts-2026 textarea,
body.ts-2026 select { font-family: var(--ts-body) !important; }
body.ts-2026 strong, body.ts-2026 b { font-weight: 600; }

body.ts-2026 h1, body.ts-2026 h2, body.ts-2026 h3,
body.ts-2026 h4, body.ts-2026 h5, body.ts-2026 h6,
body.ts-2026 .title {
	font-family: var(--ts-display) !important;
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-weight: 800 !important;
	color: var(--ts-ink) !important;
	letter-spacing: -0.02em;
	line-height: 1.05;
	text-transform: none !important;
	text-shadow: none !important;
}
body.ts-2026 a { color: var(--ts-ink); transition: color .2s, background-color .2s, transform .3s var(--ts-ease); }
body.ts-2026 .article a, body.ts-2026 .ts-prose a:not(.ts-btn):not(.newbtn):not(.btn) {
	text-shadow: none;
	text-decoration: underline;
	text-decoration-color: var(--ts-orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
body.ts-2026 ::selection { background: var(--ts-pink); color: var(--ts-ink); }
body.ts-2026 :focus-visible { outline: 3px solid var(--ts-orange); outline-offset: 3px; border-radius: 6px; }

.ts-wrap {
	width: 100%;
	max-width: var(--ts-wrap);
	margin: 0 auto;
	padding-left: var(--ts-gutter);
	padding-right: var(--ts-gutter);
	box-sizing: border-box;
}
.ts-skip { position: absolute; left: -9999px; top: 0; z-index: 100000; background: var(--ts-ink); color: var(--ts-cream) !important; padding: 10px 18px; border-radius: 0 0 12px 0; }
.ts-skip:focus { left: 0; }

/* ---------- Type helpers ---------- */
.ts-h2 { font-size: clamp(34px, 4.6vw, 60px) !important; margin: 0 0 .35em !important; }
.ts-eyebrow {
	font-family: var(--ts-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin: 0 0 14px !important;
	color: var(--ts-ink) !important;
}
.ts-eyebrow a { text-decoration: none !important; }
.ts-script {
	font-family: var(--ts-accent) !important;
	font-size: clamp(26px, 3vw, 38px) !important;
	line-height: 1 !important;
	transform: rotate(-3deg);
	display: inline-block;
	margin: 0 0 18px !important;
}
.ts-chip {
	display: inline-block;
	background: var(--ts-ink);
	color: var(--ts-cream) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: .06em;
	padding: 8px 16px;
	border-radius: 999px;
	margin: 0 0 22px !important;
}

/* ---------- Buttons (new + legacy) ---------- */
.ts-btn,
body.ts-2026 .newbtn,
body.ts-2026 .btn,
body.ts-2026 .gform_wrapper .gform_button,
body.ts-2026 .gform_wrapper button[type="submit"],
body.ts-2026 input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--ts-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
	text-transform: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	white-space: nowrap;
	line-height: 1 !important;
	padding: 14px 24px !important;
	margin: 0;
	border-radius: 999px !important;
	border: 2px solid var(--ts-ink) !important;
	background: var(--ts-ink) !important;
	color: var(--ts-cream) !important;
	box-shadow: none !important;
	cursor: pointer;
	transform: none;
	transition: transform .3s var(--ts-ease), background-color .2s, color .2s, box-shadow .3s !important;
}
.ts-btn:hover,
body.ts-2026 .newbtn:hover,
body.ts-2026 .btn:hover,
body.ts-2026 .gform_wrapper .gform_button:hover,
body.ts-2026 input[type="submit"]:hover {
	background: var(--ts-orange) !important;
	border-color: var(--ts-ink) !important;
	color: var(--ts-ink) !important;
	transform: translateY(-2px) rotate(-1deg);
	box-shadow: 4px 4px 0 var(--ts-ink) !important;
}
.ts-btn--ghost { background: transparent !important; color: var(--ts-ink) !important; }
.ts-btn--ghost:hover { background: var(--ts-lime) !important; }
.ts-btn--cream { background: var(--ts-cream) !important; color: var(--ts-ink) !important; border-color: var(--ts-cream) !important; }
.ts-btn--cream:hover { background: var(--ts-mustard) !important; box-shadow: 4px 4px 0 var(--ts-cream) !important; }
.ts-btn--outline-cream { background: transparent !important; color: var(--ts-cream) !important; border-color: var(--ts-cream) !important; }
.ts-btn--outline-cream:hover { background: var(--ts-pink) !important; color: var(--ts-ink) !important; box-shadow: 4px 4px 0 var(--ts-cream) !important; }
.ts-btn--lg { padding: 18px 30px !important; font-size: 16px !important; }
body.ts-2026 .welcome .newbtn { max-width: none; }

/* ---------- Top bar ---------- */
.ts-topbar { background: var(--ts-ink); color: var(--ts-cream); font-size: 13.5px; }
.ts-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 42px; }
.ts-topbar__info { display: flex; flex-wrap: nowrap; gap: 6px 26px; list-style: none; margin: 0 !important; padding: 0 !important; }
.ts-topbar__info li { display: flex; align-items: center; gap: 8px; margin: 0 !important; color: var(--ts-cream); font-weight: 400; white-space: nowrap; }
.ts-topbar__info i { color: var(--ts-mustard); font-size: 14px; }
.ts-topbar a { color: var(--ts-cream) !important; text-decoration: none; }
.ts-topbar a:hover { color: var(--ts-mustard) !important; }
.ts-topbar__social { display: flex; gap: 6px; }
.ts-topbar__social a { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; font-size: 14px; }
.ts-topbar__social a:hover { background: var(--ts-cream); color: var(--ts-ink) !important; }

/* ---------- Header ---------- */
body.ts-2026 #site-header.ts-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(234, 226, 206, .92) !important;
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid rgba(45,45,45,.08);
	box-shadow: none;
	transition: box-shadow .3s, background-color .3s;
}
body.admin-bar.ts-2026 #site-header.ts-header { top: 32px; }
body.ts-2026 #site-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(45,45,45,.45); }
body.ts-2026 #header.ts-header__inner {
	background: transparent !important;
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 92px;
	position: relative;
	float: none;
	transition: min-height .3s var(--ts-ease);
}
body.ts-2026 #site-header.is-scrolled #header.ts-header__inner { min-height: 72px; }
body.ts-2026 .ts-logo { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; flex: 0 0 auto; }
body.ts-2026 .ts-logo a { display: block; float: none !important; }
body.ts-2026 .ts-logo img {
	display: block;
	width: auto;
	height: 62px;
	max-width: 260px;
	margin: 0 !important;
	object-fit: contain;
	transition: height .3s var(--ts-ease);
}
body.ts-2026 #site-header.is-scrolled .ts-logo img { height: 48px; }

body.ts-2026 #secondary-navigation.ts-nav {
	flex: 1 1 auto;
	float: none;
	width: auto;
	height: auto;
	background: transparent !important;
	display: flex;
	justify-content: center;
}
body.ts-2026 #secondary-navigation .navigation { float: none; width: auto; background: transparent; }
body.ts-2026 #secondary-navigation .navigation ul.menu { padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; text-align: center; }
body.ts-2026 #secondary-navigation .navigation ul li { float: none; display: block; position: relative; background: transparent !important; }
body.ts-2026 #secondary-navigation .navigation > ul > li > a,
body.ts-2026 #secondary-navigation a {
	font-family: var(--ts-body) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--ts-ink) !important;
	padding: 10px 14px !important;
	border-radius: 999px;
	text-transform: none !important;
	letter-spacing: .01em;
	background: transparent;
}
body.ts-2026 #secondary-navigation .navigation > ul > li > a:hover,
body.ts-2026 #secondary-navigation .navigation > ul > li.current-menu-item > a,
body.ts-2026 #secondary-navigation .navigation > ul > li.current-menu-ancestor > a {
	background: rgba(45,45,45,.08) !important;
}
body.ts-2026 #secondary-navigation .navigation > ul > .menu-item-has-children > a { padding-right: 30px !important; }
body.ts-2026 #secondary-navigation .menu-item-has-children > a:after { right: 12px !important; top: 50% !important; transform: translateY(-50%); }

/* dropdowns */
body.ts-2026 #secondary-navigation .navigation ul ul {
	background: var(--ts-cream-2) !important;
	border: 1px solid rgba(45,45,45,.1) !important;
	border-radius: 20px;
	padding: 10px !important;
	box-shadow: var(--ts-shadow);
	width: 230px;
	top: calc(100% + 6px);
	text-align: left;
}
body.ts-2026 #secondary-navigation .navigation ul ul li { width: 100%; border: 0 !important; }
body.ts-2026 #secondary-navigation .navigation ul ul a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px !important;
	border-radius: 12px;
	font-size: 14.5px !important;
	color: var(--ts-ink) !important;
}
body.ts-2026 #secondary-navigation .navigation ul ul li:hover > a,
body.ts-2026 #secondary-navigation .navigation ul ul .current-menu-item > a { background: var(--ts-lime) !important; }
body.ts-2026 #secondary-navigation .navigation ul ul li:hover,
body.ts-2026 #secondary-navigation .navigation ul ul .current-menu-item { background: transparent !important; }

.ts-header__cta { display: flex; gap: 10px; flex: 0 0 auto; }
.ts-header__cta .ts-btn { padding: 12px 20px !important; font-size: 14px !important; }

/* hamburger */
body.ts-2026 a#pull { display: none; }

/* Legacy header bits not used anymore */
body.ts-2026 .newheader, body.ts-2026 .newadditional, body.ts-2026 #catcher { display: none !important; }

/* ---------- Pattern sections ---------- */
.ts-pattern {
	position: relative;
	background-color: var(--ts-orange);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* ---------- Hero ---------- */
.ts-hero { padding: clamp(28px, 4vw, 56px) 0 clamp(36px, 5vw, 72px); }
.ts-hero__card {
	background: var(--ts-cream);
	border-radius: var(--ts-radius-lg);
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding: clamp(28px, 5vw, 72px);
	box-shadow: 0 30px 60px -30px rgba(45,45,45,.55);
}
.ts-hero__title {
	font-size: clamp(64px, 11vw, 168px) !important;
	line-height: .86 !important;
	letter-spacing: -0.045em !important;
	margin: 0 0 6px !important;
}
.ts-hero__title span { color: var(--ts-ink); background: linear-gradient(transparent 62%, var(--ts-pink) 62%, var(--ts-pink) 92%, transparent 92%); padding: 0 .04em; }
.ts-hero__copy .ts-script { margin-left: .2em !important; }
.ts-hero__lead { font-size: clamp(17px, 1.5vw, 20px) !important; max-width: 34ch; margin: 0 0 30px !important; color: var(--ts-ink-2); }
.ts-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ts-hero__media { position: relative; }
.ts-hero__media video,
.ts-hero__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 220px 220px var(--ts-radius) var(--ts-radius);
	background: var(--ts-cream-3);
}
.ts-spark { position: absolute; fill: var(--ts-ink); pointer-events: none; animation: ts-spin 14s linear infinite; }
.ts-spark--a { width: 70px; top: 8%; left: -28px; fill: var(--ts-mustard); }
.ts-spark--b { width: 44px; bottom: 10%; right: -16px; fill: var(--ts-pink); animation-direction: reverse; }
@keyframes ts-spin { to { transform: rotate(360deg); } }

/* ---------- Quick actions (mobile) ---------- */
.ts-quick { display: none; }
.ts-bg-lime { background: var(--ts-lime) !important; }
.ts-bg-sage { background: var(--ts-sage) !important; }
.ts-bg-orange { background: var(--ts-orange) !important; }
.ts-bg-pink { background: var(--ts-pink) !important; }
.ts-bg-mustard { background: var(--ts-mustard) !important; }

/* ---------- Sections ---------- */
.ts-section { padding: var(--ts-section) 0; }
.ts-section__head { text-align: center; max-width: 720px; margin: 0 auto clamp(32px, 5vw, 56px); }

.ts-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.ts-feature--flip .ts-split__media { order: 2; }

.ts-prose h1, .ts-prose h2 { font-size: clamp(34px, 4.2vw, 56px) !important; margin: 0 0 .45em !important; }
.ts-prose h3 { font-size: clamp(24px, 2.4vw, 32px) !important; margin: 1.4em 0 .5em !important; }
.ts-prose h4 { font-size: 21px !important; margin: 1.2em 0 .4em !important; }
.ts-prose p { font-size: 17.5px; margin: 0 0 1.1em; }
.ts-prose .newbtn, .ts-prose .btn { margin-top: 10px !important; }

/* welcome */
.ts-welcome .ts-split__media { position: relative; }
.ts-blob {
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	border-radius: 58% 42% 46% 54% / 48% 56% 44% 52%;
	box-shadow: 18px 18px 0 var(--ts-sage);
}
.ts-sticker {
	position: absolute;
	right: 4%;
	bottom: 2%;
	width: 128px;
	height: 128px;
	border-radius: 50%;
	background: var(--ts-mustard);
	display: grid;
	place-content: center;
	text-align: center;
	font-family: var(--ts-accent);
	font-size: 22px;
	line-height: 1;
	transform: rotate(-12deg);
	box-shadow: 0 0 0 6px var(--ts-cream);
}
.ts-sticker b { font-family: var(--ts-display); font-weight: 800; font-size: 36px; letter-spacing: -0.03em; }

/* cards */
.ts-shop { background: var(--ts-cream-2); border-radius: var(--ts-radius-lg) var(--ts-radius-lg) 0 0; }
.ts-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px; }
.ts-card {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	border-radius: var(--ts-radius);
	overflow: hidden;
	text-decoration: none !important;
	background: var(--ts-ink);
	isolation: isolate;
}
.ts-card__img {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	transition: transform .8s var(--ts-ease);
	z-index: -1;
}
.ts-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(45,45,45,.55)); z-index: -1; }
.ts-card:hover .ts-card__img { transform: scale(1.07); }
.ts-card__label {
	position: absolute; left: 12px; right: 12px; bottom: 12px;
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 14px 18px;
	border-radius: 18px;
	font-family: var(--ts-display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-weight: 800;
	font-size: 20px;
	line-height: 1.1;
	color: var(--ts-ink);
	background: var(--ts-lime);
	transition: transform .4s var(--ts-ease);
}
.ts-card__label i { font-size: 14px; transition: transform .3s var(--ts-ease); }
.ts-card:hover .ts-card__label { transform: translateY(-4px); }
.ts-card:hover .ts-card__label i { transform: translateX(4px); }
.ts-card:nth-child(5n+2) .ts-card__label { background: var(--ts-pink); }
.ts-card:nth-child(5n+3) .ts-card__label { background: var(--ts-mustard); }
.ts-card:nth-child(5n+4) .ts-card__label { background: var(--ts-sage); }
.ts-card:nth-child(5n+5) .ts-card__label { background: var(--ts-orange); }

/* book */
.ts-book { padding: clamp(48px, 7vw, 96px) 0; }
.ts-book__card {
	background: var(--ts-cream);
	border-radius: var(--ts-radius-lg);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 5vw, 64px);
	padding: clamp(28px, 5vw, 64px);
	align-items: center;
	max-width: 1040px;
	margin: 0 auto;
	box-shadow: 0 30px 60px -30px rgba(45,45,45,.55);
}
.ts-book__intro p { font-size: 18px; color: var(--ts-ink-2); }
.ts-book__phone { font-family: var(--ts-display) !important; font-size: 26px !important; font-weight: 800; color: var(--ts-ink) !important; }
.ts-book__phone a { text-decoration: none !important; }
.ts-book__phone i { color: var(--ts-orange); }
body.ts-2026 .ts-book .appoint-section { background: transparent; padding: 0; text-align: left; }
body.ts-2026 .ts-book .appoint-section div { max-width: none; margin: 0; }

/* Gravity Forms — site-wide */
body.ts-2026 .gform_wrapper input[type="text"],
body.ts-2026 .gform_wrapper input[type="email"],
body.ts-2026 .gform_wrapper input[type="tel"],
body.ts-2026 .gform_wrapper input[type="number"],
body.ts-2026 .gform_wrapper input[type="date"],
body.ts-2026 .gform_wrapper select,
body.ts-2026 .gform_wrapper textarea {
	width: 100% !important;
	box-sizing: border-box;
	background: var(--ts-cream-2) !important;
	border: 2px solid rgba(45,45,45,.18) !important;
	border-radius: 16px !important;
	padding: 14px 18px !important;
	font-size: 16px !important;
	color: var(--ts-ink) !important;
	box-shadow: none !important;
	transition: border-color .2s, background-color .2s;
}
body.ts-2026 .gform_wrapper input:focus,
body.ts-2026 .gform_wrapper select:focus,
body.ts-2026 .gform_wrapper textarea:focus { border-color: var(--ts-ink) !important; background: #fff !important; outline: none; }
body.ts-2026 .gform_wrapper .gfield_label { font-weight: 600 !important; font-size: 15px !important; color: var(--ts-ink) !important; }
body.ts-2026 .gform_wrapper .gfield_required { color: var(--ts-orange) !important; }
body.ts-2026 .gform_wrapper ul.gfield_radio { display: flex; flex-wrap: wrap; gap: 10px; }
body.ts-2026 .gform_wrapper .gfield_radio li { margin: 0 !important; }
body.ts-2026 .gform_wrapper .gfield_radio input { position: absolute; opacity: 0; }
body.ts-2026 .gform_wrapper .gfield_radio label {
	display: inline-block !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 11px 20px !important;
	border: 2px solid var(--ts-ink);
	border-radius: 999px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color .2s;
}
body.ts-2026 .gform_wrapper .gfield_radio input:checked + label { background: var(--ts-lime); }
body.ts-2026 .gform_wrapper .gfield_radio input:focus-visible + label { outline: 3px solid var(--ts-orange); outline-offset: 2px; }
body.ts-2026 .gform_wrapper .gform_footer { padding-top: 10px !important; margin-top: 8px !important; }
body.ts-2026 .gform_wrapper .gform_button { width: 100%; }

/* feature rows */
.ts-feature { border-radius: var(--ts-radius-lg); margin: 0 clamp(8px, 1.5vw, 20px); }
.ts-feature + .ts-feature { margin-top: clamp(8px, 1.5vw, 20px); }
.ts-tone-cream { background: var(--ts-cream); }
.ts-tone-sage { background: var(--ts-sage); }
.ts-tone-lime { background: var(--ts-lime); }
.ts-tone-pink { background: var(--ts-pink); }
.ts-frame {
	aspect-ratio: 5 / 4;
	background-size: cover;
	background-position: center;
	border-radius: var(--ts-radius-lg);
	border: 3px solid var(--ts-ink);
	box-shadow: 14px 14px 0 var(--ts-ink);
}
.ts-feature--flip .ts-frame { box-shadow: -14px 14px 0 var(--ts-ink); border-radius: 240px 240px var(--ts-radius-lg) var(--ts-radius-lg); }
.ts-tone-sage .ts-frame, .ts-tone-lime .ts-frame { border-color: var(--ts-ink); }

/* reviews */
.ts-reviews { background: var(--ts-ink); color: var(--ts-cream); margin-top: clamp(8px, 1.5vw, 20px); padding-bottom: var(--ts-section) !important; }
.ts-reviews .ts-h2, .ts-reviews .ts-eyebrow { color: var(--ts-cream) !important; }
body.ts-2026 #reviews { background: var(--ts-ink); padding-top: var(--ts-section) !important; text-align: left; }
body.ts-2026 #reviews p { font-size: 16px; color: inherit; }
body.ts-2026 #reviews .ti-widget .ti-review-item > .ti-inner,
body.ts-2026 #reviews .ti-widget .ti-review-item .ti-inner { border-radius: 22px !important; }

/* ---------- Footer CTA ---------- */
.ts-cta { padding: clamp(48px, 7vw, 96px) 0; }
.ts-cta__card {
	max-width: 860px;
	margin: 0 auto;
	text-align: center;
	background: var(--ts-ink);
	color: var(--ts-cream);
	border-radius: var(--ts-radius-lg);
	padding: clamp(36px, 6vw, 72px) clamp(24px, 5vw, 64px);
	box-shadow: 0 30px 60px -30px rgba(45,45,45,.7);
}
.ts-cta__card .ts-h2 { color: var(--ts-cream) !important; }
.ts-cta__card .ts-script { color: var(--ts-mustard); }
.ts-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 18px; }

/* ---------- Footer ---------- */
body.ts-2026 footer#site-footer.ts-footer { background: var(--ts-ink) !important; color: var(--ts-cream); padding: 0 !important; margin: 0; }
.ts-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(4, 1fr);
	gap: 36px;
	padding: clamp(56px, 7vw, 88px) 0 48px;
}
.ts-footer__col:empty { display: none; }
.ts-footer__logo {
	display: block;
	max-width: 230px;
	height: auto;
	background: var(--ts-cream);
	padding: 18px 22px;
	border-radius: 22px;
	box-sizing: border-box;
	margin-bottom: 20px;
}
.ts-footer__brand p { color: var(--ts-cream) !important; opacity: .8; font-size: 15px; max-width: 32ch; }
.ts-footer__social { display: flex; gap: 8px; margin-top: 16px; }
.ts-footer__social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid rgba(234,226,206,.35); color: var(--ts-cream) !important; text-decoration: none; }
.ts-footer__social a:hover { background: var(--ts-pink); border-color: var(--ts-pink); color: var(--ts-ink) !important; }
body.ts-2026 .ts-footer .widget h3,
body.ts-2026 .ts-footer .widget-title {
	color: var(--ts-cream) !important;
	font-size: 22px !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
}
body.ts-2026 .ts-footer .widget p,
body.ts-2026 .ts-footer .widget a,
body.ts-2026 .ts-footer .widget li,
body.ts-2026 .ts-footer .widget span { color: var(--ts-cream) !important; font-size: 15px; }
body.ts-2026 .ts-footer .widget a { text-decoration: none; opacity: .85; }
body.ts-2026 .ts-footer .widget a:hover { opacity: 1; color: var(--ts-mustard) !important; }
body.ts-2026 .ts-footer .widget ul { list-style: none; padding: 0; margin: 0; column-count: 1 !important; }
body.ts-2026 .ts-footer .widget li { margin: 0 0 8px; }
.ts-footer__contact li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: start; line-height: 1.5; }
.ts-footer__contact i { color: var(--ts-mustard); margin-top: 4px; }
body.ts-2026 .ts-footer__bar { background: transparent !important; border-top: 1px solid rgba(234,226,206,.15); padding: 22px 0; font-size: 13.5px; }
.ts-footer__bar .ts-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; color: rgba(234,226,206,.75); }
.ts-footer__bar a { color: rgba(234,226,206,.85) !important; text-decoration: none; }
.ts-footer__bar a:hover { color: var(--ts-mustard) !important; }

/* ---------- Inner pages ---------- */
.ts-pagehero { padding: clamp(40px, 7vw, 96px) 0; }
.ts-pagehero__card {
	display: inline-block;
	max-width: 860px;
	background: var(--ts-cream);
	border-radius: var(--ts-radius-lg);
	padding: clamp(24px, 4vw, 44px) clamp(26px, 5vw, 56px);
	box-shadow: 0 24px 50px -28px rgba(45,45,45,.6);
}
.ts-pagehero__title { font-size: clamp(40px, 6.5vw, 88px) !important; margin: 0 !important; line-height: .95 !important; }
body.ts-2026 .innerImage { display: none !important; }

body.ts-2026 #page.single,
body.ts-2026 #page { padding-top: 0; max-width: 100% !important; width: 100%; }
body.ts-2026 .article {
	max-width: 920px !important;
	margin: 0 auto !important;
	padding: clamp(48px, 7vw, 88px) var(--ts-gutter) !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.ts-2026 .post-content img,
body.ts-2026 .alignleft, body.ts-2026 .alignright, body.ts-2026 .alignnone,
body.ts-2026 .featured img {
	border: 0 !important;
	border-radius: 22px;
	box-shadow: none !important;
}
body.ts-2026 .post-content blockquote {
	border: 0;
	background: var(--ts-cream-2);
	border-radius: 22px;
	padding: 24px 28px;
	font-size: 20px;
}
body.ts-2026 .post-content ul li::marker { color: var(--ts-orange); }

/* FAQ accordion */
body.ts-2026 .contentfaqs h4 {
	background: var(--ts-cream-2) !important;
	color: var(--ts-ink) !important;
	padding: 18px 22px !important;
	border-radius: 18px;
	margin: 0 0 10px !important;
	font-size: 19px !important;
}
body.ts-2026 .contentfaqs h4:hover, body.ts-2026 .contentfaqs h4.active { background: var(--ts-lime) !important; }
body.ts-2026 .contentfaqs h4:after { color: var(--ts-ink); }
body.ts-2026 .contentfaqs p { background: transparent; }

/* legacy palette helpers → new brand */
body.ts-2026 .style-guide-yellow { background: var(--ts-mustard) !important; }
body.ts-2026 .style-guide-green { background: var(--ts-lime) !important; }
body.ts-2026 .style-guide-blue { background: var(--ts-sage) !important; }
body.ts-2026 .style-guide-pink { background: var(--ts-pink) !important; }
body.ts-2026 .style-guide-red { background: var(--ts-orange) !important; }
body.ts-2026 .appoint-section { background: var(--ts-sage); border-radius: var(--ts-radius); }

/* back-to-top from parent */
body.ts-2026 #move-to-top { background: var(--ts-ink) !important; color: var(--ts-cream) !important; border-radius: 50% !important; width: 48px; height: 48px; line-height: 48px; }

/* ---------- Reveal motion ---------- */
.ts-js .ts-reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ts-ease), transform .9s var(--ts-ease); }
.ts-js .ts-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.ts-js .ts-reveal { opacity: 1; transform: none; transition: none; }
	.ts-spark { animation: none; }
	html { scroll-behavior: auto; }
}
/* legacy wow.js elements stay visible */
body.ts-2026 .opacit_ { opacity: 1; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1200px) {
	.ts-header__cta .ts-btn--ghost { display: none !important; }
	.ts-footer__grid { grid-template-columns: 1fr 1fr 1fr; }
	.ts-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 1024px) {
	.ts-hide-md { display: none !important; }
	.ts-header__cta { display: none; }
	body.ts-2026 #secondary-navigation .navigation > ul > li > a { padding: 10px 10px !important; font-size: 14.5px !important; }
	.ts-hero__card { grid-template-columns: 1fr; }
	.ts-hero__media { max-width: 520px; width: 100%; margin: 0 auto; }
	.ts-hero__media video, .ts-hero__media img { aspect-ratio: 16 / 11; border-radius: var(--ts-radius); }
}

@media (max-width: 865px) {
	body.admin-bar.ts-2026 #site-header.ts-header { top: 0; }
	.ts-hide-sm { display: none !important; }
	.ts-topbar__inner { justify-content: center; }
	.ts-topbar__social { display: none; }
	body.ts-2026 #header.ts-header__inner { min-height: 70px; justify-content: space-between; gap: 12px; padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 auto !important; }
	body.ts-2026 .ts-logo { text-align: left !important; }
	body.ts-2026 .ts-logo img { height: 46px; max-width: 200px; float: none; }

	body.ts-2026 #secondary-navigation.ts-nav { flex: 0 0 auto; width: auto !important; position: static !important; justify-content: flex-end; }
	body.ts-2026 a#pull.toggle-mobile-menu {
		display: inline-flex !important;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 50px !important;
		height: 50px;
		margin: 0 !important;
		padding: 0 14px !important;
		box-sizing: border-box;
		border-radius: 50%;
		background: var(--ts-ink) !important;
		color: var(--ts-cream) !important;
	}
	body.ts-2026 a#pull:after { display: none; }
	body.ts-2026 a#pull span { display: block; height: 2px; width: 100%; background: var(--ts-cream); border-radius: 2px; }
	body.ts-2026 a#pull em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

	body.ts-2026 .navigation.mobile-menu-wrapper {
		background: var(--ts-ink) !important;
		width: 300px !important;
		padding: 28px 18px !important;
		border: 0 !important;
	}
	body.ts-2026 #secondary-navigation .navigation.mobile-menu-wrapper ul.menu { display: block !important; text-align: left; }
	body.ts-2026 #secondary-navigation .mobile-menu-wrapper a {
		color: var(--ts-cream) !important;
		font-size: 18px !important;
		text-indent: 0 !important;
		border-bottom: 1px solid rgba(234,226,206,.12) !important;
		border-radius: 0;
		padding: 14px 6px !important;
	}
	body.ts-2026 #secondary-navigation .mobile-menu-wrapper ul ul {
		background: transparent !important; border: 0 !important; box-shadow: none; padding: 0 0 0 12px !important; width: 100%;
	}
	body.ts-2026 #secondary-navigation .mobile-menu-wrapper ul ul a { font-size: 16px !important; opacity: .85; }
	body.ts-2026 #secondary-navigation .mobile-menu-wrapper ul ul li:hover > a { background: transparent !important; color: var(--ts-mustard) !important; }
	body.ts-2026 #mobile-menu-overlay { background: rgba(45,45,45,.55); }

	.ts-hero { padding-top: 14px; }
	.ts-hero__card { border-radius: var(--ts-radius); }
	.ts-hero__actions .ts-btn { flex: 1 1 100%; }
	.ts-spark--a { left: -12px; width: 52px; }

	.ts-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 22px var(--ts-gutter) 6px; }
	.ts-quick__btn {
		display: flex; align-items: center; justify-content: center; gap: 8px;
		padding: 16px 12px;
		border-radius: 18px;
		font-weight: 600;
		font-size: 14.5px;
		text-align: center;
		color: var(--ts-ink) !important;
		text-decoration: none !important;
		line-height: 1.2;
	}
	.ts-quick__btn:first-child { grid-column: 1 / -1; font-size: 17px; }

	.ts-split, .ts-book__card { grid-template-columns: 1fr; }
	.ts-feature--flip .ts-split__media { order: 0; }
	.ts-frame, .ts-feature--flip .ts-frame { box-shadow: 8px 8px 0 var(--ts-ink); border-radius: var(--ts-radius); }
	.ts-blob { box-shadow: 10px 10px 0 var(--ts-sage); }
	.ts-sticker { width: 100px; height: 100px; font-size: 18px; }
	.ts-sticker b { font-size: 28px; }
	.ts-cards { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ts-card__label { font-size: 16px; padding: 12px 14px; left: 8px; right: 8px; bottom: 8px; border-radius: 14px; }
	.ts-footer__grid { grid-template-columns: 1fr; gap: 28px; }
	.ts-footer__bar .ts-wrap { flex-direction: column; text-align: center; }
	.ts-cta__actions .ts-btn { flex: 1 1 100%; }
}
@media (max-width: 480px) {
	.ts-cards { grid-template-columns: 1fr 1fr; }
	.ts-card { aspect-ratio: 4 / 5; }
	.ts-topbar { font-size: 12.5px; }
	.ts-topbar__info { gap: 4px 16px; justify-content: center; }
}
