/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/mulish-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/mulish-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/mulish-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/mulish-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/mulish-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/mulish-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/mulish-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/mulish-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/mulish-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/mulish-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/schibsted-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*{box-sizing:border-box;}
html{--site-header-offset:77px;scroll-behavior:smooth;scroll-padding-top:var(--site-header-offset);}
body{margin:0;font-family:'Mulish',system-ui,sans-serif;color:#2f3633;background:#fbfaf6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
input,select,textarea,button{font-family:inherit;}
input::placeholder,textarea::placeholder{color:#9aa49d;}
a{color:inherit;}
@keyframes neuroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Styles moved from the original inline declarations */
.site-shell { overflow-x:hidden; }
.site-header { position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(58,67,64,0.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.07); }
.header-inner { max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px; }
.site-branding { display:flex;align-items:center;flex-shrink:0;text-decoration:none; }
.header-cta { margin-left:6px;text-decoration:none;background:#a7c3a8;color:#27302a;font-weight:700;font-size:14.5px;padding:11px 20px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,0.18);transition:background .18s; }
.header-cta:hover { background:#b6d0b6; }
.menu-icon { font-size:22px;line-height:1; }
.mobile-menu-inner { border-top:1px solid rgba(255,255,255,0.08);padding:10px 22px 20px;display:flex;flex-direction:column;gap:2px; }
.mobile-cta { margin-top:14px;text-align:center;text-decoration:none;background:#a7c3a8;color:#27302a;font-weight:700;font-size:16px;padding:14px 20px;border-radius:999px; }
.hero { position:relative;min-height:clamp(580px,90vh,768px);display:flex;align-items:center;overflow:hidden;background:#5f7f68; }
.hero-image { position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:62% center; }
.hero-overlay { position:absolute;inset:0;background:linear-gradient(100deg,rgba(48,72,55,.99) 0%,rgba(55,82,62,.97) 42%,rgba(70,105,78,.82) 68%,rgba(91,130,96,.7) 100%); }
.hero-network { position:absolute;top:9%;right:-6px;opacity:0.42;pointer-events:none;z-index:2; }
.hero-inner { position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:104px 22px 64px;width:100%; }
.hero-content { max-width:620px; }
.hero-eyebrow { font-family:'Schibsted Grotesk',sans-serif;text-transform:uppercase;letter-spacing:2.4px;font-size:13px;font-weight:700;color:rgba(255,255,255,0.92); }
.hero-title { font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:clamp(36px,5.4vw,56px);line-height:1.05;letter-spacing:-0.02em;color:#ffffff;margin:16px 0 0;text-wrap:balance;text-shadow:0 2px 20px rgba(30,44,32,0.25); }
.hero-description { font-size:clamp(16px,1.9vw,19px);line-height:1.65;color:rgba(255,255,255,0.94);margin:18px 0 0;max-width:460px; }
.hero-actions { display:flex;flex-wrap:wrap;gap:14px;margin-top:32px; }
.button-primary-light { text-decoration:none;background:#ffffff;color:#3a4441;font-weight:700;font-size:16.5px;padding:16px 28px;border-radius:999px;display:inline-flex;align-items:center;gap:9px;box-shadow:0 14px 30px -10px rgba(0,0,0,0.4);transition:transform .18s; }
.button-primary-light:hover { transform:translateY(-2px); }
.button-arrow { font-size:18px; }
.hero-highlights { display:flex;flex-wrap:wrap;gap:10px;margin-top:32px; }.hero-highlight {
background:rgba(255,255,255,0.16);color:#fff;font-weight:600;font-size:13.5px;padding:8px 14px;border-radius:999px;
}.pathologies-section,
.team-section,
.blog-section {
padding:clamp(64px,8vw,104px) 22px;background:#ffffff;
}.section-container {
max-width:1180px;margin:0 auto;
}.section-heading,
.contact-layout {
max-width:680px;
}.section-eyebrow {
font-family:'Schibsted Grotesk',sans-serif;text-transform:uppercase;letter-spacing:2.4px;font-size:13px;font-weight:700;color:#6d9079;
}.section-title {
font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-0.015em;color:#2c352f;margin:14px 0 0;text-wrap:balance;
}.section-description {
font-size:clamp(16px,1.8vw,18px);line-height:1.7;color:#5b655f;margin:16px 0 0;
}
.pathology-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,360px));gap:22px;justify-content:start;margin-top:42px; }.pathology-card {
text-decoration:none;display:block;background:#ffffff;border:1px solid #e9ece4;border-radius:20px;overflow:hidden;transition:transform .2s, box-shadow .2s, border-color .2s;box-shadow:0 1px 2px rgba(0,0,0,0.02);
}.pathology-card:hover {
transform:translateY(-5px);box-shadow:0 22px 40px -22px rgba(58,68,64,0.4);border-color:#cdd9cd;
}.pathology-card-media {
height:158px;background:#3a5244;display:flex;align-items:flex-end;overflow:hidden;position:relative;
}.media-placeholder-label {
font-family:'Schibsted Grotesk',monospace;font-size:11px;letter-spacing:0.5px;color:#fff;background:rgba(46,64,53,.72);padding:4px 9px;border-radius:7px;margin:14px;position:relative;z-index:3;
}.pathology-card-body,
.blog-card-body {
padding:22px 22px 24px;
}.card-title {
font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:21px;color:#2c352f;margin:0;
}.card-description {
font-size:15.5px;line-height:1.6;color:#5b655f;margin:9px 0 16px;
}.card-more {
font-weight:700;font-size:14.5px;color:#6d9079;display:inline-flex;align-items:center;gap:7px;
}.link-arrow {
font-size:16px;
}
.services-section { padding:clamp(64px,8vw,104px) 22px;background:#eef2ec; }
.services-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,360px));justify-content:start;gap:20px;margin-top:42px; }.service-card {
background:#ffffff;border-radius:20px;padding:28px 24px 26px;border:1px solid #e3e8df;display:flex;flex-direction:column;height:100%;transition:transform .2s, box-shadow .2s;
}.service-card:hover {
transform:translateY(-5px);box-shadow:0 22px 40px -24px rgba(58,68,64,0.42);
}.service-icon {
width:58px;height:58px;border-radius:16px;background:#eef3ec;display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}.service-title {
font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:20px;color:#2c352f;margin:0;
}.service-description {
font-size:15px;line-height:1.6;color:#5b655f;margin:10px 0 18px;flex:1;
}.service-link {
text-decoration:none;font-weight:700;font-size:14.5px;color:#6d9079;display:inline-flex;align-items:center;gap:7px;
}
.team-layout { display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:center; }
.team-content { flex:1 1 340px; }
.button-primary { display:inline-flex;align-items:center;gap:9px;margin-top:26px;text-decoration:none;background:#6d9079;color:#fff;font-weight:700;font-size:16px;padding:15px 26px;border-radius:999px;box-shadow:0 12px 26px -10px rgba(109,144,121,0.6);transition:background .18s; }.button-primary:hover,
.form-submit:hover {
background:#5d8068;
}
.button-arrow { font-size:17px; }
.team-media { flex:1.35 1 400px; }
.team-image { width:100%;height:auto;display:block; }.facilities-section,
.contact-section {
padding:clamp(64px,8vw,104px) 22px;background:#f7f5ef;
}
.facilities-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:40px; }.facility-card {
border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#e6e3d8,#e6e3d8 14px,#efece2 14px,#efece2 28px);display:flex;align-items:flex-end;padding:14px;border:1px solid #e6e3d8;
}.media-placeholder-label {
font-family:monospace;font-size:11px;color:#8a8270;background:rgba(255,255,255,0.8);padding:4px 9px;border-radius:7px;
}
.testimonials-section { padding:clamp(64px,8vw,104px) 22px;background:#e8eee4; }
.section-heading { max-width:720px;margin:0 auto;text-align:center; }
.testimonials-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:44px; }.testimonial-card {
background:#ffffff;border-radius:22px;padding:30px 28px;margin:0;box-shadow:0 16px 36px -26px rgba(58,68,64,0.5);display:flex;flex-direction:column;
}.testimonial-stars {
color:#6d9079;font-size:18px;letter-spacing:3px;margin-bottom:14px;
}.testimonial-quote {
margin:0;font-size:16.5px;line-height:1.7;color:#3c443f;flex:1;
}.testimonial-author {
margin-top:22px;padding-top:18px;border-top:1px solid #eef0ea;display:flex;align-items:center;gap:13px;
}.testimonial-avatar {
width:44px;height:44px;border-radius:50%;background:#eef3ec;display:flex;align-items:center;justify-content:center;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;color:#6d9079;font-size:17px;
}.testimonial-name {
font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:15.5px;color:#2c352f;
}.testimonial-relation {
font-size:13px;color:#7d8a82;
}
.blog-heading { display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px; }
.blog-title { font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.6vw,38px);line-height:1.1;letter-spacing:-0.015em;color:#2c352f;margin:12px 0 0; }
.blog-archive-link { text-decoration:none;font-weight:700;font-size:15px;color:#6d9079;display:inline-flex;align-items:center;gap:7px; }
.blog-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));justify-content:start;gap:24px;margin-top:36px; }.blog-card {
text-decoration:none;display:block;border-radius:18px;overflow:hidden;border:1px solid #e9ece4;transition:transform .2s, box-shadow .2s;
}.blog-card:hover {
transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(58,68,64,0.42);
}.blog-card-media {
aspect-ratio:16/9;background:repeating-linear-gradient(45deg,#e7eee5,#e7eee5 13px,#eef3ec 13px,#eef3ec 26px);display:flex;align-items:flex-end;padding:14px;
}.media-placeholder-label {
font-family:monospace;font-size:11px;color:#6f7d72;background:rgba(255,255,255,0.8);padding:4px 9px;border-radius:7px;
}.blog-card-meta {
display:flex;align-items:center;gap:10px;font-size:12.5px;color:#7d8a82;margin-bottom:11px;
}.blog-card-category {
background:#eef3ec;color:#5d8068;font-weight:700;padding:4px 10px;border-radius:999px;
}.blog-card-title {
font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:19px;line-height:1.3;color:#2c352f;margin:0;text-wrap:balance;
}.blog-card-excerpt {
font-size:14.5px;line-height:1.6;color:#5b655f;margin:10px 0 0;
}
.contact-main { display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px;align-items:start; }
.contact-form { background:#ffffff;border-radius:24px;padding:clamp(18px,2vw,24px);border:1px solid #ebe7dc;box-shadow:0 18px 44px -30px rgba(58,68,64,0.5); }
.contact-fields { display:grid;gap:6px; }.form-field,
.mobile-menu.is-open {
display:block;
}.form-label {
display:block;font-weight:700;font-size:13px;color:#3a4441;margin-bottom:2px;
}.form-control {
width:100%;padding:9px 13px;border:1.5px solid #e2e6dd;border-radius:10px;font-size:15px;background:#fbfaf6;outline:none;
}.form-control:focus,
.form-select:focus,
.form-textarea:focus {
border-color:#9bb89f;
}
.form-row-two-columns { display:grid;grid-template-columns:1fr;gap:6px; }
.form-select { width:100%;padding:9px 13px;border:1.5px solid #e2e6dd;border-radius:10px;font-size:15px;background:#fbfaf6;outline:none;color:#3a4441; }
.form-textarea { width:100%;padding:9px 13px;border:1.5px solid #e2e6dd;border-radius:10px;font-size:15px;background:#fbfaf6;outline:none;resize:vertical;font-family:inherit; }
.form-field { display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#6b746e;line-height:1.4; }
.form-field-stacked { display:grid; gap:2px; }
.form-consent { margin-top:3px;width:17px;height:17px;accent-color:#6d9079; }
.form-submit { margin-top:2px;width:100%;background:#6d9079;color:#fff;font-weight:700;font-size:15px;padding:11px 14px;border:none;border-radius:999px;cursor:pointer;box-shadow:0 14px 30px -12px rgba(109,144,121,0.7);transition:background .18s; }
.contact-sidebar { display:flex;flex-direction:column;gap:16px; }.contact-action {
text-decoration:none;display:flex;align-items:center;gap:15px;background:#ffffff;border:1px solid #ebe7dc;border-radius:18px;padding:20px 22px;transition:border-color .18s;
}.contact-action:hover {
border-color:#cdd9cd;
}.contact-icon {
width:48px;height:48px;border-radius:13px;background:#eef3ec;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}.contact-label {
display:block;font-size:12.5px;color:#7d8a82;font-weight:600;
}.contact-value {
display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:18px;color:#2c352f;
}
.contact-icon { width:48px;height:48px;border-radius:13px;background:#e7f3ea;display:flex;align-items:center;justify-content:center;flex-shrink:0; }.contact-detail {
display:flex;align-items:center;gap:15px;background:#ffffff;border:1px solid #ebe7dc;border-radius:18px;padding:20px 22px;
}
.contact-value { display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:16px;color:#2c352f;line-height:1.35; }
.contact-value { display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:15px;color:#2c352f;line-height:1.5; }
.contact-value { display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:16px;color:#2c352f; }
.social-panel { background:#ffffff;border:1px solid #ebe7dc;border-radius:18px;padding:18px 22px; }
.social-heading { display:block;font-size:12.5px;color:#7d8a82;font-weight:600;margin-bottom:13px; }
.social-links { display:flex;gap:10px; }.social-link {
flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:#f4f6f1;border:1px solid #e3e8df;border-radius:12px;padding:11px 10px;text-decoration:none;transition:background .18s;
}.social-link:hover {
background:#eef3ec;
}.social-label {
font-weight:700;font-size:13px;color:#3a4441;
}
.map-placeholder { border-radius:18px;overflow:hidden;border:1px solid #ebe7dc;aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#e3e6dc,#e3e6dc 16px,#edefe6 16px,#edefe6 32px);display:flex;align-items:center;justify-content:center; }
.media-placeholder-label { font-family:monospace;font-size:12px;color:#7d8a82;background:rgba(255,255,255,0.82);padding:6px 12px;border-radius:8px; }
.site-footer { background:#2f3633;color:rgba(255,255,255,0.78);padding:clamp(48px,6vw,72px) 22px 32px; }
.footer-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px; }
.footer-brand { max-width:300px; }
.footer-description { font-size:14.5px;line-height:1.65;color:rgba(255,255,255,0.6);margin:0; }.footer-heading {
font-family:'Schibsted Grotesk',sans-serif;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#fff;margin:0 0 14px;
}
.footer-navigation { display:flex;flex-direction:column;gap:10px; }.footer-contact,
.footer-hours {
display:flex;flex-direction:column;gap:10px;font-size:14.5px;color:rgba(255,255,255,0.66);
}
.footer-cta { text-decoration:none;color:#a7c3a8;font-weight:700; }
.footer-bottom { margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,0.12);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;color:rgba(255,255,255,0.5); }
.footer-legal { display:flex;gap:18px;flex-wrap:wrap; }.footer-legal-link {
text-decoration:none;color:rgba(255,255,255,0.5);
}
.whatsapp-float { position:fixed;right:20px;bottom:22px;z-index:55;width:60px;height:60px;border-radius:50%;background:#5d8068;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -8px rgba(40,52,44,0.6);text-decoration:none;animation:neuroFloat 3.6s ease-in-out infinite; }
.whatsapp-float:hover { background:#4f7059; }
.whatsapp-icon { font-size:28px; }

/* Native responsive navigation */
.desktop-nav { display:flex; align-items:center; gap:26px; }
.menu-toggle { display:none; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.07); color:#fff; cursor:pointer; }
.mobile-menu { display:none; }
@media (max-width:860px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:inline-flex; }
}

/* WordPress integration */
.site-branding .custom-logo-link, .site-footer .custom-logo-link { display: inline-flex; }
.site-branding .custom-logo { width:auto; height:52px; display:block; }
.site-footer .custom-logo { width:auto; height:52px; display:block; margin-bottom:16px; }
.site-title, .footer-site-title { color:#fff; font-family:'Schibsted Grotesk',sans-serif; font-size:24px; font-weight:800; text-decoration:none; }
.primary-menu, .footer-menu { list-style:none; margin:0; padding:0; }
.desktop-nav .primary-menu { display:flex; align-items:center; gap:26px; }
.desktop-nav .primary-menu a { color:rgba(255,255,255,.84); font-size:15px; font-weight:600; letter-spacing:.01em; padding:6px 2px; text-decoration:none; transition:color .18s; }.desktop-nav .primary-menu a:hover,
.desktop-nav .primary-menu a:focus,
.footer-menu a:hover,
.footer-menu a:focus,
.footer-contact a:hover,
.footer-contact a:focus {
color:#fff;
}
.mobile-menu .primary-menu { display:flex; flex-direction:column; }
.mobile-menu .primary-menu a { border-bottom:1px solid rgba(255,255,255,.06); color:rgba(255,255,255,.9); display:block; font-size:18px; font-weight:600; padding:13px 4px; text-decoration:none; }
.footer-menu { display:flex; flex-direction:column; gap:10px; }
.footer-menu a, .footer-contact a { color:rgba(255,255,255,.66); font-size:14.5px; text-decoration:none; }
.footer-heading { font-size:14px; margin:0 0 14px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute!important; width:1px; word-wrap:normal!important; }
.screen-reader-text:focus { clip:auto!important; clip-path:none; background:#fff; color:#27302a; display:block; height:auto; left:8px; padding:12px; top:8px; width:auto; z-index:100000; }
.blog-card-link { color:inherit; display:block; height:100%; text-decoration:none; }
.blog-card-media { overflow:hidden; }
.blog-card-image { display:block; height:100%; object-fit:cover; width:100%; }
.home-no-posts { grid-column:1/-1; color:#657067; padding:28px; text-align:center; }
.form-demo-notice { color:#657067; font-size:12px; margin:7px 0 0; }
.generic-main { background:#f7f7f3; min-height:60vh; padding:clamp(110px,14vw,150px) 24px 80px; }
.generic-main > * { margin-left:auto; margin-right:auto; max-width:900px; }
.content-card, .archive-header { background:#fff; border:1px solid #e9ece4; border-radius:20px; margin-bottom:28px; padding:clamp(24px,5vw,52px); }
.entry-title { color:#2c352f; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(30px,5vw,48px); line-height:1.1; margin:0 0 20px; }
.entry-title a { color:inherit; text-decoration:none; }
.entry-meta, .archive-description { color:#657067; }
.entry-thumbnail img { border-radius:14px; display:block; height:auto; margin:24px 0; max-width:100%; }
.entry-content { color:#3f4942; font-size:18px; line-height:1.75; }
.entry-content > * + * { margin-top:1.2em; }
.theme-button { background:#6d9079; border-radius:999px; color:#fff; display:inline-block; font-weight:700; margin-top:20px; padding:14px 24px; text-decoration:none; }
@media (max-width:860px) { .desktop-nav .primary-menu { display:none; } }

/* Dynamic WordPress content */
.section-archive-link { color:#6d9079; display:inline-flex; font-size:15px; font-weight:700; gap:7px; margin-top:18px; text-decoration:none; }
.section-archive-link:hover, .section-archive-link:focus { color:#486a55; }
.home-card-image { display:block; height:100%; object-fit:cover; width:100%; }
.home-pathology-overlay { background:rgba(38,72,52,.4); inset:0; pointer-events:none; position:absolute; z-index:1; }
.home-pathology-pattern { fill:none; height:58%; pointer-events:none; position:absolute; right:0; stroke:rgba(255,255,255,.28); stroke-width:1.1; top:0; width:48%; z-index:2; }
.home-pathology-pattern circle { fill:rgba(255,255,255,.44); stroke:none; }
.facility-card { color:inherit; position:relative; text-decoration:none; }
.facility-card-title { background:linear-gradient(transparent,rgba(31,42,35,.82)); bottom:0; color:#fff; font-family:'Schibsted Grotesk',sans-serif; font-size:18px; font-weight:700; left:0; padding:44px 20px 18px; position:absolute; right:0; }
.demo-content { position:relative; }
.content-type-archive { background:#f7f7f3; min-height:65vh; padding:clamp(120px,14vw,160px) 24px 80px; }
.directory-header { margin:0 auto 42px; max-width:1160px; }
.directory-grid { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 auto; max-width:1160px; }
.directory-card { background:#fff; border:1px solid #e5e9e2; border-radius:18px; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.directory-card:hover { box-shadow:0 20px 40px -26px rgba(58,68,64,.42); transform:translateY(-4px); }
.directory-card-link { color:inherit; display:block; height:100%; text-decoration:none; }
.directory-card-media { align-items:center; background:#edf1eb; display:flex; height:220px; justify-content:center; overflow:hidden; }
.directory-card-image { height:100%; object-fit:cover; width:100%; }
.directory-card-body { padding:24px; }
.directory-card-meta,.entry-kicker { color:#6d9079; font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.directory-card-title { color:#2c352f; font-family:'Schibsted Grotesk',sans-serif; font-size:23px; line-height:1.2; margin:8px 0 12px; }
.directory-card-excerpt { color:#657067; line-height:1.65; margin:0 0 18px; }
.entry-kicker { display:inline-block; margin-bottom:14px; text-decoration:none; }
.entry-subtitle { color:#6d9079; font-size:20px; margin:-8px 0 24px; }
@media (max-width:860px) { .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .directory-grid { grid-template-columns:1fr; } }
@media (max-width:340px) { .pathology-grid { grid-template-columns:1fr; } }

/* Pathology archive and individual templates */
.pathology-directory,
.pathology-single { background:#f5f0ea; overflow-x:hidden; }
.pathology-hero { background:#2e4035; overflow:hidden; padding:clamp(108px,13vw,150px) 22px clamp(52px,7vw,76px); position:relative; }
.pathology-hero-image { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; z-index:0; }
.pathology-hero-background { background:linear-gradient(155deg,rgba(32,54,41,.92) 0%,rgba(48,83,59,.84) 55%,rgba(77,116,82,.78) 100%); inset:-60% 0; position:absolute; will-change:transform; z-index:0; }
.pathology-hero-pattern { fill:none; height:300px; opacity:.7; pointer-events:none; position:absolute; right:-20px; stroke:rgba(255,255,255,.2); stroke-width:1.2; top:30px; width:420px; z-index:1; }
.pathology-hero-pattern circle,
.pathology-card-pattern circle,
.content-contact-pattern circle { fill:rgba(255,255,255,.44); stroke:none; }
.pathology-hero-inner { margin:0 auto; max-width:1180px; position:relative; z-index:2; }
.pathology-back-link { align-items:center; color:rgba(255,255,255,.75); display:inline-flex; font-size:14px; font-weight:600; gap:7px; text-decoration:none; }
.pathology-back-link:hover,
.pathology-back-link:focus { color:#fff; }
.pathology-hero-eyebrow { color:#b4cebc; display:block; font-family:'Schibsted Grotesk',sans-serif; font-size:13px; font-weight:700; letter-spacing:2.4px; margin-top:20px; text-transform:uppercase; }
.pathology-archive-hero .pathology-hero-eyebrow { margin-top:22px; }
.pathology-hero-title { color:#fff; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(32px,5vw,52px); font-weight:800; letter-spacing:-.02em; line-height:1.05; margin:14px 0 0; max-width:760px; text-wrap:balance; }
.pathology-hero-description { color:rgba(255,255,255,.9); font-size:clamp(16px,1.9vw,18.5px); line-height:1.65; margin:18px 0 0; max-width:600px; }
.pathology-directory-section { background:#fff; padding:clamp(64px,8vw,100px) 22px clamp(72px,9vw,110px); }
.pathology-directory-inner { margin:0 auto; max-width:1180px; }
.pathology-directory-grid { display:grid; gap:28px; grid-template-columns:repeat(auto-fill,minmax(340px,375px)); justify-content:start; }
.pathology-directory-card { background:#fff; border:1px solid #dbd6ce; border-radius:22px; box-shadow:0 2px 4px rgba(0,0,0,.03); display:flex; flex-direction:column; overflow:hidden; transition:border-color .22s,box-shadow .22s,transform .22s; }
.pathology-directory-card:hover { border-color:#cdd9cd; box-shadow:0 28px 52px -28px rgba(58,68,64,.5); transform:translateY(-6px); }
.pathology-directory-media { background:#3a5244; flex-shrink:0; height:230px; overflow:hidden; position:relative; }
.pathology-directory-image { height:100%; object-fit:cover; width:100%; }
.pathology-directory-placeholder { align-items:center; color:rgba(255,255,255,.72); display:flex; font-size:15px; height:100%; justify-content:center; padding:20px; text-align:center; }
.pathology-directory-overlay { background:rgba(38,72,52,.4); inset:0; pointer-events:none; position:absolute; z-index:1; }
.pathology-card-pattern { fill:none; height:52%; pointer-events:none; position:absolute; right:0; stroke:rgba(255,255,255,.28); stroke-width:1.1; top:0; width:46%; z-index:2; }
.pathology-directory-body { display:flex; flex:1; flex-direction:column; padding:26px 26px 28px; }
.pathology-directory-title { color:#4f4f51; font-family:'Schibsted Grotesk',sans-serif; font-size:24px; font-weight:700; margin:0; }
.pathology-directory-excerpt { color:#666668; flex:1; font-size:15.5px; line-height:1.72; margin:12px 0 0; }
.pathology-directory-link { align-items:center; align-self:flex-start; background:#e8f2ea; border:1px solid #c8dacc; border-radius:999px; color:#3d6b4e; display:inline-flex; font-size:14.5px; font-weight:700; gap:8px; margin-top:22px; padding:12px 20px; text-decoration:none; transition:background .18s; }
.pathology-directory-link:hover,
.pathology-directory-link:focus { background:#dceadb; }
.pathology-introduction { background:#f5f0ea; padding:clamp(40px,5vw,64px) 22px 0; }
.pathology-introduction-inner { align-items:center; display:grid; gap:32px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 auto; max-width:1180px; }
.pathology-featured-media { align-items:center; aspect-ratio:4/3; background:#e8f0e8; border-radius:22px; box-shadow:0 20px 50px -24px rgba(58,68,64,.5); display:flex; justify-content:center; overflow:hidden; position:relative; }
.pathology-featured-image { height:100%; object-fit:cover; width:100%; }
.pathology-label { background:#83b793; border-radius:999px; color:#fff; display:inline-block; font-family:'Schibsted Grotesk',sans-serif; font-size:12px; font-weight:700; letter-spacing:1.2px; margin-bottom:16px; padding:5px 13px; text-transform:uppercase; }
.pathology-introduction-copy p { color:#4f4f51; font-size:17px; line-height:1.75; margin:0; }
.pathology-article { background:#f5f0ea; padding:clamp(48px,6vw,80px) 22px clamp(48px,6vw,72px); }
.pathology-article-content { color:#666668; font-size:16.5px; line-height:1.78; margin:0 auto; max-width:780px; }
.pathology-article-content > * { max-width:100%; }
.pathology-article-content h2 { color:#3a3a3c; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(22px,2.8vw,28px); font-weight:700; letter-spacing:-.01em; margin:40px 0 14px; }
.pathology-article-content h2:first-child { margin-top:0; }
.pathology-article-content h3 { color:#3a3a3c; font-family:'Schibsted Grotesk',sans-serif; margin:30px 0 12px; }
.pathology-article-content p { margin:0 0 16px; }
.pathology-article-content ul,
.pathology-article-content ol { margin:12px 0 20px; padding-left:1.4em; }
.pathology-article-content li { line-height:1.7; margin-bottom:10px; }
.pathology-article-content blockquote,
.pathology-article-content .wp-block-quote { background:#e8f2ea; border:0; border-left:3px solid #83b793; border-radius:0 14px 14px 0; color:#3e5846; font-style:italic; margin:22px 0; padding:18px 22px; }
.pathology-article-content blockquote p:last-child { margin-bottom:0; }
.pathology-article-content img { border-radius:16px; height:auto; }
.content-contact-cta { background:#f5f0ea; padding:0 22px clamp(72px,9vw,110px); }
.pathology-archive-cta { background:#fff; }
.content-contact-cta-box { align-items:center; background:#3e5846; border-radius:24px; display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; margin:0 auto; max-width:1180px; overflow:hidden; padding:clamp(28px,4vw,52px); position:relative; }
.content-contact-pattern { fill:none; height:100%; pointer-events:none; position:absolute; right:0; stroke:rgba(255,255,255,.2); stroke-width:1.1; top:0; width:auto; }
.content-contact-cta-copy { max-width:560px; position:relative; z-index:1; }
.content-contact-cta-copy h2 { color:#fff; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(22px,3vw,32px); font-weight:700; line-height:1.15; margin:0; text-wrap:balance; }
.content-contact-cta-copy p { color:rgba(255,255,255,.9); font-size:16px; line-height:1.65; margin:12px 0 0; }
.content-contact-cta-button { background:#fff; border-radius:999px; box-shadow:0 12px 28px -10px rgba(0,0,0,.4); color:#2f4537; font-size:16px; font-weight:700; padding:15px 26px; position:relative; text-decoration:none; transition:transform .18s; white-space:nowrap; z-index:1; }
.content-contact-cta-button:hover,
.content-contact-cta-button:focus { transform:translateY(-2px); }
.js [data-popin] { opacity:0; transform:translateY(22px); }
.js [data-popin].is-visible { opacity:1; transform:translateY(0); transition:opacity .55s ease,transform .55s ease; }
@media (max-width:720px) {
  .pathology-introduction-inner { grid-template-columns:1fr; }
  .pathology-directory-grid { grid-template-columns:minmax(0,375px); }
  .pathology-hero-pattern { opacity:.45; right:-150px; }
}
@media (max-width:420px) {
  .pathology-directory-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .js [data-popin] { opacity:1; transform:none; }
  .pathology-hero-background,
  .pathology-hero-pattern { transform:none!important; }
}

/* Service archive and individual templates */
.service-directory,
.service-single { background:#f5f0ea; overflow-x:hidden; }
.service-directory-section { background:#f5f0ea; padding:clamp(56px,7vw,88px) 22px clamp(28px,4vw,42px); }
.service-directory-inner { margin:0 auto; max-width:1180px; }
.service-directory-grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.service-directory-card { background:#fff; border:1px solid #dbd6ce; border-radius:20px; display:flex; flex-direction:column; min-height:285px; padding:28px 24px 26px; transition:border-color .2s,box-shadow .2s,transform .2s; }
.service-directory-card:hover { border-color:#b8cebc; box-shadow:0 22px 40px -24px rgba(58,68,64,.42); transform:translateY(-5px); }
.service-directory-icon { align-items:center; background:#dfece1; border-radius:50%; color:#3d6b4e; display:flex; font-size:25px; height:52px; justify-content:center; margin-bottom:20px; width:52px; }
.service-icon, .service-directory-icon { width:60px; height:60px; flex-shrink:0; }
.service-icon > .service-icon-image,
.service-directory-icon > .service-icon-image { display:block; width:60px; height:60px; max-width:60px; max-height:60px; object-fit:contain; }
.service-directory-title { color:#333330; font-family:'Schibsted Grotesk',sans-serif; font-size:20px; font-weight:700; line-height:1.25; margin:0; }
.service-directory-excerpt { color:#666668; flex:1; font-size:15px; line-height:1.65; margin:10px 0 20px; }
.service-directory-link { color:#3d6b4e; font-size:14.5px; font-weight:700; text-decoration:none; }
.service-directory-link:hover,
.service-directory-link:focus { text-decoration:underline; text-underline-offset:4px; }
.service-featured { background:#3e5846; border-radius:24px; color:#fff; margin-top:28px; min-height:300px; overflow:hidden; padding:clamp(30px,5vw,58px); position:relative; }
.service-featured-image { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.service-featured-overlay { background:linear-gradient(90deg,rgba(40,65,50,.96),rgba(40,65,50,.66)); inset:0; position:absolute; }
.service-featured-pattern { fill:none; height:100%; pointer-events:none; position:absolute; right:0; stroke:rgba(255,255,255,.2); top:0; width:auto; }
.service-featured-pattern circle { fill:rgba(255,255,255,.4); stroke:none; }
.service-featured-copy { max-width:560px; position:relative; z-index:2; }
.service-featured-eyebrow { color:#b4cebc; display:block; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.service-featured h2 { color:#fff; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(24px,3.2vw,34px); line-height:1.1; margin:16px 0 0; }
.service-featured p { color:rgba(255,255,255,.9); font-size:clamp(15.5px,1.7vw,17.5px); line-height:1.7; margin:14px 0 0; }
.service-featured a { background:#fff; border-radius:999px; color:#2f4537; display:inline-flex; font-size:15.5px; font-weight:700; margin-top:26px; padding:14px 26px; text-decoration:none; }
.service-archive-cta { background:#f5f0ea; padding-top:0; }
.service-areas { background:#3a5244; padding:22px; }
.service-areas-inner { display:flex; flex-wrap:wrap; gap:12px; margin:0 auto; max-width:1180px; }
.service-areas span { background:rgba(255,255,255,.14); border-radius:999px; color:#fff; font-size:13.5px; font-weight:600; padding:9px 16px; }
.service-article { background:#f5f0ea; padding:clamp(52px,6vw,80px) 22px clamp(48px,6vw,72px); }
.service-article-content { color:#666668; font-size:16.5px; line-height:1.78; margin:0 auto; max-width:780px; }
.service-article-content > * { max-width:100%; }
.service-article-content h2 { color:#3a3a3c; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(22px,2.8vw,28px); font-weight:700; letter-spacing:-.01em; margin:40px 0 16px; }
.service-article-content h2:first-child { margin-top:0; }
.service-article-content h3 { color:#3a3a3c; font-family:'Schibsted Grotesk',sans-serif; margin:30px 0 12px; }
.service-article-content p { margin:0 0 16px; }
.service-article-content p:first-of-type { color:#4f4f51; font-size:17.5px; font-weight:500; }
.service-article-content ul,
.service-article-content ol { margin:12px 0 24px; padding-left:1.4em; }
.service-article-content li { line-height:1.7; margin-bottom:10px; }
.service-article-content h2:not(:first-child)::before { background:#83b793; border-radius:999px; color:#fff; content:""; display:block; height:7px; margin-bottom:16px; width:42px; }
.service-article-content blockquote,
.service-article-content .wp-block-quote { background:#e8f2ea; border:0; border-left:3px solid #83b793; border-radius:0 14px 14px 0; color:#3e5846; margin:22px 0; padding:18px 22px; }
.service-article-content img { border-radius:16px; height:auto; }
@media (max-width:620px) {
  .services-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .service-directory-grid { grid-template-columns:1fr; }
  .service-featured { min-height:0; }
}

/* Team archive, profile cards and dialogs */
.team-directory,
.professional-single { background:#fff; overflow-x:hidden; }
.team-directory-section { background:#fff; padding:clamp(56px,7vw,88px) 22px clamp(28px,4vw,44px); }
.team-therapists-section { padding-top:clamp(28px,4vw,40px); padding-bottom:clamp(64px,8vw,96px); }
.team-directory-inner { margin:0 auto; max-width:1180px; }
.team-section-label { align-items:center; display:flex; gap:14px; margin-bottom:20px; }
.team-section-label span { color:#83b793; display:flex; font-family:'Schibsted Grotesk',sans-serif; font-size:13px; font-weight:700; gap:14px; letter-spacing:2.4px; text-transform:uppercase; white-space:nowrap; width:100%; }
.team-section-label span::after { background:#e4eae0; content:""; flex:1; height:1px; margin:auto 0; }
.team-section-title { color:#4f4f51; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(24px,3.4vw,34px); font-weight:700; letter-spacing:-.015em; line-height:1.12; margin:0 0 32px; max-width:620px; text-wrap:balance; }
.team-section-description { color:#808082; font-size:15px; margin:-22px 0 40px; }
.team-grid { display:grid; justify-content:center; }
.team-directors-grid { gap:clamp(24px,3vw,40px); grid-template-columns:repeat(auto-fit,minmax(230px,264px)); }
.team-therapists-grid { column-gap:clamp(20px,3vw,36px); grid-template-columns:repeat(auto-fit,minmax(150px,164px)); row-gap:clamp(28px,4vw,52px); }
.professional-card { min-width:0; text-align:center; }
.professional-card-trigger { align-items:center; color:inherit; display:flex; flex-direction:column; height:100%; padding:6px 4px; text-decoration:none; transition:transform .22s; }
.professional-card-trigger:hover,
.professional-card-trigger:focus-visible { transform:translateY(-7px); }
.professional-card-director { background:#f5f0ea; border:1.5px solid #c8d4cb; border-radius:24px; padding:34px 24px 28px; transition:border-color .2s,box-shadow .22s; }
.professional-card-director:hover { border-color:#bdd0b8; box-shadow:0 30px 56px -28px rgba(58,68,64,.55); }
.professional-card-photo { align-items:center; aspect-ratio:4/5; background:#3a5244; border:2.5px solid #fff; border-radius:24px; box-shadow:0 14px 32px -14px rgba(58,68,64,.5); display:flex; justify-content:center; outline:1px solid #c8d4cb; overflow:hidden; position:relative; width:clamp(140px,15vw,168px); }
.professional-card-director .professional-card-photo { border-radius:20px; height:228px; width:182px; }
.professional-card-image { height:100%; object-fit:cover; object-position:center 20%; width:100%; }
.professional-card-initial,
.professional-dialog-initial { color:rgba(255,255,255,.82); font-family:'Schibsted Grotesk',sans-serif; font-size:54px; font-weight:700; }
.professional-card-overlay { background:rgba(38,72,52,.28); inset:0; pointer-events:none; position:absolute; z-index:1; }
.professional-card-pattern { fill:none; height:52%; pointer-events:none; position:absolute; right:0; stroke:rgba(255,255,255,.24); stroke-width:1; top:0; width:54%; z-index:2; }
.professional-card-pattern circle { fill:rgba(255,255,255,.46); stroke:none; }
.professional-card-badge,
.professional-dialog-badge { background:#83b793; border-radius:999px; color:#fff; display:inline-block; font-family:'Schibsted Grotesk',sans-serif; font-size:11px; font-weight:700; letter-spacing:1.2px; padding:5px 13px; text-transform:uppercase; }
.professional-card-badge { margin-top:22px; }
.professional-dialog-badge { background:#e8f2ea; border:1px solid #c8dacc; color:#4a7860; padding:4px 12px; }
.professional-card-name { color:#4f4f51; font-family:'Schibsted Grotesk',sans-serif; font-size:18px; font-weight:700; line-height:1.2; margin:18px 0 0; }
.professional-card-director .professional-card-name { font-size:22px; font-weight:800; margin-top:12px; }
.professional-card-role { color:#83b793; display:block; font-size:13.5px; font-weight:600; line-height:1.35; margin-top:5px; }
.professional-card-director .professional-card-role { color:#666668; max-width:230px; }
.professional-dialog { background:transparent; border:0; height:min(560px,84vh); margin:auto; max-height:84vh; max-width:660px; overflow:visible; padding:0; width:calc(100% - 44px); }
.professional-dialog::backdrop { background:rgba(28,38,32,.66); backdrop-filter:blur(5px); }
.professional-dialog-panel { align-items:flex-start; background:#fff; border-radius:24px; box-shadow:0 44px 88px -28px rgba(16,26,20,.78); display:flex; gap:30px; height:100%; overflow:hidden; padding:40px; position:relative; }
.professional-dialog-close { align-items:center; background:rgba(238,243,236,.96); border:0; border-radius:50%; color:#4f4f51; cursor:pointer; display:flex; font-size:22px; height:38px; justify-content:center; line-height:1; position:absolute; right:14px; top:14px; width:38px; z-index:5; }
.professional-dialog-close:hover,
.professional-dialog-close:focus { background:#dceadb; }
.professional-dialog-media { align-items:center; aspect-ratio:4/5; background:#3a5244; border:2.5px solid #fff; border-radius:20px; box-shadow:0 14px 32px -14px rgba(58,68,64,.5); display:flex; flex:0 0 210px; justify-content:center; outline:1px solid #c8d4cb; overflow:hidden; }
.professional-dialog-image { height:100%; object-fit:cover; object-position:center 20%; width:100%; }
.professional-dialog-content { flex:1 1 auto; height:100%; min-height:0; min-width:0; overflow-wrap:anywhere; overflow-x:hidden; overflow-y:auto; padding:0 5px 0 0; scrollbar-color:#929292 transparent; scrollbar-width:thin; }
.professional-dialog-content > *,
.professional-dialog-biography > * { max-width:100%; }
.professional-dialog-content img,
.professional-dialog-content iframe,
.professional-dialog-content video { height:auto; max-width:100%; }
.professional-dialog-content h2 { color:#4f4f51; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(24px,3vw,30px); line-height:1.1; margin:14px 0 4px; }
.professional-dialog-role { color:#83b793; font-size:14px; font-weight:600; line-height:1.4; margin:0 0 22px; }
.professional-dialog-biography { color:#4f4f51; font-size:15px; line-height:1.74; }
.professional-dialog-biography p { margin:0 0 12px; }
.professional-dialog-number { color:#667168; font-size:13.5px; font-weight:600; margin:18px 0 0; }
.professional-dialog-tags-label { border-top:1px solid #edf0ea; color:#808082; font-family:'Schibsted Grotesk',sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; margin:18px 0 0; padding-top:18px; text-transform:uppercase; }
.professional-dialog-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.professional-dialog-tags span { background:#e8f2ea; border:1px solid #c8dacc; border-radius:999px; color:#4a7860; font-size:13px; font-weight:600; padding:6px 13px; }
.professional-dialog-button { background:#83b793; border-radius:999px; box-shadow:0 12px 24px -10px rgba(131,183,147,.6); color:#fff; display:inline-flex; font-size:15px; font-weight:700; gap:8px; margin-top:24px; padding:13px 24px; text-decoration:none; }
.team-archive-cta { background:#fff; }
.professional-profile { background:#f5f0ea; padding:clamp(52px,7vw,88px) 22px; }
.professional-profile-inner { align-items:start; display:grid; gap:clamp(32px,5vw,64px); grid-template-columns:minmax(260px,380px) minmax(0,680px); margin:0 auto; max-width:1080px; }
.professional-profile-media { align-items:center; aspect-ratio:4/5; background:#3a5244; border-radius:24px; display:flex; justify-content:center; overflow:hidden; }
.professional-profile-image { height:100%; object-fit:cover; width:100%; }
.professional-profile-content { color:#4f4f51; font-size:16px; line-height:1.75; }
.professional-profile-content > :first-child { margin-top:0; }
.professional-single-cta { background:#f5f0ea; }
@media (max-width:720px) {
  .team-directors-grid { grid-template-columns:minmax(230px,264px); }
  .team-therapists-grid { column-gap:clamp(12px,4vw,20px); grid-template-columns:repeat(2,minmax(0,164px)); }
  .professional-card-photo { width:min(100%,168px); }
  .professional-dialog { height:min(600px,86vh); max-height:86vh; max-width:420px; }
  .professional-dialog-panel { align-items:center; flex-direction:column; gap:16px; padding:30px 22px 26px; }
  .professional-dialog-media { flex:0 0 auto; width:124px; }
  .professional-dialog-content { text-align:center; width:100%; }
  .professional-dialog-tags { justify-content:center; }
  .professional-profile-inner { grid-template-columns:1fr; }
  .professional-profile-media { max-width:420px; width:100%; }
}
@media (max-width:350px) {
  .team-therapists-grid { grid-template-columns:minmax(150px,164px); }
}

/* Installations gallery and lightbox */
.facilities-grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(250px,360px)); justify-content:center; margin-top:40px; }
.facility-gallery-item { min-width:0; }
.facility-card { aspect-ratio:4/3; background:#e6e3d8; border:1px solid #e1ded4; border-radius:18px; display:block; overflow:hidden; padding:0; position:relative; text-decoration:none; }
.facility-card-image { display:block; height:100%; object-fit:cover; transition:transform .35s ease; width:100%; }
.facility-card:hover .facility-card-image,
.facility-card:focus-visible .facility-card-image { transform:scale(1.035); }
.facility-card-placeholder { align-items:center; color:#706d65; display:flex; height:100%; justify-content:center; padding:24px; text-align:center; }
.facility-card-title { background:linear-gradient(transparent,rgba(31,42,35,.86)); bottom:0; color:#fff; font-family:'Schibsted Grotesk',sans-serif; font-size:18px; font-weight:700; left:0; padding:52px 20px 18px; position:absolute; right:0; z-index:1; }
.facility-directory { background:#f7f5ef; overflow-x:hidden; }
.facility-directory-section { background:#f7f5ef; padding:clamp(56px,7vw,88px) 22px clamp(64px,8vw,96px); }
.facility-directory-inner { margin:0 auto; max-width:1180px; }
.facility-directory-grid { display:grid; gap:22px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.facility-archive-cta { background:#f7f5ef; }
.facility-lightbox { background:transparent; border:0; height:auto; margin:auto; max-height:calc(100vh - 32px); max-width:1120px; overflow:visible; padding:0; width:calc(100% - 32px); }
.facility-lightbox::backdrop { background:rgba(22,31,26,.82); backdrop-filter:blur(5px); }
.facility-lightbox-panel { background:#26372d; border-radius:22px; box-shadow:0 40px 90px -28px rgba(0,0,0,.8); overflow:hidden; position:relative; }
.facility-lightbox-close { align-items:center; background:rgba(255,255,255,.94); border:0; border-radius:50%; color:#33443a; cursor:pointer; display:flex; font-size:22px; height:40px; justify-content:center; position:absolute; right:14px; top:14px; width:40px; z-index:3; }
.facility-lightbox-figure { margin:0; }
.facility-lightbox-image { background:#1f2c25; display:block; height:min(72vh,760px); object-fit:contain; width:100%; }
.facility-lightbox-caption { background:#fff; padding:20px clamp(22px,4vw,38px) 22px; }
.facility-lightbox-caption h2 { color:#3f4943; font-family:'Schibsted Grotesk',sans-serif; font-size:clamp(20px,2.5vw,26px); margin:0; }
.facility-lightbox-caption p { color:#666668; line-height:1.6; margin:8px 0 0; }
.facility-lightbox-nav { align-items:center; background:rgba(255,255,255,.94); border:0; border-radius:50%; color:#33443a; cursor:pointer; display:flex; font-size:21px; height:44px; justify-content:center; position:absolute; top:calc(50% - 44px); transform:translateY(-50%); width:44px; z-index:3; }
.facility-lightbox-prev { left:14px; }
.facility-lightbox-next { right:14px; }
.facility-lightbox-close:hover,
.facility-lightbox-close:focus,
.facility-lightbox-nav:hover,
.facility-lightbox-nav:focus { background:#dfece1; }
@media (max-width:760px) {
  .pathology-grid { justify-content:center; }
  .facilities-grid { display:flex; gap:16px; justify-content:flex-start; margin-right:0; overflow-x:auto; padding:0 calc((100% - min(82vw,330px))/2) 14px; scroll-padding-inline:calc((100% - min(82vw,330px))/2); scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .facilities-grid .facility-gallery-item,
  .facilities-grid > .demo-content { flex:0 0 min(82vw,330px); scroll-snap-align:center; }
  .facility-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .facility-lightbox-image { height:min(68vh,620px); }
}
@media (max-width:480px) {
  .facility-directory-grid { grid-template-columns:1fr; }
  .facility-lightbox { width:calc(100% - 20px); }
  .facility-lightbox-panel { border-radius:16px; }
  .facility-lightbox-image { height:min(64vh,520px); }
  .facility-lightbox-nav { height:40px; top:calc(50% - 50px); width:40px; }
  .facility-lightbox-prev { left:8px; }
  .facility-lightbox-next { right:8px; }
}

/* Testimonials, reviews and interviews */
.testimonials-grid { grid-template-columns:repeat(auto-fill,minmax(290px,360px)); justify-content:center; }
.testimonial-card { overflow:hidden; padding:0; }
.testimonial-card-content { display:flex; flex:1; flex-direction:column; padding:30px 28px; }
.testimonial-card-media { aspect-ratio:16/10; display:block; overflow:hidden; }
.testimonial-card-image { height:100%; object-fit:cover; transition:transform .3s ease; width:100%; }
.testimonial-card-media:hover .testimonial-card-image { transform:scale(1.035); }
.testimonial-type { align-self:flex-start; background:#e8f2ea; border:1px solid #c8dacc; border-radius:999px; color:#4a7860; font-size:11px; font-weight:700; letter-spacing:1px; margin-bottom:16px; padding:5px 11px; text-transform:uppercase; }
.testimonial-story-title { font-family:'Schibsted Grotesk',sans-serif; font-size:22px; line-height:1.2; margin:0; }
.testimonial-story-title a { color:#36433b; text-decoration:none; }
.testimonial-story-excerpt { color:#5f6862; flex:1; line-height:1.65; margin:12px 0 0; }
.testimonial-card .testimonial-author { margin-top:auto; }
.testimonial-date { color:#929792; display:block; font-size:12px; margin-top:3px; }
.testimonial-card-link { align-self:flex-start; color:#5d8068; font-size:14px; font-weight:700; margin-top:20px; text-decoration:none; }
.testimonial-card-link:hover,
.testimonial-card-link:focus { text-decoration:underline; text-underline-offset:4px; }
.testimonial-section-links { align-items:center; display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:center; }
.testimonial-google-link { color:#4a7860; }
.testimonial-carousel-controls { display:none; }
.testimonial-carousel-button { align-items:center; background:#fff; border:1px solid #c8dacc; border-radius:50%; color:#4a7860; cursor:pointer; display:inline-flex; font-size:21px; height:44px; justify-content:center; transition:background .18s,border-color .18s; width:44px; }
.testimonial-carousel-button:hover,
.testimonial-carousel-button:focus-visible { background:#dfece1; border-color:#a9c5ae; }
.testimonial-carousel-button:disabled { cursor:default; opacity:.38; }
.testimonial-directory,
.testimonial-single { background:#e8eee4; overflow-x:hidden; }
.testimonial-directory-section { background:#e8eee4; padding:clamp(56px,7vw,88px) 22px clamp(64px,8vw,96px); }
.testimonial-directory-inner { margin:0 auto; max-width:1180px; }
.testimonial-directory-grid { display:grid; gap:22px; grid-template-columns:repeat(auto-fill,minmax(290px,360px)); justify-content:center; }
.testimonial-google-button { background:#83b793; border-radius:999px; color:#fff; display:inline-flex; font-size:15px; font-weight:700; gap:8px; padding:13px 22px; text-decoration:none; }
.testimonial-google-button:hover,
.testimonial-google-button:focus { background:#6a9e7e; }
.testimonial-google-button-hero { background:#fff; color:#355142; margin-top:26px; }
.testimonial-google-button-hero:hover,
.testimonial-google-button-hero:focus { background:#e8f2ea; }
.testimonial-archive-cta { background:#e8eee4; }
.testimonial-single-content { background:#f7f5ef; padding:clamp(52px,7vw,88px) 22px; }
.testimonial-single-inner { color:#4f4f51; font-size:16.5px; line-height:1.78; margin:0 auto; max-width:780px; }
.testimonial-single-author { align-items:center; display:flex; gap:13px; margin-bottom:22px; }
.testimonial-single-author strong,
.testimonial-single-author span { display:block; }
.testimonial-single-author span { color:#777e79; font-size:13px; margin-top:3px; }
.testimonial-single-inner > .testimonial-stars { margin-bottom:20px; }
.testimonial-single-inner .testimonial-google-button { margin-top:24px; }
@media (max-width:640px) {
  .testimonials-section .testimonials-grid { display:flex; gap:16px; justify-content:flex-start; overscroll-behavior-inline:contain; overflow-x:auto; padding:0 calc((100% - min(84vw,340px))/2) 8px; scroll-behavior:smooth; scrollbar-width:none; scroll-padding-inline:calc((100% - min(84vw,340px))/2); scroll-snap-type:x mandatory; }
  .testimonials-section .testimonials-grid::-webkit-scrollbar { display:none; }
  .testimonials-section .testimonial-card { flex:0 0 min(84vw,340px); scroll-snap-align:center; }
  .testimonial-carousel-controls { display:flex; gap:12px; justify-content:center; margin-top:20px; }
  .testimonial-directory-grid { grid-template-columns:1fr; }
}

/* Contact Form 7 integration */
.contact-form-plugin .wpcf7-form { margin:0; }
.contact-form-plugin .contact-fields { display:grid; gap:6px; }
.contact-form-plugin .contact-fields p { margin:0; }
.contact-form-plugin .form-field-stacked { display:grid; gap:2px; }
.contact-form-plugin .wpcf7-form-control-wrap { display:block; width:100%; }
.contact-form-plugin .form-control,
.contact-form-plugin .form-select,
.contact-form-plugin .form-textarea { font-family:inherit; width:100%; }
.contact-form-plugin .form-textarea { min-height:70px; }
.contact-form-plugin .wpcf7-acceptance .wpcf7-list-item { margin:0; }
.contact-form-plugin .wpcf7-acceptance label { align-items:flex-start; color:#6b746e; display:flex; font-size:13.5px; gap:10px; line-height:1.5; }
.contact-form-plugin .wpcf7-acceptance input { accent-color:#6d9079; flex:0 0 auto; height:17px; margin-top:3px; width:17px; }
.contact-form-plugin .wpcf7-not-valid { border-color:#b85656; }
.contact-form-plugin .wpcf7-not-valid-tip { color:#a23f3f; font-size:13px; margin-top:5px; }
.contact-form-plugin .wpcf7-response-output { border:0!important; border-radius:12px; font-size:14px; line-height:1.5; margin:18px 0 0!important; padding:12px 15px!important; }
.contact-form-plugin form.sent .wpcf7-response-output { background:#e3f1e6; color:#345b41; }
.contact-form-plugin form.invalid .wpcf7-response-output,
.contact-form-plugin form.failed .wpcf7-response-output,
.contact-form-plugin form.unaccepted .wpcf7-response-output { background:#f8e8e6; color:#873f38; }
.contact-form-plugin .wpcf7-spinner { display:block; margin:12px auto 0; }
.form-sensitive-notice { background:#f3f0e8; border-radius:9px; color:#68675f; font-size:12px; line-height:1.4; margin:0; padding:7px 10px; }
