/* Neuromed Atelier 2.0 — unified brand / contrast / responsive components.
 * Presentation only. Source copy, staff credentials, prices, images and document links stay intact.
 */
:root{
  --nm20-dark:#171819;--nm20-dark-soft:#262729;--nm20-cream:#f6f3ed;
  --nm20-paper:#fdfbf7;--nm20-gold:#b99152;--nm20-gold-light:#ebce99;
  --nm20-ink:#222324;--nm20-muted:#554f48;--nm20-line:#d9d0c1;
  --nm20-sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --nm20-serif:Georgia,"Times New Roman",serif;
}
body{background:var(--nm20-paper);color:var(--nm20-ink);font-family:var(--nm20-sans);line-height:1.7}
body :is(p,li,dd,blockquote){text-wrap:pretty;overflow-wrap:break-word}
.tag{color:#74501f} .section-soft .tag,.hero .tag,.nm-page-hero .tag{color:#e5c48a}
body :is(h1,h2,h3,h4){text-wrap:balance;hyphens:none;overflow-wrap:normal}
body :is(.display,.section-title,.nm-page-hero h1,.nm-page-article h2,.nm-page-article h3){font-family:var(--nm20-serif)}
.site-header{background:#191a1b;color:#fff;border-bottom:1px solid #5b5145}
.site-header .nav-list a{color:#f6f3ed}
.site-header .nav-list a:hover,.site-header .nav-list a:focus-visible{color:#efd3a4;text-decoration:underline;text-underline-offset:5px}
.site-header .nav-list .sub-menu{background:#242527;color:#fff}
.site-header .btn{background:#c4a46f;color:#171717;border-color:#c4a46f}
.site-header .btn:hover{background:#e0bf85;color:#171717}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #cb9b48!important;outline-offset:4px!important}
.nm-page-hero{background:radial-gradient(ellipse at 77% 24%,rgba(164,129,69,.18),transparent 34%),linear-gradient(115deg,#121314,#28292a 75%);color:#fff}
.nm-page-hero::before{opacity:.55}
.nm-page-hero-inner{min-height:246px;align-items:center;padding-block:54px 58px}
.nm-page-hero h1{font-size:clamp(42px,6vw,76px);line-height:1.08;letter-spacing:-.035em;color:#fff;max-width:17ch;overflow-wrap:normal}
.nm-page-kicker{color:#ebce99;letter-spacing:.17em}
.nm-page-shell{background:var(--nm20-paper);padding-block:50px 86px}
.nm-page-shell .entry-content,.nm-page-shell .entry-content p{color:var(--nm20-ink)}
.nm-page-shell .nm-legacy-fallback{color:var(--nm20-ink)}
.nm-page-shell .entry-content a:not(.btn){text-decoration-thickness:1px;text-underline-offset:3px}
.nm-page-article :is(h2,h3,h4){color:#242321;line-height:1.3;letter-spacing:-.02em}
/* A single, accessible card system for all physiotherapists and doctors. */
.nm-page-shell--team .nm-legacy-fallback,.nm-page-shell--ultrasound .nm-legacy-fallback{gap:20px}
.nm-page-shell--team .nm-import-section,.nm-page-shell--ultrasound .nm-import-section{
  background:#f5f1e9!important;border:1px solid var(--nm20-line)!important;
  border-radius:12px;padding:clamp(23px,3.3vw,45px);box-shadow:0 9px 31px rgba(18,18,18,.055)
}
.nm-page-shell--team .nm-import-section:nth-child(even),.nm-page-shell--ultrasound .nm-import-section:nth-child(even){background:#f5f1e9!important}
.nm-page-shell--team .nm-import-section .nm-import-row,.nm-page-shell--ultrasound .nm-import-section .nm-import-row{gap:clamp(22px,3vw,43px)}
.nm-page-shell--team .nm-import-image,.nm-page-shell--ultrasound .nm-import-image{
  background:#eeeae3!important;border:1px solid #d6cbbb!important;border-radius:10px!important;
  padding:14px!important;overflow:hidden!important;display:flex;justify-content:center;align-items:center;
  min-height:240px;max-width:350px;margin-inline:auto!important
}
.nm-page-shell--team .nm-import-image img,.nm-page-shell--ultrasound .nm-import-image img{
  width:100%!important;height:auto!important;max-height:340px!important;object-fit:contain!important;
  object-position:center center!important;background:transparent!important;border:0!important;display:block!important
}
.nm-page-shell--team .nm-import-section :is(h2,h3,h4),.nm-page-shell--ultrasound .nm-import-section :is(h2,h3,h4){
  color:#222222!important;text-shadow:none!important;font-weight:500;line-height:1.24
}
.nm-page-shell--team .nm-import-section :is(p,li,span),.nm-page-shell--ultrasound .nm-import-section :is(p,li,span){color:#303030;text-shadow:none}
.nm-page-shell--team .nm-import-accordion,.nm-page-shell--ultrasound .nm-import-accordion{
  border:1px solid #81704f;border-radius:9px;background:#fff;color:#202020;margin:18px 0 0;
  box-shadow:0 5px 18px rgba(22,19,16,.075)
}
.nm-page-shell--team .nm-import-accordion summary,.nm-page-shell--ultrasound .nm-import-accordion summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:#202123!important;color:#fff!important;padding:19px 23px;
  font:500 clamp(17px,1.8vw,21px)/1.35 var(--nm20-serif);cursor:pointer
}
.nm-page-shell--team .nm-import-accordion summary:hover,.nm-page-shell--ultrasound .nm-import-accordion summary:hover{
  background:#343434!important;color:#fff!important
}
.nm-page-shell--team .nm-import-accordion summary::marker,.nm-page-shell--ultrasound .nm-import-accordion summary::marker{color:#e4bc79}
.nm-page-shell .nm-import-accordion-body{background:#fff;color:#242424;padding:clamp(22px,3vw,35px);line-height:1.75}
.nm-page-shell .nm-import-accordion-body :is(h2,h3,h4){color:#26211d!important}
.nm-page-shell .nm-import-accordion[open]>.nm-import-accordion-body{animation:nm20-expand .25s ease-out both}
@keyframes nm20-expand{from{opacity:.65;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.nm-migrated-bio{border-radius:9px;overflow:hidden;background:#fff;color:#262626}
.nm-migrated-bio summary{background:#202123;color:#fff;padding:18px 22px}
/* Partner logos: use identical logo canvases; do not stretch images. */
.nm-page-shell--partners .nm-legacy-fallback{background:transparent!important;padding:0}
.nm-page-shell--partners .nm-import-row,.nm-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;align-items:stretch}
.nm-page-shell--partners .nm-import-column{background:#fff;border:1px solid var(--nm20-line);border-radius:12px;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.nm-page-shell--partners .nm-import-image,.nm-partner{
  background:#fff!important;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--nm20-line)!important;border-radius:10px;
  padding:20px!important;min-height:182px!important;box-shadow:0 7px 25px rgba(0,0,0,.045)
}
.nm-page-shell--partners .nm-import-image img,.nm-partner img{
  object-fit:contain!important;width:100%!important;max-width:230px!important;height:110px!important;
  max-height:110px!important;background:transparent!important;border:0!important;padding:0!important
}
.nm-partner{flex-direction:column}.nm-partner span{color:#292929;font-weight:600}
.nm-page-shell--partners .nm-import-image:hover,.nm-partner:hover{transform:none!important;box-shadow:0 7px 25px rgba(0,0,0,.045)}
/* Consistent reading width: retain complete original descriptions. */
.nm-page-shell--services .nm-import-section{background:#f8f6f2;border-left:4px solid var(--nm20-gold);border-radius:0 10px 10px 0}
.nm-page-shell--services .nm-import-accordion summary{color:#fff;background:#202123;cursor:pointer}
.nm-page-shell--services .nm-import-accordion-body{background:#fff;color:#222}
/* Contact is a useful entry point, not an ornamental transition. */
.nm20-contact-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(26px,5vw,80px);background:#1d1f20;color:#fff;border-radius:12px;overflow:hidden;margin-bottom:40px;box-shadow:0 17px 42px rgba(0,0,0,.12)}
.nm20-contact-intro__copy{padding:clamp(30px,4vw,68px)}
.nm20-eyebrow{font-size:11px;font-weight:750;letter-spacing:.17em;color:#e4bf80!important;margin:0 0 19px}
.nm20-contact-intro h2{font:400 clamp(31px,3.5vw,51px)/1.15 var(--nm20-serif);color:#fff!important;margin:0 0 18px}
.nm20-contact-intro__copy>p:not(.nm20-eyebrow){color:#ece8e0!important;max-width:49ch;margin-bottom:28px}
.nm20-contact-main-link{display:inline-flex;gap:17px;align-items:center;justify-content:space-between;min-height:50px;padding:12px 22px;border-radius:5px;background:#d1b07a;color:#161718!important;font-weight:800;text-decoration:none!important}
.nm20-contact-main-link:hover{background:#efd1a1;color:#171717!important}
.nm20-contact-intro__details{padding:clamp(28px,4vw,50px);background:#292b2d;display:flex;flex-direction:column;justify-content:center;gap:18px}
.nm20-contact-intro__details>div+div{border-top:1px solid #66615a;padding-top:18px}
.nm20-contact-intro__details span{display:block;color:#dfbf88;font-size:12px;font-weight:700;margin-bottom:7px;letter-spacing:.05em}
.nm20-contact-intro__details :is(p,a){color:#fff!important;text-decoration:none;font-size:15px;line-height:1.6;margin:0}
.nm20-contact-intro__details a:hover{text-decoration:underline}
.nm-contact-map{border-radius:11px;overflow:hidden;margin-top:30px;background:#1d1f20}
.nm-contact-map :is(h2,p){color:#fff!important}
.nm-map-opt-in{border-radius:4px;min-height:50px;background:#d1b07a;color:#161718;border-color:#d1b07a}
/* Existing HTML price catalogue is the only public price view. */
.nm18-price-disclaimer,.nm18-price-archive{display:none!important}
.nm18-price-heading h2{color:#232323}
.nm18-price-value{color:#725022!important}
/* Prevent layout jumps and retain keyboard/motion accessibility. */
.nm-page-shell :is(a,button,summary){transition-property:background-color,border-color,color,box-shadow;transition-duration:.2s}
.nm-page-shell :is(a,button,summary):focus-visible{outline:3px solid #a06f22!important;outline-offset:4px!important}
.reveal:not(.in-view){opacity:1!important;transform:none!important}
@media(max-width:850px){.nm20-contact-intro{grid-template-columns:1fr}.nm20-contact-intro__details{padding:26px 30px}.nm-page-hero-inner{min-height:220px}}
@media(max-width:640px){
  .nm-page-hero h1{font-size:clamp(37px,9vw,57px)}
  .nm-page-shell--team .nm-import-section,.nm-page-shell--ultrasound .nm-import-section{padding:18px}
  .nm-page-shell--team .nm-import-image,.nm-page-shell--ultrasound .nm-import-image{max-width:100%;min-height:180px}
  .nm-page-shell--team .nm-import-image img,.nm-page-shell--ultrasound .nm-import-image img{max-height:280px!important}
  .nm-page-shell--partners .nm-import-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nm-page-shell--partners .nm-import-column,.nm-page-shell--partners .nm-import-image{padding:11px!important;min-height:125px!important}
  .nm-page-shell--partners .nm-import-image img{height:85px!important}
  .nm20-contact-intro__copy{padding:29px 22px}
  .nm20-contact-intro__details{padding:26px 22px}
  .nm-page-hero h1{overflow-wrap:break-word}
}
@media(max-width:400px){.nm-page-shell--partners .nm-import-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.nm-page-shell .nm-import-accordion[open]>.nm-import-accordion-body{animation:none!important}}

/* Neuromed Atelier v2.0.1 — medically accessible team profiles.
 * Original portraits and biographies are unchanged. Their presentation is normalized.
 * Legacy Divi embeds white text in nested spans: styling h3 alone cannot override it.
 */
.nm-page-shell--team .nm-import-row:has(.nm-import-image){
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(18px,2.2vw,30px);
}
.nm-page-shell--team .nm-import-row:has(.nm-import-image) > .nm-import-column:has(.nm-import-image){
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
  padding:clamp(18px,2.5vw,32px);
  background:#ffffff;
  color:#202124;
  border:1px solid #d6cbbb;
  border-radius:14px;
  box-shadow:0 12px 34px rgba(25,25,25,.045);
}
/* All supplied staff pictures are displayed with the same circular canvas, regardless
 * of the white/transparent rectangle already present in an original source file. */
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-image{
  width:min(100%,290px);
  aspect-ratio:1;
  flex:none;
  margin:0 auto 24px!important;
  padding:0!important;
  background:#eeece7!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:0 0 0 1px #d6cbbb,0 0 0 8px #f6f3ed;
  overflow:hidden!important;
  display:block;
  min-height:0;
  max-width:290px;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-image img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:1;
  display:block;
  object-fit:cover!important;
  object-position:50% 40%!important;
  /* Remove only the external white square from the source round portraits. */
  clip-path:circle(46% at 50% 50%);
  border-radius:50%!important;
  background:#eeece7!important;
  padding:0!important;
}
/* Inline white spans from the previous builder must never survive on light cards. */
.nm-page-shell--team .nm-import-column:has(.nm-import-image) :is(h2,h3,h4,h5,h6){
  color:#202124!important;
  text-shadow:none!important;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) :is(h2,h3,h4,h5,h6) :is(span,strong,em,a){
  color:inherit!important;
  text-shadow:none!important;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) h3{
  font:500 clamp(22px,2.1vw,29px)/1.25 Georgia,"Times New Roman",serif!important;
  letter-spacing:-.016em;
  text-wrap:balance;
  overflow-wrap:break-word;
  margin:0 0 10px!important;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) h4{
  color:#765020!important;
  font:750 13px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-transform:uppercase;
  letter-spacing:.085em;
  margin:0 0 8px!important;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) h4 :is(span,strong,em,a){color:#765020!important}
/* Body-copy remains body-copy. A random bright-yellow O does not substitute a logo. */
.nm-page-shell--team .nm-legacy-fallback p span[style*="#ffcc00"],
.nm-page-shell--team .nm-legacy-fallback p span[style*="#FFCC00"]{
  color:inherit!important;
}
/* Details are functional disclosure controls with a stable, high-contrast hit target. */
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion{
  margin-top:18px;
  border-radius:10px;
  border:1px solid #d0c3ad;
  box-shadow:none;
  overflow:hidden;
  background:#fff;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion summary{
  position:relative;
  min-height:56px;
  padding:14px 53px 14px 20px;
  display:flex;
  align-items:center;
  background:#252628!important;
  color:#fff!important;
  cursor:pointer;
  list-style:none;
  line-height:1.45;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion summary::-webkit-details-marker{display:none}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion summary::after{
  content:"";
  position:absolute;
  right:22px;
  top:calc(50% - 6px);
  width:10px;
  height:10px;
  border-right:2px solid #e8c88f;
  border-bottom:2px solid #e8c88f;
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion[open] > summary::after{
  transform:translateY(5px) rotate(225deg);
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion summary:hover{
  background:#36383a!important;
}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion :is(p,li){color:#26282b!important}
.nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-accordion-body{background:#fff}
@media(max-width:760px){
  .nm-page-shell--team .nm-import-row:has(.nm-import-image){grid-template-columns:minmax(0,1fr)}
  .nm-page-shell--team .nm-import-column:has(.nm-import-image) .nm-import-image{width:min(100%,260px)}
}
@media(prefers-reduced-motion:reduce){
  .nm-page-shell--team .nm-import-accordion summary::after{transition:none}
}
