/* Selected brand direction: Forest + apple. Colour roles shared by every page. */
:root{
  --medi-forest:#153e35;
  --medi-forest-hover:#244f43;
  --medi-apple:#c9ea84;
  --medi-apple-hover:#d7f0a8;
  --medi-apple-soft:#ecf4dd;
  --medi-paper:#fafaf4;
  --medi-white:#fffefa;
  --medi-soft:#e6eddf;
  --medi-line:#cfdaca;
  --medi-muted:#526a5f;
  --medi-leaf:#a8d164;
  --medi-positive:#47723f;
}
body:not(.brand-preview){
  --ink:var(--medi-forest);--muted:var(--medi-muted);--paper:var(--medi-paper);
  --line:var(--medi-line);--soft:var(--medi-soft);--green:var(--medi-forest-hover);--lime:var(--medi-apple);
  background:var(--medi-paper);color:var(--medi-forest);
}
body:not(.brand-preview) .suite-page{--suite-ink:var(--medi-forest);--suite-muted:var(--medi-muted);--suite-border:var(--medi-line)}
body.subpage:not(.brand-preview){--product-sage:var(--medi-soft);--product-paper:var(--medi-white);--product-muted:var(--medi-muted)}
body:not(.brand-preview) :is(.integration-experience,.blog-experience){--ip-muted:var(--medi-muted);--ip-line:var(--medi-line);--ip-green:var(--medi-apple)}
body:not(.brand-preview) ::selection{background:var(--medi-apple);color:var(--medi-forest)}

/* Apple marks an action. Reading surfaces and secondary controls stay quieter. */
body:not(.brand-preview) :is(.button-dark,.button-white,.header-cta,.hero-start),
body:not(.brand-preview) .site-header .header-cta,
body:not(.brand-preview) .medi-footer .footer-demo{
  background:var(--medi-apple);border:1px solid var(--medi-apple);color:var(--medi-forest);
}
body:not(.brand-preview) :is(.button-dark,.button-white,.header-cta,.hero-start):hover,
body:not(.brand-preview) .site-header .header-cta:hover,
body:not(.brand-preview) .medi-footer .footer-demo:hover{
  background:var(--medi-apple-hover);border-color:var(--medi-apple-hover);color:var(--medi-forest);
}
body:not(.brand-preview) .button-outline{border-color:var(--medi-line);color:var(--medi-forest)}
body:not(.brand-preview) .button-outline:hover{background:var(--medi-soft);border-color:#a1b59d}
body:not(.brand-preview) :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--medi-forest);outline-offset:4px}
body:not(.brand-preview) :is(.hero-frame,.medi-footer) :is(button,a):focus-visible{outline-color:var(--medi-apple)}

