:root{--paper:#f6f2e9;--ink:#191919;--gold:#8c794f;--line:#dad5c9;--muted:#69655e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Archivo,system-ui,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.wrap{width:min(1104px,calc(100% - 64px));margin:auto}header{position:sticky;top:0;z-index:10;background:#f6f2e9f2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand strong{font:600 18px Spectral,Georgia,serif}.brand small{display:block;font:9px 'IBM Plex Mono',monospace;letter-spacing:2px}.brand-seal{border:1px solid var(--gold);outline:1px dashed var(--gold);outline-offset:-5px;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font:500 17px Spectral,serif}.custom-logo{max-width:65px;max-height:55px;object-fit:contain}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover{color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:12px 25px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;cursor:pointer;transition:background .2s}.button:hover{background:#33312e;color:white}.outline{background:transparent;color:var(--ink);border-color:var(--line)}.outline:hover{background:#e8e2d5;color:var(--ink)}.menu{display:none;background:none;border:1px solid var(--line);font-size:25px;color:var(--ink);width:44px;height:44px}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:center;padding-top:92px;padding-bottom:90px}.eyebrow{font:400 12px 'IBM Plex Mono',monospace;letter-spacing:2.8px;color:var(--gold);margin:0 0 20px}h1,h2,h3{font-family:Spectral,Georgia,serif;font-weight:500;line-height:1.12;margin:0}h1{font-size:72px;letter-spacing:-1.4px}h1 em{font-weight:400;color:var(--gold)}h2{font-size:48px;letter-spacing:-.7px}h3{font-size:25px;line-height:1.3}.lead{font-size:20px;line-height:1.5;margin:28px 0 32px}.actions{display:flex;gap:12px}.micro{font:12px/1.8 'IBM Plex Mono',monospace;color:var(--muted);margin:23px 0 0}.seal{width:100%;position:relative;aspect-ratio:1}.seal svg{width:100%;height:100%;fill:none;stroke:#b5a987;stroke-width:1.5}.seal .dashed{stroke-dasharray:2 7;stroke-width:1}.seal text{fill:var(--gold);stroke:none;font:17px 'IBM Plex Mono',monospace;letter-spacing:5.4px}.seal-core{position:absolute;inset:21%;border-radius:50%;background:radial-gradient(at 30% 25%,#30302e,#111111);border:2px solid #9b8e70;box-shadow:0 24px 30px #19191920;display:flex;flex-direction:column;align-items:center;justify-content:center}.seal-core strong{font:600 48px Spectral,serif;color:#b39c66}.seal-core span{font:9px 'IBM Plex Mono',monospace;letter-spacing:3px;color:#b5b1a6}.trust{border-block:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:34px;text-align:center}.trust-grid>div+div{border-left:1px solid var(--line)}.trust strong{display:block;font:500 30px Spectral,serif}.trust span{font:10px 'IBM Plex Mono',monospace;letter-spacing:1px;color:var(--muted)}.section{padding-top:92px;padding-bottom:92px}.intro{max-width:650px;font-size:17px;color:#59564f;margin:24px 0 38px}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.card{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:start;transition:background .2s}.card:hover{background:#eee8db}.card .eyebrow{margin-bottom:26px}.card p{font-size:15px;color:#59564f;margin:17px 0 28px}.service-link{margin-top:auto;font-size:13px;border-bottom:1px solid #bcb092;padding-bottom:4px}.service-link span{margin-left:20px;color:var(--gold)}.process{background:var(--ink);color:var(--paper)}.process .eyebrow{color:#b7a373}.process .intro,.process p{color:#cbc6bc}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:48px}.steps article{border-top:1px solid #777168;padding-top:25px}.steps h3{margin-top:22px;font-size:24px}.steps p{font-size:14px}.steps .eyebrow{font-size:10px;letter-spacing:1px}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:84px;align-items:center}.portrait{aspect-ratio:4/5;background:#e9e3d7;border:1px solid var(--line);display:grid;place-items:center;text-align:center;position:relative}.portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.portrait-monogram{display:block;font:120px Spectral,serif;color:#bdb194}.portrait .eyebrow{display:block;font-size:10px;letter-spacing:2px}.portrait small{display:block;color:var(--muted);font-size:12px}.about p{color:#59564f}.qualities{list-style:none;padding:0;margin-top:28px}.qualities li{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.qualities li:before{content:'—';color:var(--gold);margin-right:12px}.testimonials{text-align:center;background:#eee9df;border-block:1px solid var(--line)}.quote-placeholder{max-width:650px;margin:30px auto 0}.quote-placeholder>span{font:60px Spectral,serif;color:var(--gold);line-height:1}.quote-placeholder p{font:25px/1.5 Spectral,serif;margin:0 0 20px}.quote-placeholder small{color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:95px}.contact h2{max-width:450px}.contact dt{font:11px 'IBM Plex Mono',monospace;color:var(--gold);letter-spacing:2px;margin-top:24px}.contact dd{margin:8px 0;font-size:15px}form{padding:32px;border:1px solid var(--line);background:#faf7f0}label{display:block;font:10px 'IBM Plex Mono',monospace;letter-spacing:1.5px;margin-bottom:9px}input,textarea,select{border:1px solid #ccc6b9;background:transparent;width:100%;border-radius:0;padding:12px;margin-bottom:22px;color:var(--ink);font-size:15px}textarea{resize:vertical}form .button{width:100%;justify-content:space-between}.form-note,#form-status{font-size:12px;color:var(--muted);line-height:1.5}footer{background:#151515;color:var(--paper);padding-top:50px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;padding-bottom:40px}footer a{display:block;font-size:13px;margin-bottom:8px}footer p{font-size:13px;color:#bdb7ad}footer .eyebrow{color:#b7a373}.footer-bottom{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #ffffff20;padding-block:22px;font-size:11px;color:#b3aca1}.footer-bottom>span:last-child{margin-left:auto}.whatsapp{position:fixed;bottom:16px;right:16px;background:#252421;color:white;padding:10px 20px;box-shadow:0 5px 15px #0001;font-size:13px;z-index:8}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:50}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:17px}.hero{gap:35px}h1{font-size:59px}.about,.contact{gap:40px}.card{padding:25px}}@media(max-width:760px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:73px}.brand strong{font-size:16px}.menu{display:block}nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:24px;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;padding-top:56px;padding-bottom:50px;gap:50px}h1{font-size:44px;letter-spacing:-.5px}h2{font-size:36px}.eyebrow{font-size:11px;letter-spacing:2px}.lead{font-size:18px;margin:26px 0 32px}.actions{flex-direction:column}.seal{width:min(340px,100%);margin:auto}.trust-grid{grid-template-columns:1fr 1fr;gap:26px 0}.trust-grid>div:nth-child(3){border-left:0}.trust span{font-size:8px}.trust strong{font-size:26px}.section{padding-block:60px}.cards{grid-template-columns:1fr}.card{padding:28px}.steps{grid-template-columns:1fr 1fr;gap:25px}.about,.contact{grid-template-columns:1fr;gap:35px}.portrait{max-width:420px;width:100%;margin:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom>span:last-child{margin-left:0;width:100%}form{padding:24px}.whatsapp{padding:10px 14px}.steps h3{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:1001px){.hero{grid-template-columns:600px 1fr;gap:74px}h1{line-height:1.02}.hero .seal{max-width:400px}}

/* Botones redondeados con brillo sutil al interactuar. */
.button,.whatsapp,.menu{border-radius:12px;position:relative;overflow:hidden;isolation:isolate}
.whatsapp{position:fixed}
.button::after,.whatsapp::after,.menu::after{content:"";position:absolute;inset:-60% auto -60% -85%;width:45%;background:linear-gradient(105deg,transparent 5%,rgba(255,255,255,.04) 30%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.04) 70%,transparent 95%);transform:skewX(-18deg);pointer-events:none}
.outline::after,.menu::after{background:linear-gradient(105deg,transparent 5%,rgba(190,170,128,.08) 30%,rgba(190,170,128,.28) 50%,rgba(190,170,128,.08) 70%,transparent 95%)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button:hover::after,.whatsapp:hover::after,.menu:hover::after{animation:button-shine .85s ease-out}}
@media(prefers-reduced-motion:no-preference){.button:focus-visible::after,.whatsapp:focus-visible::after,.menu:focus-visible::after{animation:button-shine .85s ease-out}}
@keyframes button-shine{from{left:-85%}to{left:145%}}

