/* ANDtr Medical page — layers on top of homepage.css (shared header/footer/buttons/image-slot/contact/case-card styles). */

/* ---------- breadcrumb ---------- */
.breadcrumb { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #66727f; margin-bottom: 30px; }
.breadcrumb a { color: #66727f; }
.breadcrumb__current { color: #35a8e0; }

/* ---------- hero ---------- */
.sector-hero { position: relative; padding: 120px 5vw 100px; overflow: hidden; border-bottom: 1px solid rgba(14,22,32,0.1); }
.sector-hero__grid-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(14,22,32,0.07) 1px,transparent 1px), linear-gradient(90deg,rgba(14,22,32,0.07) 1px,transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(circle at 30% 30%,#000 5%,transparent 70%); }
.sector-hero__inner { position: relative; max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,0.9fr); gap: 70px; align-items: center; }
.sector-hero__inner h1 { font-size: clamp(42px,5.6vw,88px); line-height: 0.98; letter-spacing: -0.022em; font-weight: 800; margin: 0 0 30px; }
.sector-hero__lead { font-size: 20px; line-height: 1.6; color: #4d5a67; max-width: 44em; margin: 0 0 40px; }
.sector-hero__visual { position: relative; aspect-ratio: 1/1; border-radius: 20px; overflow: hidden; border: 1px solid rgba(14,22,32,0.12); }
.sector-hero__visual .image-slot { position: absolute; inset: 0; min-height: 0; border-left: none; }
.sector-hero__visual .image-slot__content { background: linear-gradient(transparent 45%,rgba(255,255,255,0.94)); }
.sector-hero__sweep { position: absolute; inset: 0; background: linear-gradient(100deg,transparent,rgba(53,168,224,0.22),transparent); animation: andSweep 6s linear infinite; pointer-events: none; }

/* text-only hero for listing pages that don't need a photo column, e.g. the case studies index */
.sector-hero--centered .sector-hero__inner { grid-template-columns: 1fr; text-align: center; }
.sector-hero--centered .breadcrumb { justify-content: center; }
.sector-hero--centered .sector-hero__lead { margin-left: auto; margin-right: auto; }
.sector-hero--centered .hero__ctas { justify-content: center; }

/* subtle polish on the homepage's rounded sector-tab pills, kept even
   though this page no longer uses tabs — harmless, and a nice touch
   wherever .sector-tab does appear (e.g. the homepage). */
.sector-tab:hover:not(.is-active) { border-color: #35a8e0; color: #0b6f9e; }
.sector-tab.is-active { box-shadow: 0 10px 24px -12px rgba(53,168,224,0.55); }

/* ---------- paginated card slider (case studies index page) ---------- */
.cs-slider { position: relative; }
.cs-slider__viewport { overflow: hidden; }
.cs-slider__track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 2px; margin: -2px; }
.cs-slider__track::-webkit-scrollbar { display: none; }
.cs-slider__item { flex: 0 0 calc((100% - 48px) / 3); min-width: 0; scroll-snap-align: start; }
.cs-slider__item .case-card { height: 100%; }
.cs-slider__nav { position: absolute; top: 96px; width: 46px; height: 46px; border-radius: 50%; background: #ffffff; border: 1px solid rgba(14,22,32,0.14); display: flex; align-items: center; justify-content: center; font-size: 24px; line-height: 1; color: #0e1620; cursor: pointer; transition: border-color .2s, color .2s, opacity .2s; z-index: 2; box-shadow: 0 14px 30px -20px rgba(14,22,32,0.4); }
.cs-slider__nav:hover { border-color: #35a8e0; color: #35a8e0; }
.cs-slider__nav[disabled] { opacity: 0.35; pointer-events: none; }
.cs-slider__nav--prev { left: -23px; }
.cs-slider__nav--next { right: -23px; }
.cs-slider__dots { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.cs-slider__dot { width: 8px; height: 8px; padding: 0; border: none; border-radius: 50%; background: rgba(14,22,32,0.18); cursor: pointer; transition: background-color .2s, transform .2s; }
.cs-slider__dot.is-active { background: #35a8e0; transform: scale(1.35); }

/* ---------- standards strip ---------- */
.standards { background: #f2f7fb; border-bottom: 1px solid rgba(14,22,32,0.1); }
.standards__grid { max-width: 1440px; margin: 0 auto; padding: 0 5vw; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.standard { padding: 44px 24px 44px 0; border-right: 1px solid rgba(14,22,32,0.1); }
.standard__code { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; color: #0e1620; }
.standard__what { font-size: 14px; color: #66727f; margin-top: 8px; }

/* ---------- capabilities accordion ---------- */
.capabilities { padding: 130px 5vw; background: #f2f7fb; color: #0e1620; }
.capabilities__intro { max-width: 820px; margin-bottom: 56px; }
.capabilities__eyebrow { font-weight: 700; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #1c7cb0; margin-bottom: 18px; }
.capabilities__intro h2 { font-size: clamp(36px,4.4vw,64px); line-height: 1.02; letter-spacing: -0.02em; font-weight: 800; margin: 0 0 20px; }
.capabilities__intro p { font-size: 19px; line-height: 1.6; color: #4d5a67; margin: 0; }

.accordion { display: flex; flex-direction: column; gap: 14px; }
.accordion-item { border-radius: 20px; overflow: hidden; transition: background .3s, box-shadow .3s; background: transparent; border: 1px solid rgba(14,22,32,0.12); }
.accordion-item.is-open { background: #fff; border-color: rgba(14,22,32,0.14); box-shadow: 0 26px 50px -38px rgba(14,22,32,0.5); }
.accordion-item__trigger { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; text-align: left; padding: 28px 32px; background: transparent; border: 0; cursor: pointer; color: #0e1620; font-family: 'Raleway', sans-serif; }
.accordion-item__left { display: flex; align-items: center; gap: 20px; }
.accordion-item__num { font-weight: 700; font-size: 13px; color: #7b8794; }
.accordion-item__label { font-size: clamp(20px,2vw,28px); font-weight: 700; letter-spacing: -0.012em; }
.accordion-item__icon { font-size: 26px; font-weight: 500; color: #35a8e0; transition: transform .35s cubic-bezier(.2,.7,.3,1); display: inline-block; }
.accordion-item.is-open .accordion-item__icon { transform: rotate(135deg); }
.accordion-item__body { overflow: hidden; transition: max-height .45s cubic-bezier(.2,.7,.3,1), opacity .35s; max-height: 0; opacity: 0; }
.accordion-item.is-open .accordion-item__body { opacity: 1; }
.accordion-item__body-inner { padding: 0 32px 32px 76px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 36px; }
.accordion-item__body-inner > p { font-size: 17px; line-height: 1.6; color: #33414f; margin: 0; }
.accordion-item__body-inner .point-list { display: flex; flex-direction: column; gap: 10px; }
.accordion-item__body-inner .point { color: #4d5a67; }

/* ---------- medical work header (reuses .case-grid/.case-card from homepage.css) ---------- */
.section-header--row p { font-size: 17px; color: #66727f; margin: 0; max-width: 32em; }
.case-card__metric { font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #0b6f9e; margin-bottom: 14px; }

/* ---------- project showcase ---------- */
.showcase { padding: 0 5vw 130px; background: #ffffff; }
.showcase__card { max-width: 1440px; margin: 0 auto; border: 1px solid rgba(14,22,32,0.11); border-radius: 24px; overflow: hidden; background: #f2f7fb; }
.showcase__grid { display: grid; grid-template-columns: minmax(0,0.85fr) minmax(0,1.15fr); }
.showcase__main { padding: 56px 48px; border-right: 1px solid rgba(14,22,32,0.11); }
.showcase__eyebrow { font-weight: 700; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #8a5cc0; margin-bottom: 22px; }
.showcase__main h2 { font-size: 38px; line-height: 1.06; letter-spacing: -0.018em; font-weight: 800; margin: 0 0 12px; }
.showcase__main > p { font-size: 18px; color: #4d5a67; margin: 0 0 30px; }
.showcase__logo-slot { height: 70px; border-radius: 12px; background: repeating-linear-gradient(135deg,#eef3f7 0 12px,#e1eaf2 12px 24px); display: flex; align-items: center; padding: 0 18px; font-weight: 700; font-size: 12px; color: #7b8794; margin-bottom: 30px; }
.showcase__logo-slot--filled { background: #ffffff; border: 1px solid rgba(14,22,32,0.11); }
.showcase__logo-img { max-height: 44px; width: auto; object-fit: contain; margin: 0; }
.showcase__columns { padding: 56px 48px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.showcase__col-title { font-weight: 700; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #0e1620; padding-bottom: 14px; border-bottom: 1px solid rgba(14,22,32,0.15); margin-bottom: 18px; }
.showcase__col-items { display: flex; flex-direction: column; gap: 12px; }
.showcase__col-items div { font-size: 15px; line-height: 1.5; color: #4d5a67; }

/* ---------- simple footer variant ---------- */
.site-footer--simple .site-footer__row { max-width: 1440px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 30px; align-items: center; justify-content: space-between; }
.site-footer--simple img { height: 40px; width: auto; }
.site-footer--simple__links { display: flex; flex-wrap: wrap; gap: 26px; font-size: 15px; }
.site-footer--simple__links a { color: #66727f; }
.site-footer--simple__links a:hover { color: #0b6f9e; }
.site-footer--simple__copy { font-size: 13px; color: #7b8794; }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .sector-hero__inner, .showcase__grid { grid-template-columns: 1fr; }
  .standards__grid { grid-template-columns: repeat(2,1fr); }
  .accordion-item__body-inner, .showcase__columns { grid-template-columns: 1fr; }
  .showcase__main { border-right: none; border-bottom: 1px solid rgba(14,22,32,0.11); }
  .cs-slider__item { flex-basis: calc((100% - 24px) / 2); }
  .cs-slider__nav { top: auto; bottom: 4px; }
  .cs-slider__nav--prev { left: calc(50% - 54px); }
  .cs-slider__nav--next { right: calc(50% - 54px); }
  .cs-slider { padding-bottom: 60px; }
}
@media (max-width: 600px) {
  .standards__grid { grid-template-columns: 1fr; }
  .standard { border-right: none; }
  .cs-slider__item { flex-basis: 82%; }
}