/* Navigation retains the floating shape and hover behaviour. */
body:not(.brand-preview) .site-header.scrolled,
body.subpage:not(.brand-preview) .site-header{background:#fafaf4f2;border-color:var(--medi-line);color:var(--medi-forest)}
body:not(.brand-preview) .site-header :is(.nav-popover,.platform-popover,.specialty-popover),
body:not(.brand-preview) .mobile-nav{background:#fafaf4f7;border-color:var(--medi-line);color:var(--medi-forest)}
body:not(.brand-preview) .site-header .platform-menu-foundations>a,
body:not(.brand-preview) .site-header .specialty-menu-all{background:var(--medi-soft);color:var(--medi-forest)}
body:not(.brand-preview) .site-header :is(.platform-menu-foundations,.platform-menu-products)>a:hover,
body:not(.brand-preview) .site-header .specialty-popover>div>a:hover{background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .site-header .platform-menu-icon{background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .site-header .nav-popover small{color:var(--medi-muted)}

/* A cool blue wash adds depth while preserving the hero footage. */
body.homepage .hero-frame{background:#142d43}
body.homepage .hero-shade{background:linear-gradient(180deg,rgba(137,186,219,.22) 0%,rgba(27,62,91,.46) 42%,rgba(12,30,49,.70) 100%),linear-gradient(90deg,rgba(106,166,207,.10),transparent 65%)}
body.homepage .hero-copy .live-dot{background:var(--medi-apple);box-shadow:0 0 0 4px #c9ea841a}
body.homepage .hero-metrics .task-check{background:#c9ea8426;color:var(--medi-apple)}
body.homepage .hero-demo{color:var(--medi-paper);border-color:#fafaf499;background:transparent}
body.homepage .hero-demo:hover{background:#fafaf41a;border-color:var(--medi-paper)}

/* A quiet map surface keeps coverage integrated with the rest of the page. */
body:not(.brand-preview) .canada-story.coverage-v3{background:#f0f3ea;color:var(--medi-forest);border:1px solid var(--medi-line)}
body:not(.brand-preview) .coverage-v3 .canada-copy h2,
body:not(.brand-preview) .coverage-v3 .canada-copy h2 em,
body:not(.brand-preview) .coverage-v3 .coverage-count,
body:not(.brand-preview) .coverage-v3 .coverage-count [data-counter-digits]{color:var(--medi-forest)}
body:not(.brand-preview) .coverage-v3 .eyebrow,
body:not(.brand-preview) .coverage-v3 .canada-number>span,
body:not(.brand-preview) .coverage-v3 .canada-copy .coverage-source{color:var(--medi-muted)}
body:not(.brand-preview) .coverage-v3 .arrow-link{color:var(--medi-forest);border-color:var(--medi-line)}
body:not(.brand-preview) .coverage-province{fill:#e2e8dc;stroke:#f9fbf4}
body:not(.brand-preview) .coverage-province.is-covered{fill:#b9cfab}
body:not(.brand-preview) .coverage-marker circle{fill:var(--medi-white);stroke:#739065}
body:not(.brand-preview) :is(.coverage-legend,.coverage-province-list li){color:var(--medi-muted)}
body:not(.brand-preview) .coverage-legend i{background:#92ad80}

/* Soft surfaces carry long-form content; accent colour is not used as body text. */
body:not(.brand-preview) :is(.story-quote,.case-card,.customer-feature-quote,.customer-voice-card.tone-1,.company-manifesto,.privacy-data-flow){background:var(--medi-soft);border-color:var(--medi-line)}
body:not(.brand-preview) :is(.customer-voice-card.tone-2,.customer-voice-card.tone-3){background:#f0f3e9}
body:not(.brand-preview) :is(.story-outcome strong,.compare-clinic-result strong){color:var(--medi-forest)}
body:not(.brand-preview) .story-outcome{border-color:var(--medi-line)}
body:not(.brand-preview) .compare-volume-bar{background:var(--medi-soft)}
body:not(.brand-preview) .compare-volume-bar>span{background:var(--medi-leaf)}
body:not(.brand-preview) :is(.system-card,.suite-product-card,.product-link-card,.solution-tile,.customer-film-card,.customer-voice-card,.why-voices article,.trust-document-card){background:var(--medi-white);border-color:var(--medi-line)}
body:not(.brand-preview) :is(.suite-link-card,.product-process li,.trust-frameworks article){background:#f0f4e9;border-color:var(--medi-line)}
body:not(.brand-preview) :is(.suite-link-card,.product-link-card):hover{background:var(--medi-apple-soft)}
body:not(.brand-preview) :is(.system-connection-tag,.capability-mark,.tile-result){background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) :is(.compliance-gallery>div,.pia-report-badge){background:var(--medi-white);border-color:var(--medi-line)}
body:not(.brand-preview) .suite-product-art.voice{background:var(--medi-soft)}
body:not(.brand-preview) .suite-product-art.message{background:#e6eeea}
body:not(.brand-preview) .suite-product-art.message>span+span,
body:not(.brand-preview) .suite-product-art.outreach span:last-child{background:var(--medi-apple-soft);color:var(--medi-forest)}

/* Preview windows stay light and legible over the supplied gradient artwork. */
body:not(.brand-preview) :is(.inbound-window,.outbound-window,.messaging-window,.sms-demo,.suite-channel-preview,.suite-map-tasks,.tile-ui,.juv-window){background:var(--medi-white);color:var(--medi-forest)}
body:not(.brand-preview) .outbound-window{--outbound-success:var(--medi-apple);--outbound-accent:var(--medi-apple);--outbound-pale:var(--medi-apple-soft);--outbound-ink:var(--medi-forest)}
body:not(.brand-preview) .messaging-window{--message-success:var(--medi-apple)}
body:not(.brand-preview) .inbound-check{color:var(--medi-apple)}
body:not(.brand-preview) .inbound-check path{stroke:var(--medi-forest)}
body:not(.brand-preview) .inbound-spinner{border-color:#e1e8d8;border-top-color:var(--medi-apple);border-right-color:var(--medi-apple)}
body:not(.brand-preview) .inbound-archive{background:linear-gradient(90deg,var(--medi-apple),#e3f1c9);color:var(--medi-forest);box-shadow:none}
body:not(.brand-preview) .inbound-task-slot[data-state=done] .inbound-task-content{background:var(--medi-apple-soft)}
body:not(.brand-preview) .inbound-task-slot[data-state=done] :is(.inbound-task-title,.inbound-task-status){color:var(--medi-muted)}
body:not(.brand-preview) .outbound-assigned{background:var(--medi-apple);color:var(--medi-forest)}
body:not(.brand-preview) .outbound-plan-row>small{background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .messaging-bubble:not(.patient){background:#e0efc4}
body:not(.brand-preview) .messaging-bubble:not(.patient) p,
body:not(.brand-preview) :is(.messaging-sender,.messaging-guide,.messaging-confirm-icon){color:var(--medi-forest)}
body:not(.brand-preview) .messaging-channels .is-selected{background:var(--medi-apple);color:var(--medi-forest)}
body:not(.brand-preview) .messaging-wave i{background:var(--medi-leaf)}
body:not(.brand-preview) .messaging-wave i:nth-child(3n){background:var(--medi-apple)}
body:not(.brand-preview) :is(.suite-check,.juv-check){background:var(--medi-apple);color:var(--medi-forest)}
body:not(.brand-preview) :is(.juv-progress i,.juv-phase-track i.active){background:var(--medi-leaf)}
body:not(.brand-preview) :is(.suite-chat-row p,.juv-sms-bubble){background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .sms-workflow-browser{background:var(--medi-soft);border-color:var(--medi-line)}
body:not(.brand-preview) .sms-workflow-tabs{background:var(--medi-paper);border-color:var(--medi-line)}
body:not(.brand-preview) .sms-workflow-tabs button[aria-selected=true]{background:var(--medi-forest);border-color:var(--medi-forest);color:var(--medi-apple)}
body:not(.brand-preview) .sms-workflow-tabs button:hover:not([aria-selected=true]){background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .suite-page .sms-demo-message p{background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .suite-page .sms-demo-row.is-patient p{background:#e6eeea;color:var(--medi-forest)}
body:not(.brand-preview) :is(.sms-demo-outcome,.sms-demo-typing){background:var(--medi-apple-soft);color:var(--medi-forest)}
body:not(.brand-preview) .sms-demo-result-icon{background:var(--medi-positive);color:var(--medi-white)}
body:not(.brand-preview) .sms-demo-outcome.is-pending-review{background:var(--medi-soft);border-color:var(--medi-line)}
body:not(.brand-preview) .is-pending-review .sms-demo-result-icon{background:#d2dec9;color:var(--medi-forest)}
body:not(.brand-preview) .voice-orb-body,
body:not(.brand-preview) .voice-orb-body:after{box-shadow:none}
body:not(.brand-preview) .case-card .case-value{color:#fff}
body:not(.brand-preview) .clinic-selector button[aria-selected=true]{background:var(--medi-forest);border-color:var(--medi-forest);color:var(--medi-white)}
body:not(.brand-preview) .clinic-detail-stage{background:var(--medi-white);border-color:var(--medi-line)}

/* Textured green booking panel with accessible white copy. */
body:not(.brand-preview) .demo-invitation :is(h1,p,blockquote,figcaption){color:inherit}
body:not(.brand-preview) .demo-invitation{background:linear-gradient(110deg,#123e36b3,#123e365c),url('/site/assets/optimized/feature-messaging-background-ee1eaae45f18.webp') center/cover;color:#fffef7}
body:not(.brand-preview) .contact-card.booking-form-card{background:var(--medi-white);border-color:var(--medi-line)}
body:not(.brand-preview) .booking-form-card :is(input,select,textarea){background:#f1f4e9;border-color:var(--medi-line);color:var(--medi-forest)}
body:not(.brand-preview) :is(.why-hero,.trust-hub-hero) h1{color:var(--medi-forest)}
body:not(.brand-preview) :is(.why-hero,.trust-hub-hero) h1 em{color:var(--medi-forest-hover)}
body:not(.brand-preview) .company-heading h2 em{color:var(--medi-forest-hover)}
body:not(.brand-preview) .trust-seal{color:var(--medi-forest);background:var(--medi-white)}

/* The forest footer keeps a local matte behind the existing jumping bear. */
body:not(.brand-preview) .footer-hello{background:linear-gradient(100deg,var(--medi-forest) 20%,#2c5a4f 67%)}
body:not(.brand-preview) .footer-ground{background:var(--medi-forest);border-color:#c9ea8438}
body:not(.brand-preview) .footer-invitation h2,
body:not(.brand-preview) .footer-links h3{color:var(--medi-paper)}
body:not(.brand-preview) .footer-invitation>p,
body:not(.brand-preview) .footer-identity>p,
body:not(.brand-preview) .footer-links a{color:#d3dfd0}
body:not(.brand-preview) .footer-links a:hover,
body:not(.brand-preview) .footer-fineprint a:hover{color:var(--medi-apple)}
body:not(.brand-preview) .footer-fineprint{color:#c1d2c4;border-color:#c9ea842b}
@media(max-width:700px){body:not(.brand-preview) .footer-hello{background:linear-gradient(180deg,var(--medi-forest) 15%,#2c5a4f 65%)}}

/* Short, consistent entrances; scroll length and feature timelines stay unchanged. */
body:not(.brand-preview) .reveal{transition:opacity 680ms cubic-bezier(.22,1,.36,1),transform 850ms cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.js-motion body:not(.brand-preview) .reveal:not(.is-visible){opacity:0;transform:translateY(20px)}
.js-motion body:not(.brand-preview) .hero-copy>.reveal:not(.is-visible){transform:translateY(10px)}
/* Heavy media frames fade in without moving their video or map coordinate systems. */
body:not(.brand-preview) .reveal.reveal-still{transform:none!important;transition-property:opacity}
@media(prefers-reduced-motion:reduce){body:not(.brand-preview) .reveal{transition:none!important;transform:none!important;opacity:1!important}}

/* Decorative photograph behind a gradient. See the note in feature-motion.css. */
@media (max-width:760px){
body:not(.brand-preview) .demo-invitation{background-image:linear-gradient(110deg,#123e36b3,#123e365c),url('/site/assets/optimized/feature-messaging-background-ee1eaae45f18-960w.webp')}
}
