@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500 700;font-display:swap;src:url("../assets/fonts/cormorant-garamond.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* =========================================================
   Mármoles en Cristal — hoja de estilos
   Tipografía: Cormorant Garamond (display, tomada del estilo de la
   tarjeta) en toda la página (sin cursivas).
   ========================================================= */
:root{
  --ink:#0b0b0e;
  --ink-2:#131318;
  --ink-3:#1c1c23;
  --ivory:#f5f1ea;
  --stone:#e4ded2;
  --stone-2:#cfc8b8;
  --orange:#e4491c;
  --orange-deep:#c23a10;
  --gold:#d9ac3f;
  --gold-soft:#ecc766;
  --wa:#25d366;
  --wa-deep:#0f8a43;

  --on-dark:#f5f1ea;
  --on-dark-mute:rgba(245,241,234,.74);
  --on-light:#17171b;
  --on-light-mute:#4f4d55;

  --f-display:"Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --f-body:"Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;

  --r-s:12px; --r-m:20px; --r-l:32px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --wrap:1240px;
  --gut:clamp(20px,4vw,40px);
  --sec:clamp(5rem,10vw,9rem);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{font-variant-numeric:lining-nums;margin:0;font-family:var(--f-body);font-size:1.15rem;font-weight:500;line-height:1.6;color:var(--on-light);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.is-loading{overflow:hidden}
img,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--gold);color:var(--ink);padding:.6rem 1rem;border-radius:8px}
.skip:focus{left:8px}
svg use{pointer-events:none}

.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut);position:relative;z-index:2}

/* ---------- Tipografía ---------- */
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.02;letter-spacing:-.01em}
h2{font-size:clamp(2.4rem,5.2vw,4.4rem)}
h3{font-size:1.6rem;line-height:1.15}
em,i{font-style:normal;font-weight:inherit}
.dark em{color:var(--gold-soft)}
.light em{color:var(--orange-deep)}
.kicker{font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.8rem;margin-bottom:1.1rem}
.kicker::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.dark .kicker{color:var(--gold)}
.light .kicker{color:var(--orange-deep)}
.lead{font-size:1.08rem;max-width:58ch;margin-top:1.3rem}
.dark .lead{color:var(--on-dark-mute)}
.light .lead{color:var(--on-light-mute)}
.sec-head.center{text-align:center}
.sec-head.center .lead{margin-left:auto;margin-right:auto}
.sec-head.center .kicker::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}

