/* Shared service cards and expandable navigation. */
.services .service-item{min-width:0;padding:24px;background:var(--paper);border:1px solid #cbbfae;border-radius:16px;transition:box-shadow .3s ease,transform .3s ease}
.services .service-card{display:block;height:100%}
.services .service-image{display:block;position:relative;overflow:hidden;border-radius:50% 50% 0 0;aspect-ratio:4/4.3;height:auto;background:var(--greige)}
.services .service-image img{width:100%;height:100%;object-fit:cover}
.services .service-label{display:block;padding:25px 4px 8px}
.services .service-label h3{margin-top:0}
.services .service-label .text-link{width:max-content;max-width:100%;letter-spacing:0;color:var(--mocha)}
.services .service-card:focus-visible{outline-offset:10px;border-radius:8px}
.nav-services{position:relative;display:flex;align-items:center;gap:6px}
.nav-services>a{font-size:11px;padding-block:14px}
.services-toggle{display:grid;place-items:center;width:30px;height:36px;padding:0;border:0;background:transparent;color:var(--mocha)}
.services-toggle svg{width:13px;height:13px;transition:transform .2s}
.services-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.services-submenu{position:absolute;left:-18px;top:100%;min-width:240px;padding:10px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 28px #29251f12;border-radius:8px}
.services-submenu[hidden]{display:none}
.services-submenu a{display:block;padding:12px;font-size:13px;border-radius:4px}
.services-submenu a:hover,.services-submenu a:focus-visible{background:var(--ivory)}
.services-submenu a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.services-page-intro{padding-block:60px 70px;max-width:750px;margin:0}
.services-page-intro h1{font-size:clamp(44px,5vw,70px);letter-spacing:-1.5px;margin-bottom:24px;line-height:1.05}
.services-page-intro p{font-size:16px;color:var(--muted);max-width:590px}
.services-page .services{padding-top:65px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--muted);padding-top:26px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){.couture-page .breadcrumbs,.festas-page .breadcrumbs{display:none}}
@media(hover:hover){.services .service-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px #4f403410}.services .service-card:hover img{transform:scale(1.025)}}
@media(max-width:820px){.nav-services{flex-wrap:wrap;gap:0}.nav-services>a{font-size:13px;flex:1;padding-block:12px}.services-toggle{width:44px;height:44px}.services-submenu{position:static;flex-basis:100%;min-width:0;box-shadow:none;margin-bottom:10px;background:#fcfaf6b3}.services-page-intro{padding-block:40px 50px}}
@media(max-width:600px){.services .service-item{padding:18px}.services .service-label{padding:22px 3px 6px}.services-page-intro h1{font-size:44px}.services .service-image,.services .service-item:last-child .service-image{aspect-ratio:4/4.7;height:auto;max-height:none}}
@media(prefers-reduced-motion:reduce){.services .service-item:hover,.services .service-card:hover img{transform:none}}

/* Home service photographs fill the card with gently rounded upper corners. */
.home-page .services .service-item{padding:0;overflow:hidden}
.home-page .services .service-image{width:100%;border-radius:15px 15px 0 0}
.home-page .services .service-label{padding:26px 28px 30px}
.home-page .services .service-card:focus-visible{outline-offset:-5px;border-radius:15px}
@media(max-width:600px){.home-page .services .service-label{padding:22px 20px 26px}}

/* Mobile navigation is an opaque, independently scrollable panel. */
@media(max-width:820px){
  .site-header.has-open-menu,.site-header.has-open-menu[data-active-section]{background:var(--paper);border-bottom-color:var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-header .menu-toggle{width:46px;height:46px;flex-shrink:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--mocha);gap:6px}
  .site-header .menu-toggle span{width:22px;height:2px;background:currentColor;border-radius:2px}
  .site-header .menu-toggle[aria-expanded="true"]{background:var(--mocha);border-color:var(--mocha);color:var(--paper)}
  #main-navigation{top:calc(100% + 8px);left:16px;right:16px;z-index:40;padding:12px;max-height:calc(100vh - 112px);max-height:calc(100dvh - 112px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior-y:contain;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px #29251f26;opacity:1;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
  #main-navigation.is-open{gap:4px;align-items:stretch}
  #main-navigation>a,#main-navigation .nav-services>a{min-height:48px;display:flex;align-items:center;padding:12px 14px;color:var(--ink);font-size:15px;line-height:1.5;font-weight:500;border-radius:9px}
  #main-navigation>a::after{display:none}
  #main-navigation .nav-services{gap:0;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
  #main-navigation .nav-services>a{min-width:0}
  #main-navigation .services-toggle{width:44px;height:44px;margin-right:5px;border:1px solid var(--line);border-radius:8px;background:var(--ivory);color:var(--mocha)}
  #main-navigation .services-toggle svg{width:16px;height:16px}
  #main-navigation .services-toggle[aria-expanded="true"]{background:var(--mocha);border-color:var(--mocha);color:var(--paper)}
  #main-navigation .services-submenu{position:static;flex-basis:100%;min-width:0;margin:0 8px 8px;padding:6px;border:1px solid var(--line);border-left:2px solid var(--walnut);border-radius:8px;background:var(--ivory);box-shadow:none}
  #main-navigation .services-submenu a{min-height:46px;display:flex;align-items:center;padding:11px 12px;color:var(--ink);font-size:14px;line-height:1.5;border-radius:6px}
  #main-navigation a[aria-current="page"]{background:#e8dfd2;color:var(--ink);font-weight:600;text-decoration:none}
  #main-navigation>a.header-contact{justify-content:space-between;margin:8px 0 0;border:0;border-radius:10px;background:var(--mocha);color:var(--paper);padding:14px 16px;min-height:50px}
  #main-navigation a:active{background:var(--greige)}
  #main-navigation>a.header-contact:active{background:var(--ink)}
  #main-navigation a:focus-visible,#main-navigation button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
}
