@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/54dbf8a8d65e.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;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/54dbf8a8d65e.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;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/54dbf8a8d65e.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;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/54dbf8a8d65e.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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/79b02f847ae9.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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/79b02f847ae9.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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/adf7264998fb.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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/adf7264998fb.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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/adf7264998fb.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;
}
:root{--dark:#211e1b;--ivory:#f5f0e6;--sage:#9eafa0;--coral:#c47d69;--rose:#e3b9b1;--muted:#b8ac9c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--dark);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.concept-notice{background:#352b2a;color:#f7eae0;text-align:center;padding:9px 16px;font-size:11px;letter-spacing:.06em}.nav{position:absolute;top:34px;z-index:5;width:100%;display:flex;align-items:center;justify-content:space-between;padding:26px 5.5%;color:#f7f1e9}.brand{font-family:'Playfair Display',serif;font-size:25px;letter-spacing:.08em}.flower{font-family:serif;color:#e4c2a5;font-size:30px}.nav nav{display:flex;gap:32px;font-size:13px}.nav nav a:hover{color:#eab9a5}.button{border:0;cursor:pointer;background:var(--coral);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-radius:999px;padding:20px 29px;font-family:inherit;font-size:15px;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);background:#b66e5a;box-shadow:0 12px 35px #0003}.button-small{padding:13px 23px;font-size:13px}.hero{min-height:850px;height:calc(100svh - 34px);max-height:1050px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 44%,#b49c7c 0%,#69513b 31%,#2c241e 66%,#171916 100%);color:var(--ivory)}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111714d9 0%,#1b1c19ad 38%,transparent 78%);z-index:1}.hero-glow{position:absolute;width:65vw;height:65vw;max-width:900px;max-height:900px;right:1%;top:0;background:radial-gradient(circle,#f8dcb19e,transparent 65%);filter:blur(60px)}.hero-copy{position:absolute;left:7%;top:25%;z-index:3;max-width:590px}.eyebrow{letter-spacing:.24em;font-size:12px;font-weight:700}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(64px,6.6vw,110px);line-height:1.02;margin:31px 0 24px}.hero h1 em,h2 em{color:#df9b8b;font-weight:400}.intro{font-size:17px;line-height:1.7;max-width:390px;color:#efe5da}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:33px}.secondary{font-size:13px;border-bottom:1px solid #ffffff80;padding-bottom:8px}.hero-art{position:absolute;z-index:2;right:1%;bottom:10%;width:min(58vw,880px);height:78%;display:flex;align-items:center;justify-content:center}.hero-art img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 50px #0009);mix-blend-mode:normal;mask-image:radial-gradient(ellipse at center,#000 43%,transparent 75%)}.halo{position:absolute;inset:8% 8%;border-radius:50%;background:radial-gradient(circle,#f8e5b23b,transparent 68%)}.image-tag{position:absolute;right:8%;bottom:2%;font-size:10px;letter-spacing:.14em;z-index:4;color:#f8e8d5}.hero-caption{position:absolute;z-index:3;right:8%;top:23%;font-size:12px;letter-spacing:.17em;transform:rotate(-7deg)}.hero-bottom{position:absolute;bottom:0;z-index:4;left:0;right:0;padding:28px 7%;border-top:1px solid #ffffff40;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em}.story{position:relative;text-align:center;padding:140px 7% 90px;background:linear-gradient(180deg,#f8f1e6,#e8dfd2)}.story-mark{font-size:55px;color:#b77b6b}.story h2,.process h2,.quote h2{font-size:clamp(52px,6vw,91px);line-height:1.1;margin:26px auto}.story-description{max-width:650px;margin:28px auto 90px;line-height:1.85;font-size:17px}.story-facts{display:flex;justify-content:space-around;border-top:1px solid #afa69a;padding:27px 0;font-size:11px;letter-spacing:.16em}.process{background:#d7e0d5;padding:130px 7%}.process h2{margin:28px 0 80px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{background:#f9f5edc9;min-height:365px;padding:35px;border:1px solid #ffffffa8;transition:transform .35s}.step:hover{transform:translateY(-8px)}.step-number{color:#b67d69;font-size:13px}.step-symbol{font-size:60px;color:#a98075;margin:40px 0 18px}.step h3{font-family:'Playfair Display',serif;font-size:28px;font-weight:400;margin:0}.step p{font-size:14px;line-height:1.8;color:#605952}.host{font-size:10px;letter-spacing:.14em;color:#986d60}.process-note{font-size:12px;margin-top:30px;color:#58665d}.quote{background:#352b31;color:#f5eee7;padding:140px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.quote h2{margin:25px 0}.quote-copy>p:not(.eyebrow){max-width:480px;line-height:1.85}.quote-note{border-left:2px solid #d29585;padding-left:20px;margin-top:55px;max-width:430px;font-size:13px;line-height:1.8;color:#d3c3bd}.quote-form{background:#f8f2e9;color:#302b28;padding:42px;display:flex;flex-direction:column;gap:11px;border-radius:3px}.quote-form label{font-size:13px;margin-top:12px;font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{width:100%;font-family:inherit;padding:16px;border:1px solid #d5ccc3;background:#fffdf8;border-radius:2px;font-size:14px}.quote-form button{margin-top:20px}.quote-form small{font-size:11px;line-height:1.5;color:#756d65}footer{display:flex;justify-content:space-between;align-items:center;background:#1d1c1a;color:#e8e0d5;padding:35px 7%;font-size:12px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:850px){.nav{top:43px;padding:20px 6%}.nav nav{display:none}.brand{font-size:18px}.hero{height:auto;min-height:930px}.hero-copy{left:7%;top:17%;right:7%}.hero h1{font-size:clamp(52px,11vw,85px)}.hero-art{width:100%;right:-4%;height:45%;bottom:7%}.hero-caption{display:none}.hero-bottom{font-size:10px}.hero-bottom span:last-child{display:none}.intro{font-size:15px}.hero-actions{flex-wrap:wrap}.story{padding-top:90px}.story-facts{gap:18px;flex-wrap:wrap}.steps,.quote{grid-template-columns:1fr}.quote{gap:35px}.process{padding-top:95px}.process h2{margin-bottom:40px}footer{flex-wrap:wrap;gap:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* V5: visual storytelling with intentional, restrained motion */
.gallery{background:#f2e9dd;padding:112px 5.5% 70px;overflow:hidden}.gallery-heading{max-width:850px;margin:0 auto 65px;text-align:center}.gallery-heading h2,.transformation h2{font-size:clamp(48px,5.8vw,86px);line-height:1.1;margin:20px 0}.gallery-heading>p:last-child{font-size:16px;line-height:1.7;color:#665a51;max-width:650px;margin:auto}.gallery-grid{display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:320px 320px;gap:18px;max-width:1500px;margin:auto}.gallery-tile{position:relative;overflow:hidden;margin:0;background:#9d8d7d;border-radius:16px;isolation:isolate}.gallery-tile-main{grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.65,.25,1)}.gallery-tile:hover img{transform:scale(1.055)}.gallery-tile:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#171512b8);pointer-events:none}.gallery-tile figcaption{position:absolute;z-index:2;left:7%;right:7%;bottom:7%;display:flex;flex-direction:column;gap:9px;color:#fff}.gallery-tile figcaption span{font-size:11px;letter-spacing:.2em}.gallery-tile figcaption strong{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(22px,2.5vw,38px)}.gallery-tile-portrait img{object-position:50% 40%}.gallery-tile-detail img{object-position:82% 65%;transform:scale(1.45)}.gallery-tile-detail:hover img{transform:scale(1.5)}.gallery-foot{max-width:1500px;margin:28px auto 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;letter-spacing:.14em;color:#7a6b60}.gallery-foot a{font-size:14px;letter-spacing:normal;color:#9e5948;border-bottom:1px solid #b88172;padding-bottom:5px}.transformation{background:#eee9e0;padding:125px 7% 115px}.transform-intro{max-width:880px;margin:auto;text-align:center}.transform-intro>p:last-child{line-height:1.8;max-width:620px;margin:24px auto 50px}.transform-stage{display:grid;grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);gap:20px;align-items:center;max-width:1120px;margin:auto}.transform-card{min-width:0}.transform-visual{height:370px;overflow:hidden;border-radius:14px;background:#d7c9b9;box-shadow:0 20px 55px #3c2b241c}.transform-visual img{height:100%;width:100%;object-fit:cover;transition:transform .9s}.transform-visual:hover img{transform:scale(1.04)}.transform-visual-a img{object-position:65% 50%}.transform-visual-b img{object-position:50% 50%}.transform-card>span{display:block;margin-top:20px;font-size:11px;letter-spacing:.16em}.transform-arrow{text-align:center;font-size:42px;color:#b77869}.transform-disclaimer{text-align:center;color:#776b61;font-size:12px;line-height:1.6;margin:36px auto 0;max-width:660px}@media(max-width:800px){.gallery{padding:80px 5% 60px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:440px 300px 300px}.gallery-tile-main{grid-row:auto}.gallery-foot{align-items:flex-start;flex-direction:column}.transformation{padding:85px 6%}.transform-stage{grid-template-columns:1fr;gap:22px}.transform-arrow{transform:rotate(90deg)}.transform-visual{height:330px}}@media(prefers-reduced-motion:reduce){.gallery-tile img,.transform-visual img{transition:none!important}}

/* V6: el proceso se cuenta mediante escenas, no tres tarjetas informativas. */
.brand-word{font-family:'DM Sans',sans-serif;font-size:21px;font-weight:700;letter-spacing:.16em}
.visual-steps{gap:14px;align-items:stretch}.step-visual{padding:0;overflow:hidden;border-radius:14px;background:#f8f3e9;min-height:0;box-shadow:0 16px 45px #293a3020;transform:translateZ(0)}.step-visual:hover{transform:translateY(-8px)}.step-scene{position:relative;height:350px;overflow:hidden;background:#c8bca9}.step-scene:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#181a16b5);pointer-events:none}.step-scene img{height:100%;width:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter 1s;filter:saturate(.8)}.step-visual:hover img,.step-visual:focus-visible img{transform:scale(1.11);filter:saturate(1.06)}.scene-one img{object-position:30% center}.scene-two img{object-position:60% center}.scene-three img{object-position:80% center}.scene-overlay{position:absolute;bottom:25px;left:23px;right:18px;color:#fff;z-index:2;font-family:'Playfair Display',serif;font-size:26px;line-height:1.18;text-shadow:0 2px 16px #0008}.step-caption{padding:24px 26px 32px}.step-caption h3{margin:17px 0 8px;font-size:30px}.step-caption p{margin:0 0 24px;min-height:52px}.step-caption .host{display:block;border-top:1px solid #cbbeb3;padding-top:16px}.step-visual:focus-visible{outline:3px solid #b87566;outline-offset:4px}@media(max-width:850px){.step-scene{height:420px}.visual-steps{gap:30px}}@media(prefers-reduced-motion:reduce){.step-scene img{transition:none!important}}

/* V7: visual-first refinements. All scenes use separate artwork files. */
.step-scene{height:390px}.step-caption{padding:19px 24px 23px}.step-caption h3{font-size:clamp(23px,2.1vw,29px);margin:9px 0 5px}.step-caption p{font-size:13px;min-height:0;margin-bottom:12px}.step-caption .host{font-size:10px;padding-top:10px}.scene-overlay{font-size:clamp(23px,2.3vw,32px);bottom:22px}.step-scene img{filter:saturate(.93)}.step-visual:hover img{filter:saturate(1.04)}.hero-art img{object-fit:cover}.gallery-tile-detail img{transform:none}.gallery-tile-detail:hover img{transform:scale(1.055)}
@media(max-width:850px){.step-scene{height:350px}}

/* V8: visual storytelling refinements */
.hero-art img{object-fit:cover;object-position:center;filter:saturate(.82)}
.gallery-tile img,.step-scene img,.transform-visual img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1s;filter:saturate(.88)}
.gallery-tile:hover img,.step-visual:hover img{transform:scale(1.045);filter:saturate(1)}
.step-caption p{max-width:27ch}.step-caption h3{letter-spacing:-.035em}
.step-scene .scene-overlay{font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.transform-stage{isolation:isolate}.transform-card{min-width:0}
@media(prefers-reduced-motion:reduce){.gallery-tile img,.step-scene img,.transform-visual img{transition:none!important;transform:none!important}}

/* V11: official Ruta 7 raster lockup and monogram, awaiting vector masters */
.nav{background:linear-gradient(180deg,rgba(24,24,21,.62),transparent);padding-top:15px;padding-bottom:15px}
.brand{display:inline-flex;align-items:center;background:rgba(255,252,247,.94);padding:7px 13px;border-radius:4px;box-shadow:0 5px 22px #0002}
.brand-lockup{display:block;width:clamp(160px,17vw,245px);height:auto;object-fit:contain}
.footer-symbol{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
@media(max-width:850px){.brand-lockup{width:160px}.nav{gap:12px}.nav .button-small{font-size:11px;padding:12px 14px}}

/* V12 — logo oficial superpuesto, sin recuadro; imágenes conceptuales como archivos independientes. */
.nav{background:linear-gradient(180deg,rgba(247,242,232,.94),rgba(247,242,232,.82));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:0 1px 0 #fff4}
.nav nav a{color:#302922!important}.brand{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important}.brand-lockup{width:clamp(185px,19vw,260px);height:auto;max-height:74px;object-fit:contain}
.hero-art{overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none}.hero-art .halo{display:none}.hero{background:radial-gradient(ellipse at 70% 50%,#665545 0%,#1e1d19 74%)}
.hero-copy{z-index:4}.hero-art:before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#211e1b 0%,transparent 32%);pointer-events:none}.hero-art .image-tag{z-index:3}
.gallery-tile img,.step-scene img,.transform-visual img{filter:none}.gallery-tile-detail img{object-position:center}.step-scene img{object-position:center}
@media(max-width:850px){.nav{background:rgba(247,242,232,.96)}.brand-lockup{width:155px}.hero-art{height:46%;bottom:5%;right:0}.hero-art:before{background:linear-gradient(180deg,#211e1b 0%,transparent 35%)}.hero-copy{top:17%}}

/* V14 surgical image fix. V12 layout preserved; V13 hero art adopted. */
.nav{background:linear-gradient(180deg,rgba(20,21,17,.72),rgba(20,21,17,0));backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.nav nav a{color:#f7f1e9!important}
.hero-art{right:0;width:58%;height:100%;bottom:0;top:0;overflow:hidden}
.hero-art img{object-fit:cover;object-position:50% 50%;filter:none}
.hero-art:before{background:linear-gradient(90deg,#211e1b 0%,#211e1bba 15%,transparent 45%),linear-gradient(0deg,#211e1b70,transparent 25%)}
.hero-art .image-tag{z-index:3}
.hero-copy{z-index:4}
.brand-lockup{filter:drop-shadow(0 2px 6px #0009)}
.gallery-tile-detail img,.gallery-tile-detail:hover img{transform:none;object-position:center}
@media(max-width:850px){.nav{background:linear-gradient(180deg,#1b1b18dd,transparent)}.hero-art{top:auto;bottom:5%;width:100%;height:46%;right:0}.hero-art:before{background:linear-gradient(180deg,#211e1b 0%,transparent 34%)}.hero-art img{object-position:50% 45%}}

/* Auditoría V14: correcciones de encuadre y acceso; composición V12 conservada. */
.reveal{opacity:1;transform:none}
.reveal.reveal-pending{opacity:0;transform:translateY(35px)}
.reveal.visible{opacity:1;transform:none}
:focus-visible{outline:3px solid #c47d69;outline-offset:5px}
.quote-form :focus-visible{outline-color:#714839}
.quote-form input,.quote-form select,.quote-form textarea{font-size:16px}
@media(max-width:850px){
  .hero{height:auto;min-height:0;max-height:none}
  .hero-copy{position:relative;left:auto;right:auto;top:auto;margin:0 7%;padding-top:150px}
  .hero-art{position:relative;top:auto;bottom:auto;right:auto;width:100%;height:clamp(420px,110vw,580px);margin:24px 0 68px}
  .hero-art img{object-fit:contain;object-position:center}
  .hero-art:before{background:linear-gradient(180deg,#211e1b 0%,transparent 22%)}
  .hero-art .image-tag{bottom:2%;right:7%}
  .hero-bottom{padding:23px 7%}
  .gallery-tile img,.step-scene img,.transform-visual img{object-fit:contain}
  .gallery-tile,.step-scene,.transform-visual{background:#30291f}
  .gallery-grid{grid-template-rows:500px 320px 300px}
  .step-scene{height:430px}
}
@media(prefers-reduced-motion:reduce){.reveal.reveal-pending{opacity:1;transform:none}}
/* Las escenas se muestran completas; las leyendas conservan su zona propia. */
.gallery-tile,.step-scene,.transform-visual{background:#30291f}
.gallery-tile img{height:calc(100% - 120px);object-fit:contain;object-position:center}
.gallery-tile figcaption{bottom:22px}
.gallery-tile:after{inset:auto 0 0;height:120px;background:linear-gradient(#30291f00,#211e1b)}
.step-scene img{height:calc(100% - 72px);object-fit:contain;object-position:center}
.step-scene:after{inset:auto 0 0;height:72px;background:linear-gradient(#30291f00,#211e1b)}
.transform-visual img{object-fit:contain;object-position:center}
@media(max-width:850px){.gallery-tile figcaption strong{font-size:26px}}
.gallery-tile picture{display:contents}
/* Pantallas amplias: evitar que el título envíe el CTA debajo del pie del hero. */
@media(min-width:1700px){.hero-copy{max-width:680px;top:21%}}

/* Candidata de cierre QA: contraste sin cambiar estructura o tipografías. */
.button{background:#a85b49;color:#fff}
.button:hover{background:#914938}
.story h2 em,.gallery h2 em,.transformation h2 em,.process h2 em{color:#a35d4d}
/* Tratamiento claro tomado de V12, sin modificar ni invertir el logo. */
.nav{background:linear-gradient(180deg,rgba(247,242,232,.98),rgba(247,242,232,.93));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.nav nav a{color:#302922!important}
.brand-lockup{filter:none}
@media(max-width:850px){.nav{background:#f7f2e8}}
/* Contrastes adicionales detectados por auditoría automatizada. */
.gallery-foot{color:#706155}
.gallery-foot a{color:#914d3d}
.transform-disclaimer{color:#6e6055}
.process-note{color:#4f5e54}
.quote-form small{color:#665c54}
/* Mantener toda la pieza visible entre el encabezado y la línea inferior. */
@media(min-width:851px){
  .hero-art{top:112px;bottom:78px;height:auto}
  .hero-art img{object-fit:contain;object-position:center}
  .hero-caption{top:17%;right:6%}
}
/* Las etiquetas de las tarjetas compactas quedan sobre fondo uniforme. */
.gallery-tile-portrait img,.gallery-tile-detail img{height:calc(100% - 140px)}
/* El título se lee desde el primer dibujo; las demás escenas conservan reveal. */
.hero-copy.reveal-pending{opacity:1;transform:none}

/* Dirección emocional: luz cálida, pausas y una escena de hogar vivido. */
.story{background:radial-gradient(ellipse at 25% 15%,#fff4df 0%,transparent 62%),linear-gradient(180deg,#f8f1e6,#e8dfd2)}
.story-description{margin-bottom:28px;max-width:700px}
.story-promise{font-family:'Playfair Display',Georgia,serif;font-size:clamp(24px,2.8vw,39px);line-height:1.4;max-width:760px;margin:0 auto 75px}
.story-promise em{color:#914d3d}
.home-moment{position:relative;isolation:isolate;background:#392e27;color:#f8f0e5;display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:center;padding:100px 7%;overflow:hidden}
.home-moment:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 45%,#b7854d45,transparent 65%);pointer-events:none}
.home-moment-visual{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:4px;box-shadow:0 28px 70px #160e0b66}
.home-moment-visual img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.025) translateY(var(--home-drift,0px));transition:filter 1s}
.home-light{position:absolute;inset:0;background:linear-gradient(120deg,#ffe5ae24,transparent 65%);pointer-events:none}
.home-image-note{position:absolute;bottom:14px;left:16px;background:#211e1bd9;padding:7px 10px;font-size:10px;letter-spacing:.12em;color:#fff}
.home-moment h2{font-size:clamp(42px,4.6vw,70px);line-height:1.12;margin:25px 0}
.home-moment h2 em{color:#efb29c}
.home-moment-copy>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#e6d9cc}
.home-link{display:inline-block;margin-top:18px;padding-bottom:8px;border-bottom:1px solid #cc9a83;color:#f2baa3;font-size:14px}
.home-link span{padding-left:15px}
.process{background:radial-gradient(ellipse at 15% 12%,#fff1d8b3,transparent 65%),#d7e0d5}
.gallery-grid{grid-template-rows:320px 420px}
.gallery-tile-detail{display:flex;flex-direction:column;min-height:420px}
.gallery-tile-detail:after{display:none}
.gallery-tile-detail .detail-visual{position:relative;flex:1;min-height:0;overflow:hidden;display:grid;place-items:center}
.gallery-tile-detail .detail-visual img{height:100%!important;width:100%;object-fit:contain;transform:none!important}
.gallery-tile-detail figcaption{position:relative;left:auto;right:auto;bottom:auto;padding:20px 24px 25px;gap:8px;background:linear-gradient(#30291f,#211e1b)}
.gallery-tile-detail figcaption strong{font-size:clamp(24px,2.2vw,32px);line-height:1.2}
.detail-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s;pointer-events:none}
.detail-visual.is-playing video{opacity:1}
.motion-toggle{position:absolute;top:12px;right:12px;padding:9px 12px;border:1px solid #ffffff66;border-radius:30px;background:#211e1be6;color:white;font:500 11px 'DM Sans',sans-serif;cursor:pointer;z-index:2;min-height:34px}
.creation-film{max-width:1120px;margin:85px auto 30px}
.film-heading{max-width:730px;margin:0 auto 28px;text-align:center}
.film-heading h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(32px,3.6vw,52px);line-height:1.15;margin:16px 0}
.film-heading>p:last-child{line-height:1.75;color:#665a4e}
.film-frame{position:relative;aspect-ratio:16/10;background:#30291f;border-radius:12px;overflow:hidden;box-shadow:0 22px 65px #3c2b242b}
.film-frame video{display:block;width:100%;height:100%;object-fit:contain}
.film-label{position:absolute;left:16px;top:15px;pointer-events:none;background:#211e1be6;color:white;padding:7px 10px;font-size:10px;letter-spacing:.12em}
.film-caption{font-family:'Playfair Display',Georgia,serif;font-size:clamp(23px,2.6vw,34px);line-height:1.35;text-align:center;min-height:2.7em;margin:25px auto 5px;max-width:800px;color:#7c4435}
.film-note{font-size:12px;line-height:1.7;text-align:center;color:#6e6055;max-width:700px;margin:0 auto 18px}
.film-transcript{max-width:780px;margin:0 auto;color:#5e5348;font-size:13px;line-height:1.8}
.film-transcript summary{cursor:pointer;text-align:center;text-decoration:underline;text-underline-offset:4px}
.film-transcript ol{padding-left:28px}
@media(max-width:850px){
 .home-moment{grid-template-columns:1fr;gap:32px;padding:65px 6% 75px}
 .home-moment-visual{aspect-ratio:3/2}
 .home-moment h2{font-size:clamp(42px,9vw,65px)}
 .story-promise{margin-bottom:55px}
}
@media(max-width:800px){.gallery-grid{grid-template-rows:500px 340px 420px}.gallery-tile-detail figcaption strong{font-size:26px}}
@media(max-width:700px){.film-frame{aspect-ratio:4/5}.creation-film{margin-top:60px}.film-label{font-size:9px;left:10px;top:10px}.film-caption{min-height:4.1em}.motion-toggle{font-size:10px}}
@media(prefers-reduced-motion:reduce){.home-moment-visual img{transform:none!important}.detail-visual video{transition:none}.gallery-tile img,.step-scene img{transform:none!important}}
.motion-toggle:disabled{display:none}
.film-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;gap:14px;align-items:center;justify-content:center;white-space:nowrap;padding:17px 23px;border:1px solid #fff8;border-radius:40px;background:#211e1beb;color:white;font:500 14px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 8px 30px #211e1b55}
.film-start span{font-size:23px}
.film-start small{font-size:11px;color:#f6e4d8}
.film-start[hidden]{display:none}
@media(max-width:380px){.film-start{font-size:12px;padding:14px 17px;gap:9px}}
/* La imagen ocupa el área reservada sin imponer su altura intrínseca al flex. */
.gallery-tile-detail .detail-visual img{position:absolute;inset:0;object-position:center}

.film-end-cta{margin:12px 0 20px}.film-end-cta[hidden]{display:none}

.shop-breadcrumb{padding:1rem 6%;background:#f6f0e5;color:#343a2d;font-size:12px;display:flex;gap:.6rem;flex-wrap:wrap}.shop-breadcrumb a{text-decoration:underline;min-height:24px;display:inline-flex;align-items:center}.shop-breadcrumb span{align-self:center}
