/*
 * Continuity Care 3.0 — The Living Care Thread
 * Final art-direction layer. Keep selectors scoped to public CCX surfaces.
 */
:root {
  --cc-cd-ink: #17352c;
  --cc-cd-ink-soft: #36564d;
  --cc-cd-eucalyptus: #236a55;
  --cc-cd-leaf: #68a56f;
  --cc-cd-mint: #cce3d2;
  --cc-cd-sky: #c9ddea;
  --cc-cd-sun: #e8b75b;
  --cc-cd-paper: #fbfaf5;
  --cc-cd-wash: #f0f5ef;
  --cc-cd-white: #fff;
  --cc-cd-line: rgba(35, 106, 85, .18);
  --cc-cd-shadow: 0 30px 80px rgba(26, 64, 52, .12);
  --cc-cd-shell: min(1320px, calc(100vw - 96px));
  --cc-cd-radius: 34px;
}

html { scroll-behavior: smooth; }
body.cc-site { color: var(--cc-cd-ink-soft); background: var(--cc-cd-paper); }
body.cc-site h1, body.cc-site h2, body.cc-site h3, body.cc-site h4,
body.cc-site .cc-home-page h1, body.cc-site .cc-home-page h2,
body.cc-site .cc-enterprise-page h1, body.cc-site .cc-about-page h1 {
  color: var(--cc-cd-ink); font-family: Manrope, Arial, sans-serif; text-wrap: balance;
}
body.cc-site p { text-wrap: pretty; }
body.cc-site :focus-visible { outline: 3px solid var(--cc-cd-sun) !important; outline-offset: 4px; }
body.cc-site ::selection { color: var(--cc-cd-ink); background: var(--cc-cd-mint); }

