/* Final visual and interaction refinements */
.header{height:132px;padding:10px 4vw}
.brand img{width:238px;height:110px}
.header nav>button{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.72);padding:13px 17px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;transition:.25s ease}
.header nav>button:hover,.header nav>button:focus-visible{background:#bc5f5c;border-color:#bc5f5c;outline:0}
.hero{min-height:880px!important;background-image:url('hero-human.webp')!important;background-position:center right!important}
.hero:before{background:linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.91) 39%,rgba(4,4,4,.48) 66%,rgba(4,4,4,.10) 100%)!important}
.hero-copy{margin-top:145px}
.hero h1{font-size:clamp(72px,9.2vw,150px)!important}

/* The visible service action opens the detailed service modal. */
.service-grid article>a{display:none}
.service-grid details span{display:none}
.service-grid details summary{font-size:11px;font-weight:600;padding:10px 0;cursor:pointer;list-style:none}
.service-grid details summary::-webkit-details-marker{display:none}
.service-grid details summary::before{content:'▶ ';font-size:9px}
.service-modal{display:none;position:fixed;z-index:60;inset:0;background:rgba(5,5,5,.83);padding:5vh 5vw}
.service-modal.open{display:block}
.service-modal-box{position:relative;max-width:820px;max-height:90vh;overflow:auto;margin:auto;background:#f6f4f1;padding:68px}
.service-modal-close{position:absolute;right:22px;top:14px;background:transparent;border:0;font-size:34px;line-height:1}
.service-modal h2{font:500 clamp(46px,5vw,70px)/.95 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:15px 0 26px}
.service-modal p{font-size:17px;line-height:1.7;max-width:620px}
.service-modal h3{font-size:25px;margin:34px 0 10px}
.service-modal ul{padding-left:20px;line-height:1.85}
.service-modal .button{margin-top:20px}

/* Supplied clinic logos, with one consistent presentation across both selectors. */
.clinic-panel .clinic-choice{position:relative;padding-left:132px}
.clinic-panel .clinic-choice:before{display:none!important}
.clinic-brand,.location-brand{position:absolute;margin:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#fff}
.clinic-brand{top:27px;left:28px;width:72px;height:72px}
.location-grid article{position:relative}
.location-brand{top:20px;right:20px;width:54px;height:54px}
.clinic-brand img,.location-brand img{display:block;width:100%;height:100%;object-fit:cover}
.clinic-brand-lisboa img,.clinic-brand-entrecampos img,.location-brand-lisboa img,.location-brand-entrecampos img{object-fit:contain;padding:7px}
.clinic-brand-entrecampos,.location-brand-entrecampos{background:#d5b362}
.clinic-brand-oeiras,.location-brand-oeiras{background:#71806d}
.clinic-brand-seixal,.location-brand-seixal{background:#d8ab85}
.clinic-whatsapp-link{display:block!important;margin-top:13px!important;color:#d9a29f!important;font-size:10px!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;text-decoration:none!important}
.panel-open{overflow:hidden}
.clinic-panel.open{display:block;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}

@media(max-width:760px){
  /* Header: a fixed visual centre for the compact logo and hamburger. */
  .header{height:118px;padding:10px 7vw;align-items:center}
  .brand{display:flex;align-items:center;height:88px}
  .brand img{display:block;width:190px;height:88px;object-fit:contain;object-position:left center;transform:translateX(-10px)}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;height:44px}
  .menu-toggle i{display:block;flex:none;width:30px;margin:5px 0}

  .hero{min-height:790px!important;background-position:61% center!important}
  .hero-copy{margin:120px 7vw 90px}
  .hero h1{font-size:clamp(59px,16vw,68px)!important}
  .hero .actions{gap:22px;align-items:center}
  .hero .button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:15px 18px;white-space:nowrap}
  .hero .button span{display:none}
  .hero .text-link{line-height:1.35}

  /* Give every speciality the breathing room of a full-width feature card. */
  .specialties{padding:78px 7vw}
  .service-grid{grid-template-columns:1fr;border-top:1px solid #bdb4aa}
  .service-grid article,.service-grid article:first-child,.service-grid article:nth-child(odd){min-height:300px;padding:28px 26px;border-left:1px solid #bdb4aa;border-right:1px solid #bdb4aa;border-bottom:1px solid #bdb4aa}
  .service-grid h3{margin:50px 0 14px;font-size:36px}
  .service-grid p{max-width:380px;font-size:15px}
  .service-grid details summary{padding-top:17px}

  /* The clinic chooser is a truly scrollable mobile sheet. */
  .clinic-panel.open{position:fixed;inset:0;height:100dvh;max-height:100dvh;padding:0;overflow-x:hidden;overflow-y:scroll!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
  .clinic-panel-inner{min-height:unset;padding:92px 7vw calc(48px + env(safe-area-inset-bottom));overflow:visible}
  .clinic-list{grid-template-columns:1fr}
  .clinic-panel .clinic-choice{min-height:0;padding:20px 20px 26px 100px}
  .clinic-brand{top:20px;left:20px;width:56px;height:56px}
  .clinic-brand-lisboa img,.clinic-brand-entrecampos img{padding:5px}
  .clinic-panel .clinic-choice h3{margin:0 0 6px}

  /* One calm, full-width clinic card per row: no competing two-column content. */
  .locations{padding:78px 7vw}
  .location-grid{grid-template-columns:1fr;border-top:1px solid #555}
  .location-grid article,.location-grid article:first-child,.location-grid article:nth-child(odd){min-height:258px;padding:24px 20px 28px;border:0!important;border-bottom:1px solid #555!important}
  .location-grid article:last-child{border-bottom:0!important}
  .location-brand{top:20px;right:20px;width:58px;height:58px}
  .location-brand-lisboa img,.location-brand-entrecampos img{padding:5px}
  .location-grid h3{font-size:34px;margin:38px 0 10px}
  .location-grid p{font-size:14px;min-height:0;margin:0}
  .location-grid a{margin-top:20px}
  .location-grid .clinic-whatsapp-link{margin-top:13px!important;line-height:1.35}

  .service-modal{padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .service-modal-box{min-height:100%;max-height:none;padding:95px 28px}
  .service-modal h2{font-size:48px}
}