/* ---------- Secciones ---------- */
.section{position:relative;padding:var(--sec) 0;isolation:isolate;overflow:hidden}
.dark{background:var(--ink);color:var(--on-dark)}
.services,.quote{background:linear-gradient(180deg,#0c0c10,#101015)}
.materials{background:linear-gradient(180deg,#101015,#0c0c10)}
.light{background:var(--ivory);color:var(--on-light)}
.marble-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;image-rendering:auto;pointer-events:none}
.nd-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#f7f3ec,#f2ede3)}

/* ---------- Botones ---------- */
.btn{--pad:.85rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:var(--pad);border-radius:999px;font-weight:500;font-size:.95rem;letter-spacing:.01em;line-height:1;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s,border-color .3s;will-change:transform;touch-action:manipulation}
.btn svg{width:20px;height:20px;flex:none}
.btn-lg{min-height:58px;padding:1rem 1.9rem;font-size:1rem}
.btn-block{width:100%}
.btn-wa{background:linear-gradient(135deg,#17a652,var(--wa-deep));color:#fff;box-shadow:0 10px 30px -10px rgba(21,160,80,.7)}
.btn-wa:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(21,160,80,.8)}
.btn-wa::after,.btn-dark::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn-wa:hover::after,.btn-dark:hover::after{transform:translateX(120%)}
.btn-ghost{border:1px solid rgba(245,241,234,.35);color:var(--on-dark);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft);transform:translateY(-3px)}
.btn-dark{background:var(--ink);color:var(--ivory);margin-top:2rem}
.btn-dark:hover{transform:translateY(-3px);background:var(--ink-3)}

/* ---------- Precarga ---------- */
.preloader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:all}
.pl-slab{position:absolute;top:0;bottom:0;width:50.2%;background:
  radial-gradient(120% 90% at 30% 20%,#1b1b22 0,#0b0b0e 60%),var(--ink);will-change:transform}
.pl-slab::after{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(115deg,transparent 0 46px,rgba(217,172,63,.05) 46px 47px)}
.pl-left{left:0}
.pl-right{right:0}
.pl-center{position:relative;z-index:2;text-align:center;display:grid;justify-items:center;gap:.5rem;padding:24px}
.pl-mark{width:clamp(96px,16vw,140px);height:auto;overflow:visible;margin-bottom:.6rem}
.pl-stroke *{stroke-dasharray:1;stroke-dashoffset:1}
.pl-name{display:grid;font-family:var(--f-display);font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1.3rem,3.4vw,2rem);line-height:1.1;overflow:hidden}
.pl-name span{display:block;transform:translateY(110%)}
.pl-tag{font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:#8d877a;opacity:0}
.pl-bar{width:min(240px,60vw);height:2px;background:rgba(245,241,234,.12);margin-top:1.4rem;border-radius:2px;overflow:hidden}
.pl-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--orange),var(--gold));transform:scaleX(0);transform-origin:left}
.pl-count{font-size:.78rem;letter-spacing:.2em;color:var(--on-dark-mute);font-variant-numeric:tabular-nums}

/* ---------- Encabezado ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,backdrop-filter .4s,box-shadow .4s,transform .5s var(--ease)}
.site-header.is-solid{background:rgba(11,11,14,.78);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 rgba(245,241,234,.08)}
.site-header.is-hidden{transform:translateY(-100%)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:76px}
.brand{display:flex;align-items:center;gap:.8rem;color:var(--orange)}
.brand-mark{width:40px;height:38px;flex:none}
.brand-text{display:grid;font-family:var(--f-display);font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:1.02rem;line-height:1.05}
.brand-text b{font-weight:700}
.nav{display:flex;gap:clamp(1rem,2vw,2rem);color:var(--on-dark)}
.nav a{font-size:.88rem;font-weight:400;position:relative;padding:.4rem 0;opacity:.85;transition:opacity .3s,color .3s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover,.nav a.is-current{opacity:1;color:var(--gold-soft)}
.nav a:hover::after,.nav a.is-current::after{transform:scaleX(1)}
.hdr-cta{min-height:44px;padding:.65rem 1.2rem;color:#fff}
.menu-btn{display:none;width:48px;height:48px;color:var(--on-dark);border-radius:50%;place-items:center}
.menu-btn svg{width:26px;height:26px}

/* ---------- Hero ---------- */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,11,.92) 0%,rgba(8,8,11,.74) 42%,rgba(8,8,11,.3) 78%,rgba(8,8,11,.18) 100%),linear-gradient(180deg,rgba(8,8,11,.6) 0%,transparent 24%,transparent 68%,rgba(8,8,11,.75) 100%)}
.hero{min-height:100svh;display:flex;align-items:center;padding:calc(76px + 3rem) 0 5rem;position:relative;overflow:hidden;isolation:isolate}
.hero-grid{display:block}
.hero-copy{max-width:780px}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem;padding:.5rem 1rem;border:1px solid rgba(217,172,63,.35);border-radius:999px;background:rgba(11,11,14,.35);backdrop-filter:blur(6px)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(228,73,28,.7);animation:ping 2.2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(228,73,28,0)}100%{box-shadow:0 0 0 0 rgba(228,73,28,0)}}
.hero-title{font-size:clamp(3.4rem,8.6vw,8rem);font-weight:600;line-height:.95;letter-spacing:-.025em}
.hero-title .ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.hero-title .ln>span{display:inline-block}
.hero-title em{color:var(--gold-soft)}
.hero-sub{margin-top:1.7rem;max-width:52ch;font-size:1.3rem;color:var(--on-dark-mute)}
.hero-sub strong{color:var(--on-dark);font-weight:500}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}
.hero-points{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2.4rem;color:var(--on-dark-mute);font-size:.88rem}
.hero-points li{display:flex;align-items:center;gap:.5rem}
.hero-points svg{width:20px;height:20px;color:var(--gold)}


.scroll-cue{position:absolute;left:50%;bottom:1.6rem;width:26px;height:42px;border:1.5px solid rgba(245,241,234,.45);border-radius:20px;z-index:3;transform:translateX(-50%)}
.scroll-cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--gold);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}80%,100%{transform:translateY(16px);opacity:0}}

