.media-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:250px; gap:14px; margin-top:2rem }
.media-gallery .gallery-item { appearance:none; border:0; border-radius:16px; background:#111; padding:0; overflow:hidden; cursor:pointer; position:relative }
.media-gallery .gallery-item:nth-child(7n + 1),.media-gallery .gallery-item:nth-child(7n + 5) { grid-column:span 2; grid-row:span 2 }
.media-gallery img,.media-gallery video { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease,filter .45s ease }
.media-gallery .gallery-item:hover img,.media-gallery .gallery-item:hover video { transform:scale(1.035); filter:brightness(1.08) }
.gallery-lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:28px; background:rgba(0,0,0,.92) }
.gallery-lightbox.open { display:flex }
.gallery-lightbox img,.gallery-lightbox video { max-width:94vw; max-height:90vh; object-fit:contain }
.gallery-lightbox button { position:absolute; top:18px; right:22px; border:0; background:transparent; color:#fff; font-size:40px; cursor:pointer }
.tpu-information { margin-top:2.25rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px }
.tpu-information figure { margin:0; border-radius:16px; overflow:hidden; background:#0b0b0c; border:1px solid rgba(255,255,255,.1) }
.tpu-information img { width:100%; height:100%; min-height:320px; object-fit:contain; display:block }
.quote-form-simple { grid-template-columns:repeat(2,minmax(0,1fr)) }
@media (max-width:980px) { .media-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:230px } }
@media (max-width:640px) { .media-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:170px; gap:8px } .media-gallery .gallery-item:nth-child(7n + 1),.media-gallery .gallery-item:nth-child(7n + 5) { grid-column:span 2; grid-row:span 2 } .tpu-information,.quote-form-simple { grid-template-columns:1fr } .gallery-lightbox { padding:12px } }

.site-header { overflow:visible !important }
.desktop-nav { align-items:center; gap:18px }
.desktop-nav .services-dropdown { position:relative; display:flex; align-items:center }
.desktop-nav .services-dropdown-toggle { appearance:none; border:0; background:transparent; color:inherit; cursor:pointer; font:inherit; padding:0; white-space:nowrap }
.desktop-nav .services-dropdown-toggle:after { content:""; display:inline-block; width:6px; height:6px; margin-left:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg) }
.desktop-nav .services-dropdown-toggle:hover { color:#fff }
.desktop-nav .services-menu { position:absolute; top:calc(100% + 16px); left:50%; z-index:200; display:none; min-width:230px; padding:8px; border:1px solid rgba(255,255,255,.18); border-radius:8px; background:#08080a; box-shadow:0 24px 70px rgba(0,0,0,.46); transform:translateX(-50%) }
.desktop-nav .services-dropdown:hover .services-menu,.desktop-nav .services-dropdown:focus-within .services-menu,.desktop-nav .services-dropdown[data-open="true"] .services-menu { display:grid }
.desktop-nav .services-menu a { display:flex; align-items:center; min-height:38px; padding:0 12px; border-radius:6px; color:rgba(255,255,255,.82); font-size:12px }
.desktop-nav .services-menu a:hover { background:rgba(230,33,41,.18); color:#fff }
.desktop-nav .services-menu a:after,.desktop-nav .services-dropdown-toggle:after { right:auto }
.desktop-nav .services-menu a:after { display:none }

.mobile-menu-active { overflow:hidden }
.mobile-menu.open { display:block }
.mobile-menu nav a { overflow-wrap:anywhere }

.ppf-grid .finish-card { cursor:zoom-in }
.ppf-grid .finish-card:focus-visible { outline:3px solid #e62129; outline-offset:3px }
.ppf-grid .finish-card img { width:100%; height:clamp(260px,32vw,380px); aspect-ratio:auto; object-fit:contain; background:#0b0b0d; transform:none !important }
.ppf-grid .finish-card:hover img { transform:none !important; filter:brightness(1.04) }

.quote-card { border-radius:8px; padding:32px }
.quote-form-simple { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px }
.quote-form-simple label { color:#fff; font-size:13px; font-weight:850 }
.quote-form-simple input,.quote-form-simple select,.quote-form-simple textarea { min-height:42px; background:#2d2e32; border:1px solid rgba(255,255,255,.18); color:#fff }
.quote-form-simple textarea { min-height:92px }
.quote-form-simple .form-actions { justify-content:flex-start; margin-top:0 }

.social-row a svg { width:18px; height:18px; display:block; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round }
.social-row a[aria-label="Facebook"] svg { fill:currentColor; stroke:none }

.desktop-contact-widget { position:fixed; right:22px; bottom:28px; z-index:1200; display:grid; gap:10px; width:min(220px,calc(100vw - 44px)); pointer-events:none }
.desktop-contact-action { pointer-events:auto; display:flex; align-items:center; gap:12px; min-height:58px; padding:10px 14px; border-radius:8px; border:1px solid rgba(255,255,255,.16); background:rgba(9,9,11,.9); color:#fff; box-shadow:0 18px 45px rgba(0,0,0,.36); backdrop-filter:blur(14px); text-decoration:none; transition:transform .2s ease,background .2s ease,border-color .2s ease }
.desktop-contact-action:hover { transform:translateY(-2px); background:#111216; border-color:rgba(255,255,255,.26); color:#fff }
.desktop-contact-whatsapp { background:linear-gradient(135deg,#159c55,#0f7f46); border-color:rgba(255,255,255,.22) }
.desktop-contact-whatsapp:hover { background:linear-gradient(135deg,#19af61,#128a4d) }
.desktop-contact-quote { background:linear-gradient(135deg,#e62129,#a90f17); border-color:rgba(255,255,255,.18) }
.desktop-contact-quote:hover { background:linear-gradient(135deg,#f12c34,#b7131c) }
.desktop-contact-icon { flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.14) }
.desktop-contact-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round }
.desktop-contact-action strong { display:block; font-size:13px; line-height:1.15; letter-spacing:0; color:#fff }
.desktop-contact-action small { display:block; margin-top:2px; color:rgba(255,255,255,.76); font-size:11px; line-height:1.1 }

@media (max-width:1220px) {
  .desktop-nav .services-menu { left:auto; right:0; transform:none }
}

@media (max-width:720px) {
  .quote-card { padding:22px }
  .quote-form-simple { grid-template-columns:1fr !important }
  .ppf-grid .finish-card img { height:min(86vw,390px) }
  .desktop-contact-widget { display:none }
}
