/* First review edition. Preserve ProMedi's supplied visual identity. */
:root { --section-spacing: 96px; }
html { scroll-padding-top: 110px; }
body { overflow-x: hidden; }
button,input,textarea { font: inherit; }
button,a,input,textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #48cfad; outline-offset:5px; }
[hidden] { display:none !important; }
.icon { width:1em; height:1em; flex-shrink:0; vertical-align:-.12em; }
.ph { display:inline-flex; align-items:center; justify-content:center; }
.hero-content { max-width:850px; }
.hero-title { font-size:clamp(2.1rem,3.6vw,3.55rem); line-height:1.22; }
.hero-desc { max-width:680px; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }
.hero-actions .btn { padding:15px 25px; }
.hero-actions .btn-primary { background:white; color:#073b7a; border-color:white; }
.hero-actions .btn-outline { border:1px solid rgba(255,255,255,.7); color:white; background:transparent; }
.hero-actions .btn:hover { transform:translateY(-2px); }
.fullscreen-hero { min-height:760px; height:100svh; padding:150px 0 80px; }
.header .nav-list { gap:clamp(1rem,2.6vw,3rem); }
.header .top-contact-bar { top:8px; right:24px; }
.header.scrolled .top-contact-bar { top:8px; }
.lang-flag { width:auto; height:auto; min-width:30px; padding:2px 5px; border-radius:3px; box-shadow:none; color:white; font-size:11px; font-weight:800; text-align:center; opacity:.6; }
.lang-flag.active { background:rgba(255,255,255,.2); opacity:1; }
.header.scrolled .lang-flag { color:#073b7a; }
.header.scrolled .lang-flag.active { background:#eaf4ff; }
.section-title,.about-title { text-wrap:balance; }
.about-title { font-size:clamp(1.8rem,2.8vw,2.7rem); }
.about-desc,.about-desc + p,.published-desc { line-height:1.8; }
.projects-grid.show-all { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
.projects-grid.show-all .project-card { width:auto; }
.view-all { background:none; border:0; cursor:pointer; }
.project-img { background:#e6edf3; }
.med-slide { pointer-events:none; }
.med-slide.active { pointer-events:auto; }
.medical-equipment { min-height:700px; height:90svh; }
.med-slide-content { max-width:780px; padding-left:10%; padding-right:6%; }
.med-slide-title { line-height:1.22; font-size:clamp(2rem,3.8vw,3.6rem); }
.med-nav-btn { font-size:2.6rem; color:rgba(255,255,255,.8); }
.med-dot { width:12px; height:12px; }
.med-dot::before { content:''; display:block; width:32px; height:32px; transform:translate(-10px,-10px); }
.med-dots { gap:18px; }
.med-pause { position:absolute; z-index:11; right:32px; bottom:32px; padding:8px 15px; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.6); color:#fff; border-radius:20px; cursor:pointer; font-size:12px; }
.careers { background:#edf5f8; padding:72px 0; }
.careers-inner { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.careers .section-title { margin-bottom:16px; }
.careers p { max-width:680px; }
.careers .btn { flex-shrink:0; }
.contact-form .form-status { margin-top:16px; font-size:.9rem; }
.contact-form .form-note { line-height:1.65; }
.footer-links a { display:flex; align-items:center; gap:8px; }
.contact-value a { color:inherit; }
@media (max-width:1100px) {
  .header { padding:18px 0; }
  .center-logo-layout { justify-content:space-between; }
  .mobile-logo { display:flex !important; }
  .desktop-logo { display:none; }
  .img-logo { height:48px; }
  .hamburger { display:flex; font-size:28px; }
  .header-right { margin-left:auto; }
  .header .top-contact-bar,.header.scrolled .top-contact-bar { display:flex; top:30px; right:78px; }
  .nav { position:fixed; top:84px; left:-110%; width:100%; height:calc(100svh - 84px); padding:36px 24px; background:white; visibility:hidden; transition:left .25s,visibility .25s; overflow:auto; }
  .nav.active { left:0; visibility:visible; }
  .header .nav-list { flex-direction:column; gap:28px; }
  .nav-link,.header .nav-link { color:#172033 !important; font-size:1.2rem; }
  .menu-open { overflow:hidden; }
  .header.scrolled .nav { top:68px; height:calc(100svh - 68px); }
  .header.scrolled .top-contact-bar { top:22px; }
  .careers-inner { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media (max-width:768px) {
  :root { --section-spacing:64px; }
  .fullscreen-hero { min-height:760px; height:auto; padding:170px 0 80px; }
  .hero-title { font-size:clamp(2rem,7.5vw,2.75rem); letter-spacing:-.7px; }
  .hero-desc { font-size:1rem; }
  .hero-content { max-width:100%; }
  .hero-actions { gap:12px; }
  .hero-actions .btn { padding:13px 18px; font-size:.9rem; }
  .projects-grid.show-all { grid-template-columns:1fr; }
  .medical-equipment { height:760px; min-height:760px; }
  .med-slide-content { padding:50px 48px 90px; max-width:100%; }
  .med-slide-title { font-size:2.05rem; }
  .med-slide-desc { font-size:1rem; line-height:1.7; }
  .med-nav-btn { padding:5px; font-size:1.8rem; }
  .med-prev { left:4px; } .med-next { right:4px; }
  .med-dots { bottom:64px; }
  .med-pause { bottom:18px; right:50%; transform:translateX(50%); }
  .careers { padding:56px 0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .reveal,.reveal-left,.reveal-right,.animate-fade-up,.gallery-img { opacity:1 !important; transform:none !important; }
}