/* ---------- Cinta ---------- */
.marquee{background:#ee7a4a;color:#1a0f0a;overflow:hidden;position:relative;z-index:3;padding:.38rem 0}
.marquee-track{display:flex;align-items:center;width:max-content;gap:1.6rem;animation:marq 60s linear infinite;font-size:.78rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.marquee-track i{width:5px;height:5px;transform:rotate(45deg);background:currentColor;opacity:.6;flex:none}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- Antes / después ---------- */

.compare{margin-top:3.2rem}
.cmp-stage{--pos:50%;position:relative;aspect-ratio:16/9;border-radius:var(--r-l);overflow:hidden;box-shadow:0 40px 90px -40px rgba(11,11,14,.65);background:#222;touch-action:pan-y;user-select:none}
.cmp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cmp-before-wrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.cmp-before{filter:grayscale(.65) contrast(.5) brightness(.95) blur(1.2px) sepia(.18)}
.cmp-haze{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 100%,rgba(190,185,170,.55),transparent 70%),linear-gradient(180deg,rgba(150,145,130,.28),rgba(150,145,130,.1));mix-blend-mode:normal}
.cmp-tag{position:absolute;bottom:18px;padding:.45rem .9rem;border-radius:999px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:rgba(11,11,14,.7);backdrop-filter:blur(8px);color:var(--on-dark)}
.cmp-tag-l{left:18px}
.cmp-tag-r{right:18px;background:rgba(217,172,63,.92);color:var(--ink)}
.cmp-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;box-shadow:0 0 18px rgba(0,0,0,.4);transform:translateX(-1px);pointer-events:none}
.cmp-handle span{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .3s var(--ease)}
.cmp-handle svg{width:22px;height:22px}
.cmp-handle span::before,.cmp-handle span::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-top:2px solid var(--ink);border-left:2px solid var(--ink);margin-top:-4px;display:none}
.cmp-stage:hover .cmp-handle span{transform:scale(1.1)}
.cmp-stage:has(.cmp-range:focus-visible) .cmp-handle span{outline:3px solid var(--gold);outline-offset:3px}
.cmp-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cmp-note{text-align:center;margin-top:1rem;font-size:.82rem;color:var(--on-light-mute)}


/* ---------- Servicios ---------- */

/* ---------- Servicios (lista con miniatura que se despliega) ---------- */
.svc-list{margin-top:3.2rem;border-top:1px solid rgba(245,241,234,.16);--tcol:clamp(220px,25vw,330px);--thumb:56px;--open:clamp(220px,27vw,320px);--ic:44px;--g:1.4rem}
.svc{position:relative;border-bottom:1px solid rgba(245,241,234,.16)}
.svc::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.svc.is-active::after{transform:scaleX(1)}
.svc-btn{width:100%;display:grid;grid-template-columns:44px var(--tcol) 1fr var(--ic);column-gap:var(--g);align-items:start;padding:1.15rem 0;text-align:left}
.svc-n,.svc-t{height:var(--thumb);display:flex;align-items:center}
.svc-n{font-size:.95rem;letter-spacing:.2em;color:var(--gold);font-variant-numeric:tabular-nums}
.svc-t{font-size:clamp(1.55rem,2.3vw,2.1rem);font-weight:600;line-height:1.1;font-family:var(--f-display);transition:color .4s,transform .6s var(--ease)}
.svc-btn:hover .svc-t,.svc.is-active .svc-t{color:var(--gold-soft)}
.svc.is-active .svc-t{transform:translateX(4px)}
.svc-thumb{position:relative;height:var(--thumb);border-radius:10px;overflow:hidden;background:var(--ink-3);transition:height .85s var(--ease),border-radius .85s var(--ease),box-shadow .85s var(--ease)}
.svc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.6) brightness(.78);transform:scale(1.18);transition:filter .8s var(--ease),transform 1.4s var(--ease)}
.svc-thumb i{position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-130%);pointer-events:none}
.svc-btn:hover .svc-thumb img{filter:grayscale(.15) brightness(.85)}
.svc.is-active .svc-thumb{height:var(--open);border-radius:18px;box-shadow:0 30px 60px -28px rgba(0,0,0,.9)}
.svc.is-active .svc-thumb img{filter:none;transform:scale(1)}
.svc.is-active .svc-thumb i{animation:thumbShine 1.5s var(--ease) .45s}
@keyframes thumbShine{to{transform:translateX(130%)}}
.svc-i{width:var(--ic);height:var(--ic);margin-top:calc((var(--thumb) - var(--ic))/2);padding:11px;border:1px solid rgba(245,241,234,.3);border-radius:50%;transition:transform .6s var(--ease),background .3s,color .3s,border-color .3s}
.svc-btn:hover .svc-i{border-color:var(--gold)}
.svc.is-active .svc-i{transform:rotate(135deg);background:var(--gold);color:var(--ink);border-color:var(--gold)}
.svc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .85s var(--ease);padding-left:calc(44px + var(--tcol) + var(--g)*2);padding-right:calc(var(--ic) + var(--g))}
.svc.is-active .svc-body{grid-template-rows:1fr}
.svc-body-in{overflow:hidden;min-height:0}
.svc-body p,.svc-link{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.svc-body p{color:var(--on-dark-mute);max-width:62ch;font-size:1.22rem;padding-top:.4rem}
.svc-link{display:inline-flex;align-items:center;gap:.6rem;margin:1.1rem 0 1.8rem;padding:.7rem 1.3rem;border-radius:999px;border:1px solid var(--gold);color:var(--gold-soft);font-weight:600;font-size:1.05rem;transition:opacity .5s var(--ease),transform .6s var(--ease),background .3s,color .3s,gap .3s}
.svc-link:hover{background:var(--gold);color:var(--ink);gap:1rem}
.svc-link svg{width:18px;height:18px}
.svc.is-active .svc-body p{opacity:1;transform:none;transition-delay:.35s}
.svc.is-active .svc-link{opacity:1;transform:none;transition-delay:.5s}

/* ---------- Sin polvo ---------- */
.nodust{padding:clamp(5rem,9vw,8rem) 0}
.nd-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.nd-grid .nd-copy{grid-column:2}
.nd-media{position:absolute;z-index:1;left:0;top:0;bottom:0;width:47%;filter:drop-shadow(14px 0 28px rgba(40,28,10,.28))}
.nd-media-in{position:absolute;inset:0;overflow:hidden;clip-path:polygon(0 0,100% 0,80% 100%,0 100%);background:#c9bfa9}
.nd-media-in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter 1s var(--ease),transform 2s var(--ease);filter:saturate(.8) contrast(.9) brightness(1.04)}
.nd-media-in canvas{position:absolute;inset:0;width:100%;height:100%}
.nd-haze{position:absolute;inset:0;background:linear-gradient(110deg,rgba(214,200,170,.62),rgba(214,200,170,.4));transition:opacity 1.1s var(--ease);pointer-events:none}
.nodust[data-mode="clean"] .nd-haze{opacity:0}
.nodust[data-mode="clean"] .nd-media-in img{filter:saturate(1.15) contrast(1.05) brightness(1.08);transform:scale(1.04)}
.dust-ui{margin-top:2.4rem;display:grid;gap:1rem;justify-items:start}
.dust-switch{display:inline-flex;padding:5px;border-radius:999px;background:var(--ink);box-shadow:0 14px 30px -14px rgba(11,11,14,.6)}
.dust-switch button{padding:.7rem 1.2rem;min-height:46px;border-radius:999px;font-size:1.02rem;font-weight:600;color:var(--on-dark-mute);transition:background .3s,color .3s}
.dust-switch button.is-on{background:var(--gold);color:var(--ink)}
.dust-label{font-size:1.35rem;font-weight:600;min-height:1.6em;color:var(--on-light)}
.ticks{display:grid;gap:1.1rem;margin-top:2.2rem}
.ticks li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;color:var(--on-light-mute)}
.ticks svg{width:44px;height:44px;padding:10px;border-radius:14px;background:var(--ink);color:var(--gold-soft)}
.ticks b{color:var(--on-light);font-weight:600}

