/* Rounded surfaces retain the original page grid and Essenza palette. */
.button,.header-contact{border-radius:999px}
.hero-photo{border-radius:28px;overflow:hidden}
.hero-photo img{border-radius:21px}
.hero-arch{border-radius:240px 240px 32px 32px}
.image-note{border-radius:22px}
.photo-open,.service-small-photo{border-radius:20px}
.photo-expand{border-radius:50%}
.lightbox{border-radius:24px}
.lightbox>img{border-radius:16px;touch-action:pan-y pinch-zoom;user-select:none}
.gallery-filters{gap:10px;border-bottom:0;padding-bottom:3px}
.filter-button{border:1px solid transparent;border-radius:999px;background:var(--wash);padding:10px 16px;margin-bottom:0;font-size:11px;transition:background .2s,color .2s}
.filter-button.active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.filter-button:hover:not(.active){background:#e3d7c7}
.main-nav a{position:relative}
.main-nav a[aria-current="location"]{color:var(--ink)}
.main-nav a[aria-current="location"]::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--gold)}
.lightbox-caption{min-width:0;text-align:center;line-height:1.45;font-size:12px}
.lightbox-caption #photo-counter{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.location-map{margin-top:26px;border-radius:22px;overflow:hidden;background:#e9e2d6;border:1px solid #b7a38455;isolation:isolate}
.location-map iframe{display:block;width:100%;height:310px;border:0}
.visit-section .maps-button{margin-top:18px}
.floating-whatsapp,.back-to-top{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;box-shadow:0 5px 20px #0003;text-decoration:none;transition:background .2s,transform .2s}
.floating-whatsapp{right:18px;gap:8px;padding:0 22px;background:#178541;color:#fff;border:1px solid #ffffff40;font:800 12px/1 Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase}
.floating-whatsapp .whatsapp-icon{width:16px;height:16px;flex:none}
.floating-whatsapp:hover{background:#167a3b;transform:translateY(-2px)}
.back-to-top{left:18px;gap:6px;padding:0 14px;background:#0b0d0b;color:#fff;border:1px solid #ffffff60;font:600 14px/1 Arial,sans-serif;cursor:pointer}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:18px;height:18px;flex:none}
.back-to-top:hover{background:#263029;transform:translateY(-2px)}
.floating-whatsapp:focus-visible,.back-to-top:focus-visible{outline:3px solid #d7ad4f;outline-offset:4px}
@media(max-width:700px){.floating-whatsapp,.back-to-top{bottom:calc(14px + env(safe-area-inset-bottom,0px))}.floating-whatsapp{right:12px;padding:0 18px}.back-to-top{left:12px;padding:0 10px;font-size:12px}}
@media(max-width:600px){.hero-photo{border-radius:24px}.hero-photo img{border-radius:18px}.image-note{border-radius:18px}.photo-open{border-radius:16px}.filter-button{font-size:10px;padding:10px 14px}.gallery-filters{gap:8px}.location-map{border-radius:20px}.location-map iframe{height:300px}.footer{padding-bottom:94px}.lightbox-caption{font-size:11px}.main-nav a[aria-current="location"]::after{bottom:5px;right:auto;width:28px}}
@media(prefers-reduced-motion:reduce){.floating-whatsapp:hover,.back-to-top:hover{transform:none}}

/* Readable mobile copy without changing section grids or heading scale. */
@media(max-width:600px){
  .hero-description,.heading-aside,.services-intro>p:not(.eyebrow),.natielle-copy>p,.natural-bottom p{font-size:15px;line-height:1.8}
  .service-row p,.extra-services>div p{font-size:14px;line-height:1.75}
  .service-price{font-size:15px;line-height:1.6}
  .extra-services summary{font-size:14px;line-height:1.65}
  .pricing-note{font-size:13px;line-height:1.8}
  .faq-list summary{font-size:15px;line-height:1.65}
  .faq-list details p{font-size:14px;line-height:1.8}
  .gallery-footnote{font-size:13px;line-height:1.75}
  .address{font-size:15px;line-height:1.8}
  .visit-contact>p{font-size:12px;line-height:1.75}
  .hero-actions .button{font-size:12px;line-height:1.5;gap:16px;max-width:100%}
}