/* Identidad oficial de Notaría 18. */
.header-inner{min-height:116px}
.brand{flex-shrink:0;padding-block:13px}
.custom-logo{display:block;width:290px;height:auto;max-width:none;max-height:none;mix-blend-mode:multiply}
html{scroll-padding-top:135px}
@media(max-width:1000px) and (min-width:761px){.custom-logo{width:245px}nav{gap:15px;font-size:13px}nav .button{padding-inline:17px}}
@media(max-width:760px){.header-inner{min-height:101px}.custom-logo{width:min(235px,calc(100vw - 120px))}nav{top:101px}html{scroll-padding-top:120px}}

/* Fondo blanco únicamente en la portada, hasta la franja de datos. */
.hero{background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}

/* Contador vertical de experiencia. */
.experience-counter{display:flex!important;justify-content:center;align-items:baseline;white-space:nowrap}
.counter-window{display:inline-block!important;height:1.3em;width:1.15em;overflow:hidden;position:relative;align-self:center;font:inherit!important;letter-spacing:0!important;color:inherit!important;vertical-align:middle}
.counter-strip{display:block!important;font:inherit!important;letter-spacing:0!important;color:inherit!important;will-change:transform}
.counter-value{display:block!important;height:1.3em;line-height:1.3!important;text-align:center;font:inherit!important;letter-spacing:0!important;color:inherit!important;font-variant-numeric:tabular-nums}
.counter-affix{font:inherit!important;letter-spacing:0!important;color:inherit!important}

