/* integrative-medicine.org theme (2026-09 redesign, "Clinic" direction)
   Loaded after tailwind.min.css and after each page's inline <style>.
   Re-skins the existing Tailwind markup: fonts, palette, flat panels instead of
   gradients, borders instead of shadows, duotone icons (--ic1 stroke, --ic2 fill). */

:root{
  --primary:#3B2A52; --primary-light:#5B4778; --primary-dark:#2B1E3D;
  --secondary:#F3F1F6; --accent:#E9E3F1; --accent-warm:#D6CCE3;
  --line:#E2DEE8; --muted:#6E6879; --text:#26212E; --bg:#FBFAFC;
  --ic1:var(--primary); --ic2:var(--accent);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Albert Sans","Helvetica Neue",Arial,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans)!important;color:var(--text);background:var(--bg)!important;-webkit-font-smoothing:antialiased;line-height:1.55}
body.bg-secondary,body.bg-white{background:var(--bg)!important}

/* ---------- type ---------- */
h1,h2,.font-serif{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.01em;color:var(--primary)}
h1{text-wrap:balance;line-height:1.06!important}
h2{text-wrap:balance;line-height:1.12!important}
h3{font-family:var(--sans);font-weight:600;color:var(--primary)}
h3.text-2xl,h3.text-3xl,h3.text-4xl{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.01em}
h4,h5,h6{font-weight:600;color:var(--primary)}
h1.text-5xl,h1.text-6xl,h1.lg\:text-6xl{font-size:clamp(38px,4.4vw,56px)!important}
h2.text-4xl,h2.text-5xl{font-size:clamp(30px,3.4vw,40px)!important}
.text-gray-900{color:var(--primary)!important}
.text-gray-800,.text-gray-700{color:var(--text)!important}
.text-gray-600,.text-gray-500{color:var(--muted)!important}
p{color:inherit}
.font-bold.text-primary,.font-semibold.text-primary{color:var(--primary)!important}
/* eyebrows */
.uppercase.tracking-wider,.uppercase.tracking-wide,.uppercase.tracking-widest{font-size:12px!important;letter-spacing:.12em!important;font-weight:600;color:var(--muted)!important;font-family:var(--sans)}
a{transition:color .15s}

/* ---------- palette normalisation (kills rainbow tiles) ---------- */
.bg-purple-100,.bg-purple-50,.bg-blue-50,.bg-blue-100,.bg-green-50,.bg-green-100,.bg-orange-50,.bg-orange-100,.bg-red-50,.bg-red-100,
.bg-yellow-50,.bg-yellow-100,.bg-pink-100,.bg-indigo-100,.bg-teal-100,.bg-amber-100,.bg-emerald-100,.bg-primary\/10,.bg-primary\/5,.bg-primary\/20,
.bg-accent,.bg-accent\/10,.bg-accent\/20,.bg-accent-warm,.bg-green-200,.bg-yellow-200,.bg-orange-200,.bg-red-200,.bg-purple-200,.bg-purple-300,.bg-blue-200,
.bg-white\/10,.bg-white\/20,.bg-white\/30{background-color:var(--accent)!important;background-image:none!important}
.bg-gray-50,.bg-gray-100,.bg-secondary{background-color:var(--secondary)!important}
.bg-green-600,.bg-blue-600,.bg-gray-700,.bg-gray-800,.bg-purple-600,.bg-purple-700,.bg-primary-light{background-color:var(--primary)!important;color:#fff}
.text-blue-600,.text-green-600,.text-orange-600,.text-red-600,.text-green-800,.text-yellow-800,.text-orange-800,.text-red-800,
.text-purple-900,.text-purple-600,.text-purple-700,.text-purple-800,.text-indigo-600,.text-primary-light,.text-primary-dark,.text-accent-warm{color:var(--primary)!important}
.text-accent{color:var(--muted)!important}
[class*="bg-gradient"]{background-image:none!important;background-color:#fff}
.border-purple-100,.border-purple-200,.border-gray-100,.border-gray-200,.border-gray-300{border-color:var(--line)!important}
.bg-gray-900{background-color:#fff!important;color:var(--text)}

/* ---------- geometry: flat, bordered, square ---------- */
.rounded-2xl,.rounded-3xl,.rounded-xl,.rounded-lg,.rounded-r-2xl,.rounded-r-xl,.rounded-l-2xl,.rounded-md{border-radius:0!important}
a.rounded-lg,a.rounded-xl,a.rounded-2xl,a.rounded-full,button.rounded-lg,button.rounded-xl,button.rounded-full,input.rounded-lg,input.rounded-xl,input.rounded-full,select.rounded-lg,textarea.rounded-lg,textarea.rounded-xl,
.rounded-lg[type="submit"]{border-radius:6px!important}
.shadow,.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl,.hover\:shadow-lg:hover,.hover\:shadow-xl:hover,.hover\:shadow-2xl:hover{box-shadow:none!important}
div.shadow,div.shadow-sm,div.shadow-md,div.shadow-lg,div.shadow-xl,div.shadow-2xl,article.shadow-lg,article.shadow-xl,img.shadow-lg,img.shadow-xl,img.shadow-2xl,a.block.shadow-lg,a.clickable-card{border:1px solid var(--line)}
a.clickable-card>div.shadow-lg,a.clickable-card>div.shadow-md,a.clickable-card>div.shadow-xl{border:0}
.card-hover{transition:border-color .2s,background .2s!important}
.card-hover:hover{transform:none!important;box-shadow:none!important;border-color:var(--primary)!important}
.animate-fade-up{opacity:1!important;transform:none!important;animation:none!important}
section.bg-secondary{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.bg-secondary+section.bg-secondary{border-top:0}
.bg-white.rounded-2xl,.bg-white.rounded-xl,.bg-white.rounded-3xl{border:1px solid var(--line)}
.backdrop-blur-sm,.backdrop-blur-md{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* ---------- buttons ---------- */
.bg-primary{background-color:var(--primary)!important}
.bg-primary-dark{background-color:var(--primary-dark)!important}
.hover\:bg-primary-dark:hover,.hover\:bg-primary-light:hover{background-color:var(--primary-light)!important}
a.bg-primary,button.bg-primary,a.bg-primary-dark,button.bg-primary-dark{color:#fff!important;font-weight:600;border:1px solid transparent}
a.bg-white.text-primary,button.bg-white.text-primary{border:1px solid var(--line)!important;font-weight:600}
a.bg-white.text-primary:hover,button.bg-white.text-primary:hover{background-color:var(--accent)!important;color:var(--primary)!important}
.hover\:bg-accent:hover{background-color:var(--accent)!important}
.hover\:text-primary:hover{color:var(--primary)!important}

/* ---------- hero bands: light panel instead of purple gradient ---------- */
.hero-gradient{background:var(--secondary)!important;background-image:none!important;color:var(--text)!important;border-bottom:1px solid var(--line)}
.hero-gradient .text-white{color:var(--primary)!important}
.hero-gradient p.text-white,.hero-gradient .text-white\/90,.hero-gradient .text-white\/80,.hero-gradient .text-white\/70,.hero-gradient .text-purple-100,.hero-gradient .text-purple-200,.hero-gradient .text-accent,.hero-gradient p{color:var(--muted)!important}
.hero-gradient p.text-white.font-semibold,.hero-gradient .text-white.font-medium{color:var(--text)!important}
.hero-gradient .border-white{border-color:var(--primary)!important}
.hero-gradient .bg-primary-dark.text-white,.hero-gradient .bg-primary.text-white,.hero-gradient .bg-primary-dark .text-white,.hero-gradient a.bg-primary-dark,.hero-gradient a.bg-primary{color:#fff!important}
.hero-gradient .hover\:bg-white:hover{background-color:var(--primary)!important;color:#fff!important}
.hero-gradient .bg-white\/10,.hero-gradient .bg-white\/20,.hero-gradient .bg-white\/5{background-color:#fff!important;border:1px solid var(--line)}
.hero-gradient .bg-white\/10 p,.hero-gradient .bg-white\/20 p{color:var(--text)!important}
.hero-gradient .bg-black\/10{background:transparent!important}
.hero-gradient .border-white\/20,.hero-gradient .border-white\/30{border-color:var(--line)!important}
.hero-gradient .text-white.opacity-90,.hero-gradient .opacity-90{opacity:1!important}
.hero-gradient .bg-white\/40,.hero-gradient .bg-white\/60,.hero-gradient .hover\:bg-white\/60:hover{background-color:rgba(255,255,255,.94)!important}
.hero-gradient .bg-white\/40 svg{color:var(--primary)!important}
.hero-gradient .divide-white\/20>*{border-color:var(--line)!important}
.hero-gradient strong,.hero-gradient b{color:var(--primary)}

/* ---------- navigation ---------- */
nav[role="navigation"]{background:#fff!important;box-shadow:none!important;border-bottom:1px solid var(--line);backdrop-filter:none!important}
nav[role="navigation"] .im-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:17px;color:var(--primary);letter-spacing:-.01em;font-family:var(--sans)}
nav[role="navigation"] .im-brand svg{width:28px;height:28px;--ic2:var(--accent-warm)}
nav[role="navigation"] a.font-medium,nav[role="navigation"] button.font-medium{font-weight:500;color:var(--text)}
nav[role="navigation"] .dropdown-menu{border:1px solid var(--line)!important;box-shadow:none!important;border-radius:0!important}
nav[role="navigation"] .hover\:bg-purple-50:hover{background:var(--secondary)!important}
nav[role="navigation"] a.bg-primary{border-radius:6px!important;padding:9px 16px!important;color:#fff!important}
#mobile-menu{border-top:1px solid var(--line)}

/* ---------- footer ---------- */
footer[role="contentinfo"]{background:#fff!important;color:var(--muted)!important;border-top:1px solid var(--line);font-size:14px}
footer[role="contentinfo"] h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:12px}
footer[role="contentinfo"] .text-gray-400,footer[role="contentinfo"] .text-gray-500{color:var(--muted)!important}
footer[role="contentinfo"] a:hover{color:var(--primary)!important}
footer[role="contentinfo"] .border-gray-800{border-color:var(--line)!important}
footer[role="contentinfo"] .im-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:17px;color:var(--primary);font-family:var(--sans)}
footer[role="contentinfo"] .im-brand svg{width:28px;height:28px;--ic2:var(--accent-warm)}

/* ---------- duotone icons ---------- */
.im-ic{width:44px;height:44px;display:block;margin:0 0 14px;flex:none}
.im-ic-center{margin-left:auto;margin-right:auto}
.im-ic-inline{margin:0 14px 0 0;width:36px;height:36px}
.im-ic-sm{width:22px;height:22px;margin:0 10px 0 0}
/* legacy heroicons that were not swapped: plum on lilac square */
div[class*="rounded"] > svg[stroke],div[class*="rounded"] > svg[fill="none"]{color:var(--primary)!important;stroke:currentColor}
.w-12.h-12>svg,.w-14.h-14>svg,.w-16.h-16>svg,.w-20.h-20>svg{color:var(--primary)!important}
.hero-gradient .w-16.h-16.rounded-full,.hero-gradient .w-20.h-20.rounded-full{background:var(--accent)!important}
/* numbered badges */
div.rounded-full.font-bold,div.rounded-xl.font-bold,.rounded-full>span.font-bold{font-family:var(--serif);font-weight:400!important;color:var(--primary)!important;font-size:1.35rem}

/* ---------- forms ---------- */
input[type="email"],input[type="text"],textarea,select{border:1px solid var(--line)!important;background:#fff;font-family:inherit}
input:focus,textarea:focus,select:focus{outline:2px solid var(--primary)!important;outline-offset:1px;box-shadow:none!important;border-color:var(--primary)!important}
.form-input:focus{box-shadow:none!important}

/* ---------- home-specific ---------- */
.im-band{background:var(--primary)!important;color:#fff;border:0!important}
.im-band h2,.im-band .text-white,.im-band p{color:#fff!important}
.im-band p.text-purple-100,.im-band .text-white\/80,.im-band .text-white\/70,.im-band small{color:#CDC2DC!important}
.im-band input{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.35)!important;color:#fff}
.im-band input::placeholder{color:#B7A9CB}
.im-band input:focus{outline-color:#fff!important}
.im-band button,.im-band a.bg-white,.im-band button.bg-white{background:#fff!important;color:var(--primary)!important;border:1px solid #fff!important}
.im-band button:hover{background:var(--accent)!important}
.im-band .rounded-lg,.im-band .rounded-xl{border-radius:6px!important}
.im-band .bg-white\/10,.im-band .bg-white\/20,.im-band .bg-primary-dark{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.2)}
.ig-tile{border-radius:0!important;border:1px solid var(--line);background:var(--accent)!important}
.ig-tile:hover{transform:none!important;box-shadow:none!important}
.im-story{background:#fff;border:1px solid var(--line);border-top:0;padding:22px 26px 20px;font-size:15px;color:var(--text)}
.im-story p{margin:0 0 10px;color:var(--text)!important}
.im-story .im-more{color:var(--muted)!important}
.im-trust{display:flex;gap:28px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.im-trust b{display:block;font-family:var(--serif);font-size:26px;color:var(--primary);font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}
.im-video{position:relative;background:#fff;border:1px solid var(--line);padding:8px}
.im-video video,.im-video img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* hero primary CTA: the first white button becomes the plum primary */
.hero-gradient a.bg-white.text-primary,.hero-gradient button.bg-white.text-primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
.hero-gradient a.bg-white.text-primary:hover,.hero-gradient button.bg-white.text-primary:hover{background:var(--primary-light)!important;color:#fff!important}
.hero-gradient a.bg-white.text-primary svg{color:#fff!important}
.im-footer-grid{display:grid;grid-template-columns:5fr 2fr 2fr 3fr;gap:40px}
@media (max-width:900px){.im-footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.im-footer-grid{grid-template-columns:1fr}}
/* big bold numbers / stat labels */
div.text-3xl.font-bold,div.text-4xl.font-bold,div.text-5xl.font-bold,p.text-3xl.font-bold,p.text-4xl.font-bold,span.text-3xl.font-bold,span.text-4xl.font-bold{font-family:var(--serif);font-weight:400!important;color:var(--primary)!important;letter-spacing:-.01em}
.im-band.hero-gradient{background:var(--primary)!important;color:#fff!important;border-bottom:0}
.im-band.hero-gradient h2,.im-band.hero-gradient .text-white{color:#fff!important}
.im-band.hero-gradient p,.im-band.hero-gradient .text-white\/80,.im-band.hero-gradient .text-purple-100{color:#CDC2DC!important}
.im-band.hero-gradient button.bg-white,.im-band.hero-gradient button[type="submit"]{background:#fff!important;color:var(--primary)!important;border:1px solid #fff!important}
.im-band.hero-gradient button:hover{background:var(--accent)!important}
/* gradient panels: light tints become the lilac panel, dark (from-purple-600 / to-blue-600) become flat plum bands */
[class*="bg-gradient"]{background-image:none!important;background-color:var(--secondary)!important;border:1px solid var(--line)}
[class*="from-purple-6"],[class*="from-purple-7"],[class*="from-purple-8"],[class*="from-primary"]:not([class*="from-primary/"]),[class*="to-blue-6"],[class*="to-purple-8"]{background-color:var(--primary)!important;color:#fff;border:0}
[class*="from-purple-6"] h2,[class*="from-purple-6"] h3,[class*="from-purple-6"] h4,[class*="from-purple-6"] .text-white,[class*="from-purple-6"] p,[class*="to-purple-8"] h2,[class*="to-purple-8"] h3,[class*="to-purple-8"] p,[class*="to-purple-8"] .text-white{color:#fff!important}
[class*="from-purple-6"] .text-purple-100,[class*="from-purple-6"] .text-purple-200,[class*="from-purple-6"] .text-white\/90,[class*="from-purple-6"] .text-white\/80,[class*="to-purple-8"] .text-purple-100,[class*="to-purple-8"] .text-white\/90{color:#CDC2DC!important}
[class*="from-purple-6"] a.bg-white,[class*="to-purple-8"] a.bg-white{background:#fff!important;color:var(--primary)!important;border-color:#fff!important}
[class*="from-purple-6"] .bg-white\/10,[class*="from-purple-6"] .bg-white\/20,[class*="to-purple-8"] .bg-white\/10,[class*="to-purple-8"] .bg-white\/20{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.2)}
.text-purple-100,.text-purple-200,.text-purple-300{color:var(--muted)!important}
/* semantic colours flattened */
.text-red-500,.text-red-600,.text-red-700,.text-green-500,.text-green-600,.text-green-700,.text-green-900,.text-blue-500,.text-blue-700,.text-orange-500{color:var(--text)!important}
.bg-primary-dark{background-color:var(--primary)!important}
/* legacy heroicon tiles: drop the tile, show the icon bare and larger */
div[class*="w-1"]:has(> svg[stroke]),div.w-20:has(> svg[stroke]){background:transparent!important;border:0!important;border-radius:0!important;width:auto;height:auto;min-height:44px}
div[class*="w-1"]:has(> svg[stroke]) > svg,div.w-20:has(> svg[stroke]) > svg{width:40px;height:40px}
div[class*="w-1"].mx-auto:has(> svg[stroke]){justify-content:center}
div[class*="w-1"]:has(> svg):not([class*="bg-white/"]),div.w-20:has(> svg):not([class*="bg-white/"]){background:transparent!important;border:0!important;border-radius:0!important;width:auto;height:auto;min-height:44px}
div[class*="w-1"]:has(> svg):not([class*="bg-white/"]) > svg,div.w-20:has(> svg):not([class*="bg-white/"]) > svg{width:40px;height:40px;color:var(--primary)!important}
[class*="border-green"],[class*="border-blue"],[class*="border-red"],[class*="border-yellow"],[class*="border-orange"],[class*="border-pink"],[class*="border-indigo"],[class*="border-teal"],[class*="border-purple"],[class*="border-amber"]{border-color:var(--line)!important}
/* hero video: play control sits bottom-left, translucent, off the face */
#video-play-overlay{align-items:flex-start!important;justify-content:flex-start!important;padding:16px;background:linear-gradient(to bottom,rgba(27,18,38,.35),transparent 40%)!important}
.im-play{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:999px;background:rgba(27,18,38,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.28);transition:background .2s,transform .2s}
#video-play-overlay:hover .im-play{background:rgba(27,18,38,.75);transform:translateY(-1px)}
.im-play svg{width:34px;height:34px;flex:none;fill:var(--primary);background:rgba(255,255,255,.92);border-radius:50%;padding:8px;box-sizing:border-box}
.im-play span{font-size:14px;font-weight:600;line-height:1.15;display:flex;flex-direction:column;gap:2px;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.im-play small{font-size:12px;font-weight:400;color:rgba(255,255,255,.8)}
