:root { --sv-paper:#f4f1e9; --sv-ink:#191916; --sv-gold:#c5a36a; --sv-line:#d8d0bf; }
body.sv-redesign { background:var(--sv-paper); color:var(--sv-ink); font-family:'Segoe UI',Arial,sans-serif; }
.sv-redesign * { box-sizing:border-box; }
.sv-redesign .sv-header.menu { top:16px; width:calc(100% - 48px); max-width:1400px; margin:16px auto 0; padding:0 30px; border:1px solid rgba(213,193,151,.32); border-radius:60px; height:72px; background:rgba(20,20,18,.9); box-shadow:0 8px 30px rgba(0,0,0,.13); }
.sv-redesign .sv-header.menu.sv-scrolled { height:66px; }
.sv-redesign .sv-header .logo img { width:43px; height:43px; }
.sv-redesign .sv-logo-name { font-weight:500; }
.sv-redesign .sv-header .opciones-menu { gap:32px; }
.sv-redesign .sv-header .opciones-menu a { font-size:12px; }
.sv-redesign .sv-hero.portada { min-height:calc(100svh - 116px); margin:16px 16px 0; border-radius:24px; padding:86px clamp(28px,7vw,110px) 96px; }
.sv-redesign .sv-hero-photo { width:62%; }
.sv-redesign .sv-hero .sv-hero-photo img { object-fit:contain; object-position:center center; }
.sv-redesign .sv-hero-photo::after { background:linear-gradient(90deg,#080808,rgba(8,8,8,.5) 20%,transparent 48%); }
.sv-redesign .sv-hero-content { width:min(630px,57%); }
.sv-redesign .sv-hero .titulo-portada { font-size:clamp(44px,5.7vw,84px); font-weight:500; letter-spacing:-.035em; }
.sv-redesign .sv-hero .titulo-portada span { font-weight:300; }
.sv-redesign .sv-hero-copy { font-weight:300; max-width:400px; }
.sv-redesign .sv-hero .boton-portada { border-radius:40px; padding:17px 26px; letter-spacing:1px; }
.sv-redesign .sv-hero .subtitulo-portada { font-size:12px; letter-spacing:4px; }
.sv-ticker { overflow:hidden; padding:23px 0; border-bottom:1px solid var(--sv-line); color:#857455; }
.sv-ticker-track { width:max-content; display:flex; animation:sv-ticker-flow var(--sv-ticker-duration,90s) linear infinite; }
.sv-ticker-track > div { display:flex; flex-shrink:0; }
.sv-ticker-track span { flex-shrink:0; white-space:nowrap; padding:0 35px; font-size:11px; letter-spacing:3px; }
@keyframes sv-ticker-flow { to { transform:translateX(-50%); } }
.sv-story { max-width:1320px; margin:auto; padding:100px 40px; display:grid; grid-template-columns:.95fr 1.05fr; gap:72px; align-items:center; text-align:left; }
.sv-section-kicker { display:block; color:#8c734a; font-size:10px; font-weight:600; letter-spacing:3px; margin-bottom:24px; }
.sv-story h2 { font-weight:400; font-size:clamp(30px,3.5vw,48px); line-height:1.15; letter-spacing:-1px; margin:0 0 26px; }
.sv-story h2 em { font-family:Georgia,serif; font-weight:400; color:#a07d45; }
.sv-story p { font-size:16px; line-height:1.85; color:#63615b; max-width:450px; }
.sv-story-link { color:#3a3327; display:inline-block; padding:13px 0; margin-top:16px; text-decoration:none; border-bottom:1px solid #ac8d5b; font-size:13px; }
.sv-story-image { position:relative; }
.sv-story-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; border-radius:20px; display:block; }
.sv-story-caption { background:#191916; color:#e6d7b9; padding:16px 22px; border-radius:0 0 14px 14px; margin:0 18px; font-size:11px; letter-spacing:1px; }
.sv-redesign .portafolio { position:relative; background:#eae5da; padding:76px clamp(20px,4vw,60px) 80px; border-radius:24px; margin:0 16px; text-align:left; }
.sv-redesign .portafolio h2 { max-width:1280px; margin:0 auto; font-size:clamp(30px,4vw,48px); letter-spacing:0; font-weight:400; }
.sv-redesign .portafolio .sv-portfolio-entry { color:#24221c; background:transparent; padding:0 0 12px; border:0; border-bottom:1px solid #a48a62; border-radius:0; gap:28px; }
.sv-redesign .sv-portfolio-entry:hover { background:transparent; color:#94703b; box-shadow:none; }
.sv-redesign .portafolio > p { max-width:1280px; margin:18px auto 0; font-size:15px; color:#6a655b; }
.sv-redesign .sv-portfolio-shell { margin-top:35px; }
.sv-redesign .sv-collection-toolbar { margin-bottom:24px; }
.sv-redesign .sv-collections { gap:24px; padding-bottom:22px; }
.sv-redesign .portafolio .sv-card { background:#f7f4ed; border:1px solid #d8cfbd; border-radius:14px; overflow:hidden; }
.sv-redesign .portafolio .sv-card img { height:340px; object-fit:contain; object-position:center; background:#1a1916; border-radius:0; }
.sv-redesign .sv-card-info { padding:22px 24px; }
.sv-redesign .sv-card-info strong { font-weight:400; font-size:22px; }
.sv-redesign .sv-collection-controls button { border-color:#b6a88f; }
.sv-redesign .svs-services { background:var(--sv-paper); color:var(--sv-ink); padding:100px 32px; }
.sv-redesign .titulo-servicios { max-width:1200px; margin:0 auto 40px; text-align:left; }
.sv-redesign .titulo-servicios > span { color:#8c734a; letter-spacing:3px; font-size:10px; margin-bottom:16px; }
.sv-redesign .titulo-servicios h2 { color:#24221c; font-weight:400; letter-spacing:-1px; font-size:clamp(32px,4vw,48px); }
.sv-redesign .titulo-servicios .linea-titulo { margin:20px 0; height:1px; width:80px; background:#ad8a50; }
.sv-redesign .titulo-servicios p { color:#666158; }
.sv-redesign .svs-service-cards { gap:24px; }
.sv-redesign .svs-service-card { border-radius:18px; border-color:#4b4437; color:#fff; padding-bottom:30px; box-shadow:0 14px 28px rgba(34,27,16,.1); }
.sv-redesign .svs-service-card h3 { font-size:27px; font-weight:400; }
.sv-redesign .svs-service-card p { font-size:14px; color:#c2beb5; line-height:1.8; }
.sv-redesign .svs-service-card strong { font-size:19px; font-weight:400; }
.sv-redesign .svs-service-card button { border-radius:40px; padding:15px 20px; }
.sv-redesign .svs-service-card.sv-service-designed { padding:30px; border-color:#79674c; }
.sv-redesign .sv-service-designed::before { display:none; }
.sv-service-photo { position:relative; display:flex; align-items:center; justify-content:center; height:300px; margin:-30px -30px 28px; overflow:hidden; isolation:isolate; background:#29251f; border-bottom:1px solid #887451; }
.sv-service-photo::before { content:''; position:absolute; inset:-24px; z-index:-1; background:var(--svs-photo) center / cover no-repeat; filter:blur(18px) brightness(.75); opacity:.8; }
.sv-service-photo::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,rgba(25,24,23,.75),transparent 22%); }
.sv-service-photo img { display:block; width:auto; height:calc(100% - 32px); max-width:calc(100% - 32px); object-fit:contain; object-position:center; border:1px solid rgba(220,199,159,.55); border-radius:10px; box-shadow:0 14px 36px #0007; transition:filter .6s ease,box-shadow .6s ease; }
.sv-service-designed:nth-child(3) .sv-service-photo img { width:100%; max-width:100%; height:100%; object-fit:cover; border:0; border-radius:0; }
@media (hover:hover) { .sv-service-designed:hover .sv-service-photo img { filter:brightness(1.06); box-shadow:0 16px 40px #0009; } }
@media (max-width:1024px) { .sv-service-photo { height:330px; } }
@media (max-width:600px) { .sv-service-photo { height:280px; } }
@media (prefers-reduced-motion:reduce) { .sv-service-photo img { transition:none; } }
.sv-redesign .svs-panel { color:#fff; border-radius:18px; margin-top:30px; }
.sv-redesign .svs-package { border-radius:14px; }
.sv-redesign .svs-package.sv-package-designed { --sv-package-padding:26px; border-color:#79674c; }
.sv-redesign .svs-package.sv-package-designed::before { display:none; }
.sv-redesign .sv-package-designed .sv-service-photo { flex:0 0 auto; height:240px; margin:calc(-1 * var(--sv-package-padding)) calc(-1 * var(--sv-package-padding)) 24px; }
.sv-redesign .sv-package-designed .sv-service-photo img { width:auto; height:calc(100% - 28px); max-width:calc(100% - 28px); object-fit:contain; }
.sv-redesign .svs-services .complemento-item img { border:1px solid #c0ac88; border-radius:12px; box-shadow:0 6px 18px #0002; object-fit:contain; }
@media (hover:hover) { .sv-package-designed:hover .sv-service-photo img { filter:brightness(1.06); } }
@media (max-width:1024px) {
 .sv-redesign.svs-booking-page .svs-package.sv-package-designed { --sv-package-padding:20px; }
 .sv-redesign.svs-booking-page .sv-package-designed .sv-service-photo { height:180px; margin-bottom:18px; }
}
.sv-redesign .svs-package h4 { font-weight:400; }
.sv-redesign .svs-panel p { color:#c8c3bc; }
.sv-redesign .svs-steps { color:#fff; }
.sv-redesign .contacto { display:grid; grid-template-columns:1fr 1fr; gap:30px 60px; align-items:center; text-align:left; padding:72px clamp(28px,6vw,96px); margin:0 16px 16px; border-radius:24px; color:#f7efdf; background:#25231e; }
.sv-contact-copy .sv-section-kicker { color:#c7ac7d; margin-bottom:20px; }
.sv-redesign .contacto h2 { font-size:clamp(32px,4vw,52px); font-weight:400; letter-spacing:-1px; margin:0 0 20px; line-height:1.15; }
.sv-redesign .contacto p { font-size:15px; line-height:1.8; margin:0; color:#c5bfb3; }
.sv-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.sv-redesign .contacto a { padding:14px 24px; margin:0; border:1px solid #d8c6a5; border-radius:40px; color:#e9d7b5; font-size:12px; letter-spacing:1px; }
.sv-redesign .contacto a:first-child { background:#d8c6a5; color:#171714; }
.sv-redesign .contacto a:hover { background:#ead7b2; color:#171714; }
.sv-redesign .contacto .telefono { font-size:12px; letter-spacing:1px; }
.sv-studio-address { width:100%; margin-top:6px; padding-top:22px; border-top:1px solid #655b49; }
.sv-studio-address > span { color:#c7ac7d; font-size:10px; letter-spacing:2px; }
.sv-studio-address address { margin:12px 0 18px; font-style:normal; font-size:15px; line-height:1.8; color:#eee5d4; }
.sv-redesign .contacto .sv-studio-address a { display:inline-block; background:transparent; color:#e9d7b5; }
.sv-redesign .contacto .sv-studio-address a:hover { background:#ead7b2; color:#171714; }
.sv-redesign .footer { background:var(--sv-paper); color:#353126; padding:38px 24px 30px; }
.sv-redesign .footer > img { width:170px; height:64px; object-fit:contain; object-position:center; margin:0 auto 20px; }
.sv-redesign .footer p { font-size:12px; color:#706857; }
.sv-redesign .redes-footer a { color:#5c4c31; font-size:11px; text-decoration:none; letter-spacing:1.5px; }
.sv-redesign .footer .copyright { font-size:9px; letter-spacing:1px; margin-top:24px; }
.sv-redesign .sv-gallery-header { background:rgba(244,241,233,.94); border-color:var(--sv-line); }
.sv-redesign.sv-gallery-page { background:var(--sv-paper); }
.sv-redesign .sv-gallery-heading h1 { font-weight:400; letter-spacing:-1px; }
.sv-redesign .sv-client-grid .sv-card { border-radius:16px; }
.sv-redesign .sv-track { border-radius:16px; background:#e5dfd3; }
.sv-redesign .sv-selection-bar button { background:#25231e; border-color:#25231e; border-radius:40px; }
.sv-redesign .svs-booking-nav { background:#191916; }
.sv-redesign.svs-booking-page { background:#111; }
.sv-redesign.svs-booking-page .svs-services { padding:22px 14px 40px; background:#111; }
.sv-redesign.svs-booking-page .svs-panel { margin-top:0; }
.sv-reveal.sv-visible { animation:sv-page-entrance .85s cubic-bezier(.2,.6,.2,1) both; }
@keyframes sv-page-entrance { from { opacity:.2; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1024px) {
 .sv-story { gap:40px; padding:72px 32px; }
 .sv-redesign .svs-services { padding:76px 24px; }
 .sv-redesign .svs-service-cards { grid-template-columns:1fr; }
 .sv-redesign .svs-service-card { max-width:620px; width:100%; margin:auto; }
}
@media (max-width:760px) {
 .sv-redesign .sv-header.menu { width:calc(100% - 24px); top:10px; margin-top:10px; height:64px; padding:0 18px; }
 .sv-redesign .sv-header .opciones-menu { top:calc(100% + 8px); left:0; right:0; border:1px solid #6c5940; border-radius:18px; gap:0; }
 .sv-redesign .sv-header .boton-menu { border-radius:24px; }
 .sv-redesign .sv-hero.portada { margin:12px 10px 0; padding:0 22px 80px; border-radius:18px; min-height:0; }
 .sv-redesign .sv-hero-photo { width:calc(100% + 44px); margin:0 -22px; height:48svh; min-height:300px; }
.sv-redesign .sv-hero .sv-hero-photo img { object-fit:contain; }
 .sv-redesign .sv-hero-photo::after { background:linear-gradient(0deg,#080808,transparent 32%); }
 .sv-redesign .sv-hero-content { width:100%; margin-top:0; }
 .sv-redesign .sv-hero .titulo-portada { font-size:clamp(38px,8.4vw,58px); }
 .sv-redesign .sv-hero-scroll { left:22px; }
 .sv-story { grid-template-columns:1fr; gap:32px; padding:60px 24px; }
 .sv-story p { max-width:none; }
 .sv-redesign .portafolio { margin:0 10px; padding:48px 20px; border-radius:18px; }
 .sv-redesign .portafolio .sv-portfolio-entry { font-size:34px; letter-spacing:-1px; }
 .sv-redesign .portafolio .sv-card img { height:310px; }
 .sv-redesign .svs-services { padding:60px 20px; }
 .sv-redesign .contacto { grid-template-columns:1fr; gap:28px; margin:0 10px; padding:46px 24px; border-radius:18px; }
 .sv-contact-actions { gap:16px; }
 .sv-ticker { padding:18px 0; }
}
@media (prefers-reduced-motion:reduce) { .sv-ticker-track, .sv-reveal.sv-visible { animation:none; } }
