/* Verde bosque profundo y marcos clásicos en oro, verde y negro. */
:root{--green:#092719;--dark:#04160e;--ink:#17251c;--gold:#b39149;--frame-green:#0a2b1b;--frame-black:#080d09;--frame:linear-gradient(135deg,#080d09 0%,#173b25 12%,#a98436 26%,#e2cb8a 38%,#92702b 49%,#0a2b1b 64%,#b39149 81%,#080d09 100%)}
.topline,.cta{background:var(--dark)}.marquee,.hero-portrait,.service-card.dark{background:var(--green)}.service-card.dark{border-color:var(--green)}.btn:hover{background:#153a25}.btn.outline:hover{background:#e3ebdf}.scene-tabs button[aria-selected=true]:hover{background:#143923}.hotspot{background:#092719e8}.hotspot:hover,.hotspot[aria-pressed=true]{color:#092719}.scene-hint{background:#04160ee6}.hero-portrait{box-shadow:14px 14px 0 #d6dfcf}.monogram{color:var(--green);border-color:#7c8e72}h1 em,h2 em{color:#1c432a}.service-symbol,.dark .service-symbol,.quote-mark{color:#b39149}.text-link{border-bottom-color:#8c956e}.eyebrow,.scene-entry{color:#1c432a}.cta .eyebrow{color:#c8b779}.service-card.dark p,.dark .service-tags,.dark .service-top{color:#d8e2cd}.portrait-label,.portrait-footer small{color:#e0d2a5}.scene-tabs button[aria-selected=true]{border-bottom-color:var(--gold)}.scene-tabs button,.scene-controls{background:#dde5d7}.scene-tabs button{color:#304d35}.motion-control{border-color:#899b7a}.light-control output{color:#345139}
/* The border is included in each image's dimensions, preserving responsive layout. */
img{border:7px solid var(--frame-black);border-image:var(--frame) 1}
.hero-portrait img{border:3px solid #c3a257;border-image:none;box-shadow:0 0 0 3px #061b10,0 0 0 5px #060b07;border-radius:46% 46% 0 0}
.intro-photo{background:#edf0e7;border-color:#b5aa83;padding:20px}.intro-photo img{border-width:8px}
.image-button img,.gallery-preview img,.gallery-full img,.generated-gallery .image-button img{border:7px solid var(--frame-black);border-image:var(--frame) 1}
.music>img{border:8px solid var(--frame-black);border-image:var(--frame) 1;box-shadow:12px 12px 0 #dae1d2}
.service-scene{border-width:8px}.scene-canvas{border:8px solid var(--frame-black);border-image:var(--frame) 1;background:#04160e}
.scene-image{border:0;border-image:none}.scene-hint{left:12px;bottom:12px}.lightbox{background:#eef1e7;border:1px solid #a28a50}.lightbox img{border:8px solid var(--frame-black);border-image:var(--frame) 1}.close-dialog{border-color:#ac965c;color:var(--green)}
@media(max-width:600px){img,.image-button img,.gallery-preview img,.gallery-full img,.generated-gallery .image-button img,.service-scene{border-width:5px}.intro-photo img,.music>img,.lightbox img{border-width:6px}.scene-canvas{border-width:6px}.hero-portrait img{border-width:2px;box-shadow:0 0 0 2px #061b10,0 0 0 4px #060b07}.scene-hint{left:8px;bottom:8px}}

/* Contacto directo en la portada. */
.home-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:24px}.home-phone{font-weight:600;color:var(--green);text-decoration:underline;text-underline-offset:4px}.whatsapp-contact{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#176b3a;color:#fff;border-color:#176b3a;max-width:100%}.whatsapp-contact:hover{background:#10522c}.home-contact a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.whatsapp-contact svg{flex-shrink:0}@media(max-width:600px){.home-contact{align-items:stretch}.home-phone{font-size:16px}.whatsapp-contact{padding:16px 18px;text-align:center}}

/* WhatsApp fijo en la esquina inferior derecha, incluso al desplazarse. */
.whatsapp-contact{position:fixed;right:24px;bottom:24px;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:1000;border-radius:999px;box-shadow:0 6px 24px #04160e40;max-width:calc(100vw - 48px)}.whatsapp-contact:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(max-width:600px){.whatsapp-contact{right:16px;bottom:16px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px);font-size:14px;padding:14px 18px}}