/* ---------- Materiales ---------- */
.mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.4rem}
.mat{position:relative;border-radius:var(--r-m);overflow:hidden;background:var(--ink-2);border:1px solid rgba(245,241,234,.1);transition:transform .6s var(--ease),border-color .4s,box-shadow .6s var(--ease)}
.mat:hover{transform:translateY(-8px);border-color:rgba(217,172,63,.55);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.mat-tex{position:relative;aspect-ratio:4/3;overflow:hidden;background:#333}
.mat-tex svg{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.2s var(--ease)}
.mat-tex img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mat:hover .mat-tex svg,.mat:hover .mat-tex img{transform:scale(1.12)}
.mat-tex::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-130%);transition:transform 1s var(--ease);pointer-events:none}
.mat:hover .mat-tex::after{transform:translateX(130%)}
.grid-lines{position:absolute;inset:0;background:
  repeating-linear-gradient(90deg,transparent 0 78px,rgba(20,8,0,.7) 78px 84px),
  repeating-linear-gradient(0deg,transparent 0 78px,rgba(20,8,0,.7) 78px 84px)}
.mat-info{padding:1.5rem 1.6rem 1.7rem}
.mat-info h3{color:var(--on-dark)}
.mat-info p{color:var(--on-dark-mute);font-size:.94rem;margin-top:.6rem}
.mat-use{display:inline-block;margin-top:1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.mat-cta{display:grid;align-content:center;border-style:dashed;border-color:rgba(217,172,63,.45);background:linear-gradient(160deg,rgba(217,172,63,.1),transparent)}
.mat-cta .mat-info{padding:2rem}
.mat-cta .btn{margin-top:1.4rem}

/* ---------- Proceso ---------- */
.proc-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.proc-head{position:sticky;top:120px}
.steps{position:relative;display:grid;gap:3.2rem;padding-left:0}
.steps-line{position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:rgba(23,23,27,.15)}
.steps-line i{display:block;width:100%;height:100%;background:linear-gradient(180deg,var(--orange),var(--gold));transform:scaleY(0);transform-origin:top}
.step{display:grid;grid-template-columns:56px 1fr;gap:1.6rem;position:relative}
.step-n{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--on-light-mute);border:2px solid rgba(23,23,27,.18);font-family:var(--f-display);font-size:1.6rem;font-weight:700;transition:background .5s var(--ease),color .5s,border-color .5s,transform .6s var(--ease);position:relative;z-index:1}
.step.is-lit .step-n{background:var(--ink);color:var(--gold-soft);border-color:var(--ink);transform:scale(1.1)}
.step h3{font-size:2rem}
.step p{margin-top:.5rem;color:var(--on-light-mute);max-width:46ch}