/* Header: quiet, editorial and unmistakably service-led. */
.cc-e-header { --header-height: 88px; }
.cc-e-utility { border: 0 !important; background: var(--cc-cd-ink) !important; }
.cc-e-utility-inner { min-height: 34px !important; }
.cc-e-utility-contact a, .cc-e-utility-tools, .cc-e-utility-tools a { color: rgba(255,255,255,.82) !important; }
.cc-e-utility-tools > span i { background: #a8d4ad !important; box-shadow: 0 0 0 4px rgba(168,212,173,.12); }
.cc-e-main { border-bottom: 1px solid rgba(23,53,44,.09) !important; background: rgba(251,250,245,.94) !important; backdrop-filter: blur(18px); }
.cc-e-main-inner { width: var(--cc-cd-shell) !important; min-height: var(--header-height) !important; }
.cc-e-brand-logo { max-height: 55px !important; filter: saturate(.92) contrast(1.03); }
.cc-e-nav-trigger, .cc-e-nav-link { color: var(--cc-cd-ink) !important; font-size: .75rem !important; letter-spacing: -.01em; }
.cc-e-nav-trigger::after, .cc-e-nav-link::after { height: 1px !important; background: var(--cc-cd-eucalyptus) !important; }
.cc-e-btn { min-height: 46px !important; border-radius: 999px !important; }
.cc-e-btn-primary { border-color: var(--cc-cd-eucalyptus) !important; background: var(--cc-cd-eucalyptus) !important; box-shadow: 0 10px 24px rgba(35,106,85,.16) !important; }
.cc-e-btn-primary:hover { transform: translateY(-2px); background: var(--cc-cd-ink) !important; }
.cc-e-btn-secondary { color: var(--cc-cd-eucalyptus) !important; border-color: rgba(35,106,85,.3) !important; background: transparent !important; }
.cc-e-mega { padding-top: 12px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.cc-e-mega-links { padding: 18px !important; border: 1px solid var(--cc-cd-line); border-radius: 22px !important; background: rgba(251,250,245,.98) !important; box-shadow: var(--cc-cd-shadow) !important; }
.cc-e-mega-links a { border-radius: 12px !important; color: var(--cc-cd-ink) !important; }
.cc-e-mega-links a:hover { padding-left: 18px !important; background: var(--cc-cd-wash) !important; }
.cc-header-thread { position: absolute; z-index: 20; right: 0; bottom: 0; left: 0; height: 2px; transform: scaleX(var(--cc-page-progress,0)); transform-origin: left; background: linear-gradient(90deg,var(--cc-cd-eucalyptus),var(--cc-cd-leaf),var(--cc-cd-sun)); }

/* Shared signature thread. */
.cc-care-thread { position: absolute; z-index: 1; right: -3%; bottom: -2%; width: 62%; height: 56%; pointer-events: none; opacity: .72; }
.cc-care-thread svg { width: 100%; height: 100%; overflow: visible; }
.cc-thread-halo, .cc-thread-line { fill: none; vector-effect: non-scaling-stroke; }
.cc-thread-halo { stroke: rgba(255,255,255,.54); stroke-width: 13; }
.cc-thread-line { stroke: url(#none); stroke: var(--cc-cd-eucalyptus); stroke-width: 2; stroke-dasharray: .04 .035; stroke-linecap: round; animation: cc-thread-travel 16s linear infinite; }
.cc-thread-nodes circle { fill: var(--cc-cd-paper); stroke: var(--cc-cd-eucalyptus); stroke-width: 3; vector-effect: non-scaling-stroke; animation: cc-thread-breathe 4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.cc-thread-nodes circle:nth-child(2) { animation-delay: -1s; }.cc-thread-nodes circle:nth-child(3) { animation-delay: -2s; }.cc-thread-nodes circle:nth-child(4) { animation-delay: -3s; }
.cc-care-thread-compact { right: -4%; bottom: -14%; width: 52%; height: 84%; opacity: .24; }
.cc-care-thread-compact .cc-thread-halo { stroke: rgba(255,255,255,.35); stroke-width: 8; }

/* Homepage hero: editorial composition with layered human focus. */
.cc-home-hero { isolation: isolate; min-height: min(900px, 92vh) !important; padding: 182px 0 154px !important; overflow: hidden; border-radius: 0 0 7vw 0 !important; background: var(--cc-cd-paper) !important; }
.cc-home-hero::before { content:""; position:absolute; z-index:-1; inset:0; background: linear-gradient(100deg,rgba(251,250,245,1) 0 51%,rgba(220,235,224,.56) 51% 100%); }
.cc-home-hero::after { content:""; position:absolute; z-index:-1; top:13%; right:7%; width:35vw; height:35vw; border:1px solid rgba(35,106,85,.12); border-radius:50%; box-shadow:0 0 0 70px rgba(35,106,85,.025),0 0 0 140px rgba(35,106,85,.018); }
.cc-home-hero-pattern, .cc-home-blob { display:none !important; }
.cc-home-hero-grid { position:relative; z-index:3; width:var(--cc-cd-shell) !important; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr) !important; gap:clamp(60px,7vw,120px) !important; }
.cc-home-hero-copy { max-width:700px; }
.cc-home-kicker { color:var(--cc-cd-eucalyptus) !important; font-size:.72rem !important; letter-spacing:.18em !important; }
.cc-home-hero-copy h1 { max-width:700px; margin:20px 0 26px !important; font-size:clamp(4.2rem,6.2vw,7.6rem) !important; font-weight:560 !important; line-height:.9 !important; letter-spacing:-.075em !important; }
.cc-home-hero-copy h1 span { display:block; color:var(--cc-cd-eucalyptus) !important; font-weight:730; }
.cc-home-lead { max-width:590px !important; color:var(--cc-cd-ink-soft) !important; font-size:clamp(1.05rem,1.25vw,1.28rem) !important; line-height:1.68 !important; }
.cc-home-actions { gap:12px !important; }
.cc-home-button { min-height:54px; padding:0 25px !important; border-radius:999px !important; }
.cc-home-button-primary { border-color:var(--cc-cd-eucalyptus) !important; background:var(--cc-cd-eucalyptus) !important; box-shadow:0 14px 30px rgba(35,106,85,.18) !important; }
.cc-home-button-primary:hover { transform:translateY(-3px) !important; background:var(--cc-cd-ink) !important; }
.cc-home-button-secondary { color:var(--cc-cd-ink) !important; border-color:rgba(23,53,44,.22) !important; background:rgba(255,255,255,.42) !important; }
.cc-home-mini-trust { margin-top:34px !important; padding-top:21px; border-top:1px solid var(--cc-cd-line); }
.cc-home-mini-trust span { color:var(--cc-cd-ink-soft) !important; font-size:.72rem !important; }
.cc-home-mini-trust i { background:var(--cc-cd-leaf) !important; }
.cc-premium-hero-media { position:relative; z-index:2; transform:translate3d(var(--cc-cd-x,0),var(--cc-cd-y,0),0); transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.cc-premium-hero-image { aspect-ratio:4/5 !important; clip-path:polygon(8% 0,100% 5%,94% 87%,71% 100%,0 92%,3% 18%) !important; border-radius:0 !important; box-shadow:var(--cc-cd-shadow) !important; }
.cc-premium-hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(16,48,38,.18)); pointer-events:none; }
.cc-premium-hero-image img { height:100% !important; object-fit:cover !important; object-position:center !important; }
.cc-premium-hero-media figcaption { right:auto !important; bottom:10% !important; left:-9% !important; max-width:250px; padding:19px 22px !important; border:1px solid rgba(255,255,255,.52); border-radius:2px 22px 22px 22px !important; background:rgba(251,250,245,.9) !important; box-shadow:0 24px 60px rgba(23,53,44,.16) !important; }
.cc-hero-care-note { position:absolute; z-index:5; top:8%; right:-4%; display:grid; gap:3px; padding:16px 18px 16px 46px; border-radius:999px 8px 8px 999px; background:var(--cc-cd-ink); color:#fff; box-shadow:0 18px 44px rgba(23,53,44,.2); }
.cc-hero-care-note::before { content:""; position:absolute; left:15px; top:50%; width:17px; height:17px; margin-top:-9px; border:2px solid var(--cc-cd-sun); border-radius:50%; box-shadow:0 0 0 5px rgba(232,183,91,.12); }
.cc-hero-care-note span { color:rgba(255,255,255,.64); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; }
.cc-hero-care-note strong { color:#fff; font-size:.72rem; }
.cc-home-view-switcher { z-index:6 !important; right:24px !important; }

/* Partner ribbon and trust: calm evidence instead of a logo wall. */
.cc-home-partner-strip { z-index:4 !important; width:var(--cc-cd-shell) !important; margin:84px auto -80px !important; padding:30px 38px 25px !important; border:1px solid rgba(35,106,85,.13); border-radius:2px 28px 28px 28px !important; background:rgba(255,255,255,.86) !important; box-shadow:0 24px 70px rgba(23,53,44,.09) !important; backdrop-filter:blur(18px); }
.cc-home-partner-ribbon { opacity:.35 !important; }
.cc-home-partner-heading h2 { max-width:460px; color:var(--cc-cd-ink) !important; font-size:1.18rem !important; letter-spacing:-.025em; }
.cc-home-partner-logo { filter:grayscale(1); opacity:.58; transition:filter .25s,opacity .25s,transform .25s; }
.cc-home-partner-logo:hover { filter:none; opacity:1; transform:translateY(-2px); }
.cc-home-wave { display:none !important; }
.cc-home-trust { padding:110px 0 90px !important; background:var(--cc-cd-paper) !important; }
.cc-home-trust-grid { width:var(--cc-cd-shell) !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.cc-home-trust article { position:relative; padding:25px 30px !important; border-left:1px solid var(--cc-cd-line) !important; }
.cc-home-trust article:last-child { border-right:1px solid var(--cc-cd-line) !important; }
.cc-home-trust article>span { background:transparent !important; color:var(--cc-cd-eucalyptus) !important; border:1px solid var(--cc-cd-line); }

/* Service discovery: an editorial image index, not a card grid. */
.cc-home-services { padding:142px 0 158px !important; border-radius:0 !important; background:var(--cc-cd-ink) !important; }
.cc-home-services::before { content:""; position:absolute; inset:0; opacity:.2; background:repeating-radial-gradient(ellipse at 10% 20%,transparent 0 55px,rgba(204,227,210,.22) 56px 57px); }
.cc-home-services .cc-home-shell { position:relative; z-index:2; width:var(--cc-cd-shell) !important; }
.cc-service-leaf { display:none !important; }
.cc-service-showcase-heading { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(280px,.48fr); align-items:end; column-gap:90px; max-width:none !important; margin:0 0 70px !important; }
.cc-service-showcase-heading .cc-home-kicker { grid-column:1/-1; color:var(--cc-cd-mint) !important; }
.cc-service-showcase-heading h2 { color:#fff !important; font-size:clamp(3.6rem,6vw,7rem) !important; font-weight:560 !important; line-height:.93 !important; letter-spacing:-.065em !important; }
.cc-service-showcase-heading h2 span { color:var(--cc-cd-mint) !important; }
.cc-service-showcase-heading>p:last-child { color:rgba(255,255,255,.66) !important; font-size:1rem !important; line-height:1.7 !important; }
.cc-service-showcase-grid { display:grid !important; grid-template-columns:repeat(12,1fr) !important; gap:20px !important; }
.cc-service-showcase-card { grid-column:span 4; min-width:0 !important; min-height:520px; overflow:hidden; border:1px solid rgba(255,255,255,.13) !important; border-radius:2px 30px 30px 30px !important; background:rgba(255,255,255,.055) !important; box-shadow:none !important; transform:none !important; }
.cc-service-showcase-card:nth-child(1),.cc-service-showcase-card:nth-child(6) { grid-column:span 8; display:grid; grid-template-columns:1.15fr .85fr; }
.cc-service-showcase-card:nth-child(1) .cc-service-showcase-media,.cc-service-showcase-card:nth-child(6) .cc-service-showcase-media { height:100% !important; min-height:520px; }
.cc-service-showcase-media { height:285px !important; overflow:hidden; border-radius:0 !important; }
.cc-service-showcase-media img { filter:saturate(.82) contrast(1.03); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s; }
.cc-service-showcase-card:hover .cc-service-showcase-media img { transform:scale(1.045); filter:saturate(1); }
.cc-service-showcase-content { padding:29px !important; }
.cc-service-showcase-content h3 { color:#fff !important; font-size:1.38rem !important; letter-spacing:-.035em !important; }
.cc-service-showcase-content p { color:rgba(255,255,255,.65) !important; font-size:.82rem !important; line-height:1.65 !important; }
.cc-service-showcase-content>a { color:var(--cc-cd-mint) !important; }
.cc-service-showcase-number { color:rgba(255,255,255,.42) !important; }
.cc-service-audience { display:block; margin:0 0 11px; color:var(--cc-cd-sun); font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }

/* Editorial story sections. */
.cc-home-why { padding:155px 0 !important; background:var(--cc-cd-paper) !important; }
.cc-home-why-grid { width:var(--cc-cd-shell) !important; grid-template-columns:minmax(520px,1.08fr) minmax(0,.92fr) !important; gap:clamp(65px,8vw,130px) !important; }
.cc-home-why-visual { border-radius:2px 80px 2px 80px !important; box-shadow:var(--cc-cd-shadow) !important; }
.cc-home-why-copy h2,.cc-home-section-heading h2,.cc-home-conversation h2 { font-size:clamp(3.2rem,5vw,6rem) !important; font-weight:560 !important; letter-spacing:-.065em !important; }
.cc-home-why-copy h2 span,.cc-home-section-heading h2 span { color:var(--cc-cd-eucalyptus) !important; background:none !important; }
.cc-home-why-list article { grid-template-columns:52px 1fr !important; padding:19px 0 !important; border-radius:0 !important; border-top:1px solid var(--cc-cd-line); }
.cc-home-why-list article:hover { transform:translateX(7px) !important; background:transparent !important; }
.cc-home-why-list article>b { border:1px solid var(--cc-cd-line); background:transparent !important; }
.cc-home-impact { padding:145px 0 !important; border-radius:0 8vw 0 0 !important; background:#244f43 !important; }
.cc-home-impact .cc-home-shell,.cc-home-journey .cc-home-shell,.cc-home-experience .cc-home-shell,.cc-home-conversation .cc-home-shell { width:var(--cc-cd-shell) !important; }
.cc-home-impact-grid { border:0 !important; border-radius:0 !important; background:transparent !important; backdrop-filter:none !important; }
.cc-home-impact-grid article { padding:40px 34px !important; border-top:1px solid rgba(255,255,255,.22); border-left:0 !important; }
.cc-home-impact-grid strong { color:#fff !important; font-weight:530; }
.cc-home-journey { padding:155px 0 !important; border-radius:0 !important; background:var(--cc-cd-wash) !important; }
.cc-home-ripples { opacity:.18 !important; }
.cc-home-journey-film { border:0 !important; border-radius:80px 2px 80px 2px !important; box-shadow:var(--cc-cd-shadow) !important; }
.cc-home-journey-steps { gap:0 !important; margin-top:50px !important; }
.cc-home-journey-steps::before { top:24px !important; height:1px !important; opacity:1 !important; background:var(--cc-cd-line) !important; }
.cc-home-journey-steps article { min-height:0 !important; padding:0 28px !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; }
.cc-home-journey-steps article:hover { transform:translateY(-4px) !important; box-shadow:none !important; }
.cc-home-journey-steps b { border:5px solid var(--cc-cd-wash); background:var(--cc-cd-eucalyptus) !important; }
.cc-home-experience { padding:145px 0 !important; background:var(--cc-cd-paper) !important; }
.cc-home-experience-grid { gap:0 !important; border-top:1px solid var(--cc-cd-line); }
.cc-home-experience-grid article { min-height:350px !important; padding:42px !important; border:0 !important; border-right:1px solid var(--cc-cd-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.cc-home-experience-grid article:first-child { border-left:1px solid var(--cc-cd-line) !important; }
.cc-home-experience-grid article:hover { transform:none !important; background:var(--cc-cd-wash) !important; box-shadow:none !important; }
.cc-home-experience-grid blockquote { color:var(--cc-cd-ink) !important; font-size:1.16rem !important; }
.cc-home-conversation { padding:130px 0 !important; background:var(--cc-cd-paper) !important; }
.cc-home-conversation-inner { padding:70px !important; border:0 !important; border-radius:2px 60px 60px 60px !important; background:var(--cc-cd-mint) !important; box-shadow:none !important; }
.cc-home-promise { border:0 !important; border-radius:2px 34px 34px 34px !important; background:rgba(255,255,255,.66) !important; box-shadow:none !important; backdrop-filter:none !important; }

/* Inner pages: shared visual identity over Divi and imported content. */
.cc-enterprise-page,.cc-about-page { background:var(--cc-cd-paper) !important; }
.cc-enterprise-hero,.cc-inner-hero,.cc-about-hero { position:relative; isolation:isolate; min-height:570px; overflow:hidden; border-radius:0 0 7vw 0 !important; background:var(--cc-cd-ink) !important; }
.cc-enterprise-hero::before,.cc-about-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 78% 40%,rgba(104,165,111,.2),transparent 31%),linear-gradient(120deg,#17352c,#244f43); }
.cc-enterprise-hero .cc-enterprise-shell { position:relative; z-index:2; width:var(--cc-cd-shell) !important; padding:145px 0 105px !important; }
.cc-enterprise-kicker { color:var(--cc-cd-mint) !important; }
.cc-enterprise-hero h1 { max-width:1050px !important; color:#fff !important; font-size:clamp(3.8rem,7vw,7.6rem) !important; font-weight:560 !important; line-height:.92 !important; letter-spacing:-.07em !important; }
.cc-enterprise-hero p:not(.cc-enterprise-kicker) { max-width:740px !important; color:rgba(255,255,255,.7) !important; font-size:1.05rem !important; line-height:1.75 !important; }
.cc-enterprise-primary,.cc-enterprise-secondary { min-height:52px; padding:0 24px !important; border-radius:999px !important; }
.cc-enterprise-primary { color:var(--cc-cd-ink) !important; background:var(--cc-cd-mint) !important; }
.cc-enterprise-secondary { color:#fff !important; border-color:rgba(255,255,255,.3) !important; background:transparent !important; }
.cc-enterprise-content { padding:110px 0 !important; background:var(--cc-cd-paper) !important; }
.cc-enterprise-content>.cc-enterprise-shell { width:var(--cc-cd-shell) !important; }
.cc-enterprise-prose { max-width:950px !important; }
.cc-enterprise-prose article { padding:34px 0 !important; border-top:1px solid var(--cc-cd-line); border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.cc-enterprise-prose h2 { font-size:clamp(2rem,3.2vw,3.5rem) !important; letter-spacing:-.045em !important; }
.cc-enterprise-prose p,.cc-enterprise-prose li { font-size:1rem !important; line-height:1.8 !important; }
.cc-about-hero { min-height:760px; padding-top:90px !important; }
.cc-about-hero-grid { position:relative; z-index:2; width:var(--cc-cd-shell) !important; }
.cc-about-copy h1 { color:#fff !important; font-size:clamp(3.6rem,6vw,6.6rem) !important; font-weight:560 !important; line-height:.94 !important; letter-spacing:-.065em !important; }
.cc-about-copy h1 span { color:var(--cc-cd-mint) !important; }
.cc-about-copy p { color:rgba(255,255,255,.7) !important; }
.cc-about-image-frame { border-radius:2px 70px 2px 70px !important; box-shadow:0 38px 90px rgba(0,0,0,.2) !important; }

/* Services hub: a browsable care pathway rather than identical tiles. */
.cc-services-page,.cc-contact-page { background:var(--cc-cd-paper); }
.cc-services-hero h1 em,.cc-contact-hero h1 em { color:var(--cc-cd-mint); font-style:normal; }
.cc-services-intro { padding:110px 0; }
.cc-services-shell,.cc-contact-shell { width:var(--cc-cd-shell); margin-inline:auto; }
.cc-services-intro .cc-services-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.62fr); align-items:end; gap:100px; }
.cc-services-eyebrow,.cc-contact-eyebrow { margin:0 0 16px !important; color:var(--cc-cd-eucalyptus) !important; font-size:.68rem !important; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.cc-services-intro h2,.cc-services-guide h2,.cc-contact-journey h2,.cc-contact-expect h2 { margin:0; color:var(--cc-cd-ink); font-size:clamp(3rem,5vw,5.5rem); font-weight:560; line-height:.98; letter-spacing:-.06em; }
.cc-services-intro .cc-services-shell>p { margin:0 !important; font-size:1rem; line-height:1.8; }
.cc-services-index { padding:0 0 130px; }
.cc-services-list { border-top:1px solid var(--cc-cd-line); }
.cc-services-row>a { position:relative; display:grid; grid-template-columns:70px minmax(0,1fr) minmax(220px,360px) 50px; align-items:center; gap:32px; min-height:230px; padding:26px 12px; border-bottom:1px solid var(--cc-cd-line); color:var(--cc-cd-ink) !important; transition:padding .4s ease,background .4s ease; }
.cc-services-row>a:hover { padding-inline:28px; background:var(--cc-cd-wash); }
.cc-services-number { align-self:start; padding-top:10px; color:var(--cc-cd-eucalyptus); font-size:.7rem; font-weight:800; }
.cc-services-row small { color:var(--cc-cd-eucalyptus); font-size:.62rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.cc-services-row h2 { margin:9px 0 10px; font-size:clamp(1.8rem,3vw,3.2rem); font-weight:570; letter-spacing:-.045em; }
.cc-services-row p { max-width:620px; margin:0 !important; font-size:.86rem; line-height:1.65; }
.cc-services-row figure { height:176px; margin:0; overflow:hidden; clip-path:polygon(6% 0,100% 4%,95% 92%,70% 100%,0 93%,2% 15%); opacity:.88; }
.cc-services-row img { width:100%; height:100%; object-fit:cover; filter:saturate(.72); transition:transform .6s ease,filter .4s; }
.cc-services-row>a:hover img { transform:scale(1.05); filter:saturate(1); }
.cc-services-row>a>b { font-size:1.6rem; transition:transform .3s ease; }.cc-services-row>a:hover>b { transform:translateX(6px); }
.cc-services-guide { padding:130px 0; background:var(--cc-cd-mint); }
.cc-services-guide .cc-services-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.72fr); gap:100px; }
.cc-services-guide h2 { max-width:720px; }
.cc-services-guide>div>div>p:last-child { max-width:650px; margin-top:26px !important; font-size:1rem; line-height:1.75; }
.cc-services-guide aside { padding:38px; border-radius:2px 32px 32px 32px; background:rgba(255,255,255,.68); }
.cc-services-guide aside>span { color:var(--cc-cd-eucalyptus); font-size:.67rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.cc-services-guide ol { margin:24px 0 30px; padding:0; list-style:none; counter-reset:guide; }
.cc-services-guide li { counter-increment:guide; padding:16px 0 16px 44px; border-top:1px solid var(--cc-cd-line); position:relative; color:var(--cc-cd-ink); font-weight:700; }
.cc-services-guide li::before { content:"0" counter(guide); position:absolute; left:0; color:var(--cc-cd-eucalyptus); font-size:.68rem; }
.cc-services-guide aside a { color:var(--cc-cd-eucalyptus) !important; font-weight:800; }

/* Contact: direct access, clear expectations and an accessible enquiry form. */
.cc-contact-journey { padding:120px 0; }
.cc-contact-journey>.cc-contact-shell { display:grid; grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr); gap:clamp(60px,8vw,130px); align-items:start; }
.cc-contact-details { position:sticky; top:150px; }
.cc-contact-details h2 { margin-bottom:42px; }
.cc-contact-details>a,.cc-contact-details>div { display:grid; gap:4px; padding:22px 0; border-top:1px solid var(--cc-cd-line); color:var(--cc-cd-ink) !important; }
.cc-contact-details>a:hover strong { color:var(--cc-cd-eucalyptus); }
.cc-contact-details span { color:var(--cc-cd-eucalyptus); font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.cc-contact-details strong { font-size:1rem; transition:color .25s; }
.cc-contact-details small { color:var(--cc-cd-ink-soft); font-size:.72rem; }
.cc-contact-note { margin-top:30px !important; padding:17px 19px; border-left:3px solid var(--cc-cd-sun); background:rgba(232,183,91,.12); color:var(--cc-cd-ink) !important; font-size:.76rem !important; }
.cc-contact-form-wrap { padding:52px; border-radius:2px 48px 48px 48px; background:#fff; box-shadow:var(--cc-cd-shadow); }
.cc-contact-form-wrap h2 { font-size:clamp(2.6rem,4vw,4.4rem); }
.cc-contact-form-wrap>p:not(.cc-contact-eyebrow) { margin:16px 0 32px !important; }
.cc-contact-form { display:grid; gap:22px; }
.cc-field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cc-field { display:grid; gap:8px; }
.cc-field label { color:var(--cc-cd-ink); font-size:.74rem; font-weight:750; }
.cc-field input,.cc-field select,.cc-field textarea { width:100%; min-height:52px; padding:12px 15px; border:1px solid rgba(23,53,44,.22); border-radius:12px; background:var(--cc-cd-paper); color:var(--cc-cd-ink); font:inherit; transition:border-color .2s,box-shadow .2s; }
.cc-field textarea { min-height:145px; resize:vertical; }
.cc-field input:focus,.cc-field select:focus,.cc-field textarea:focus { border-color:var(--cc-cd-eucalyptus); box-shadow:0 0 0 4px rgba(35,106,85,.1); outline:0; }
.cc-contact-consent { display:flex; align-items:flex-start; gap:10px; color:var(--cc-cd-ink-soft); font-size:.72rem; line-height:1.5; }
.cc-contact-consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--cc-cd-eucalyptus); }
.cc-contact-form button { justify-self:start; min-height:54px; padding:0 25px; border:0; border-radius:999px; background:var(--cc-cd-eucalyptus); color:#fff; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; transition:transform .25s,background .25s; }
.cc-contact-form button:hover { transform:translateY(-2px); background:var(--cc-cd-ink); }
.cc-contact-form button:disabled { opacity:.6; cursor:wait; }
.cc-form-status { min-height:1.4em; margin:0 !important; color:var(--cc-cd-eucalyptus) !important; font-size:.76rem !important; }
.cc-contact-expect { padding:120px 0; background:var(--cc-cd-wash); }
.cc-contact-expect h2 { max-width:780px; }
.cc-contact-expect .cc-contact-shell>div { display:grid; grid-template-columns:repeat(3,1fr); margin-top:54px; border-top:1px solid var(--cc-cd-line); }
.cc-contact-expect article { padding:34px; border-right:1px solid var(--cc-cd-line); }
.cc-contact-expect article:first-child { border-left:1px solid var(--cc-cd-line); }
.cc-contact-expect article span { color:var(--cc-cd-eucalyptus); font-size:.67rem; font-weight:800; }
.cc-contact-expect article h3 { margin:28px 0 10px; font-size:1.4rem; }
.cc-contact-expect article p { margin:0 !important; font-size:.82rem; line-height:1.65; }

/* Footer continues the thread without competing with the content. */
.cc-footer-v2 { border-radius:7vw 0 0 0 !important; background:var(--cc-cd-ink) !important; }
.cc-footer-shell { width:var(--cc-cd-shell) !important; }
.cc-footer-river-line { stroke:var(--cc-cd-mint) !important; opacity:.38; }
.cc-footer-cta { border-radius:2px 38px 38px 38px !important; background:rgba(255,255,255,.065) !important; box-shadow:none !important; }
.cc-footer-button { border-radius:999px !important; }
.cc-footer-button-primary { color:var(--cc-cd-ink) !important; background:var(--cc-cd-mint) !important; }

/* Reveal and motion language. */
.cc-cd-ready .cc-cd-reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease var(--cc-cd-delay,0ms),transform .85s cubic-bezier(.2,.75,.2,1) var(--cc-cd-delay,0ms); }
.cc-cd-ready .cc-cd-reveal.is-revealed { opacity:1; transform:none; }
@keyframes cc-thread-travel { to { stroke-dashoffset:-1; } }
@keyframes cc-thread-breathe { 50% { transform:scale(1.55); } }

@media (max-width: 1180px) {
  :root { --cc-cd-shell:min(1120px,calc(100vw - 56px)); }
  .cc-e-actions .cc-e-btn-secondary,.cc-e-login { display:none !important; }
  .cc-home-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr) !important; gap:55px !important; }
  .cc-home-hero-copy h1 { font-size:clamp(4rem,6.5vw,6rem) !important; }
  .cc-service-showcase-card { grid-column:span 6; }
  .cc-service-showcase-card:nth-child(1),.cc-service-showcase-card:nth-child(6) { grid-column:span 6; display:flex; }
  .cc-service-showcase-card:nth-child(1) .cc-service-showcase-media,.cc-service-showcase-card:nth-child(6) .cc-service-showcase-media { height:285px !important; min-height:0; }
}

@media (max-width: 980px) {
  :root { --cc-cd-shell:calc(100vw - 44px); }
  .cc-e-main-inner { width:var(--cc-cd-shell) !important; }
  .cc-home-hero { min-height:0 !important; padding:148px 0 135px !important; }
  .cc-home-hero::before { background:linear-gradient(180deg,var(--cc-cd-paper) 0 56%,rgba(220,235,224,.65) 56%); }
  .cc-home-hero-grid { grid-template-columns:1fr !important; }
  .cc-home-hero-copy { max-width:780px; }
  .cc-premium-hero-media { width:min(720px,92%); margin:20px auto 0; }
  .cc-premium-hero-image { aspect-ratio:5/4 !important; }
  .cc-home-partner-strip { margin-top:70px !important; }
  .cc-home-trust-grid { grid-template-columns:1fr 1fr !important; }
  .cc-home-trust article:nth-child(3) { border-left:1px solid var(--cc-cd-line) !important; }
  .cc-service-showcase-heading { grid-template-columns:1fr; gap:22px; }
  .cc-service-showcase-grid { grid-template-columns:1fr 1fr !important; }
  .cc-service-showcase-card,.cc-service-showcase-card:nth-child(1),.cc-service-showcase-card:nth-child(6) { grid-column:auto; }
  .cc-home-why-grid { grid-template-columns:1fr !important; }
  .cc-home-why-copy { max-width:780px; }
  .cc-home-experience-grid { grid-template-columns:1fr !important; }
  .cc-home-experience-grid article { min-height:0 !important; border-left:1px solid var(--cc-cd-line) !important; border-bottom:1px solid var(--cc-cd-line) !important; }
  .cc-home-conversation-inner { grid-template-columns:1fr !important; padding:48px !important; }
  .cc-care-thread { width:90%; opacity:.38; }
  .cc-enterprise-hero { min-height:520px; }
  .cc-services-intro .cc-services-shell,.cc-services-guide .cc-services-shell { grid-template-columns:1fr; gap:36px; }
  .cc-contact-journey>.cc-contact-shell { grid-template-columns:1fr; }
  .cc-contact-details { position:static; }
}

@media (max-width: 680px) {
  :root { --cc-cd-shell:calc(100vw - 32px); }
  .cc-home-hero { padding:126px 0 116px !important; border-radius:0 0 44px 0 !important; }
  .cc-home-hero-copy h1 { font-size:clamp(3.25rem,15vw,4.5rem) !important; line-height:.92 !important; }
  .cc-home-lead { font-size:1rem !important; }
  .cc-premium-hero-media { width:100%; }
  .cc-premium-hero-image { aspect-ratio:4/5 !important; clip-path:polygon(5% 0,100% 4%,95% 92%,72% 100%,0 94%,2% 14%) !important; }
  .cc-premium-hero-media figcaption { left:4% !important; bottom:4% !important; }
  .cc-hero-care-note { top:5%; right:2%; }
  .cc-care-thread { right:-20%; bottom:2%; width:125%; height:42%; }
  .cc-home-partner-strip { width:var(--cc-cd-shell) !important; margin:56px auto -65px !important; padding:24px 20px !important; border-radius:2px 22px 22px 22px !important; }
  .cc-home-partner-heading { display:block !important; }
  .cc-home-partner-logos { grid-template-columns:repeat(3,1fr) !important; }
  .cc-home-trust { padding:88px 0 70px !important; }
  .cc-home-trust-grid { grid-template-columns:1fr !important; }
  .cc-home-trust article,.cc-home-trust article:nth-child(3),.cc-home-trust article:last-child { border-right:0 !important; border-bottom:1px solid var(--cc-cd-line); border-left:0 !important; }
  .cc-home-services,.cc-home-why,.cc-home-impact,.cc-home-journey,.cc-home-experience,.cc-home-conversation { padding:96px 0 !important; }
  .cc-service-showcase-heading h2,.cc-home-why-copy h2,.cc-home-section-heading h2,.cc-home-conversation h2 { font-size:clamp(2.7rem,13vw,4rem) !important; }
  .cc-service-showcase-grid { display:block !important; }
  .cc-service-showcase-card { min-height:0; margin-bottom:16px; }
  .cc-service-showcase-media,.cc-service-showcase-card:nth-child(1) .cc-service-showcase-media,.cc-service-showcase-card:nth-child(6) .cc-service-showcase-media { height:245px !important; }
  .cc-home-why-visual { aspect-ratio:4/5 !important; border-radius:2px 46px 2px 46px !important; }
  .cc-home-impact-grid { grid-template-columns:1fr 1fr !important; }
  .cc-home-impact-grid article { padding:28px 18px !important; }
  .cc-home-journey-film { aspect-ratio:4/5 !important; border-radius:46px 2px 46px 2px !important; }
  .cc-home-journey-steps { grid-template-columns:1fr !important; gap:30px !important; }
  .cc-home-journey-steps article { padding:0 0 0 62px !important; }
  .cc-home-journey-steps b { position:absolute; left:0; top:0; }
  .cc-home-experience-grid article { padding:30px !important; }
  .cc-home-conversation-inner { padding:28px 20px !important; border-radius:2px 34px 34px 34px !important; }
  .cc-enterprise-hero { min-height:470px; border-radius:0 0 44px 0 !important; }
  .cc-enterprise-hero .cc-enterprise-shell { padding:112px 0 76px !important; }
  .cc-enterprise-hero h1 { font-size:clamp(3rem,15vw,4.8rem) !important; }
  .cc-enterprise-content { padding:78px 0 !important; }
  .cc-about-hero { min-height:0; }
  .cc-footer-v2 { border-radius:44px 0 0 0 !important; }
  .cc-services-intro,.cc-services-guide,.cc-contact-journey,.cc-contact-expect { padding:82px 0; }
  .cc-services-intro h2,.cc-services-guide h2,.cc-contact-journey h2,.cc-contact-expect h2 { font-size:clamp(2.6rem,13vw,4rem); }
  .cc-services-row>a { grid-template-columns:42px 1fr 28px; gap:12px; min-height:0; padding:24px 4px; }
  .cc-services-row figure { grid-column:2/4; width:100%; height:210px; order:4; }
  .cc-services-row p { font-size:.8rem; }
  .cc-services-guide aside { padding:26px 20px; }
  .cc-contact-form-wrap { padding:30px 20px; border-radius:2px 30px 30px 30px; }
  .cc-field-row { grid-template-columns:1fr; }
  .cc-contact-expect .cc-contact-shell>div { grid-template-columns:1fr; }
  .cc-contact-expect article,.cc-contact-expect article:first-child { border-right:0; border-bottom:1px solid var(--cc-cd-line); border-left:0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .cc-thread-line,.cc-thread-nodes circle { animation:none !important; }
  .cc-cd-ready .cc-cd-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
  .cc-premium-hero-media,.cc-service-showcase-media img { transform:none !important; transition:none !important; }
}