.counter-value{line-height:1.3!important}

/* Sello: leyenda orbital en Spectral y centro de mayor presencia. */
.seal svg text{font-family:Spectral,Georgia,serif;font-size:19px;font-weight:400;letter-spacing:4.6px;transform-origin:200px 200px;animation:seal-orbit 55s linear infinite}
.seal-core strong{font-size:clamp(58px,6.8vw,84px);line-height:1;letter-spacing:-2px;font-weight:500}
.seal-core span{font-family:Spectral,Georgia,serif;font-size:12px;line-height:1.4;letter-spacing:4px;padding-left:4px;margin-top:9px;color:#c8bb9d}
@keyframes seal-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:760px){.seal-core strong{font-size:72px}.seal-core span{font-size:11px;letter-spacing:3px;padding-left:3px;margin-top:7px}}
@media(prefers-reduced-motion:reduce){.seal svg text{animation:none}}

/* Encabezado: transición suave del beige al blanco. */
header{background:linear-gradient(180deg,#f6f2e9 0%,#f9f7f1 42%,#fdfcf9 73%,#ffffff 100%);border-bottom-color:#eeeae2}

/* Portada: carrusel configurable y sello flotante. */
.hero-media{position:relative;min-width:0;padding-bottom:56px}
.carousel{position:relative;border:1px solid #dfd7c9;border-radius:8px;background:#eee9df;overflow:hidden}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;transition:transform 1.1s cubic-bezier(.65,0,.2,1);will-change:transform}
.carousel-slide{flex:0 0 100%;min-width:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:#eae4d9}
.carousel-slide:nth-child(2){background:#e2ddd3}.carousel-slide:nth-child(3){background:#d9d4c9}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide-placeholder{position:absolute;inset:22px;border:1px solid #aa987646;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
.slide-placeholder::before{content:'';position:absolute;inset:18px;border:1px solid #aa987625;border-radius:50% 50% 0 0}
.slide-placeholder .slide-monogram{font:500 72px Spectral,serif;color:#8c794f90;line-height:1.1}
.slide-placeholder h3{font-size:27px;margin:22px 0 10px}.slide-placeholder p{font:10px/1.7 'IBM Plex Mono',monospace;letter-spacing:1.2px;color:#696056;margin:0}.slide-placeholder small{margin-top:20px;font-size:10px;color:#7c7469}
.slide-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);color:white;padding:75px 25px 28px}.slide-caption h3{font-size:28px}.slide-caption p{font-size:14px;line-height:1.5;margin:10px 0 0}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#faf8f3;border-top:1px solid #dfd7c9}.carousel-dots{display:flex;gap:4px}.carousel-dot{width:32px;height:30px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}.carousel-dot::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#c6bcab;transition:width .3s,background .3s}.carousel-dot[aria-current=true]::after{width:23px;border-radius:5px;background:#272521}.carousel-pause{width:32px;height:30px;border:1px solid #ddd5c7;border-radius:6px;background:transparent;color:#272521;cursor:pointer;font-size:13px}
.hero-media>.seal{position:absolute;width:154px!important;max-width:none;right:-20px;bottom:-8px;margin:0;pointer-events:none;filter:drop-shadow(0 8px 12px #0001)}
.hero-media>.seal svg{background:#fffefb;border-radius:50%}.hero-media .seal-core strong{font-size:38px;letter-spacing:-1px}.hero-media .seal-core span{font-size:6px;letter-spacing:1.6px;padding-left:1.6px;margin-top:4px}
@media(max-width:1000px) and (min-width:761px){.hero{grid-template-columns:1.25fr 1fr;gap:32px}.hero-media>.seal{width:130px!important;right:-12px}.slide-placeholder h3{font-size:22px}}
@media(max-width:760px){.hero-media{width:min(420px,100%);margin:auto;padding-bottom:48px}.carousel-slide{aspect-ratio:1/1}.hero-media>.seal{width:140px!important;right:-10px;bottom:-12px}.hero-media .seal-core strong{font-size:34px}.hero-media .seal-core span{font-size:6px}}
@media(prefers-reduced-motion:reduce){.carousel-track,.carousel-dot::after{transition:none}}
.carousel-controls{padding-right:150px}
@media(max-width:1000px){.carousel-controls{padding-right:125px}}

/* Paleta basada en la muestra oficial: dorado #C2AC7E. */
:root{--gold:#c2ac7e;--gold-text:#827047;--paper:#f7f3eb;--line:#e2d8c6}
.eyebrow,.contact dt{color:var(--gold-text)}
h1 em{color:#a38a56}
.seal svg{stroke:#c2ac7e}.seal svg text{fill:var(--gold-text)}
.seal-core{border-color:#c2ac7e;background:radial-gradient(at 30% 25%,#302e28,#111111)}
.seal-core strong{color:#c2ac7e}.seal-core span{color:#d8c8a5}
.brand-seal{border-color:#c2ac7e;outline-color:#c2ac7e}
.process .eyebrow,footer .eyebrow{color:#c2ac7e}
.service-link{border-color:#c2ac7e}.service-link span,.qualities li:before,.quote-placeholder>span{color:#a38a56}
.card:hover{background:#f0e8d9}.outline:hover{background:#eee4d2}
.portrait{background:#eee6d7}.portrait-monogram{color:#c2ac7e}
.testimonials{background:#f0e9dc}form{background:#fcfaf5}
header{background:linear-gradient(180deg,#f2eadb 0%,#f8f4ec 42%,#fdfbf7 73%,#fff 100%);border-bottom-color:#eee7da}
.carousel{background:#eee6d7;border-color:#dfd2b9}
.carousel-slide{background:#eee6d7}.carousel-slide:nth-child(2){background:#e7dcc6}.carousel-slide:nth-child(3){background:#dfd2b9}
.slide-placeholder{border-color:#c2ac7e77}.slide-placeholder::before{border-color:#c2ac7e44}.slide-placeholder .slide-monogram{color:#a38a56}
.carousel-controls{background:#fcf9f3;border-color:#dfd2b9}.carousel-dot::after{background:#c2ac7e}.carousel-dot[aria-current=true]::after{background:#272521}.carousel-pause{border-color:#d9c9a8}
.outline::after,.menu::after{background:linear-gradient(105deg,transparent 5%,rgba(194,172,126,.08) 30%,rgba(194,172,126,.28) 50%,rgba(194,172,126,.08) 70%,transparent 95%)}

/* Aviso de privacidad: modal de entrada y documento sustituible. */
.privacy-dialog{width:min(570px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #d9c9a8;border-radius:18px;background:#fcfaf5;color:var(--ink);box-shadow:0 30px 100px #0004;overflow-y:auto;overscroll-behavior:contain}
.privacy-dialog::backdrop{background:rgba(16,15,13,.65);backdrop-filter:blur(4px)}
body.privacy-locked{overflow:hidden}
.privacy-intro{padding:30px 38px 20px;text-align:center;background:linear-gradient(#f1e8d7,#fcfaf5)}
.privacy-logo{display:block;width:180px;max-width:65%;height:auto;mix-blend-mode:multiply;margin:0 auto 24px}
.privacy-intro .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:15px}
.privacy-intro h2{font-size:39px;line-height:1.14}.privacy-intro h2 em{font-weight:400;color:var(--gold-text)}
.privacy-intro>p:not(.eyebrow){font-size:14px;line-height:1.7;margin:18px 0 0;color:#59564f}.privacy-intro .privacy-preview-label{font-size:10px!important;color:#827047!important}
.privacy-details{margin:0 30px;border-block:1px solid #dfd2b9}.privacy-details summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;cursor:pointer;font-size:14px;list-style:none}.privacy-details summary::-webkit-details-marker{display:none}.privacy-details[open] summary span{transform:rotate(45deg)}
.privacy-copy{padding:0 0 22px;font-size:13px;line-height:1.75}.privacy-copy h3{font-size:21px;margin:24px 0 10px}.privacy-copy a,.privacy-document a{text-decoration:underline;text-underline-offset:3px}.privacy-draft{padding:14px;border-left:3px solid #c2ac7e;background:#f0e8d9}
.privacy-actions{padding:18px 30px 26px}.privacy-actions>p{font-size:11px;line-height:1.65;color:#696056;margin:0 0 17px}.privacy-actions .button{width:100%;justify-content:space-between;padding:15px 22px}.privacy-actions small{display:block;text-align:center;font-size:10px;margin-top:13px;color:#696056}
.privacy-document{max-width:850px}.privacy-document h1{font-size:48px;margin-bottom:30px}.privacy-document h3{margin-top:32px}.privacy-document p{line-height:1.8}
@media(max-width:600px){.privacy-intro{padding:25px 24px 18px}.privacy-intro h2{font-size:33px}.privacy-details{margin-inline:24px}.privacy-actions{padding-inline:24px}.privacy-logo{width:160px}.privacy-document h1{font-size:38px}}

/* Apertura sin recuadro; foco de teclado acorde a la paleta. */
#privacy-title:focus{outline:none}
.privacy-details summary:focus{outline:none}
.privacy-details summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}

/* Propuesta de encabezado negro con identidad dorada. */
header{background:linear-gradient(180deg,#111110 0%,#1b1a17 100%);border-bottom:1px solid #c2ac7e45;color:#f5f0e6}
header .custom-logo{filter:url(#gold-logo);mix-blend-mode:normal}
header nav>a:not(.button){color:#eee7d9}
header nav>a:not(.button):hover{color:#c2ac7e}
header .button{background:#c2ac7e;color:#171613;border-color:#c2ac7e}
header .button:hover{background:#d4be91;border-color:#d4be91;color:#111}
header .menu{color:#c2ac7e;border-color:#c2ac7e66}
header a:focus-visible,header button:focus-visible{outline-color:#c2ac7e}
@media(max-width:760px){header nav{background:#191916;border-bottom-color:#c2ac7e45}}

/* Éclat sur les lettres, piloté par le défilement. */
header .brand{border:0;text-decoration:none;box-shadow:none}
.logo-shine-wrap{position:relative;display:block;line-height:0;--logo-shine:-20%;overflow:hidden}
header .custom-logo{clip-path:inset(1px 0 1px 0)}
header .logo-shine-layer{position:absolute;inset:0;pointer-events:none;filter:url(#gold-logo) brightness(1.85);mask-image:linear-gradient(105deg,transparent calc(var(--logo-shine) - 16%),#000 var(--logo-shine),transparent calc(var(--logo-shine) + 16%));-webkit-mask-image:linear-gradient(105deg,transparent calc(var(--logo-shine) - 16%),#000 var(--logo-shine),transparent calc(var(--logo-shine) + 16%))}
@media(prefers-reduced-motion:reduce){.logo-shine-layer{display:none!important}}

/* Trámites: degradado vertical beige a blanco, solo en esta sección. */
#tramites{width:100%;max-width:none;padding-inline:max(32px,calc((100% - 1104px)/2));background:linear-gradient(180deg,var(--paper) 0%,#faf7f1 35%,#fdfbf8 65%,#ffffff 100%)}
@media(max-width:760px){#tramites{padding-inline:24px}}

/* Courbes décoratives, derrière le contenu de la portada. */
.hero{position:relative;isolation:isolate}
.hero>div{z-index:1}.hero>div:first-of-type{position:relative}
.hero-filaments{position:absolute;inset:0 0 0 20%;width:80%;height:100%;z-index:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 35%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 90%,transparent)}
.filament{transform-origin:75% 50%}.filament path{fill:none;vector-effect:non-scaling-stroke;stroke-width:.8px}
.filament-base{stroke:url(#filament-tone);opacity:.45}
.filament-glow{stroke:#c2ac7e;stroke-linecap:round;stroke-dasharray:140 1150;opacity:0;animation:filament-light var(--travel) linear infinite;animation-delay:var(--delay)}
@keyframes filament-light{0%{stroke-dashoffset:170;opacity:0}18%{opacity:.38}65%{opacity:.24}90%,100%{stroke-dashoffset:-1100;opacity:0}}
@media(max-width:760px){.hero-filaments{inset:35% 0 0 0;width:100%;height:65%;opacity:.7}}
@media(prefers-reduced-motion:reduce){.filament-glow{animation:none;opacity:0}}

/* Curvas largas que abarcan toda la portada. */
.hero.wrap{width:100%;max-width:none;padding-inline:max(32px,calc((100% - 1104px)/2));overflow:hidden;clip-path:none;box-shadow:none}
.hero-filaments{inset:0;width:100%;height:100%;mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}
.filament-base{opacity:.6}
@media(max-width:760px){.hero.wrap{padding-inline:24px}.hero-filaments{inset:0;width:100%;height:100%;opacity:.65}}

/* Atención por WhatsApp: ventana flotante, sin envío automático. */
.whatsapp{display:inline-flex;align-items:center;gap:9px;border:1px solid #c2ac7e66;background:#1b1a17;color:#f8f3e9;cursor:pointer;padding:13px 19px;z-index:30}
.whatsapp svg{flex-shrink:0}.whatsapp:hover{background:#302c23}
.whatsapp-panel{position:fixed;right:20px;bottom:83px;width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 110px);overflow:auto;z-index:31;border:1px solid #d2bf97;border-radius:18px;background:#f8f4ec;box-shadow:0 18px 60px #0003;animation:wa-reveal .25s ease-out}
.wa-heading{position:relative;background:linear-gradient(135deg,#151513,#29251e);padding:25px 25px 19px;color:#c2ac7e}.wa-heading img{display:block;width:170px;height:auto;filter:url(#gold-logo)}.wa-heading p{font-size:12px;margin:15px 0 0;letter-spacing:.4px}.wa-close{position:absolute;right:12px;top:12px;border:1px solid #c2ac7e44;border-radius:50%;width:30px;height:30px;background:transparent;color:#e8dcc3;font-size:23px;cursor:pointer;line-height:1}.wa-close:hover{background:#ffffff15}
.wa-body{padding:23px}.wa-bubble{background:white;border:1px solid #ebe2d3;border-radius:0 13px 13px 13px;padding:17px;box-shadow:0 3px 8px #00003}.wa-bubble strong{font-size:13px;font-weight:600}.wa-bubble p{font-size:15px;line-height:1.6;margin:7px 0 0}.wa-explanation{font-size:12px;line-height:1.6;color:#696056;margin:18px 0}.wa-start{width:100%;justify-content:space-between;background:#c2ac7e;border-color:#c2ac7e;color:#171613;padding:13px 16px}.wa-start:hover{background:#d4be91;border-color:#d4be91;color:#171613}.wa-number{text-align:center;font-size:11px;color:#696056;margin:15px 0 10px}.wa-body small{display:block;text-align:center;font-size:10px;line-height:1.6;color:#777065}.wa-privacy{display:block;font-size:10px;text-align:center;text-decoration:underline;text-underline-offset:3px;color:#827047;margin-top:13px}
.footer-bottom{padding-bottom:80px}
@keyframes wa-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.whatsapp-panel{right:16px;bottom:82px}}
@media(prefers-reduced-motion:reduce){.whatsapp-panel{animation:none}}

/* Propuesta visible de atención: emblema verde y mensaje de ayuda. */
#whatsapp-toggle{right:22px;bottom:22px;gap:12px;padding:8px 20px 8px 8px;border-radius:40px;border:1px solid #c2ac7e88;box-shadow:0 8px 28px #0003;background:#1b1a17;overflow:visible}
#whatsapp-toggle::after{display:none}
.wa-icon-badge{width:52px;height:52px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#168b52;color:white;box-shadow:0 0 0 4px #25d36616}
#whatsapp-toggle svg{width:33px;height:33px}
.wa-toggle-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.wa-toggle-copy strong{font-size:15px;font-weight:600;color:#fff}.wa-toggle-copy small{font-size:11px;margin-top:4px;color:#d4c4a5}
#whatsapp-toggle:hover{background:#302b22;box-shadow:0 10px 32px #0004}#whatsapp-toggle:hover .wa-icon-badge{background:#129653}
.whatsapp-panel{bottom:104px}
@media(max-width:600px){#whatsapp-toggle{right:16px;bottom:16px;padding-right:16px;gap:10px}.wa-icon-badge{width:48px;height:48px}.wa-toggle-copy strong{font-size:14px}.whatsapp-panel{bottom:96px;max-height:calc(100dvh - 120px)}}

/* WhatsApp dorado: relieve delicado y pulsación contenida del icono. */
#whatsapp-toggle{background:linear-gradient(160deg,#e3d3af 0%,#cfb987 43%,#c2ac7e 76%,#b49b69 100%);border:1px solid #ad915c;color:#211c13;box-shadow:inset 0 1px 1px #fff9,inset 0 -1px 2px #735a3540,0 0 0 1px #f7ecd449,0 8px 24px #37290f30;transition:box-shadow .25s,filter .25s}
#whatsapp-toggle:hover{background:linear-gradient(160deg,#ecddbd 0%,#d6c193 43%,#c9b384 76%,#bda471 100%);box-shadow:inset 0 1px 1px #fffb,inset 0 -1px 2px #735a3540,0 10px 27px #37290f38}
.wa-toggle-copy strong{color:#211c13}.wa-toggle-copy small{color:#51432b}
#whatsapp-toggle .wa-icon-badge{background:linear-gradient(145deg,#e9d9b5,#c2ac7e 65%,#ad915b);color:#272014;border:1px solid #a88a53;box-shadow:inset 0 1px 1px #fffb,inset 0 -1px 2px #70532640,0 2px 5px #71572d22;animation:wa-icon-breathe 3.8s ease-in-out infinite;transform-origin:center}
#whatsapp-toggle:hover .wa-icon-badge{background:linear-gradient(145deg,#efdfbb,#ceb88a 65%,#b79b64)}
@keyframes wa-icon-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){#whatsapp-toggle .wa-icon-badge{animation:none}}

/* Estabilidad de composición: sin filtros SVG ni desenfoques superpuestos. */
header{backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
header .custom-logo,.wa-heading img{filter:none;mix-blend-mode:normal;clip-path:none}
header .logo-shine-layer{display:none}
.privacy-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-media>.seal{filter:none}
.hero-filaments{mask-image:none;-webkit-mask-image:none;contain:strict;transform:translate3d(0,0,0);animation:filaments-drift 45s ease-in-out infinite alternate}
.filament-glow{animation:none;opacity:0}
.filament-base{opacity:.45}
@keyframes filaments-drift{from{transform:translate3d(-12px,-8px,0)}to{transform:translate3d(12px,8px,0)}}
.carousel{isolation:isolate}.carousel-viewport{contain:paint}
#whatsapp-toggle{isolation:isolate;transform:translateZ(0)}
#whatsapp-toggle .wa-icon-badge{will-change:transform;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){.hero-filaments{animation:none}}

/* Brillo de scroll sobre el logo ya prerenderizado, sin filtro SVG. */
header .logo-shine-layer{display:block;filter:brightness(1.65);contain:paint}
#whatsapp-toggle{background:linear-gradient(160deg,#302e29 0%,#1c1b18 48%,#111110 100%);border-color:#8d79524d;box-shadow:inset 0 1px 1px #ffffff24,inset 0 -1px 2px #0006,0 8px 24px #0003;color:#f7f2e8}
#whatsapp-toggle:hover{background:linear-gradient(160deg,#3a362e 0%,#24211c 48%,#171613 100%);box-shadow:inset 0 1px 1px #ffffff30,inset 0 -1px 2px #0006,0 10px 27px #0004}
.wa-toggle-copy strong{color:#f7f2e8}.wa-toggle-copy small{color:#d4c4a5}
@media(prefers-reduced-motion:reduce){header .logo-shine-layer{display:none}}

/* Ubicación y acceso a Google Maps. */
.maps-button{display:flex;width:fit-content;margin-top:16px;gap:10px;padding:11px 17px;border-color:#c2ac7e;background:linear-gradient(145deg,#fcfaf6,#eee5d3);color:#322a1c;box-shadow:inset 0 1px 0 #fff9;font-size:13px}.maps-button:hover{background:#e9ddc4;color:#211c13}.maps-button svg{flex-shrink:0}.maps-button>span{margin-left:8px}.footer-address{line-height:1.7;color:#c9c2b5;max-width:280px}.footer-address span{display:inline-block;margin-top:9px;color:#c2ac7e}

/* Estado del horario, calculado con la hora local de Chihuahua. */
.office-status{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:10px;padding:4px 10px;border-radius:20px;font:500 11px/1.3 Archivo,system-ui,sans-serif;letter-spacing:0;white-space:nowrap;border:1px solid transparent}
.office-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.office-status[data-state="open"]{background:#e7f2e9;color:#23643b;border-color:#b9d9c2}
.office-status[data-state="closed"]{background:#f4e7e7;color:#7d292c;border-color:#dfbcbc}

/* Testimonios de muestra claramente identificados. */
.testimonial-disclaimer{max-width:650px;margin:22px auto 36px;color:#71634b;font-size:12px;line-height:1.7}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}.testimonial-card{margin:0;padding:27px 28px;background:linear-gradient(145deg,#fffdf9,#f8f3e9);border:1px solid #dcd0b9;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 16px #59472405}.testimonial-mark{font:56px/.8 Spectral,Georgia,serif;color:#c2ac7e;margin-top:8px}.testimonial-card blockquote{font:400 21px/1.5 Spectral,Georgia,serif;margin:16px 0 25px;color:#29251e}.testimonial-card figcaption{margin-top:auto;padding-top:18px;border-top:1px solid #e4dac8;display:flex;flex-direction:column;gap:8px}.testimonial-service{font:500 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:1px;text-transform:uppercase;color:#827047}.testimonial-demo{font-size:10px;color:#777064}
@media(max-width:1000px) and (min-width:761px){.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.testimonial-grid{grid-template-columns:1fr;gap:16px}.testimonial-card{padding:25px}.testimonial-card blockquote{font-size:22px}}

/* Testimonios en una única fila, con recorrido continuo y sin salto. */
.testimonials.section{padding-block:60px}.testimonial-disclaimer{margin-bottom:20px}
.testimonial-toolbar{display:flex;justify-content:flex-end;margin-bottom:15px}.testimonial-motion-toggle{border:1px solid #c2ac7e88;border-radius:20px;background:#faf7f0;color:#625137;padding:7px 14px;font:12px Archivo,system-ui,sans-serif;cursor:pointer}
.testimonial-viewport{overflow:hidden;text-align:left;outline-offset:5px}.testimonial-track{display:flex;width:max-content;gap:20px;animation:testimonial-walk var(--testimonial-duration,80s) linear infinite;animation-play-state:paused;will-change:transform}
.testimonial-grid{display:flex;gap:20px;flex-shrink:0;width:max-content}.testimonial-card{width:320px;flex:0 0 320px;padding:24px;min-height:265px}.testimonial-card blockquote{font-size:20px;margin:12px 0 20px}.testimonial-mark{font-size:44px}
.testimonials[data-moving="true"] .testimonial-track{animation-play-state:running}
@keyframes testimonial-walk{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--testimonial-distance,2040px)))}}
@media(max-width:760px){.testimonials.section{padding-block:45px}.testimonial-card{width:280px;flex-basis:280px;min-height:260px}.testimonial-grid{gap:16px}.testimonial-track{gap:16px}}
@media(prefers-reduced-motion:reduce){.testimonial-track{animation:none!important;transform:none!important;will-change:auto}.testimonial-copy{display:none}.testimonial-viewport{overflow-x:auto;scroll-snap-type:x proximity}.testimonial-card{scroll-snap-align:start}.testimonial-toolbar{display:none}}

/* Bordes difuminados fijos: las fichas se funden con el fondo al pasar. */
.testimonial-viewport{position:relative;isolation:isolate}
.testimonial-viewport::before,.testimonial-viewport::after{content:"";position:absolute;top:0;bottom:0;width:clamp(70px,14vw,165px);z-index:1;pointer-events:none;background:linear-gradient(to right,#f0e9dc 0%,rgba(240,233,220,.96) 12%,rgba(240,233,220,.72) 35%,rgba(240,233,220,.32) 65%,rgba(240,233,220,0) 100%)}
.testimonial-viewport::before{left:0}
.testimonial-viewport::after{right:0;transform:rotate(180deg)}
@media(max-width:760px){.testimonial-viewport::before,.testimonial-viewport::after{width:clamp(42px,12vw,80px)}}
@media(prefers-reduced-motion:reduce){.testimonial-viewport::before,.testimonial-viewport::after{display:none}}

.testimonial-author{font-size:13px;font-weight:600;color:#514632}.testimonials .testimonial-toolbar{margin-top:24px}

/* Formulario de consultas */
.form-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-consent{display:flex;align-items:flex-start;gap:10px;font:12px/1.6 Archivo,system-ui,sans-serif;letter-spacing:0;margin:4px 0 22px}.form-consent input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:#8c794f}.form-consent a{text-decoration:underline;text-underline-offset:3px}#contact-form button:disabled{opacity:.65;cursor:wait}#form-status[data-state="error"]{color:#862f2b}#form-status[data-state="success"]{color:#356543}

/* Confirmación visible únicamente después de un envío confirmado. */
html.confirmation-open{overflow:hidden}
.form-confirmation{box-sizing:border-box;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:42px 36px 32px;border:1px solid var(--gold);border-radius:24px;background:linear-gradient(160deg,#f4eddf,#fff 80%);color:var(--ink);text-align:center;box-shadow:0 24px 90px #0004;overflow-y:auto}
.form-confirmation::backdrop{background:rgba(16,15,13,.62)}
.form-confirmation .confirmation-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border:1px solid #c2ac7e;border-radius:50%;background:#c2ac7e22;color:#827047;font:32px Archivo,sans-serif}
.form-confirmation .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:18px}
.form-confirmation h2{font-size:36px;line-height:1.12;margin:0 0 20px}
.form-confirmation p:not(.eyebrow){font-size:15px;line-height:1.65;color:var(--muted)}
.form-confirmation .confirmation-hours{font-size:12px!important;margin:18px 0 26px;color:#827047!important}
.form-confirmation .button{width:100%;justify-content:space-between;cursor:pointer}
.form-confirmation .button:focus-visible{outline:2px solid #827047;outline-offset:4px}
@media(max-width:480px){.form-confirmation{padding:30px 24px 24px}.form-confirmation h2{font-size:30px}}