/* ---------- Cotizador ---------- */
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.quote-contact{margin-top:2rem;display:grid;gap:.9rem}
.quote-contact li{display:flex;align-items:center;gap:.9rem;font-size:1.15rem}
.quote-contact svg{width:44px;height:44px;padding:11px;border-radius:50%;background:rgba(217,172,63,.14);color:var(--gold-soft)}
.quote-contact a:hover{color:var(--gold-soft)}
.quote-form{background:rgba(19,19,24,.72);backdrop-filter:blur(18px);border:1px solid rgba(245,241,234,.14);border-radius:var(--r-l);padding:clamp(1.4rem,3vw,2.4rem);display:grid;gap:1.1rem;box-shadow:0 40px 80px -40px #000}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-mute)}
.field input,.field select{width:100%;min-height:50px;padding:.8rem 1rem;border-radius:var(--r-s);background:rgba(245,241,234,.07);border:1px solid rgba(245,241,234,.2);color:var(--on-dark);transition:border-color .3s,background .3s}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ecc766' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:20px;padding-right:2.6rem}
.field select option{color:#111;background:#fff}
.field input::placeholder{color:rgba(245,241,234,.4)}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold);background:rgba(245,241,234,.11);box-shadow:0 0 0 3px rgba(217,172,63,.25)}
.field.has-err input{border-color:#ff8a70}
.err{min-height:0;color:#ffa793;font-size:.8rem}
.form-note{font-size:.78rem;color:var(--on-dark-mute);text-align:center}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.faq-list{border-top:1px solid rgba(23,23,27,.18)}
.faq-list details{border-bottom:1px solid rgba(23,23,27,.18)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;font-family:var(--f-display);font-size:1.55rem;font-weight:600;line-height:1.2;min-height:56px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{width:32px;height:32px;padding:7px;border-radius:50%;border:1px solid rgba(23,23,27,.3);flex:none;transition:transform .5s var(--ease),background .3s,color .3s}
.faq-list details[open] summary svg{transform:rotate(135deg);background:var(--ink);color:var(--gold-soft)}
.faq-list summary:hover{color:var(--orange-deep)}
.faq-list p{padding:0 3rem 1.6rem 0;color:var(--on-light-mute);max-width:60ch;animation:fadeDown .5s var(--ease)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px)}}

/* ---------- Pie ---------- */
.footer{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4rem,8vw,7rem) 0 2rem}
.foot-cta{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between;padding-bottom:3.2rem;border-bottom:1px solid rgba(245,241,234,.14)}
.foot-cta h2{font-size:clamp(2.2rem,4.8vw,4rem);max-width:16ch}
.foot-grid{display:grid;grid-template-columns:1.1fr 1.2fr .9fr;gap:2.4rem;padding:3rem 0}
.foot-brand{display:grid;gap:1.2rem;align-content:start}
.foot-brand>div{display:flex;flex-direction:column}
.foot-mark{width:74px;height:70px;color:var(--orange)}
.foot-name{font-family:var(--f-display);font-weight:700;color:var(--gold);font-size:1.6rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.1}
.foot-sub{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:#8d877a;margin-top:.4rem}
.foot-sign{font-family:var(--f-display);font-size:2.4rem;color:var(--on-dark);line-height:1}
.foot-list{display:grid;gap:1rem;align-content:start}
.foot-list li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;color:var(--on-dark-mute)}
.foot-list svg{width:22px;height:22px;color:var(--gold)}
.foot-list a{word-break:break-word;transition:color .3s}
.foot-list a:hover{color:var(--gold-soft)}
.foot-social p:first-child{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-mute);margin-bottom:1rem}
.social{display:flex;gap:.8rem;flex-wrap:wrap}
.social a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(245,241,234,.25);color:var(--on-dark);transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s}
.social a svg{width:24px;height:24px}
.social a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-5px) rotate(-6deg)}
.handle{margin-top:1rem;font-family:var(--f-display);font-size:1.4rem;color:var(--gold-soft)}
.foot-bottom{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;padding-top:1.6rem;border-top:1px solid rgba(245,241,234,.14);font-size:.8rem;color:var(--on-dark-mute)}
.credits a{text-decoration:underline;text-underline-offset:3px}
.footer{padding-bottom:calc(2rem + 70px)}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:150;display:flex;align-items:center;gap:.8rem;transform:translateY(120px);opacity:0;transition:transform .8s var(--ease),opacity .6s}
.wa-float.is-in{transform:none;opacity:1}
.wa-btn{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 14px 34px -8px rgba(37,211,102,.75);transition:transform .35s var(--ease)}
.wa-btn svg{width:34px;height:34px}
.wa-btn::before,.wa-btn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:pulse 2.6s ease-out infinite}
.wa-btn::after{animation-delay:1.3s}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.wa-float:hover .wa-btn{transform:scale(1.08) rotate(-8deg)}
.wa-tip{background:#fff;color:var(--ink);padding:.65rem 1rem;border-radius:14px 14px 4px 14px;font-size:.86rem;font-weight:500;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);opacity:0;transform:translateX(16px) scale(.96);transform-origin:right center;transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none;white-space:nowrap}
.wa-float.show-tip .wa-tip,.wa-float:hover .wa-tip{opacity:1;transform:none}

/* ---------- Revelado ---------- */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .nd-grid,.proc-grid,.quote-grid,.faq-grid{grid-template-columns:1fr}
  .nd-grid .nd-copy{grid-column:1}
  .nodust{padding-top:0}
  .nd-media{position:relative;width:100%;height:clamp(220px,42vw,360px);margin-bottom:2.6rem;filter:none}
  .nd-media-in{clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}
  .proc-head{position:relative;top:0}
  .mat-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-social{grid-column:1/-1}
}
@media (max-width:960px){
  .menu-btn{display:grid}
  .hdr-cta{display:none}
  .nav{position:fixed;inset:0;z-index:120;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;background:rgba(11,11,14,.97);backdrop-filter:blur(20px);clip-path:circle(0 at calc(100% - 40px) 38px);visibility:hidden;transition:clip-path .7s var(--ease),visibility 0s .7s}
  .nav a{font-family:var(--f-display);font-size:2.4rem;font-weight:600;opacity:1}
  .nav.is-open{clip-path:circle(150% at calc(100% - 40px) 38px);visibility:visible;transition:clip-path .7s var(--ease),visibility 0s}
  .menu-btn{position:relative;z-index:130}
  body.menu-open .menu-btn{color:var(--gold)}
}
@media (max-width:760px){
  .svc-list{--open:230px}
  .svc-btn{grid-template-columns:36px 1fr var(--ic);row-gap:.7rem}
  .svc-thumb{grid-column:1/-1;grid-row:2}
  .svc-body{padding-left:0;padding-right:0}
}
@media (max-width:680px){
  .hero{padding-top:calc(76px + 1.6rem)}
  .eyebrow{font-size:.68rem;letter-spacing:.1em}
  .hero-cta .btn{width:100%}
  .mat-grid{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .cmp-stage{aspect-ratio:4/3}
  .cmp-tag{font-size:.64rem;bottom:12px}
  .foot-grid{grid-template-columns:1fr}
  .wa-tip{display:none}
  .faq-list p{padding-right:0}
  .marquee{background:#ee7a4a;color:#1a0f0a;overflow:hidden;position:relative;z-index:3;padding:.38rem 0}
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  .marquee-track{display:flex;align-items:center;width:max-content;gap:1.6rem;animation:marq 60s linear infinite;font-size:.78rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
}

/* ---------- Ajustes de responsividad (celular / tablet / escritorio) ---------- */
@media (max-width:760px){
  .hero-shade{background:linear-gradient(180deg,rgba(8,8,11,.7) 0%,rgba(8,8,11,.5) 35%,rgba(8,8,11,.55) 65%,rgba(8,8,11,.85) 100%)}
  .hero{align-items:flex-end;padding-bottom:5.5rem}
  .hero-sub{margin-top:1.4rem;font-size:1.2rem}
  .sec-head.center .kicker::before,.sec-head.center .kicker::after{display:none}
  .kicker{letter-spacing:.16em;font-size:.74rem}
  .cmp-tag{top:12px;bottom:auto;font-size:.62rem;padding:.35rem .7rem;letter-spacing:.06em}
  .cmp-tag-l{left:12px}.cmp-tag-r{right:12px}
  .cmp-handle span{width:46px;height:46px;margin:-23px 0 0 -23px}
  h2{font-size:clamp(2.2rem,9.5vw,3rem)}
  .foot-cta .btn{width:100%}
  .btn-lg{padding:.9rem 1.4rem}
  .nav a{font-size:2.1rem}
}
@media (max-width:380px){
  :root{--gut:16px}
  .brand-text{font-size:.9rem}
  .hero-title{font-size:3.1rem}
  .eyebrow{font-size:.62rem}
  .dust-switch button{padding:.6rem .8rem;font-size:.92rem}
}
@media (min-width:1600px){
  :root{--wrap:1360px}
  html{font-size:112.5%}
}
@media (hover:none){
  .btn-wa:hover,.btn-ghost:hover,.mat:hover{transform:none}
}
@media (max-height:520px) and (orientation:landscape){
  .hero{min-height:auto;padding-top:calc(76px + 1.5rem)}
  .scroll-cue{display:none}
}

/* ---------- Proyectos: carrusel ---------- */
.projects{padding-bottom:clamp(4rem,8vw,7rem)}
.pj-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.pj-nav{display:flex;gap:.7rem;flex:none}
.pj-btn{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(23,23,27,.3);color:var(--on-light);transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.pj-btn svg{width:22px;height:22px}
.pj-btn:hover:not(:disabled){background:var(--ink);color:var(--gold-soft);border-color:var(--ink);transform:translateY(-3px)}
.pj-btn:disabled{opacity:.35;cursor:default}
.pj-rail{--pad:max(var(--gut),calc((100vw - var(--wrap))/2));position:relative;z-index:2;margin-top:2.6rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:.4rem var(--pad) 1.6rem;scrollbar-width:none;cursor:grab}
.pj-rail::-webkit-scrollbar{display:none}
.pj-rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.pj-track{display:flex;gap:1.2rem;width:max-content}
.pj-slide{position:relative;margin:0;height:clamp(400px,50vw,580px);border-radius:var(--r-m);overflow:hidden;background:#d8d2c4;scroll-snap-align:start;box-shadow:0 30px 60px -34px rgba(11,11,14,.7)}
.pj-open{display:block;height:100%;cursor:zoom-in}
.pj-open img{height:100%;width:auto;max-width:none;object-fit:cover;transition:transform 1.4s var(--ease)}
.pj-slide:hover img{transform:scale(1.05)}
.pj-slide figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.1rem;padding:3.2rem 1.4rem 1.2rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(8,8,11,.82));pointer-events:none}
.pj-slide figcaption b{font-family:var(--f-display);font-size:1.5rem;font-weight:600;line-height:1.1}
.pj-slide figcaption span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}
.pj-foot{display:flex;align-items:center;gap:2rem;margin-top:.6rem}
.pj-bar{flex:1;height:2px;background:rgba(23,23,27,.15);border-radius:2px;overflow:hidden}
.pj-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--orange),var(--gold));transform-origin:left;transform:scaleX(.1)}
.pj-foot .btn-dark{margin-top:0}

/* ---------- Videos ---------- */
.videos{background:linear-gradient(180deg,#0c0c10,#101015)}
.vd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3.2rem}
.vd-card{position:relative;aspect-ratio:3/4;border-radius:var(--r-m);overflow:hidden;background:var(--ink-3);border:1px solid rgba(245,241,234,.1);transition:transform .6s var(--ease),border-color .4s,box-shadow .6s var(--ease)}
.vd-card:hover{transform:translateY(-6px);border-color:rgba(217,172,63,.55);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.vd-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.vd-play{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(180deg,rgba(8,8,11,.15) 40%,rgba(8,8,11,.85));color:var(--ink);transition:opacity .4s}
.vd-play svg{width:68px;height:68px;padding:21px 17px 21px 25px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(217,172,63,.22);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.vd-card:hover .vd-play svg{transform:scale(1.12);box-shadow:0 0 0 14px rgba(217,172,63,.18)}
.vd-dur{position:absolute;top:12px;right:12px;padding:.25rem .65rem;border-radius:999px;font-size:.74rem;letter-spacing:.08em;background:rgba(11,11,14,.7);backdrop-filter:blur(6px);color:var(--on-dark);pointer-events:none;transition:opacity .4s}
.vd-cap{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.1rem;padding:1.2rem 1.2rem 1.1rem;pointer-events:none;transition:opacity .4s}
.vd-cap b{font-family:var(--f-display);font-size:1.4rem;font-weight:600;line-height:1.1;color:#fff}
.vd-cap span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}
.vd-card:nth-child(2) .vd-video,.vd-card:nth-child(3) .vd-video{object-position:50% 55%}
.vd-card.is-playing .vd-play,.vd-card.is-playing .vd-cap,.vd-card.is-playing .vd-dur{opacity:0;pointer-events:none}

/* ---------- Visor de fotos ---------- */
.lb{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(8,8,11,.94);backdrop-filter:blur(10px);padding:clamp(56px,8vh,80px) clamp(12px,6vw,96px);animation:lbIn .35s var(--ease)}
.lb[hidden]{display:none}
@keyframes lbIn{from{opacity:0}}
.lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 40px 100px -30px #000;user-select:none;-webkit-user-drag:none}
.lb-x,.lb-nav{position:absolute;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:var(--on-dark);background:rgba(245,241,234,.1);border:1px solid rgba(245,241,234,.25);transition:background .3s,color .3s}
.lb-x:hover,.lb-nav:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.lb-x{top:16px;right:16px}
.lb-nav{top:50%;margin-top:-26px}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-x svg,.lb-nav svg{width:22px;height:22px}
.lb-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:.85rem;letter-spacing:.2em;color:var(--on-dark-mute)}
body.lb-open{overflow:hidden}

/* ---------- Página de galería ---------- */
.page-gal .site-header{background:rgba(11,11,14,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(245,241,234,.08)}
.hdr-back{display:inline-flex;align-items:center;gap:.5rem;color:var(--on-dark);font-size:.95rem;opacity:.9;transition:color .3s}
.hdr-back:hover{color:var(--gold-soft)}
.hdr-back svg{width:18px;height:18px;transform:scaleX(-1)}
.hdr-right{display:flex;align-items:center;gap:1.4rem}
.gal-hero{padding:calc(76px + clamp(3rem,7vw,6rem)) 0 clamp(2.4rem,5vw,4rem);text-align:center}
.gal-hero h1{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:600;line-height:1}
.gal-hero .lead{margin-left:auto;margin-right:auto}
.gal-hero .kicker::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.gal-body{padding:clamp(2.4rem,5vw,4rem) 0 clamp(4rem,8vw,7rem)}
.gal-grid{column-count:3;column-gap:1.2rem}
.gal-item{break-inside:avoid;margin:0 0 1.2rem;position:relative;border-radius:var(--r-m);overflow:hidden;background:#d8d2c4;box-shadow:0 24px 50px -32px rgba(11,11,14,.7)}
.gal-item button{display:block;width:100%;cursor:zoom-in}
.gal-item img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.gal-item:hover img{transform:scale(1.05)}
.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-130%);transition:transform 1s var(--ease);pointer-events:none}
.gal-item:hover::after{transform:translateX(130%)}
.gal-cta{margin-top:clamp(2.4rem,5vw,4rem);display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.gal-cta .btn-dark{margin-top:0}
.gal-foot{padding:2rem 0 calc(2rem + 70px);font-size:.85rem;color:var(--on-dark-mute)}
.gal-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem}

@media (max-width:1040px){
  .vd-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid{column-count:2}
}
@media (max-width:760px){
  .pj-head{flex-direction:column;align-items:flex-start}
  .pj-nav{display:none}
  .pj-slide{height:min(440px,112vw)}
  .pj-foot{flex-direction:column;align-items:stretch;gap:1.4rem}
  .pj-foot .btn{width:100%}
  .vd-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;margin-inline:calc(var(--gut)*-1);padding:0 var(--gut) 1rem;scrollbar-width:none}
  .vd-grid::-webkit-scrollbar{display:none}
  .vd-card{flex:0 0 72%;scroll-snap-align:center}
  .lb-nav{top:auto;bottom:12px;margin:0}
  .lb-prev{left:calc(50% - 64px)}.lb-next{right:calc(50% - 64px)}
  .lb-count{display:none}
  .gal-cta .btn{width:100%}
  .hdr-right .hdr-cta{display:none}
}
@media (max-width:560px){
  .gal-grid{column-gap:.7rem}
  .gal-item{margin-bottom:.7rem;border-radius:var(--r-s)}
}

/* ---------- Logo oficial ---------- */
.brand-logo{height:50px;width:auto;max-width:none}
.pl-logo{width:clamp(220px,46vw,420px);height:auto;margin-bottom:.4rem}
.foot-logo{width:min(100%,340px);height:auto}
@media (max-width:380px){.brand-logo{height:42px}}
.handle+.handle{margin-top:.1rem}
.handle a{transition:color .3s}.handle a:hover{color:var(--gold)}

/* ---------- Legales, migas de pan y 404 ---------- */
.crumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin-bottom:1.4rem;font-size:.85rem;letter-spacing:.08em;color:var(--on-dark-mute)}
.crumbs a{text-decoration:underline;text-underline-offset:3px}
.crumbs a:hover{color:var(--gold-soft)}
.legal{max-width:780px;margin:0 auto;font-size:1.12rem}
.legal h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:2.4rem 0 .8rem}
.legal p,.legal li{color:var(--on-light-mute)}
.legal p{margin:.8rem 0}
.legal ul{margin:.8rem 0;padding-left:1.3rem;list-style:disc}
.legal li{margin:.45rem 0}
.legal strong{color:var(--on-light)}
.legal a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px}
.legal-links{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:center}
.legal-links a{text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.legal-links a:hover{color:var(--gold-soft)}
.foot-bottom .legal-links{flex-basis:100%}
.nf{min-height:100svh;display:grid;place-content:center;justify-items:center;text-align:center;gap:1rem;padding:2rem var(--gut);background:var(--ink);color:var(--on-dark)}
.nf h1{font-size:clamp(2.4rem,6vw,4.4rem)}
.nf em{color:var(--gold-soft)}
.nf .kicker{color:var(--gold)}
.nf-logo{width:min(70vw,320px);height:auto}
